Gestione dei dispositivi per l'automotive

La gestione dei dispositivi ti consente di gestire da remoto un veicolo con sistema operativo Android Automotive (AAOS). Ad esempio, il proprietario di un veicolo potrebbe voler ripristinare i dati di fabbrica dell'unità di infotainment da remoto.

Nel settore auto e motori, offriamo due categorie di gestione dei dispositivi:

  • Dispositivo personale. Un veicolo è di proprietà di un consumatore. Il proprietario del veicolo gestisce l'auto da remoto. Ad esempio, il proprietario utilizza l'app mobile del veicolo per eseguire da remoto un ripristino dei dati di fabbrica dell'unità di infotainment.
  • Dispositivo aziendale. Un veicolo è di proprietà di un'azienda o di un'organizzazione. Un amministratore gestisce l'auto da remoto.

Dispositivi personali

In uno scenario di dispositivo personale, la gestione remota del veicolo richiede di prendere in considerazione lo stato di guida dell'auto. Ad esempio, se il proprietario del veicolo attiva da remoto un ripristino dei dati di fabbrica, il veicolo non deve ripristinare i dati di fabbrica se l'auto è guidata attivamente da un'altra persona.

Abbiamo quindi una serie di API di gestione dei dispositivi integrate con restrizioni relative allo stato dell'unità. Queste API possono essere chiamate da qualsiasi app di sistema (app preinstallate nella partizione di sistema) con le autorizzazioni corrette.

API di gestione dei dispositivi personali

API Finalità
CarDevicePolicyManager.createUser()

Crea un nuovo utente sul dispositivo in background.

Come interagisce con drive-state?

Viene creato un nuovo utente in background, indipendentemente dallo stato dell'unità.

CarDevicePolicyManager.RemoveUser()

Rimuove un utente esistente dal dispositivo.

Come interagisce con drive-state?

Se l'utente target si trova in:

  • In background, l'operazione procede.
  • In primo piano e l'auto è Parcheggiata o INATTIVATA, l'operazione continua.
  • Primo piano e l'auto è IN MOVIMENTO, viene generato un codice di eccezione.
DevicePolicyManager.lockNow()

Blocca un utente esistente sul dispositivo. Se l'utente ha già delle credenziali della schermata di blocco (ad esempio un PIN o una sequenza), il display rimane acceso.

In che modo tutto questo interagisce con lo stato di Drive?

Se l'utente target si trova in:

  • In background, l'operazione procede.
  • In primo piano e l'auto è Parcheggiata o IN MODO IN MODO, oppure SPOSTA IN MOVIMENTO, l'utente viene avanti se l'utente è in primo piano (indipendentemente dallo stato di guida) o viene ignorato negli altri casi. lockNow() non è limitato dallo stato di distrazione dell'esperienza utente.
DevicePolicyManager.resetPassword()

Blocca un utente esistente sul dispositivo impostando una credenziale della schermata di blocco, se l'utente non ha credenziali esistenti. Il display rimane acceso.

Come interagisce con drive-state?

Se l'utente target si trova in:

  • Background, l'operazione continua.
  • In primo piano e l'auto è PARCHEGGIATA oppure, AL RALLENTAMENTO, l'operazione procede.
  • Primo piano e l'auto è IN MOVIMENTO, viene generato un codice di eccezione.
DevicePolicyManager.wipeData()

Attiva un ripristino dei dati di fabbrica sul dispositivo.

Come interagisce con drive-state?

Indipendentemente dallo stato del veicolo (PARCHEGGIATO, AL RALLENTAMENTO o IN MOVIMENTO), l'operazione procede. Il sistema pubblica una notifica per informare il conducente che è necessario eseguire un ripristino dei dati di fabbrica.

Quando il veicolo è in PARCHEGGIO, il conducente può interagire con la notifica per scegliere se eseguire il ripristino del dispositivo ora o in un secondo momento (alla successiva accensione dell'auto).

Ad esempio:

Notifica di ripristino dei dati di fabbrica

Figura 1. Il sistema pubblica una notifica quando viene attivato il ripristino dei dati di fabbrica.

Il veicolo è PARCHEGGIATO

Figura 2. Quando il veicolo è PARCHEGGIATO, il conducente può interagire con la notifica per scegliere di resettare il dispositivo subito o in un secondo momento (alla successiva accensione dell'auto).

Il conducente sceglie Reimposta

Figura 3. Se il conducente sceglie Ripristina più tardi, un messaggio popup indica che il dispositivo verrà ripristinato ai dati di fabbrica alla successiva accensione dell'auto.

Dispositivi aziendali

I dispositivi con sistema operativo Android Automotive con Android 13 e versioni successive possono dichiarare il supporto della funzionalità android.software.device_admin al fine di abilitare le API di gestione dei dispositivi aziendali (per scoprire di più, consulta DevicePolicyManager). Un'organizzazione può quindi utilizzare un'app Controller dei criteri dei dispositivi (DPC) per controllare i criteri dei dispositivi locali e le app di sistema sul dispositivo.

Automotive non supporta i profili di lavoro, il che significa che l'unica soluzione di gestione supportata è un dispositivo completamente gestito, destinato ai dispositivi di proprietà dell'azienda su cui l'organizzazione ha il controllo di gestione completo.

Le aziende che gestiscono il veicolo da remoto devono anche considerare lo stato di guida dell'auto. Di conseguenza, anche azioni remote specifiche sono integrate con lo stato di guida di un veicolo. Ad esempio, il flusso di ripristino dei dati di fabbrica in DevicePolicyManager.setFactoryResetProtectionPolicy() si applica anche ai veicoli aziendali.

Qualsiasi API da DevicePolicyManagercode> può generare un'eccezione (ad esempio se il veicolo è in movimento). Di seguito è riportato un elenco parziale delle API DevicePolicyManagercode>. Per ulteriori informazioni, vedi Panoramica dell'amministrazione dispositivi.

  • DevicePolicyManager.removeActiveAdmin()
  • DevicePolicyManager.setFactoryResetProtectionPolicy()
  • DevicePolicyManager.installCaCert()
  • DevicePolicyManager.uninstallCaCert()
  • DevicePolicyManager.installKeyPair()
  • DevicePolicyManager.removeKeyPair()

Gestione di dispositivi aziendali per più utenti

La gestione dei dispositivi per il settore auto e motori è compatibile con il supporto multiutente. Ciò significa che più conducenti possono utilizzare lo stesso veicolo di proprietà dell'azienda, ma preservano e impediscono che la privacy dei loro dati venga esposta ad altri conducenti utilizzando i propri utenti.

L'amministratore può utilizzare un'app Device Policy Controller (DPC) come descritto in Creare un controller dei criteri dei dispositivi per controllare i criteri a livello di dispositivo o specifici per utente.

Le build per i veicoli a motore in genere utilizzano la modalità utente del sistema headless, nel qual caso il Controller dei criteri del dispositivo (DPC) viene impostato come proprietario del dispositivo (DO) dell'utente di sistema e come proprietario del profilo (PO) di ogni altro utente. L'amministratore remoto deve affiliare gli utenti dell'ordine di acquisto, poiché alcune API (come requestBugreport()) sono disponibili solo se tutti gli utenti sono affiliati. L'amministratore remoto deve quindi selezionare il PDC appropriato per eseguire le azioni. Se l'azione è associata al dispositivo (ad esempio il ripristino dei dati di fabbrica tramite wipeData()), deve utilizzare il DPC DO. Se è associato a un utente (ad esempio addUserRestriction()), deve utilizzare il DPC dell'ordine di acquisto.

L'app DPC richiede un IPC tra il DO e il PO. Ti suggeriamo di utilizzare l'API Connect Apps descritta in App personali e di lavoro collegate.

Per saperne di più su come un'app DPC gestisce più utenti, consulta Utenti affiliati.