विजेट, स्मार्टवॉच और सामान्य घड़ी, दोनों की होम स्क्रीन पर मौजूद होते हैं. ये होम स्क्रीन पर अतिरिक्त जानकारी दिखाते हैं. आम तौर पर, उपयोगकर्ता यह चुनता है कि कॉम्प्लिकेशन में कौनसी जानकारी दिखाई जाए.
आम तौर पर, स्मार्टवॉच के विजेट कई तरह के होते हैं:
- आयताकार
- गोलाकार
- वॉच फ़ेस के किनारे पर मौजूद आर्क
- बैकग्राउंड, जो वॉच फ़ेस के पूरे हिस्से को कवर करता है
Wear OS में, कॉम्प्लिकेशन सिस्टम को दो हिस्सों में बांटा जा सकता है:
- कॉम्प्लिकेशन डेटा सोर्स
- Android स्मार्टवॉच के संकेत को रेंडर करना
उदाहरण के लिए, सेहत और फ़िटनेस से जुड़ा कोई ऐप्लिकेशन, रोज़ के कदमों की संख्या के कॉम्प्लिकेशन डेटा सोर्स को लागू कर सकता है. इसे WFF वॉच फ़ेस से रेंडर किया जा सकता है.
कॉम्प्लिकेशन में डेटा सोर्स
कॉम्प्लिकेशन डेटा सोर्स सिर्फ़ रेंडर किए जाने वाले डेटा और कॉम्प्लिकेशन के टाइप के बारे में बताते हैं. डेटा सोर्स से यह तय नहीं होता कि वॉच फ़ेस पर डेटा कैसे दिखाया जाना चाहिए.
उदाहरण के लिए, सेहत और फ़िटनेस से जुड़े, रोज़ के कदमों की जानकारी देने वाले कॉम्प्लिकेशन के डेटा सोर्स से यह डेटा मिल सकता है. इससे पता चलता है कि उपयोगकर्ता ने आज 10,000 कदमों के टारगेट में से 2,400 कदम पूरे कर लिए हैं:
- टाइप:
GOAL_PROGRESS - मान:
2400 - TargetValue:
10000
ध्यान दें कि इस डेटा में ऐसा कुछ भी नहीं है जिससे यह पता चले कि इसे कैसे रेंडर किया जाना चाहिए.
वॉच फ़ेस से पता चलता है कि वह किस तरह की कॉम्प्लिकेशन रेंडर कर सकता है. इससे यह तय होता है कि उपयोगकर्ता के लिए कौनसे डेटा सोर्स उपलब्ध होंगे.
डेली स्टेप्स के उदाहरण में, वॉच फ़ेस की परिभाषा में यह तय किया जाता है कि Value और TargetValue को कैसे रेंडर करना है: क्या यह टेक्स्ट के तौर पर होगा या प्रोग्रेस इंडिकेटर के तौर पर? वॉच फ़ेस डिज़ाइनर के तौर पर, यह फ़ैसला आपको लेना है.
स्मार्टवॉच के विजेट के बारे में जानकारी
वॉच फ़ेस पर कॉम्प्लिकेशन दिखाने की सुविधा देने से, लोगों को फ़ायदा मिल सकता है. इससे उन्हें एक नज़र में ज़्यादा जानकारी मिलती है और वे अपनी ज़रूरतों के हिसाब से जानकारी देख पाते हैं.
तय करें कि आपको अपनी वॉच फ़ेस पर कितनी कॉम्प्लिकेशन दिखानी हैं और उन्हें दिखाना है या नहीं. साथ ही, यह भी तय करें कि उनका आकार और जगह क्या होगी और वे किस तरह का डेटा दिखा सकती हैं.
वॉच फ़ेस पर कॉम्प्लिकेशन के लिए हर स्पेस को ComplicationSlot के तौर पर तय किया जाता है. इसमें कॉम्प्लिकेशन को रेंडर करने के लिए बाउंड्री एरिया तय किया जाता है:
<ComplicationSlot slotId="1" supportedTypes="SHORT_TEXT SMALL_IMAGE EMPTY" x="100" y="100" width="100" height="100"> <BoundingOval x="0" y="0" width="100" height="100" /> <Complication type="SHORT_TEXT"> <!-- Complication content for rendering SHORT_TEXT data goes here --> </Complication> <Complication type="SMALL_IMAGE"> <!-- Complication content for rendering SMALL_IMAGE data goes here --> </Complication> </ComplicationSlot>
इसी तरह का तरीका, रेक्टैंगल और एलिप्स जैसे दूसरे बाउंडिंग शेप पर भी लागू किया जा सकता है.
Android स्मार्टवॉच के संकेत का टाइप और डिफ़ॉल्ट वैल्यू सेट करना
विजेट सिस्टम कई तरह के विजेट उपलब्ध कराता है. इससे वॉच फ़ेस को यह बताने में मदद मिलती है कि वह स्क्रीन पर किस तरह का डेटा दिखा सकता है. उदाहरण के लिए, पहले दिखाया गया आर्क कॉम्प्लिकेशन, इमेज पर आधारित कॉम्प्लिकेशन डेटा टाइप, जैसे कि SMALL_IMAGE के लिए सही नहीं है. हालांकि, यह संख्या वाले डेटा, जैसे कि RANGED_VALUE के लिए बहुत अच्छी तरह से काम कर सकता है.
अपने ComplicationSlot एलान में, supportedTypes को स्पेस से अलग की गई उन टाइप की सूची पर सेट करें जिन्हें इस स्लॉट में रेंडर किया जा सकता है.
आपको ComplicationSlot के लिए डिफ़ॉल्ट सोर्स भी सेट करना होगा. हालांकि, अगर आपने EMPTY टाइप की अनुमति दी है, तो डिफ़ॉल्ट सोर्स सेट करना ज़रूरी नहीं है:
<ComplicationSlot slotId="2" supportedTypes="SHORT_TEXT SMALL_IMAGE EMPTY" x="250" y="100" width="100" height="100"> <DefaultProviderPolicy defaultSystemProvider="STEP_COUNT" defaultSystemProviderType="SHORT_TEXT" /> <!-- ... --> </ComplicationSlot>
सिस्टम प्रोवाइडर के बारे में बताने के अलावा, आपके पास गैर-सिस्टम प्रोवाइडर के बारे में बताने का विकल्प भी होता है. जैसे, तीसरे पक्ष के प्रोवाइडर, जिन्हें डिफ़ॉल्ट रूप से इस्तेमाल किया जा सकता है. हालांकि, ऐसा सिर्फ़ तब किया जा सकता है, जब वे पहले से इंस्टॉल हों.
जटिलता डेटा रेंडर करना
ComplicationSlot, बाउंड्री, और Complication एलिमेंट तय करने के बाद, कॉम्प्लिकेशन डेटा दिखाने के लिए स्टैंडर्ड WFF कॉम्पोनेंट का इस्तेमाल करें. जैसे, PartDraw, PartImage और PartText.
Complication डेटा में मौजूद एलिमेंट के पास एक खास डेटा सोर्स का ऐक्सेस होता है:
COMPLICATION, जो कॉम्प्लिकेशन डेटा सोर्स की ओर से सेट की गई अलग-अलग डेटा प्रॉपर्टी उपलब्ध कराता है.
उदाहरण के लिए, SMALL_IMAGE कॉम्प्लिकेशन, COMPLICATION.SMALL_IMAGE और COMPLICATION.SMALL_IMAGE_AMBIENT वैल्यू सेट कर सकता है. इनका इस्तेमाल, Image एलिमेंट में मौजूद संसाधन के बजाय किया जा सकता है:
<Complication type="SMALL_IMAGE"> <PartImage x="0" y="0" width="100" height="100"> <Image resource="[COMPLICATION.SMALL_IMAGE]" /> </PartImage> </Complication>
हर तरह के कॉम्प्लिकेशन के लिए, उपलब्ध प्रॉपर्टी का एक अलग सेट होता है. इन्हें सेट किया जा सकता है. हर प्रॉपर्टी की पूरी सूची देखने के लिए, Complication रेफ़रंस देखें.
इस उदाहरण में, SHORT_TEXT कॉम्प्लिकेशन से टेक्स्ट दिखाया गया है:
<Complication type="SHORT_TEXT"> <PartText x="0" y="0" width="100" height="100"> <Text> <Font size="32"> <Template> <![CDATA[%s]]><Parameter expression="[COMPLICATION.TEXT]" /> </Template> </Font> </Text> </PartText> </Complication>
कॉम्प्लिकेशन रेंडर करते समय, ज़्यादा से ज़्यादा काम की जानकारी दिखाना
वॉच फ़ेस में ComplicationSlots जोड़ने में कई तरह की समस्याएं आती हैं:
- कॉम्प्लिकेशन डेटा टाइप कई तरह के होते हैं. अलग-अलग ऐप्लिकेशन, इनमें से एक या कई सुविधाएं दे सकते हैं.
- हर कॉम्प्लिकेशन डेटा टाइप में, ज़रूरी प्रॉपर्टी के साथ-साथ कई वैकल्पिक प्रॉपर्टी भी होती हैं. यह पक्का करें कि उपलब्ध प्रॉपर्टी से सबसे काम की रेंडरिंग की गई हो. इसके लिए, अलग-अलग कॉम्बिनेशन को ध्यान में रखा जाता है.
इन समस्याओं को हल करने के लिए, यहां कुछ रणनीतियां दी गई हैं:
- हर स्लॉट के लिए, कई तरह की कॉम्प्लिकेशन का इस्तेमाल किया जा सकता है. उदाहरण के लिए,
SHORT_TEXTको कॉम्प्लिकेशन के डेटा सोर्स में काफ़ी हद तक इस्तेमाल किया जा सकता है. इसलिए, कई तरह के डेटा टाइप इस्तेमाल करने से, कंपैटिबिलिटी बढ़ती है. जैसे, छोटे गोलाकार कॉम्प्लिकेशन के लिएSHORT_TEXT RANGED_VALUE. - स्मार्टवॉच की होम स्क्रीन पर अलग-अलग तरह के विजेट ऑफ़र करें. उदाहरण के लिए, किनारे पर मौजूद आर्क विजेट में
RANGED_VALUEऔरGOAL_PROGRESS, और स्मार्टवॉच की होम स्क्रीन पर मौजूद गोलाकार विजेट मेंSHORT_TEXTऔरSMALL_IMAGEका इस्तेमाल किया जा सकता है. - हर डेटा टाइप के लिए, वैकल्पिक एलिमेंट देखें. उदाहरण के लिए,
SHORT_TEXTमें टाइटल प्रॉपर्टी और इमेज का इस्तेमाल किया जा सकता है. उपलब्ध डेटा को रेंडर करने के लिए, आपका लेआउट अलग-अलग हो सकता है. ऐसा इस बात पर निर्भर करता है कि इमेज या टाइटल उपलब्ध है या नहीं.