Scegli un tipo di client

Le API del livello dati di Wear OS sono costituite da diversi tipi di client, che sono utili per diversi tipi di dati e durante le diverse connessioni le condizioni di traffico.

Questa pagina introduce ogni tipo di client e include una tabella di confronto le capacità dei diversi clienti. Utilizzando queste informazioni, puoi selezionare l'insieme dei tipi di client più adatti alla tua app.

Client dati

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

  • Ciascun DataItem è un'unità di informazioni che vengono trasmesse e sincronizzate su tutti i dispositivi vicini di proprietà di un utente. Un DataItem viene archiviato in modo permanente e il dispositivo può leggerne i contenuti fino all'eliminazione dei dati.

  • Asset è pensato per i payload di dati più grandi, come immagini o file multimediali.

Client di messaggistica

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

I messaggi sono ideali per le richieste unidirezionali che utilizzano sendMessage() o per una modello di comunicazione richiesta e risposta utilizzando sendRequest(). A differenza dei dati i client di messaggistica necessitano che i nodi siano connessi alla rete per per inviare messaggi.

Il metodo sendMessage() rappresenta il massimo sforzo per consegnare il nodo remoto, e non contiene alcun meccanismo integrato per i nuovi tentativi. Se il dispositivo di destinazione si disconnette prima dell'inizio del trasferimento di rete, il metodo restituisce TARGET_NODE_NOT_CONNECTED.

Cliente di canale

Un oggetto ChannelClient fornisce comunicazioni orientate al flusso di dati dispositivi mobili. Un canale è un canale di comunicazione bidirezionale tra due nodi, il che è utile per casi d'uso come i seguenti:

  • Trasferisci file di dati tra due o più dispositivi connessi quando è attiva la connessione a internet non è disponibile. ChannelClient risparmia spazio su disco oltre DataClient e crea una copia degli asset sul dispositivo locale prima della sincronizzazione con dispositivi connessi.
  • Invia in modo affidabile un file troppo grande per essere inviato usando un MessageClient.
  • Trasferisci dal microfono i dati trasmessi in streaming, ad esempio i dati vocali.

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

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

Confronto client

La tabella seguente 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?
Client dati I dati vengono mantenuti all'infinito Sì (utilizza Asset oggetti) Bluetooth preferito. I dati vengono sottoposti a backup sul cloud; se il Bluetooth è disponibile, il backup viene eseguito in modo asincrono Sì, sia per lettura che per scrittura
Client di messaggistica Nessuna persistenza e nessun nuovo tentativo No È preferibile il Bluetooth, ma è possibile usare il Wi-Fi se è l'unico tipo di connessione disponibile No
Cliente di canale Nessuna persistenza (orientato alla connessione) È preferibile il Bluetooth, ma è possibile usare il Wi-Fi se è l'unico tipo di connessione disponibile No