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 anche essere visualizzate come notifiche in evidenza sul display. Per creare notifiche per il sistema operativo Android Automotive, utilizza la stessa API NotificationBuilder che utilizzi per gli altri dispositivi. Tuttavia, per garantire la sicurezza dei conducenti e ridurre al minimo le distrazioni, alcuni metodi e classi dell'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 sul sistema operativo Android Automotive sono diverse da quelle su altri dispositivi per i seguenti modi:

  • Interazione utente semplificata
  • Limitazioni dell'UX in base allo stato dell'unità

Interazione utente semplificata

Per consentire ai conducenti di concentrarsi sulla strada, le notifiche nell'auto presentano 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, premere a lungo una notifica per visualizzare opzioni aggiuntive o usare controlli basati su gesti di scorrimento lunghi.
Suoni di notifica
Le notifiche emettono un suono solo se attivano una notifica in evidenza.
Pulsanti automatici di riproduzione e disattivazione audio per le notifiche dei messaggi

Il sistema operativo Android Automotive aggiunge automaticamente i pulsanti Play e Disattiva audio a tutte le notifiche di messaggi compatibili con l'auto.

  • Play: legge la notifica al conducente utilizzando l'assistente digitale predefinito dell'utente, ad esempio l'Assistente Google o il sistema di sintesi vocale predefinito del veicolo.
  • Disattiva audio: impedisce la visualizzazione di notifiche in evidenza per i futuri messaggi della conversazione per il resto del viaggio. Le notifiche di messaggi provenienti da una conversazione disattivata continuano a essere 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 personalizzate non sono supportate. Inoltre, non sono supportati i seguenti stili di notifica:

  • BigPictureStyle
  • BigTextStyle
  • InboxStyle

Se l'app invia una notifica al sistema operativo Android Automotive utilizzando uno di questi stili di notifica, viene mostrato solo il testo di riepilogo.

Gestione semplificata dei canali di notifica

Il sistema operativo Android Automotive non supporta i canali di notifica e le relative affinità UI, per ridurre la prevalenza di attività di gestione avanzate nei dispositivi Automotive.

Limitazioni dell'UX in base allo stato dell'unità

Il sistema operativo Android Automotive include un motore per le restrizioni dell'UX. I produttori di automobili possono utilizzare questo motore per limitare le notifiche in base allo stato di guida dell'auto nei seguenti modi:

  • Troncamento delle stringhe di notifica a una lunghezza di caratteri specifica
  • Nascondere i riepiloghi dei messaggi per le notifiche CATEGORY_MESSAGE
  • Limitare il numero di notifiche che il Centro Notifiche può visualizzare

Tipi di risorse supportati

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

  • Disegnabili
  • Icone
  • Immagini

Requisiti di compatibilità per le notifiche di messaggi

Per offrire un'esperienza utente omogenea e che distrae solo le notifiche, le notifiche di messaggistica hanno requisiti speciali sul sistema operativo Android Automotive.

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

  • Appartiene alla categoria CATEGORY_MESSAGE.
  • Utilizza lo stile Notification.MessagingStyle.
  • Sono inclusi solo i messaggi da leggere.
  • Ha un Action Segna come letto che soddisfa i seguenti requisiti:

  • Se la notifica ha una risposta Action, Action soddisfa i seguenti requisiti:

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

Centro notifiche

Quasi tutte le notifiche vengono visualizzate nel centro notifiche, anche se tali notifiche sono state attivate anche come notifiche in evidenza. Le notifiche restano nel centro notifiche per tutta la durata di un viaggio.

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

  • Scorrimento verso il basso dalla parte superiore dello schermo, come nel riquadro a scomparsa 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, invece di avviare una PendingIntent, il gruppo si espande per mostrare tutte le relative notifiche.

Notifiche che non vengono visualizzate nel Centro Notifiche

Le seguenti notifiche non vengono visualizzate nel centro notifiche:

  • Notifiche relative alla riproduzione di contenuti multimediali per CATEGORY_TRANSPORT. Le informazioni sulla riproduzione di contenuti multimediali in corso vengono raccolte dal sistema operativo Android Automotive e visualizzate in una posizione dedicata nell'interfaccia utente.
  • Notifiche di navigazione passo passo per CATEGORY_NAVIGATION.
  • Notifiche di servizio in primo piano per le app con privilegi di sistema e le app firmate con la chiave della piattaforma che hanno un livello di importanza inferiore a IMPORTANCE_DEFAULT.

Notifiche in evidenza

Le notifiche in evidenza vengono visualizzate come scheda di notifica nella parte superiore dello schermo. Poiché una notifica di avviso attira l'attenzione del conducente, può attivare una notifica di avviso solo se le informazioni sono importanti per la guida, sono sensibili al tempo e utili. Solo determinate 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 notifiche in evidenza, a seconda che abbiano privilegi di sistema.

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

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

Vita di una notifica in evidenza

Dopo che un'app ha attivato una notifica in evidenza, questa viene visualizzata immediatamente sullo schermo dell'auto. Se il conducente non intraprende alcuna azione, la notifica si chiude automaticamente dopo otto secondi, tranne nei seguenti casi:

  • Le notifiche in evidenza per determinate chiamate in arrivo non possono essere ignorate e rimangono attive finché il conducente non accetta la chiamata o 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 l'intervallo di tempo di otto secondi.

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

Modifiche e restrizioni relative all'API Notification per le auto

Questa sezione riassume le differenze per ogni classe in cui l'API Notifications si comporta in modo diverso o ha limitazioni per il sistema operativo Android Automotive.

Builder Notifiche

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

Tabella 1. Modifiche ai metodi pubblici per Notification.Builder

Metodi pubblici Effetto Descrizione

addAction()

No-op condizionale Alle notifiche Notification.MessagingStyle devono essere aggiunte le azioni specificate nei requisiti di compatibilità. Eventuali azioni aggiuntive aggiunte non verranno visualizzate come pulsanti di notifica.

createBigContentView()

createContentView()

createHeadsUpContentView()

setContent()

setCustomBigContentView()

setCustomContentView()

setCustomHeadsUpContentView()

Autonomo RemoteViews e le visualizzazioni di contenuti personalizzate non sono supportate.

setBadgeIconType()

setNumber()

Autonomo I badge di notifica non sono supportati.

setChronometerCountDown()

setUsesChronometer()

Autonomo I timer con 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 Sul lato destro della notifica sono visualizzate icone grandi.
setLights() Autonomo I dispositivi con sistema operativo Android Automotive non hanno spie LED.
setOngoing() Comportamento modificato

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

setOngoing() rende non ignorabile una notifica solo se questa riguarda una chiamata in arrivo. Per essere considerata una notifica in evidenza non ignorabile per una chiamata in arrivo, una notifica deve soddisfare setPubVersion()

setVisibility()

Autonomo La modalità privata non è supportata.
setSettingsText() Autonomo Le notifiche non supportano le autorizzazioni che rimandano alle impostazioni dell'app. I conducenti possono invece accedere alle impostazioni dell'app tramite l'app stessa.
setTicker() Autonomo Il testo ticker non è supportato.

Tabella 2. Modifiche alle classi nidificate per Notification.Builder

Classi nidificate Effetto Descrizione

Notification.BigPictureStyle

Notification.BigTextStyle

Notification.InboxStyle

Not used Viene visualizzato solo il testo di riepilogo. Le notifiche dettagliate per questi stili non sono supportate.
Notification.BubbleMetadata Not used Le bolle non sono supportate.
Notification.MediaStyle Stato nascosto Le notifiche con questo stile sono nascoste. Il sistema operativo Android Automotive gestisce le interazioni dell'interfaccia utente per la riproduzione e le notifiche multimediali.
Notification.MessagingStyle Comportamento modificato

Le notifiche con questo stile presentano le seguenti differenze:

Notification.CarExtender

Notification.WearableExtender

Not used 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 alla guida, un assistente digitale, come l'Assistente Google, inserisce la risposta a un messaggio per l'utente. Gli utenti non possono digitare i messaggi.
setAllowGeneratedReplies Autonomo La funzionalità Risposta rapida non è supportata.