Capturing Geolocation in iOS and Android apps

These are the rules based on which the geolocation is captured in iOS and Android apps.

  • Geolocation is captured only if the route is active.
  • The application can capture the coordinates only if the mobile worker provides the required location permissions to the app. If the app has only been given permissions to capture the location when the app is being used, locations will not be captured if the app is in the background.
  • Generally, the location is captured more frequently when a mobile worker travels and less frequently when the application identifies that the techician is not travelling.
  • The application tries to send at least one coordinate per minute. If the accuracy of the coordinates is low, the application captures the most accurate coordinate within that minute.
  • If the mobile worker is travelling, and the accuracy of coordinates is good, the application may capture the coordinates as frequently as every 10 seconds. Fewer coordinates are captured per minute as the movement reduces.
  • When the mobile worker is not travelling, the application captures one location per minute.
  • On the Android app, the logic of capturing coordinates is similar regardless of whether the app is in the background or the foreground.
  • On the iOS app, if the app is in the background and the application identifies that the mobile worker is not moving significantly, no coordinates are captured or sent until the mobile worker starts moving or the app is brought to the foreground.
  • If the mobile worker is offline, the points are sent in bulk only when the mobile worker comes back online. If the app is closed in between, the points are sent only when the app is launched again.