Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Google Play rejection issues with FOREGROUND_SERVICE permission #299

Open
luxferre opened this issue Dec 19, 2024 · 7 comments
Open

Google Play rejection issues with FOREGROUND_SERVICE permission #299

luxferre opened this issue Dec 19, 2024 · 7 comments
Labels
Play Store Publishing Issues related to play store publishing, rejections.

Comments

@luxferre
Copy link

luxferre commented Dec 19, 2024

Hi! We've faced an issue with multiple rejections on our Android app submission to the Google Play Store after trying to release an update of our app in December. The plugin's version was 5.4.1.
We migrated then to Capacitor 6 and the latest version of the plugin, but release was rejected with the same reasons.
(Release of our app in early November with plugin 5.4.1 was not rejected)

We found that one or more of the declared use cases is not compliant with how [foreground service permission] is allowed to be used. Specifically, the declared use case(s) can be interrupted or deferred by the system without creating a negative user experience. Your app is using foreground service to Health - Other when it is not required to do so.

We found that one or more of the declared use cases is not compliant with how [foreground service permission] is allowed to be used. Specifically, the user is not made aware of functionality requiring permission when active. Use of FGS is not perceptible to the user when performing Health - Other functionality.

Other rejection is about our declaration, we don't know what video we could provide for FOREGROUND_SERVICE permission:

We found that one or more of the use cases utilizing the [foreground service permission] in your app has either been incorrectly submitted or is missing from your Console declaration.
Your in-app experience or video does not match the Health - Other in your declaration.

Our actual app declaraion has confirmed FOREGROUND_SERVICE_LOCATION and FOREGROUND_SERVICE_HEALTH permsissions, but not FOREGROUND_SERVICE.

  • Plugin version: 6.1.5
  • Platform: Android
  • Capacitor info (npx cap doctor)
💊   Capacitor Doctor  💊

Latest Dependencies:

  @capacitor/cli: 6.2.0
  @capacitor/core: 6.2.0
  @capacitor/android: 6.2.0
  @capacitor/ios: 6.2.0

Installed Dependencies:

  @capacitor/cli: 6.2.0
  @capacitor/core: 6.2.0
  @capacitor/ios: 6.2.0
  @capacitor/android: 6.2.0

[success] iOS looking great! 👌
[success] Android looking great! 👌

variables.gradle:

ext {
    minSdkVersion = 22
    compileSdkVersion = 34
    targetSdkVersion = 34
    androidxActivityVersion = '1.8.0'
    androidxAppCompatVersion = '1.6.1'
    androidxCoordinatorLayoutVersion = '1.2.0'
    androidxCoreVersion = '1.12.0'
    androidxFragmentVersion = '1.6.2'
    androidxBrowserVersion = '1.7.0'
    firebaseMessagingVersion = '23.3.1'
    playServicesLocationVersion = '21.1.0'
    androidxFragmentVersion = '1.6.2'
    junitVersion = '4.13.2'
    androidxJunitVersion = '1.1.5'
    androidxEspressoCoreVersion = '3.5.1'
    cordovaAndroidVersion = '10.1.1'
    googlePlayServicesLocationVersion = '21.0.1'
    okHttpVersion = '4.9.1'
    localBroadcastManagerVersion = '1.0.0'
    coreSplashScreenVersion = '1.0.1'
    androidxWebkitVersion = '1.9.0'
    firebaseCrashlyticsVersion = '18.5.1'
    hmsLocationVersion = '6.9.0.300'
}

We've tried submitting appeal describing how the plugin use motion detection but it was rejected too.
Thanks for any help you can provide!

@christocracy
Copy link
Member

See my blog

Also see #289

@luxferre
Copy link
Author

Hi Chris!
We read #289 before submitting, now we'll try steps from your blog, thank you!

@christocracy
Copy link
Member

christocracy commented Dec 19, 2024

I am not an expert in Play Store publishing. Issues with permissions are completely between you and Google.

If Google doesn't thing your app deserves some permission, it's up to you to prove to them why it does. Each app is completely different.

@ademirtemur
Copy link

this works, add these lines.

<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" tools:node="remove" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_HEALTH" tools:node="remove" />

@luxferre
Copy link
Author

hi! we had passed the review:

  1. both "I beleive you did mistake" and "I do not know what to do" appeals was rejected
  2. we had removed geofencing checkbox and video from foreground service app declaration, as we does not use this feature and had no UI to show for it
    (previously the video was the same as for user-initiated location sharing)
  3. we had changed the health app declaration from smth mentioning the plugin and how-it-works to "the app does not provide any health feature" with extended description copied from Chris's blog

anyway, I'm sure we do not want to remove ACTIVITY_RECOGNITION from manifest to keep the plugin doing it's work best, and we do not want to remove FOREGROUND_SERVICE_HEALTH because there is no such in latest v6 plugin version (but it was required in v5)

@christocracy christocracy added the Play Store Publishing Issues related to play store publishing, rejections. label Dec 30, 2024
@christocracy
Copy link
Member

and we do not want to remove FOREGROUND_SERVICE_HEALTH because there is no such in latest v6 plugin version

That's correct. This plugin removed FOREGROUND_SERVICE_HEALTH last June

@christocracy
Copy link
Member

@ademirtemur stop posting this on every repo or I’ll block you. It’s wrong.

@transistorsoft transistorsoft deleted a comment from ademirtemur Dec 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Play Store Publishing Issues related to play store publishing, rejections.
Projects
None yet
Development

No branches or pull requests

3 participants