Scegli un tipo di client

Le API del livello dati di Wear OS sono costituite da diversi tipi di client, utili per diversi tipi di dati e in diverse condizioni di connettività.

Questa pagina introduce ogni tipo di client e include una tabella che mette a confronto le funzionalità dei diversi client. Utilizzando queste informazioni, puoi selezionare il set di tipi di client più adatto alla tua app.

Data client

Un oggetto DataClient ti consente di leggere o scrivere in un DataItem o Asset:

  • Ogni DataItem è un'unità di informazioni trasmesse e sincronizzate su tutti i dispositivi nelle vicinanze di proprietà di un utente. Un DataItem viene archiviato in modo permanente e il dispositivo può leggerne i contenuti finché l'elemento di dati non viene eliminato.

  • Un Asset è destinato a payload di dati più grandi, come immagini o file multimediali.

Client di messaggistica

Un oggetto MessageClient può inviare messaggi ed è utile per le chiamate di procedure remote (RPC), ad esempio l'utilizzo di un dispositivo Wear OS per controllare la versione dell'app installata su un dispositivo portatile.

I messaggi sono ideali per le richieste unidirezionali che utilizzano sendMessage() o per un modello di comunicazione richiesta-risposta che utilizza sendRequest(). A differenza dei client di dati, i client di messaggi richiedono che i nodi siano connessi alla rete per inviare messaggi.

Il metodo sendMessage() è un tentativo di invio al nodo remoto e non contiene alcun meccanismo di ripetizione integrato. Se il dispositivo di destinazione si disconnette prima dell'inizio del trasferimento di rete, il metodo restituisce TARGET_NODE_NOT_CONNECTED.

Channel client

Un oggetto ChannelClient fornisce una comunicazione orientata al flusso tra i dispositivi. Un canale è un canale di comunicazione bidirezionale tra due nodi, utile per casi d'uso come i seguenti:

  • Trasferire file di dati tra due o più dispositivi connessi quando internet non è disponibile. ChannelClient consente di risparmiare spazio su disco rispetto a DataClient, che crea una copia degli asset sul dispositivo locale prima di sincronizzarli con i dispositivi connessi.
  • Invia in modo affidabile un file troppo grande per essere inviato utilizzando un MessageClient.
  • Trasferire i dati in streaming, come i dati vocali dal microfono.

Dopo aver aperto un canale, puoi inviare e ricevere dati in un flusso continuo di byte, anziché nelle unità discrete DataItem richieste dai client di dati.

Sei responsabile della gestione del flusso di dati e della coerenza dei dati. I client del canale non offrono lo stesso livello di sincronizzazione automatica dei dati dei client di dati.

Confronto tra client

La seguente tabella mette a confronto le funzionalità dei diversi client:

Tipo di client Persistenza dei dati Supporta dati di dimensioni superiori a 100 KB? Rete da utilizzare Funziona offline?
Data client I dati vengono conservati a tempo indeterminato Sì (utilizza Asset oggetti) Bluetooth preferito. I dati vengono sottoposti a backup nel cloud; se Bluetooth è disponibile, questo backup viene eseguito in modo asincrono Sì, sia per la lettura che per la scrittura
Client di messaggistica Nessuna persistenza e nessun nuovo tentativo No Bluetooth preferito, ma può utilizzare il Wi-Fi se è l'unico tipo di connessione disponibile No
Channel client Nessuna persistenza (orientata alla connessione) Bluetooth preferito, ma può utilizzare il Wi-Fi se è l'unico tipo di connessione disponibile No