Les notifications fournissent aux conducteurs des informations courtes et opportunes sur les événements de votre application lorsqu'elle n'est pas utilisée. Les notifications peuvent apparaître dans le Centre de notifications et certaines notifications peuvent également apparaître sous forme de notifications prioritaires à l'écran. Utilisez la même API NotificationBuilder
que sur les autres appareils afin de créer des notifications pour Android Automotive OS. Toutefois, pour garantir la sécurité des conducteurs et minimiser les distractions, certaines méthodes et classes d'API sont limitées ou se comportent différemment.
Différences entre les notifications des voitures
Pour créer un environnement de conduite sûr et sans distractions, les notifications sur Android Automotive OS diffèrent des notifications sur d'autres appareils de la manière suivante :
- Interactions avec les utilisateurs simplifiées
- Restrictions de l'expérience utilisateur en fonction de l'état de conduite
Interactions avec les utilisateurs simplifiées
Pour que les conducteurs puissent se concentrer sur la route, les notifications dans la voiture comportent un modèle d'interaction avec les utilisateurs simplifié qui offre les fonctionnalités suivantes :
Aucune commande complexe
Les notifications n'autorisent pas de commandes complexes, comme appuyer pour développer une notification, appuyer de manière prolongée sur une notification pour afficher des options supplémentaires ou utiliser des commandes basées sur des gestes de balayage.
Sons des notifications
Les notifications n'émettent un son que si elles génèrent une notification prioritaire.
Boutons de lecture et de désactivation du son automatiques pour les notifications de messagerie
Android Automotive OS ajoute automatiquement des boutons Lecture et Couper le son à toutes les notifications de messagerie compatibles avec la voiture.
- Lecture : lit la notification au conducteur à l'aide de l'assistant numérique par défaut de l'utilisateur (par exemple, l'Assistant Google) ou du système de synthèse vocale par défaut du véhicule.
Couper le son : empêche l'affichage de notifications prioritaires pour les futurs messages de la conversation pendant le reste du trajet. Les notifications de messages provenant d'une conversation dont le son est désactivé continuent d'apparaître dans le Centre de notifications. Le conducteur peut également réactiver le son de la conversation depuis le Centre de notifications.
Options d'affichage des notifications simplifiées
RemoteViews
et les affichages de contenu personnalisés ne sont pas pris en charge. De plus, les styles de notification suivants ne sont pas pris en charge :
BigPictureStyle
BigTextStyle
InboxStyle
Si votre application envoie une notification à Android Automotive OS à l'aide de l'un de ces styles de notification, seul le texte récapitulatif est affiché.
Gestion du canal de notification simplifiée
Android Automotive OS n'est pas compatible avec les canaux de notification et les affordances d'interface utilisateur associées afin de réduire la prévalence des tâches de gestion enrichies sur les appareils automobiles.
Restrictions de l'expérience utilisateur en fonction de l'état de conduite
Android Automotive OS comprend un moteur de restrictions de l'expérience utilisateur. Les constructeurs automobiles peuvent utiliser ce moteur pour limiter les notifications en fonction de l'état de conduite de la voiture de différentes manières :
- Tronquer les chaînes de notification comportant une longueur de caractère spécifique
- Masquer les résumés des messages pour les notifications
CATEGORY_MESSAGE
- Limiter le nombre de notifications affichées par le Centre de notifications
Types de ressources pris en charge
Par défaut, Android Automotive OS ne prend en charge qu'un sous-ensemble limité de types de ressources pouvant être utilisés pour les notifications sur d'autres appareils. Ce sous-ensemble comprend les types de ressources suivants :
- Drawables
- Icônes
- Images
Exigences de compatibilité pour les notifications de messagerie
Pour fournir une expérience utilisateur cohérente et minimiser les distractions, les notifications de messagerie sont soumises à des exigences particulières sur Android Automotive OS.
Une notification de messagerie est compatible avec la voiture si elle répond aux exigences suivantes :
- Elle appartient à la catégorie
CATEGORY_MESSAGE
. - Elle utilise le style
Notification.MessagingStyle
. - Elle ne doit comprendre que des messages non lus.
Elle comporte une
Action
marquée comme lue et répond aux exigences suivantes :- L'action sémantique doit être définie sur
Action.SEMANTIC_ACTION_MARK_AS_READ
. - L'
Action
doit indiquer qu'elle n'affiche pas d'interface utilisateur lors de son déclenchement.
- L'action sémantique doit être définie sur
Si la notification comporte une
Action
de réponse, l'Action
répond aux exigences suivantes :- L'action sémantique doit être définie sur
Action.SEMANTIC_ACTION_REPLY
. - L'
Action
doit indiquer qu'elle n'affiche pas d'interface utilisateur lors de son déclenchement. - L'
Action
doit contenir une seuleRemoteInput
.
- L'action sémantique doit être définie sur
Centre de notifications
Presque toutes les notifications apparaissent dans le Centre de notifications, même si elles ont également été générées en tant que notifications prioritaires. Les notifications sont conservées dans le Centre de notifications pendant toute la durée d'un trajet.
Les conducteurs peuvent interagir avec les notifications dans le Centre de notifications. En fonction du constructeur automobile, les conducteurs peuvent accéder au Centre de notifications de l'une ou des deux manières suivantes :
- En balayant l'écran de haut en bas (comme pour le panneau des notifications sur d'autres appareils).
- En appuyant sur un bouton dans l'interface système.
Notifications groupées
Les notifications associées sont automatiquement regroupées dans le Centre de notifications, comme dans le panneau des notifications sur d'autres appareils. Toutefois, lorsqu'un conducteur appuie sur le résumé d'un groupe dans le Centre de notifications, au lieu de lancer un PendingIntent
, le groupe se développe pour afficher l'ensemble des notifications.
Notifications n'apparaissant pas dans le Centre de notifications
Les notifications suivantes n'apparaissent pas dans le Centre de notifications :
- Les notifications de lecture de contenus multimédias pour
CATEGORY_TRANSPORT
. Les informations sur la lecture de contenus multimédias en cours sont collectées par Android Automotive OS et affichées dans un emplacement dédié de l'interface utilisateur. - Les notifications de navigation détaillée pour
CATEGORY_NAVIGATION
. - Les notifications de service de premier plan pour les applications privilégiées du système et les applications signées avec la clé de plate-forme dont le niveau d'importance est inférieur à
IMPORTANCE_DEFAULT
.
Notifications prioritaires
Les notifications prioritaires s'affichent sous forme de carte de notification en haut de l'écran. Étant donné qu'une notification prioritaire attire l'attention du conducteur, les applications ne doivent générer une notification prioritaire que lorsque les informations sont critiques pour la conduite, urgentes et exploitables. Seules certaines catégories de notifications peuvent générer une notification prioritaire.
Les constructeurs automobiles peuvent décider d'autoriser ou non l'affichage de notifications prioritaires lorsque le Centre de notifications est ouvert.
Méthode de génération de notifications prioritaires des applications
Les applications présentent des exigences différentes pour la génération d'une notification prioritaire, selon qu'elles disposent ou non des droits du système.
- Pour les applications privilégiées du système et signées avec la clé de plate-forme
- L'application peut générer une notification prioritaire en définissant l'importance du canal de notification sur
IMPORTANCE_HIGH
ou une valeur supérieure. - Pour toutes les autres applications
Pour générer une notification prioritaire, l'application définit l'importance du canal de notification sur
IMPORTANCE_HIGH
ou une valeur supérieure et s'assure que la notification appartient à l'une des catégories suivantes :
Cycle de vie d'une notification prioritaire
Lorsqu'une application génère une notification prioritaire, la notification apparaît immédiatement sur l'écran de la voiture. En l'absence d'action de la part du conducteur, la notification prioritaire est automatiquement ignorée au bout de huit secondes (configurable par les constructeurs automobiles), sauf dans les cas suivants :
Les notifications prioritaires pour certains appels entrants ne peuvent pas être ignorées et restent affichées jusqu'à ce que le conducteur accepte l'appel ou que celui-ci soit interrompu. Pour être qualifiée de notification prioritaire impossible à ignorer pour un appel entrant, une notification doit répondre aux exigences suivantes :
- Elle doit appartenir à
CATEGORY_CALL
. - Elle doit définir un intent en plein écran.
- Elle doit être marquée comme étant en cours avec la méthode
setOngoing()
.
- Elle doit appartenir à
Les notifications prioritaires persistent si une application met à jour la notification dans le délai de huit secondes.
Lorsqu'une notification prioritaire est ignorée, la notification est enregistrée dans le Centre de notifications, sauf s'il s'agit d'une notification CATEGORY_NAVIGATION
.
Modifications et restrictions de l'API Notification pour les voitures
Cette section récapitule les différences pour chaque classe dans laquelle l'API Notifications se comporte différemment ou présente des restrictions pour Android Automotive OS.
"Notification.Builder"
Les tableaux suivants décrivent les modifications et les restrictions de l'API dans la classe Notification.Builder
.
Tableau 1. Modifications des méthodes publiques pour Notification.Builder
Méthodes publiques | Effet | Description |
---|---|---|
|
Opération no-op conditionnelle | Les notifications Notification.MessagingStyle doivent ajouter les actions spécifiées dans les exigences de compatibilité. Les autres actions ajoutées ne seront pas affichées sous forme de boutons de notification. |
|
Opération no-op | RemoteViews et les affichages de contenu personnalisés ne sont pas pris en charge. |
|
Opération no-op | Les badges de notification ne sont pas pris en charge. |
| Opération no-op | Les retardateurs ne sont pas pris en charge. |
setColorized() |
Modification des contraintes |
Applications signées par une plate-forme : configurables et autorisées par défaut. Applications privilégiées du système : configurées par la plate-forme et non autorisées par défaut. Toutes les autres applications : configurées par plate-forme et non autorisées par défaut. |
setFullScreenIntent() |
Modification du comportement | Ne lance pas automatiquement l'intent. |
setLargeIcon() |
Modification du comportement | Les grandes icônes sont affichées à droite de la notification. |
setLights() |
Opération no-op | Les appareils Android Automotive OS ne sont pas équipés de voyants LED. |
setOngoing() |
Modification du comportement |
Le comportement est différent lorsque la notification génère également une notification prioritaire. Rend la notification prioritaire impossible à ignorer uniquement si elle concerne un appel entrant. Pour être qualifiée de notification prioritaire impossible à ignorer pour un appel entrant, une notification doit répondre aux exigences suivantes :
Les conducteurs peuvent ignorer tous les autres types de notifications prioritaires. |
|
Opération no-op | Le mode privé n'est pas pris en charge. |
setSettingsText() |
Opération no-op | Les notifications ne prennent pas en charge les affordances associées aux paramètres de l'application. À la place, les conducteurs accèdent aux paramètres de l'application via l'application. |
setTicker() |
Opération no-op | Le texte du bandeau n'est pas pris en charge. |
Tableau 2. Modifications des classes imbriquées pour Notification.Builder
Classes imbriquées | Effet | Description |
---|---|---|
|
Non utilisé | Seul le texte récapitulatif s'affiche. Les notifications détaillées de ces styles ne sont pas prises en charge. |
Notification.BubbleMetadata |
Non utilisé | Les bulles ne sont pas prises en charge. |
Notification.MediaStyle |
Masqué | Les notifications avec ce style sont masquées. Android Automotive OS gère les interactions de l'interface utilisateur pour les notifications et la lecture des contenus multimédias. |
Notification.MessagingStyle |
Modification du comportement |
Les notifications avec ce style présentent les différences suivantes :
|
|
Non utilisé | Les répéteurs ne sont pas pris en charge. |
"Notification.Action.Builder"
Le tableau suivant décrit les modifications et restrictions de l'API dans la classe Notification.Action.Builder
.
Tableau 3. Modifications des méthodes publiques pour Notification.Action.Builder
Méthodes publiques | Effet | Description |
---|---|---|
Constructeurs publics | Modification du comportement | Les icônes spécifiées dans les constructeurs publics sont ignorées. |
addRemoteInput |
Modification du comportement | Pour limiter les distractions des conducteurs, un assistant numérique (tel que l'Assistant Google) insère la réponse à un message pour l'utilisateur. Les utilisateurs ne sont pas autorisés à saisir des messages. |
setAllowGeneratedReplies |
Opération no-op | La fonctionnalité Réponse suggérée n'est pas prise en charge. |