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 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.
  • 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 seule 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 :

  • 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 :

  • 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

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.

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.

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 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.