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:
- 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.
- Somente a ferramenta de validação oficial pode ser usada para gerar tokens de validação para uso com a API.
- A ferramenta de validação usada precisa estar atualizada no momento da execução da validação.
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:
- Obtenha o validador no repositório Maven do Google.
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
- Por exemplo, se você usar uma fonte específica apenas para mostrar a hora, no
formato
HH:MM
, é possível usar uma ferramenta comopyftsubset
para limitar o arquivo de fonte a conter apenas os glifos necessários. Isso pode reduzir drasticamente o tamanho do arquivo de fonte e do APK resultante. Consulte esta postagem do blog para saber como minimizar o tamanho do arquivo de fonte em outros casos.
- Por exemplo, se você usar uma fonte específica apenas para mostrar a hora, no
formato
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:
- 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:
- Pré-criados como APKs regulares do Formato do mostrador do relógio
- Cada um contém apenas um mostrador do relógio baseado no formato do mostrador do relógio
- 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.
- Prontos para serem recuperados pelo app do smartphone sempre que necessário.
- App de smartphone: é a principal forma de interação dos usuários
com o sistema. Com ele, é possível:
- Procurar e pesquisar no catálogo de mostradores de relógio
- Instalar ou substituir um mostrador do relógio
- 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:
- Como usar a API Push de mostradores do relógio para instalar/atualizar ou substituir mostradores
- Solicitar as permissões necessárias e solicitar ao usuário
- Fornecer um mostrador do relógio padrão
- Como oferecer um cache mínimo de mostradores de relógio
- 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:
- 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. - Gerenciamento de estado: usando
DataClient
ouMessageClient
, 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. - Transmissão de APK: usando
ChannelClient
ouMessageClient
, os APKs podem ser enviados do smartphone para o relógio. - 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.
- Detecção de instalação: usando os recursos e o
Consulte as orientações da API Data Layer para mais detalhes.