Hace unos meses, relanzamos 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 altamente personalizados, el lugar natural para mostrarlos es la cara de reloj. No solo es la superficie más visible con 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 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 Relojes, 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 lo 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ñó en Watch Face Designer.Este es nuestro nuevo complemento de Figma que te permite crear caras de reloj del 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 de varias maneras diferentes, incluso como recursos del Formato de Caras de Relojes (WFF). Luego, 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 Kit de compilador de recursos portátiles (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 garantizar que sea una cara de reloj válida, así como algunas verificaciones de rendimiento. Si es válido, el validador produce un token.
El reloj requiere este token para la instalación.
Envío de la cara de reloj
La app de Androidify en Wear OS usa WearableListenerService para escuchar eventos en Wearable Data Layer.
La app para teléfonos transfiere la cara de reloj usando una combinación de MessageClient para configurar el proceso y, luego, ChannelClient para transmitir el APK.
Instalación de 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 instalada una app determinada en cualquier momento. Para Wear OS 6, este valor es 1.
El enfoque de Androidify es instalar la cara de reloj si hay una ranura libre y, si no, se reemplaza cualquier cara de reloj existente por la nueva.
Cómo configurar la cara de reloj activa
Instalar la cara de reloj de forma programática es un gran paso, pero Androidify busca garantizar que la cara de reloj también sea la cara de reloj activa.
Watch Face Push presenta un nuevo permiso de tiempo de ejecución que se debe otorgar para que las apps puedan lograr esto:
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, Androidify debe tener en cuenta varias consideraciones:
setWatchFaceAsActivesolo se puede usar una vez.- No se puede volver a solicitar
SET_PUSHED_WATCH_FACE_AS_ACTIVEdespués de que el usuario la rechace. - Es posible que Androidify ya tenga el control de 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, adecuada tanto para mejorar Androidify como para compilar mercados de caras de reloj con todas las funciones.
¿Quizás tienes una app para teléfonos existente y buscas oportunidades para atraer y deleitar aún más a tus usuarios?
¿O quizás eres un desarrollador de caras de reloj existente que busca crear tu propia comunidad y galería lanzando una app de mercado?
Consulta estos recursos:
- Watch Face Push
- Formato de Caras de Relojes (también ten en cuenta los próximos cambios en la política relacionados con la publicación de caras de reloj)
- Watch Face Designer
- Repositorio de GitHub de Androidify
- Ficha de Androidify en Play Store
Además, mira el video complementario para obtener una visión más detallada de cómo llevamos Androidify a Wear OS.
¡Esperamos ver lo que crearás con Watch Face Push!
-
Novedades de productosEn marzo, presentamos Android Bench, nuestra clasificación de LLM para tareas de desarrollo de Android del mundo real. Desde entonces, mejoramos la comparativa según tus comentarios, incluida la evaluación de modelos de peso abierto y la adición de dimensiones de costo y eficiencia a la clasificación.
Zoe Lopez-Latorre • Lectura de 3 min -
Novedades de productosEn Google Play, nos comprometemos a ofrecer la mejor experiencia posible a los usuarios, a la vez que garantizamos que los desarrolladores tengan las herramientas y la adaptabilidad necesarias para triunfar.
Paul Feng • Lectura de 3 min -
Novedades de productosEl año pasado, presentamos la verificación de desarrolladores de Android para fortalecer la seguridad del ecosistema y evitar que los agentes maliciosos se oculten detrás del anonimato para lanzar apps dañinas.
Matthew Forsythe • Lectura de 2 min
Recibe la información más reciente sobre el desarrollo de Android en tu bandeja de entrada todas las semanas.