New Google Play Console Guidelines for “Sensitive app permissions”

Step 1: Config.backgroundPermissionRationale

The latest version of the BackgroundGeolocation SDK (Flutter 1.10.1, React Native 3.9.1, Cordova 3.9.2) has a new Config option Config.backgroundPermissionRationale (See API docs: Flutter, React Native, Cordova/Capacitor). This option configures the text elements on a new dialog presented by the SDK on Android 11 devices when the location permission “Always” is requested. You should customize these elements, particularly the message element, according to your app’s use-case.

Config.backgroundPermissionRationale

Step 2:

Using the new version of the Play Store Console, scroll down to the Policysection in the menu bar and clickApp Content”. We’re interested in two sections within:

  • “App access”
  • “Sensitive app permissions”

Step 3: “App access”

If your app requires user login, you must use this section to describe to the Google reviewer how to login to your app and cause your app to invoke the background location permission request, where your app would execute BackgroundGeolocation.start() or BackgroundGeolocation.requestPermission().

  • Select the option “All or some functionality is restricted”
  • Click [+ Add new instructions]

Step 4: “Sensitive app permissions”

Here you will select “Yes, this app meets the Location permissions policy”. Fill out the three form-fields, honestly describing your “App purpose”, why your app requires location in the background. You will need to create a short video (30s or less) describing how to login to your app and invoke background location access, where your code invokes BackgroundGeolocation.start().

Play store review video

Step 5: Prominent Disclosure for Background Location Access

After completing all the above steps and re-submitting the demo apps for review, we found that Google Play Store was still complaining about “Prominent Disclosure Not Found”. In the video above, at the 20s mark, note the following Alert:

In-app disclosure for background location access

Conclusion

After receiving an initial rejection from Play Store Review, you may be tempted to simply remove the offending permission android.permission.ACCESS_BACKGROUND_LOCATIONfrom your app but this would be a mistake since the BackgroundGeolocation SDK relies upon this permission.

Play store submission success!
<manifest>
<uses-permission
android:name="android.permission.ACCESS_BACKGROUND_LOCATION"
tools:node="remove" />
.
.
.
</manifest>

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Transistor Software

Transistor Software

Creator of Background Geolocation SDK. Professional plugin developers — geolocation specialists. https://www.transistorsoft.com