Visão geral da API Data Layer

O nó baseado na nuvem é controlado por um servidor do Google
Figura 1. Uma amostra de rede de nós com dispositivos portáteis Dispositivos Wear OS.

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:

  1. Diretamente, quando há uma conexão Bluetooth estabelecida entre o dispositivo Wear OS e outro dispositivo.
  2. 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:

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 para fazer 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.