Birkaç ay önce, kişiselleştirilmiş Android botları oluşturmaya yönelik bir uygulama olarak Androidify'ı yeniden kullanıma sunduk. Androidify, Gemini ve Imagen'ı kullanarak selfie fotoğrafınızı eğlenceli bir Android botuna dönüştürür.
Ancak Android'in, en yeni eklememiz olan XR da dahil olmak üzere birden fazla form faktörünü kapsadığını göz önünde bulundurarak Androidify 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 doğal yer kadrandır. Bu, en sık görünen yüzey olmasının yanı sıra en kişisel yüzeydir ve kim olduğunuzu temsil etmenize olanak tanır.
Selfie resminden oluşturulan kişiselleştirilmiş Androidify kadranı
Androidify artık telefon uygulamasında dinamik olarak kadran oluşturup saatinize gönderebiliyor. Gönderilen kadran, saatinizde otomatik olarak kadranınız olarak ayarlanıyor. Tüm bunlar saniyeler içinde gerçekleşir.
Üst düzey tasarım
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 bir dizi teknolojinin birleştirilmesi gerekir.
Öncelikle kullanıcının avatarı, önceden mevcut olan bir Saat Kadranı Formatı şablonuyla birleştirilir ve ardından bir APK'da paketlenir. Bu, açıklanacak nedenlerden dolayı doğrulanmıştır. - ve saate gönderilir.
Saat tarafından alındıktan sonra, kadranı yüklemek ve etkinleştirmek için Wear OS 6'nın bir parçası olan yeni Watch Face Push API kullanılır.
Ayrıntıları inceleyelim:
Kadran şablonlarını oluşturma
Kadran, Kadran Tasarım Aracı'nda tasarlanan bir şablondan oluşturulur. Bu, doğrudan Figma'da Saat Kadranı Formatı kadranları oluşturmanıza olanak tanıyan yeni Figma eklentimizdir.
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ındaki öğeler olarak kolayca dahil edilebilir.
Paketleme ve doğrulama
Şablon ve avatar birleştirildikten sonra APK oluşturmak için Taşınabilir Öğe Derleyici Kiti (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, aktarımdan önceki son adım olarak Watch Face Push doğrulayıcı tarafından kontrol edilir.
Bu doğrulayıcı, APK'nın yüklemeye uygun olup olmadığını kontrol eder. Bu süreçte, APK'nın içeriği kontrol edilerek geçerli bir kadran olup olmadığına bakılır ve bazı performans kontrolleri yapılır. Geçerliyse doğrulayıcı bir jeton oluşturur.
Bu jeton, saatin yükleme yapması için gereklidir.
Kadran gönderiliyor
Wear OS'teki Androidify uygulaması, Giyilebilir Veri Katmanı'ndaki etkinlikleri dinlemek için WearableListenerService'i kullanır.
Telefon uygulaması, işlemi ayarlamak için MessageClient, APK'yı aktarmak için ise ChannelClient kombinasyonunu kullanarak kadranı aktarır.
Kadran saate yükleniyor
Kadran, Wear OS cihazda 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, "yuva" kavramını tanımlar. Bu kavram, belirli bir uygulamanın herhangi bir zamanda kaç kadran yükleyebileceğini ifade eder. Wear OS 6 için bu değer aslında 1'dir.
Androidify'ın yaklaşımı, boş bir yuva varsa kadranı yüklemek, yoksa mevcut kadranlardan birini yenisiyle değiştirmektir.
Etkin kadranı ayarlama
Kadranı programatik olarak yüklemek harika bir adımdır ancak Androidify, kadranın aynı zamanda etkin kadran olmasını da sağlamaya çalışır.
Watch Face Push, uygulamaların bu işlemi gerçekleştirebilmesi 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:
setWatchFaceAsActiveyalnızca bir kez kullanılabilir.SET_PUSHED_WATCH_FACE_AS_ACTIVE, kullanıcı tarafından reddedildikten sonra yeniden istenemez.- Androidify, etkin kadranı zaten kontrol ediyor olabilir.
Daha fazla bilgi için Androidify'ın etkin mantığı nasıl uyguladığına bakın.
Wear OS için Watch Face Push'u kullanmaya başlama
Watch Face Push, Androidify'ı geliştirmek ve tam özellikli kadran mağazaları oluşturmak için eşit derecede 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 etmenin yollarını mı arıyorsunuz?
Belki de mevcut bir kadran geliştiricisisiniz ve bir pazar yeri uygulaması yayınlayarak kendi topluluğunuzu ve galerinizi oluşturmak istiyorsunuz.
Şu kaynaklara göz atın:
- Watch Face Push
- Saat Kadranı Formatı: Kadran yayınlamayla ilgili yaklaşan politika değişikliklerini de inceleyin.
- Kadran Tasarımcısı
- Androidify GitHub deposu
- Androidify Play Store girişi
Androidify'ı Wear OS'e nasıl taşıdığımızı daha ayrıntılı bir şekilde öğrenmek için ilgili videoya da göz atabilirsiniz.
Watch Face Push ile neler üreteceğinizi görmek için sabırsızlanıyoruz.
-
Ürün HaberleriYakında çıkacak Android sürümünü hedefleyen uygulamalar artık WRITE_CONTACTS izniyle kişilere doğrudan yazamayacak.
Roxanna Aliabadi Walker • Okuma süresi: 6 dk. -
Ürün HaberleriTemsilci tabanlı geliştirme hızlandıkça Android mühendisliği heyecan verici yeni bir aşamaya geçiyor: yardımcı kod tamamlamadan, sizin yönlendirmenizle uçtan uca yürütülen temsilcilere geçiş. Kullandığınız modeller ve temsilciler konusunda tam bir seçim özgürlüğüne ve esnekliğe sahipsiniz.
Jason Buchel • Okuma süresi: 3 dk. -
Ürün HaberleriBugün, "bir mağazadan daha fazlası" vizyonumuzu bir sonraki aşamaya nasıl taşıdığımızı paylaştık. Google Play, aylık 250 milyondan fazla etkin kullanıcının kişisel ana sayfası olan Siz sekmesinden 700 milyondan fazla oyuncu profilini birbirine bağlayan birleşik oyun platformumuza kadar her yerde kullanıcılarla buluşuyor.
Paul Feng • Okuma süresi: 3 dk.
Android geliştiriciliğiyle ilgili en son analizleri her hafta gelen kutunuza alın.