Watch Face Format का सेटअप

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

ज़रूरी शर्तें

Watch Face Format का इस्तेमाल करने के लिए, अपने डेवलपमेंट एनवायरमेंट को तैयार करने के लिए, सेटअप के इन चरणों को पूरा करें:

  1. Android 14 (एपीआई लेवल 34) या उसके बाद के वर्शन के लिए, SDK टूल इंस्टॉल करें. अगर आपकी स्मार्टवॉच की होम स्क्रीन वर्शन 2 की सुविधाओं या व्यवहार पर निर्भर नहीं करता है, तो आपको इसके बजाय, Android 13 (एपीआई लेवल 33) के लिए SDK टूल इंस्टॉल करें.

    SDK टूल में अन्य ज़रूरी टूल मौजूद हैं. इनमें aapt2 और android.jar भी शामिल हैं.

  2. इसके अलावा, Android Studio इंस्टॉल करें. इससे ये सुविधाएं भी मिलती हैं टूल.

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

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

स्मार्टवॉच की होम स्क्रीन का बंडल बनाएं

स्मार्टवॉच की होम स्क्रीन वाली फ़ाइल की सुविधा देने वाला Android ऐप्लिकेशन बंडल बनाने के लिए, इन चरणों के बारे में ज़्यादा जानें.

Watch Face Format के इस्तेमाल का एलान करना

अपने नए ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल (AndroidManifest.xml) में कोई ऐप्लिकेशन जोड़ें प्रॉपर्टी देखें जो आपके Watch Face Format के इस्तेमाल के बारे में बताती है. जब तक कि आप न चाहें Wear OS 5 या इसके बाद के वर्शन वाले डिवाइसों पर, अपनी स्मार्टवॉच की होम स्क्रीन के ऐक्सेस पर पाबंदी लगा सकते हैं. स्मार्टवॉच की होम स्क्रीन के लिए दो अलग-अलग APK बनाएं. इनमें से एक, वर्शन 2 के साथ काम करेगा और दूसरा वर्शन 1 का समर्थन करता है. अपने ऐप्लिकेशन के वर्शन कॉन्फ़िगर करने के तरीके के बारे में ज़्यादा जानें.

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest ...>
    <!--
        Use SDK version 34 for version 2 of WFF, and SDK version 33 for version
        1 of WFF
    -->
    <uses-sdk
        android:minSdkVersion="34"
        android:targetSdkVersion="34" />

    <!--
        WFF is a resource-only format, so the hasCode attribute should be set to
        false to reflect this.
    -->
    <application
        android:label="@string/watch_face_name"
        android:hasCode="false"
        ...>
        <property
            android:name="com.google.wear.watchface.format.version"
            android:value="2" />
    </application>
</manifest>

स्मार्टवॉच की होम स्क्रीन के मेटाडेटा की जानकारी देना

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

<?xml version="1.0" encoding="utf-8"?>
<WatchFaceInfo>
    <!-- Only "Preview" is required. -->
    <Preview value="@drawable/watch_face_preview" />
    <Category value="CATEGORY_EMPTY" />
    <AvailableInRetail value="true" />
    <MultipleInstancesAllowed value="true" />
    <Editable 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

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

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

स्मार्टवॉच की होम स्क्रीन का नाम बताएं

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

<application android:label="@string/watch_face_name" >

स्मार्टवॉच की होम स्क्रीन के साइज़ के लिए सहायता का एलान करें (ज़रूरी नहीं)

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

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

<WatchFaces>
    <!-- The default shape is "CIRCLE". -->
    <WatchFace shape="CIRCLE" width="300" height="300"
               file="@raw/watchface"/>
    <WatchFace shape="CIRCLE" width="450" height="450"
               file="@raw/watchface_large_circle"/>
    <WatchFace shape="RECTANGLE" width="380" height="400"
               file="@raw/watchface_rectangle"/>
</WatchFaces>

स्मार्टवॉच की होम स्क्रीन की जानकारी दें

अपने ऐप्लिकेशन की res/raw संसाधन डायरेक्ट्री में, file एट्रिब्यूट की वैल्यू का इस्तेमाल तब किया जाता है, जब स्मार्टवॉच की होम स्क्रीन के लिए सुविधा का एलान किया जाता है आकार शामिल करें.

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

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

  • res/raw/watchface.xml
  • res/raw/watchface_large_circle.xml
  • res/raw/watchface_rectangle.xml

रूट एलिमेंट हमेशा WatchFace होता है:

<WatchFace width="450" height="450" shape="CIRCLE">
    <!-- Remainder of your Watch Face Format definition here. -->
    <!-- If this file defines a watch face for a circular device shape, place
         resources used in this file in the "/res/drawable-nodpi" directory. -->
    <!-- If this file defines a watch face for a rectangular or other
         non-circular shape, place resources ued in this file in the
         "/res/drawable-notround-nodpi" directory. -->
</WatchFace>

स्मार्टवॉच की होम स्क्रीन पर दिखने वाले पब्लिशर की पहचान करें (ज़रूरी नहीं)

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

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

देखें कि आपकी स्मार्टवॉच की होम स्क्रीन कितनी सटीक है और उसकी परफ़ॉर्मेंस कैसी है

डेवलपमेंट के दौरान और Google Play पर अपलोड करने से पहले, पुष्टि करने वाले टूल का इस्तेमाल करें टूल का इस्तेमाल करके, यह देख सकते हैं कि आपकी स्मार्टवॉच की होम स्क्रीन में कोई गड़बड़ी नहीं है और मेमोरी के इस्तेमाल से जुड़े सुझावों का पालन करता है.

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

ऐसा 'Android ऐप्लिकेशन बंडल' बनाने के लिए जिसमें आपकी स्मार्टवॉच की होम स्क्रीन शामिल है, इसका इस्तेमाल करें Gradle बिल्ड सिस्टम. इसका इस्तेमाल करके ऐप्लिकेशन बनाने का तरीका जानें Gradle.

इसे GitHub के सैंपल में दिखाया गया है.