Android Question Missing information in prominent disclosure

Filippo

Expert
Licensed User
Hi,

I show this dialog at the start of my app, so that the user knows what is asked in the next dialog.
This seems to be not enough for Google, and they removed my app from Play Store.

1621961288244.png


In order for the app to be approved again, this info should be added, then what should my dialog look like?
I do not understand it.
Version(s)Eligibility Issue
APK:77Missing information in prominent disclosure
Your prominent disclosure must appear before your app’s location runtime permission, and should tell the user which feature(s) will use location in the background. Based on our review, your app’s prominent disclosure did not meet this criteria.

Please modify your prominent disclosure to include this information. The language in the disclosure MUST include the following elements:
  • The term “location”
  • Indication that the nature of usage is in the background by using one of the following phrases “background” / “when the app is closed” / “always in use” / “when the app is not in use”
  • A list of all the features that use location in the background
  • If you extend permitted usage to ads, you must include the following: “used to provide ads/support advertising/support ads.” (Choose the most accurate phrasing).
 

agraham

Expert
Licensed User
  • Indication that the nature of usage is in the background by using one of the following phrases “background” / “when the app is closed” / “always in use” / “when the app is not in use”
  • A list of all the features that use location in the background
You seem to not conform to these two at least.
 
Upvote 0

Filippo

Expert
Licensed User
I have now added this sentence ond hope it is enough.
Location access:
  • The location is only accessed when the app is running.
 
Upvote 0

Filippo

Expert
Licensed User
You seem to not conform to these two at least.
That's what I don't understand.
The standord is only accessed when the app is running.
 
Upvote 0

JohnC

Expert
Licensed User
Google seems to think that your app has the "ability" of obtaining location data "in the background", even if your app doesn't actually use any data obtained in the background.

And google is saying that if your app does in fact need to obtain location data in the background, then you need to spell-out exactly what features of your app specifically require the "background" location data.

But it appears you might be saying that your app ONLY needs location data when your app is in the foreground (and doesn't use any background data), is this correct?

If so, then even if your app only uses GPS data when it's running in the foreground, something about your app is telling google's app scanner that your GPS routine(s) are still able to run in the background (even if you don't use that data) and that is possibly why this warning is being shown. For example if you have your GPS routine(s) in a service (like most GPS examples in this forum), that service can still run in the background even if your app is not running in the foreground and that is why google thinks your app is "capable" of obtaining location data in the background.

If so, then you would need to make sure:
1) That your apps GPS service is declared to only run as a foreground service when creating the service.
2) That there are no manifest declarations asking for background location permission.
3) That your app is not asking the user for the location runtime permission that "includes" background location requests.
4) As a last resort, implement the GPS functions in an activity (instead of a service) so that it is impossible for the GPS routine(s) to run in the background.
 
Last edited:
Upvote 0

Filippo

Expert
Licensed User
Hi @JohnC
Thank you very much for the good explanation, it is very helpful for.
Now I just have to check how I can implement your tips.

Does it work? Can pass Google Play after added this?
I don't know yet, google hasn't responded yet.
 
Upvote 0

Filippo

Expert
Licensed User
Hi @JohnC
Thank you very much for the good explanation, it is very helpful for.
Now I just have to check how I can implement your tips.


I don't know yet, google hasn't responded yet.
This is the new answer from Google:

Issue with your app​
We’ve reviewed your app for compliance with all Location Permissions policy requirements (including use case eligibility), and found the following issues with your app:

Version(s) Eligibility Issue
APK:81Feature does not meet requirements for background location access
Based on our review, your declared feature does not meet the requirements for background location access.

Please remove the background location permission requested and submit an update to your app. When declaring a feature for background location access, please note the following:
  • Your selected feature should deliver clear value to the user and be important to the core functionality, or main purpose of the app. Without this core feature, the app is “broken” or rendered unusable.
  • You should also consider if users would expect the app to access their location in the background, and if you can deliver the same experience without accessing location in the background.
 
Upvote 0

MikeSW17

Active Member
Licensed User
You added theLine, " The location is only accessed when the app is running ".
Apps can be running (at least) in Forground and Background mode.

I think they are wanting you to acknowledge both cases; that the App will continuously consume (battery) resources unless explicitly closed.
Also state that the user's journey data will not be captured if the App is terminated.
 
Upvote 0

JohnC

Expert
Licensed User
OK, we first need to establish some basic information about this situation.

So, Filippo, please answer these two questions:

1) Does your app need to obtain location data when your app is not in the foreground?
2) Are the GPS routine(s) of your app contained in a service?

Once I know the answers to the above, I can make more productive suggestions.
 
Upvote 0

Filippo

Expert
Licensed User
Hi @JohnC ,

1. normally, the app should always be in the foreground, but it should also be able to measure the distance driven for a short time in the background, for example when the phone rings.
The app is intended specifically for old-timer races.

2. All GPS routines are in starter service.

I thank you in advance for your help. :)
 
Upvote 0

JohnC

Expert
Licensed User
So your app does indeed need to obtain location data in the background (even if for a short period of time).

Basically, google is cracking down on apps that try to obtain personal data that the app doesn't actually need to run properly. For example, a calculator app that tries to obtain your location data. So, if your app needs background location data, google wants to make sure you have a really good reason for that data and that you clearly explain this reason to the user.

So, in the pop-up dialog you display to users, maybe this wording will allow the app to pass:

Location Authorization

This app needs to obtain information about your location so that it can:
1) Measure the distance traveled
2) Use GPS satellite data to correct the time used in this app

NOTES:
1) Your location data is ONLY stored on this device and you can delete it at any time.
2) This app needs to monitor your location even if you are using a different app, such as talking on the phone. This is called "Background" location usage and is needed by this app to accurately measure the distance that was traveled even if you are using a different app on your phone.

So, please grant "Always allow location" permission on the following screen so that this app can properly function even if this app is running in the background.
 
Last edited:
Upvote 0

Filippo

Expert
Licensed User
Thank you so much!
that looks much better than my dialog text.
I will definitely implement your text in my app.
 
Upvote 0

JohnC

Expert
Licensed User
This is the new answer from Google:

Issue with your app​
We’ve reviewed your app for compliance with all Location Permissions policy requirements (including use case eligibility), and found the following issues with your app:

Version(s) Eligibility Issue
APK:81Feature does not meet requirements for background location access
Based on our review, your declared feature does not meet the requirements for background location access.

Please remove the background location permission requested and submit an update to your app. When declaring a feature for background location access, please note the following:
  • Your selected feature should deliver clear value to the user and be important to the core functionality, or main purpose of the app. Without this core feature, the app is “broken” or rendered unusable.
  • You should also consider if users would expect the app to access their location in the background, and if you can deliver the same experience without accessing location in the background.
OK, in reading this second reply from google in more detail, I am concerned about one thing...

(This post is assuming that your app simply "measures the distance traveled" between point "A" and point "B" and does not record the "path" the user went from A to B because then that would require continuous background location monitoring. So, if this assumption is wrong, then you will need to tell me a lot more about your app in order for me to suggest new dialog text to submit to google.)

So, my assumption is that when the user sets point "A", your app is running in the "foreground". Then the only other time your app needs to run at all again is when the user reaches point "B" at which time they will re-run your app and have your app calculate the distance between the two points.

The important point I am making is that it seems like your app does not need to run in the background at all - it just needs to run in the foreground when user sets the location for the "Start" position and then runs again in the foreground to set the "End" location and calculates the distance. Your app does not need to continuously capture location data in the background, and this second message from google seems to confirm that they too do not think your app needs to run in the background and that you will need to modify your app so that it does NOT run in the background at all (maybe by doing those four steps in my post #5 above)

After you modified your app to not run in the background, then you would need to change the dialog text to this:

Location Authorization

This app needs to obtain information about your location so that it can:
1) Measure the distance traveled
2) Use GPS satellite data to correct the time used in this app

So, please grant "Only while in Use" location permission on the following screen so that this app can properly function.

NOTE: Your location data is ONLY stored on this device and you can delete it at any time.
 
Last edited:
Upvote 0

Filippo

Expert
Licensed User
Hi @JohnC ,

this is the description of the app:
This app is for the classic and sport classic uniformity rally.

In a single app, the 7 most important applications for oldtimer rally are included:

1. Synchronized clock with GPS, atomic time or manual.
2. a stopwatch with a split-precision of 1/100 second
3. countdown with a Split-precision of 1/100 second
with Beep or Speech in 3 languages (de, en, it)
4. tripmaster
5. speedmeter that shows you the average speed of the test
6. Speedpilot
7. Speedometer
8. The driven route is saved and can be displayed as a route in Google Maps.

So I think your first text is better than the second text.

And this is what my dialog looks like now:
1622055768357.png
 
Upvote 0

JohnC

Expert
Licensed User
After reading that second message from google, I don't think my above dialog text will work.

Please explain in more detail the below features of your app:
4. tripmaster
5. speedmeter that shows you the average speed of the test
6. Speedpilot
8. The driven route is saved and can be displayed as a route in Google Maps.

I need to understand if the above app features need background GPS monitoring and why.

My thinking is that we will need to modify the dialog text and add these other features to the list of why your app needs background gps monitoring so we can convince google why it does.
 
Upvote 0

JohnC

Expert
Licensed User
My suggestion is to NOT resubmit your app using the new dialog text I made just yet, because google might have some "limit" of submissions in a given time period and I feel your app won't be approved with my suggested text now that I read that second message from google.

I would feel better if you first tell me the details of those features in my above post and let me come up with new dialog text and then submit that new dialog text for the next submission.
 
Upvote 0

Filippo

Expert
Licensed User
After reading that second message from google, I don't think my above dialog text will work.

Please explain in more detail the below features of your app:
4. tripmaster
5. speedmeter that shows you the average speed of the test
6. Speedpilot
8. The driven route is saved and can be displayed as a route in Google Maps.

I need to understand if the above app features need background GPS monitoring and why.

My thinking is that we will need to modify the dialog text and add these other features to the list of why your app needs background gps monitoring so we can convince google why it does.
The app has to measure the distance meter by meter during the drive and save the GPS positions in a log file.
Thus, the app can display the speed, average speed and total distance traveled.
The saved GPS positions (log file) can be displayed on a map.
 
Upvote 0

Filippo

Expert
Licensed User
My suggestion is to NOT resubmit your app using the new dialog text I made just yet, because google might have some "limit" of submissions in a given time period and I feel your app won't be approved with my suggested text now that I read that second message from google.

I would feel better if you first tell me the details of those features in my above post and let me come up with new dialog text and then submit that new dialog text for the next submission.
I realize that, that's why I haven't uploaded a new version yet.
 
Upvote 0

JohnC

Expert
Licensed User
Ok, here is the new dialog text I would suggest:

Location Authorization

This app needs to obtain information about your location so that it can:
1) Use GPS satellite data to make sure all location and trip times are accurate in this app
2) Continuously monitor and record your vehicle's speed, direction and distance traveled during your trip so it can display a map of your route and various trip statistics

NOTES:
1) Your location data is ONLY stored on this device and you can delete it at any time
2) This app needs to continuously monitor your vehicle's location even if you are using a different app, such as talking on the phone. This is called "Background" location usage and is needed so that this app can keep track of various information as your vehicle moves, such as what path your vehicle traveled, the distanced it traveled and the average speed of your vehicle, even if you are using a different app on your phone during the trip.

So, please grant "Always allow location" permission on the following screen so that these app features can function properly even if this app is running in the background.
 
Last edited:
Upvote 0
Top