Android Q and iOS 13 support is available now for the Background Geolocation SDK:

iOS 13

iOS 13 introduces a radical new change to location authorization. No longer will apps be able to immediately request “” authorization.

Below is the new initial location authorization dialog presented by iOS 13— notice there’s no more “” button:

iOS 13’s initial location authorization dialog.

When the user grants the most positive option on the dialog above, “”, your app will be granted what’s called This means that your application actually it’s been granted authorization.

Now imagine a user who has clicked “” on the dialog above, puts her phone into her pocket and starts driving to work. Normally, the BackgroundGeolocation SDK would automatically initiate tracking after the device moves about 200 meters.

However, with iOS 13, the user must now authorize an to “” before background location-tracking will occur, via a dialog presented by iOS, which the user won’t see until the next time they unlock their device.

For the imaginary user driving to work, she won’t see the following dialog until she next unlocks her phone, presumably she’s arrived at her destination. Her entire drive to work will have been lost:

iOS 13 upgrade “provisional always” authorization to “full always” dialog.

Assuming she authorizes the transition to “” by clicking “”, the Background Geolocation SDK will now operate in the traditional manner, automatically initiating tracking in the background when the device moves about 200 meters, just like iOS 12.

This, of course, means you’re probably going to miss tracking events until the “provisional always” authorization has been upgraded to “full always” authorization. Here’s a video of the full interaction:

iOS 13 location authorization demo

Furthermore, iOS 13 will now periodically warn the user of those apps found tracking their location in the background, along with a map summary and strongly prompting them to “”. You will want to write a good LocationAlwaysAndWhenInUseUsageDescription to promote clicking the “” button:

iOS 13 background-tracking warning.

However, if you can manage to coax the user to select “” authorization via navigating to , then everything operates in the traditional manner.

Settings->Privacy->Location Services

For more information about these changes in iOS 13, see this video from WWDC 2019 “What’s new in CoreLocation”

Android Q

With version Q, Android now follows the pattern established by Apple back in iOS 11, requiring the location authorization dialog to offer both” and “”:

Android Q location authorization

In addition, the Android Motion API now requires run time permission from the user for “”.

Android Q physical activity authorization

See here for more information about location authorization changes in Android Q.

These new changes introduced by iOS 13 and Android Q give the user more awareness and control over how their location is used by applications. Application developers are going to scream “My users are getting scared and deleting my app!”, but is in the same boat, even popular apps such as Life 360:

No exceptions, even for popular apps such as Life360.

It will be important for application developers to clearly state exactly you require the device location and how that helps help erhaps by presenting the user with your own custom dialog before you #start the SDK, stating something like “We’re about to request permission for location and physical activity — we require this for features X, Y and Z”.

Creator of Background Geolocation SDK. Professional plugin developers — geolocation specialists.