A API Wearable Data Layer, que faz parte do Google Play Services, oferece um canal de comunicação entre dispositivos wearables (como relógios inteligentes) e dispositivos portáteis conectados (geralmente smartphones). É uma maneira de sincronizar e transferir dados entre os dispositivos.
Observação:essa API só está disponível em relógios Wear OS e dispositivos Android pareados. No caso de relógios Wear OS pareados com smartphones iOS, os apps podem consultar outras APIs baseadas na nuvem quando há uma conexão de Internet disponível. Para mais informações sobre essas outras APIs, acesse Acesso à rede e sincronização no Wear OS.
Atenção:como as APIs da camada de dados são projetadas para a comunicação entre dispositivos portáteis e wearables, elas são as únicas que podem ser usadas para configurar a comunicação entre esses dispositivos. Por exemplo, não tente abrir soquetes de baixo nível para criar um canal de comunicação.
Casos de uso comuns
A API Data Layer é particularmente útil para casos de uso de mídia e fitness.
Apps fitness
Como enviar dados de exercícios do app para Wear OS para o app para dispositivos móveis Os apps de condicionamento físico geralmente precisam gravar os dados de exercícios capturados por um relógio em um app para dispositivos móveis ou na Conexão Saúde. Se você estiver usando a API Data Layer para transferir dados, use um cliente de mensagens para enviar dados de exercícios do app para Wear OS ao app para dispositivos móveis para gravar no Conexão Saúde.
Transmitir dados ao vivo para o dispositivo móvel durante um treino em casa
Um cenário comum de treino em casa é transmitir dados de frequência cardíaca de um dispositivo Wear OS para um dispositivo móvel e mostrar ao usuário informações atualizadas de frequência cardíaca na tela do dispositivo móvel. Para transmitir esses dados, use um cliente de canal.
Apps de música
Para controlar um player de mídia usando a ação de pausar/continuar/iniciar/encerrar do relógio para o smartphone, use um cliente de mensagens.
Opções de comunicação
Os dados são transferidos de uma das seguintes maneiras:
- Diretamente, quando há uma conexão Bluetooth estabelecida entre o dispositivo Wear OS e outro dispositivo.
- Em uma rede disponível, como LTE ou Wi-Fi, usando um nó de rede nos servidores do Google como intermediário.
Todos os clientes da camada de dados podem trocar dados usando o Bluetooth ou a nuvem, dependendo das conexões disponíveis nos dispositivos. Vamos supor que os dados transmitidos usando a camada de dados possam, em algum momento, usar servidores do Google.
Bluetooth
Quando os dispositivos estão conectados por Bluetooth, a camada de dados usa essa conexão. Há um único canal criptografado entre os dispositivos, que usam a criptografia Bluetooth padrão gerenciada pelo Google Play Services.
Google Cloud
Os dados são roteados automaticamente pelo Google Cloud quando o Bluetooth não está disponível. Todos os dados transferidos pelo Google Cloud são criptografados de ponta a ponta.
Segurança das comunicações
O Google Play Services aplica as restrições abaixo para oferecer uma comunicação mais segura entre o app instalado em um dispositivo Wear OS e o mesmo app instalado em um dispositivo portátil por perto:
- O nome do pacote precisa ser o mesmo nos dois dispositivos.
- A assinatura do pacote precisa ser a mesma nos dois dispositivos.
Nenhum outro app tem acesso aos dados, independente do tipo de conexão.
Configurar
A API Wearable Data Layer exige estas dependências:
- A versão mais recente do Google Play Services.
- Um dispositivo ou emulador Wear OS.
Inclua a dependência abaixo no arquivo build.gradle do módulo do Wear:
dependencies {
...
implementation("com.google.android.gms:play-services-wearable:19.0.0")
}
Facilitar o processo de pareamento inicial
O Horologist fornece várias bibliotecas auxiliares sobre as APIs da plataforma. Ela inclui uma biblioteca de camada de dados que ajuda a estabelecer uma conexão entre um dispositivo móvel e um dispositivo Wear OS. Além disso, ele fornece APIs convenientes para fazer o seguinte:
- Instale o app no outro dispositivo.
- Abra o app no outro dispositivo.
- Inicie uma atividade específica no outro dispositivo.
- Inicie o app complementar.
Acessar a camada de dados
Para chamar a API Data Layer, use a classe Wearable
para receber instâncias das várias classes de cliente, como DataClient
e MessageClient
.
Para mais informações, consulte o exemplo de DataLayer.
Usar um cliente mínimo
Para criar um cliente, consulte o exemplo de código a seguir:
Kotlin
val dataClient: DataClient = Wearable.getDataClient(context)
Java
DataClient dataClient = Wearable.getDataClient(context);
O contexto pode ser qualquer contexto Android válido. Se você estiver usando a API no
escopo de uma Activity
, use o método getDataClient()
da classe
Wearable
. Isso permite que algumas interações apareçam como caixas de diálogo em vez de
notificações, como quando o usuário precisa atualizar a versão do Google
Play Services.
Por padrão, callbacks para listeners são feitos na linha de execução principal da IU do app. Para fazer
callbacks em uma linha de execução diferente, use um objeto WearableOptions
para
especificar um Looper
personalizado:
Kotlin
runBlocking { Wearable.getDataClient(context, options) }
Java
WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build(); DataClient dataClient = Wearable.getDataClient(context, options);
Para mais informações, consulte a referência WearableOptions.Builder
.
Recriar instâncias de cliente conforme necessário
Os clientes da API Wearable, como DataClient
e MessageClient
, têm
baixo custo de criação. Em vez de manter os clientes, recrie-os conforme
precisar, usando o estilo mais adequado para seu app.
O estado do cliente, como o conjunto de listeners registrados, é compartilhado entre todos os clientes e é preservado se o Google Play Services for atualizado enquanto um app estiver em execução.