Notifiche sul sistema operativo Android Automotive

Le notifiche forniscono ai conducenti informazioni brevi e tempestive sugli eventi della tua app quando non è in uso. Le notifiche possono essere visualizzate nel Centro notifiche e alcune possono essere visualizzate anche come notifiche in evidenza sul display. Per creare notifiche per Android Automotive OS, utilizzi la stessa NotificationBuilder API che utilizzi per altri dispositivi. Tuttavia, per garantire la sicurezza dei conducenti e ridurre al minimo le distrazioni, alcuni metodi e classi API sono limitati o si comportano in modo diverso.

Differenze tra le notifiche in auto

Per creare un ambiente di guida sicuro e privo di distrazioni, le notifiche su Android Automotive OS differiscono dalle notifiche su altri dispositivi nei seguenti modi:

  • Interazione utente semplificata
  • Limitazioni della UX in base allo stato di guida

Interazione utente semplificata

Per garantire che i conducenti possano concentrarsi sulla strada, le notifiche in auto hanno un modello di interazione utente semplificato con le seguenti funzionalità:

Nessun controllo complesso
Le notifiche non consentono controlli complessi, come toccare per espandere una notifica, tenere premuta una notifica per visualizzare opzioni aggiuntive o utilizzare controlli basati su gesti di scorrimento.
Suoni di notifica
Le notifiche riproducono un suono solo se attivano una notifica in evidenza.
Pulsanti di riproduzione e disattivazione automatica per le notifiche di messaggistica

Android Automotive OS aggiunge automaticamente i pulsanti Riproduci e Disattiva a tutte le notifiche di messaggistica compatibili con l'auto.

  • Riproduci:legge la notifica al conducente utilizzando l'assistente digitale predefinito dell'utente, ad esempio Gemini o l'Assistente Google, o il sistema di sintesi vocale predefinito del veicolo.
  • Disattiva:impedisce la visualizzazione di notifiche in evidenza per eventuali messaggi futuri nella conversazione per il resto della guida. Le notifiche dei messaggi di una conversazione disattivata vengono comunque visualizzate nel Centro notifiche e il conducente può anche riattivare l'audio della conversazione dal Centro notifiche.

Opzioni di visualizzazione delle notifiche semplificate

RemoteViews e le visualizzazioni di contenuti personalizzati non sono supportate. Inoltre, i seguenti stili di notifica non sono supportati:

Se la tua app invia una notifica ad Android Automotive OS utilizzando uno di questi stili di notifica, viene visualizzato solo il testo di riepilogo.

Gestione semplificata dei canali di notifica

Android Automotive OS non supporta i canali di notifica e le relative funzionalità dell'interfaccia utente, per ridurre la prevalenza di attività di gestione avanzate nei dispositivi Automotive.

Limitazioni della UX in base allo stato di guida

Android Automotive OS include un motore di limitazione della UX. I produttori di auto possono utilizzare questo motore per limitare le notifiche in base allo stato di guida dell'auto nei seguenti modi:

  • Troncando le stringhe di notifica a una lunghezza di caratteri specifica
  • Nascondendo i riepiloghi dei messaggi per le CATEGORY_MESSAGE notifiche
  • Limitando il numero di notifiche che il Centro notifiche può visualizzare

Tipi di risorse supportati

Per impostazione predefinita, Android Automotive OS supporta un sottoinsieme limitato dei tipi di risorse che possono essere utilizzati per le notifiche su altri dispositivi. Questo sottoinsieme include i seguenti tipi di risorse:

  • Drawables
  • Icone
  • Google Immagini

Requisiti di compatibilità per le notifiche di messaggistica

Per offrire un'esperienza utente coerente e con distrazioni minime, le notifiche di messaggistica hanno requisiti speciali su Android Automotive OS.

Una notifica di messaggistica è compatibile con l'auto se soddisfa i seguenti requisiti:

  • Appartiene alla CATEGORY_MESSAGE categoria.
  • Utilizza lo stile Notification.MessagingStyle.
  • Include solo i messaggi non letti.
  • Ha un'azione Action di contrassegno come letto che soddisfa i seguenti requisiti:

  • Se la notifica ha un'azione Action di risposta, l'azione Action soddisfa i seguenti requisiti:

    • L'azione semantica è impostata su Action.SEMANTIC_ACTION_REPLY.
    • L'azione Action indica che non mostra alcuna interfaccia utente quando viene attivata.
    • Il Action contiene un singolo RemoteInput.

Centro notifiche

Quasi tutte le notifiche vengono visualizzate nel Centro notifiche, anche se sono state attivate anche come notifiche in evidenza. Le notifiche rimangono nel Centro notifiche per tutta la durata della guida.

I conducenti possono interagire con le notifiche nel Centro notifiche. A seconda del produttore dell'auto, i conducenti accedono al Centro notifiche in uno o entrambi i seguenti modi:

  • Scorrendo verso il basso dalla parte superiore dello schermo, in modo simile al riquadro delle notifiche su altri dispositivi.
  • Toccando un pulsante nell'interfaccia di sistema.

Notifiche raggruppate

Le notifiche correlate vengono raggruppate automaticamente nel centro notifiche, come nel riquadro a scomparsa delle notifiche su altri dispositivi. Tuttavia, quando un conducente tocca il riepilogo di un gruppo nel Centro notifiche, anziché avviare un PendingIntent, il gruppo si espande per mostrare tutte le notifiche.

Notifiche che non vengono visualizzate nel Centro notifiche

Le seguenti notifiche non vengono visualizzate nel Centro notifiche:

  • Media playback notifiche. Android Automotive OS raccoglie informazioni sulla riproduzione dei contenuti multimediali in corso e le visualizza in un punto dedicato dell'interfaccia utente. Tieni presente che devi chiamare setMediaSession con un token non nullo affinché il sistema riconosca la notifica come riproduzione dei contenuti multimediali.
  • Notifiche di navigazione passo passo per CATEGORY_NAVIGATION.
  • Notifiche del servizio in primo piano per le app con privilegi di sistema e le app che sono firmate con la platform key che hanno un livello di importanza inferiore a IMPORTANCE_DEFAULT.

Notifiche in evidenza

Le notifiche in evidenza vengono visualizzate come una scheda di notifica nella parte superiore dello schermo. Poiché una notifica in evidenza attira l'attenzione del conducente, attivala solo quando le informazioni sono fondamentali per la guida, urgenti e richiedono un'azione. Solo alcune categorie di notifiche possono attivare una notifica in evidenza.

I produttori di auto possono decidere se consentire la visualizzazione delle notifiche in evidenza mentre il Centro notifiche è aperto.

Come le app attivano le notifiche in evidenza

Le app hanno requisiti diversi per l'attivazione di una notifica in evidenza a seconda che abbiano o meno privilegi di sistema.

App con privilegi di sistema e app firmate con la platform key
L'app può attivare una notifica in evidenza impostando l'importanza del canale di notifica su IMPORTANCE_HIGH o su un valore superiore.
Tutte le altre app

L'app può attivare una notifica in evidenza impostando l'importanza del canale di notifica su IMPORTANCE_HIGH o su un valore superiore e verificando che la notifica appartenga a una delle seguenti categorie:

Durata di una notifica in evidenza

Dopo che un'app attiva una notifica in evidenza, la notifica viene visualizzata immediatamente sullo schermo dell'auto. Se il conducente non esegue alcuna azione, la notifica in evidenza viene ignorata automaticamente dopo 8 secondi, tranne nei seguenti casi:

  • Le notifiche in evidenza per alcune chiamate in arrivo non possono essere ignorate e rimangono finché il conducente non accetta la chiamata o la chiamata non viene terminata. Per essere considerata una notifica in evidenza non ignorabile per una chiamata in arrivo, una notifica deve soddisfare i seguenti requisiti:

  • Le notifiche in evidenza rimangono se un'app aggiorna la notifica entro la finestra di tempo di otto secondi.

Quando una notifica in evidenza viene ignorata, viene visualizzata nel Centro notifiche, a meno che non si tratti di una CATEGORY_NAVIGATION notifica.

Modifiche e limitazioni dell'API Notification per le auto

Questa sezione riassume le differenze per ogni classe in cui l'API Notifications si comporta in modo diverso o presenta limitazioni per Android Automotive OS.

Notification.Builder

Le tabelle 1 e 2 descrivono le modifiche e le limitazioni dell'API nella Notification.Builder classe.

Tabella 1. Modifiche ai metodi pubblici per Notification.Builder

Metodi pubblici Effetto Descrizione

addAction()

Operazione no-op condizionale Notification.MessagingStyle notifiche devono aggiungere le azioni specificate nei requisiti di compatibilità. Le azioni aggiuntive non verranno visualizzate come pulsanti di notifica.

createBigContentView()

createContentView()

createHeadsUpContentView()

setContent()

setCustomBigContentView()

setCustomContentView()

setCustomHeadsUpContentView()

Operazione no-op RemoteViews e le visualizzazioni di contenuti personalizzati non sono supportate.

setBadgeIconType()

setNumber()

Operazione no-op I badge delle notifiche non sono supportati.

setChronometerCountDown()

setUsesChronometer()

Operazione no-op I timer per il conto alla rovescia non sono supportati.
setColorized() Vincoli modificati

App firmate dalla piattaforma: configurabili; consentite per impostazione predefinita.

App con privilegi di sistema: configurate dalla piattaforma; non consentite per impostazione predefinita.

Tutte le altre app: configurate dalla piattaforma; non consentite per impostazione predefinita.

setFullScreenIntent() Comportamento modificato Non avvia automaticamente l'intent.
setLargeIcon() Comportamento modificato Le icone grandi vengono visualizzate sul lato destro della notifica.
setLights() Operazione no-op I dispositivi Android Automotive OS non hanno spie LED.
setOngoing() Comportamento modificato

Il comportamento è diverso quando la notifica attiva anche una notifica in evidenza.

setOngoing() rende la notifica in evidenza non ignorabile solo se la notifica in evidenza riguarda una chiamata in arrivo. Per essere considerata una notifica in evidenza non ignorabile per una chiamata in arrivo, una notifica deve soddisfare i requisiti definiti.

I conducenti possono ignorare tutti gli altri tipi di notifiche in evidenza.

setPublicVersion()

setVisibility()

Operazione no-op La modalità privata non è supportata.
setSettingsText() Operazione no-op Le notifiche non supportano le funzionalità che rimandano alle impostazioni dell'app. I conducenti accedono alle impostazioni dell'app tramite l'app.
setTicker() Operazione no-op Il testo del ticker non è supportato.

Tabella 2. Modifiche alle classi nidificate per Notification.Builder

Classi nidificate Effetto Descrizione

Notification.BigPictureStyle

Notification.BigTextStyle

Notification.InboxStyle

Non utilizzata Viene visualizzato solo il testo di riepilogo. Le notifiche dettagliate per questi stili non sono supportate.
Notification.BubbleMetadata Non utilizzata Le bolle non sono supportate.
Notification.MediaStyle Nascosta Le notifiche con questo stile sono nascoste. Android Automotive OS gestisce le interazioni dell'interfaccia utente per le notifiche e la riproduzione dei contenuti multimediali.
Notification.MessagingStyle Comportamento modificato

Le notifiche con questo stile presentano le seguenti differenze:

Notification.CarExtender

Notification.WearableExtender

Non utilizzata Gli extender non sono supportati.

Notification.Action.Builder

La tabella 3 descrive le modifiche e le limitazioni dell'API nella classe Notification.Action.Builder.

Tabella 3. Modifiche ai metodi pubblici per Notification.Action.Builder

Metodi pubblici Effetto Descrizione
Costruttori pubblici Comportamento modificato Le icone specificate nei costruttori pubblici vengono ignorate.
addRemoteInput Comportamento modificato Per ridurre al minimo le distrazioni del conducente, un assistente digitale, come Gemini o l'Assistente Google, inserisce la risposta a un messaggio per l'utente. Gli utenti non possono digitare messaggi.
setAllowGeneratedReplies Operazione no-op La Risposta rapida non è supportata.