Notifications sur Android Automotive OS

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 les 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, tel que 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
  • ProgressStyle

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'UI 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.
  • Il utilise le style Notification.MessagingStyle.
  • Elle ne comprend que les messages non lus.
  • Elle comporte une Action marquée comme lue et répond aux exigences suivantes :

  • Si la notification comporte une Action de réponse, l'Action répond aux exigences suivantes :

    • L'action sémantique est définie sur Action.SEMANTIC_ACTION_REPLY.
    • L'Action indique qu'elle n'affiche pas d'interface utilisateur lors de son déclenchement.
    • L'Action contient un seul RemoteInput.

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 :

  • Media playback notifications. 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. Notez que setMediaSession doit être appelé avec un jeton non nul pour que la notification soit reconnue comme une lecture multimédia.
  • 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, ne générez 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.

Applications privilégiées du système et applications 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.
Toutes les autres applications

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 et en s'assurant 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, 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 :

  • 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, elle 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 1 et 2 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

addAction()

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.

createBigContentView()

createContentView()

createHeadsUpContentView()

setContent()

setCustomBigContentView()

setCustomContentView()

setCustomHeadsUpContentView()

Opération no-op RemoteViews et les affichages de contenu personnalisés ne sont pas pris en charge.

setBadgeIconType()

setNumber()

Opération no-op Les badges de notification ne sont pas pris en charge.

setChronometerCountDown()

setUsesChronometer()

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.

setOngoing() 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 à setPublicVersion().

setVisibility()

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

Notification.BigPictureStyle

Notification.BigTextStyle

Notification.InboxStyle

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 :

Notification.CarExtender

Notification.WearableExtender

Non utilisé Les répéteurs ne sont pas pris en charge.

"Notification.Action.Builder"

Le tableau 3 décrit les modifications et les 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 peuvent pas saisir de messages.
setAllowGeneratedReplies Opération no-op La fonctionnalité Réponse suggérée n'est pas prise en charge.