Présentation des notifications

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

Cette page présente l'emplacement des notifications caractéristiques. Pour commencer à créer des notifications, consultez la section Créer un notification.

Pour en savoir plus sur la conception des notifications et les schémas d'interaction, consultez les Conception des notifications guide de démarrage.

Affichage des notifications sur un appareil

Les notifications s'affichent automatiquement pour les utilisateurs dans différents emplacements et dans différents formats. Une notification apparaît sous la forme d'une icône dans la barre d'état. Il s'agit d'une entrée plus détaillée dans le panneau des notifications et un badge sur l'icône de l'application. Notifications sur les accessoires connectés associés.

Barre d'état et panneau des notifications

Lorsque vous envoyez une notification, elle apparaît 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 l'état. sur la barre d'adresse.

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

Figure 2 dans le panneau des notifications.

Les utilisateurs peuvent faire glisser une notification vers le bas pour afficher la vue développée. qui affiche du contenu supplémentaire et des boutons d'action, le cas échéant. Début dans Android 13, cette vue développée comprend un bouton qui permet aux utilisateurs arrêter une application dont le premier plan est actif ; Google Cloud.

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

Notification prioritaire

À partir d'Android 5.0, les notifications peuvent apparaître brièvement dans une fenêtre flottante appelée notification prioritaire. Ce comportement est normalement destiné des notifications dont l'utilisateur a besoin immédiatement, et elles ne s'affichent que si l'appareil est déverrouillé.

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

La notification prioritaire apparaît lorsque votre application émet la notification. Il disparaît au bout de quelques instants, mais reste visible dans le panneau d'habitude.

Les conditions suivantes peuvent 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 prioritaire et active une sonnerie ou le vibreur 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 appli s'affichent sur un l'écran de verrouillage sécurisé et, si c'est le cas, le niveau de détail visible.

Les utilisateurs peuvent utiliser les paramètres système pour choisir le niveau de détail visible lors du verrouillage notifications sur l'écran ou pour désactiver toutes les notifications sur l'écran de verrouillage. En commençant par Sous Android 8.0, les utilisateurs peuvent activer ou désactiver les notifications sur l'écran de verrouillage canal de notification.

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

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

Badge sur l'icône de l'application

Dans les lanceurs compatibles sur les appareils équipés d'Android 8.0 (niveau d'API 26) ou version ultérieure : Les icônes des applications signalent les nouvelles notifications par un badge coloré, appelé point de notification sur l'icône de lanceur d'applications correspondante.

Les utilisateurs peuvent toucher Appuyez de manière prolongée sur l'icône d'une application pour afficher les notifications la concernant. Utilisateurs peut ignorer les notifications de ce menu ou agir dessus, comme pour les notifications panneau.

Figure 5. Badges de notification et commandes tactiles appuyez sur le menu d'appui.

Pour en savoir plus sur le fonctionnement des badges, consultez la page Modifier une notification d'assistance.

Appareils Wear OS

Si l'utilisateur possède un appareil Wear OS associé, toutes vos notifications s'y affichent. automatiquement, y compris des boutons d'action et de détails à développer.

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

Figure 6. Les notifications s'affichent automatiquement sur une montre Wear OS associée appareil.

Anatomie d'une notification

La conception d'une notification est déterminée par des modèles système et votre appli définit le contenu de chaque partie du modèle. Quelques informations sur ne s'affichent 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éfini à l'aide de setSmallIcon()
  2. Nom de l'application: fourni par le système.
  3. Horodatage: fourni par le système, mais vous pouvez le remplacer en utilisant setWhen() ou le masquer à l'aide de setShowWhen(false)
  4. Grande icône: facultative ; généralement utilisé uniquement pour les photos des contacts. Ne l'utilisez pas pour l'icône de votre application. Définir à 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 une compatibilité de conception correcte sur tous les appareils. Au besoin, vous pouvez créer une notification personnalisée mise en page.

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

Actions de notification

Bien que cela ne soit pas obligatoire, il est recommandé d'ouvrir chaque notification une activité appropriée dans l'application lorsque l'utilisateur appuie dessus. En plus de l'option par défaut, action de notification, vous pouvez ajouter des boutons d'action pour terminer tâche à partir de la notification (souvent sans ouvrir d'activité), comme 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 à ou saisissez du 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'intention.

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

Exiger un appareil déverrouillé

Les actions liées aux notifications peuvent s'afficher sur l'écran de verrouillage de l'appareil. Si un action de notification amène une application à lancer une activité ou à envoyer une réponse directe, 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 que l'appareil doit être déverrouillé pour que votre application puisse appeler cette action, quel que soit le flux de travail lancé par l'action. Cette option ajoute une couche supplémentaire sécurité pour les notifications sur les appareils verrouillés.

Exiger le déverrouillage d'un appareil avant que votre application n'appelle une notification donnée l'action, transmettez true à setAuthenticationRequired() lorsque vous créez une action de notification, comme indiqué dans l'extrait de code suivant:

Kotlin

val moreSecureNotification = Notification.Action.Builder(...)

    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build()

Java

Notification moreSecureNotification = new Notification.Action.Builder(...)

    // 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 pouvez allonger la durée de la notification, vous pouvez agrandir la zone de texte que vous pouvez développer en appliquant un modèle supplémentaire, comme illustré dans la figure 9.

Figure 9. Une notification à développer pour les texte.

Vous pouvez aussi créer une notification à développer avec une image, de style boîte de réception, lors d'une conversation par chat ou avec les commandes de lecture multimédia. Pour plus d'informations, consultez Créer une notification à développer.

Mises à jour et groupes de notifications

Pour éviter de submerger vos utilisateurs de notifications multiples ou redondantes lorsque vous toute mise à jour supplémentaire, mettre à jour un de notification que d'en recevoir un nouveau ou d'utiliser le style de la boîte de réception de notification pour afficher des mises à jour de conversations.

Toutefois, s'il est nécessaire d'envoyer plusieurs notifications, envisagez de regrouper les notifications distinctes dans un groupe, disponible sur Android 7.0 et versions ultérieures.

Un groupe de notifications vous permet de regrouper plusieurs notifications en une seule publication 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. figure 10.

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

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

Canaux de notification

À partir d'Android 8.0 (niveau d'API 26), toutes les notifications doivent être attribuées à un ou n'apparaissent pas. Cela permet aux utilisateurs de désactiver des notifications spécifiques pour votre application au lieu de désactiver toutes vos notifications. Les utilisateurs peuvent contrôler les options visuelles et sonores de chaque canal depuis le système Android ; comme illustré dans la figure 11. Les utilisateurs peuvent également appuyer et maintenir une notification modifier les comportements de la chaîne associée ;

Sur les appareils équipés d'Android 7.1 (niveau d'API 25) ou version antérieure, les utilisateurs peuvent gérer des notifications pour chaque application uniquement. En effet, chaque application ne dispose que d'un seul canal. sur Android 7.1 et versions antérieures.

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

Une application peut disposer de 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 faits par 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.

C'est également sur cette chaîne que vous définissez le niveau d'importance notifications sur Android 8.0 et versions ultérieures. Toutes les notifications sont donc publiées sur le même canal de notification ont le même comportement. Ce processus est décrit dans les .

Pour en savoir plus, consultez l'article Créer et gérer des notifications canaux.

Importance d'une notification

Android se base sur l'importance d'une notification pour déterminer dans quelle mesure interrompt l'utilisateur visuellement et sonore. Plus l'importance est élevée d'une notification, plus la notification interrompt ce dernier.

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

Sur Android 8.0 (niveau d'API 26) ou version ultérieure, l'importance d'une notification est déterminé par importance du canal sur lequel la notification est publiée. Les utilisateurs peuvent changer l'importance de 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 et versions ultérieures.

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

  • Urgent: émet un signal sonore et apparaît sous forme de notification prioritaire.

  • Élevé: fait un son.

  • Moyenne: 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 le système sans interruption Emplacements de l'interface utilisateur, par exemple dans le panneau des notifications et sous la forme d'un badge dans le lanceur d'applications . Vous pouvez toutefois modifier l'apparence de la notification d'assistance.

Pour en savoir plus, découvrez comment définir le 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 coupe le son et le vibreur pour toutes les notifications. Notifications toujours apparaissent normalement dans l'interface utilisateur du système, sauf indication contraire de l'utilisateur.

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

  • Aucune interruption: 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.
  • Priorité uniquement: les utilisateurs peuvent configurer les catégories du système autorisées les interrompre, par exemple uniquement pour les alarmes, les rappels, les événements, les appels ou les messages. Pour les messages et les appels, les utilisateurs peuvent filtrer les messages en fonction de l'expéditeur ou de l'appelant, comme indiqué. comme illustré dans la figure 13.

Figure 13 Les utilisateurs peuvent autoriser l'envoi de notifications catégories 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 aussi autoriser pour les catégories spécifiques à l'application, également appelées canaux, en remplaçant le mode Ne pas déranger pour chaque chaîne. Pour exemple, une application de paiement peut avoir des canaux pour les notifications liées à des retraits et des dépôts. L'utilisateur peut autoriser les notifications de rétractation, des notifications, ou les deux en mode Priorité.

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

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

Notifications pour les services de premier plan

Une notification est requise lorsque votre application exécute un premier plan service : un Service exécuté dans le un arrière-plan durable et visible pour l'utilisateur, comme un média joueur. Cette notification ne peut pas être ignorée, comme les autres notifications. Pour supprimer la notification, le service doit être arrêté ou retiré du premier plan ; de l'état.

Pour en savoir plus, consultez la section Premier plan Google Cloud. Si vous créez un média consultez également la section Lecture de contenus multimédias en arrière-plan.

Limites des posts

À partir d'Android 8.1 (niveau d'API 27), les applications ne peuvent pas émettre de son de notification plus d'une fois par seconde. Si votre application publie plusieurs notifications en une seule Deuxièmement, elles s'affichent toutes comme prévu, mais seule la première notification par seconde émet un son.

Cependant, Android applique également une limite sur les mises à jour d'une notification. Si vous publier trop souvent des mises à jour dans une même notification (par exemple, en moins de au bout d'une seconde, le système peut abandonner les mises à jour.

Compatibilité des notifications

L'UI du système de notification Android et les API de notification évoluer. Pour utiliser les dernières fonctionnalités de l'API Notification tout en prenant en charge les anciennes utilisez l'API de notification de la bibliothèque Support, NotificationCompat, et ses sous-classes, ainsi que NotificationManagerCompat Cela vous évite d'écrire du code conditionnel pour vérifier les niveaux d'API, car ces les API le gèrent.

NotificationCompat est mis à jour à mesure que la plate-forme évolue pour inclure les dernières méthodes. Toutefois, la disponibilité d'une méthode dans NotificationCompat n'est pas garantir que la fonctionnalité correspondante est disponible sur les appareils plus anciens. Dans certains l'appel d'une nouvelle API entraîne une no-op sur les appareils plus anciens.

Vous trouverez ci-dessous un récapitulatif des principaux changements de comportement par niveau d'API pour Notifications Android

Android 5.0, niveau d'API 21

  • Ajout de l'écran de verrouillage et de notifications prioritaires.

  • Permet à l'utilisateur d'activer le mode Ne pas déranger sur le téléphone et de configurer les notifications sont autorisées à les interrompre lorsque l'appareil est sur le mode Priorité uniquement.

  • Ajoute des méthodes pour définir si une notification doit s'afficher sur l'écran de verrouillage, tels que setVisibility()), et pour spécifier une version "publique" du texte de la notification.

  • Ajout de la méthode setPriority(), qui indique au système à quel point la s'affiche. Par exemple, si vous définissez une priorité élevée, notification s'affiche sous forme de notification prioritaire.

  • Ajout de la prise en charge des piles de notifications sur Android Wear (désormais appelé Wear OS) appareils. Placer les notifications dans une pile à l'aide de setGroup() Les piles de notifications, appelées plus tard "groupes" ou "bundles", ne sont pas compatibles avec les tablettes ou les téléphones jusqu'à Android 7.0 (niveau d'API 24).

Android 7.0, niveau d'API 24

  • Remanie les modèles de notification pour mettre l'accent sur l'image héros et avatar.

  • Ajoute trois modèles de notification: un pour les applications de chat et les deux autres pour décorer les vues de contenu personnalisées avec l' affordance extensible et d'autres les décorations du système.

  • Prise en charge des appareils portables, tels que les téléphones et les tablettes, pour des groupes de notifications. Utilise la même API que celle d'Android Wear (désormais appelé Wear OS). OS) introduites dans Android 5.0 (niveau d'API 21).

  • Permet aux utilisateurs de répondre dans une notification à l'aide de la fonctionnalité de réponse intégrée. Ils peuvent entrer qui est ensuite acheminé vers l'application parente de la notification.

Android 8.0, niveau d'API 26

  • Permet de placer les notifications individuelles dans un chaîne.

  • Permet aux utilisateurs de désactiver les notifications par chaîne au lieu de toutes les désactiver des notifications d'une application.

  • Fait apparaître un badge de notification en haut des applications comportant des notifications actives son icône d'application sur l'écran d'accueil ou du lanceur d'applications.

  • Permet aux utilisateurs de répéter une notification depuis le panneau. Vous pouvez définir un délai avant expiration d'une notification.

  • vous permet de définir la couleur d'arrière-plan des notifications.

  • Déplace certaines API concernant les comportements de notification depuis Notification jusqu'à NotificationChannel Par exemple, utilisez NotificationChannel.setImportance() au lieu de NotificationCompat.Builder.setPriority() pour Android 8.0 et versions ultérieures.

Android 13.0, niveau d'API 33

Android 14.0, niveau d'API 34

  • Limite les notifications d'intent plein écran aux applis qui fournissent des appels et les alarmes. Utilisez l'API NotificationManager.canUseFullScreenIntent pour vérifiez si votre appli dispose des autorisations nécessaires. Sinon, votre application peut utiliser ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT pour ouvrir la page des paramètres où les utilisateurs peuvent accorder l'autorisation.

  • Modifie la façon dont les utilisateurs gèrent les notifications qu'ils ne peuvent pas ignorer en autorisant aux utilisateurs d'ignorer l'action de notification, même lorsque L'option Notification.FLAG_ONGOING_EVENT est définie. Cela ne s'applique pas Notifications CallStyle si l'indicateur Notification.FLAG_ONGOING_EVENT est ou outil de contrôle des règles relatives aux appareils (DPC) et les packages compatibles pour pour les entreprises. Cela ne s'applique pas lorsque le téléphone est verrouillé ou si le sélectionne Tout effacer.