Wear OS 3 और इसके बाद के वर्शन पर काम करने वाले सभी डिवाइसों के लिए, Wear Health Services API (WHS) एक ज़रूरी कॉम्पोनेंट है. इसकी मदद से, सेहत और फ़िटनेस से जुड़े डेवलपर को इंटिग्रेशन के लिए एक जैसा प्लैटफ़ॉर्म मिलता है. अपने ऐप्लिकेशन को इस तरह से बनाएं कि वह अलग-अलग डिवाइसों और उनकी सुविधाओं के हिसाब से अपने-आप अडजस्ट हो जाए. इससे यह पक्का किया जा सकेगा कि ऐप्लिकेशन सभी डिवाइसों के साथ काम करता है और लोगों को इसे इस्तेमाल करने में कोई समस्या नहीं आती. इसके लिए, सिर्फ़ उन क्लाइंट के लिए डिपेंडेंसी का एलान करें जिनका इस्तेमाल आपका ऐप्लिकेशन करता है. इसके अलावा, अपने ऐप्लिकेशन को यह सुविधा दें कि वह उपलब्ध होने पर, वैकल्पिक तौर पर बेहतर मेट्रिक दिखा सके या उन्हें हटा सके.
अलग-अलग सेंसर, अलग-अलग फ़्रीक्वेंसी पर डेटा जनरेट करते हैं. यह फ़्रीक्वेंसी, डिवाइस के हिसाब से अलग-अलग होती है. ऐसा, डिवाइस के हार्डवेयर और सेंसर प्लैटफ़ॉर्म के आधार पर होता है. उदाहरण के लिए, कोई डिवाइस एक टाइमस्टैंप पर धड़कन की दर और दूसरे टाइमस्टैंप पर जगह की जानकारी दिखा सकता है. ऐसे ऐप्लिकेशन बनाएं जो अलग-अलग टाइमस्टैंप या ओवरलैप होने वाले टाइमस्टैंप पर, अलग-अलग डेटा स्ट्रीम पा सकें.
इस गाइड में, Wear Health Services के अलग-अलग क्लाइंट के लिए, उम्मीद के मुताबिक काम करने के तरीके और डेटा टाइप के बारे में बताया गया है.
एक्सरसाइज़ क्लाइंट
यहां दिए गए सेक्शन में, ExerciseClient के अनुमानित व्यवहार और डेटा टाइप के बारे में बताया गया है.
अनुमानित व्यवहार
ExerciseClient के लिए, कुछ कसरत के टाइप, कुछ डेटा टाइप की उपलब्धता पर निर्भर करते हैं. उदाहरण के लिए, व्हीलचेयर से की जाने वाली कसरत की सुविधा सिर्फ़ तब उपलब्ध होती है, जब व्हीलचेयर को आगे-पीछे करने की सुविधा काम करती हो. किसी डिवाइस पर इन विकल्पों की उपलब्धता के आधार पर, इन्हें चालू और बंद करें.
व्यायाम से जुड़े ज़्यादातर डेटा टाइप को एक सेकंड के अंतराल पर सैंपल किया जाता है और डिलीवर किया जाता है. हालांकि, इसमें कुछ अपवाद हो सकते हैं:
- कुछ मामलों में, कसरत के डेटा टाइप को हर सेकंड में एक से ज़्यादा बार अपडेट किया जाता है. उदाहरण के लिए, जब उपयोगकर्ता दौड़ रहा होता है, तो हर सेकंड में एक से ज़्यादा बार कदमों की संख्या अपडेट होती है.
- कुछ डेटा टाइप के लिए, अपडेट सिर्फ़ तब डिलीवर किया जाता है, जब मौजूदा वैल्यू पिछली वैल्यू से अलग हो.
डेटा डिलीवरी, स्ट्रीमिंग या बैच में की जा सकती है. डेटा तब स्ट्रीम होता है, जब ऐप्लिकेशन प्रोसेसर चालू होता है. आम तौर पर, ऐसा तब होता है, जब डिसप्ले चालू हो और इंटरैक्टिव हो. डिसप्ले बंद होने या ऐंबियंट मोड (चालू है, लेकिन इंटरैक्ट नहीं किया जा सकता) में होने पर, बैटरी बचाने के लिए डेटा को बैच किया जाता है. बैच किया गया डेटा, ऐप्लिकेशन को तब डिलीवर किया जाता है, जब ऐप्लिकेशन प्रोसेसर फिर से चालू होता है. ऐसा तब होता है, जब घड़ी ऐंबियंट मोड से बाहर आती है. इसके अलावा, बैचिंग के लिए बफ़र पूरी तरह से भर जाने पर भी डेटा डिलीवर किया जाता है. यह डिवाइस के हिसाब से अलग-अलग होता है. डिवाइस के ऐंबियंट मोड में होने पर भी सैंपलिंग रेट एक जैसा रहता है. इसलिए, डिलीवर किए गए बैच में अब भी ज़्यादा फ़्रीक्वेंसी वाले डेटा पॉइंट होते हैं.
डेटा टाइप, सिर्फ़ घड़ी के सेंसर से जनरेट हुए डेटा से मिलते हैं. उदाहरण के लिए, जगह की जानकारी का डेटा सिर्फ़ स्मार्टवॉच से मिलता है, फ़ोन से नहीं.
डेटा टाइप
ExerciseClient API की मदद से, अलग-अलग तरह की कसरत शुरू की जा सकती है, रोकी जा सकती है, फिर से शुरू की जा सकती है, और बंद की जा सकती है. हर कसरत के लिए, WHS डेटा टाइप का एक सेट तय करता है. ये डेटा टाइप, आपको उस तरह की कसरत के लिए उपलब्ध कराए जाते हैं. इससे बैटरी की बचत होती है और आपके ऐप्लिकेशन का लॉजिक आसान हो जाता है. ऐसा इसलिए होता है, क्योंकि जिस गतिविधि के लिए सेंसर की ज़रूरत नहीं होती है उसे चालू नहीं किया जाता है. उदाहरण के लिए, दौड़ शुरू करने पर, जगह की जानकारी का डेटा सिर्फ़ आउटडोर रन के लिए दिया जाता है और ट्रैक किया जाता है. साइकल चलाने की कसरत शुरू करने पर, कदमों की जानकारी नहीं दी जाती है और न ही उन्हें ट्रैक किया जाता है. यहां दिए गए सेक्शन में, ExerciseClient में इस्तेमाल किए जा सकने वाले डेटा टाइप के बारे में बताया गया है.
सभी डिवाइसों पर उपलब्ध, कसरत के डेटा टाइप
एक्सरसाइज़ के ये डेटा टाइप, सभी डिवाइसों पर उपलब्ध हैं.
- सैंपल डेटा टाइप में, _STATS डेटा टाइप होता है. यह डेटा टाइप, कसरत से जुड़ी सबसे कम, सबसे ज़्यादा, और औसत वैल्यू दिखाता है. उदाहरण के लिए, PACE के आंकड़ों को PACE_STATS डेटा टाइप की मदद से पुल किया जा सकता है.
- इंटरवल डेटा टाइप में, _TOTAL डेटा टाइप होता है. यह डेटा टाइप, कसरत की कुल वैल्यू दिखाता है. उदाहरण के लिए, DISTANCE_TOTAL डेटा टाइप की मदद से, DISTANCE के आंकड़े पुल किए जा सकते हैं.
| मेट्रिक | अनुमानित डेटा | अनुमानित व्यवहार के बारे में नोट |
| HEART_RATE_BPM | धड़कन प्रति मिनट [DataType: Double] | सभी डिवाइस, कसरत के दौरान हर सेकंड में एक बार धड़कन की दर का सैंपल लेते हैं. कुछ डिवाइस, हर सेकंड बीपीएम की वैल्यू रिपोर्ट करते हैं. कुछ डिवाइस, बीपीएम की जानकारी सिर्फ़ तब देते हैं, जब वह पिछली वैल्यू से बदल गई हो. सभी डिवाइसों पर, हर एक सेकंड के अंतराल पर बीपीएम वैल्यू मिलने की उम्मीद न रखें. |
| जगह | अक्षांश और देशांतर [DataType: Double] | जगह की जानकारी का डेटा, सिर्फ़ स्मार्टवॉच के जीपीएस पर आधारित होता है. जगह की जानकारी का डेटा, फ़्यूज़्ड लोकेशन प्रोवाइडर या Android की अन्य सेवाओं से नहीं मिलता. हर डेटा पॉइंट में, सटीक होने की वैल्यू (इसे हॉरिज़ॉन्टल पोज़िशन में गड़बड़ी भी कहा जाता है) और उपलब्धता भी शामिल होती है. |
| चरण | [डेटा टाइप: लंबा] | कसरत के दौरान, कदमों की संख्या लगातार बढ़ती रहती है. इसमें कसरत रोकने के दौरान का समय शामिल नहीं होता |
| DISTANCE | मीटर [डेटा टाइप: डबल] | अगर जीपीएस की मदद से जगह की जानकारी उपलब्ध है, तो उससे दूरी का हिसाब लगाया जाता है. अगर ऐसा नहीं है, तो कदमों की संख्या से दूरी का हिसाब लगाया जाता है. कुल का मतलब, कसरत की पूरी अवधि से है. इसमें कसरत को रोकने के दौरान बिताया गया समय शामिल नहीं होता. |
| गति | [मीटर / सेकंड] [डेटा टाइप: डबल] | कम से कम, ज़्यादा से ज़्यादा, और औसत वैल्यू दिखाता है. ये कसरत के दौरान के आंकड़े हैं. इनमें कसरत रोके जाने के दौरान का समय शामिल नहीं है. |
| रफ़्तार | [सेकंड / मीटर] [डेटा टाइप: डबल] | अगर स्पीड 0 है, तो डिफ़ॉल्ट वैल्यू 0 होती है. औसत, कसरत की अवधि के हिसाब से तय किए जाते हैं. इसमें कसरत रोके जाने का समय शामिल नहीं होता. |
| ELEVATION_GAIN | मीटर. [डेटा टाइप: डबल] | ऊंचाई में बढ़ोतरी. कुल समय की जानकारी, कसरत की पूरी अवधि के लिए दी जाती है. इसमें कसरत रोकने के दौरान का समय शामिल नहीं होता. |
| TOTAL_CALORIES | kCal [डेटा टाइप: डबल] | बेसल मेटाबॉलिक रेट में, शारीरिक गतिविधि के दौरान खर्च हुई कैलोरी का डेटा जोड़ा गया. यहां दिखाई गई कैलोरी, सिस्टम सेटिंग में दी गई उपयोगकर्ता की लंबाई, वज़न, उम्र, और लिंग के हिसाब से तय की जाती हैं. कैलोरी की जानकारी में, आपके ऐप्लिकेशन में इकट्ठा किया गया उपयोगकर्ता की प्रोफ़ाइल का कोई डेटा शामिल नहीं होता. बताई गई कुल कैलोरी, कसरत की अवधि के हिसाब से होती है. इसमें कसरत को रोकने का समय शामिल नहीं होता. |
कसरत के डेटा टाइप (ज़रूरी नहीं)
यहाँ दिए गए डेटा टाइप की सूची, सिर्फ़ कुछ डिवाइसों पर उपलब्ध है. DataTypes की पूरी सूची के लिए, Jetpack का रेफ़रंस देखें. अगर कोई DataType, "ज़रूरी/गारंटीड" सूची में नहीं है, तो इसका मतलब है कि वह वैकल्पिक है.
ज़रूरी नहीं वाले डेटा टाइप के ये उदाहरण देखें. यह पूरी सूची नहीं है:
| मेट्रिक | अनुमानित डेटा | अनुमानित व्यवहार के बारे में नोट |
| ABSOLUTE_ELEVATION | [डेटा टाइप: डबल] | |
| ELEVATION_LOSS | मीटर [डेटा टाइप: डबल] | ऊंचाई में गिरावट. वैल्यू पॉज़िटिव है. उदाहरण के लिए, ऊंचाई में 1 मीटर की कमी को 1 के तौर पर दिखाया जाता है, न कि -1 के तौर पर. |
| STEPS_PER_MINUTE | [डेटा टाइप: लंबा] | |
| WHEELCHAIR_PUSHES | [डेटा टाइप: लंबा] | व्हीलचेयर को ढकेलने की संख्या, ताकि व्हीलचेयर पर की जाने वाली कसरतों में इसका इस्तेमाल किया जा सके. |
| REP_COUNT | [डेटा टाइप: लंबा] | |
| SWIM_STROKE_COUNT | [डेटा टाइप: लंबा] | |
| SWIM_LAP_COUNT | [डेटा टाइप: लंबा] |
हर कसरत के हिसाब से डेटा टाइप
हर तरह की कसरत के लिए, अलग-अलग डेटा टाइप दिखाए जाते हैं. जवाब में दिए गए डेटा टाइप, कसरत की ज़रूरतों के मुताबिक होते हैं. उदाहरण के लिए, BIKING Exercise Type, STEPS Data Type को वापस नहीं लाता है. रनटाइम के दौरान, Capabilities तरीके का इस्तेमाल करके यह पता लगाएं कि उपयोगकर्ता के डिवाइस पर कौनसे डेटा टाइप काम करते हैं.
कम से कम, सभी तरह की कसरत से धड़कन की दर और कैलोरी का डेटा मिलता है. अन्य कसरतों के लिए, अतिरिक्त डेटा टाइप इस्तेमाल किए जा सकते हैं. हालांकि, यह कसरत की ज़रूरतों पर निर्भर करता है.
यहां कुछ उदाहरण दिए गए हैं:
- ध्यान लगाने (मेडिटेशन) या पिलाटीज़ जैसी कसरतों के लिए, सिर्फ़ धड़कन की दर और कैलोरी की जानकारी मिलती है
- बास्केटबॉल या बैडमिंटन जैसी कसरतों के लिए, धड़कन की दर, कैलोरी, दूरी, और कदमों की संख्या को ट्रैक किया जा सकता है.
- चलने और दौड़ने जैसी कसरतों के लिए, धड़कन की दर, कैलोरी, दूरी, कदम, रफ़्तार, और गति का डेटा उपलब्ध होता है
- स्विमिंग के लिए, धड़कन की दर, कैलोरी, दूरी, और स्विम लैप की जानकारी मिलती है
पैसिव मॉनिटरिंग क्लाइंट
Wear OS पर काम करने वाले सभी डिवाइसों के लिए, यहां दिए गए डेटा टाइप ज़रूरी हैं. इससे, ऐसे ऐप्लिकेशन काम कर पाते हैं जो सेहत और फ़िटनेस से जुड़े डेटा को मॉनिटर करते हैं. जैसे, धड़कन की दर
और कदमों की संख्या. इनमें से हर डेटा टाइप, सिर्फ़ स्मार्टवॉच के सेंसर से जनरेट किए गए डेटा से लिया जाना चाहिए.
अनुमानित व्यवहार
बैटरी बचाने के लिए, पैसिव मॉनिटरिंग का इस्तेमाल करके सेंसर से मिली रीडिंग को एमसीयू पर सेव किया जाता है. इसके बाद, इन्हें Health Services को भेजा जाता है. बैच किए गए ये नतीजे, सिस्टम के काम करने के तरीके के आधार पर अलग-अलग समय पर दिखाए जाते हैं. उदाहरण के लिए, सेंसर बफ़र के पूरी तरह भर जाने पर या उपयोगकर्ता के डिसप्ले से इंटरैक्ट करने पर, बैच वापस भेजे जाते हैं.
किसी भी डेटा टाइप के लिए, पहले से तय किए गए या अनुमानित बैचिंग इंटरवल का इस्तेमाल न करें.
पैसिव मॉनिटरिंग के डेटा टाइप
| मेट्रिक | अनुमानित डेटा | Notes |
| HEART_RATE_BPM | धड़कन प्रति मिनट [डेटा टाइप: Double] | डिवाइस, अलग-अलग समयावधि में दिल की धड़कन की रीडिंग दिखा सकते हैं. कुछ डिवाइसों पर, हर सेकंड में रीडिंग ली जा सकती है. अन्य डिवाइस हर दस मिनट में एक बार रीडिंग ले सकते हैं. ये अंतराल, ऐप्लिकेशन के लिए उपलब्ध नहीं कराए जाते. ऐप्लिकेशन को अलग-अलग सैंपलिंग इंटरवल के हिसाब से काम करना चाहिए. |
| STEPS_DAILY/STEPS | [डेटा टाइप: लंबा] | रोज़ के कदमों की संख्या, आखिरी बार रीसेट किए जाने के बाद से अब तक चले गए कुल कदमों की संख्या होती है. यह संख्या, WHS से आधी रात को ट्रिगर होती है. इसमें कसरत को रोकने के दौरान की गई कोई भी गतिविधि शामिल है. 'कदम' फ़ील्ड में, पिछली बार की जांच के बाद से हुए बदलावों की जानकारी होती है. |
| DISTANCE_DAILY/DISTANCE | मीटर [डेटा टाइप: डबल] | इसे एक्सलरोमीटर/कदमों की संख्या से कैलकुलेट किया जाता है. जीपीएस के दौरान कैलकुलेट न करें, ताकि जिन लोगों ने जगह की जानकारी देने वाली सेवाओं को बंद किया है उन्हें भी कदमों की सटीक जानकारी मिल सके. |
| गति | [मीटर / सेकंड] [डेटा टाइप: डबल] | |
| CALORIES_DAILY | kCal [डेटा टाइप: डबल] | दिन भर में खर्च हुई कैलोरी. इसमें शारीरिक गतिविधि के दौरान खर्च हुई कैलोरी और बीएमआर शामिल है. यहां दिखाई गई कैलोरी की संख्या में, सिस्टम सेटिंग में बताई गई उपयोगकर्ता की लंबाई, वज़न, उम्र, और लिंग की जानकारी शामिल होती है. आपके ऐप्लिकेशन में इकट्ठा किए गए उपयोगकर्ता की प्रोफ़ाइल के डेटा के हिसाब से, कैलोरी को अडजस्ट नहीं किया जाता. |
| RUNNING_STEPS (ज़रूरी नहीं) | [डेटा टाइप: लंबा] | कसरत के दौरान और उसके अलावा, कदमों की संख्या में अंतर. दोनों को एक ही समय पर ट्रैक करें. |
| WALKING_STEPS (ज़रूरी नहीं) | [डेटा टाइप: लंबा] | |
| ELEVATION_GAIN | मीटर [डेटा टाइप: डबल] | इसमें सिर्फ़ ऊंचाई में हुई बढ़ोतरी शामिल होती है |
| ELEVATION_LOSS | मीटर [डेटा टाइप: डबल] | इसमें सिर्फ़ ऊंचाई में होने वाले नेगेटिव डेल्टा शामिल हैं |
| FLOORS_DAILY | [डेटा टाइप: डबल] | इन्हें "आंशिक" फ़्लोर के तौर पर दिखाया जा सकता है |
पैसिव मॉनिटरिंग के रोज़ के लक्ष्य
| मेट्रिक | अनुमानित डेटा | Notes |
| STEPS_DAILY | [डेटा टाइप: लंबा] | दैनिक कदमों की संख्या में, कसरत के दौरान लिए गए कदम भी शामिल होते हैं. यह संख्या, आखिरी बार रीसेट किए जाने के बाद से लिए गए कुल कदमों की संख्या होती है. डब्ल्यूएचएस आधी रात को रीसेट हो जाता है. |
| FLOORS_DAILY | [डेटा टाइप: डबल] | इसे सीढ़ियों के "आंशिक" फ़्लोर के तौर पर दिखाया जा सकता है. |
| CALORIES_DAILY | kCal [डेटा टाइप: डबल] | दिन भर में खर्च हुई कैलोरी. इसमें शारीरिक गतिविधि के दौरान खर्च हुई कैलोरी और बीएमआर शामिल है. |
| DISTANCE_DAILY | मीटर [डेटा टाइप: डबल] | इसका हिसाब, एक्सलरोमीटर या कदमों की संख्या से लगाया जाता है. इसकी गिनती के लिए जीपीएस का इस्तेमाल न करें, ताकि जिन लोगों ने लोकेशन सेवाओं को बंद किया है उन्हें भी कदमों की सटीक जानकारी मिल सके. |
| DAILY_ELEVATION_GAIN | मीटर [डेटा टाइप: डबल] | इसमें सिर्फ़ ऊंचाई में हुई बढ़ोतरी शामिल होती है |
MeasureClient
किसी भी समय धड़कन की दर मापने के लिए, MeasureClient का इस्तेमाल करें.
अनुमानित व्यवहार
MeasureClient और PassiveClient कुछ मामलों में एक जैसे हैं. ये दोनों, कसरत से जुड़े ऐसे स्वास्थ्य के आंकड़े उपलब्ध कराते हैं जिन्हें बैच नहीं किया गया है. इन दोनों का इस्तेमाल, दिल की धड़कन की दर को मेज़र करने के लिए किया जा सकता है. हालांकि, इनमें मुख्य अंतर यह है कि MeasureClient में दिल की धड़कन की दर का डेटा उपलब्ध होने की जानकारी शामिल होती है, लेकिन PassiveClient में यह जानकारी शामिल नहीं होती.
डेटा टाइप
| मेट्रिक | अनुमानित डेटा | Notes |
| HEART_RATE_BPM | धड़कन प्रति मिनट [डेटा टाइप: Double] | इसमें उपलब्धता की जानकारी भी शामिल होती है |
इस्तेमाल की जा सकने वाली सुविधाएं
डिवाइस, कसरत के डेटा टाइप और पैसिव मॉनिटरिंग के डेटा टाइप के अलावा, इवेंट ट्रिगर करने के लिए अन्य सुविधाएं भी देते हैं. जैसे, कसरत शुरू करना और नींद में होने या जागे होने जैसी स्थिति का पता लगाना. इनमें से कुछ सुविधाएं सभी डिवाइसों पर उपलब्ध हैं, जबकि कुछ सिर्फ़ कुछ डिवाइसों पर उपलब्ध हैं.
इवेंट ट्रिगर
सभी डिवाइसों पर, ये सामान्य ट्रिगर काम करते हैं:
- दूरी और कदमों के लिए रोज़ के लक्ष्य
- कदम, दूरी, और अवधि के लिए कसरत के लक्ष्य.
ऐसा हो सकता है कि अन्य डिवाइसों पर, इवेंट ट्रिगर करने की ज़्यादा बेहतर सुविधाएं उपलब्ध हों. इसके कुछ उदाहरण यहां दिए गए हैं:
- तैरते समय लैप की गिनती करना
- खर्च हुई कैलोरी के लिए कसरत के लक्ष्य
- तेज़ गति से कसरत करने के लक्ष्य
राज्य
सभी डिवाइसों पर, बुनियादी तौर पर स्थिति की जानकारी देने वाली सुविधा काम करती है. स्टेट फ़ंक्शन का मतलब यह है कि उपयोगकर्ता कसरत कर रहा है या नहीं.
अन्य डिवाइसों में, बैटरी की स्थिति से जुड़ी अतिरिक्त सुविधाएं उपलब्ध हो सकती हैं. स्टेट की कुछ अन्य सुविधाओं में यह पता लगाना शामिल है कि कसरत अपने-आप रुक गई है या अपने-आप फिर से शुरू हो गई है. इसके अलावा, यह भी पता लगाया जा सकता है कि उपयोगकर्ता कब जागता है या सोता है.
पैसिव मॉनिटरिंग में सेहत से जुड़ी सूचनाएं
कुछ डिवाइसों पर स्वास्थ्य से जुड़ी चेतावनियां पाने की सुविधा काम करती है. ये सुविधाएं सभी डिवाइसों पर काम नहीं करती हैं. सेहत से जुड़ी कुछ चेतावनियों में, दिल की धड़कन की असामान्यताओं का पता लगाना या गिरने का पता लगाना शामिल है.
आपके लिए सुझाव
- ध्यान दें: JavaScript बंद होने पर लिंक का टेक्स्ट दिखता है
- ऐक्टिव डेटा और एक्सरसाइज़
- Wear OS पर स्वास्थ्य सेवाएं