Information Logged by the Heartbeat Service

The Heartbeat service logs a report on the SDK’s performance, based on the required permissions enabled on the user device. This information is sent to Zendrive servers once every 24 hours.

Permissions or Settings
Notes
Impact

SETUP

The SETUP variable indicates whether the SDK has been initialized correctly.

An incorrectly set up SDK will not function correctly.

Location Permission

Checks if location permission has been enabled on the app.

Location permission is a prerequisite for trip detection, which powers all functionality of the SDK.

Location Services

Checks if location service has been enabled on the user’s device. (as opposed to at the application level).

If location services are disabled on the device, SDK will not be able to perform trip detection and other functionalities.

Activity Permission (Android only)

Checks if the Activity Recognition permission has been enabled on the app. Activity Recognition is required for trip start detection. This permission enables the SDK to analyze the user’s activity (such as walking, running, driving etc.).

If activity permission is denied after a trip starts, the trip will continue to be recorded.

Precise Location (iOS only).

Checks if the Precise Location permission setting has been enabled for the application. Enabling this permission helps to detect the driver's precise GPS location.

If the Precise Location permission is disabled, then the trip trail won’t be accurate. Without this permission, the application will be able to detect only approximate locations for a driver.

The following table lists the permissions that are not logged by the heartbeat. However, they do impact the SDK’s functionality.

Data Collected
Notes
Impact

Low Power Mode (iOS) Battery Saver (Android)

Boolean value; checks if the device is in low power mode.

Android: Setting the device on low power mode prevents Zendrive SDK from detecting trips and even terminates ongoing trips.

iOS: The iOS SDK is generally not affected when the phone is in low power mode. However, there is a possibility of missing or terminating trips when the battery level becomes critical and the phone is turned off due to low battery.

Background Restriction

Boolean value; checks if the app has permission to run in the background.

Restricting background permission can prevent Zendrive SDK services from operating in the background which prevents SDK from detecting trips while the app is in the background.

However, if the app is in the foreground, SDK might be able to detect the trip, even with Background Restriction enabled.

Network Availability

Boolean value; checks if the app has access to the internet connectivity (through Wi-Fi or cellular network).

If network access is not available, the SDK cannot upload data for processing. The data will remain on the SDK and will be uploaded when network access becomes available.

WiFi Scanning

Boolean value; checks if WiFi service is available.

WiFi scanning improves GPS accuracy. Disabling this permission can result in longer trip start detection times and hence lower mileage accuracy.

Airplane Mode

Boolean value; checks if the device is in Airplane mode.

Airplane Mode prevents nearly all SDK functionality.

Battery Optimization

When battery level is down, the user's phone automatically goes into battery optimization mode.

Low battery will impact location updates, and can impact trip detection.

Bucket Status

(Android only)

Notes which App Standby Bucket the app is in: Active, Working Set, Frequent, Rare.

Applications in lower buckets are restricted in the background. See Android Documentation.

Drive Detection Mode

AUTO_ON or AUTO_OFF

If the detection mode is set to AUTO_OFF on the app, automatic trip detection does not function. However, manual trips will work correctly.

Google Play Connection Error

The SDK is unable to connect to the Google Play Services app.

See Android Documentation for resolution. This error occurs very rarely.

Google Play Settings Error

This error indicates that the SDK is not accepting Google's terms for improving location accuracy.

Was this helpful?