What you will learn in this article
The process to follow in order to request the background permission to your end-users and get it approved by Google. Also, you will learn about the roll over timeline to be ready when this comes into effect on 3 August 2020.
With the release of iOS 13 in September 2019 came a new permission approval flow to request background permission. Introducing one extra step to ask your users their "Always" approval, Apple made a clear statement on their position for a more qualitative usage of these user data.
Starting from Q3 2020, Google will align on this vision and thus, this represents a great opportunity for your app to stand out by delivering a more meaningful experience to your users.
What will it look like
Long story short, your app will have to first display a one-time system prompt requesting for location "While using the app" or "Only this time" (foreground permissions) before being able to request the "Always" permission.
First Location system prompt
Then, to request for the background permission, you will have to create a priming page (app native page) directing to the app's settings.
Location permission priming page directing to the user's settings
User's location settings on Android 11
What does the timeline looks like
May 2020 - Play Store Submission
Developers will be asked to explain why the app is using and should be using the background location on the Play Store. Get in touch with your dedicated Customer Success Manager for more details on how to best formulate your submission.
- Does the feature deliver clear value to the user?
- Would users expect the app to access their location in the background?
- Is the feature important to the primary purpose of the app?
- Can you deliver the same experience without accessing location in the background?
July 2020 - Update your app's manifest
Include the ACCESS_BACKGROUND_LOCATION permission, as well as the foreground permission(s) requested;
3 August 2020 - Update your app's UI
- Request either the ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION runtime permissions.
- Create a priming page clearly explaining the value of background location with an action button triggering the requestPermissions() method which directs to the location settings.& request the ACCESS_BACKGROUND_LOCATION runtime permission