Watch Face Format का सेटअप

ध्यान दें: इस पेज पर, वॉच फ़ेस कॉन्फ़िगरेशन को मैन्युअल तरीके से मैनेज करने की प्रोसेस का एक चरण दिखाया गया है. अगर आपको WYSIWYG (आपको जो दिखता है वही मिलता है) स्टाइल वाले टूल का इस्तेमाल करके, स्मार्टवॉच की होम स्क्रीन डिज़ाइन करनी है, तो पहले Watch Face Studio की गाइड देखें.

इस गाइड में, उन टूल के बारे में बताया गया है जिन्हें आपको Watch Face Format का इस्तेमाल करके वॉच फ़ेस को कॉन्फ़िगर करने के लिए इस्तेमाल करना होगा. साथ ही, प्रोजेक्ट स्ट्रक्चर के बारे में कुछ सुझाव दिए गए हैं. इसके अलावा, उस स्ट्रक्चर को बनाने के लिए टूल इस्तेमाल करने के बारे में चरण-दर-चरण निर्देश दिए गए हैं.

Android Studio का इस्तेमाल शुरू करना

वॉच फ़ेस को मैन्युअल तरीके से डेवलप करने के लिए, Android Studio का इस्तेमाल करना सबसे आसान तरीका है. वॉच फ़ेस की सुविधा, कैनरी चैनल में उपलब्ध है.

  1. फ़ाइल > नया प्रोजेक्ट पर क्लिक करें
  2. Wear OS में जाकर, वॉच फ़ेस चुनें

इससे वॉच फ़ेस के सभी फ़ंक्शन के लिए ज़रूरी स्ट्रक्चर तैयार होता है.

प्रोजेक्ट का स्ट्रक्चर

Watch Face Format का इस्तेमाल करके कस्टम वॉच फ़ेस बनाते समय, कस्टम वॉच फ़ेस फ़ाइल वाला Android ऐप्लिकेशन बंडल, Wear OS ऐप्लिकेशन के लॉजिक वाले Android ऐप्लिकेशन बंडल से पूरी तरह अलग होना चाहिए. Google Play जैसे कुछ ऐप्लिकेशन स्टोर, आपको ऐसा Android ऐप्लिकेशन बंडल अपलोड करने से रोकते हैं जिसमें Wear OS लॉजिक और कस्टम वॉच फ़ेस, दोनों शामिल हों.

Watch Face Format के वर्शन की जानकारी देना

अपने नए ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल (AndroidManifest.xml) में, ऐप्लिकेशन प्रॉपर्टी की जांच करें. इससे पता चलता है कि आपने Watch Face Format का इस्तेमाल किया है.

<property
    android:name="com.google.wear.watchface.format.version"
    android:value="4" />

वॉच फ़ेस फ़ॉर्मैट की कुछ सुविधाएं, सिर्फ़ बाद के वर्शन में उपलब्ध हैं. इस प्रॉपर्टी को सबसे कम वैल्यू पर सेट करें, ताकि आपको ज़रूरी सुविधाएँ मिल सकें. इससे डिवाइसों के साथ काम करने की क्षमता भी ज़्यादा होगी. साथ ही, minSdkVersion को भी इसी वैल्यू पर सेट करें. अपने ऐप्लिकेशन के वर्शन कॉन्फ़िगर करने के तरीके के बारे में ज़्यादा जानें.

<application> एलिमेंट में android:hasCode="false" एट्रिब्यूट भी शामिल होना चाहिए. वॉच फ़ेस फ़ॉर्मैट बंडल सिर्फ़ संसाधन होते हैं और इनमें कोई कोड शामिल नहीं किया जा सकता.

वॉच फ़ेस के मेटाडेटा के बारे में जानकारी देना

आपके ऐप्लिकेशन की res/xml रिसॉर्स डायरेक्ट्री में, watch_face_info.xml नाम की एक फ़ाइल मौजूद है. यहां स्मार्टवॉच की होम स्क्रीन का मेटाडेटा तय किया जाता है:

<WatchFaceInfo>
    <Preview value="@drawable/preview" />
    <Category value="CATEGORY_EMPTY" />
    <AvailableInRetail value="true" />
    <MultipleInstancesAllowed value="true" />
    <Editable value="true" />
    <FlavorsSupported value="true" />
</WatchFaceInfo>

इस फ़ाइल में मौजूद फ़ील्ड, यहां दी गई जानकारी दिखाते हैं:

Preview
यह उस ड्रॉएबल को रेफ़रंस करता है जिसमें स्मार्टवॉच की होम स्क्रीन की झलक दिखाने वाली इमेज होती है.
Category

इससे वॉच फ़ेस की कैटगरी तय होती है. यह स्ट्रिंग या स्ट्रिंग का रेफ़रंस होना चाहिए, जैसे कि @string/ref_name. डिवाइस बनाने वाली हर कंपनी, वॉच फ़ेस की कैटगरी का अपना सेट तय कर सकती है.

डिफ़ॉल्ट वैल्यू: empty_category_meta. इससे इस वॉच फ़ेस को "खाली कैटगरी" वाले अन्य वॉच फ़ेस के साथ, वॉच फ़ेस पिकर व्यू में सबसे नीचे ग्रुप किया जाता है.

AvailableInRetail

स्मार्टवॉच की होम स्क्रीन, डिवाइस के रीटेल डेमो मोड में उपलब्ध है या नहीं. यह बूलियन वैल्यू या बूलियन वैल्यू का रेफ़रंस होना चाहिए. जैसे, @bool/watch_face_available_in_retail.

डिफ़ॉल्ट वैल्यू: false

MultipleInstancesAllowed

क्या होम स्क्रीन पर एक से ज़्यादा पसंदीदा आइटम हो सकते हैं. यह बूलियन वैल्यू होनी चाहिए या बूलियन वैल्यू का रेफ़रंस होना चाहिए, जैसे कि @bool/watch_face_multiple_instances_allowed.

डिफ़ॉल्ट वैल्यू: false

Editable

क्या स्मार्टवॉच की होम स्क्रीन में बदलाव किया जा सकता है. इसका मतलब है कि स्मार्टवॉच की होम स्क्रीन में कोई सेटिंग है या कम से कम एक ऐसा विजेट है जिसे बदला जा सकता है. इस कुकी का इस्तेमाल, पसंदीदा की सूची में स्मार्टवॉच की होम स्क्रीन के लिए बदलाव करें बटन को दिखाने या छिपाने के लिए किया जाता है.

डिफ़ॉल्ट वैल्यू: false

वॉच फ़ेस का नाम बताना

अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल (AndroidManifest.xml) में, application एलिमेंट पर android:label एट्रिब्यूट को अपनी स्मार्ट वॉच की होम स्क्रीन के नाम पर सेट करें.

वॉच फ़ेस की जानकारी देना

WFF वॉच फ़ेस के बुनियादी दस्तावेज़ का स्ट्रक्चर इस तरह होता है:

<WatchFace width="450" height="450">
    <Scene>
        <!-- Content to be rendered -->
    </Scene>
</WatchFace>

Android Studio का टेंप्लेट, res/raw/watchface.xml में एक बुनियादी दस्तावेज़ उपलब्ध कराता है. अलग-अलग साइज़ और शेप वाली स्क्रीन के लिए, कई साइज़ और शेप के लिए सहायता का एलान करें.

रूट एलिमेंट हमेशा WatchFace होता है. height और width, आपके वॉच फ़ेस में इस्तेमाल किए जाने वाले कोऑर्डिनेट स्पेस की सीमा तय करते हैं. साथ ही, वॉच फ़ेस को उस डिवाइस के हिसाब से स्केल किया जाता है जिस पर उसका इस्तेमाल किया जा रहा है. height और width, असल पिक्सल को नहीं दिखाते.

Watch Face Format, आपकी स्मार्टवॉच की होम स्क्रीन के बारे में कई तरह की जानकारी व्यवस्थित करता है:

  • मेटाडेटा. जैसे, आपकी घड़ी के डायल की झलक दिखाने वाली इमेज में दिखने वाला समय और कदमों की संख्या.
  • उपयोगकर्ता के कॉन्फ़िगरेशन, जैसे कि आपके वॉच फ़ेस के लिए अलग-अलग रंग वाली थीम, उपयोगकर्ता के टॉगल किए जा सकने वाले एलिमेंट, और कई एलिमेंट में से किसी एक को चुनने का विकल्प. Watch Face Format के वर्शन 2 में फ़्लेवर की सुविधा दी गई है. ये फ़्लेवर, उपयोगकर्ता के कॉन्फ़िगरेशन में दिख सकते हैं. हर फ़्लेवर में, उपयोगकर्ता के लिए पहले से सेट किया गया कॉन्फ़िगरेशन होता है. इसमें यह जानकारी होती है कि आपकी स्मार्टवॉच की होम स्क्रीन पर समय के साथ कौनसे एलिमेंट दिखेंगे और उनकी स्टाइल क्या होगी. इन प्रीसेट की मदद से, ऐसे एलिमेंट के ग्रुप आसानी से बनाए जा सकते हैं जो देखने में अच्छे लगें. Wear OS के कंपैनियन ऐप्लिकेशन में, लोगों को आपकी स्मार्टवॉच की होम स्क्रीन के अलग-अलग वर्शन, स्क्रोल की जा सकने वाली लाइन में दिखते हैं.
  • एक सीन, जिसमें वॉच फ़ेस के विज़ुअल एलिमेंट शामिल होते हैं. सीन के आखिर में दिखने वाले एलिमेंट, अन्य एलिमेंट के ऊपर दिखते हैं. इसलिए, आम तौर पर इनका क्रम इस तरह होता है:
    • ऐनालॉग घड़ी की सुइयां या डिजिटल घड़ी का टेक्स्ट
    • कॉम्प्लिकेशन, जिनमें अतिरिक्त जानकारी दिखती है. जैसे, हफ़्ते का दिन या उपयोगकर्ता के कदमों की संख्या
    • ऐसे अन्य ग्राफ़िक जिनसे वॉच फ़ेस को दिलचस्प बनाया जा सकता है या सजाया जा सकता है. जैसे, कैंपसाइट की इमेज
  • एलिमेंट के ग्रुप, जिनकी मदद से एक ही समय में कई एलिमेंट में बदलाव किया जा सकता है. किसी सीन में इन ग्रुप के वेरिएंट बनाए जा सकते हैं. इससे सिस्टम के पावर-सेविंग ऐंबियंट मोड में आने पर, कॉन्टेंट को चुनिंदा तौर पर छिपाया या बदला जा सकता है.

एट्रिब्यूट को टाइप किया जाता है. साथ ही, वॉच फ़ेस बनाते समय गड़बड़ियों के ज़्यादातर सोर्स से बचने के लिए, फ़्रीक्वेंसी और मान्य वैल्यू से जुड़े दिशा-निर्देशों का पालन किया जाता है.

वॉच फ़ेस के साइज़ के लिए सहायता की घोषणा करना (ज़रूरी नहीं)

यह चरण सिर्फ़ तब ज़रूरी है, जब आपको स्मार्टवॉच के अलग-अलग साइज़ के लिए अलग-अलग व्यवहार को सपोर्ट करना हो. अगर आपको स्मार्टवॉच के साइज़ के हिसाब से होम स्क्रीन का साइज़ बदलना है, तो इस चरण को छोड़ दें.

अपने ऐप्लिकेशन की res/xml रिसॉर्स डायरेक्ट्री में, स्मार्ट वॉच की होम स्क्रीन की उन शेप के बारे में बताएं जिन्हें watch_face_shapes.xml में इस्तेमाल किया जा सकता है:

<WatchFaces>
    <WatchFace shape="CIRCLE" width="300" height="300"
        file="@raw/watchface_basic"/>
    <WatchFace shape="CIRCLE" width="450" height="450"
        file="@raw/watchface"/>
</WatchFaces>

इसके बाद, हर वॉच फ़ेस के आकार के लिए, वॉच फ़ेस के दिखने के तरीके और उसके व्यवहार को तय करें. अगर आपने शेप फ़ाइल तय नहीं की है, तो आपको सिर्फ़ एक फ़ाइल की ज़रूरत होगी, watchface.xml.

इस सेक्शन में दिए गए उदाहरण का इस्तेमाल करके, रॉ एक्सएमएल फ़ाइलें ये होंगी:

  • res/raw/watchface.xml
  • res/raw/watchface_basic.xml

वॉच फ़ेस पब्लिश करने वाले की पहचान करना (ज़रूरी नहीं)

इसके अलावा, ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में, कोई ऐसी स्ट्रिंग भी शामिल की जा सकती है जिसका इस्तेमाल वॉच फ़ेस के पब्लिशर की पहचान करने के लिए किया जा सकता है. इसके अलावा, इस्तेमाल किए जा रहे टूल का नाम और वर्शन भी शामिल किया जा सकता है:

<property
    android:name="com.google.wear.watchface.format.publisher"
    android:value="{toolName}-{toolVersion}" />

स्मार्ट वॉच की होम स्क्रीन की परफ़ॉर्मेंस और उसके सही होने की जांच करना

वॉच फ़ेस को डेवलप करते समय और Google Play पर अपलोड करने से पहले, यह पक्का करें कि उसमें सिंटैक्स से जुड़ी कोई गड़बड़ी न हो. इसके लिए, Android Studio में पहले से मौजूद Watch Face Format की पुष्टि करने की सुविधा का इस्तेमाल करें. यह आपके कोड में मौजूद गड़बड़ियों को अपने-आप हाइलाइट करता है. साथ ही, यह वर्शन के बारे में जानकारी देता है.

आपको यह भी देखना चाहिए कि आपके वॉच फ़ेस में मेमोरी इस्तेमाल करने से जुड़ी ज़रूरी शर्तें पूरी होती हों. इसके लिए, मेमोरी फ़ुटप्रिंट टूल का इस्तेमाल करें.

स्मार्टवॉच के लिए बने ऐप्लिकेशन बंडल को बनाना

Android Studio की मदद से, वॉच फ़ेस को आसानी से बनाया और डिप्लॉय किया जा सकता है. इसमें वॉच फ़ेस रन कॉन्फ़िगरेशन के लिए, पहले से ही सहायता उपलब्ध होती है. चलाएं बटन पर क्लिक करने के बाद, Android Studio वॉच फ़ेस को डिवाइस या एम्युलेटर पर डिप्लॉय करता है. साथ ही, इसे ऐक्टिव वॉच फ़ेस के तौर पर सेट करता है.

वॉच फ़ेस के सैंपल

वॉच फ़ेस फ़ॉर्मैट प्रोजेक्ट के अन्य सैंपल GitHub पर उपलब्ध हैं.