Watch Face Format में मौसम का डेटा

वर्शन 2 के बाद से, Watch Face Format में मौसम के डेटा की सुविधा शामिल है. इस डेटा में, कई मेट्रिक और टाइमफ़्रेम शामिल होते हैं. इनमें, मौसम की मौजूदा स्थिति से लेकर हर घंटे और रोज़ के मौसम के पूर्वानुमान तक की जानकारी शामिल होती है.

एक्सप्रेशन का इस्तेमाल करके, मौसम की जानकारी ऐक्सेस की जाती है. उदाहरण के लिए, <Text> एलिमेंट में मौसम की मौजूदा स्थिति दिखाने के लिए, इस तरह का एक्सप्रेशन इस्तेमाल करें:

<PartText x="100" y="100" width="200" height="50">
    <Text>
        <Font family="SYNC_TO_DEVICE" size="16">
            <Template><![CDATA[Today's weather: %s]]>
                <Parameter expression="[WEATHER.CONDITION_NAME]"/>
            </Template>
        </Font>
    </Text>
</PartText>

उपलब्धता

[WEATHER.*] ऑब्जेक्ट के अन्य सदस्यों को ऐक्सेस करने से पहले, [WEATHER.IS_AVAILABLE] की वैल्यू देखें:

<Condition>
    <Expressions>
        <Expression name="is_weather_available">[WEATHER.IS_AVAILABLE]</Expression>
    </Expressions>
    <Compare expression="is_weather_available">
        <!-- Weather is available, so show the weather data. -->
    </Compare>
    <Default>
        <!-- Weather isn't available, so show an appropriate message. -->
    </Default>
</Condition>

आपको [WEATHER.IS_ERROR] की भी जांच करनी चाहिए. इससे पता चलता है कि मौसम का डेटा लोड करने में कोई गड़बड़ी हुई है.

ध्यान दें कि [WEATHER.IS_AVAILABLE] और [WEATHER.IS_ERROR] दोनों की वैल्यू 'सही' हो सकती है. ऐसा तब होता है, जब डेटा पुराना हो जाता है और डेटा को रीफ़्रेश करने की कोशिशें नाकाम हो जाती हैं. ऐसे मामलों में, मौसम की उपलब्ध जानकारी दिखाई जा सकती है. साथ ही, यह भी दिखाया जा सकता है कि नया डेटा फ़ेच करने में कोई गड़बड़ी हुई है.

डेटा अपडेट होने की फ़्रीक्वेंसी

उपलब्ध डेटा का टाइमस्टैंप, [WEATHER.LAST_UPDATED] का इस्तेमाल करके ऐक्सेस किया जा सकता है. यह यूनिक्स epoch टाइमस्टैंप, मिलीसेकंड में होता है.

इस वैल्यू को, icuText(,) तरीके का इस्तेमाल करके फ़ॉर्मैट किया जा सकता है, ताकि इसे आसानी से पढ़ा जा सके. जैसा कि मौसम के सैंपल में दिखाया गया है.

मौसम का हाल

मौसम की मौजूदा स्थिति, [WEATHER.CONDITION] में उपलब्ध होती है. इसे आसानी से पढ़ने के लिए, [WEATHER.CONDITION_NAME] में भी देखा जा सकता है.

[WEATHER.CONDITION] की वैल्यू, डेटा सोर्स में देखी जा सकती हैं. उदाहरण के लिए, 4 का मतलब HEAVY_RAIN है.

अन्य मेट्रिक

वॉच फ़ेस फ़ॉर्मैट में, कई अन्य मेट्रिक उपलब्ध हैं. जैसे, [WEATHER.TEMPERATURE] और [WEATHER.UV_INDEX]. उपलब्ध मेट्रिक की पूरी जानकारी के लिए, डेटा सोर्स का रेफ़रंस पेज देखें. इसमें यूनिट और डेटा टाइप की जानकारी भी शामिल है.

हर घंटे और रोज़ के मौसम के पूर्वानुमान

आने वाले समय में किसी खास घंटे या दिन के मौसम के पूर्वानुमान की जानकारी इस तरह ऐक्सेस की जा सकती है:

  • [WEATHER.HOURS.1.CONDITION] - अब से एक घंटे बाद के मौसम के पूर्वानुमान की जानकारी.
  • [WEATHER.DAYS.2.CONDITION] - अब से दो दिन बाद के मौसम के पूर्वानुमान की जानकारी.

हर घंटे का डेटा, आठ घंटे पहले तक उपलब्ध हो सकता है. वहीं, रोज़ का डेटा, पांच दिन पहले तक उपलब्ध हो सकता है. हालांकि, वॉच फ़ेस को हमेशा मौसम के पूर्वानुमान का डेटा उपलब्ध होने की जांच करनी चाहिए. अलग-अलग समय या अलग-अलग डिवाइसों पर, अलग-अलग घंटों या दिनों का डेटा उपलब्ध हो सकता है. उदाहरण के लिए, यह देखने के लिए कि अब से एक घंटे बाद के मौसम के पूर्वानुमान का डेटा उपलब्ध है या नहीं, [WEATHER.HOURS.1.IS_AVAILABLE] का इस्तेमाल करें.

रोज़ और हर घंटे के मौसम के पूर्वानुमान में, कई मेट्रिक भी शामिल होती हैं. जैसे, [WEATHER.HOURS.<N>.TEMPERATURE] और [WEATHER.DAYS.<N>.CHANCE_OF_PRECIPITATION]. उपलब्ध मेट्रिक की पूरी जानकारी के लिए, डेटा सोर्स का रेफ़रंस पेज देखें. इसमें यूनिट और डेटा टाइप की जानकारी भी शामिल है.

मौसम के डेटा की मदद से जांच करना

मौसम का डेटा पाने के लिए, Wear OS डिवाइस को डिवाइस की जगह की जानकारी होनी चाहिए.

बैटरी बचाने के लिए, वॉच, मौसम के पूर्वानुमान के लिए जगह की जानकारी पाने के लिए, ऑनबोर्ड जीपीएस सेंसर का इस्तेमाल नहीं करती. इसके बजाय, यह कनेक्ट किए गए हैंडहेल्ड डिवाइस या उपलब्ध नेटवर्क से मिली जगह की जानकारी पर निर्भर करती है.

जांच के लिए जगह की जानकारी का डेटा उपलब्ध कराने के लिए, इनमें से कोई एक काम करें:

  • अपने Wear OS एम्युलेटर को किसी फ़ोन या एम्युलेटर फ़ोन के साथ जोड़ें.
  • adb के इस कमांड का इस्तेमाल करके, जगह की जानकारी को सिम्युलेट करें:
adb unroot
adb shell cmd location set-location-enabled true
adb root
adb shell appops set 0 android:mock_location allow
adb shell cmd location providers add-test-provider gps
adb shell cmd location providers set-test-provider-enabled gps true
adb shell cmd location providers set-test-provider-location gps --location 37.773972,-122.431297

ज़्यादा जानकारी

मौसम के डेटा को ऐक्सेस करने और रेंडर करने का पूरा उदाहरण देखने के लिए, GitHub का सैंपल देखें.