This Android SDK can be used to update the settings of multiple Estimote beacons at once. You no longer need to connect to each beacon individually. Instead, you use Estimote Cloud to queue ‘pending settings’ on your beacons. Then, your Android app equipped with this SDK (see Bulk Updater section) can propagate those settings the moment it encounters the beacons. This also means that, once you deploy the beacons, users of your app can propagate the settings by simply being around the beacons.
With this SDK, you can:
- Enable or disable packets (e.g. Estimote Monitoring, iBeacon, Eddystone-UID)
- Modify the settings of individual beacons (e.g. increase the broadcasting power, decrease the advertising interval, modify Eddystone-URL’s link)
- Update Estimote beacon firmware
Keep in mind that tags & attachments from Estimote Proximity SDK are updated instantly, without the need to propagate settings to beacons.
All the proximity monitoring features of this SDK have been deprecated and are no longer supported. Instead, we strongly recommend Estimote Proximity SDK for Android powered by Estimote Monitoring. On top of Proximity SDK, use this Android SDK for beacon fleet management.
If you simply need to change the settings (or apply ‘pending settings’) of the nearby Estimote beacons, get Estimote Android app. For a single beacon or a few of them, this will be the fastest method.
If you have more Estimote devices, Estimote Deployment app will be a better choice. Use it to propagate settings to multiple beacons at once. At this point, it’s available on iOS only.
To learn more about this Android SDK, review the Java documentation and check the Developer Portal tutorial. Visit also Estimote Cloud API docs.
Estimote SDK for Android is distributed via JCenter repository. To be able to grab necessary artifacts, ensure you have JCenter repository configured. Usually, it's done by the following lines in top-level build.gradle of your project:
allprojects {
repositories {
jcenter()
(all other repositories you are using goes here)
}
}
Once you have JCenter configured, add this line to your build.gradle
file:
dependencies {
compile 'com.estimote:sdk:1.4.5'
}
Still using Eclipse
? Here is how to import our sdk to your project.
Initialize Estimote SDK in your Application class onCreate() method:
// To get your AppId and AppToken you need to create new application in Estimote Cloud.
EstimoteSDK.initialize(applicationContext, appId, appToken);
// Optional, debug logging.
EstimoteSDK.enableDebugLogging(true);
The SDK system works on Android 4.3 or above and requires a device with Bluetooth Low Energy (Estimote SDK's minimum Android SDK version is 9).
With this feature you can:
- Enable or disable packets (e.g. iBeacon, Eddystone-UID)
- Modify the settings of individual beacons (e.g. increase the broadcasting power, decrease the advertising interval, modify Eddystone-URL’s link)
- Update Estimote beacon firmware
Check this tutorial for the details on how to bulk update your beacons with this SDK.
In order to modify any settings of a beacon, you’ll need to connect to it first. If a beacon is set to Deployed & Protected access mode, you have to be the beacon's owner in Estimote Cloud to modify any settings. Every attempt to connect with a device not logged in to your Estimote account will fail. Enable Development access mode to allow your co-workers to also edit beacon's settings.
Read the tutorial on how to connect to Estimote Beacons with this SDK here.
Once you establish a connection with a beacon, you can perform various actions that we already outlined in Bulk Updater section. This SDK can both read (return the current values) and write settings (set new values). For the details on how to run both, follow this tutorial.
At Estimote, we're massive believers in feedback! Here are some common ways to share your thoughts with us:
- Posting issue/question/enhancement on our issues page.
- Asking our community managers on our Estimote SDK for Android forum.
To see what has changed in recent versions of Estimote SDK for Android, see the CHANGELOG.