Ürün Haberleri

Watch Face Push ile Androidify'ı Wear OS'e getirme

Okuma süresi: 3 dakika
Garan Jenkin
Geliştirici İlişkileri Mühendisi

 

 

Birkaç ay önce, kişiselleştirilmiş Android botları oluşturmaya yönelik bir uygulama olarak Androidify'ı yeniden kullanıma sunduk. Androidify, Gemini ve Imagen'i kullanarak selfie fotoğrafınızı eğlenceli bir Android botuna dönüştürür.

Ancak Android'in en son eklenen XR da dahil olmak üzere birden fazla form faktörünü desteklediğini göz önünde bulundurarak Androidify'ın eğlencesini Wear OS'e nasıl taşıyabileceğimizi düşündük.

Androidify kadranı

Androidify botları son derece kişiselleştirilmiş olduğundan bunları sergilemek için en uygun yer kadranıdır. Kadran, en sık görünen yüzey olmasının yanı sıra en kişisel yüzeydir ve kim olduğunuzu yansıtmanıza olanak tanır.

demonstration.gif

Selfie resminden oluşturulan kişiselleştirilmiş Androidify kadranı

Androidify artık telefon uygulamasında dinamik olarak kadran oluşturup saatinize gönderebiliyor. Saatinizde otomatik olarak kadranınız olarak ayarlanıyor. Tüm bunlar saniyeler içinde gerçekleşir.

Üst düzey tasarım

image.png

Kadran oluşturma ve yükleme için uçtan uca akış

Uçtan uca deneyim elde etmek için bu üst düzey tasarım diyagramında gösterildiği gibi çeşitli teknolojilerin bir araya getirilmesi gerekir.

Öncelikle kullanıcının avatarı, önceden var olan bir Saat Kadranı Formatı şablonuyla birleştirilir ve APK olarak paketlenir. Bu durum, açıklanacak nedenlerden dolayı doğrulanmıştır. - ve kol saatine gönderilir.

Wear OS 6'nın bir parçası olan yeni Watch Face Push API, kol saatine ulaştığında saat yüzünü yüklemek ve etkinleştirmek için kullanılır.

Ayrıntıları inceleyelim:

Saat yüzü şablonları oluşturma

Kadran, Watch Face Designer'da tasarlanmış bir şablondan oluşturulur. Bu, doğrudan Figma'da Saat Kadranı Formatı kadranları oluşturmanıza olanak tanıyan yeni Figma eklentimizdir.

image.png

Watch Face Designer'da Androidify kadran şablonu

Eklenti, kadranın Saat Kadranı Formatı (WFF) kaynakları olarak dışa aktarılması da dahil olmak üzere çeşitli şekillerde dışa aktarılmasına olanak tanır. Bu kaynaklar, son kadranı dinamik olarak oluşturmak için Androidify uygulamasında öğe olarak kolayca kullanılabilir.

Paketleme ve doğrulama

Şablon ve avatar birleştirildikten sonra APK oluşturmak için Portable Asset Compiler Kit (Pack) kullanılır.

Androidify'da Pack, telefonda yerel kitaplık olarak kullanılır. Androidify'ın Pack kitaplığıyla nasıl arayüz oluşturduğu hakkında daha fazla bilgi için GitHub deposunu inceleyin.

APK, iletimden önceki son adım olarak Watch Face Push doğrulayıcısı tarafından kontrol edilir.

Bu doğrulayıcı, APK'nın yüklemeye uygun olup olmadığını kontrol eder. Bu kapsamda, APK'nın içeriği kontrol edilerek geçerli bir saat yüzü olup olmadığı ve performans kontrolleri yapılır. Geçerliyse doğrulayıcı bir jeton oluşturur.

Bu jeton, kurulum için saat tarafından gereklidir.

Kadranı gönderme

Wear OS'teki Androidify uygulaması, Wearable Data Layer'daki etkinlikleri dinlemek için WearableListenerService'i kullanır.

Telefon uygulaması, işlemi ayarlamak için MessageClient, APK'yı yayınlamak için ise ChannelClient kombinasyonunu kullanarak saat yüzünü aktarır.

Saat yüzünü saate yükleme

Kadran Wear OS cihazına alındıktan sonra Androidify uygulaması, kadranı yüklemek için yeni Watch Face Push API'yi kullanır:

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, senaryoya bağlı olarak addWatchFace veya updateWatchFace yöntemini kullanır: Watch Face Push, "yuvalar" kavramını tanımlar. Bu, belirli bir uygulamada herhangi bir zamanda kaç saat yüzü yüklenebileceğini ifade eder. Wear OS 6'da bu değer 1'dir.

Androidify, boş yer varsa kadranı yükler, yoksa mevcut kadranlardan biri yenisiyle değiştirilir.

Etkin kadranı ayarlama

Kadranı programatik olarak yüklemek harika bir adım olsa da Androidify, kadranın etkin kadran olmasını da sağlamak ister. 

Watch Face Push, uygulamaların bu işlevi kullanabilmesi için verilmesi gereken yeni bir çalışma zamanında istenen izin sunar:

com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

Bu izin alındıktan sonra, yüklü bir kadranı etkin kadran olarak ayarlamak için wfpManager.setWatchFaceAsActive() yöntemi çağrılabilir.

Ancak Androidify'ın dikkate alması gereken birkaç nokta vardır:

  • setWatchFaceAsActive yalnızca bir kez kullanılabilir.
  • SET_PUSHED_WATCH_FACE_AS_ACTIVE, kullanıcı tarafından reddedildikten sonra tekrar istenemez.
  • Androidify, etkin kadranı kontrol ediyor olabilir.

Daha fazla bilgi için Androidify'ın etkin ayarlama mantığını nasıl uyguladığını inceleyin.

Wear OS için Watch Face Push'u kullanmaya başlama

Watch Face Push, hem Androidify'ı geliştirmek hem de tam özellikli kadran mağazaları oluşturmak için uygun, çok yönlü bir API'dir.

Mevcut bir telefon uygulamanız var ve kullanıcılarınızla daha fazla etkileşim kurup onları memnun etmek için fırsatlar mı arıyorsunuz?

Belki de mevcut bir kadran geliştiricisiniz ve bir pazar yeri uygulaması yayınlayarak kendi topluluğunuzu ve galerinizi oluşturmak istiyorsunuz.

Şu kaynaklara göz atın:

Androidify'ı Wear OS'e nasıl getirdiğimizi daha ayrıntılı bir şekilde görmek için eşlik eden videoya da göz atın.

Watch Face Push ile neler oluşturacağınızı görmek için sabırsızlanıyoruz.

Yazan:

Okumaya devam edin