Notícias sobre produtos

Como levar o Androidify para o Wear OS com a API Watch Face Push

Leitura de 3 minutos
Garan Jenkin
Engenheiro de relações com desenvolvedores

 

 

Há alguns meses, relançamos o Androidify como um app para gerar bots Android personalizados. O Androidify transforma sua selfie em um bot Android divertido usando o Gemini e o Imagen.

No entanto, como o Android abrange vários formatos, incluindo nossa adição mais recente, o XR, pensamos: como podemos levar a diversão do Androidify para o Wear OS?

Um mostrador do relógio do Androidify

Como os bots do Androidify são altamente personalizados, o lugar natural para mostrá-los é o mostrador do relógio. Além de ser a superfície mais visível, ela também é a mais pessoal, permitindo que você represente quem você é.

demonstration.gif

Mostrador do relógio do Androidify personalizado, gerado a partir da imagem de selfie

O Androidify agora tem a capacidade de gerar um mostrador do relógio dinamicamente no app para smartphone e enviá-lo ao relógio, onde ele será definido automaticamente como o mostrador do relógio. Tudo isso acontece em segundos.

Design de alto nível

image.png

Fluxo completo para criação e instalação do mostrador do relógio

Para alcançar a experiência completa, várias tecnologias precisam ser combinadas, conforme mostrado neste diagrama de design de alto nível.

Primeiro, o avatar do usuário é combinado com um modelo de Formato do mostrador do relógio pré-existente, que é empacotado em um APK. Isso é validado (por motivos que serão explicados) e enviado ao relógio.

Ao ser recebido pelo relógio, a nova API Watch Face Push, parte do Wear OS 6, é usada para instalar e ativar o mostrador do relógio.

Vamos conferir os detalhes:

Como criar os modelos de mostrador do relógio

O mostrador do relógio é criado a partir de um modelo, projetado no Watch Face Designer.Esse é nosso novo plug-in do Figma que permite criar mostradores do relógio no Formato do mostrador do relógio diretamente no Figma.

image.png

Um modelo de mostrador do relógio do Androidify no Watch Face Designer

O plug-in permite que o mostrador do relógio seja exportado de várias maneiras diferentes, incluindo como recursos do Formato do mostrador do relógio (WFF). Eles podem ser facilmente incorporados como recursos no app Androidify para criar dinamicamente o mostrador do relógio finalizado.

Empacotamento e validação

Depois que o modelo e o avatar são combinados, o Portable Asset Compiler Kit (Pack) é usado para montar um APK.

No Androidify, o Pack é usado como uma biblioteca nativa no smartphone.Para mais detalhes sobre como o Androidify interage com a biblioteca do Pack, consulte o repositório do GitHub.

Como uma etapa final antes da transmissão, o APK é verificado pelo validador da API Watch Face Push.

Esse validador verifica se o APK é adequado para instalação. Isso inclui verificar o conteúdo do APK para garantir que ele seja um mostrador do relógio válido, bem como algumas verificações de desempenho. Se for válido, o validador produzirá um token.

Esse token é necessário para a instalação do relógio.

Como enviar o mostrador do relógio

O app Androidify no Wear OS usa WearableListenerService para detectar eventos na camada de dados wearable.

O app para smartphone transfere o mostrador do relógio usando uma combinação de MessageClient para configurar o processo e ChannelClient para transmitir o APK.

Como instalar o mostrador do relógio no relógio

Depois que o mostrador do relógio é recebido no dispositivo Wear OS, o app Androidify usa a nova API Watch Face Push para instalar o mostrador do relógio:

  val wfpManager = 

    WatchFacePushManagerFactory.createWatchFacePushManager(context)

val response = wfpManager.listWatchFaces()



try {

    if (response.remainingSlotCount > 0) {

        wfpManager.addWatchFace(apkFd, token)

    } else {

        val slotId = response.installedWatchFaceDetails.first().slotId

        wfpManager.updateWatchFace(slotId, apkFd, token)

    }

} catch (a: WatchFacePushManager.AddWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

} catch (u: WatchFacePushManager.UpdateWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

}

O Androidify usa o método addWatchFace ou updateWatchFace, dependendo do cenário: a API Watch Face Push define um conceito de "slots", ou seja, quantos mostradores do relógio um determinado app pode ter instalado a qualquer momento. Para o Wear OS 6, esse valor é 1.

A abordagem do Androidify é instalar o mostrador do relógio se houver um slot livre e, caso contrário, qualquer mostrador do relógio será substituído pelo novo.

Como definir o mostrador do relógio ativo

Instalar o mostrador do relógio de maneira programática é uma ótima etapa, mas o Androidify busca garantir que o mostrador do relógio também seja o ativo. 

A API Watch Face Push apresenta uma nova permissão de execução que precisa ser concedida para que os apps possam fazer isso:

com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

Depois que essa permissão for adquirida, o método wfpManager.setWatchFaceAsActive() poderá ser chamado para definir um mostrador do relógio instalado como o ativo.

No entanto, há várias considerações que o Androidify precisa navegar:

  • setWatchFaceAsActive só pode ser usado uma vez.
  • SET_PUSHED_WATCH_FACE_AS_ACTIVE não pode ser solicitado novamente depois de ser negado pelo usuário.
  • O Androidify já pode estar no controle do mostrador do relógio ativo.

Para mais detalhes, consulte Como o Androidify implementa a lógica de definição ativa.

Começar a usar a API Watch Face Push para Wear OS

A API Watch Face Push é uma API versátil, igualmente adequada para aprimorar o Androidify e criar marketplaces de mostradores do relógio com todos os recursos.

Talvez você tenha um app para smartphone e esteja procurando oportunidades para envolver e encantar ainda mais seus usuários.

Ou talvez você seja um desenvolvedor de mostradores do relógio que quer criar sua própria comunidade e galeria lançando um app de marketplace.

Confira estes recursos:

Confira também o vídeo complementar para saber mais detalhes sobre como levamos o Androidify para o Wear OS.

Estamos ansiosos para ver o que você vai criar com a API Watch Face Push.

Escrito por:

Continuar lendo