Does Estimote offer Analytics for beacons?

Follow

Estimote Cloud offers analytics to help track beacon activity across your apps.

Please note that there are two versions of Estimote Analytics available. Version 2.0 is only accessible through Estimote SDK and RESTful Cloud API. Version 1.0 also has a corresponding UI in Estimote Cloud (the Analytics button you might have noticed in the dashboard at cloud.estimote.com), but it will be deprecated in the future.

In the future, Analytics v2 will completely replace Analytics v1.

Analytics v2

With Estimote Analytics v2, you can measure:

To get started with Estimote Analytics:

Analytics v1

Download Estimote iOS SDK and add the following code to your app’s implementation. Analytics is disabled by default.

Objective-C

[ESTCloudManager setupAppID:@"xxx" andAppToken:@"yyy"];
[ESTCloudManager enableAnalytics:YES];

Swift

ESTCloudManager.setupAppID("xxx", andAppToken: "yyy")
ESTCloudManager.enableAnalytics(true)

Confused about the App ID and App Token? Read what they are and where to find them.

We recommend to put the code above in your AppDelegate, in the application:didFinishLaunchingWithOptions: method. Remember that you can only gather analytics data from the beacons you own, i.e. the ones that are assigned your Estimote Account and appearing on your Estimote Cloud dashboard. The full list is downloaded by the SDK at the time of the App ID/Token setup, and cached on the device. If after this point you add more beacons to your Account, make sure the app redoes the setup procedure.

Now, start beacon region monitoring for all the regions that you want to keep a track record of. Every time an enter event happens, it'll be immediately recorded in Estimote Cloud.

Objective-C

[self.beaconManager startMonitoringForRegion:
 [[CLBeaconRegion alloc]
initWithProximityUUID:ESTIMOTE_PROXIMITY_UUID major:123 minor:456 identifier:@"cash registers 1"]]; ... -(void)beaconManager:(id)manager
didEnterRegion:(CLBeaconRegion *)region { NSLog(@"didEnterRegion, will automatically record an enter"); } -(void)beaconManager:(id)manager
didExitRegion:(CLBeaconRegion *)region { NSLog(@"didExitRegion, will automatically record an exit"); }

Swift

beaconManager.startMonitoringForRegion(CLBeaconRegion(
  proximityUUID: NSUUID(UUIDString: "B9407F30-F5F8-466E-AFF9-25556B57FE6D"),
  major: 123, minor: 456, identifier: "cash registers 1"))

...

func beaconManager(manager: AnyObject!,
didEnterRegion region: CLBeaconRegion!) { NSLog("didEnterRegion, will automatically record an enter") } func beaconManager(manager: AnyObject!,
didExitRegion region: CLBeaconRegion!) { NSLog("didExitRegion, will automatically record an exit") }

Estimote "1.0" Analytics works only with beacon regions defined with proximityUUID, major and minor. Regions that skip major or minor will not trigger a ping. If you want region based analytics, consider the "2.0" Analytics.

How to check your Analytics data?

After enabling Analytics in your app, you can check analytics data of a beacon by going to the Cloud web panel (cloud.estimote.com) and clicking on the Analytics button.

You’ll see a chart listing number of pings. The X axis scale presents days - right now, the default range shows two months: the current and the previous one.

The number of pings is the total number of times devices with apps using Analytics entered this beacon’s range. The date on the chart corresponds to the timezone of your beacon. Please keep in mind that Cloud Analytics will record a ping only if the user has Internet connection available on their mobile device.

You can extract more data with our Cloud API. Estimote Analytics is also fully integrated with Secure UUID.

Was this article helpful?
0 out of 1 found this helpful

25 Comment(s)

  • Avatar
    Victor Castano

    Hi there. Trying enableAnalytics on Swift. It does not seem to be available as a potential method. Is that already in the current SDK available? Thanks

  • Avatar
    Piotr Krawiec

    Hey Victor—I updated the article with Swift code snippets showing how to enable Analytics in Swift.

  • Avatar
    Victor Castano

    Thanks Piotr, My issue was that I was using the previous SDK version from a week ago.

  • Avatar
    Daniel Bergdahl

    Any plans to add Analytics in the Android SDK?

  • Avatar
    Piotr Krawiec

    Hi Daniel—definitely, full support for Estimote Cloud in our Android SDK is on our minds. I'm afraid we have no ETA to share at this time though. Make sure to follow our Android SDK GitHub repo (https://github.com/Estimote/Android-SDK) to stay on top of all the updates.

  • Avatar
    Matthew Warner

    Hi Piotr,
    When I added the lines you posed above to the EstAppDelegate.m, i received the following error: "ARC semantic issue, No known class method for selector 'enableAnalytics', am I putting this in the correct location? am I missing something else?
    Thanks,
    Matt

  • Avatar
    Piotr Krawiec

    Hey Matthew, can you make sure you're on the latest version of the SDK? Analytics were added in 2.2.0.

  • Avatar
    Krishna Chaitanya

    I have integrated Andrid SDK for Beacons from https://github.com/Estimote/Android-SDK, everything worked absolutely fine. But I have few queries, how to retreive Distance, Temperature, Accelerometer from Beacons. And Can any one please provide Android Analytics SDK

  • Avatar
    Ula Kierwiak

    Hi Krishna,

    I'm afraid temperature and accelerometer features, as well as analytics are not yet available for Android. It is definitely on our roadmap tough.

    As for the distance measurements, what kind of problem do you have exactly?

  • Avatar
    Piotr Krawiec

    @Krishna,
    Distance: use the computeAccuracy method from the Utils class.

  • Avatar
    Krishna Chaitanya

    Thanks Ula and Piotr. It helped me a lot

  • Avatar
    Joel Glovacki

    You should update this article and replace ESTBeaconManager with ESTConfig.

  • Avatar
    Piotr Krawiec

    Updated, thanks a lot!

  • Avatar
    Randy

    If I'm using the example Xcode project from the iOS-SDK (Obj-C), what file do I put the second code snippet for beacon region monitoring?

    I have the first code snippet to enable analytics in ESTAppDelegate.m, set with my AppID and AppToken and "YES" for enableAnalytics. The demo app can see my beacons when I load it on my iPhone and use the Distance Demo. I just don't record any pings in Estimote Cloud.

    Here is my ESTDistanceDemoVC.m file:
    https://gist.github.com/randyzwitch/6a1a12abae0ab8063140

  • Avatar
    Piotr Krawiec

    Hi Randy,

    In your ESTDistanceDemoVC, you need to implement didEnterRegion and didExitRegion methods—see the 2nd pair of code snippets in this article. These can be empty implementations, but they need to be there.

    FYI, we're changing this behavior in the upcoming version of the SDK. It'll no longer be required to implement the enter/exit delegates for analytics to work.

  • Avatar
    Randy

    Thanks for confirming Piotr. I started with a fresh download of the SDK and the example, and it started to work last night.

    Is it correct that you use an instance of [self.beaconManager startMonitoringForRegion] for every beacon you want to track or do you just call it once and ESTIMOTE_PROXIMITY_UUID picks up all the beacons in your account? I'm referring to lines 80-98 in the gist above; do I need all 4 calls or just one?

    Thanks!

  • Avatar
    Piotr Krawiec

    If you want to track specific beacon enters/exits (which is the case with analytics), you need one region per each beacon, and start monitoring for each of them. This limitation lies at the core of iOS's Core Location API.

  • Avatar
    Ed Sykes

    Hi,

    hi,

    Any chance we can use Estimote Analytics with your Nearables (Stickers)?

    Thanks,
    Ed

  • Avatar
    Piotr Krawiec

    Hey Ed, afraid Analytics don't yet work with stickers, but this is definitely on our minds, so stay tuned!

  • Avatar
    Rasmus Smidt

    Hi Estimote
    I'm currently looking in to the cordova plugin for estimote beacons. Is it possible to enable analytics through cordova, or is this feature only available from Swift/Objective-C ?

  • Avatar
    Wojtek Borowicz

    Hi Rasmus,

    Evothings maintains PhoneGap plugin for Estimote SDK (you can read more about this on our blog: http://blog.estimote.com/post/105963606605/how-to-develop-beacon-apps-in-javascript-with) but they're yet to add support for analytics. It should be done in the next few weeks.

    Cheers.

  • Avatar
    Piotr Krawiec

    Hey there—the Cordova plugin maintained by Evothings implements the first version of our analytics:

    https://github.com/evothings/phonegap-estimotebeacons

    Note that we recently deprecated this first version of our analytics in favor of an enhanced one, which you can read about on our blog:

    http://blog.estimote.com/post/117197416175/real-world-analytics-powered-by-estimote-beacons

  • Avatar
    Rasmus Smidt

    Thanks a lot for the quick reply Wojtek and Piotr. Will be following Evothings to catch up on fourthcoming updates.
    Best regards

  • Avatar
    Tanya Schneider

    Hi, I've added the swift code snippet into AppDelegate.Swift however get the error 'Use of unresolved identifier 'ESTConfig'. Is there something else that needs to be added to get this working?
    thanks.

  • Avatar
    Alejandro Pochoteco

    Hello!

    Excuse me, can I export the data of estimote cloud to another dashboard?
    So, could it be possible to download all the information on analytics to use it in another platform?

    Best regards.

Estimote is
hiring!