Comme indiqué sur les pages Demander l'autorisation d'accéder à la position et Bonnes pratiques concernant la confidentialité, les applications doivent uniquement demander le type d'autorisation, permettant d'accéder à la position, indispensable aux fonctionnalités visibles par l'utilisateur et communiquer correctement cette information aux utilisateurs. La plupart des cas d'utilisation ne nécessitent une position que lorsque l'utilisateur interagit avec l'application. Si votre application nécessite une localisation en arrière-plan, par exemple lors de l'implémentation du géorepérage, assurez-vous que la localisation est indispensable aux fonctionnalités de base de l'application, qu'elle présente des avantages clairs pour l'utilisateur et qu'elle est effectuée de manière transparente.
Remarque : Le Google Play Store a mis à jour son règlement concernant la localisation de l'appareil, en limitant l'accès aux données de localisation en arrière-plan aux applications qui en ont besoin pour leurs fonctionnalités de base et qui respectent les exigences du règlement associées. L'adoption de ces bonnes pratiques ne garantit pas l'approbation par Google Play de l'utilisation de la localisation en arrière-plan par votre application.
En savoir plus sur les modifications du règlement liées à la localisation de l'appareil.
Checklist de l'accès aux données de localisation en arrière-plan
Utilisez la checklist suivante pour identifier la logique d'accès potentiel aux données de localisation en arrière-plan :
Dans le fichier manifeste de votre application, vérifiez l'autorisation
ACCESS_COARSE_LOCATION
et l'autorisationACCESS_FINE_LOCATION
. Vérifiez que votre application requiert ces autorisations d'accès à la position.- Si votre application cible Android 10 (niveau d'API 29) ou une version ultérieure, vérifiez également l'autorisation
ACCESS_BACKGROUND_LOCATION
. Vérifiez que votre application dispose d'une fonctionnalité qui l'exige.
- Si votre application cible Android 10 (niveau d'API 29) ou une version ultérieure, vérifiez également l'autorisation
Recherchez l'utilisation des API d'accès aux données de localisation, telles que l'API Fused Location Provider, l'API Geofencing ou l'API LocationManager, dans votre code comme dans les constructions suivantes :
- Services d'arrière-plan
- Objets
JobIntentService
- Tâches
WorkManager
ouJobScheduler
- Opérations
AlarmManager
- Intents en attente appelés à partir d'un widget d'application
Si votre application utilise un SDK ou une bibliothèque ayant accès aux données de localisation, cet accès est attribué à votre application. Pour déterminer si un SDK ou une bibliothèque a besoin d'accéder à la position, consultez la documentation de la bibliothèque.
Évaluer l'accès aux données de localisation en arrière-plan
Si vous constatez que votre application accède aux données de localisation en arrière-plan, envisagez de prendre les mesures suivantes :
- Évaluez si l'accès aux données de localisation en arrière-plan est indispensable aux fonctionnalités de base de l'application.
Si vous n'avez pas besoin de l'accès aux données de localisation en arrière-plan, supprimez-le
Si votre application cible Android 10 (niveau d'API 29) ou une version ultérieure, supprimez l'autorisation
ACCESS_BACKGROUND_LOCATION
du fichier manifeste de votre application. Lorsque vous supprimez cette autorisation, l'application ne peut pas accéder à la position en permanence sur les appareils équipés d'Android 10.Assurez-vous d'informer l'utilisateur que votre application accède aux données de localisation en arrière-plan. Ce point est particulièrement important pour les cas qui ne sont pas évidents pour les utilisateurs.
Si possible, refactorisez votre logique d'accès aux données de localisation afin de ne demander la position que lorsque les utilisateurs peuvent voir l'activité de votre application.
Notifications limitées de la localisation en arrière-plan
Si l'accès aux données de localisation en arrière-plan est essentiel pour votre application, n'oubliez pas qu'Android préserve l'autonomie de la batterie des appareils en définissant des limites de localisation en arrière-plan sur les appareils équipés d'Android 8.0 (niveau d'API 26) ou une version ultérieure. Sur ces versions d'Android, si votre application s'exécute en arrière-plan, elle ne peut recevoir des notifications de position que quelques fois par heure. En savoir plus sur les limites de localisation en arrière-plan.
Ressources supplémentaires
Pour en savoir plus sur l'utilisation des données de localisation en arrière-plan, consultez les ressources suivantes :
Vidéos
How to find possible background location usage (Déterminer une utilisation potentielle de la localisation en arrière-plan)
Exemples
Exemple illustrant les bonnes pratiques d'accès aux données de localisation lorsque l'application est exécutée en arrière-plan.