Panoramica di Android Automotive OS

Interfaccia utente di Android Automotive OS
Figura 1: sistema operativo Android Automotive

Android Automotive OS è una versione di Android ottimizzata per l'utilizzo in auto che si basa sulla piattaforma Android di base. Le auto con Google integrato funzionano con il sistema operativo Android Automotive e sono dotate di app e servizi Google, tra cui Google Play, l'Assistente Google e Google Maps.

Informazioni sull'hardware di Android Automotive OS

Per scoprire di più sulle specifiche hardware minime per i dispositivi con sistema operativo Android Automotive, consulta la sezione Requisiti per i veicoli del Documento di definizione della compatibilità Android (CDD) per le versioni di Android supportate dalla tua app.

Ritagli del display

Come per altri fattori di forma Android, i ritagli del display sono supportati dai dispositivi con sistema operativo Android Automotive con display non rettangolari. Tuttavia, le dimensioni e la forma degli spazi ricavati nelle auto possono essere molto diverse da quelle di altri fattori di forma. Per indicazioni dettagliate, consulta Utilizzare gli inserti delle finestre e i ritagli del display.

Audio

I dispositivi con sistema operativo Android Automotive sono generalmente dispositivi con volume fisso. Per scoprire di più su come questo potrebbe influire sulla tua app, consulta Lavorare con dispositivi con volume fisso.

Informazioni sul software Android Automotive OS

Sebbene Android Automotive OS sia basato sullo stesso sistema operativo di base utilizzato da altri fattori di forma, esistono alcune funzionalità aggiuntive uniche che possono influire sul modo in cui le app possono essere sviluppate e utilizzate.

UI di sistema

Devi tenere presente alcune differenze nel funzionamento di questi elementi dell'interfaccia utente di sistema nelle auto.

A differenza di altri fattori di forma, non è necessario che i dispositivi con sistema operativo Android Automotive abbiano un'affordance per il tasto Indietro hardware o software. Quando non vengono eseguite in modalità di compatibilità, le attività implementate dall'app devono includere funzionalità UI per consentire la navigazione in-app in modo da soddisfare le linee guida sulla qualità di AN-1.

Layout della barra di sistema

Come per altri fattori di forma, Android Automotive OS include barre di sistema come le barre di stato e di navigazione. Nelle auto, queste barre possono avere dimensioni e posizionamenti diversi rispetto ad altri fattori di forma. Ad esempio, le barre di navigazione possono essere posizionate a sinistra, a destra o nella parte inferiore dello schermo. Anche se c'è una barra di stato in alto e una barra di navigazione in basso (come accade per la maggior parte di smartphone e tablet), le dimensioni di questi elementi saranno probabilmente molto maggiori nelle auto.

Inoltre, mentre i ritagli del display sui dispositivi mobili sono generalmente contenuti nei limiti delle barre di sistema, non è così nelle auto.

Per indicazioni dettagliate, consulta Utilizzare gli inserti delle finestre e i ritagli del display.

Modalità immersiva

Il sistema operativo Android Automotive consente agli OEM di controllare se le app possono mostrare o nascondere le barre di sistema per entrare ed uscire dalla modalità immersiva. Impedendo alle app di nascondere le barre di sistema, gli OEM possono assicurarsi che i controlli del veicolo, come quelli climatici, siano sempre accessibili sullo schermo.

Restrizioni relative all'esperienza utente

Le limitazioni dell'esperienza utente (UX) sono la funzionalità integrata nel sistema operativo Android Automotive per gestire le considerazioni sulla distrazione del conducente. Le limitazioni UX impediscono automaticamente l'utilizzo di app che non sono state ottimizzate per l'utilizzo durante la guida.

L'attività di blocco dell'attività visualizzata su un'app non contrassegnata come ottimizzata per le distrazioni.
Figura 2: un'app bloccata dalle limitazioni dell'esperienza utente

L'insieme esatto di regole che determinano come e quando le limitazioni dell'esperienza utente sono attive è determinato dai produttori di veicoli. Queste regole possono variare in base alla località. Ad esempio, lo stesso veicolo venduto in Europa potrebbe avere regole diverse rispetto a quelle per i veicoli venduti negli Stati Uniti.

Le regole di limitazione dell'esperienza utente possono variare anche in base al display all'interno di un veicolo. Ad esempio, è possibile che un display centrale nel campo visivo del conducente sia limitato quando il veicolo è in movimento, mentre un display per i passeggeri rimane illimitato.

Se la tua app deve adattarsi alle restrizioni UX, fai riferimento direttamente a queste ultime e non tentare di eseguire il reverse engineering della loro implementazione. Ad esempio, se assumi che le limitazioni dell'esperienza utente siano attive quando la leva non è in posizione P, potresti limitare inutilmente un'app in esecuzione sul display del passeggero.

Ottimizzazione per la riduzione della distrazione

Per impostazione predefinita, le attività non possono essere eseguite mentre le limitazioni UX sono attive per limitare le distrazioni del conducente. Per indicare al sistema che un'attività deve continuare a essere eseguita mentre il veicolo è in movimento, è possibile aggiungere il seguente elemento <meta-data> all'interno dell'elemento <activity> corrispondente.

<activity ...>
  <meta-data android:name="distractionOptimized" android:value="true">
</activity>

Quando sviluppi app per il sistema operativo Android Automotive, questi metadati devono essere presenti nel file manifest solo quando dichiari l'elemento manifest <activity> per CarAppActivity di un'app creata utilizzando la raccolta di app per auto. Nessun'altra attività deve essere contrassegnata come ottimizzata per ridurre le distrazioni. Se è così, la tua app verrà rifiutata quando verrà inviata al Google Play Store.

Accessibilità

Il supporto dell'accessibilità per Android Automotive OS non è così ampio come su altri fattori di forma. TalkBack, Switch Access e Voice Access non sono disponibili sui dispositivi con sistema operativo Android Automotive.

Le preferenze per i sottotitoli codificati sono supportate sui dispositivi con Android Automotive OS. Per maggiori dettagli sull'integrazione, consulta Adottare le impostazioni di sistema relative ai sottotitoli codificati.

Selezione rete

Android Automotive OS supporta la selezione della rete per applicazione (PANS), che consente agli OEM di instradare il traffico di rete mobile su reti diverse in base all'applicazione.

La maggior parte delle app utilizza solo la rete predefinita assegnata e può solo beneficiare di questa funzionalità. Ad esempio, l'OEM potrebbe pagare il traffico di rete della tua app anche se l'utente non ha un proprio piano dati. Se la tua app (o una delle sue dipendenze) si basa su reti diverse da quella predefinita, potrebbe non trarre vantaggio dalle preferenze impostate dall'OEM. Per ulteriori indicazioni sull'utilizzo di reti diverse da quella predefinita, consulta la sezione Leggi lo stato della rete.

Funzionalità di sistema

Puoi rilevare se una determinata funzionalità è disponibile utilizzando PackageManager::hasSystemFeature e modificare il comportamento della tua app di conseguenza.

Funzionalità hardware

Come per altri fattori di forma non mobili, le funzionalità hardware disponibili nelle auto potrebbero essere diverse da quelle presenti sui dispositivi mobili.

Orientamento dello schermo

Come le TV, le auto sono dispositivi con orientamento fisso. A differenza delle TV, sono disponibili sia con orientamento verticale sia con orientamento orizzontale. Per garantire che le app create per Android Automotive OS possano essere distribuite a tutti i veicoli, devono garantire di non avere requisiti di funzionalità espliciti o impliciti per le funzionalità android.hardware.screen.landscape o android.hardware.screen.portrait.

Posizione della rete

Molti dispositivi con sistema operativo Android Automotive non implementano lo stack di telefonia utilizzato per fornire la posizione di rete e, di conseguenza, non segnalano la funzionalità di sistema android.hardware.location.network. Anche se la posizione della rete potrebbe non essere disponibile, l'accesso alla posizione approssimativa è comunque supportato. Consulta Posizione approssimativa su Android Automotive OS.

Funzionalità del software

Alcune funzionalità software che si trovano comunemente su altri fattori di forma potrebbero non essere supportate sui dispositivi con Android Automotive OS. Ad esempio, le seguenti funzionalità non sono disponibili su molti veicoli con Android Automotive OS:

Domande frequenti

Quali veicoli hanno Google integrato?

Visita il sito Auto con Google integrato per un elenco di OEM che hanno modelli con Google integrato. Le specifiche hardware e altri dettagli del dispositivo possono essere ottenuti utilizzando il Catalogo dei dispositivi di Play Console.