Why I am receiving Warning - this app does not meet Google Play permissions policy, even though my latest version doesn't require these permission?
Asked Answered
L

5

17

It show this message

This app does not meet the Google Play permissions policy relating to the use of SMS or CALL_LOG. You must fix this before March 9. 2019 or your app will be removed from Google Play. Note: if you have recently made a change, it can take up to 12 hours to update this message.

My app on its previous version has this permission and apply for an exception when it was rejected I updated the app 2 weeks ago and removed this permission. But now I get this message.

Lactoflavin answered 11/2, 2019 at 20:45 Comment(4)
do you have an alpha or beta test channel? If so an old apk in one of those could be the cause.Expenditure
@IvanWooll I don't find a way to remove old apkLactoflavin
No but you can update it to the same version as your release channelExpenditure
facing same issue.September
P
20

I also received this warning on my last app version.

Explanation: You are receiving this warning because somehow directly or indirectly you are using some permissions which does not meet the Google Play permissions policy.

Indirectly means, may be any of the 3rd party library you are using in your project is already using those permissions. And when you build your project it merged all the Manifest file in a single Merged Manifest file. This is the reason you are getting this warning because your final manifest has any of those permission(s).

Solution 1: After build your project,

  • Open your project's AndroidManifest file.
  • Open the Merged Manifest tab in the bottom.
  • Search for any of those permission. (example- READ_SMS)
  • If you get any, now it's time to remove them. Check the example

Example: If you see READ_SMS permission in Merged Manifest file, so now open your project's AndroidManifest file and add the line written below to remove that permission from your project-

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

Add the above permission line in your AndroidManifest file, and that's it. It will remove the Permission from the Merged Manifest file and your issue will be resolved.

AndroidManifest file

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.myapp">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_SMS" tools:node="remove" />

    <application
        android:name=".MyApp"
        android:allowBackup="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning"
        tools:replace="android:allowBackup">

        <activity
            android:name=".SplashActivity"
            android:screenOrientation="portrait"
            android:theme="@style/FullscreenTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

Solution 2: Replace/Remove those 3rd Party library which are using these permissions.

UPDATE:

Solution 3: For safe side you can add these lines in your AndroidManifest file.

<uses-permission
    android:name="android.permission.RECEIVE_SMS"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.READ_SMS"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.SEND_SMS"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.WRITE_SMS"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.RECEIVE_WAP_PUSH"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.RECEIVE_MMS"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.READ_CALL_LOG"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.WRITE_CALL_LOG"
    tools:node="remove" />
<uses-permission
    android:name="android.permission.PROCESS_OUTGOING_CALLS"
    tools:node="remove" />

these lines will remove all the restricted permission(s) according to Permission Policy if any used.

Hope it will be helpful.

Puleo answered 15/2, 2019 at 10:38 Comment(7)
<uses-permission android:name="android.permission.READ_SMS" tools:node="remove" /> worked for me. thanks. :-)September
I can't find any permission related to SMS or CALL_LOG in MergedAndroidManifestHairtail
@Puleo is it also required to remove runtime permission code from JAVA file ?Vickery
@Puleo but i have many sdks using runtime permission code, and i have no time to update all of them..i thought removing from manifest will be enoughVickery
@PiyushKukadiya test your app just after removing the permission from manifest file. I think removing permission from manifest file is enough, you will get a warning only(if any).Puleo
@Puleo Thanks,app is working after removing permissions but i am just afraid of whether it will get approved because, 9th March is comingVickery
@PiyushKukadiya can't say anything, only god and google knows. :)Puleo
I
3

The policy applies to all APKs, even those on your Alpha, or beta tracks. You need to remove any APKs which don't comply. If you can't find a way of removing, just replace it with a newer version that does comply, or create a new release with no APKs on it, and publish that release to the Alpha or Beta tracks.

Edit: There is a bounty asking for answers for credible or official sources. I might hope that looking at my badges showing I'm a top answerer on Google Play might make me slightly credible. But here are some official links:

These probably won't help the original questioner, but might help people with a different problem who find this question by Googling.

Illustrious answered 13/2, 2019 at 9:21 Comment(4)
could you please elaborate by create a new release with no APKs on itSeptember
Follow the steps on this page: support.google.com/googleplay/android-developer/answer/7159011 1) Go to your Play Console. 2)Select an app. 3)On the left menu, select Release management > App releases. 4) Choose create a release 5) Add no APKs to the release. Remove any pre-populated. 6) Publish the release on whichever track you want to disable.Illustrious
It's okay. I have not alpha, beta environment. only production and latest version uploaded is 2. now I'm going upload app with version3(without RECEIVE_SMS, READ_SMS and CALL_PHONE ). But It's throwing error related my 2nd version app and forces me to fill Permissions Declaration Form. Now what should I do?September
Comments on someone else's StackOverflow is not the place for 1:1 technical support on an App store question. meta.#272665 I would contact Google Play developer support via the Play consoleIllustrious
C
3

All the above solutions did not work.

Finally I found in the Artifact Library old Active apk. It was from an "Internal test track". There is no discard button. So I had to create new "Internal test track" apk with fixed permissions and upper versionCode over old one.

Afterword the "This app does not meet Google Play permissions policy" error disappeared.

Cession answered 21/2, 2019 at 12:42 Comment(0)
H
1

You should check the draft artifacts in Artifact Library.

To solve this issue, you will have to discard the draft artifacts containing sensitive permissions and create a new release without those permissions.

Here is how to check within the Play Console:

  1. Go to Release Management > Artifact Library
  2. Expand Active APKs and Draft APKs
  3. Expand Required Permissions for each APK

You may also want to review the Permissions policy and review the Use of SMS or Call Log permission groups help article, which describes intended uses, exceptions, invalid uses, and alternative implementation options for additional guidance.

Hypotaxis answered 20/2, 2019 at 7:54 Comment(0)
S
0

Solution 1: As D_Alpha's answer works fine in most of scenario just updating permissions like below:

<uses-permission android:name="android.permission.RECEIVE_SMS" tools:node="remove" />
<uses-permission android:name="android.permission.READ_SMS" tools:node="remove" />
<uses-permission android:name="android.permission.SEND_SMS" tools:node="remove" />
<uses-permission android:name="android.permission.WRITE_SMS" tools:node="remove" />
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" tools:node="remove" />
<uses-permission android:name="android.permission.RECEIVE_MMS" tools:node="remove" />
<uses-permission android:name="android.permission.READ_CALL_LOG" tools:node="remove" />
<uses-permission android:name="android.permission.WRITE_CALL_LOG" tools:node="remove" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" tools:node="remove" />

Solution 2:

But in some case: after using all solutions, We were getting same errors, So now we can proceed to review successfully by checking some fields. It works like charm. We can't state it perfect solution but it works.

You can check below how it updated successfully.

release_with_permission

September answered 21/2, 2019 at 8:6 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.