Afin de permettre aux développeurs de créer des applications offrant une expérience utilisateur cohérente, nous lançons des types de services de premier plan supplémentaires, ainsi qu'un nouvel ensemble de restrictions associées. Cet article présente les futures exigences relatives aux services de premier plan et explique comment déclarer les informations liées à ces services dans la Play Console. Il détaille également les exigences liées à l'utilisation des notifications d'intent plein écran.
Exigences relatives aux services de premier plan pour Android 14
Pour vous aider à identifier les cas d'utilisation adaptés aux services de premier plan et définir clairement l'intent des tâches exécutées en arrière-plan par votre application, vous devez effectuer les opérations suivantes avant d'utiliser un service de premier plan sur Android 14 ou version ultérieure :
- Déclarez le ou les types de services de premier plan dans votre fichier manifeste. Vous devez effectuer cette opération pour chaque service de premier plan que vous prévoyez d'utiliser.
- Si applicable au type sélectionné, déclarez et demandez l'autorisation de service de premier plan appropriée pour chaque type de service de premier plan.
La section Autorisations pour les services de premier plan de notre règlement sur l'utilisation abusive des appareils et des réseaux décrit en détail les critères à respecter pour utiliser les services de premier plan. Vous devez déclarer les types de services de premier plan lorsque vous passez à Android 14.
Déclarer les informations sur vos services de premier plan dans la Play Console
Lorsque vos applications ciblent Android 14 ou version ultérieure, vous devez déclarer tous les types de services de premier plan que vous utilisez dans une nouvelle déclaration sur la page Contenu de l'application (Règles > Contenu de l'application) de la Play Console.
Pour chaque type de service de premier plan que vous déclarez, procédez comme suit :
- Fournissez une description des fonctionnalités de l'application qui utilisent chaque type de service de premier plan.
- Décrivez l'impact sur l'utilisateur si :
- la tâche est différée par le système (ne démarre pas immédiatement) ; et/ou
- la tâche est interrompue par le système (mise en pause et/ou redémarrée).
- Incluez un lien vers une vidéo présentant chaque fonctionnalité de service de premier plan. La vidéo doit montrer les étapes que l'utilisateur doit effectuer dans votre application pour déclencher la fonctionnalité.
- Choisissez le cas d'utilisation spécifique pour chaque type de service de premier plan. Une liste prédéfinie de cas d'utilisation vous est proposée. Le tableau ci-dessous présente certains cas d'utilisation correspondant aux types de services de premier plan. Cette liste n'est pas exhaustive. Si votre cas d'utilisation n'y figure pas, vous pouvez le saisir manuellement.
Pour certains cas d'utilisation, nous suggérons d'utiliser d'autres API. Pour obtenir la liste de ces cas d'utilisation et des autres API recommandées, consultez le site pour les développeurs Android.
Remarque : Vous trouverez ci-dessous une liste non exhaustive. Pour déterminer si l'accès est adapté aux services de premier plan, consultez le règlement Autorisations pour les services de premier plan pour les cas d'utilisation qui ne sont pas listés ci-dessous.
Type de services de premier plan | Cas d'utilisation | Descriptions et exemples |
---|---|---|
TYPE_CAMERA |
Diffusion du flux de la caméra en arrière-plan | Permet de continuer à avoir accès à la caméra en arrière-plan. Par exemple : applications de chat vidéo permettant le multitâche. |
TYPE_CONNECTED_DEVICE |
Transfert de données continu vers un appareil externe | Assure l'interaction avec les appareils externes (y compris le transfert de données) qui nécessitent une connexion Bluetooth, NFC, infrarouge, USB ou réseau. Par exemple : accessoire connecté, babyphone, casque, voiture. |
TYPE_DATA_SYNC |
Transfert réseau : sauvegarde et restauration | À utiliser avec les fonctionnalités déclenchées par l'utilisateur. Par exemple : sélectionner une photo spécifique à sauvegarder dans le cloud ou sauvegarder automatiquement toutes les nouvelles photos chaque jour. |
Transfert réseau : importer ou télécharger | Par exemple : extraction de données, traitement côté serveur. | |
Traitement local : transcodage de contenus multimédias | Assure la conversion de fichiers multimédias (fichiers audio et vidéo, par exemple) d'un format à un autre (fonctionnalités de montage vidéo, par exemple). | |
Traitement local : importation ou exportation | Inclut la migration de fichiers depuis une carte SD. | |
Traitement local : autre | À utiliser pour les tâches déclenchées par l'utilisateur (et non pour les tâches ordinaires déclenchées par le système ou le serveur). Par exemple : chiffrement, redimensionnement, etc. | |
TYPE_HEALTH |
Synchronisation des données de santé | Assure la synchronisation des données de santé pour les applications de la catégorie "Remise en forme". Cela peut concerner plusieurs applications ou la collecte de données via le suivi sur l'appareil. Par exemple : nombre de pas, suivi des entraînements. |
TYPE_LOCATION |
Actualisation de la localisation en arrière-plan : partage de position déclenché par l'utilisateur | Par exemple : fonctionnalité de localisation des amis ou analyse des activités du véhicule. |
Actualisation de la localisation en arrière-plan : navigation | Par exemple : navigation routière en continu sur une carte ou suivi des trajets lors du partage de course. | |
Géorepérage | Définit les paramètres rattachés aux zones d'intérêt. | |
TYPE_MEDIA_PLAYBACK |
Lecture des contenus multimédias | Permet de poursuivre la lecture audio ou vidéo en arrière-plan, y compris en streaming. |
Affichage Picture-in-picture | À utiliser lorsque le format multimédia est réduit pendant la lecture en arrière-plan. | |
TYPE_MEDIA_PROJECTION |
Projection multimédia ou de contenus, et diffusion ou enregistrement avec l'API MediaProjection | Permet de projeter des contenus multimédias sur un écran externe ou un appareil externe avec l'API MediaProjection, y compris en streaming. |
TYPE_MICROPHONE |
Accès audio en arrière-plan | Permet de capturer une entrée audio (commandes vocales pour l'assistant virtuel, par exemple) sans sauvegarde ni enregistrement vocal. |
TYPE_PHONE_CALL |
Appels : API Cellular/VoiP/Telecom | Prend en charge différentes fonctionnalités du clavier d'appel. |
TYPE_REMOTE_MESSAGING |
Transfert des communications texte vers un autre appareil | Contribue à la continuité des tâches de messagerie d'un utilisateur lorsqu'il change d'appareil. Par exemple : autoriser les utilisateurs à envoyer des messages via un client Web en scannant un code QR et en établissant une connexion entre le client Web et le téléphone. Cette fonctionnalité ne se limite pas aux SMS. |
La déclaration sera disponible d'ici novembre 2023. Nous vous laisserons le temps de la remplir, de recevoir des commentaires et d'apporter des modifications si nécessaire.
Exigences concernant l'intent plein écran pour Android 14
Vous pouvez utiliser les notifications d'intent plein écran pour partager des messages à priorité élevée qui requièrent l'attention immédiate de l'utilisateur. Pour nous assurer que cette autorisation est limitée aux cas d'utilisation prioritaires appropriés, nous introduisons à partir d'Android 14 des restrictions concernant l'utilisation de l'autorisation USE_FULL_SCREEN_INTENT
. En limitant les notifications, vous contribuez à offrir une meilleure expérience utilisateur.
Si vous utilisez l'autorisation USE_FULL_SCREEN_INTENT
, vous devez remplir la déclaration dans la Play Console à partir du 31 mai 2024 pour indiquer si votre application contient une fonctionnalité de base autorisée et si elle est éligible à l'attribution automatique. À compter du 22 janvier 2025, pour les applications ciblant Android 14 ou version ultérieure, cette autorisation ne sera activée par défaut que pour les applications possédant des fonctionnalités d'appel ou d'alarme. Dans les autres cas, vous devrez obtenir l'autorisation de l'utilisateur pour utiliser l'autorisation USE_FULL_SCREEN_INTENT
. Pour les applications n'ayant pas rempli la déclaration ni obtenu l'autorisation d'activation par défaut, les développeurs devront demander aux utilisateurs d'accorder leur autorisation lors des nouvelles installations, et procéder à une dégradation élégante de l'expérience en cas de refus.
Questions fréquentes
Qu'est-ce qui change pour les services de premier plan dans Android 14 ?Nous lançons plusieurs nouveaux types de services de premier plan. Vous devrez déclarer chaque type de service de premier plan avec l'autorisation correspondante. Par exemple, si vous déclarez le type de service de premier plan "caméra", vous devez également déclarer l'autorisation FOREGROUND_SERVICE_CAMERA. L'utilisation du premier plan doit également respecter les autres exigences décrites dans notre Règlement sur l'utilisation abusive des appareils et des réseaux.
Choisissez le type de service de premier plan qui correspond le mieux à l'utilisation que vous souhaitez en faire. Par exemple, une application d'exercice qui suit l'activité physique d'un utilisateur peut déclarer le type de service de premier plan "santé". Vous pouvez également choisir plusieurs types de services de premier plan, le cas échéant.
Lorsque les applications qui ciblent Android 14 utilisent un service de premier plan, les développeurs doivent déclarer l'autorisation appropriée pour ce type de service. Par exemple, si votre application utilise le type de service de premier plan "position", vous devez déclarer l'autorisation FOREGROUND_SERVICE_LOCATION. Les autorisations de service de premier plan qui renvoient à un type de service de premier plan spécifique sont définies comme des autorisations normales. Elles sont accordées par défaut au moment de l'installation. Les utilisateurs ne peuvent pas les révoquer.
Selon le type de service de premier plan, d'autres exigences système peuvent s'appliquer. Il peut s'agir d'autorisations d'exécution que les utilisateurs doivent accorder avant qu'elles puissent être utilisées. Par exemple, si vous utilisez le type de service de premier plan "position", vous devez également accorder l'autorisation ACCESS_COARSE_LOCATION ou ACCESS_FINE_LOCATION. Veuillez consulter la documentation pour obtenir les informations les plus récentes.
Dans certains cas limités, si votre cas d'utilisation répond aux autres caractéristiques requises pour l'utilisation de services de premier plan (comme décrit dans le règlement), vous pouvez déclarer le type de service de premier plan TYPE_SPECIAL_USE
. Tous les types de services de premier plan sont soumis à examen.
"Perceptible par l'utilisateur" signifie que l'utilisateur doit savoir qu'une tâche de service de premier plan s'exécute sur son appareil. Les utilisateurs peuvent être considérés comme avertis s'ils lancent l'action eux-mêmes. C'est par exemple le cas si l'utilisateur lance l'écoute d'un titre ou le suivi de sa course à pied. Votre application peut également informer les utilisateurs qu'un service de premier plan est activé en présentant une notification claire et précise dans la barre des tâches de l'appareil.
Si vous ciblez une version d'Android antérieure à Android 14, continuez à utiliser l'attribut android:foregroundServiceType
dans l'élément <service> du fichier manifeste de votre application.
Les tâches de transfert de données à l'initiative de l'utilisateur sont conçues pour simplifier les transferts de données sur le réseau. Elles offrent un suivi des contraintes et gèrent automatiquement les wakelocks. Le type de service de premier plan dataSync peut inclure le transfert de données en local ou sur un réseau, ainsi que le traitement de données localement sur l'appareil. Si, dans votre cas d'utilisation, vous transférez des données sur un réseau (Wi-Fi, mobile ou Bluetooth, par exemple) en réponse à une demande explicite de l'utilisateur, nous vous recommandons d'utiliser la tâche de transfert de données initiée par l'utilisateur plutôt que le type de service de premier plan dataSync.
Pour Android 14, USE_FULL_SCREEN_INTENT
(qui était auparavant une autorisation normale) devient une autorisation d'accès spéciale pour les applications. Seules les applications dont la fonctionnalité de base est un cas d'utilisation hautement prioritaire (comme régler une alarme ou recevoir des appels téléphoniques ou vidéo) se verront automatiquement accorder l'autorisation USE_FULL_SCREEN_INTENT
. Considérez la fonctionnalité de base comme la fonction première de votre application, sans laquelle elle ne fonctionnerait pas ou serait inutilisable. L'autorisation peut toujours être accordée à d'autres applications, mais seulement par l'utilisateur.
Ces modifications prendront effet le 31 mai 2024.
Lorsque votre application cible Android 14 ou une version ultérieure, vous avez la possibilité de la déclarer comme fonctionnalité de base pour intent plein écran sur la page Contenu de l'application (Règles > Contenu de l'application) dans la Play Console. La déclaration sera disponible à partir d'avril 2024, et nous vous laisserons le temps de la remplir.