transistorsoft / react-native-background-geolocation

Sophisticated, battery-conscious background-geolocation with motion-detection
http://shop.transistorsoft.com/pages/react-native-background-geolocation
MIT License
2.58k stars 425 forks source link

Having an issue with app being recognized as Health App [Android] #2031

Open christian-hess-94 opened 1 month ago

christian-hess-94 commented 1 month ago

Your Environment

Expected Behavior

We want to be able to deploy our app into production like we did before with our CI/CD workflow

Actual Behavior

Our issue is not with the plugin itself working in the app, but when trying to deploy it to the play store. We have recently update our app to react-native version 0.73.8 and we are getting the following error upon trying to deploy the app to production image

Steps to Reproduce

There is no way to reproduce this unless when trying to deploy to Play Store

Context

We recently updated our app to use react-native version 0.73.8. The app is working fine and the plugin too, however we get an error when trying to run it via our CICD pipeline. The app is built fine, however when trying to publish it to play store, we get the following error: image

Upon doing additional checks, we noticed that PlayStore is recognizing our app as a Health App due to it's usage of the android.permission.ACTIVITY_RECOGNITION permission. We have checked our code and we do not have this permission anywhere in our Manifest file, although it is configured in the plugin. We also have disabled the motionActivityUpdates as per the config file.

Is there a way for us to remove this permission so our app is not recognized a health app anymore?

This is what shows up in our play console: image

Debug logs

Logs ![image](https://github.com/transistorsoft/react-native-background-geolocation/assets/34290680/ba6686f8-2c0e-494f-b6a5-700468319fc6)
christocracy commented 1 month ago

The plug-in uses requires this permission to use Motion API for automatically toggling location-services ON/OFF.

christian-hess-94 commented 1 month ago

so should we just set the app as a Health app and fill the forms? we can use your description as the reason for having the permission

christocracy commented 1 month ago

Yes.

aaldavea commented 1 month ago

I have the same problem, play store is detecting my application as if it were HEALTH, however I require the ACTIVITY_RECOGNITION permission since the react-native-background-geolocation library needs it.

It will be enough if I use this description "The plug-in uses requires this permission to use Motion API for automatically toggling location-services ON/OFF." to justify why I'm using the ACTIVITY_RECOGNITION permission: ? since I need to publish the application in the Play store.

healh
christocracy commented 1 month ago

I wouldn’t use the phrase “the plug-in”. Reviewers don’t know or care about plug-ins. It’s “my app”.

aaldavea commented 1 month ago

I'm going to use the following justification: "My app requires the ACTIVITY_RECOGNITION permission to use the Motion API to automatically turn location services on/off based on user activity. This optimizes battery life and improves tracking accuracy. We'll use this permission responsibly." I think it is important how it should be justified since it is a problem that those who use the library are having.

Does the justification seem good to you?

christocracy commented 1 month ago

It sounds perfect. I would also add a shorter phrase about it on the “prominent disclosure”.

see step 5 at my blog here:
https://transistorsoft.medium.com/new-google-play-console-guidelines-for-sensitive-app-permissions-d9d2f4911353

retoko commented 1 month ago

I'm going to use the following justification: "My app requires the ACTIVITY_RECOGNITION permission to use the Motion API to automatically turn location services on/off based on user activity. This optimizes battery life and improves tracking accuracy. We'll use this permission responsibly." I think it is important how it should be justified since it is a problem that those who use the library are having.

Does the justification seem good to you?

Hello! @aaldavea, was the application with this justification approved? Are there people who managed to obtain this permission to collect geodata?

aaldavea commented 1 month ago

It was approved 👍

christocracy commented 3 weeks ago

Good news: I've found a way to enable motion-activity updates in the background without FOREGROUND_SERVICE_HEALTH permission. Will be released in the next version v4.16.3.

christocracy commented 2 weeks ago

See my latest blog-post about this