Le système met en avant les notifications d'infos en direct. Les notifications mises en avant s'affichent de manière plus visible sur les surfaces système, y compris en haut du panneau de notifications et de l'écran de verrouillage, et sous forme de chip dans la barre d'état.

Les fiches de notifications mises en avant présentent les caractéristiques suivantes :
- Développé par défaut
- Non réductible
Pour être considérée comme une actualité en direct, votre notification doit répondre aux exigences suivantes :
- Doit être défini sur "Standard/Aucun style",
BigTextStyle
,CallStyle
ouProgressStyle
. - Vous devez demander l'autorisation non liée à l'exécution suivante dans le fichier manifeste Android :
android.permission.POST_PROMOTED_NOTIFICATIONS
. - Vous devez demander la promotion à l'aide de
EXTRA_REQUEST_PROMOTED_ONGOING
ouNotificationCompat.Builder#requestPromotedOngoing
. - Doit être
ongoing
(définissezFLAG_ONGOING_EVENT
). - Doit avoir un
contentTitle
défini. - Ne doit PAS avoir de
customContentView
défini (pas deRemoteViews
). - Ne doit PAS être le résumé d'un groupe utilisant
setGroupSummary
. - Ne doit PAS
setColorized
surTRUE
. - Le canal de notification NE DOIT PAS avoir
IMPORTANCE_MIN
.
Caractéristiques de la promotion
Les API suivantes vous aident à déterminer si le système va promouvoir votre notification :
Notification.FLAG_PROMOTED_ONGOING
indique si la notification est mise en avant.Notification.hasPromotableCharacteristics()
valide si le système peut promouvoir la notification. Cette méthode ne tient pas compte du fait que l'utilisateur ait désactivé ou non les mises à jour en direct pour l'application dans les paramètres.NotificationManager.canPostPromotedNotifications()
vérifie si votre application peut publier une notification sponsorisée, par exemple si l'utilisateur l'a activée ou désactivée dans les paramètres.Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONS
est l'action d'intent qui permet aux applications d'envoyer les utilisateurs vers les paramètres pour activer cette fonctionnalité.
Critères d'utilisation
Utilisez les mises à jour en direct pour les activités en cours, lancées par l'utilisateur et sensibles au temps.
En cours
Une mise à jour en direct doit représenter une activité en cours, avec un début et une fin distincts. Si une activité a eu lieu dans le passé, n'utilisez pas de mise à jour en direct. Utilisez plutôt une notification standard. Cela s'applique également aux événements qui n'ont pas encore commencé, bien que ceux qui sont sur le point de commencer puissent utiliser une mise à jour en direct.
Les infos en direct représentent des activités en cours. N'utilisez pas les mises à jour en direct pour offrir un accès accéléré aux fonctionnalités de l'application. Si vous souhaitez le faire, utilisez un widget d'application ou un bloc "Réglages rapides" personnalisé.
- Utilisations appropriées : navigation active, appels téléphoniques en cours, suivi actif des courses en VTC et suivi actif des livraisons de repas.
- Utilisations inappropriées : annonces, promotions, messages de chat, alertes, événements à venir dans l'agenda et accès rapide aux fonctionnalités de l'application.
Lancé par l'utilisateur
La plupart des mises à jour en direct doivent représenter des activités explicitement déclenchées par l'utilisateur, comme le démarrage d'un entraînement, le lancement d'une navigation en voiture ou la commande d'un trajet en VTC. N'affichez pas d'informations ambiantes, telles que celles concernant l'environnement, les centres d'intérêt ou les événements à venir de l'utilisateur, dans une mise à jour en direct. N'autorisez pas les activités déclenchées par d'autres parties à générer des mises à jour en direct.
Parfois, un utilisateur peut effectuer une action qui déclenche une activité dans un avenir proche. Par exemple, si l'utilisateur achète des billets pour un vol ou un concert, s'inscrit à un tournoi ou indique qu'il participera à un événement limité dans le temps. Dans ce cas, il peut être approprié d'afficher automatiquement une info en direct lorsque l'événement planifié commence. Toutefois, les applications doivent ajuster leurs déclencheurs pour qu'ils n'apparaissent que lorsque l'activité est imminente. Si l'utilisateur indique explicitement qu'il souhaite commencer à suivre un événement en arrière-plan, comme un match sportif, vous pouvez commencer à publier des mises à jour en direct pour cet événement. Toutefois, vous devez également inclure une action Détacher dans la notification associée.
Urgent
N'affichez une mise à jour en direct que si elle nécessite l'attention de l'utilisateur tout au long de l'activité. La surveillance est un cas d'utilisation clé des mises à jour en direct. L'utilisateur tire un avantage considérable à jeter un coup d'œil à la mise à jour en direct pour suivre l'évolution de l'état de l'activité.
Une mise à jour en direct est souvent appropriée pour les activités qui passent des mises à jour en direct aux notifications normales. Par exemple, il est approprié d'afficher une notification de carte d'embarquement plusieurs heures avant le vol d'un utilisateur, mais la notification ne doit devenir une mise à jour en direct que lorsque l'utilisateur en a un besoin urgent, par exemple lorsqu'il est arrivé à l'aéroport ou sur le lieu de l'événement, ou lorsque l'embarquement a commencé. En revanche, une mise à jour en direct n'est pas appropriée pour suivre un colis, car l'utilisateur n'a pas besoin de le surveiller en permanence.
Chips d'état
Les chips d'état permettent aux utilisateurs de suivre les infos en direct lorsque la notification n'est pas visible. Utilisez setShortCriticalText
ou setWhen
pour transmettre des informations importantes sur l'état de votre notification axée sur la progression.

Notification.Builder#setSmallIcon
.
Notification.Builder#setShortCriticalText
pour afficher l'heure absolue.
Notification.Builder#setShortCriticalText
pour transmettre des informations critiques.Quand
L'heure "when" déclenche un compte à rebours pour la durée de la notification, sauf si elle est ignorée ou mise à jour.
- L'heure "quand" est postérieure à l'heure actuelle d'au moins deux minutes : si l'heure actuelle est 10h05 et que l'heure "quand" est définie sur 10h10, le chip indique "5 min".
- Si l'heure "quand" est antérieure de plus d'une minute, la notification ne s'affiche pas.
- Utilisez
setShowWhen
pourFALSE
si vous ne souhaitez pas que l'heure s'affiche dans le volet de la notification.
Apparence du chip d'état
Le chip d'état inclut toujours une icône et peut inclure du texte. La largeur maximale du chip est de 96 dp. Affichez le texte en fonction des critères suivants :
- Si le texte comporte moins de sept caractères, affichez-le en entier.
- Si moins de la moitié du texte s'affiche, n'affichez que l'icône.
- Si plus de la moitié du texte s'affiche, montrez-en le plus possible.
Dismissal
Les utilisateurs peuvent contrôler la visibilité des notifications dans la barre de notifications. Si vous publiez des infos en direct indésirables, les utilisateurs peuvent révoquer l'autorisation de publication de votre application.
Pour empêcher les utilisateurs de désactiver complètement les infos en direct, évitez de publier des informations qu'ils pourraient ignorer. Ne republiez pas les infos en direct que l'utilisateur a ignorées. Utilisez setDeleteIntent
pour détecter les mises à jour ignorées.
Consultez l'application exemple pour tester ces API.