A API Wearable Data Layer, que faz parte do Google Play Services, oferece uma canal de comunicação entre dispositivos wearable (como relógios inteligentes) e dispositivos portáteis conectados (geralmente smartphones). É uma forma 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. Para relógios Wear OS pareados com smartphones iOS, os apps podem consultar outras APIs baseadas na nuvem se houver conectividade com a Internet. Para mais sobre essas outras APIs, acesse Acesso à rede e sincronização ativados Wear OS.
Cuidado:como as APIs de camada de dados foram projetadas para comunicação entre dispositivos portáteis e wearables, essas são as únicas APIs que você pode usar para configurar a comunicação entre esses dispositivos. Por exemplo, não tente e abrir soquetes de baixo nível para criar um canal de comunicação.
Casos de uso comuns
A API Data Layer é útil principalmente para casos de uso de mídia e condicionamento físico.
Apps fitness
O envio de dados de exercícios do app para Wear OS aos apps fitness para dispositivos móveis geralmente precisa gravar os dados de exercício capturados por um relógio em um aplicativo móvel ou em Saúde Conecte-se. Se você estiver usando a API Data Layer para transferir dados, use uma cliente de mensagem para enviar dados de exercício do app Wear OS ao app para dispositivos móveis. para gravar no app 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 Wear OS. dispositivo a um dispositivo móvel e mostrando 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 com a ação de pausar/retomar/iniciar/encerrar no relógio ao smartphone, use um cliente de mensagem.
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.
- Por uma rede disponível, como LTE ou Wi-Fi, usando uma nó de rede nos servidores do Google como intermediário.
Todos os clientes da camada de dados podem trocar dados usando Bluetooth ou o nuvem, dependendo das conexões disponíveis para os dispositivos. Suponha que os dados transmitidos pela camada de dados podem, 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, usando serviços Criptografia Bluetooth gerenciada pelo Google Play Services.
Google Cloud
Os dados são roteados automaticamente pelo Google Cloud quando o Bluetooth está indisponí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 seguintes restrições para oferecer serviços comunicação entre o app instalado em um dispositivo Wear OS e o mesmo app instalado em um dispositivo portátil próximo:
- 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, independentemente 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:18.2.0")
}
Facilitar o processo de pareamento inicial
O Horologist fornece várias bibliotecas auxiliares além das APIs de plataforma. Ele inclui uma biblioteca de camadas 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 faça o seguinte:
- Instale o app no outro dispositivo.
- Inicie o app no outro dispositivo.
- Iniciar 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 acessar instâncias do
as várias classes de cliente, como DataClient
e MessageClient
.
Para mais informações, consulte o exemplo de DataLayer (link em inglês).
Usar um cliente mínimo
Para criar um cliente, confira o seguinte código de exemplo:
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
o escopo de um Activity
, use o método getDataClient()
do Wearable
. Isso permite que certas interações apareçam como caixas de diálogo, em vez de como
notificações, como quando o usuário é solicitado a atualizar a versão do Google
Google Play Services.
Por padrão, callbacks para listeners são feitos na linha de execução principal da IU do app. Ter
callbacks feitos 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
.
Recrie as instâncias do cliente conforme necessário.
Os clientes da API Wearable, como DataClient
e MessageClient
, estão
baratos de criar. Em vez de se prender aos clientes, recrie-os como
conforme a necessidade, usando o estilo ideal para seu aplicativo.
O estado do cliente, como o conjunto de listeners registrados, é compartilhado entre clientes e é preservado se o Google Play Services for atualizado enquanto um aplicativo estiver em execução.