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

后端 未结 5 2288
名媛妹妹
名媛妹妹 2021-01-01 21:47

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

相关标签:
5条回答
  • 2021-01-01 22:11

    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:

    • Blog post explaining the new permissions requirements.
    • Google Play policy center explaining the permissions
    • Google Play help center article explaining alternatives to SMS / Call log permissions
    • Google Play help center page on releasing your app

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

    0 讨论(0)
  • 2021-01-01 22:11

    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.

    0 讨论(0)
  • 2021-01-01 22:17

    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.

    0 讨论(0)
  • 2021-01-01 22:21

    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.

    0 讨论(0)
  • 2021-01-01 22:30

    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.

    0 讨论(0)
提交回复
热议问题