Novedades de productos

Androidify llega a Wear OS con Watch Face Push

Lectura de 3 minutos
Garan Jenkin
Ingeniero de relaciones con desarrolladores

 

 

Hace unos meses, relanzamos Androidify como una aplicación para generar robots de Android personalizados. Androidify transforma tu selfie en un robot de Android divertido con Gemini e Imagen.

Sin embargo, dado que Android abarca varios factores de forma, incluida nuestra incorporación más reciente, XR, nos preguntamos cómo podíamos llevar la diversión de Androidify a Wear OS.

Una esfera de reloj de Androidify

Como los robots de Androidify son muy personalizados, el lugar natural para mostrarlos es la esfera del reloj. No solo es la superficie más visible, sino también la más personal, ya que te permite representar quién eres.

demonstration.gif

Esfera de reloj de Androidify personalizada, generada a partir de una imagen selfie

Androidify ahora puede generar una esfera de reloj de forma dinámica en la aplicación de teléfono y, a continuación, enviarla a tu reloj, donde se establecerá automáticamente como esfera. Todo esto ocurre en cuestión de segundos.

Diseño de alto nivel

imagen.png

Flujo de extremo a extremo para crear e instalar esferas de reloj

Para conseguir la experiencia integral, es necesario 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 de Formato para Esferas de Reloj predefinida, que se empaqueta en un APK. Esto se valida por motivos que se explicarán más adelante. - y se envía al reloj.

Cuando el reloj recibe la nueva API Watch Face Push (que forma parte de Wear OS 6), se usa para instalar y activar la esfera de reloj.

Veamos los detalles:

Crear las plantillas de esferas de reloj

La esfera del reloj se crea a partir de una plantilla diseñada en Watch Face Designer. Este es nuestro nuevo complemento de Figma que te permite crear esferas de reloj con el formato para esferas de reloj directamente en Figma.

imagen.png

Una plantilla de esfera de reloj de Androidify en Watch Face Designer

El complemento permite exportar la esfera del reloj de varias formas, incluidos los recursos de Formato para Esferas de Reloj (WFF). Después, se pueden incorporar fácilmente como recursos en la aplicación Androidify para crear dinámicamente la esfera de reloj final.

Empaquetado y validación

Una vez que se hayan combinado la plantilla y el avatar, se usará el Portable Asset Compiler Kit (Pack) para compilar un APK.

En Androidify, Pack se usa como una biblioteca nativa en el teléfono. Para obtener más información sobre cómo interactúa Androidify con la biblioteca Pack, consulta el repositorio de GitHub.

Como paso final antes de la transmisión, el archivo APK se comprueba con el validador de envío de esferas de reloj.

Este validador comprueba que el APK sea apto para la instalación. Esto incluye comprobar el contenido del APK para asegurarse de que es una esfera de reloj válida, así como algunas comprobaciones de rendimiento. Si es válido, el validador genera un token.

El reloj necesita este token para la instalación.

Enviar la esfera del reloj

La aplicación Androidify en Wear OS usa WearableListenerService para detectar eventos en la capa de datos de wearables.

La aplicación Teléfono transfiere la esfera del reloj mediante una combinación de MessageClient para configurar el proceso y, a continuación, ChannelClient para transmitir el APK.

Instalar la esfera del reloj en el reloj

Una vez que la esfera de reloj se recibe en el dispositivo Wear OS, la aplicación Androidify usa la nueva API Watch Face Push para instalarla:

  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 el updateWatchFace, según el caso. Watch Face Push define un concepto de "espacios": el número de esferas de reloj que puede tener instaladas una aplicación determinada en cualquier momento. En Wear OS 6, este valor es 1.

Androidify instala la esfera del reloj si hay un espacio libre. Si no lo hay, se sustituye cualquier esfera del reloj por la nueva.

Definir la esfera del reloj activa

Instalar la esfera del reloj mediante programación es un paso importante, pero Androidify quiere asegurarse de que la esfera del reloj también sea la activa. 

Watch Face Push introduce un nuevo permiso de ejecución que se debe conceder para que las aplicaciones puedan lograrlo:

com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

Una vez que se haya obtenido este permiso, se puede llamar al método wfpManager.setWatchFaceAsActive() para definir una esfera de reloj instalada como la esfera de reloj activa.

Sin embargo, Androidify debe tener en cuenta varios aspectos:

  • setWatchFaceAsActive solo se puede usar una vez.
  • SET_PUSHED_WATCH_FACE_AS_ACTIVE no se puede volver a solicitar después de que el usuario la haya rechazado.
  • Es posible que Androidify ya controle la esfera del reloj activa.

Para obtener más información, consulta cómo implementa Androidify la lógica de conjunto activo.

Empezar a usar Watch Face Push para Wear OS

Watch Face Push es una API versátil, adecuada tanto para mejorar Androidify como para crear mercados de esferas de reloj con todas las funciones.

¿Quizá ya tienes una aplicación para teléfonos y buscas oportunidades para aumentar la interacción y la satisfacción de tus usuarios?

¿O quizás ya eres desarrollador de esferas de reloj y quieres crear tu propia comunidad y galería lanzando una aplicación de mercado?

Consulta estos recursos:

También puedes ver el vídeo complementario para descubrir con más detalle cómo hemos llevado Androidify a Wear OS.

Estamos deseando ver lo que crearás con Watch Face Push.

Escrito por:

Seguir leyendo