Overview

The LotaData SDK collects location and activity data from your mobile app and transmits the payload to LotaData cloud.

The SDK provides methods like getInstance to enable tracking and disconnect to disable tracking. Additionally, the SDK provides many utility methods to interact with LotaData's APIs.

Offline Capabilities

The SDK is designed to work under patchy network conditions and gracefully manage offline operation. This is achieved by caching data on the device when the network is unavailable, and queueing network requests for payload delivery under improved network conditions.

SDK Operating Logic

Condition Operating Logic
Network is disconnected SDK continues to track and queue the data offline, and transmits payload when network quality improves
Location is disabled SDK stops working (in our next release, the SDK will continue to work even if location is disabled)
App is in the foreground SDK can be configured to collect and transmit location and activity data in the foreground, based on use case
App is in the background SDK can be configured to collect and transmit location and activity data in the background,with minimal impact to battery
App is closed SDK can be configured to work even with when app is closed

SDK Tracking Modes

The SDK provides preconfigured tracking modes for collecting location data. Changes to the tracking mode are persisted through app launches. Under the hood, we use various algorithms to optimize the usage of core services and device sensors, to detect significant changes to the device's location, activity and state.

The SDK has 5 (five) modes to track device location and activity. Each tracking mode is intended for specific use cases, with adequate data collection and proportional battery consumption.

By default, the SDK starts in the StayDetection tracking mode. This mode is ideal for understanding user behavior patterns, personalizing app content and optimizing delivery of notifications at the right moment. StayDetection tracking mode also is gentle on the battery.

If the app is in the foreground, the tracking mode transitions to Route or Hawkeye modes, in order to collect fine resolution data at a relatively faster rate.

Below are the 5 tracking modes for LotaData's SDK:

Mode Description
Manual The Manual tracking mode only collects location and activity data when manually triggered.
MinimalPower The MinimalPower mode is designed to have close to ZERO BATTERY IMPACT, at the cost of location granularity and accuracy, which might suffer inside structures, buildings, shopping malls and plazas.
StayDetection The StayDetection mode captures the precise locations visited, arrival time, departure time, and the dwell time at each location with negligible impact to battery life ( < 1% BATTERY IMPACT / day)
Route The Route tracking mode includes all the characteristics of StayDetection mode, plus the precise location trail or path between each departure and arrival, with minimal impact to battery life (1-2% BATTERY IMPACT / day or 0.5% / active travel hour)
HawkEye The Hawkeye tracking mode is meant to be used for short bursts of time when the mobile app is in foreground. HawkEye captures the complete travel path with super-fine resolution and sufficient granularity for tracking and recording the exact trail, detecting businesses, places, venues and POIs along the travel path.(1-2% BATTERY IMPACT / hour)

Size and Memory

Our small SDK (169KB), after integrated into developer's app, will increase the memory usage to barely 5MB during execution.

Platforms and Frameworks

LotaData's SDK is available for below listed platforms and frameworks.

Platform Install Method Current Version
Android Gradle 2.4.9
Cordova and Ionic GitHub 0.5.0
iOS - Coming soon

Questions?

We are eager to hear from you and happy to share best practices for integrating the SDK. There are many ways for you to reach us:

But first, please sign up for an account with LotaData so that we may send you the link to download our SDK.


Was this helpful? Yes, thanks! Not really

results matching ""

    No results matching ""