Updating beacon settings from the Cloud and updating status

I have an tour guide app, and I want to automatically update any beacons as well as pull battery info etc. form the beacons. The App will check if there is a internet connection when a user approaches a beacons, and tries to update.

What are the required actions to do this?
It seems that if I call

[self.beaconConnection startConnection];

The cloud is updated with the current beacon settings, and any pending changes are cancelled.
I know that there is the bulk cloud update function in the example app. Is that something I should implement instead?
And will that update the beacon status in the cloud?

If you want your app to apply pending changes when somebody uses it near beacons with pending changes, that’s what the ESTBulkUpdater class is for. The easiest way to get started is to add it as a property to your AppDelegate, and in the didFinishLaunching method add:

self.beaconSettingsUpdater = [ESTBulkUpdater new];
[self.beaconSettingsUpdater startWithCloudSettingsAndTimeout:0];
// "0" means no timeout

Then, it’ll always be running silently while your app is running, and updating the beacons.

The second part, syncing battery status etc. to the cloud, happens automatically every time you connect to a beacon. If you queue up some pending changes, then the somebody opens your app near that beacon, the bulk updater will need to connect to the beacon to apply the changes, and thus will automatically sync up with the cloud.

The part where pending changes are cancelled if you connect to a beacon is a bug we’re aware of and we’ll be fixing shortly.

Great, thank you, that seems to work perfectly!

The only thing I noticed is that in the list it still says ‘Pending changes’, but the details of the beacon in the cloud doesn’t after the sync and the values seem ok when connecting to the beacon.

Hmm, I’m not sure I understand that last part … so you sync the changes queued up in the cloud to the beacon, but the cloud still shows the old values? And also the “pending changes” label doesn’t disappear? Help me understand so we can look into it (:

Please see the screenshot:

Looks like we had a bug in the cloud which was sometimes making a beacon stuck in the “pending settings” state. We already have a fix and will deploy shortly, in the meantime, I cleared the “pending settings” status from your beacon manually.

No problem, I just wanted to point it out as a potential bug. I wasn’t loosing any sleep over it :smile:

I have included the lines you listed above in our app - but are not seeing queued/pending changes to beacons being actioned. i.e. self.beaconSettingsUpdater = [ESTBulkUpdater new];
[self.beaconSettingsUpdater startWithCloudSettingsAndTimeout:0];

Is there something else we need to do to receive any pending changes from the cloud or does ESTBulkUpdater do this? I am regioning and didenterregion of a beacon with pending changes - but nothing happens?

Our app is using secure beacons and obviously we have our AppID and AppToken setup etc.