Wear OS 6, daha gelişmiş kadran yayınlama kullanım alanları için fırsatlar sunan yeni bir API olan Watch Face Push'i kullanıma sunar.
Kadran itme özelliğini ne zaman kullanacağınızı belirleme
Kadran Gönderme, Wear OS'teki bir API'dir. Geliştiricinin kadran eklemesine, güncellemesine veya kaldırmasına olanak tanır. Standart kadran geliştirme için gerekli değildir.
Kadran Push ile kullanılan kadranlar, Kadran Formatı kullanılarak yazılmalıdır. Watch Face Studio veya Saat Kadranı Formatı'nı kullanan başka bir araç kullanılarak tasarlanmış kadranlar bu kapsamda yer alabilir.
Kadran Push API'si çeşitli şekillerde kullanılabilir. Ancak aşağıdaki tablo, temel kullanım alanları için kılavuz olarak kullanılmalıdır:
Kullanım alanına | Önerilen çözüm | Karmaşıklık |
---|---|---|
Tek tek kadranlar oluşturup yayınlamak istiyorum. | Doğrudan veya Watch Face Studio gibi bir araç aracılığıyla Saat Kadranı Formatı'nı kullanın ve kadranlarınızı Google Play'de yayınlayın. | Düşük |
Kullanıcıların, özel olarak seçilmiş bir koleksiyondan kadran seçmesine veya doğrudan Wear OS kol saatlerine yüklenecek kadranlar tasarlayıp özelleştirmesine olanak tanıyan bir telefon uygulaması oluşturmak istiyorum. | Kol saatindeki Watch Face Push API'yi kullanarak hem kol saati hem de telefon için bir uygulama oluşturun. | Yüksek |
Amaç
Kadran Push API'nin standart kullanım alanı, pazar yeri uygulaması oluşturmaktır. Kullanıcılar bu uygulamadan, telefonlarındaki özel bir koleksiyondan kadran seçebilir ve bu kadranların bağlı kol saatlerine yüklenmesini doğrudan kontrol edebilir.
Dikkat edilmesi gereken noktalar
Kadranlarınızı oluşturma hakkında ayrıntılı bilgi için Kadran Formatı kılavuzuna bakın: Kadran Push kullanılarak dağıtılan kadranlar, normal Kadran Formatı kadranlarıdır.
Kadranınızı oluştururken aşağıdaki noktaları göz önünde bulundurun.
Paket adları
Saat kadranı itme özelliği kullanılarak yüklenen kadranlar aşağıdaki kurallara uymalıdır:
<app name>.watchfacepush.<watchface name>
Burada <app name>
, kadran Push API'sini çağıran uygulamanın paket adıdır.
Örneğin, paket adı com.example.mymarketplace
olan bir uygulama için geçerli kadran paketi adları şunlardır:
com.example.mymarketplace.watchfacepush.watchface1
com.example.mymarketplace.watchfacepush.watchface2
com.example.mymarketplace.watchfacepush.another_watchface
Bu kurala uymayan kadranlar API tarafından reddedilir.
Paket içeriği
APK içerikleri kesinlikle zorunlu kılınmıştır. Saat kadranı biçiminin aşağıdaki kısıtlamalara uyması için dikkatli olunmalıdır: Zararsız meta veri dosyaları ve diğer yapıları içeren saat kadranı biçimi APK'ları teknik olarak üretilebilir. Bu APK'lar Google Play tarafından kabul edilebilir ancak saat kadranı itme doğrulamasını geçemez (aşağıya bakın).
Her kadran APK'sında yalnızca aşağıdaki dosyalar/yollar kabul edilir:
/AndroidManifest.xml
/resources.arsc
/res/**
/META-INF/**
Ayrıca, AndroidManifest.xml
dosyasında yalnızca aşağıdaki etiketlere izin verilir:
<manifest>
<uses-feature>
<uses-sdk>
<application>
<property>
<meta-data>
Son olarak paket, en az 33
boyutunda bir minSdk
belirtmeli ve <application>
etiketi android:hasCode="false"
özelliğini belirtmelidir.
Doğrulama
Google Play üzerinden dağıtılan normal kadranlardan farklı olarak, her kadranın iyi biçimlendirildiğinden ve performanslı olduğundan emin olmak için kadran itme kontrolleri Marketplace uygulamasının sorumluluğundadır.
Google Play, saat kadranı yayınlama özelliğini kullanan her kadranın kalitesini doğrulamak için aşağıdaki doğrulama kontrollerini kullanır:
- Watch Face Push API aracılığıyla yüklenen veya güncellenen tüm kadranlar, Watch Face Push doğrulama aracından geçmelidir.
- API ile kullanılacak doğrulama jetonlarını oluşturmak için yalnızca resmi doğrulama aracı kullanılabilir.
- Kullanılan doğrulama aracı, doğrulama işleminin yürütüldüğü sırada güncel olmalıdır.
Değişmeyen bir APK'nın yeniden doğrulanması gerekmez. Kullanılan doğrulama aracının sürümü geçersiz kılınsa bile jetonların süresi dolmaz.
Doğrulayıcı düzenli olarak güncellendiğinden, doğrulamayı bir süre sonra yeniden çalıştırmanızı öneririz.
Doğrulayıcıyı çalıştırma
Doğrulayıcıyı kadran APK'sında çalıştırmak için aşağıdaki adımları uygulayın:
- Doğrulayıcıyı Google'ın Maven deposundan alın.
Aracı aşağıdaki şekilde çalıştırın:
java -jar validator-push-cli-1.0.0-alpha01.jar \ --apk_path=youwatchface.apk \ --package_name=<your marketplace package name>
İşlem başarılı olursa çıkışta bir doğrulama jetonu yer alır. Bu jetonu, kadran eklerken veya güncellerken Watch Face Push API'ye sağlamanız gerekir.
Bir hata oluşursa çıkışta hangi kontrolün başarısız olduğuyla ilgili ayrıntılar yer alır.
Doğrulayıcı CLI aracını bir Gradle derlemesine dahil etme örneği için GitHub'daki Kadran Gönderme örneğine bakın.
APK boyutu
APK boyutunun minimum düzeyde tutulması için kadran itme kadranlarında özellikle dikkatli olunmalıdır: Kadran APK'sı, telefon uygulamasından kol saati uygulamasına Bluetooth üzerinden aktarılır ve bu işlem yavaş olabilir.
Çok büyük APK'ların aktarılması oldukça uzun sürebilir. Bu durum hem kötü bir kullanıcı deneyimine yol açar hem de pilin daha hızlı tükenmesine neden olur.
- Resim dosyalarının boyutunu en aza indirmek için
pngquant
gibi uygun kitaplıkları kullanın- Bu bilgileri, kadran koleksiyonu oluşturma sürecinize dahil edin.
- Resmin boyutlarının, kullanılacağı ölçeğe uygun olup olmadığını kontrol edin.
- Resimlerin, etrafındaki arka planı kaldıracak şekilde uygun şekilde kırpıldığından emin olun.
- Yazı tipi dosyalarının boyutunu küçültme
- Örneğin, yalnızca zamanı göstermek için
HH:MM
biçiminde belirli bir yazı tipini kullanıyorsanız yazı tipi dosyasını yalnızca gerekli karakterleri içerecek şekilde sınırlamak içinpyftsubset
gibi bir araç kullanabilirsiniz. Bu, oluşturulan yazı tipi dosyasının ve APK'nın boyutunu önemli ölçüde azaltabilir. Diğer durumlarda yazı tipi dosya boyutunu küçültmeyle ilgili ayrıntılar için bu blog yayınını inceleyin.
- Örneğin, yalnızca zamanı göstermek için
APK boyutunu en aza indirmeyle ilgili daha fazla öneri için Hafıza kullanımını optimize etme kılavuzu başlıklı makaleyi inceleyin.
APK imzalama
Normal bir APK olarak tüm kadranlarınızın imzalanması gerekir. Ana uygulamanızda kullanılandan farklı bir anahtar oluşturun ve tüm kadranlarınız için bu anahtarı kullanın.
Mimari
Sistemin üç ana bileşenini göz önünde bulundurun:
- Bulut tabanlı depolama alanı: Resmi Marketplace uygulamasında kadranlarınız bulutta oluşturulur ve depolanır. Böylece kullanıcılarınız tarafından kullanılabilir. Kadranlar:
- Normal kadran biçimi APK'ları olarak önceden oluşturulmuş
- Her biri yalnızca tek bir Saat Kadranı Formatı tabanlı kadran içermelidir.
- Kadran Gönderme doğrulama süreci kullanılarak doğrulanmış olmalıdır ve ilişkili doğrulama jetonuyla birlikte depolanmalıdır.
- Telefon uygulamanız tarafından gerektiğinde alınabilir.
- Telefon uygulaması: Telefon uygulaması, kullanıcılarınızın sisteminizle etkileşime geçmesinin ana yoludur. Bu sayede:
- Kadran kataloğunuza göz atma ve katalogda arama yapma
- Kol saatine kadran yükleme veya kadran değiştirme
- Kol saati uygulaması: Kol saati uygulamasında genellikle önemli bir kullanıcı arayüzü olmayabilir. Bu API, öncelikle telefon uygulaması ile kadran itme API'leri arasında bir köprü görevi görür ve aşağıdaki işlevleri sunar:
- Kadran yüklemek/güncellemek veya değiştirmek için Watch Face Push API'yi kullanma
- Gerekli izinleri isteme ve kullanıcıdan istemde bulunma
- Varsayılan kadran sağlama
- Kadranların minimum düzeyde önbelleğe alınması
- Telefon ve kol saati arasındaki iletişim: Telefon ve kol saati uygulaması arasındaki iletişim, genel deneyimin başarısı açısından çok önemlidir. Aşağıdakilere izin veren Wear OS Veri Katmanı API'lerini kullanın:
- Yükleme algılama: Telefon uygulaması,
CapabilityClient
ve özellikleri kullanarak kol saati uygulamasının bulunmadığını algılayabilir. Kol saati uygulaması da aynısını yapabilir. Ardından, Play Store'da eksik form faktörünü yüklemek için bir intent başlatılabilir. - Durum yönetimi:
DataClient
veyaMessageClient
kullanılarak telefon, kol saatinin durumuyla senkronize edilebilir. Örneğin, telefonda hangi kadran ayarlandığından emin olunabilir. - APK aktarımı:
ChannelClient
veyaMessageClient
kullanılarak APK'lar telefondan saate gönderilebilir - Uzaktan çağrı: Telefon,
Messageclient
kullanarak saate kadran yüklemek için kadran Push API'sini çağırmasını talimat verebilir.
- Yükleme algılama: Telefon uygulaması,
Daha fazla bilgi için Veri Katmanı API'si kılavuzuna bakın.