Troubleshoot Android SDK

Gradle dependency conflict errors in installation

The HyperTrack SDK includes following dependencies:

Name Version Description
Google Play Services libraries 10.2.0 This includes play-services-gcm, play-services-location, play-services-maps and play-services-places libraries
Firebase Messaging library 10.2.0 For FCM support
Android v7 support 25.3.1 For PlaceSelector widget: this includesrecyclerview-v7 and cardview-v7 libraries.
Android Volley library 1.0.0 For HTTP networking
Eclipse Paho and MQTT library 1.1.1 For MQTT networking
Gson library 2.4 For data serialization and deserialization
smart-scheduler 0.0.7 For job scheduling

The latest version of these libraries will be automatically included as transitive dependencies. To exclude transitive dependencies to resolve version conflicts, you can exclude the transitive dependencies from the SDK dependency by specifying transitive = false and including all the above mentioned dependencies separately. Once you have, clear your Gradle cache and sync your project.

Persistent SDK notification

Why is this required?

  • By default, HyperTrack runs as a service in the background to collect data. However, background services can be killed and restarted by the OS. The OS may do this when it needs to allocate memory to other tasks (for example, to display a large page in the browser) or to conserve battery. The OS will then restart the HyperTrack service automatically when resources are available again.

  • This killing and restarting by the OS often results in patches with missing data. To get higher fidelity tracking with HyperTrack, it is recommended that you use HyperTrack as a foreground service. This is also the default option.

  • Android O is coming up with restrictions on background updates which will also need for HyperTrack SDKs to run as a foreground service for location limits.

  • You can customize this notification by following our customize guide.

Disabling persistent notification

If your app is a consumer app and you want the location tracking to happen silently, then you may want to disable the notification. It can be done by calling HyperTrack.disablePersistentNotification(true). You need to call this only once on a device. This setting is purged only if the app is deleted. By default, persistent notification is enabled when the sdk is integrated. Note that location tracking will be still useful though less reliable if the notification is disabled.

results matching ""

    No results matching ""