Notifications

Les notifications fournissent des informations brèves, pertinentes et à jour sur votre application lorsqu'elle n'est pas utilisée.

L'OS Android contrôle de nombreux aspects des notifications, mais vous contrôlez d'autres aspects. Pour implémenter les notifications, procédez comme suit:

  1. Comprendre la structure d'une notification.
  2. Choisissez le type de notification pour votre cas d'utilisation.
  3. Définissez la catégorie de notification correspondant au type de notification que vous avez choisi.

Prises de possession

  • Réfléchissez au but de la notification: pourquoi alertez-vous vos utilisateurs ?
  • Déterminez le modèle d'autorisation de notification, tenez compte de l'importance des notifications pour votre application et de l'endroit où poser la question dans le parcours utilisateur.
  • Choisissez votre modèle de notification.
  • Créez le contenu des notifications :
    • Le texte de l'en-tête doit résumer de manière succincte la notification.
    • Le texte du contenu doit afficher un aperçu de la notification.
    • Contenu des images, le cas échéant, au contenu de votre application
    • Illustration de clavier et métadonnées multimédias pour le modèle multimédia.
  • Indiquez clairement aux utilisateurs ce qu'ils peuvent faire avec une notification en fournissant des actions basées sur leur contenu avec des boutons de texte, la saisie ou des commandes multimédias.
  • Incluez l'icône de votre application et définissez sa couleur d'arrière-plan.
  • Définissez des chaînes et des catégories pour vos notifications. Cela permet au système et à votre utilisateur de personnaliser les notifications qu'ils reçoivent, et offre un comportement prioritaire.
  • Si votre application est susceptible d'envoyer plusieurs notifications à la fois, regroupez celles-ci.
  • Consultez Android UI Kit on Figma pour obtenir des modèles de notification.

Anatomie d'une notification

Les notifications sont conçues pour faciliter l'analyse et l'utilisation de leurs éléments les plus importants. En voici la description :

  • Contenu principal: il s'agit de l'élément le plus visible d'une notification. Les informations secondaires, telles qu'un horodatage, sont plus petites et regroupées au-dessus du contenu principal.
  • Personnes: si la notification concerne une personne, un avatar se distingue du reste du contenu.
  • Actions: les utilisateurs peuvent développer les notifications en appuyant sur une icône d'indicateur. Les actions sont affichées avec des libellés de texte sur une couleur d'arrière-plan et un emplacement distincts.
Figure 1:Notification réduite

En-tête et contenu des notifications

Lorsqu'elle est réduite, une notification affiche l'icône de l'application, le texte de l'en-tête, le code temporel, l'indicateur de développement et le texte du contenu. Elle peut également afficher une grande icône.

Figure 2:Zone de l'en-tête de notification

1 Icône d'application:l'icône d'application est une représentation bidimensionnelle de l'identité de votre application. Il apparaît en monochrome dans la barre d'état. Si votre application envoie une grande variété de notifications, envisagez de remplacer son icône par un symbole pour distinguer les différents types de notifications. Pour en savoir plus, consultez Appliquer la couleur de l'icône.

2 Texte de l'en-tête:bref titre pour la notification ou la source, comme le nom du compte pour les utilisateurs. Le contenu est l'élément le plus visible d'une notification.

3 Timestamp (Horodatage) : indique le moment où une notification a été envoyée, par exemple l'heure d'un appel manqué.

4 Indicateur d'expansion:indique si la notification est réduite ou développée.

5 Texte du contenu:informations complémentaires.

6 Grande icône (facultatif) : une image peut être ajoutée pour renforcer la notification de manière significative, par exemple un message incluant un avatar de l'expéditeur.

Appliquer la couleur de l'icône

À partir d'Android 12 (niveau d'API 31), le système extrait la couleur de l'icône de la couleur de notification que vous avez définie dans l'application. Si l'application ne définit pas la couleur, elle utilise la couleur du thème du système. Auparavant, la couleur était grise.

Figure 3:Couleur d'icône d'application stylisée obtenue

Pour la plupart des styles, le système n'applique cette couleur que si la notification concerne une notification de service de premier plan. Toutefois, cette exigence ne s'applique pas aux notifications MediaStyle et DecoratedMediaCustomViewStyle associées à une session multimédia.

L'extrait de code suivant montre comment appliquer la couleur de l'icône.

val notification = Notification.Builder()
    .setColor(Color.GREEN)
    .setColorized(true)
    .setSmallIcon(R.drawable.app_icon)
    .setStyle(Notification.DecoratedCustomViewStyle())
    .build()

Actions de notification

Figure 4:Zone d'action concernant les notifications

1 Actions liées au bouton "Texte"

2 Boutons d'action pleins

3 réponses suggérées

4 Champ de texte "Répondre"

À partir d'Android 7.0 (niveau d'API 24), le système affiche des actions sans icône pour accueillir plus de texte. Pour s'adapter aux appareils Android Wear et aux appareils équipés d'Android 6.0 (niveau d'API 23) ou version antérieure, votre application doit toujours fournir une icône.

Vue détaillée

Vous pouvez utiliser une vue développée pour présenter davantage d'informations à l'utilisateur sans quitter la notification.

Lorsqu'elle est développée, une notification peut fournir jusqu'à trois des types d'actions suivants:

  • Réponses suggérées
  • Actions accentuées (boutons en forme de pilule)
  • Actions standards sur le texte
Incluez des actions textuelles qui reproduisent le comportement d'un appui sur le corps de la notification.
Donnez à l'utilisateur la possibilité d'interagir avec la notification. L'application Horloge Google affiche un minuteur en cours d'exécution, mais permet à l'utilisateur de faire une pause ou d'ajouter une minute directement depuis la notification.

Activer la saisie des notifications

Vous permettez à l'utilisateur de saisir du texte directement dans une notification en incluant une action "Répondre". Cette fonctionnalité est conçue pour saisir une petite quantité de texte, par exemple pour répondre à un message ou pour rédiger une courte note.

Pour une saisie plus longue, redirigez les utilisateurs vers votre application afin de leur fournir plus d'espace pour afficher et modifier le texte.

Pour les applications de chat, nous vous recommandons de laisser la notification affichée après que l'utilisateur a envoyé la réponse et d'attendre que la conversation soit suspendue avant de la fermer automatiquement.

Figure 5:Un utilisateur répond directement dans Android Messages sans quitter la notification après avoir appuyé sur "Répondre"

Choisissez le type de notification en fonction de votre cas d'utilisation

Google utilise les modèles de notification suivants dans ses applications Android. Ces modèles peuvent être personnalisés dans une certaine mesure pour votre application.

Consultez le kit UI Android sur Figma pour obtenir des modèles de notification.

Modèle standard

Le modèle standard convient à la plupart des notifications, car il permet d'afficher du texte succinct, une grande icône (le cas échéant) et des actions.

Figure 6:Modèle de notification standard

Modèle de texte de grande taille

Le modèle de grande taille de texte est idéal pour afficher des blocs de texte plus long. Il permet à l'utilisateur d'afficher plus de texte après avoir développé la notification.

Figure 7:Modèle de grande taille avec option de grande icône

Modèle avec image de grande taille

Le modèle de vue d'ensemble est conçu pour les notifications contenant une image. Une fois réduite, la notification affiche une grande vignette d'icône de la photo. Lorsqu'elle est développée, la notification affiche un aperçu beaucoup plus grand.

Figure 8:Modèle de vue d'ensemble

Modèle de progression

Le modèle de progression est conçu pour les activités déclenchées par l'utilisateur qui prennent du temps. Lorsqu'elle est développée, une notification qui utilise ce modèle affiche une barre de progression et inclut une action d'annulation qui permet à l'utilisateur de mettre fin à cette activité. (Les activités non résiliables ne nécessitent pas de notification.)

Figure 9:Modèle de progression

Modèle média

Le modèle multimédia est conçu pour permettre à l'utilisateur de contrôler le contenu multimédia en cours de lecture depuis une application.

  • Lorsqu'elle est réduite, la notification peut afficher jusqu'à trois actions. La grande icône peut représenter une image associée, comme une couverture d'album.
  • Lorsqu'elle est développée, la notification affiche jusqu'à cinq actions avec une image plus grande ou six actions sans image. L'arrière-plan et les autres éléments de la notification héritent automatiquement des couleurs de l'image.
Figure 10:Modèle pour les supports multimédias

Modèle de message

Le modèle MessagingStyle est conçu pour la communication en temps réel. Lorsqu'elle est développée, une notification utilisant ce modèle permet à l'utilisateur de répondre aux messages depuis la notification.

Figure 11:Modèle de message

Modèle d'appel

Utilisez le modèle CallStyle pour générer des notifications grand format qui incluent une pièce jointe d'image volumineuse et indiquent un appel entrant ou sortant.

Figure 12:Modèle d'appel

Autorisations de notifications

Aussi pertinentes et actuelles que possible, la plupart des notifications ne sont pas exemptées. En d'autres termes, l'utilisateur doit accepter de recevoir des notifications de votre application.

Il existe une exception à cette règle: à partir d'Android 13 (niveau d'API 33), les sessions multimédias et les applications qui gèrent les appels téléphoniques ne sont pas autorisées à demander le consentement de l'utilisateur. Les applications préexistantes peuvent également être éligibles si l'utilisateur a déjà activé les notifications. Pour en savoir plus, consultez la section Exceptions.

Nous vous recommandons vivement de fournir des options de notification dans les paramètres de votre application afin de permettre aux utilisateurs de mettre à jour leurs préférences de notification.

Inviter l'utilisateur à activer les notifications de non-exemption

Pour les notifications qui ne sont pas exemptées, invitez l'utilisateur à indiquer s'il souhaite activer la réception de notifications. Les utilisateurs qui choisissent explicitement de recevoir des notifications sont susceptibles de les trouver plus utiles et moins intrusives.

Figure 13:Demander le consentement d'un utilisateur pour une notification non exemptée

Attendez que l'invite de la boîte de dialogue de notification s'affiche:

  • Décrivez les avantages générés par les notifications et le résultat d'une non-octroi d'autorisations pour les notifications.
  • Fournissez une interface utilisateur contextuelle, en associant la notification à ses fonctionnalités ou à ce qu'elle affecte. Cette UI peut prendre n'importe quelle forme pour s'intégrer mieux à votre application: par exemple, une fiche dans des frais, une bottom sheet ou un écran d'accueil. Chacun de ces éléments doit pouvoir être ignoré.
  • Ne pas afficher la boîte de dialogue d'autorisation de notification si l'utilisateur a ignoré l'UI.

À partir d'Android 13, les utilisateurs peuvent être de nouveau invités à accorder des autorisations de notification.

Notifications obligatoires

Les services de premier plan effectuent des opérations que l'utilisateur peut remarquer, mais qui n'interagissent pas directement avec votre application. Ces services affichent une notification dans la barre d'état pour informer les utilisateurs que votre application effectue une tâche au premier plan et consomme des ressources système.

Figure 14:Exemple de notification de service de premier plan dans une application de fitness

Étant donné que ces processus consomment de la batterie et éventuellement des données, votre application doit en informer les utilisateurs en affichant une notification qu'ils ne peuvent pas ignorer. L'utilisateur ne peut pas ignorer la notification. Vous devez donc lui fournir une action pour qu'il arrête le service.

L'exemple suivant montre une notification provenant d'une application de fitness. L'utilisateur a démarré une session d'entraînement active, qui instancie un service de premier plan suivant la session d'entraînement. L'application affiche la notification pour indiquer qu'elle suit la marche, avec une option permettant d'afficher l'entraînement.

Dans quels cas ne pas utiliser de notification

N'utilisez pas les notifications pour les cas d'utilisation suivants:

  • Pour la promotion croisée ou la publicité pour un autre produit (cette pratique est strictement interdite par le Play Store)
  • Si l'utilisateur n'a jamais ouvert votre application
  • En tant que principal moyen de communication avec les utilisateurs
  • Encourager l'utilisateur à revenir dans une application, mais ne fournir aucune valeur directe (par exemple, "Je ne vous ai pas vu depuis un moment !")
  • Pour les demandes d'évaluation de votre appli
  • Pour les opérations qui ne nécessitent pas l'intervention de l'utilisateur, telles que la synchronisation des informations
  • Pour annoncer les états d'erreur dont l'application peut se rétablir sans interaction de l'utilisateur
  • Pour les messages de fête ou d'anniversaire
Envoyez des vœux ou des vœux d'anniversaire sous forme de notifications.
Interrompre l'utilisateur au milieu d'une tâche dans le seul but de lui demander si vous faites du bon travail

Comportement

Tenez compte des comportements de notification suivants et de la manière de les gérer dans certains contextes.

Arrivée de la notification

Lorsqu'une notification s'affiche, Android l'ajoute au panneau des notifications. En fonction des paramètres que vous définissez et de l'état actuel de l'appareil, la notification peut effectuer l'une des actions suivantes:

  • Émettre un son ou faire vibrer le téléphone
  • Affichage dans la barre d'état avec une icône. Il s'agit généralement de l'icône de votre application, mais si vous avez plusieurs types de notifications, utilisez un symbole qui reflète l'objectif de la notification.
  • S'affiche sous la forme d'une notification prioritaire, qui s'affiche sur l'écran actuel pour attirer l'attention de l'utilisateur.

Comme toujours, l'utilisateur peut choisir de modifier le comportement des notifications que vous définissez.

Figure 15:Arrivée d'une notification

1 Indicateur de notification dans la barre d'état, indiquant la présence d'une notification dans le panneau des notifications.

2 Notification d'aperçu sur l'écran actuel pour attirer l'attention de l'utilisateur au milieu d'une tâche

Panneau des notifications

Le panneau des notifications d'Android affiche généralement les notifications dans l'ordre chronologique inverse, avec des ajustements influencés par les conditions suivantes:

  • Priorité ou importance des notifications déclarées par l'application
  • Indique si la notification a récemment alerté l'utilisateur via un son ou une vibration
  • Toutes les personnes jointes à la notification et s'il s'agit de vos contacts favoris
  • Indique si la notification représente une activité en cours importante, comme un appel téléphonique en cours ou la lecture de musique
  • Altération de l'apparence de certaines notifications par l'OS Android en haut et en bas de la liste par accentuation ou accentuation, qui aide l'utilisateur à analyser le contenu

Gérer les notifications obsolètes

Le panneau des notifications est conçu pour présenter aux utilisateurs des informations pertinentes au moment opportun. Si une notification précédente est obsolète, c'est-à-dire qu'elle n'est plus pertinente, ignorez-la pour que l'utilisateur ne la voie pas.

Figure 16:Le texte qui vient d'arriver s'affiche en haut du panneau des notifications, et une notification de priorité inférieure concernant l'ajout d'une photo

Nouvelles notifications signalées par un badge d'icône d'application

Dans les lanceurs d'applications compatibles sur les appareils équipés d'Android 8.0 (niveau d'API 26) ou version ultérieure, les icônes d'application affichent une pointe de notification pour indiquer que l'application est associée à une nouvelle notification. Ces points s'affichent par défaut dans les applications de lancement compatibles, et votre application n'a rien à faire. Les badges peuvent également être désactivés et limités.

Figure 17:Point de notification sur une icône d'application, indiquant que l'application est associée à une nouvelle notification

Actions que les utilisateurs peuvent effectuer via les notifications

Les notifications permettent aux utilisateurs d'effectuer les actions suivantes:

  • Accéder à une destination: pour naviguer, l'utilisateur peut appuyer sur une notification. Si la notification s'affiche sur un écran verrouillé, l'utilisateur doit appuyer deux fois dessus, puis saisir son code, son schéma ou son mot de passe.

    Lorsque l'utilisateur appuie sur une notification, votre application doit afficher une UI directement liée à cette notification et permettre à l'utilisateur d'agir immédiatement. Par exemple, si la notification indique que c'est leur tour dans un jeu à deux, appuyer dessus devrait le rediriger directement vers le jeu en question.

  • Affichez une vue développée de la notification: un indicateur de développement apparaît dans l'en-tête. L'utilisateur peut appuyer sur l'indicateur ou balayer l'écran vers le bas pour développer la notification.

    Figure 18:Notification développée
  • Fermer la notification (si cela est autorisé): l'utilisateur peut l'ignorer en la balayant vers la gauche ou vers la droite.

Les notifications en cours qui indiquent un processus continu en arrière-plan, comme la lecture de musique, ne peuvent pas être ignorées en balayant l'écran.

  • Répéter une notification prioritaire: un utilisateur peut balayer l'écran vers le haut sur une notification prioritaire, et qu'aucune autre notification de cet événement ne peut pulser pendant une minute.

  • Contrôler les notifications similaires à l'avenir: les utilisateurs peuvent accéder aux commandes de notification en:

    • Appuyer de manière prolongée sur une notification individuelle
    • En balayant la notification vers la gauche ou la droite, puis en appuyant sur l'icône des paramètres

Les commandes affichées varient selon la version d'Android et selon que l'application dispose ou non de canaux pour ses notifications (à partir d'Android 8.0).

Regrouper plusieurs notifications

Pour les applications qui génèrent plusieurs notifications du même type, Android propose un regroupement des notifications afin d'éviter de submerger les utilisateurs.

Votre application peut présenter plusieurs notifications selon la hiérarchie ci-dessous.

  • Une notification parente affiche un résumé de ses notifications enfants.
  • Si l'utilisateur développe la notification parente, Android affiche toutes les notifications enfants.
  • L'utilisateur peut développer une notification enfant pour afficher l'intégralité de son contenu.

Android présente des notifications enfants sans informations d'en-tête en double. Par exemple, si une notification enfant a la même icône d'application que son parent, l'en-tête de l'enfant ne comprend pas d'icône.

Les notifications destinées aux enfants doivent être compréhensibles si elles apparaissent seules, car le système peut les montrer en dehors du groupe lorsqu'elles arrivent.

Figure 19:Notifications groupées réduites et vues développées.

Paramètres

Chaînes

À partir d'Android 8.0 (niveau d'API 26), toutes les notifications doivent être attribuées à un canal. Pour chaque canal, vous pouvez définir le comportement visuel et auditif appliqué à toutes les notifications du canal. Les utilisateurs peuvent modifier ces paramètres et choisir les canaux de notification de votre application qui peuvent être intrusifs ou visibles.

Pour en savoir plus sur l'implémentation, consultez Créer et gérer des canaux de notification.

L'importance doit être choisie en tenant compte du temps et de l'attention de l'utilisateur. Lorsqu'une notification sans importance est masquée comme urgente, elle peut générer une alarme inutile.

Importance Comportement Utilisation Exemples
HIGH Émet un son et s'affiche à l'écran Les informations urgentes que l’utilisateur doit connaître ou exploiter immédiatement Messages texte, alarmes, appels téléphoniques
DEFAULT Émet un son Informations que l'utilisateur doit voir le plus tôt possible, sans interrompre son activité Alertes sur le trafic, rappels de tâches
LOW Aucun son Canaux de notification qui ne répondent pas aux exigences des autres niveaux d'importance Nouveau contenu auquel l'utilisateur s'est abonné, invitations à des réseaux sociaux
MIN Aucune interruption sonore ni visuelle Informations non essentielles qui peuvent attendre ou qui ne sont pas spécifiquement pertinentes pour l'utilisateur Lieux d'intérêt à proximité, météo, contenus promotionnels

Catégories prédéfinies

Que vous utilisiez des canaux ou non, attribuez chaque notification à la catégorie prédéfinie la plus appropriée. Android peut utiliser ces informations pour prendre des décisions de classement et de filtrage.

Catégorie Description
CATEGORY_CALL Appel entrant (vocal ou vidéo) ou requête de communication synchrone similaire
CATEGORY_MESSAGE Message privé entrant (SMS, message instantané, etc.)
CATEGORY_EMAIL Message groupé asynchrone (e-mail)
CATEGORY_EVENT Événement d'agenda
CATEGORY_PROMO Promotion ou publicité
CATEGORY_ALARM Alarme ou minuteur
CATEGORY_PROGRESS Progression d'une opération de longue durée en arrière-plan
CATEGORY_SOCIAL Réseau social ou mise à jour du partage
CATEGORY_ERROR Erreur lors des opérations en arrière-plan ou de l'état d'authentification
CATEGORY_TRANSPORT Commande de transport multimédia pour la lecture
CATEGORY_SYSTEM Mise à jour de l'état du système ou de l'appareil. Réservé au système.
CATEGORY_SERVICE Indication de l'exécution du service d'arrière-plan
CATEGORY_RECOMMENDATION Recommandation spécifique et opportune pour un seul élément. Par exemple, une application d'actualités peut recommander un reportage que l'utilisateur pourrait vouloir lire ensuite.
CATEGORY_STATUS Informations continues sur l'appareil ou l'état contextuel

Notifications sur l'écran de verrouillage

Si un utilisateur a choisi d'afficher des notifications lorsque son écran est verrouillé, ces notifications peuvent masquer tout contenu que votre application marque comme sensible. Android évalue le niveau de visibilité de chaque notification pour déterminer ce qui peut être affiché de manière sécurisée.

Définir le niveau de sensibilité du contenu sur les écrans de verrouillage

La confidentialité des utilisateurs est d'une importance capitale. Sachez que différents niveaux de notification peuvent être visibles sur l'écran de verrouillage. Pour chaque notification que vous créez, vous devez définir le niveau de visibilité sur public, privé ou secret.

  • Les notifications publiques sont entièrement visibles sur les écrans de verrouillage sécurisés.
  • Les notifications secrètes sont masquées.
  • Les notifications privées se situent au milieu: elles n'affichent que des informations de base, y compris le nom de l'application qui les a publiées et son icône. Au lieu du contenu standard (qui est masqué), vous pouvez éventuellement afficher du texte qui ne révèle pas d'informations personnelles, comme 2 new messages.

Dans l'exemple suivant, les notifications sur l'écran de verrouillage pour les applications Gmail et Photos affichent tout le contenu une fois que l'utilisateur a choisi d'afficher ces informations sur l'écran de verrouillage.

Figure 20:Écran de verrouillage avec différents niveaux de sensibilité

1 Tout le contenu des notifications est affiché sur l'écran de verrouillage

2 Contenu sensible des notifications masqué sur l'écran de verrouillage

Style

Texte clair et concis

Android tronque les titres de contenu sur une seule ligne (même s'ils sont développés).

Un bon titre de contenu doit respecter les consignes suivantes:

  • Ne doit pas dépasser 30 caractères
  • Contient les informations les plus importantes
  • Évite les variables (sauf si elles contiennent un nombre ou une chaîne de texte courte, ou si elles sont précédées de texte)
  • Exclut le nom de l'application, qui apparaît déjà dans l'en-tête
Affichez le nom de l'application dans le titre du contenu. Celui-ci est redondant avec la zone d'en-tête et utilise les caractères disponibles.
Affichez les informations les plus importantes dans le titre du contenu.

Un bon contenu textuel doit respecter les directives suivantes:

  • Évite de dépasser la limite de 40 caractères
  • Évite de répéter le titre du contenu

La grande icône

Utilisez la grande icône dans les cas d'utilisation dans lesquels les images renforcent de manière significative le contenu de la notification. Par exemple :

  • Communications d'une autre personne, telles que l'image d'une personne envoyant un message
  • Source du contenu si elle est différente de l'application qui envoie la notification, comme le logo d'une chaîne YouTube à laquelle l'utilisateur est abonné
  • Symboles importants concernant la notification (flèche pour les itinéraires en voiture, par exemple)

Les grandes icônes doivent être arrondies lorsqu'une personne est représentée, mais carrée dans tous les autres cas.

Utilisez la grande icône pour le branding.
Utilisez la grande icône pour renforcer de façon pertinente le contenu d'une notification, par exemple une photo d'une personne jointe à une notification de message.

Mises à jour de la version d'Android

L'UI du système de notification Android et les API liées aux notifications évoluent constamment. Pour obtenir la liste de ces modifications, consultez la compatibilité des notifications.

Remarques concernant la plate-forme

Wear

Si l'utilisateur possède un appareil Wear OS associé, toutes vos notifications s'y affichent automatiquement, y compris les détails à développer et les boutons d'action. Pour en savoir plus, consultez la page de conception des notifications sur Wear.