Hace unos meses, volvimos a lanzar Androidify como una app para generar bots de Android personalizados. Androidify transforma tu selfie en un divertido bot de Android con Gemini e Imagen.
Sin embargo, dado que Android abarca varios factores de forma, incluida nuestra incorporación más reciente, la XR, pensamos: ¿cómo podríamos llevar la diversión de Androidify a Wear OS?
Una cara de reloj de Androidify
Como los bots de Androidify son muy personalizados, el lugar natural para mostrarlos es la cara de reloj. No solo es la superficie más visible, sino también la más personal, lo que te permite representar quién eres.
Cara de reloj de Androidify personalizada, generada a partir de una selfie
Androidify ahora puede generar una cara de reloj de forma dinámica en la app para teléfonos y, luego, enviarla a tu reloj, donde se establecerá automáticamente como tu cara de reloj. Todo esto sucede en cuestión de segundos.
Diseño de alto nivel
Flujo de extremo a extremo para la creación y la instalación de caras de reloj
Para lograr la experiencia de extremo a extremo, se deben combinar varias tecnologías, como se muestra en este diagrama de diseño de alto nivel.
En primer lugar, el avatar del usuario se combina con una plantilla preexistente de formato de cara de reloj, que luego se empaqueta en un APK. Esto se valida por motivos que se explicarán. y se envía al reloj.
Cuando el reloj la recibe, se usa la nueva API de Watch Face Push, que forma parte de Wear OS 6, para instalar y activar la cara de reloj.
Exploremos los detalles:
Cómo crear las plantillas de caras de reloj
La cara de reloj se crea a partir de una plantilla, que se diseña en Watch Face Designer. Este es nuestro nuevo complemento de Figma que te permite crear caras de reloj con el Formato de Caras de Relojes directamente en Figma.
Una plantilla de cara de reloj de Androidify en Watch Face Designer
El complemento permite exportar la cara de reloj en una variedad de formas diferentes, incluso como recursos de formato de cara de reloj (WFF). Luego, estos se pueden incorporar fácilmente como recursos dentro de la app de Androidify para compilar de forma dinámica la cara de reloj finalizada.
Empaquetado y validación
Una vez que se combinan la plantilla y el avatar, se usa el Portable Asset Compiler Kit (Pack) para ensamblar un APK.
En Androidify, Pack se usa como una biblioteca nativa en el teléfono. Para obtener más detalles sobre cómo Androidify interactúa con la biblioteca de Pack, consulta el repositorio de GitHub.
Como paso final antes de la transmisión, el validador de Watch Face Push verifica el APK.
Este validador comprueba que el APK sea adecuado para la instalación. Esto incluye verificar el contenido del APK para asegurarse de que sea una cara de reloj válida, así como algunas verificaciones de rendimiento. Si es válida, el validador produce un token.
El reloj requiere este token para la instalación.
Enviando la cara de reloj
La app de Androidify en Wear OS usa WearableListenerService para escuchar eventos en la capa de datos de wearables.
La app para teléfonos transfiere la cara de reloj con una combinación de MessageClient para configurar el proceso y, luego, ChannelClient para transmitir el APK.
Instala la cara de reloj en el reloj
Una vez que se recibe la cara de reloj en el dispositivo Wear OS, la app de Androidify usa la nueva API de Watch Face Push para instalar la cara de reloj:
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
}Androidify usa el método addWatchFace o updateWatchFace, según la situación: Watch Face Push define un concepto de “ranuras”, es decir, cuántas caras de reloj puede tener instaladas una app determinada en cualquier momento. En Wear OS 6, este valor es 1.
El enfoque de Androidify es instalar la cara de reloj si hay un espacio libre y, si no, se intercambia cualquier cara de reloj existente por la nueva.
Cómo configurar la cara de reloj activa
Instalar la cara de reloj de manera programática es un gran paso, pero Androidify busca garantizar que la cara de reloj también sea la activa.
Watch Face Push presenta un nuevo permiso de tiempo de ejecución que se debe otorgar para que las apps puedan lograr lo siguiente:
com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE
Una vez que se adquiere este permiso, se puede llamar al método wfpManager.setWatchFaceAsActive() para establecer una cara de reloj instalada como la cara de reloj activa.
Sin embargo, hay una serie de consideraciones que Androidify debe tener en cuenta:
setWatchFaceAsActivesolo se puede usar una vez.- No se puede volver a solicitar
SET_PUSHED_WATCH_FACE_AS_ACTIVEdespués de que el usuario lo rechace. - Es posible que Androidify ya controle la cara de reloj activa.
Para obtener más detalles, consulta cómo Androidify implementa la lógica de configuración activa.
Comienza a usar Watch Face Push para Wear OS
Watch Face Push es una API versátil, que es igual de adecuada para mejorar Androidify que para crear mercados de caras de reloj con todas las funciones.
Tal vez ya tienes una app de Teléfono y buscas oportunidades para aumentar la interacción y deleitar a tus usuarios.
¿O tal vez ya desarrollas caras de reloj y quieres crear tu propia comunidad y galería lanzando una app de mercado?
Consulta estos recursos:
- Watch Face Push
- Formato de caras de reloj: Ten en cuenta también los próximos cambios en las políticas relacionados con la publicación de caras de reloj.
- Watch Face Designer
- Repositorio de GitHub de Androidify
- Ficha de Androidify en Play Store
También puedes mirar el video complementario para obtener más información sobre cómo llevamos Androidify a Wear OS.
Esperamos con ansias ver lo que crearás con Watch Face Push.
-
Novedades de productosDado que Unity impulsa más de la mitad de todos los títulos para dispositivos móviles en todo el mundo, las primeras impresiones son importantes. Para los desarrolladores de juegos, una experiencia de incorporación de jugadores fluida y confiable es esencial para impulsar la retención desde el primer día y la participación a largo plazo.
Michelle Martin • Lectura de 1 min -
Novedades de productosDesde la inmersión total en casa hasta las experiencias de un vistazo en cualquier lugar, compilar en Android XR te permite llegar a los usuarios en cualquier momento en todo el espectro de aplicaciones espaciales. En la Cumbre de Android Developers, alcanzamos un hito emocionante con el lanzamiento de XREAL AURA.
Amy Zeppenfeld, Vinny DaSilva • Lectura de 3 min -
Novedades de productosEn la era de la inteligencia, los usuarios ya no solo navegan por las apps, sino que expresan objetivos de alto nivel y esperan que los agentes de IA, como Gemini, completen flujos de trabajo de varios pasos, a veces en varias apps de sus dispositivos.
Jingyu Shi • Lectura de 4 min
Recibe la información más reciente sobre el desarrollo de Android en tu bandeja de entrada todas las semanas.