Wear OS 6 में एक नया एपीआई, Watch Face Push पेश किया गया है. इससे वॉच फ़ेस पब्लिश करने के ज़्यादा बेहतर तरीके इस्तेमाल किए जा सकते हैं.
यह पहचान करना कि Watch Face Push का इस्तेमाल कब करना है
Watch Face Push, Wear OS पर मौजूद एक एपीआई है. इसकी मदद से डेवलपर, सीधे तौर पर स्मार्टवॉच की होम स्क्रीन जोड़ सकते हैं, उन्हें अपडेट कर सकते हैं या हटा सकते हैं. वॉच फ़ेस के स्टैंडर्ड वर्शन को डेवलप करने के लिए, इसकी ज़रूरत नहीं होती.
Watch Face Push के साथ इस्तेमाल किए जाने वाले वॉच फ़ेस, Watch Face Format का इस्तेमाल करके बनाए जाने चाहिए. इसमें Watch Face Studio या किसी ऐसे टूल का इस्तेमाल करके डिज़ाइन किए गए वॉच फ़ेस शामिल हो सकते हैं जो Watch Face Format का इस्तेमाल करके वॉच फ़ेस बनाता है.
Watch Face Push API का इस्तेमाल कई तरीकों से किया जा सकता है. हालांकि, इस्तेमाल के मुख्य उदाहरणों के लिए, इस टेबल को गाइड के तौर पर इस्तेमाल किया जाना चाहिए:
इस्तेमाल का उदाहरण | अनुशंसित समाधान | जटिलता |
---|---|---|
मुझे अलग-अलग वॉच फ़ेस बनाने और उन्हें पब्लिश करना है. | Watch Face Format का इस्तेमाल करके, सीधे तौर पर या 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, इन शर्तों का पालन करता हो: तकनीकी तौर पर, 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"
एट्रिब्यूट की वैल्यू तय होनी चाहिए.
पुष्टि करें
Google Play के ज़रिए डिस्ट्रिब्यूट किए जाने वाले सामान्य वॉच फ़ेस के उलट, वॉच फ़ेस पुश यह पक्का करता है कि हर वॉच फ़ेस अच्छी तरह से बना हो और अच्छी परफ़ॉर्मेंस दे रहा हो. यह ज़िम्मेदारी, Marketplace ऐप्लिकेशन की होती है.
Google Play, Watch Face Push का इस्तेमाल करने वाले हर वॉच फ़ेस की क्वालिटी की पुष्टि करने के लिए, इन मान्यताओं की जांच करता है:
- Watch Face Push API के ज़रिए इंस्टॉल या अपडेट किए गए सभी वॉच फ़ेस, Watch Face Push validation tool की ज़रूरी शर्तों को पूरा करते हों.
- एपीआई के साथ इस्तेमाल करने के लिए, पुष्टि करने वाले टोकन जनरेट करने के लिए, सिर्फ़ आधिकारिक पुष्टि करने वाले टूल का इस्तेमाल किया जा सकता है.
- पुष्टि करने के लिए इस्तेमाल किया गया टूल, पुष्टि करते समय अप-टू-डेट होना चाहिए.
जिस APK में कोई बदलाव नहीं किया गया है उसकी फिर से पुष्टि करने की ज़रूरत नहीं है. टोकन की समयसीमा खत्म नहीं होती. भले ही, इस्तेमाल किए गए पुष्टि करने वाले टूल का वर्शन बदल गया हो.
हमारा सुझाव है कि आप समय-समय पर पुष्टि करने की प्रोसेस को फिर से चलाएं, क्योंकि पुष्टि करने वाला टूल समय-समय पर अपडेट होता रहता है.
पुष्टि करने वाले प्रोग्राम को चलाना
पुष्टि करने वाला प्रोग्राम तीन फ़ॉर्म में उपलब्ध है:
- सीएलआई टूल
- जेवीएम के साथ इस्तेमाल की जाने वाली लाइब्रेरी
- Android पर इस्तेमाल की जाने वाली लाइब्रेरी
कमांड-लाइन की मदद से पुष्टि करने वाले टूल का इस्तेमाल करना
- Google की Maven रिपॉज़िटरी से पुष्टि करने वाला टूल पाएं.
टूल को इस तरह चलाएं:
java -jar validator-push-cli-1.0.0-alpha06.jar \ --apk_path=<your watch face>.apk \ --package_name=<your marketplace package name>
अगर पुष्टि हो जाती है, तो आउटपुट में पुष्टि करने वाला टोकन शामिल होता है. वॉच फ़ेस जोड़ने या अपडेट करने के दौरान, आपको यह टोकन Watch Face Push API को देना होगा.
अगर कोई गड़बड़ी होती है, तो आउटपुट में इस बारे में जानकारी शामिल होती है कि कौनसी खास जांच पूरी नहीं हुई.
लाइब्रेरी की पुष्टि करने वाले प्रोग्राम का इस्तेमाल
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:1.0.0-alpha06") // For use on Android implementation("com.google.android.wearable.watchface.validator-android:1.0.0-alpha06")
पुष्टि करने वाले प्रोग्राम को चलाएं:
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 का साइज़
Watch Face Push की सुविधा वाले वॉच फ़ेस के लिए, यह पक्का करना ज़रूरी है कि APK का साइज़ कम से कम हो: वॉच फ़ेस APK को ब्लूटूथ के ज़रिए, फ़ोन ऐप्लिकेशन से स्मार्टवॉच ऐप्लिकेशन पर ट्रांसफ़र किया जाता है. इसमें समय लग सकता है.
एपीके का साइज़ बहुत ज़्यादा होने पर, उसे ट्रांसफ़र होने में काफ़ी समय लग सकता है. इससे उपयोगकर्ता का अनुभव खराब होता है और बैटरी भी ज़्यादा खर्च होती है.
- इमेज फ़ाइल के साइज़ को कम से कम रखने के लिए,
pngquant
जैसी सही लाइब्रेरी का इस्तेमाल करें- स्मार्टवॉच की होम स्क्रीन के कलेक्शन को बनाने की प्रोसेस में इसे शामिल करें
- देखें कि इमेज के डाइमेंशन, उस स्केल के हिसाब से सही हों जिस पर इसका इस्तेमाल किया जाएगा.
- पक्का करें कि इमेज को सही तरीके से काटा गया हो, ताकि आस-पास का बैकग्राउंड हट जाए.
- फ़ॉन्ट फ़ाइलों का साइज़ कम करें
- उदाहरण के लिए, अगर आपको सिर्फ़ समय दिखाने के लिए किसी फ़ॉन्ट का इस्तेमाल करना है, तो
HH:MM
फ़ॉर्मैट में,pyftsubset
जैसे टूल का इस्तेमाल किया जा सकता है. इससे फ़ॉन्ट फ़ाइल में सिर्फ़ ज़रूरी ग्लिफ़ शामिल किए जा सकते हैं. इससे फ़ॉन्ट फ़ाइल और APK का साइज़ काफ़ी कम हो सकता है. अन्य मामलों में, फ़ॉन्ट फ़ाइल के साइज़ को कम करने के बारे में जानकारी पाने के लिए, यह ब्लॉग पोस्ट पढ़ें.
- उदाहरण के लिए, अगर आपको सिर्फ़ समय दिखाने के लिए किसी फ़ॉन्ट का इस्तेमाल करना है, तो
एपीके का साइज़ कम रखने के बारे में ज़्यादा सुझाव पाने के लिए, मेमोरी के इस्तेमाल को ऑप्टिमाइज़ करने से जुड़े दिशा-निर्देश देखें.
APK पर हस्ताक्षर करना
रेगुलर APK के तौर पर, आपके सभी वॉच फ़ेस पर हस्ताक्षर होना ज़रूरी है. अपने मुख्य ऐप्लिकेशन के लिए इस्तेमाल की गई कुंजी से अलग कोई दूसरी कुंजी बनाएं. साथ ही, अपने सभी वॉच फ़ेस के लिए उस कुंजी का इस्तेमाल करें.
भवन निर्माण
सिस्टम के तीन मुख्य कॉम्पोनेंट पर ध्यान दें:
- क्लाउड-आधारित स्टोरेज: कैननिकल Marketplace ऐप्लिकेशन में, आपके वॉच फ़ेस क्लाउड में बनाए और सेव किए जाते हैं. इन्हें आपके उपयोगकर्ता इस्तेमाल कर सकते हैं. स्मार्टवॉच की होम स्क्रीन ये हैं:
- इन्हें Watch Face Format के सामान्य 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 और
ज़्यादा जानकारी के लिए, डेटा लेयर एपीआई के दिशा-निर्देश देखें.