स्मार्टवॉच और स्मार्टवॉच की होम स्क्रीन, दोनों पर विजेट जोड़े जा सकते हैं. इनसे अतिरिक्त जानकारी मिलती है. आम तौर पर, उपयोगकर्ता यह चुनता है कि complication में कौनसी जानकारी दिखे.
आम तौर पर, विजेट कई तरह के होते हैं:
- आयताकार
- गोलाकार
- स्मार्टवॉच की होम स्क्रीन के किनारे पर मौजूद आर्क
- बैकग्राउंड, जो स्मार्टवॉच की पूरी होम स्क्रीन को कवर करता हो
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="0" y="0" width="225" height="225">
<BoundingArc centerX="225" centerY="225" width="450" height="450"
startAngle="270" endAngle="360" thickness="50" />
<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="1" ...>
<BoundingArc .../>
<DefaultProviderPolicy
defaultSystemProvider="STEP_COUNT"
defaultSystemProviderType="SHORT_TEXT" />
</ComplicationSlot>
सिस्टम की सेवा देने वाली कंपनियों के बारे में बताने के अलावा, आपके पास सिस्टम की सेवा देने वाली कंपनियों के अलावा, डिफ़ॉल्ट रूप से इस्तेमाल करने के लिए, तीसरे पक्ष की सेवा देने वाली कंपनियों के बारे में बताने का विकल्प भी होता है. ऐसा तब किया जा सकता है, जब वे पहले से इंस्टॉल हों.
जटिलता डेटा रेंडर करना
ComplicationSlot, सीमाओं, और Complication एलिमेंट को तय करने के बाद, Complication का डेटा दिखाने के लिए, PartDraw, PartImage और
PartText जैसे स्टैंडर्ड WFF कॉम्पोनेंट का इस्तेमाल करें.
Complication डेटा में मौजूद एलिमेंट के पास एक खास डेटा सोर्स का ऐक्सेस होता है:
COMPLICATION. यह ऐक्सेस, complication डेटा सोर्स से सेट की गई अलग-अलग डेटा प्रॉपर्टी उपलब्ध कराता है.
उदाहरण के लिए, SMALL_IMAGE कॉम्प्लीकेशन, COMPLICATION.SMALL_IMAGE और COMPLICATION.SMALL_IMAGE_AMBIENT वैल्यू सेट कर सकता है. इनका इस्तेमाल, Image एलिमेंट में रिसॉर्स के बजाय किया जा सकता है:
<Complication type="SMALL_IMAGE">
<PartImage ...>
<Image resource="[COMPLICATION.SMALL_IMAGE]" />
</PartImage>
</Complication>
हर तरह के कॉम्प्लीकेशन में, उपलब्ध प्रॉपर्टी का एक अलग सेट होता है, जिसे सेट किया जा सकता है. हर कॉम्प्लीकेशन की पूरी सूची के लिए, Complication रेफ़रंस देखें.
इस उदाहरण में, SHORT_TEXT कॉम्प्लीकेशन का टेक्स्ट दिखाया गया है:
<Complication type="SHORT_TEXT">
<PartText ...>
<Text>
<Font ...>
<Template>
<![CDATA[%s]]><Parameter expression="[COMPLICATION.TEXT]" />
</Template>
</Font>
</PartImage>
</Complication>
जटिलताओं को रेंडर करते समय, उन्हें ज़्यादा से ज़्यादा काम का बनाना
स्मार्टवॉच की होम स्क्रीन पर ComplicationSlots जोड़ने में कई समस्याएं आ सकती हैं:
- कॉम्प्लीकेशन के डेटा टाइप कई तरह के होते हैं. अलग-अलग ऐप्लिकेशन में इनमें से एक या कई सुविधाएं हो सकती हैं.
- हर कॉम्पलिकेशन डेटा टाइप में ज़रूरी प्रॉपर्टी के साथ-साथ, कई वैकल्पिक प्रॉपर्टी भी होती हैं. देखें कि अलग-अलग कॉम्बिनेशन को ध्यान में रखते हुए, उपलब्ध प्रॉपर्टी से सबसे ज़्यादा काम का रेंडरिंग किया गया है या नहीं.
इन समस्याओं को हल करने के लिए, ये रणनीतियां अपनाएं:
- हर स्लॉट के लिए, अलग-अलग तरह के कॉम्प्लीकेशन इस्तेमाल किए जा सकते हैं. उदाहरण के लिए,
SHORT_TEXTका इस्तेमाल, कॉम्प्लीकेशन के डेटा सोर्स के साथ बहुत ज़्यादा किया जाता है. इसलिए, अलग-अलग तरह के कॉम्प्लीकेशन के लिए,SHORT_TEXT RANGED_VALUEजैसे कई टाइप का इस्तेमाल करने से, कॉम्प्लीकेशन के साथ काम करने की सुविधा बढ़ जाती है. - स्मार्टवॉच की होम स्क्रीन पर अलग-अलग तरह के कॉम्प्लीकेशन उपलब्ध कराएं. उदाहरण के लिए, होम स्क्रीन के किनारे पर मौजूद ऐर्क कॉम्प्लीकेशन के लिए
RANGED_VALUEऔरGOAL_PROGRESSका इस्तेमाल किया जा सकता है. साथ ही, होम स्क्रीन के बीच में मौजूद सर्कुलर कॉम्प्लीकेशन के लिएSHORT_TEXTऔरSMALL_IMAGEका इस्तेमाल किया जा सकता है. - हर डेटा टाइप के लिए वैकल्पिक एलिमेंट देखें. उदाहरण के लिए,
SHORT_TEXTमें टाइटल प्रॉपर्टी और इमेज का इस्तेमाल किया जा सकता है. उपलब्ध डेटा को रेंडर करने के लिए, आपका लेआउट अलग-अलग हो सकता है. यह इस बात पर निर्भर करता है कि इमेज या टाइटल उपलब्ध है या नहीं.