Google Health API की मदद से, Steps Experiences डेवलप करना

Google Health API, उपयोगकर्ता के कदमों और गतिविधि से जुड़े डेटा को ट्रैक करता है. इसके लिए, वह steps इंटरवल डेटा टाइप का इस्तेमाल करता है. कदमों की गिनती से, हर दिन की शारीरिक गतिविधि का पता चलता है. इससे डेवलपर को फ़िटनेस की प्रोग्रेस को ट्रैक करने, खर्च की गई ऊर्जा का हिसाब लगाने, और उपयोगकर्ता के लिए हर दिन की गतिविधि की खास जानकारी बनाने में मदद मिलती है.

अपने ऐप्लिकेशन में कदमों की संख्या की मेट्रिक को पढ़ने और व्यवस्थित करने का तरीका जानें, ताकि उपयोगकर्ताओं को बेहतर अनुभव दिया जा सके.

डेटा टाइप, जो इस्तेमाल किए जा सकते हैं

एपीआई, कदमों की संख्या को ट्रैक करने के लिए इस डेटा टाइप का इस्तेमाल करता है:

टेबल: Google Health API के चरणों से जुड़े डेटा टाइप
डेटा टाइप उपलब्ध
कार्रवाइयां
दायरा
तरीका
dataType: steps
filter parameter: steps
रिकॉर्ड टाइप: अंतराल
स्टोरेज रिज़ॉल्यूशन: एक मिनट

संगत डिवाइस

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly

दिशा-निर्देश

अपने ऐप्लिकेशन में कदमों की ट्रैकिंग को इंटिग्रेट करते समय, डिज़ाइन और लागू करने से जुड़े इन दिशा-निर्देशों का पालन करें.

स्पीड और पेस का हिसाब लगाना

Google Health API, रफ़्तार और गति का हिसाब लगाने के लिए स्टैंडर्ड फ़ॉर्मूले इस्तेमाल करता है:

  • स्पीड = distance / time(hour)
  • रफ़्तार = time(seconds) / distance

अनुरोध में दिया गया Accept-Language हेडर, दूरी की इकाई तय करता है.

हर दिन की खास जानकारी

यात्रा, टाइम ज़ोन में बदलाव या डेलाइट सेविंग के दौरान, रोज़ाना के कदमों की संख्या को सटीक तरीके से इकट्ठा करने के लिए, क्लाइंट-साइड पर अवधि की गणना न करें. इसके बजाय, dailyRollUp एंडपॉइंट से क्वेरी करें. यह एंडपॉइंट, यूटीसी ऑफ़सेट का इस्तेमाल करके, डेटा में मौजूद अंतर को अपने-आप ठीक करता है. रोलअप में एक StepsRollupValue ऑब्जेक्ट मिलता है. इसमें countSum फ़ील्ड होता है. यह फ़ील्ड, अनुरोध किए गए दिन के कुल कदमों की जानकारी देता है.

यूज़र इंटरफ़ेस बनाना (मिलान करना)

स्टेप का डेटा दिखाने के लिए यूज़र इंटरफ़ेस एलिमेंट बनाते समय, reconcile एंडपॉइंट का इस्तेमाल करें. अगर एक ही समय पर कई डेटा सोर्स (जैसे, स्मार्टवॉच और मोबाइल फ़ोन) ने चरणों की संख्या रिकॉर्ड की है, तो reconcile एंडपॉइंट, टकरावों को हल करता है और स्ट्रीम को मर्ज करता है, ताकि एक ही डेटा स्ट्रीम दिखाई जा सके.

कनेक्ट किए गए डिवाइसों से सिंक किए गए डेटा में, एक-दूसरे से ओवरलैप होने वाले इंटरवल और टाइमस्टैंप में बदलाव करने के बारे में जानकारी पाने के लिए, डेटा मैनेजमेंट गाइड देखें.

इंट्राडे ट्रैकिंग और हिस्टोग्राम

दिन भर की उपयोगकर्ता गतिविधि की ज़्यादा जानकारी दिखाने के लिए (जैसे कि चार्ट और ग्राफ़):

  • हर घंटे या हर मिनट के हिसाब से हिस्टोग्राम: windowSize पैरामीटर का इस्तेमाल करके, rollUp एंडपॉइंट से क्वेरी करें. इसमें अवधि (जैसे, 60s एक मिनट या 3600s एक घंटे के लिए) तय करें. कदमों का डेटा, एक मिनट (60s) के इंटरवल में रिकॉर्ड किया जाता है. इसलिए, windowSize को कम से कम 60s पर सेट करें. एक मिनट से कम समय के विंडो साइज़ (जैसे कि 10s या 30s) वाले अनुरोधों में, हर मिनट के कुल अनुरोधों को अलग-अलग नहीं किया जाता. इसके बजाय, एक मिनट के कुल अनुरोधों को मैच करने वाले पहले सब-बकेट में रखा जाता है. ज़्यादा जानकारी के लिए, रोलअप विंडो का साइज़ और स्टोरेज का रिज़ॉल्यूशन देखें.
  • कदमों के सभी रिकॉर्ड: कदमों के सबसे ज़्यादा विस्तृत और रॉ रिकॉर्ड फ़ेच करने के लिए, list एंडपॉइंट का इस्तेमाल करें.

rollUp, dailyRollUp, और reconcile एंडपॉइंट, dataSourceFamily पैरामीटर स्वीकार करते हैं. इससे आपको सोर्स ग्रुप से मिले डेटा को फ़िल्टर करने की सुविधा मिलती है. ज़्यादा जानकारी और इस्तेमाल के उदाहरणों के लिए, डेटा फ़िल्टर करने की गाइड का डेटा सोर्स फ़ैमिली के हिसाब से फ़िल्टर करना सेक्शन देखें.

वेबहुक का इस्तेमाल करके रीयल-टाइम में सिंक करना

steps डेटा टाइप कलेक्शन की सदस्यता लें, ताकि नए चरण का डेटा इंपोर्ट या सिंक होने पर आपको रीयल टाइम में सूचना मिल सके. REST एंडपॉइंट को पोल करने के बजाय, इन वेबहुक सूचनाओं के जवाब में क्लाइंट-साइड डैशबोर्ड को डाइनैमिक तरीके से अपडेट करें. सदस्यताएं सेट अप करने के तरीके के बारे में जानकारी के लिए, वेबहुक सदस्यताएं देखें.

शून्य वैल्यू को मैनेज करना

Google Health API, लंबे समय तक एक ही जगह पर बैठे या लेटे रहने की अवधि को हल करने के लिए, सही शून्य लागू करता है. अगर कोई उपयोगकर्ता किसी समयावधि के दौरान ट्रैकर पहने हुए है, लेकिन चल नहीं रहा है, तो एपीआई उस समयावधि के लिए एक रिकॉर्ड दिखाता है. इसमें सामान्य डेटा सोर्स और टाइमस्टैंप मेटाडेटा शामिल होता है, लेकिन count प्रॉपर्टी शामिल नहीं होती.

इससे, इनके बीच अंतर करने में मदद मिलती है:

  • डिवाइस को पहने हुए, एक ही जगह पर बैठे या खड़े रहने की अवधि: इस दौरान, उपयोगकर्ता ने डिवाइस पहना होता है, लेकिन वह चल नहीं रहा होता है. इससे count प्रॉपर्टी के बिना रिकॉर्ड दिखते हैं. इसका मतलब है कि कोई भी कदम नहीं उठाया गया.
  • डिवाइस को हाथ में न पहनने की अवधि: जब उपयोगकर्ता ने डिवाइस को हाथ में नहीं पहना होता है. इससे कोई रिकॉर्ड नहीं मिलता. इसलिए, डेटा में काफ़ी अंतर दिखता है.

ज़्यादा जानकारी के लिए, डेटा की मौजूदगी और सही ज़ीरो गाइड देखें.