Push de mostrador do relógio

O Wear OS 6 apresenta uma nova API, o Push de mostrador do relógio, que cria oportunidades para casos de uso mais avançados de publicação de mostradores de relógio.

Identificar quando usar o Push de mostrador do relógio

O Push de mostrador do relógio é uma API no Wear OS que permite ao desenvolvedor adicionar, atualizar ou remover mostradores de relógio diretamente. Ele não é necessário para o desenvolvimento de mostradores de relógio padrão.

Os mostradores de relógio usados com o Push de mostrador do relógio precisam ser gravados usando o formato do mostrador do relógio. Isso pode incluir mostradores de relógio criados com o Watch Face Studio ou qualquer outra ferramenta que produz mostradores de relógio que usam o Formato do mostrador do relógio.

Embora a API Push de mostrador do relógio possa ser usada de várias maneiras, a tabela a seguir deve ser usada como um guia para os principais casos de uso:

Caso de uso Solução recomendada Complexidade
Quero criar e publicar mostradores de relógio individuais. Use o Formato do mostrador do relógio diretamente ou com uma ferramenta como o Watch Face Studio e publique no Google Play. Baixo
Quero criar um app para smartphone que permita aos usuários selecionar mostradores de relógio de uma coleção selecionada ou projetar e personalizar mostradores de relógio para instalação diretamente no relógio Wear OS. Crie um app para relógio e smartphone usando a API Push de mostrador do relógio no relógio. Alta

Finalidade

O caso de uso canônico da API Push de mostradores de relógio é criar um marketplace. Nesse app, os usuários podem selecionar mostradores de relógio de uma coleção selecionada no smartphone e controlar diretamente a instalação desses mostradores no relógio conectado.

Considerações

Para saber mais sobre como criar mostradores de relógio, consulte as orientações do Formato do mostrador do relógio. Os mostradores de relógio implantados usando o Push de mostrador do relógio são mostradores normais do Formato do mostrador do relógio.

Ao criar o mostrador do relógio, considere as seguintes considerações.

Nomes de pacote

Os mostradores de relógio instalados usando o Push de mostrador do relógio precisam estar em conformidade com a seguinte convenção:

<app name>.watchfacepush.<watchface name>

... em que <app name> é o nome do pacote do app que chama a API Push do mostrador do relógio.

Por exemplo, para um app com o nome de pacote com.example.mymarketplace, os seguintes são nomes de pacotes de mostrador de relógio válidos:

  • com.example.mymarketplace.watchfacepush.watchface1
  • com.example.mymarketplace.watchfacepush.watchface2
  • com.example.mymarketplace.watchfacepush.another_watchface

Os mostradores de relógio que não estão em conformidade com essa convenção são rejeitados pela API.

Conteúdo do pacote

O conteúdo do APK é aplicado de forma rigorosa. É necessário tomar cuidado para garantir que o Formato do mostrador do relógio esteja em conformidade com as seguintes restrições: é tecnicamente possível produzir APKs do Formato do mostrador do relógio que contenham arquivos de metadados inócuos e outros artefatos, que podem ser aceitos pelo Google Play, mas não atendem à validação de envio de mostrador do relógio (consulte abaixo).

Somente os seguintes arquivos/caminhos são aceitos em cada APK de mostrador do relógio:

  • /AndroidManifest.xml
  • /resources.arsc
  • /res/**
  • /META-INF/**

Além disso, apenas as seguintes tags são permitidas no arquivo AndroidManifest.xml:

  • <manifest>
  • <uses-feature>
  • <uses-sdk>
  • <application>
  • <property>
  • <meta-data>

Por fim, o pacote precisa especificar um minSdk de pelo menos 33, e a tag <application> precisa especificar o atributo android:hasCode="false".

Validação

Ao contrário dos mostradores de relógio normais distribuídos pelo Google Play, as verificações de envio do mostrador do relógio para garantir que cada mostrador esteja bem formatado e tenha bom desempenho são responsabilidade do app do Marketplace.

O Google Play usa as seguintes verificações de validação para verificar a qualidade de cada mostrador do relógio que usa o Push de mostrador do relógio:

  1. Todos os mostradores de relógio instalados ou atualizados pela API Push de mostradores de relógio precisam passar pela ferramenta de validação de push de mostradores de relógio.
  2. Somente a ferramenta de validação oficial pode ser usada para gerar tokens de validação para uso com a API.
  3. A ferramenta de validação usada precisa estar atualizada no momento da execução da validação.
  4. Não é necessário revalidar um APK que não foi alterado. Os tokens não expiram, mesmo quando a versão da ferramenta de validação usada é substituída.

    Ao mesmo tempo, recomendamos que você execute a validação novamente de vez em quando, porque o validador é atualizado periodicamente.

Executar o validador

Para executar o validador em um APK de mostrador do relógio, siga estas etapas:

  1. Obtenha o validador no repositório Maven do Google.
  2. Execute a ferramenta da seguinte maneira:

    java -jar validator-push-cli-1.0.0-alpha01.jar \
        --apk_path=youwatchface.apk \
        --package_name=<your marketplace package name>
    

    Se for bem-sucedido, a saída vai incluir um token de validação, que você precisa fornecer à API Push de mostrador do relógio ao adicionar ou atualizar um mostrador.

    Se ocorrer um erro, a saída vai incluir detalhes sobre qual verificação falhou.

    Para conferir um exemplo de como incorporar a ferramenta CLI do validador a um build do Gradle, consulte o exemplo de envio de push do mostrador do relógio (link em inglês) no GitHub.

Tamanho do APK

É necessário ter cuidado especial com os mostradores de relógio do Push para garantir que o tamanho do APK seja mínimo: o APK do mostrador de relógio provavelmente será transmitido do app do smartphone para o app do relógio por Bluetooth, o que pode ser lento.

Um APK muito grande pode levar um tempo considerável para ser transmitido, o que é uma experiência ruim para o usuário e também consome a bateria.

  • Use bibliotecas adequadas, como pngquant, para manter o tamanho dos arquivos de imagem no mínimo
    • Inclua isso no processo de criação da coletânea de mostradores do relógio
    • Verifique se as dimensões da imagem são adequadas para a escala em que ela será usada.
    • As imagens precisam ser cortadas corretamente para remover o plano de fundo ao redor.
  • Reduzir o tamanho dos arquivos de fonte

Consulte as orientações para otimizar o uso de memória para mais sugestões sobre como manter o tamanho do APK mínimo.

Assinatura de APK

Como um APK normal, todos os mostradores do relógio precisam ser assinados. Crie uma chave diferente da usada com o app principal e use essa chave para todos os mostradores do relógio.

Arquitetura

Considere os três componentes principais do sistema:

  1. Armazenamento baseado em nuvem: no app canônico do Marketplace, as interfaces do relógio são criadas e armazenadas na nuvem, prontas para uso pelos usuários. Os mostradores do relógio são:
    1. Pré-criados como APKs regulares do Formato do mostrador do relógio
    2. Cada um contém apenas um mostrador do relógio baseado no formato do mostrador do relógio
    3. Foram validados usando o processo de validação de envio de notificações do mostrador do relógio e são armazenados com o token de validação associado.
    4. Prontos para serem recuperados pelo app do smartphone sempre que necessário.
  2. App de smartphone: é a principal forma de interação dos usuários com o sistema. Com ele, é possível:
    1. Procurar e pesquisar no catálogo de mostradores de relógio
    2. Instalar ou substituir um mostrador do relógio
  3. App para smartwatch: normalmente, o app para smartwatch não tem uma interface de usuário significativa. Ele é principalmente uma ponte entre o app para smartphone e as APIs Push de mostradores do relógio, com a seguinte funcionalidade:
    1. Como usar a API Push de mostradores do relógio para instalar/atualizar ou substituir mostradores
    2. Solicitar as permissões necessárias e solicitar ao usuário
    3. Fornecer um mostrador do relógio padrão
    4. Como oferecer um cache mínimo de mostradores de relógio
  4. Comunicações entre smartphone e relógio: a comunicação entre o smartphone e o app do relógio é fundamental para o sucesso da experiência geral. Use as APIs da camada de dados do Wear OS, que permitem:
    1. Detecção de instalação: usando os recursos e o CapabilityClient, o app para smartphone pode detectar a ausência do app para smartwatch e vice-versa. Em seguida, é possível iniciar uma intent na Play Store para instalar o formato ausente.
    2. Gerenciamento de estado: usando DataClient ou MessageClient, o smartphone pode ser mantido em sincronia com o estado do relógio, por exemplo, garantindo que o smartphone saiba qual mostrador do relógio está definido.
    3. Transmissão de APK: usando ChannelClient ou MessageClient, os APKs podem ser enviados do smartphone para o relógio.
    4. Invocação remota: usando Messageclient, o smartphone pode instruir o relógio a chamar a API Push do mostrador do relógio, por exemplo, para instalar um mostrador.

Consulte as orientações da API Data Layer para mais detalhes.