List of Outages

Outages by Category

Behavioral

Outage LabelDescription
location permission not determinedThe worker did not grant location permissions in this case.

On iOS 13 and beyond, the worker should open the app and allow location access choosing "Allow While in Use" then choose "Change to Always Allow" on the next step or go to Settings > App Name > Location and choose "Always".

For older versions of iOS, the worker should open the app and allow location access choosing "Always".
location unavailable battery saverWhen the battery saver is turned on and the screen is locked, Android OS automatically disables location services. User needs to disable the battery saver when actively tracking.

On Android, the worker should turn off Battery Saver in Settings > Battery > Battery saver.
low batteryThe worker's phone is turned off because of low battery.
notifications permission deniedNotifications permission is denied by the worker in response to system prompt or in Settings > Apps > App Name > Notifications."
airplane mode detectedThe worker has activated airplane mode on the phone.
uninstalledHyperTrack detected that the worker uninstalled the app.
location services disabledThe worker disabled location services globally in the phone. On iOS, the worker should remove location services restriction in Settings > Screen Time > Content & Privacy Restrictions > Location Services. On Android, the worker should turn on location services in Settings > Location > Use location.
location permissions deniedThe worker explicitly denied permissions in response to system prompt or in Settings > App Name > Location on iOS. On Android, the worker should change location permission to "Allow" in App Info > Permissions > Location.
location permission impreciseUser did not grant precise location permissions or downgraded permissions to imprecise. For iOS: Open Settings, go to Privacy then Location Services, select an app, choose location access level, and toggle Precise Location on or off at the bottom. For Android: Open Settings, tap on Location then App permission, select an app, set location access, and enable or disable Use precise location.
location permission restrictedThe worker restricted location access. If it is iOS 13 and beyond, the worker should open the app and allow location access choosing "Allow While in Use" then choose "Change to Always Allow" on the next step or go to Settings > App Name > Location and choose "Always" . On Android, location permissions were restricted by the worker in Settings > Screen Time > Content & Privacy Restrictions > Location Services.
location permission when in use backgroundThe worker granted When In Use permissions which do not allow the SDK to start tracking from background; the SDK will start tracking as soon as the app is brought to the foreground. To start tracking remotely (REST API or Trips) the app needs "Always" permissions. This can be a sign of an integration error if the app only asks for "When In Use" permissions on iOS or Android 11 and beyond.
location disabled battery saverWhen the battery saver is turned on and the screen is locked, Android OS automatically disables location services. The worker needs to disable the battery saver when actively tracking. The worker must turn off Battery Saver in Settings > Battery > Battery saver on Android.
tracking service terminatedHyperTrack SDK was tracking the worker when the app was killed by the worker or in some cases by the operating system.
background refresh status deniedThe worker explicitly disabled background behavior for this app or for the whole system. The app doesn't receive silent push notifications and in turn can't receive a command to start tracking.
sdk killed by permissions locationThe worker has changed location permissions in settings and the app was killed as a result.
sdk killed by userHyperTrack SDK was tracking the worker when the app was killed by the worker, by either swiping the app on iOS or explicitly killing the app on Android. The SDK reports this outage once the app is started again.

Adversarial

Outage LabelDescription
location mockedThe worker enabled mock location app while mocking locations is prohibited.
time offset changedThe worker has manipulated time on the device in a fraud attempt.

Operating System

Outage ReasonDescription
os shutdownHyperTrack SDK detected that operating system was rebooted.
restart requiredLocation service stopped sending location data to the app. This can happen when device is tracking for a long time (more than 24 hours in a row). Make sure to only start and stop tracking during work hours.
sdk killed by app updateThe app was killed by a forced update.
sdk killed low memoryOn Android, the operating system ran low on memory and killed the app to free up memory.
sdk killed by low powerThe app was killed due to low battery. HyperTrack SDK reports this once the app is back online.
sdk killed by os rebootThe app was killed by an operating system reboot. HyperTrack SDK reports this once the app is back online.
sdk killed by os updateThe app was killed by operating system update. This is reported once the app is back online and operational.
sdk killed crashedThe app has crashed. Once the app is back online, HyperTrack SDK reports it, including the timestamp when this took place.
sdk killed excessive resource usageThe app was excessively using CPU and the operating system killed it. HyperTrack SDK reports it, including the timestamp when this took place, once the app is launched and online.
sdk killed app not responsiveThe app was not responsive and the operating system killed the app.
sdk killed suspendedThe worker should make sure that battery is sufficiently charged, "Low Power Mode" is off in Settings > Battery and permissions are "Always" in Settings > App Name > Location. This can happen in rare case due to device being low on battery or when device has Provisional Always Authorization on iOS 13 and beyond.

The worker should make sure to first request "When In Use" permissions and when they are granted to request "Always" permissions.

On Android, the operating system paused executing application code.

Sporadic

Outage LabelDescription
gps connection lostThe worker needs to move outdoors to get better GPS signal and check if airplane mode is disabled as well.
location unavailableHyperTrack SDK was not able to get fresh location data from the device. The worker needs to move outdoors to get better GPS signal and check if airplane mode is disabled as well.

Reachability

Outage LabelDescription
location permission asked in backgroundCheck the four possible reasons below:

1. The app didn't ask for permissions before starting tracking which is an integration error. Please make sure that your app asks for location permissions before there is a possibility that the worker can be tracked.

2. The worker chose Allow Once in the previous app session's location permission dialog. Every time a worker chooses Allow Once, the OS resets the permissions to not granted state after the app finishes execution.

3. The worker executed a permissions reset in Settings > General > Reset > Reset Location & Privacy.4. The worker may have changed permissions to Ask Next Time in Settings > App Name > Location before launching the app.
location unavailable provisional authorizationThe app asked for Always authorization without first asking for When In Use authorization. This puts an app in Provisional Always authorization where OS doesn't return a location when the app is in background (not showing on the screen).

The OS is waiting to present the worker with a second prompt asking to choose "Always" or "When In Use" before returning location data to the SDK. In this instance the worker needs to go to Settings > App Name > Location and switch permissions to When In Use.

The app should then switch to asking When In Use permissions first and then Always permissions right after the worker granted When In Use to avoid this outage in location data.
push notification failedHyperTrack sent a push notification to start tracking but it didn't reach this device. Use visual push notifications as a fallback to launch the app when you receive a disconnected outage via a webhook payload sent to your end point.
push token missing to start trackingOn Android, Firebase messaging service didn't supply the app with the messaging token. Please make sure that push notifications are integrated correctly based on the integration guide.

On iOS, HyperTrack can't reach this device to start tracking using push notifications because iOS didn't supply the app with device token in App Delegate. Please make sure that push notifications are integrated based on the integration guide.