Aller au contenu
Narvy

Permission Visibilité des packages : déclaration dans la Play Console

Votre build demande QUERY_ALL_PACKAGES. Google Play ne l'autorise que si la fonction principale visible par l'utilisateur doit voir toutes les applications installées, 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 un élément <queries> dans le manifeste qui nomme les packages ou intents avec lesquels l'application interagit réellement.

Ce que cela signifie

only permitted when your app's core user-facing functionality or purpose requires broad visibility into installed apps.

Use of the broad package (App) visibility (QUERY_ALL_PACKAGES) permission

Google Play considère QUERY_ALL_PACKAGES 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 la fonction principale visible par l'utilisateur doit voir toutes les applications installées.

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 la fonction principale visible par l'utilisateur doit voir toutes les applications installées. 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 un élément <queries> dans le manifeste qui nomme les packages ou intents avec lesquels l'application interagit réellement. 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.QUERY_ALL_PACKAGES" 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.