How to solve location policy rejection for play store

Reason why app got removed

  • Clicking on ‘locate me’ option and then moving 1KM from current location
  • Keeping the app open in the background and seeing whether the app is automatically updating location or not.

Action 2: Submission of developer & location policy

  1. Developer programme policy Google Play and
  2. Location policy form
  3. Our android app usage on these policies
  4. Explaining how & why location feature is required in android app, with submitting documents of mobile demo page

Action 3:

Action 4 — Declaring no background usage:

Action 5 — Explicit mention of not using Background location:

Action 6 — Titanium support:

  • Checked for ACCESS_BACKGROUND_LOCATION as we are not using this API ( Search through all code and build code plus Android manifest file) .
  • Every time the locate button is clicked, the location details are deregistering the Location event. No longer is the location event alive.
  • As per titanium framework also we are not using <service> tag which is used for background location.
  • Only we are using ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION but it doesn't cause background location use. When the app is not used or killed it doesn't ask for background location. This API is fine to use.
  • Uploaded new build 410 (1.9.0.304) in play store ( production API pointing )
  • Submitted for developer form for login details into app
  • Submitted again location policy changes are the same as before.
  • Wrote separate mail to google support team as below screenshot.Next set of action planned : -Tried debugging app using adb logcat running connected to your device, have the app go into background mode and trigger a location update. If you don't see a your log in the update, then that's not running in the background;
  • Tried using f-droid.org/packages/io.github.muntashirako.. this app manager to see any hidden permission in code.

Action 7 — Demo submission on app not using background location:

Action 8 — location permission :

getLocationPermission = function (callback){
var permissions = [
"Titanium.Geolocation.AUTHORIZATION_WHEN_IN_USE",
"Titanium.Geolocation.AUTHORIZATION_ALWAYS",
];
var whenInUse = Titanium.Geolocation.hasLocationPermissions(Titanium.Geolocation.AUTHORIZATION_WHEN_IN_USE);
var whenAlways = Titanium.Geolocation.hasLocationPermissions(Titanium.Geolocation.AUTHORIZATION_ALWAYS);
if (whenAlways || whenInUse) {
Titanium.API.info("has permission");
callback();
return;
}
Titanium.Geolocation.requestLocationPermissions(permissions, function(e) {
console.log(e);
if (e.success) {
// yes
Titanium.API.info("ok")
callback();
} else if (OS_ANDROID) {
// no
} else {
// no
}
});
}

Action 9 — removing an older build :

Action 10: Update Location permission policy to ‘NO’:

Summary :

  • Why does the app request access to location ?
  • What happens after enabling the location feature?
  • How is this location data used?

References :

--

--

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
Avinash Dalvi

Avinash Dalvi

115 Followers

Enthusiastic learner, Full Stack Developer, Techno Savvy, Traveller, Out of Box thinker, Agile Lover, Problem Solver, Blogger