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 apparire come notifiche in anteprima sul display. Per creare notifiche per il sistema operativo Android Automotive, utilizza la stessa API NotificationBuilder che usi 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 per le auto

Per creare un ambiente di guida sicuro privo di distrazioni, le notifiche sul sistema operativo Android Automotive sono diverse da quelle su altri dispositivi per i seguenti motivi:

  • 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 dell'utente semplificato con le seguenti funzionalità:

Nessun controllo complesso
Le notifiche non consentono controlli complessi come il tocco per espandere una notifica, la pressione prolungata di una notifica per opzioni aggiuntive o l'utilizzo di controlli basati su gesti della lunghezza di scorrimento.
Suoni di notifica
Per le notifiche viene riprodotto un suono solo se attivano un avviso.
Pulsanti di riproduzione e disattivazione audio automatici per le notifiche dei messaggi

Il sistema operativo Android Automotive aggiunge automaticamente i pulsanti Riproduci e Disattiva audio 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 l'Assistente Google o il sistema di sintesi vocale predefinito del veicolo.
  • Disattiva audio: impedisce la visualizzazione di notifiche in evidenza per eventuali messaggi futuri nella conversazione per il resto del viaggio. Le notifiche dei messaggi di 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 personalizzati non sono supportate. Inoltre, non sono supportati i seguenti stili di notifica:

  • BigPictureStyle
  • BigTextStyle
  • InboxStyle

Se la tua 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 limitazioni UX. Le case automobilistiche 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 specifica di caratteri
  • Nascondi i riepiloghi dei messaggi per le notifiche di CATEGORY_MESSAGE
  • Limitando 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 dei messaggi

Per fornire un'esperienza utente coerente e che possa distrarre, 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.
  • Questo ha un Action contrassegna come letto che soddisfa i seguenti requisiti:

  • Se la notifica ha una risposta Action, significa che 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 quelle sono state attivate anche come notifiche in evidenza. Le notifiche rimangono 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.
  • Toccare un pulsante nell'interfaccia di sistema.

Notifiche raggruppate

Le notifiche correlate vengono raggruppate automaticamente nel Centro notifiche, come nel riquadro a scomparsa delle notifiche degli 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:

  • Media playback notifiche. 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. Tieni presente che setMediaSession deve essere chiamato con un token non null affinché la notifica venga riconosciuta come riproduzione multimediale.
  • Notifiche di navigazione passo passo per CATEGORY_NAVIGATION.
  • Notifiche dei servizi 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. Una notifica di avviso attira l'attenzione del conducente, pertanto attivala solo se le informazioni sono critiche per la guida, urgenti e utilizzabili. Solo determinate categorie di notifiche possono attivare una notifica di avviso.

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

In che modo le app attivano le notifiche in evidenza

I requisiti delle app per l'attivazione di notifiche in evidenza sono diversi a seconda che dispongano dei privilegi di sistema o meno.

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

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

Durata di una notifica in evidenza

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

  • Le notifiche in evidenza per determinate chiamate in arrivo non possono essere ignorate e la notifica rimane attiva fino a quando il conducente non accetta la chiamata o non viene terminata. Per essere considerata una notifica in arrivo non ignorabile per una chiamata in arrivo, una notifica deve soddisfare i seguenti requisiti:

  • Le notifiche di avviso rimangono attive se un'app aggiorna la notifica entro l'intervallo di tempo di otto secondi.

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

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 ha limitazioni per il sistema operativo Android Automotive.

Builder di notifiche

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

Tabella 1. Modifiche ai metodi pubblici per Notification.Builder

Metodi pubblici Effetto Descrizione

addAction()

Autonomo condizionale Alle notifiche di Notification.MessagingStyle è necessario aggiungere 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 Le visualizzazioni RemoteViews e dei contenuti personalizzati non sono supportate.

setBadgeIconType()

setNumber()

Autonomo I badge di notifica non sono supportati.

setChronometerCountDown()

setUsesChronometer()

Autonomo I timer del conto alla rovescia non sono supportati.
setColorized() Vincoli modificati

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

App con privilegi di sistema: configurate per 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 vengono visualizzate icone grandi.
setLights() Autonomo I dispositivi del sistema operativo Android Automotive non sono dotati di 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 si riferisce a una chiamata in arrivo. Per essere considerata una notifica in arrivo non ignorabile per una chiamata in arrivo, una notifica deve soddisfare setPublicVersion()

setVisibility()

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

Tabella 2. Modifiche alle classi nidificate per Notification.Builder

Corsi nidificati 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 con l'interfaccia utente per la riproduzione e le notifiche di contenuti 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 messaggi.
setAllowGeneratedReplies Autonomo Risposta rapida non è supportata.