Novità sul prodotto

Portare Androidify su Wear OS con Watch Face Push

Lettura di 3 minuti
Garan Jenkin
Developer Relations Engineer

 

 

Alcuni mesi fa abbiamo rilanciato Androidify come app per generare bot Android personalizzati. Androidify trasforma il tuo selfie in un simpatico bot Android utilizzando Gemini e Imagen.

Tuttavia, dato che Android copre più fattori di forma, inclusa la nostra aggiunta più recente, XR, ci siamo chiesti come avremmo potuto portare il divertimento di Androidify su Wear OS.

Un quadrante Androidify

Poiché i bot di Androidify sono altamente personalizzati, il luogo naturale per mostrarli è il quadrante. Non solo è la superficie più visibile, ma anche la più personale, in quanto ti consente di rappresentare chi sei.

demonstration.gif

Quadrante Androidify personalizzato, generato dall'immagine del selfie

Androidify ora è in grado di generare un quadrante in modo dinamico all'interno dell'app per smartphone e inviarlo allo smartwatch, dove verrà impostato automaticamente come quadrante. Tutto questo avviene in pochi secondi.

Progettazione di alto livello

image.png

Flusso end-to-end per la creazione e l'installazione di quadranti

Per ottenere l'esperienza end-to-end, è necessario combinare diverse tecnologie, come mostrato in questo diagramma di progettazione di alto livello.

Innanzitutto, l'avatar dell'utente viene combinato con un modello di Watch Face Format preesistente, che viene poi inserito in un APK. Questo è convalidato, per motivi che verranno spiegati. e inviato allo smartwatch.

Una volta ricevuto dallo smartwatch, viene utilizzata la nuova API Watch Face Push, parte di Wear OS 6, per installare e attivare il quadrante.

Vediamo i dettagli:

Creazione dei modelli di quadrante

Il quadrante viene creato a partire da un modello, progettato in Watch Face Designer. Questo è il nostro nuovo plug-in Figma che ti consente di creare quadranti Watch Face Format direttamente in Figma.

image.png

Un modello di quadrante Androidify in Watch Face Designer

Il plug-in consente di esportare il quadrante in una serie di modi diversi, anche come risorse Watch Face Format (WFF). Questi possono essere facilmente incorporati come asset all'interno dell'app Androidify, per creare dinamicamente il quadrante finalizzato.

Packaging e convalida

Una volta combinati il modello e l'avatar, viene utilizzato il Portable Asset Compiler Kit (Pack) per assemblare un APK.

In Androidify, Pack viene utilizzato come libreria nativa sullo smartphone. Per maggiori dettagli su come Androidify interagisce con la libreria Pack, consulta il repository GitHub.

Come passaggio finale prima della trasmissione, l'APK viene controllato dallo strumento di convalida di Watch Face Push.

Questo strumento di convalida verifica che l'APK sia adatto all'installazione. Ciò include il controllo dei contenuti dell'APK per verificare che si tratti di un quadrante valido, nonché alcuni controlli delle prestazioni. Se è valido, lo strumento di convalida produce un token.

Questo token è richiesto dallo smartwatch per l'installazione.

Invio del quadrante in corso

L'app Androidify su Wear OS utilizza WearableListenerService per ascoltare gli eventi nel livello dati wearable.

L'app Telefono trasferisce il quadrante utilizzando una combinazione di MessageClient per configurare la procedura, quindi ChannelClient per trasmettere in streaming l'APK.

Installazione del quadrante sullo smartwatch

Una volta ricevuto il quadrante sul dispositivo Wear OS, l'app Androidify utilizza la nuova API Watch Face Push per installarlo:

  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 utilizza il metodo addWatchFace o updateWatchFace, a seconda dello scenario: Watch Face Push definisce un concetto di "slot", ovvero il numero di quadranti che una determinata app può avere installati in qualsiasi momento. Per Wear OS 6, questo valore è 1.

L'approccio di Androidify consiste nell'installare il quadrante se è disponibile uno spazio libero. In caso contrario, il quadrante esistente viene sostituito con quello nuovo.

Impostare il quadrante attivo

L'installazione del quadrante a livello di programmazione è un ottimo passo avanti, ma Androidify cerca di garantire che il quadrante sia anche quello attivo. 

Watch Face Push introduce una nuova autorizzazione di runtime che deve essere concessa affinché le app possano raggiungere questo obiettivo:

com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

Una volta acquisita questa autorizzazione, è possibile chiamare il metodo wfpManager.setWatchFaceAsActive() per impostare un quadrante installato come quadrante attivo.

Tuttavia, Androidify deve tenere conto di una serie di considerazioni:

  • setWatchFaceAsActive può essere utilizzato una sola volta.
  • SET_PUSHED_WATCH_FACE_AS_ACTIVE non può essere richiesto nuovamente dopo essere stato rifiutato dall'utente.
  • Androidify potrebbe già controllare il quadrante attivo.

Per maggiori dettagli, scopri come Androidify implementa la logica di impostazione attiva.

Iniziare a utilizzare Watch Face Push per Wear OS

Watch Face Push è un'API versatile, adatta sia per migliorare Androidify sia per creare marketplace di quadranti completi.

Forse hai già un'app per smartphone e stai cercando opportunità per coinvolgere e deliziare ulteriormente i tuoi utenti.

O magari sei uno sviluppatore di quadranti esistente che vuole creare la propria community e galleria pubblicando un'app marketplace?

Dai un'occhiata a queste risorse:

Dai un'occhiata anche al video di accompagnamento per scoprire in modo più approfondito come abbiamo portato Androidify su Wear OS.

Non vediamo l'ora di scoprire cosa realizzerai con Watch Face Push.

Scritto da:

Continua a leggere