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.
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.
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.
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.
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:
- Go to Release Management > Artifact Library
- Expand Active APKs and Draft APKs
- 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.
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.