transistorsoft / flutter_background_geolocation

Sophisticated, battery-conscious background-geolocation & geofencing with motion-detection
https://www.transistorsoft.com/shop/products/flutter-background-geolocation
Other
651 stars 242 forks source link

google has rejected our app, due to "health features" #1324

Closed allenbrunson closed 4 months ago

allenbrunson commented 4 months ago

Your Environment

Expected Behavior

google should accept the new version of our app.

Actual Behavior

google does not accept the new version of our app.

Steps to Reproduce

  1. add the flutter_background_geolocation to your app
  2. google rejects your app, because it is now a "health app"

Context

upload a new binary to the google play store

Debug logs

Logs ``` [!] Google Api Error: Invalid request - You must let us know whether your app includes any health features. ```

when i tried to upload a new version of our app to the google play store, i get this error:

[!] Google Api Error: Invalid request - You must let us know whether your app includes any health features.

because the flutter_background_geolocation plugin uses the android.permission.ACTIVITY_RECOGNITION permission, google has now classified ours as a "health app." and since we are now a "health app," google insists that we declare what "health app" features we offer.

we get a whole lot of checkboxes we can select, for things like "activity and fitness," "period tracking," "sleep management," and so on. the only thing that is even remotely plausible is the "other" checkbox. obviously, none of these apply to us. ours is not a health app! if i check ANY of these boxes, i will be LYING, and google is likely to throw our app out of the store.

i have never liked that this plugin requests physical activity. the user sees a permission prompt for this, every time they install the app. we don't need this information! the fact that we are requesting it anyway makes our company look creepy. and now, google is outright rejecting our app because of it.

please, for god's sake, give us a version of this plugin that does not request the physical activity permission. this should have been made optional years ago.

christocracy commented 4 months ago

Do you even know why the plug-in uses the Motion API? Read the wiki here “Philosophy of Operation”.

Also see my blog: https://transistorsoft.medium.com/google-play-store-required-declarations-for-foreground-services-and-health-97da6e2abd5a

allenbrunson commented 4 months ago

it doesn't matter why you're using that permission, if google will not allow our app into the store because of it. (screen-shot enclosed.) google will not allow us to update our app anymore, without telling them exactly what "health features" we support. (which are, obviously, none. and lying is likely to get us kicked out of the store altogether.) we are now very seriously having to consider distributing our app outside of the google play store, because of this. it will be a nightmare, trying to re-train all of our users to do this.

health_required
christocracy commented 4 months ago

Did you even read my blog?

Charlemagnes commented 4 months ago

Hey, @allenbrunson, Chris has shown a possible solution to your issue here https://github.com/transistorsoft/flutter_background_geolocation/issues/1324#issuecomment-2217448710 I suggest you read his blog entry. I will try it soon to see if it works as desired. Also, @christocracy, I don't know if this is mentioned anywhere in the Readme of the package, but it would be great to mention that the background-geolocation SDK automatically inserts these permissions into the app's AndroidManifest.xml file 👍

allenbrunson commented 4 months ago

okay, yeah, i guess that works. i will try it.

allenbrunson commented 4 months ago

trying workaround