Wear OS 6 में एक नया एपीआई, Watch Face Push पेश किया गया है. इससे वॉच फ़ेस पब्लिश करने के ज़्यादा बेहतर तरीके इस्तेमाल किए जा सकते हैं.
यह पहचान करना कि Watch Face Push का इस्तेमाल कब करना है
Watch Face Push, Wear OS पर मौजूद एक एपीआई है. इसकी मदद से डेवलपर, सीधे तौर पर स्मार्टवॉच की होम स्क्रीन जोड़ सकते हैं, उन्हें अपडेट कर सकते हैं या हटा सकते हैं. वॉच फ़ेस के स्टैंडर्ड वर्शन को डेवलप करने के लिए, इसकी ज़रूरत नहीं होती.
Watch Face Push के साथ इस्तेमाल किए जाने वाले वॉच फ़ेस, Watch Face Format का इस्तेमाल करके बनाए जाने चाहिए. इसमें Watch Face Designer, Watch Face Studio या किसी ऐसे टूल का इस्तेमाल करके डिज़ाइन किए गए वॉच फ़ेस शामिल हो सकते हैं जो Watch Face Format का इस्तेमाल करके वॉच फ़ेस बनाता है.
Watch Face Push API का इस्तेमाल कई तरीकों से किया जा सकता है. हालांकि, यहां दी गई टेबल में, इसके इस्तेमाल के मुख्य उदाहरणों के बारे में बताया गया है:
इस्तेमाल का उदाहरण | अनुशंसित समाधान | जटिलता |
---|---|---|
मुझे अलग-अलग वॉच फ़ेस बनाने और उन्हें पब्लिश करना है. | Watch Face Format का इस्तेमाल करके, सीधे तौर पर या Watch Face Designer या Watch Face Studio जैसे टूल की मदद से वॉच फ़ेस बनाएं. इसके बाद, उन्हें Google Play पर पब्लिश करें. | कम |
मुझे एक ऐसा फ़ोन ऐप्लिकेशन बनाना है जो लोगों को, चुने गए कलेक्शन से वॉच फ़ेस चुनने की सुविधा दे. इसके अलावा, उन्हें सीधे तौर पर Wear OS स्मार्टवॉच पर इंस्टॉल करने के लिए, वॉच फ़ेस डिज़ाइन करने और उन्हें पसंद के मुताबिक बनाने की सुविधा भी दे. | स्मार्टवॉच और फ़ोन, दोनों के लिए एक ऐप्लिकेशन बनाएं. इसके लिए, स्मार्टवॉच पर Watch Face Push API का इस्तेमाल करें. | ज़्यादा |
मकसद
Watch Face Push API का इस्तेमाल, मार्केटप्लेस ऐप्लिकेशन बनाने के लिए किया जाता है. इस ऐप्लिकेशन की मदद से, लोग अपने फ़ोन पर होम स्क्रीन का कलेक्शन देख सकते हैं. साथ ही, कनेक्ट की गई स्मार्ट वॉच पर होम स्क्रीन को सीधे तौर पर इंस्टॉल कर सकते हैं.
ज़रूरी बातें
वॉच फ़ेस बनाने के बारे में ज़्यादा जानने के लिए, Watch Face Format के दिशा-निर्देश पढ़ें. Watch Face Push का इस्तेमाल करके डिप्लॉय किए गए वॉच फ़ेस, Watch Face Format के सामान्य वॉच फ़ेस होते हैं.
वॉच फ़ेस बनाते समय, इन बातों का ध्यान रखें.
पैकेज के नाम
Watch Face Push का इस्तेमाल करके इंस्टॉल किए गए वॉच फ़ेस, इन शर्तों के मुताबिक होने चाहिए:
<app name>.watchfacepush.<watchface name>
... जहां <app name>
, Watch Face
Push API को कॉल करने वाले ऐप्लिकेशन के पैकेज का नाम है.
उदाहरण के लिए, com.example.mymarketplace
पैकेज के नाम वाले ऐप्लिकेशन के लिए, वॉच फ़ेस के पैकेज के ये नाम मान्य हैं:
com.example.mymarketplace.watchfacepush.watchface1
com.example.mymarketplace.watchfacepush.watchface2
com.example.mymarketplace.watchfacepush.another_watchface
एपीआई, इस कन्वेंशन का पालन न करने वाले वॉच फ़ेस को अस्वीकार कर देता है.
पैकेज में मौजूद कॉन्टेंट
सिस्टम, एपीके के कॉन्टेंट को सख्ती से लागू करता है. तकनीकी तौर पर, Watch Face Format वाले ऐसे APK बनाए जा सकते हैं जिनमें नुकसान न पहुंचाने वाली मेटाडेटा फ़ाइलें और अन्य आर्टफ़ैक्ट शामिल हों. ऐसा हो सकता है कि Google Play इन्हें स्वीकार कर ले, लेकिन ये वॉच फ़ेस पुश की पुष्टि करने की प्रोसेस को पूरा न कर पाएं. इसके बारे में यहां बताया गया है.
स्मार्टवॉच की होम स्क्रीन वाले हर APK में सिर्फ़ ये फ़ाइलें/पाथ होने चाहिए:
/AndroidManifest.xml
/resources.arsc
/res/**
/META-INF/**
इसके अलावा, AndroidManifest.xml
फ़ाइल में सिर्फ़ ये टैग होने चाहिए:
<manifest>
<uses-feature>
<uses-sdk>
<application>
<property>
<meta-data>
आखिर में, पैकेज में कम से कम 33
का minSdk
होना चाहिए. साथ ही, <application>
टैग में android:hasCode="false"
एट्रिब्यूट की वैल्यू तय होनी चाहिए.
Validation
Google Play के ज़रिए डिस्ट्रिब्यूट किए जाने वाले सामान्य वॉच फ़ेस के उलट, Marketplace ऐप्लिकेशन की यह ज़िम्मेदारी है कि वह पुष्टि करे कि Watch Face Push के सभी वॉच फ़ेस सही तरीके से बनाए गए हैं और अच्छी परफ़ॉर्मेंस देते हैं.
वॉच फ़ेस पुश, हर वॉच फ़ेस की क्वालिटी की पुष्टि करने के लिए, पुष्टि करने वाली इन जांचों का इस्तेमाल करता है:
- Watch Face Push API के ज़रिए इंस्टॉल या अपडेट किए गए सभी वॉच फ़ेस, Watch Face Push validation tool की ज़रूरी शर्तों को पूरा करते हों.
- एपीआई के साथ इस्तेमाल करने के लिए, पुष्टि करने वाले टोकन जनरेट करने के लिए, सिर्फ़ आधिकारिक पुष्टि करने वाले टूल का इस्तेमाल करें.
- पुष्टि करने की प्रोसेस शुरू करने से पहले, यह ज़रूरी है कि पुष्टि करने वाला टूल अप-टू-डेट हो.
अगर किसी APK में बदलाव नहीं किया गया है, तो आपको उसकी पुष्टि फिर से करने की ज़रूरत नहीं है. टोकन की समयसीमा खत्म नहीं होती. भले ही, इस्तेमाल किए गए पुष्टि करने वाले टूल का वर्शन बदल गया हो.
हमारा सुझाव है कि आप समय-समय पर पुष्टि करने की प्रोसेस को फिर से चलाएं, क्योंकि पुष्टि करने वाला टूल समय-समय पर अपडेट होता रहता है.
पुष्टि करने वाले प्रोग्राम को चलाना
पुष्टि करने वाला प्रोग्राम तीन फ़ॉर्म में उपलब्ध है:
- सीएलआई टूल
- जेवीएम के साथ इस्तेमाल की जाने वाली लाइब्रेरी
- Android पर इस्तेमाल की जाने वाली लाइब्रेरी
कमांड-लाइन की मदद से पुष्टि करने वाले टूल का इस्तेमाल करना
- Google की Maven रिपॉज़िटरी से पुष्टि करने वाला टूल पाएं.
टूल को इस तरह चलाएं:
java -jar validator-push-cli-1.0.0-alpha07.jar \ --apk_path=<your watch face>.apk \ --package_name=<your marketplace package name>
अगर पुष्टि हो जाती है, तो आउटपुट में पुष्टि करने वाला टोकन शामिल होता है. वॉच फ़ेस जोड़ने या अपडेट करने के दौरान, आपको यह टोकन Watch Face Push API को देना होगा.
अगर कोई गड़बड़ी होती है, तो आउटपुट में इस बारे में जानकारी शामिल होती है कि कौनसी खास जांच पूरी नहीं हुई.
लाइब्रेरी की पुष्टि करने वाले प्रोग्राम का इस्तेमाल
Google और Jitpack रिपॉज़िटरी शामिल करें. मान्य करने वाली लाइब्रेरी का इस्तेमाल करने के लिए, दोनों ज़रूरी हैं.
repositories { ... google() maven { url = uri("https://jitpack.io") content { includeGroup("com.github.xgouchet") } } }
अपने प्रोजेक्ट में, पुष्टि करने वाले टूल की डिपेंडेंसी शामिल करें:
// For use on JVM implementation("com.google.android.wearable.watchface.validator:validator-push:1.0.0-alpha07") // For use on Android implementation("com.google.android.wearable.watchface.validator:validator-push-android:1.0.0-alpha07")
पुष्टि करने वाले प्रोग्राम को चलाएं:
val validator = DwfValidatorFactory.create() val result = validator.validate(watchFaceFile, appPackageName) if (result.failures().isEmpty()) { val token = result.validationToken() println("Validation token: $token") // Validation success - continue with the token // ... } else { // There were failures, handle them accordingly - validation has failed. result.failures().forEach { failure -> println("FAILURE: ${failure.name()}: ${failure.failureMessage()}") // ... } }
इस लाइब्रेरी का इस्तेमाल करने का उदाहरण देखने के लिए, GitHub का सैंपल देखें. Portable Asset Compiler Kit (Pack) लाइब्रेरी के बारे में भी जानें. यह लाइब्रेरी, डिवाइस पर APK बनाने के लिए काम की है. इसका इस्तेमाल, Android पर आधारित पुष्टि करने वाले टूल के साथ किया जा सकता है.
APK का साइज़
APK का साइज़ कम करने के लिए, वॉच फ़ेस पुश करने की सुविधा वाले वॉच फ़ेस का खास तौर पर ध्यान रखें: वॉच फ़ेस APK को फ़ोन ऐप्लिकेशन से स्मार्टवॉच ऐप्लिकेशन में ब्लूटूथ के ज़रिए ट्रांसफ़र किया जाता है. इसमें समय लग सकता है.
एपीके का साइज़ बहुत ज़्यादा होने पर, उसे ट्रांसफ़र होने में काफ़ी समय लग सकता है. इससे उपयोगकर्ता का अनुभव खराब होता है और बैटरी भी ज़्यादा खर्च होती है.
- इमेज फ़ाइल के साइज़ को कम से कम रखने के लिए,
pngquant
जैसी सही लाइब्रेरी का इस्तेमाल करें- स्मार्टवॉच की होम स्क्रीन के कलेक्शन को बनाने की प्रोसेस में इसे शामिल करें
- देखें कि इमेज के डाइमेंशन, उस स्केल के हिसाब से सही हों जिस पर आपको उसका इस्तेमाल करना है.
- इमेज को सही तरीके से काटा गया हो, ताकि आस-पास का बैकग्राउंड हट जाए.
- फ़ॉन्ट फ़ाइलों का साइज़ कम करें
- उदाहरण के लिए, अगर आपको सिर्फ़ समय दिखाने के लिए किसी फ़ॉन्ट का इस्तेमाल करना है, तो
HH:MM
फ़ॉर्मैट में,pyftsubset
जैसे टूल का इस्तेमाल करके, फ़ॉन्ट फ़ाइल को सिर्फ़ ज़रूरी ग्लिफ़ तक सीमित किया जा सकता है. इससे फ़ॉन्ट फ़ाइल और APK का साइज़ काफ़ी कम हो सकता है. अन्य मामलों में, फ़ॉन्ट फ़ाइल के साइज़ को कम करने के बारे में जानकारी पाने के लिए, यह ब्लॉग पोस्ट पढ़ें.
- उदाहरण के लिए, अगर आपको सिर्फ़ समय दिखाने के लिए किसी फ़ॉन्ट का इस्तेमाल करना है, तो
APK का साइज़ कम रखने के बारे में ज़्यादा सुझाव पाने के लिए, मेमोरी के इस्तेमाल को ऑप्टिमाइज़ करने से जुड़े दिशा-निर्देश देखें.
APK पर हस्ताक्षर करना
सामान्य APK की तरह, आपको अपने सभी वॉच फ़ेस पर हस्ताक्षर करने होंगे. अपने मुख्य ऐप्लिकेशन के लिए इस्तेमाल की जाने वाली कुंजी से अलग कोई कुंजी बनाएं. साथ ही, अपने सभी वॉच फ़ेस के लिए उस कुंजी का इस्तेमाल करें.
भवन निर्माण
सिस्टम के चार मुख्य कॉम्पोनेंट के बारे में जानें:
- क्लाउड-आधारित स्टोरेज: कैननिकल Marketplace ऐप्लिकेशन में, वॉच फ़ेस बनाए और क्लाउड में सेव किए जाते हैं. इससे, उपयोगकर्ता उन्हें आसानी से इस्तेमाल कर पाते हैं. वॉच फ़ेस में ये प्रॉपर्टी होती हैं:
- इन्हें Watch Face Format वाले सामान्य APK के तौर पर पहले से बनाया जाता है.
- हर APK में, सिर्फ़ एक Watch Face Format पर आधारित वॉच फ़ेस होता है.
- इनकी पुष्टि, वॉच फ़ेस पुश की पुष्टि करने की प्रोसेस से की जाती है. साथ ही, इन्हें पुष्टि करने वाले टोकन के साथ सेव किया जाता है.
- आपका फ़ोन ऐप्लिकेशन, ज़रूरत के हिसाब से उन्हें वापस पा सकता है.
- फ़ोन ऐप्लिकेशन: फ़ोन ऐप्लिकेशन, उपयोगकर्ताओं के लिए आपके सिस्टम से इंटरैक्ट करने का मुख्य तरीका है. इससे उन्हें ये काम करने की अनुमति मिलती है:
- वॉच फ़ेस का कैटलॉग ब्राउज़ करना और खोजना
- स्मार्ट वॉच पर कोई होम स्क्रीन इंस्टॉल करना या उसे बदलना
- स्मार्टवॉच के लिए ऐप्लिकेशन: स्मार्टवॉच के लिए ऐप्लिकेशन में आम तौर पर, कोई खास यूज़र इंटरफ़ेस नहीं होता है. यह मुख्य रूप से फ़ोन ऐप्लिकेशन और वॉच फ़ेस
पुश एपीआई के बीच एक पुल का काम करता है. इसमें ये सुविधाएं शामिल हैं:
- स्मार्ट वॉच की होम स्क्रीन को इंस्टॉल/अपडेट करने या बदलने के लिए, Watch Face Push API का इस्तेमाल करना
- ज़रूरी अनुमतियों के लिए अनुरोध करना और उपयोगकर्ता को सूचना देना
- डिफ़ॉल्ट वॉच फ़ेस उपलब्ध कराना
- वॉच फ़ेस की कम से कम कैश मेमोरी उपलब्ध कराना
- फ़ोन और स्मार्टवॉच के बीच कम्यूनिकेशन: फ़ोन और स्मार्टवॉच के बीच कम्यूनिकेशन, बेहतर अनुभव के लिए बहुत ज़रूरी है. Wear OS डेटा लेयर एपीआई का इस्तेमाल करें. इनकी मदद से ये काम किए जा सकते हैं:
- इंस्टॉल किए गए ऐप्लिकेशन का पता लगाना: Capabilities और
CapabilityClient
का इस्तेमाल करके, फ़ोन ऐप्लिकेशन स्मार्टवॉच ऐप्लिकेशन के इंस्टॉल न होने का पता लगा सकता है. इसी तरह, स्मार्टवॉच ऐप्लिकेशन भी फ़ोन ऐप्लिकेशन के इंस्टॉल न होने का पता लगा सकता है. इसके बाद, Play Store पर इंटेंट लॉन्च करके, फ़ॉर्म फ़ैक्टर इंस्टॉल किया जा सकता है. - स्टेट मैनेजमेंट:
DataClient
याMessageClient
का इस्तेमाल करके, फ़ोन को स्मार्टवॉच की स्थिति के साथ सिंक किया जाता है. उदाहरण के लिए, ऐक्टिव वॉच फ़ेस की स्थिति को सिंक करना. - APK ट्रांसमिशन:
ChannelClient
याMessageClient
का इस्तेमाल करके, फ़ोन से घड़ी पर APK भेजें - रिमोट इनवोकेशन:
Messageclient
का इस्तेमाल करके, फ़ोन स्मार्टवॉच को Watch Face Push API को कॉल करने का निर्देश दे सकता है. उदाहरण के लिए, स्मार्टवॉच की होम स्क्रीन इंस्टॉल करने के लिए.
- इंस्टॉल किए गए ऐप्लिकेशन का पता लगाना: Capabilities और
ज़्यादा जानकारी के लिए, डेटा लेयर एपीआई के दिशा-निर्देश देखें.