Hace unos meses, relanzamos Androidify como una app para generar bots de Android personalizados. Androidify transforma tu foto 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 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:
Crea 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 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 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ía 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.
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 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 intercambia cualquier cara de reloj existente por la nueva.
Establece 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 para mejorar Androidify y para crear 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: 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
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!
Seguir leyendo
-
Novedades de productos
Si eres desarrollador de Android y quieres implementar funciones innovadoras de IA en tu app, recientemente lanzamos nuevas actualizaciones potentes.
Thomas Ezan • Lectura de 3 min
-
Novedades de productos
Android 17 alcanzó la versión beta 4, la última versión beta programada de este ciclo de lanzamiento, un hito fundamental para la compatibilidad de apps y la estabilidad de la plataforma.
Daniel Galpin • Lectura de 4 min
-
Novedades de productos
Aumenta la privacidad del usuario y la protección empresarial con las políticas actualizadas de Play
Hacer que Google Play sea la experiencia más segura y confiable posible. Hoy, anunciamos un nuevo conjunto de actualizaciones de políticas y una función de transferencia de cuentas para aumentar la privacidad del usuario y proteger tu empresa del fraude.
Bennet Manuel • Lectura de 3 min
Mantente al día
Recibe la información más reciente sobre el desarrollo de Android en tu bandeja de entrada todas las semanas.