Mobile SDK

Our mobile SDKs get integrated into your app, collect location and activity data in the background, and transmit them to our server with near-zero battery impact.

The SDKs have methods to enable and disable tracking: startTracking and stopTracking. Additionally, there are utility methods to interact with the HyperTrack API.

The docs cover installation and integration steps for your mobile platform of choice.

Offline capabilities

The SDK is built to be offline first, and work under patchy or mobile networks. This is achieved by caching data on the device when network is unavailable, and queueing network requests.

There are two types of SDK methods, identified with these badges. Whenever possible, use the offline methods,

Method type Description
These methods are async network-independent calls, and can be called offline. The SDK automatically retries when network is available.
These methods are required to be synchronous HTTP requests, to synchronise state correctly with the server. For example, assigning an action needs to be done in-sync, since it is a billable API call. For such methods, you will need to handle the success and error callbacks in your app code.

What happens when

When What happens
Device loses network SDK continues tracking, queueing the data offline and sending whenever network is available. SDK also records duration when the device was disconnected.
Location is disabled SDK records device health, like location disabled, permission denied, strength of radio signals. These events are available on dashboard and as webhooks.
App is in the background SDK runs in the background, collecting and transmitting location and activity data
App is closed SDK continues to track in the background
Device restarts SDK restarts tracking when the device restarts. On iOS, the user needs to unlock the device for the SDK to resume tracking.

Location update frequency

The SDK achieve low-latency with near-zero battery consumption through variable location update frequency. The frequency of data transmission can vary from 2 seconds to 30 mins, depending on your consumption patterns. If you are tracking live, the end-to-end latency will be sub-5 seconds to ensure a real-time experience. If no one is tracking, then the SDK conserves battery by not sending any data.

Platforms

Platform Install via Current version
iOS Cocoapods 0.4.40
Android Gradle 0.4.19
React Native npmjs 1.3.9
Cordova and Ionic npmjs 1.3.3
Xamarin DLL files available 0.1.0

Multiple device support

The SDK is designed to support only one active device per user at a time. In case there are multiple devices for a user, the second device will not track. The unsuccessful tracking from the second device will be shown on the dashboard.

Read more about Multiple device support in Multiple device support section

Testing

The SDKs have methods to enable and disable tracking - startTracking and stopTracking. To test the SDK by mocking user's tracking session, use startMockTracking and stopMockTracking instead.

Read more about testing using our Mobile SDKs in the Testing section.

results matching ""

    No results matching ""