Profili dei dispositivi complementari

Il profilo del dispositivo complementare, introdotto in Android 12, è una funzionalità che consente alle app complementari di richiedere un insieme di autorizzazioni specifiche per il tipo di dispositivo complementare, ad esempio uno smartwatch. L'utilizzo di un profilo del dispositivo complementare semplifica la procedura di registrazione consentendo alle app di mostrare un singolo prompt agli utenti sui loro dispositivi mobili per richiedere un insieme definito di autorizzazioni anziché più prompt che richiedono le autorizzazioni singolarmente. In questo modo, puoi usufruire di un'esperienza di configurazione più snella e di tassi di attivazione migliori per le app complementari.

Per utilizzare i profili dei dispositivi complementari, le app complementari devono soddisfare i seguenti requisiti:

  • Gestire un dispositivo complementare (ad esempio uno smartwatch).
  • Avere funzionalità dell'app o chiamare API Android che richiedono tutte le autorizzazioni definite per il profilo del dispositivo complementare.

Ogni profilo del dispositivo complementare corrisponde a un ruolo Android. Per ulteriori informazioni sulle autorizzazioni e sul ruolo Android corrispondente di ciascun profilo, vedi Profili dei dispositivi companion per le app di terze parti.

Per ulteriori informazioni sui dispositivi complementari, consulta Accoppiamento di dispositivi complementari.

Comportamento del dispositivo

Questa sezione descrive il comportamento del dispositivo quando vengono utilizzati i profili dei dispositivi complementari.

Quando un utente accetta la richiesta di un'app di creare un'associazione con un dispositivo companion, il servizio CompanionDeviceManager (CDM) assegna il ruolo del profilo del dispositivo (ad esempio, smartwatch) all'app companion, concedendo tutte le autorizzazioni definite per quel ruolo del profilo specificato. La Figura 1 mostra un esempio di app che richiede autorizzazioni per il profilo del dispositivo COMPANION_DEVICE_WATCH.

Prompt della finestra di dialogo del profilo del dispositivo di Google TV

Figura 1. Finestra di dialogo che richiede le autorizzazioni per il profilo del dispositivo smartwatch.

Quando un utente cancella i dati del pacchetto nelle Impostazioni o rimuove tutti i dispositivi nell'app complementare, il CDM revoca il profilo quando l'app non è in esecuzione in primo piano né è in esecuzione un servizio in primo piano. La revoca del profilo comporta anche la revoca di tutte le autorizzazioni definite per il profilo.

Dopo che un utente ha accettato la richiesta di un'app di concedere autorizzazioni per un determinato profilo del dispositivo, può revocare le singole autorizzazioni concesse. Quando un'autorizzazione viene revocata da un utente, l'app rimane associata al dispositivo companion, ma alcune funzionalità potrebbero non essere più disponibili. Se l'autorizzazione è necessaria per il funzionamento dell'app, l'app deve richiederla tramite una normale richiesta di autorizzazione.

Profili dei dispositivi complementari per app di terze parti

Profilo dell'orologio

Il profilo dello smartwatch viene introdotto in Android 12.

La tabella seguente descrive le autorizzazioni definite per il COMPANION_DEVICE_WATCH profilo del dispositivo e i requisiti per utilizzarle.

Autorizzazioni Requisiti dell'app complementare e del dispositivo
Notifiche

POST_NOTIFICATIONS (added in Android 15)
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha uno schermo in grado di visualizzare le notifiche (sono esclusi i dispositivi che utilizzano la tecnologia aptica anziché uno schermo)
  • Fornisce un'esperienza di notifica rivolta all'utente, ad esempio la visualizzazione delle notifiche dello smartphone sullo schermo del dispositivo complementare.
  • Pubblica notifiche dello smartphone per la gestione del dispositivo. Ad esempio, quando uno smartwatch è connesso o quando è attivata una funzionalità specifica.
Phone
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • È dotato di un microfono e di un altoparlante integrati che consentono di conversare
  • Ha una schermata che mostra le informazioni sull'utente che chiama
  • Offre un'esperienza di chiamata telefonica rivolta agli utenti (l'app complementare collega le chiamate)
SMS
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha una schermata che mostra i messaggi SMS
  • Offrire un'esperienza SMS rivolta agli utenti
Contacts
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha un display
  • Utilizza i dati di contatto nell'ambito dell'esperienza di chiamata o messaggistica
Calendar
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha un display
  • Offrire un'esperienza di calendario rivolta agli utenti sullo smartwatch
Nearby devices
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha un display
  • Offrire un'esperienza di accoppiamento/connessione rivolta all'utente sullo smartwatch
eSIM provisioning
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha un display
  • Offrire un'esperienza rivolta agli utenti che gestisce i servizi dell'abbonato dall'operatore sullo smartwatch
Managing ongoing calls
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • È dotato di un microfono e di un altoparlante integrati che consentono di conversare
  • Ha una schermata che mostra le informazioni sull'utente che chiama
  • Offre un'esperienza di chiamata telefonica rivolta agli utenti (l'app complementare collega le chiamate)

Profilo occhiali

Il profilo di Glasses viene introdotto in Android 14.

La tabella seguente descrive le autorizzazioni definite per il COMPANION_DEVICE_GLASSES profilo del dispositivo e i requisiti per utilizzarle.

Autorizzazioni Requisiti dell'app complementare e del dispositivo
Notifiche

POST_NOTIFICATIONS
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha uno schermo in grado di visualizzare le notifiche (sono esclusi i dispositivi che utilizzano la tecnologia aptica anziché uno schermo)
  • Fornisce un'esperienza di notifica rivolta agli utenti, ad esempio la visualizzazione delle notifiche dello smartphone sullo schermo del dispositivo complementare.
  • Pubblica notifiche dello smartphone per la gestione del dispositivo, ad esempio quando è connesso un dispositivo per occhiali o quando è attivata una funzionalità specifica.
Phone
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • È dotato di un microfono e di un altoparlante integrati che consentono di conversare
  • Ha una schermata che mostra le informazioni sull'utente che chiama
  • Offre un'esperienza di chiamata telefonica rivolta agli utenti (l'app complementare collega le chiamate)
SMS
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha una schermata che mostra i messaggi SMS
  • Offrire un'esperienza SMS rivolta agli utenti
Contacts
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha un display
  • Utilizza i dati di contatto nell'ambito dell'esperienza di chiamata o messaggistica
Microphone
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha un display
  • Offre un'esperienza con il microfono rivolto all'utente sugli occhiali
Nearby devices
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha un display
  • Offre un'esperienza di accoppiamento/connessione rivolta all'utente sugli occhiali
Managing ongoing calls
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • È dotato di un microfono e di un altoparlante integrati che consentono di conversare
  • Ha una schermata che mostra le informazioni sull'utente che chiama
  • Offre un'esperienza di chiamata telefonica rivolta agli utenti (l'app complementare collega le chiamate)

Implementazione

Gli sviluppatori di terze parti che implementano un'app complementare che richiede il profilo DEVICE_PROFILE_WATCH devono procedere nel seguente modo:

  1. Chiama il metodo setDeviceProfile.

  2. Passa un profilo (ad esempio, DEVICE_PROFILE_WATCH durante la creazione AssociationRequest.

I produttori di dispositivi che implementano un'app complementare con un dispositivo specifico devono utilizzare le seguenti configurazioni di sistema Android obbligatorie per certificare l'app complementare, che consente all'app di saltare la visualizzazione della finestra di dialogo per il consenso degli utenti.

  1. Recupera il certificato utilizzando il seguente comando:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. Sostituisci il nome del pacchetto e il certificato come mostrato nel seguente input di esempio nel file di configurazione:

    <!-- A list of packages managing companion device(s) by the same manufacturers as the main device.
    It will not create the association without prompting if the association has been called multiple
    times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts
    are parallel arrays. -->
    
    <string-array name="config_companionDevicePackages" translatable="false">
        <item>YOUR_COMPANION_APP_PACKAGE_NAME</item>
    </string-array>
    
    <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the
    main device. It will fall back to showing a prompt if the association has been called multiple
    times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage
    are parallel arrays.
    Example: "1A:2B:3C:4D" -->
    
    <string-array name="config_companionDeviceCerts" translatable="false">
        <item>YOUR_COMPANION_APP_CERTIFICATE</item>
    </string-array>
    
  3. Utilizza AssociationRequest per inviare una richiesta di associazione a un singolo dispositivo complementare.

Convalida

Per testare il comportamento della funzionalità del profilo del dispositivo complementare, utilizza i test CTS in cts/tests/tests/companion/.