Panoramica di Android Automotive OS

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

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

Informazioni sull'hardware di Android Automotive OS

Per scoprire di più sulle specifiche hardware minime per i dispositivi Android Automotive OS, consulta la sezione Requisiti automotive del Compatibility Definition Document (CDD) per le versioni di Android supportate dalla tua app.

Ritagli display

Come per altri fattori di forma Android, i ritagli display sono supportati dai dispositivi Android Automotive OS con display non rettangolari. Tuttavia, le dimensioni e la forma dei ritagli presenti nelle auto possono essere molto diverse da quelle di altri fattori di forma. Per indicazioni dettagliate, consulta Utilizzare gli inset della finestra e i ritagli display.

Audio

I dispositivi Android Automotive OS sono in genere dispositivi a volume fisso. Per scoprire di più su come questo potrebbe influire sulla tua app, consulta Utilizzare i dispositivi a volume fisso.

Informazioni sul software di Android Automotive OS

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

UI di sistema

Esistono alcune differenze nel funzionamento di questi elementi dell'UI di sistema nelle auto di cui devi essere a conoscenza.

A differenza di altri fattori di forma, non è necessario che i dispositivi Android Automotive OS abbiano un'opzione di ritorno hardware o software. Quando non vengono eseguite in modalità di compatibilità, le attività implementate dalla tua app devono includere opzioni dell'UI per consentire la navigazione in-app in modo da soddisfare la AN-1 qualità linea guida.

Layout della barra di sistema

Come per altri fattori di forma, Android Automotive OS include barre di sistema come le barre di stato e le barre di navigazione. Nelle auto, queste barre possono avere dimensioni e posizioni diverse 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 nel caso in cui sia presente una barra di stato in alto e una barra di navigazione in basso (come nella maggior parte degli smartphone e dei tablet), le dimensioni di questi elementi saranno probabilmente molto maggiori nelle auto.

Inoltre, mentre i ritagli display sui dispositivi mobili sono in genere contenuti entro i limiti delle barre di sistema, questo non è il caso delle auto.

Per indicazioni dettagliate, consulta Utilizzare gli inset della finestra e i ritagli display.

Modalità immersiva

Android Automotive OS consente agli OEM di controllare se le app possono mostrare o nascondere le barre di sistema per entrare e uscire dalla modalità immersiva. Impedendo alle app di nascondere le barre di sistema, gli OEM possono assicurarsi che i comandi del veicolo, come i comandi del climatizzatore, siano sempre accessibili sullo schermo.

Limitazioni dell'esperienza utente

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

L'attività di blocco dell'attività viene visualizzata sopra un'app non contrassegnata come
    ottimizzata per ridurre le distrazioni.
Figura 2: un'app bloccata dalle limitazioni dell'UX

L'insieme esatto di regole che determinano come e quando le limitazioni dell'UX sono attive è determinato dai produttori di veicoli. Queste regole possono variare in base alla regione geografica. Ad esempio, lo stesso veicolo venduto in Europa potrebbe avere regole diverse da quelle vendute negli Stati Uniti.

Le regole di limitazione dell'UX 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 mentre il veicolo è in movimento, mentre un display del passeggero rimanga senza limitazioni.

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

Ottimizzazione per la riduzione della distrazione

Per impostazione predefinita, le attività non possono essere eseguite mentre le limitazioni dell'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 <meta-data> elemento all'interno dell'elemento <activity> corrispondente.

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

Quando sviluppi app per Android Automotive OS, questi metadati devono essere presenti nel file manifest solo quando dichiari l'elemento del file manifest per CarAppActivity di un'app creata utilizzando la raccolta di app per auto.<activity> Nessun'altra attività deve essere contrassegnata come ottimizzata per la riduzione della distrazione. In caso contrario, l'app verrà rifiutata quando viene inviata al Google Play Store.

Accessibilità

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

Le preferenze per i sottotitoli sono supportate sui dispositivi Android Automotive OS. Per informazioni dettagliate sull'integrazione, consulta Adottare le impostazioni dei sottotitoli di sistema.

Selezione rete

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

La maggior parte delle app utilizza solo la rete predefinita assegnata e può solo trarre vantaggio da questa funzionalità. Ad esempio, l'OEM potrebbe pagare il traffico di rete dalla 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 Leggere lo stato della rete.

Funzionalità di sistema

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

Funzionalità hardware

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

Orientamento schermo

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

Posizione rete

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

Funzioni software

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

Soddisfare i requisiti delle funzionalità di Google Play

Per essere distribuite alle auto tramite Google Play, le app create per Android Automotive OS devono includere un <uses-feature> elemento nel AndroidManifest.xml file per la android.hardware.type.automotive funzionalità:

<manifest ...>
  ...
  <!--
    See Choose a track for Android Automotive OS
    for details on how to choose which value to use for the android:required attribute.
  -->
  <uses-feature
      android:name="android.hardware.type.automotive"
      android:required="[true|false]">
  ...
</manifest>

Inoltre, se la tua app ha una dichiarazione di funzionalità esplicita con android:required="true" o un requisito di funzionalità implicito per una delle seguenti funzionalità, devi aggiornarla o rimuoverla in modo che i requisiti di funzionalità dell'app non ne impediscano la distribuzione ai veicoli altrimenti compatibili:

Per le funzionalità dichiarate esplicitamente con android:required="true", puoi eseguire una delle seguenti operazioni:

  • Elimina l'elemento <uses-feature> se la funzionalità non è altrimenti richiesta implicitamente.
  • Dichiara esplicitamente la funzionalità con android:required="false".

Per le funzionalità richieste implicitamente, puoi eseguire una delle seguenti operazioni:

  • Dichiara esplicitamente la funzionalità con android:required="false".
  • Rimuovi o aggiorna i valori del file manifest che introducono il requisito implicito della funzionalità.

La modifica delle dichiarazioni delle funzionalità nel file manifest non influisce sul funzionamento effettivo dell'app, quindi verifica che l'app funzioni correttamente anche senza queste funzionalità.

Domande frequenti

Quali veicoli sono dotati di Google integrato?

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