Aller au contenu
Narvy

Permission SMS et journal d'appels : déclaration dans la Play Console

Votre build demande READ_SMS, SEND_SMS, WRITE_SMS, RECEIVE_SMS, RECEIVE_WAP_PUSH, RECEIVE_MMS, READ_CALL_LOG, WRITE_CALL_LOG, PROCESS_OUTGOING_CALLS. Google Play ne l'autorise que si l'application est le gestionnaire par défaut des SMS, du téléphone ou de l'assistant, ou sa fonction principale entre dans l'une des exceptions listées par Google, et exige une déclaration dans la Play Console (Règles, Contenu de l'application). Déclarez-la si vous êtes éligible, ou retirez la permission et utilisez pour les codes à usage unique, l'API SMS Retriever ou l'API SMS User Consent, qui ne demandent aucune permission SMS.

Ce que cela signifie

Only access Call Log or SMS permissions when your app falls within permitted uses and only to enable your app's critical core functionality.

Use of SMS or Call Log permission groups

Google Play considère READ_SMS, SEND_SMS, WRITE_SMS, RECEIVE_SMS, RECEIVE_WAP_PUSH, RECEIVE_MMS, READ_CALL_LOG, WRITE_CALL_LOG, PROCESS_OUTGOING_CALLS comme un accès à des données ou capacités sensibles. Une application qui le demande doit relever d'un usage autorisé et le déclarer dans la Play Console ; Google peut refuser une mise à jour, ou retirer l'application, quand l'usage n'est pas déclaré ou pas autorisé. L'usage est autorisé quand l'application est le gestionnaire par défaut des SMS, du téléphone ou de l'assistant, ou sa fonction principale entre dans l'une des exceptions listées par Google.

Les refus liés à cette règle arrivent sous forme de messages de la Play Console dont la formulation varie : cette page cite donc la règle elle-même plutôt qu'un message.

Échéance

Aucune date à venir n'est enregistrée par le contrôle : la règle est en vigueur et la déclaration est vérifiée lors de l'examen.

Corriger

1. Vérifier si l'application est éligible

La permission est autorisée quand l'application est le gestionnaire par défaut des SMS, du téléphone ou de l'assistant, ou sa fonction principale entre dans l'une des exceptions listées par Google. Si ce n'est pas la fonction principale de votre application, ne la déclarez pas : retirez-la.

2. Si elle est éligible : remplir la déclaration

Dans la Play Console, ouvrez Règles, puis Contenu de l'application, et remplissez la déclaration de cette permission : la fonctionnalité qui en a besoin, pourquoi aucune alternative ne convient et, quand la Play Console la demande, une courte vidéo de la fonctionnalité.

3. Sinon : la retirer, y compris des bibliothèques

Utilisez pour les codes à usage unique, l'API SMS Retriever ou l'API SMS User Consent, qui ne demandent aucune permission SMS. Si une dépendance ajoute la permission, retirez-la du manifeste fusionné :

AndroidManifest.xml (xmlns:tools="http://schemas.android.com/tools")
<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_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" />

Vérifier avant de soumettre

Déposez l'APK, AAB ou lot d'APK fractionnés (XAPK, APKS, APKM) sur la page de contrôle des stores. Elle exécute PLAY-PERMISSION-DECLARATION avec les dates de cette page, puis supprime le fichier : rien de l'application n'est conservé. Le même moteur tourne hors ligne dans la CLI Narvy et renvoie le code 1 quand un point bloquant est trouvé, ce qui permet de bloquer un job de CI.

Hors ligne, depuis un terminal (narvy-cli 1.2.0 ou plus)
narvy store-check app-release.aab --lang fr

Contrôler un build dans le navigateur

Questions fréquentes

Une bibliothèque a ajouté cette permission. Mon application est-elle concernée ?

Oui. Google examine le build envoyé, dont le manifeste fusionné inclut les permissions de toutes les dépendances. Retirez-la avec tools:node="remove" si l'application n'en a pas besoin.

Le contrôle me dit-il si mon usage est autorisé ?

Non. Il détecte la permission dans le build et indique qu'une déclaration est nécessaire. L'éligibilité de l'usage relève de l'examen de Google.