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, 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 visible con más frecuencia, 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 imagen de selfie
Androidify ahora tiene la capacidad de generar una cara de reloj de forma dinámica dentro de 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 del formato de caras 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. Para Wear OS 6, este valor es, de hecho, 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 tan adecuada para mejorar Androidify como para crear mercados de caras de reloj con todas las funciones.
Tal vez ya tienes una app de Teléfono y buscas oportunidades para atraer y deleitar aún más a tus usuarios.
¿O tal vez ya eres desarrollador de 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 productosLas apps que se orienten a la próxima versión de Android ya no podrán escribir directamente en los contactos con el permiso WRITE_CONTACTS.
Roxanna Aliabadi Walker • Lectura de 6 min -
Novedades de productosA medida que se acelera el desarrollo basado en agentes, la ingeniería de Android alcanza una nueva y emocionante frontera: pasar de la finalización de código asistida a agentes que ejecutan tareas de extremo a extremo bajo tu dirección. Tienes total libertad y flexibilidad para elegir los modelos y agentes que usas.
Jason Buchel • Lectura de 3 min -
Novedades de productosHoy, compartimos cómo estamos llevando nuestra visión de “más que una tienda” al siguiente nivel. Desde la pestaña Tú, que ahora es la base personal de más de 250 millones de usuarios activos por mes, hasta nuestra plataforma de juegos unificada que conecta a más de 700 millones de perfiles de gamer, Google Play llega a los usuarios dondequiera que estén.
Paul Feng • Lectura de 3 min
Recibe la información más reciente sobre el desarrollo de Android en tu bandeja de entrada todas las semanas.