Afin de permettre aux développeurs de créer des applications qui offrent une expérience utilisateur cohérente, nous ajoutons des types de services de premier plan supplémentaires ainsi qu'un nouvel ensemble de restrictions de la politique associées. Cet article explique les exigences à venir en matière de service de premier plan et explique comment déclarer les renseignements concernant le service de premier plan dans Play Console. Il détaille également les exigences d'utilisation des notifications des intentions en plein écran.
Exigences du service de premier plan pour Android 14
Pour vous aider à cerner les cas d'utilisation appropriés pour les services de premier plan et à définir clairement l'intention du travail en arrière-plan de votre application, Android 14 et les versions ultérieures vous obligent à effectuer ce qui suit avant d'utiliser un service de premier plan :
- Déclarez le ou les types de services de premier plan dans votre fichier de configuration. Vous devez le faire pour chaque service de premier plan que vous avez l'intention d'utiliser.
- Si cela s'applique au type sélectionné, demandez l'autorisation de service de premier plan appropriée pour chaque type de service de premier plan et déclarez-la.
La section Autorisations pour les services de premier plan de notre Politique relative à l'utilisation abusive de l'appareil et du réseau décrit en détail les critères requis pour l'utilisation des services de premier plan. Vous devez déclarer les types de services de premier plan lorsque vous effectuez la mise à jour vers Android 14.
Déclarer vos renseignements sur le service de premier plan dans Play Console
Lorsque vos applis ciblent Android 14 et les versions ultérieures, 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'appli (Surveiller et améliorer > Contenu de l'appli) dans Play Console.
Pour chaque type de service de premier plan que vous déclarez, vous devrez procéder comme suit :
- Fournissez une description du fonctionnement de l'application qui utilise chaque type de service de premier plan.
- Décrivez l'incidence sur l'utilisateur si :
- la tâche est différée par le système (ne démarre pas immédiatement); ou
- la tâche est interrompue par le système (mise en pause ou redémarrée).
- Incluez un lien vers une vidéo montrant chaque fonctionnalité de service de premier plan. La vidéo doit montrer les étapes que l'utilisateur doit suivre dans votre application afin de déclencher la fonctionnalité.
- Choisissez votre cas d'utilisation précis pour chaque type de service en avant-plan. Une liste de cas d'utilisation préétablie vous sera fournie pour que vous puissiez faire votre choix. Le tableau ci-dessous présente une sélection de cas d'utilisation correspondant à des types de services d'avant-plan. Il s'agit d'une liste non exhaustive. Si vous ne voyez pas votre cas d'utilisation répertorié, vous pouvez saisir votre cas d'utilisation manuellement.
Pour certains cas d'utilisation, nous vous suggérons d'utiliser d'autres API. Pour obtenir la liste de ces cas d'utilisation et des autres API recommandées, visitez le site pour développeurs Android.
Remarque : Vous trouverez ci-dessous une liste non exhaustive. Pour déterminer si l'accès est approprié aux services d'avant-plan, reportez-vous à la politique relative aux autorisations pour les services d'avant-plan pour consulter les cas d'utilisation qui ne sont pas mentionnés ci-dessous.
Type de service d'avant-plan | Cas d'utilisation | Descriptions et exemples |
---|---|---|
TYPE_CAMERA |
Flux de la caméra en arrière-plan | Continuer à accéder à la caméra à partir de l’arrière-plan. Par exemple, les applications de clavardage vidéo qui permettent le mode Multitâche. |
TYPE_CONNECTED_DEVICE |
Transfert de données continu vers un appareil externe | Interactions avec des appareils externes, y compris le transfert de données qui nécessite une connexion Bluetooth, CCP, IR, USB ou réseau. Par exemple, un accessoire connecté, un interphone de surveillance, un casque d'écoute ou une voiture. |
TYPE_DATA_SYNC |
Transfert réseau : sauvegarde et restauration | À utiliser en particulier pour les fonctionnalités lancées par l'utilisateur. Par exemple, la sélection d'une photo précise à sauvegarder sur le nuage par rapport à la sauvegarde automatique quotidienne de toutes les nouvelles photos. |
Transfert réseau : téléversement ou téléchargement | Par exemple, récupération de données, traitement côté serveur. | |
Traitement local : importation ou exportation | Inclut la migration des fichiers à partir de la carte SD. | |
Traitement local : autres | À utiliser en particulier pour les tâches lancées par l'utilisateur et non pour les tâches habituelles du système ou celles lancées par le serveur. Par exemple, le chiffrement, le redimensionnement. | |
TYPE_HEALTH |
Synchronisation des données relatives à la santé | Synchronisation des données de santé pour les applications appartenant à la catégorie de mise en forme, qui peut se faire d'une application à l'autre ou pour recueillir des données collectées par le suivi sur l'appareil. Par exemple, compteur de pas, suivi de l'exercice. |
TYPE_LOCATION |
Mises à jour des données de localisation en arrière-plan : partage de localisation lancé par l'utilisateur | Par exemple, la fonctionnalité Find My Friend et le suivi d'activité du véhicule. |
Mises à jour des données de localisation en arrière-plan : navigation | Par exemple, la navigation routière continue sur des cartes, le suivi des courses pour le covoiturage. | |
Définition de limites géographiques | Définir les paramètres qui entourent les zones d’intérêt. | |
TYPE_MEDIA_PLAYBACK |
Lecture multimédia | Poursuivre la lecture audio ou vidéo en arrière-plan, y compris de contenu diffusé. |
Affichage de l'Incrustation d'image | Lorsque le format du contenu multimédia est réduit lors de la lecture en arrière-plan. | |
TYPE_MEDIA_PROJECTION |
Projection multimédia ou de contenu et diffusion ou enregistrement avec l'API MediaProjection | Projeter des contenus multimédias sur des écrans non primaires ou des appareils externes à l'aide des API MediaProjection, y compris la diffusion. |
FOREGROUND_SERVICE_MEDIA_PROCESSING |
Transcodage multimédia | Effectuer des opérations fastidieuses sur les ressources multimédias, comme la conversion de contenus vers différents formats. |
TYPE_MICROPHONE |
Accès à l'audio en arrière-plan | Capturer l'entrée audio, par exemple, les commandes vocales pour l'assistant virtuel sans enregistrement, l'enregistrement vocal. |
TYPE_PHONE_CALL |
Appel : API cellulaires/VoiP/télécommunications | Prise en charge de différentes fonctionnalités du composeur d'appel. |
TYPE_REMOTE_MESSAGING |
Transmettre une communication textuelle à un autre appareil | Permet d'assurer la continuité des tâches de messagerie d'un utilisateur lorsqu'il change d'appareil. Par exemple, permettre aux utilisateurs d'envoyer des messages texte par l'intermédiaire d'un client Web en balayant un code QR et en établissant une connexion entre le client Web et le téléphone. Ne se limite pas aux messages texte. |
La déclaration sera offerte à partir de novembre 2023, et nous vous donnerons le temps de remplir la déclaration, de recevoir des commentaires et de faire des ajustements si nécessaire.
Exigences relatives aux intentions en plein écran pour Android 14
Vous pouvez utiliser les notifications des intentions en plein écran pour partager des messages hautement prioritaires qui nécessitent l'attention immédiate de l'utilisateur. Pour garantir que cette autorisation soit limitée aux cas d'utilisation hautement prioritaires, nous introduisons pour Android 14 des restrictions à l'utilisation de l'autorisation USE_FULL_SCREEN_INTENT
. Limiter les notifications de cette manière permet d'assurer une meilleure expérience pour les utilisateurs.
Si vous utilisez l'autorisation USE_FULL_SCREEN_INTENT
, vous devez compléter la déclaration de Play Console à partir du 31 mai 2024 pour indiquer si votre appli dispose d'une fonctionnalité de base autorisée et si elle se qualifie pour l'octroi automatique. À compter du 22 janvier 2025, pour les applis ciblant les appareils Android 14 et les versions ultérieures, seules les applis dotées de fonctionnalités d'appel ou d'alarme auront cette autorisation activée par défaut. Autrement, vous devez obtenir l'autorisation de l'utilisateur pour vous servir de l'autorisation USE_FULL_SCREEN_INTENT
. Pour les applis qui n'ont pas complété la déclaration ou qui n'ont pas été approuvées pour l'activation par défaut, les développeurs devront inviter les utilisateurs à accorder l'autorisation pour les nouvelles installations et dégrader progressivement l'expérience en cas de refus.
Foire aux questions
Qu'est-ce qui change pour les services de premier plan dans Android 14?Nous ajoutons plusieurs nouveaux types de services de premier plan, et il sera obligatoire de déclarer un type de service de premier plan ainsi que son autorisation de service de premier plan appropriée. 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. Votre utilisation du service de premier plan doit également respecter les autres exigences décrites dans notre politique relative à l'utilisation abusive de l'appareil et du réseau.
Choisissez le type de service de premier plan qui correspond le mieux à votre utilisation prévue du service de premier plan. Par exemple, une application d'exercice qui suit l'exercice 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 si cela s'applique à votre application.
Lorsque les applications qui ciblent Android 14 utilisent un service de premier plan, les développeurs doivent déclarer l'autorisation de service de premier plan appropriée pour ce type de service de premier plan précis. Par exemple, si votre application utilise le type de service de premier plan « position », vous devrez déclarer l'autorisation FOREGROUND_SERVICE_LOCATION. Les autorisations de service de premier plan qui font référence à un type de service de premier plan précis sont définies comme des autorisations normales et sont accordées par défaut lors de l'installation. Les utilisateurs ne peuvent pas révoquer ces autorisations.
Selon le type de service de premier plan, il peut y avoir des exigences système supplémentaires. Certaines d'entre elles peuvent être des autorisations d'exécution et nécessitent que les utilisateurs accordent une autorisation avant de pouvoir les utiliser. Par exemple, s'il utilise le type de service de premier plan « position », l'utilisateur doit également accorder l'autorisation ACCESS_COARSE_LOCATION ou ACCESS_FINE_LOCATION. Veuillez consulter la documentation pour obtenir les renseignements les plus récents à ce sujet.
Dans des scénarios limités, si votre cas d'utilisation répond aux autres caractéristiques requises pour l'utilisation du service de premier plan (comme décrit dans la politique), vous pouvez déclarer le type de service de premier plan TYPE_SPECIAL_USE
. Tous les types de services de premier plan font l'objet d'un examen.
Perceptible par l'utilisateur signifie que l'utilisateur doit savoir qu'une tâche de service de premier plan est en cours d'exécution sur son appareil. Les utilisateurs peuvent être considérés comme conscients s'ils entreprennent l'action eux-mêmes; par exemple, l'utilisateur peut faire jouer une chanson ou lancer le suivi de sa course. Votre application peut également informer les utilisateurs d'un service de premier plan en cours 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 de configuration de votre application.
Les tâches de transfert de données amorcées par l'utilisateur sont conçues pour simplifier les transferts de données sur le réseau. Elles disposent d'un suivi des contraintes et gèrent automatiquement les verrous de réveil. Le type de service de premier plan dataSync peut inclure le transfert de données localement ou sur un réseau, et peut inclure le traitement des données localement sur l'appareil. Si votre cas d'utilisation concerne le transfert de données sur un réseau (tel que Wi-Fi, mobile ou Bluetooth) en réponse à une demande explicite de l'utilisateur, nous vous recommandons d'utiliser la tâche de transfert de données amorcée par l'utilisateur au lieu du type de service de premier plan dataSync.
Pour Android 14, l'autorisation USE_FULL_SCREEN_INTENT
passera d'une autorisation normale à une autorisation d'accès spécial aux applications, et seules les applications dont la fonctionnalité de base est un cas d'utilisation hautement prioritaire, à savoir le réglage d'une alarme ou la réception d'appels téléphoniques ou vidéo, recevront automatiquement l'autorisation USE_FULL_SCREEN_INTENT
. Vous pouvez considérer la fonctionnalité de base comme l'objectif principal de votre application, sans laquelle l'application est défectueuse ou inutilisable. D'autres applications peuvent toujours utiliser l'autorisation, mais uniquement après avoir obtenu l'autorisation de l'utilisateur.
Ces modifications prendront effet le 31 mai 2024.
Lorsque votre appli cible Android 14 ou une version ultérieure, vous aurez la possibilité de déclarer que les fonctionnalités de base de votre appli nécessitent une intention plein écran sur la page Contenu de l'appli (Surveiller et améliorer > Contenu de l'appli) dans Play Console. La déclaration sera offerte à partir d'avril 2024, et nous vous donnerons le temps de la remplir.