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:
- interactions with beacon regions (Monitoring)
- interactions with individual beacons (Ranging)
- number of visits
- unique visitors
To get started with Estimote Analytics:
- go through our analytics app integration tutorial
- read our Analytics v2 announcement blog post, to learn why we've revamped our analytics engine and how you can use it
- familiarize yourself with Cloud API documentation, to learn what endpoints are currently available to retrieve the analytics data (and let us know about any additional endpoints you'd want!)
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.