Aller au contenu
Narvy

Localisation précise sur Google Play : bouton de localisation ou déclaration dans la Play Console

Votre build demande ACCESS_FINE_LOCATION sans l'indicateur onlyForLocationButton. Google Play exige de toute application dans ce cas une déclaration de localisation précise dans la Play Console, qui explique pourquoi le bouton de localisation ou la localisation approximative ne suffisent pas. À partir d'une API cible 37, une localisation précise utilisée seulement pour des actions ponctuelles lancées par l'utilisateur doit passer par le bouton de localisation.

Ce que cela signifie

All apps requesting precise location (ACCESS_FINE_LOCATION) must complete a declaration in the Play Console to demonstrate access needs and justify why the location button or coarse location is insufficient.

Play Console Help, minimum scope and the location button

Google liste les usages ponctuels auxquels le bouton est destiné : recherche à proximité, partage unique d'une position, ajout d'un lieu à un contenu, saisie automatique d'adresse. Les usages continus comme la navigation ou le suivi sportif conservent ACCESS_FINE_LOCATION, avec la déclaration. Pour les applications qui ciblent l'API 37, le bouton est obligatoire pour ces usages ponctuels.

Le contrôle lit chaque déclaration de ACCESS_FINE_LOCATION et son android:usesPermissionFlags. Avec l'indicateur onlyForLocationButton, le contrôle est conforme. Sans lui, il indique qu'une déclaration est nécessaire. Le caractère ponctuel ou continu de l'usage ne figure pas dans le binaire.

Échéance

À partir du 27 janvier 2027, selon le calendrier des règles Google Play. Le contrôle applique la règle à partir de cette date ; avant, le résultat est intitulé « Exigé à partir du » cette date. Il n'est jamais bloquant : ce qu'exige Google ne figure pas dans le binaire. Google indique que la déclaration de localisation précise sera disponible dans la Play Console en novembre 2026 et que des prolongations automatiques de 30 jours seront possibles.

Corriger

1. Localisation précise ponctuelle : utiliser le bouton de localisation

Ajoutez l'indicateur pour que la localisation précise ne soit accordée que par le bouton, puis affichez le composable LocationButton de la bibliothèque Jetpack là où l'utilisateur demande sa position.

AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission
    android:name="android.permission.ACCESS_FINE_LOCATION"
    android:usesPermissionFlags="onlyForLocationButton" />
<uses-permission android:name="android.permission.USE_LOCATION_BUTTON" />

2. La localisation approximative suffit souvent

Si la fonctionnalité marche à l'échelle d'une ville ou d'un quartier, ne demandez que ACCESS_COARSE_LOCATION et retirez ACCESS_FINE_LOCATION.

3. Localisation précise continue : la déclarer

Remplissez la déclaration de localisation précise dans la Play Console : les fonctionnalités qui ont besoin de ACCESS_FINE_LOCATION, et pourquoi le bouton de localisation ou la localisation approximative ne suffisent pas.

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-PRECISE-LOCATION avec les dates de cette page, puis supprime le fichier : rien de l'application n'est conservé.

Contrôler un build dans le navigateur

Questions fréquentes

Mon application cible l'API 36. Est-elle concernée ?

Par la déclaration, oui : Google l'exige de toutes les applications qui demandent la localisation précise. L'obligation du bouton de localisation s'applique dès que l'application cible l'API 37 ; le contrôle indique le cas qu'il a trouvé.

Une bibliothèque ajoute ACCESS_FINE_LOCATION. Mon application est-elle concernée ?

Oui, Google examine le manifeste fusionné. Retirez-la avec tools:node="remove" si aucune fonctionnalité de l'application n'en a besoin.