À propos des notifications

Une notification est un message qu'Android affiche en dehors de l'UI de votre application pour fournir à l'utilisateur des rappels, des communications d'autres personnes ou d'autres informations opportunes provenant de votre application. Les utilisateurs peuvent appuyer sur la notification pour ouvrir votre application ou effectuer une action directement depuis la notification.

Cette page présente les emplacements où les notifications s'affichent et les fonctionnalités disponibles.

Guides d'implémentation

Les guides suivants vous expliquent comment implémenter différentes fonctionnalités de notification dans votre application :

Pour en savoir plus sur la conception des notifications et les modèles d'interaction, consultez le guide de conception des notifications.

Affichage des notifications sur un appareil

Les notifications s'affichent automatiquement pour les utilisateurs à différents emplacements et dans différents formats. Une notification s'affiche sous la forme d'une icône dans la barre d'état, d'une entrée plus détaillée dans le panneau des notifications et d'un badge sur l'icône de l'application.

Comportement multi-appareil

Par défaut, les notifications s'affichent également sur les accessoires connectés associés. Dans les scénarios où le contenu de la notification ne concerne que l'appareil source, utilisez setLocalOnly(). Par exemple, une notification confirmant qu'un téléchargement de contenu multimédia est terminé. Pour en savoir plus sur les notifications Wear OS, consultez les conseils sur les notifications Wear OS.

Barre d'état et panneau des notifications

Lorsque vous émettez une notification, elle s'affiche d'abord sous la forme d'une icône dans la barre d'état.

Figure 1. Les icônes de notification s'affichent à gauche de la barre d'état.

Les utilisateurs peuvent balayer la barre d'état vers le bas pour ouvrir le panneau des notifications, où ils peuvent afficher plus de détails et effectuer des actions avec la notification.

Figure 2. Notifications dans le panneau des notifications.

Les utilisateurs peuvent faire glisser une notification vers le bas dans le panneau pour afficher la vue développée, qui présente des contenus et des boutons d'action supplémentaires, le cas échéant. À partir d'Android 13, cette vue développée inclut un bouton permettant aux utilisateurs d'arrêter une application dont les services de premier plan sont en cours d'exécution.

Une notification reste visible dans le panneau des notifications jusqu'à ce qu'elle soit ignorée par l'application ou l'utilisateur.

Notification prioritaire

Sous Android 5.0 et versions ultérieures, les notifications peuvent apparaître brièvement dans une fenêtre flottante appelée notification prioritaire. Ce comportement est généralement réservé aux notifications importantes dont l'utilisateur doit être informé immédiatement. Il ne s'affiche que si l'appareil est déverrouillé.

Figure 3. Une notification prioritaire s'affiche devant l'application au premier plan.

La notification prioritaire apparaît lorsque votre application émet la notification. Elle disparaît au bout d'un moment, mais reste visible dans le panneau des notifications, comme d'habitude.

Voici des exemples de conditions susceptibles de déclencher des notifications prioritaires :

  • L'activité de l'utilisateur est en mode plein écran, par exemple lorsque l'application utilise fullScreenIntent.

  • La notification est de priorité élevée et utilise des sonneries ou des vibrations sur les appareils équipés d'Android 7.1 (niveau d'API 25) ou version antérieure.

  • Le canal de notification est très important sur les appareils équipés d'Android 8.0 (niveau d'API 26) ou version ultérieure.

Écran de verrouillage

Sous Android 5.0 et versions ultérieures, les notifications peuvent s'afficher sur l'écran de verrouillage.

Vous pouvez définir de manière programmatique si les notifications publiées par votre application s'affichent sur un écran de verrouillage sécurisé et, le cas échéant, le niveau de détail visible.

Les utilisateurs peuvent utiliser les paramètres système pour choisir le niveau de détail visible dans les notifications sur l'écran de verrouillage ou pour désactiver toutes les notifications sur l'écran de verrouillage. À partir d'Android 8.0, les utilisateurs peuvent désactiver ou activer les notifications sur l'écran de verrouillage pour chaque canal de notification.

Figure 4. Notifications sur l'écran de verrouillage avec contenu sensible masqué.

Pour en savoir plus, consultez Définir la visibilité de l'écran de verrouillage.

Badge sur l'icône de l'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 indiquent les nouvelles notifications par un badge coloré, appelé pastille de notification, sur l'icône du lanceur d'application correspondante.

Les utilisateurs peuvent appuyer de manière prolongée sur l'icône d'une application pour afficher les notifications correspondantes. Ils peuvent les ignorer ou y répondre à partir de ce menu, comme dans le panneau des notifications.

Figure 5. Les badges de notification et le menu d'appui prolongé.

Pour en savoir plus sur le fonctionnement des badges, consultez Modifier un badge de notification.

Appareils Wear OS

Si l'utilisateur dispose d'un appareil Wear OS associé, toutes vos notifications s'y affichent automatiquement, y compris les détails extensibles et les boutons d'action.

Vous pouvez améliorer l'expérience en personnalisant l'apparence de vos notifications sur les accessoires connectés et en proposant différentes actions, y compris des réponses suggérées et des réponses par saisie vocale. Pour en savoir plus, découvrez comment ajouter à votre notification des fonctionnalités propres à l'accessoire connecté.

Figure 6. Les notifications s'affichent automatiquement sur un appareil Wear OS associé.

Anatomie d'une notification

La conception d'une notification est déterminée par des modèles système, et votre application définit le contenu de chaque partie du modèle. Certains détails de la notification n'apparaissent que dans la vue développée.

Figure 7. Notification contenant des informations de base.

Les parties les plus courantes d'une notification sont indiquées dans la figure 7, comme suit :

  1. Petite icône : obligatoire ; définie à l'aide de setSmallIcon().
  2. Nom de l'application : fourni par le système.
  3. Code temporel : fourni par le système, mais vous pouvez le remplacer à l'aide de setWhen() ou le masquer à l'aide de setShowWhen(false).
  4. Grande icône : facultative, généralement utilisée uniquement pour les photos de contact. Ne l'utilisez pas pour l'icône de votre application. Définissez cette option à l'aide de setLargeIcon().
  5. Titre : facultatif ; défini à l'aide de setContentTitle().
  6. Texte : facultatif ; défini à l'aide de setContentText().

Nous vous recommandons vivement d'utiliser des modèles système pour assurer la compatibilité de la conception sur tous les appareils. Si nécessaire, vous pouvez créer une mise en page de notification personnalisée.

Pour en savoir plus sur la création d'une notification avec ces fonctionnalités et d'autres, consultez Créer une notification.

Actions de notification

Bien que cela ne soit pas obligatoire, il est recommandé que chaque notification ouvre une activité d'application appropriée lorsqu'un utilisateur appuie dessus. En plus de cette action de notification par défaut, vous pouvez ajouter des boutons d'action qui effectuent une tâche liée à l'application à partir de la notification, souvent sans ouvrir d'activité, comme illustré dans la figure 8.

Figure 8. Notification avec des boutons d'action.

À partir d'Android 7.0 (niveau d'API 24), vous pouvez ajouter une action pour répondre aux messages ou saisir un autre texte directement depuis la notification.

À partir d'Android 10 (niveau d'API 29), la plate-forme peut générer automatiquement des boutons d'action avec des suggestions d'actions basées sur l'intent.

L'ajout de boutons d'action est expliqué plus en détail dans Créer une notification.

Exiger un appareil déverrouillé

Les utilisateurs peuvent voir les actions de notification sur l'écran de verrouillage de l'appareil. Si une action de notification entraîne le lancement d'une activité ou l'envoi d'une réponse directe par une application, les utilisateurs doivent déverrouiller l'appareil avant que l'application puisse appeler cette action de notification.

Sur Android 12 (niveau d'API 31) ou version ultérieure, vous pouvez configurer une action de notification de sorte que l'appareil doive être déverrouillé pour que votre application l'appelle, quel que soit le workflow lancé par l'action. Cette option ajoute un niveau de sécurité supplémentaire aux notifications sur les appareils verrouillés.

Pour exiger qu'un appareil soit déverrouillé avant que votre application n'appelle une action de notification donnée, transmettez true à setAuthenticationRequired() lors de la création de l'action de notification, comme indiqué dans l'extrait de code suivant :

val intent = Intent(
    context, null
    /** Replace with a valid target activity */
)
val moreSecureNotification = NotificationCompat.Action.Builder(
    0, "Reply",
    PendingIntentCompat.getActivity(context, 0, intent, PendingIntent.FLAG_NO_CREATE, false)
)
    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build()

Notification à développer

Par défaut, le contenu textuel de la notification est tronqué pour tenir sur une seule ligne. Si vous souhaitez que votre notification soit plus longue, vous pouvez activer une zone de texte plus grande et extensible en appliquant un modèle supplémentaire, comme illustré dans la figure 9.

Figure 9. Notification extensible pour les textes longs.

Vous pouvez également créer une notification extensible avec une image, de style boîte de réception, avec une conversation par chat ou avec des commandes de lecture multimédia. Pour en savoir plus, consultez Créer une notification extensible.

Mises à jour et groupes de notifications

Pour éviter d'inonder vos utilisateurs de notifications multiples ou redondantes lorsque vous avez des mises à jour supplémentaires, mettez à jour une notification existante plutôt que d'en émettre une nouvelle, ou utilisez la notification de style boîte de réception pour afficher les mises à jour de la conversation.

Toutefois, si vous devez envoyer plusieurs notifications, envisagez de les regrouper. Cette fonctionnalité est disponible sur Android 7.0 et versions ultérieures.

Un groupe de notifications vous permet de réduire plusieurs notifications en un seul post dans le panneau des notifications, avec un résumé. L'utilisateur peut développer progressivement le groupe de notifications et chaque notification qu'il contient pour obtenir plus de détails, comme illustré dans la figure 10.

Figure 10. Groupe de notifications réduit et développé.

Pour savoir comment ajouter des notifications à un groupe, consultez Créer un groupe de notifications.

Canaux de notification

À partir d'Android 8.0 (niveau d'API 26), toutes les notifications doivent être attribuées à un canal, sinon elles ne s'affichent pas. Cela permet aux utilisateurs de désactiver des canaux de notification spécifiques pour votre application au lieu de désactiver toutes vos notifications. Les utilisateurs peuvent contrôler les options visuelles et auditives de chaque canal dans les paramètres système d'Android, comme illustré dans la figure 11. Les utilisateurs peuvent également appuyer de manière prolongée sur une notification pour modifier les comportements du canal associé.

Sur les appareils équipés d'Android 7.1 (niveau d'API 25) ou version antérieure, les utilisateurs ne peuvent gérer les notifications que pour chaque application. Chaque application ne dispose en réalité que d'un seul canal sur Android 7.1 ou version antérieure.

Figure 11. Paramètres de notification pour l'application Horloge et l'un de ses canaux.

Une application peut avoir des canaux distincts pour chaque type de notification qu'elle émet. Une application peut également créer des canaux de notification en réponse aux choix effectués par les utilisateurs. Par exemple, vous pouvez configurer des canaux de notification distincts pour chaque groupe de conversation créé par un utilisateur dans une application de chat.

Le canal vous permet également de spécifier le niveau d'importance de vos notifications sur Android 8.0 ou version ultérieure. Ainsi, toutes les notifications publiées sur le même canal de notification ont le même comportement. Ce processus est décrit dans la section suivante.

Pour en savoir plus, consultez la page Créer et gérer des canaux de notification.

Importance d'une notification

Android utilise l'importance d'une notification pour déterminer dans quelle mesure elle interrompt l'utilisateur visuellement et de manière audible. Plus l'importance d'une notification est élevée, plus elle est intrusive.

Sur Android 7.1 (niveau d'API 25) et versions antérieures, l'importance d'une notification est déterminée par son priority.

Sur Android 8.0 (niveau d'API 26) ou version ultérieure, l'importance d'une notification est déterminée par l'importance du canal sur lequel la notification est publiée. Les utilisateurs peuvent modifier l'importance d'un canal de notification dans les paramètres système, comme illustré dans la figure 12.

Figure 12. Les utilisateurs peuvent modifier l'importance de chaque canal sur Android 8.0 ou version ultérieure.

Les niveaux d'importance possibles et les comportements de notification associés sont les suivants :

  • Urgence : émet un signal sonore et s'affiche sous la forme d'une notification prioritaire

  • Élevée : émet un son.

  • Moyen : n'émet aucun son.

  • Faible : n'émet aucun son et n'apparaît pas dans la barre d'état.

Toutes les notifications, quelle que soit leur importance, s'affichent dans des emplacements non intrusifs de l'interface utilisateur du système, par exemple dans le panneau des notifications et sous forme de badge sur l'icône de lanceur. Toutefois, vous pouvez modifier l'apparence du badge de notification.

Pour en savoir plus, découvrez comment définir l'importance.

Mode Ne pas déranger

À partir d'Android 5.0 (niveau d'API 21), les utilisateurs peuvent activer le mode Ne pas déranger, qui désactive le son et le vibreur pour toutes les notifications. Les notifications continuent d'apparaître normalement dans l'UI du système, sauf si l'utilisateur en décide autrement.

Trois niveaux sont disponibles en mode Ne pas déranger :

  • Silence total : bloque tous les sons et vibrations, y compris ceux des alarmes, de la musique, des vidéos et des jeux.
  • Alarmes uniquement : bloque tous les sons et vibrations, sauf les alarmes.
  • Prioritaire uniquement : les utilisateurs peuvent configurer les catégories à l'échelle du système qui peuvent les interrompre, par exemple uniquement les alarmes, les rappels, les événements, les appels ou les messages. Pour les messages et les appels, les utilisateurs peuvent filtrer en fonction de l'expéditeur ou de l'appelant, comme illustré dans la figure 13.
Figure 13. Les utilisateurs peuvent autoriser les notifications en fonction des catégories à l'échelle du système (à gauche) et de l'expéditeur ou de l'appelant (à droite).

Sur Android 8.0 (niveau d'API 26) ou version ultérieure, les utilisateurs peuvent également autoriser les notifications pour des catégories spécifiques à l'application (également appelées "canaux") en remplaçant le mode Ne pas déranger canal par canal. Par exemple, une application de paiement peut avoir des canaux pour les notifications liées aux retraits et aux dépôts. L'utilisateur peut autoriser les notifications de retrait, les notifications de dépôt ou les deux en mode prioritaire.

Sur les appareils équipés d'Android 7.1 (niveau d'API 25) ou version antérieure, les utilisateurs peuvent autoriser les notifications application par application, plutôt que canal par canal.

Pour configurer vos notifications pour ces paramètres utilisateur, vous devez définir une catégorie à l'échelle du système.

Notifications pour les services de premier plan

Une notification est requise lorsque votre application exécute un service de premier plan, c'est-à-dire un Service qui s'exécute en arrière-plan, qui est de longue durée et qui est visible par l'utilisateur, comme un lecteur multimédia. Cette notification ne peut pas être ignorée comme les autres. Pour supprimer la notification, le service doit être arrêté ou supprimé de l'état de premier plan.

Pour en savoir plus, consultez Services de premier plan. Si vous créez un lecteur multimédia, consultez également Lire des contenus multimédias en arrière-plan.

Comportement des notifications

Android 16.0, niveau d'API 36

Les notifications sont désormais regroupées automatiquement au nom de l'application.

Les notifications suivantes sont regroupées automatiquement :

  • Notifications sans résumé
  • Notifications sans notifications enfants
  • Notifications avec une seule ou un faible nombre de notifications enfants

Android 15.0, niveau d'API 35

Limitation des notifications

Android 15 introduit une fonctionnalité de limitation des notifications qui vise à améliorer l'expérience des notifications qui arrivent rapidement les unes après les autres. Cette fonctionnalité réduit l'apparence, le volume sonore et l'intensité des vibrations des notifications répétitives pendant deux minutes maximum.

Les notifications critiques qui nécessitent des signaux audio et haptiques pour attirer l'attention ne sont pas soumises au délai de temporisation. L'utilisateur peut désactiver la limitation des notifications dans les paramètres.

Figure 14. Paramètres de limitation des notifications.