Estimote SDK for Android
Clone or download
Latest commit d4a0f40 Sep 14, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Create Jan 5, 2018
Docs Update Sep 22, 2017
Examples Update sdk version to 1.0.8 Jul 10, 2017
.gitignore Initial commit. Dec 8, 2013 Update Aug 2, 2018
LICENSE LICENSE file. Dec 9, 2013 Update Sep 10, 2018

Estimote SDK for Android


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 {
        (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.

Initializing Estimote SDK

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.


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).

Bulk Updater

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.

Configuring individual beacons

Connecting to beacons in Android 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.

Basic operations on connected devices

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.

Your feedback and questions

At Estimote, we're massive believers in feedback! Here are some common ways to share your thoughts with us:


To see what has changed in recent versions of Estimote SDK for Android, see the CHANGELOG.