L'API Wearable Data Layer, che fa parte di Google Play Services, fornisce un canale di comunicazione tra dispositivi indossabili (come gli smartwatch) e dispositivi portatili connessi (di solito gli smartphone). È un modo per sincronizzare trasferire dati tra dispositivi.
Nota: questa API è disponibile solo su orologi e smartwatch Wear OS dispositivi Android accoppiati. Per gli orologi Wear OS accoppiati con telefoni iOS, le app possono eseguire query su altre API basate su cloud se è disponibile una connettività a internet. Per ulteriori informazioni informazioni su queste altre API, visita Accesso alla rete e sincronizzazione on Wear OS.
Attenzione:poiché le API del livello dati sono progettate per comunicazione tra dispositivi portatili e indossabili, queste sono le uniche API che puoi per configurare la comunicazione tra questi dispositivi. Ad esempio, non cercare di aprire socket di basso livello per creare un canale di comunicazione.
Casi d'uso comuni
L'API Data Layer è particolarmente utile per casi d'uso di fitness e contenuti multimediali.
App per il fitness
L'invio di dati di allenamento dall'app Wear OS all'app mobile per il fitness spesso ha bisogno scrivi i dati sull'allenamento acquisiti da uno smartwatch su un'app mobile o in Salute Connetti. Se utilizzi l'API Data Layer per trasferire i dati, utilizza una client di messaggistica per inviare i dati di allenamento dall'app per Wear OS all'app mobile per scrivere su Connessione Salute.
Trasmetti dati in tempo reale al dispositivo mobile durante un esercizio a casa
Uno scenario comune di allenamento a casa è lo streaming di dati sulla frequenza cardiaca da Wear OS. dispositivo mobile a un dispositivo mobile, mostrando all'utente informazioni aggiornate sul battito cardiaco sullo schermo del dispositivo mobile. Per trasmettere questi dati in streaming, utilizza un client di canale.
App multimediali
Per controllare un lettore multimediale mediante l'azione di pausa/ripresa/avvio/fine dal dall'orologio al telefono, utilizzare un client di messaggi.
Opzioni per la comunicazione
I dati vengono trasferiti in uno dei seguenti modi:
- Direttamente, quando viene stabilita una connessione Bluetooth tra Wear OS e un altro dispositivo.
- Su una rete disponibile, ad esempio LTE o Wi-Fi, usando una di rete sui server di Google come intermediario.
Tutti i client del livello dati possono scambiare dati tramite Bluetooth oppure cloud, in base alle connessioni disponibili per i dispositivi. Supponiamo che i dati trasmessi utilizzando il livello dati potrebbero a un certo punto utilizzare server di proprietà di Google.
Bluetooth
Quando i dispositivi sono connessi tramite Bluetooth, il livello dati utilizza questa connessione. C'è un unico canale criptato tra i dispositivi, utilizzando Crittografia Bluetooth, gestita da Google Play Services.
Cloud
I dati vengono instradati automaticamente tramite Google Cloud quando il Bluetooth non è disponibile. Tutti i dati trasferiti tramite Google Cloud sono protetti con crittografia end-to-end.
Sicurezza delle comunicazioni
Google Play Services applica le seguenti restrizioni per fornire maggiore sicurezza comunicazione tra l'app installata su un dispositivo Wear OS e la stessa app installato su un dispositivo portatile nelle vicinanze:
- Il nome del pacchetto deve corrispondere a tutti i dispositivi.
- La firma del pacco deve essere uguale su tutti i dispositivi.
Nessun'altra app ha accesso ai dati, indipendentemente dal tipo di connessione.
Configura
L'API Wearable Data Layer ha le seguenti dipendenze:
- L'ultima versione di Google Play Services.
- Un emulatore o un dispositivo Wear OS.
Includi la seguente dipendenza nel file build.gradle del tuo modulo Wear:
dependencies {
...
implementation("com.google.android.gms:play-services-wearable:18.2.0")
}
Agevolare il processo di accoppiamento iniziale
Horologist fornisce diverse librerie helper oltre alle API della piattaforma. Include una libreria di livelli dati che consente di stabilire una connessione tra un dispositivo mobile e un dispositivo Wear OS. Inoltre, fornisce pratiche API effettuare le seguenti operazioni:
- Installa l'app sull'altro dispositivo.
- Avvia l'app sull'altro dispositivo.
- Avvia un'attività specifica sull'altro dispositivo.
- Avvia l'app complementare.
Accedere al livello dati
Per chiamare l'API Data Layer, utilizza la classe Wearable
per ottenere le istanze
alle varie classi del client, come DataClient
e MessageClient
.
Per ulteriori informazioni, consulta l'esempio di Livelli di dati.
Utilizza un client minimo
Per creare un client, vedi il codice di esempio che segue:
Kotlin
val dataClient: DataClient = Wearable.getDataClient(context)
Java
DataClient dataClient = Wearable.getDataClient(context);
Il contesto può essere qualsiasi contesto Android valido. Se utilizzi l'API in
l'ambito di un Activity
, usa il metodo getDataClient()
di Wearable
. In questo modo, alcune interazioni vengono visualizzate sotto forma di finestre di dialogo
Notifiche, ad esempio quando all'utente viene chiesto di aggiornare la versione di Google
Play Services.
Per impostazione predefinita, i callback ai listener vengono effettuati nel thread dell'interfaccia utente principale dell'app. Per avere
i callback effettuati su un thread diverso, utilizza un oggetto WearableOptions
specificare un Looper
personalizzato:
Kotlin
runBlocking { Wearable.getDataClient(context, options) }
Java
WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build(); DataClient dataClient = Wearable.getDataClient(context, options);
Per ulteriori informazioni, consulta la documentazione di riferimento di WearableOptions.Builder
.
Ricrea le istanze client in base alle esigenze
I client API indossabili, come DataClient
e MessageClient
, sono
poco costoso da creare. Quindi, invece di trattenere i clienti, ricreali
con lo stile più adatto alla tua app.
Lo stato del client, ad esempio l'insieme di listener registrati, viene condiviso tra tutti e viene conservato se Google Play Services viene aggiornato mentre un'app viene in esecuzione.