Ü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 yeni eklememiz XR da dahil olmak üzere birden fazla form faktörünü kapsaması nedeniyle, Androidify'ın eğlencesini Wear OS'e nasıl taşıyabileceğimizi düşündük.

Androidify kadranı

Androidify botları oldukça kişiselleştirilmiş olduğundan bunları göstermek için en uygun yer kadranlardır. Profiliniz, en sık görünen yüzey olmasının yanı sıra en kişisel yüzeydir. Bu sayede kim olduğunuzu gösterebilirsiniz.

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 deneyimi 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:

Kadran şablonları oluşturma

Kadran, Watch Face Designer'da tasarlanmış bir şablondan oluşturulur. Bu, doğrudan Figma'da Saat Kadranı Formatı saat 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ı da dahil olmak üzere çeşitli şekillerde dışa aktarılmasına olanak tanır. Bunlar daha sonra, nihai 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 deposuna bakın.

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, saatin yüklenmesi için 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.

Kadranı 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: Kadranı gönderme, "yuvalar" kavramını tanımlar. Bu, belirli bir uygulamada herhangi bir zamanda kaç tane kadran yüklenebileceğini ifade eder. Wear OS 6 için bu değer aslında 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. 

Saat Yüzü Gönderme özelliği, uygulamaların bunu yapabilmesi 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.

Belki de mevcut bir telefon uygulamanız vardır ve kullanıcılarınızla daha fazla etkileşim kurup onları memnun etmek için fırsatlar arıyorsunuzdur.

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