यहां दी गई टेबल में, डेटा टाइप की पूरी सूची दी गई है. इसमें कई कॉलम हैं, ताकि आपको Google Health API में हर टाइप के डेटा को दिखाने के तरीके के बारे में पता चल सके. साथ ही, यह भी पता चल सके कि हर टाइप का डेटा किस स्कोप में उपलब्ध है.
डेटा टाइपdataType
filter पैरामीटर |
Record type |
उपलब्ध कार्रवाइयां |
दायरा | वेबबुक support |
ट्रू ज़ीरो की सुविधा |
|---|---|---|---|---|---|
खर्च की गई ऐक्टिव एनर्जी
active-energy-burnedactive_energy_burned
|
इंटरवल | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
ऐक्टिव मिनट
active-minutesactive_minutes
|
इंटरवल | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
ऐक्टिव ज़ोन मिनट
active-zone-minutesactive_zone_minutes
|
इंटरवल | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
गतिविधि का लेवल
activity-levelactivity_level
|
इंटरवल | सूची, फिर से मिलाना | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
ऊंचाई
altitudealtitude
|
इंटरवल | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
ब्लड ग्लूकोज़
blood-glucoseblood_glucose
|
नमूना | list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
बॉडी फ़ैट
body-fatbody_fat
|
नमूना | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
हार्ट रेट ज़ोन में बर्न की गई कैलोरी
calories-in-heart-rate-zonecalories_in_heart_rate_zone
|
इंटरवल | rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
शरीर का तापमान
core-body-temperaturecore_body_temperature
|
नमूना | list, get, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
धड़कन की दर में रोज़ाना होने वाला उतार-चढ़ाव
daily-heart-rate-variabilitydaily_heart_rate_variability
|
हर दिन | सूची, फिर से मिलाना | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
धड़कन की दर वाले ज़ोन की रोज़ की जानकारी
daily-heart-rate-zonesdaily_heart_rate_zones
|
हर दिन | सूची, फिर से मिलाना | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
ऑक्सीजन की मात्रा की रोज़ाना की रीडिंग
daily-oxygen-saturationdaily_oxygen_saturation
|
हर दिन | सूची, फिर से मिलाना | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
सांस लेने की रोज़ाना की दर
daily-respiratory-ratedaily_respiratory_rate
|
हर दिन | सूची, फिर से मिलाना | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
रोज़ाना की आराम करते समय धड़कन की दर
daily-resting-heart-ratedaily_resting_heart_rate
|
हर दिन | सूची, फिर से मिलाना | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
नींद के दौरान शरीर के तापमान में रोज़ाना होने वाले बदलाव
daily-sleep-temperature-derivationsdaily_sleep_temperature_derivations
|
हर दिन | सूची, फिर से मिलाना | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
रोज़ का VO2 मैक्स
daily-vo2-maxdaily_vo2_max
|
हर दिन | सूची, फिर से मिलाना | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
दूरी
distancedistance
|
इंटरवल | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
इलेक्ट्रोकार्डियोग्राम (ईसीजी)
electrocardiogramelectrocardiogram
|
सेशन | सूची | .ecg.readonly |
||
एक्सरसाइज़
exerciseexercise
|
सेशन | list, get, reconcile, create, update, batchDelete | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
फ़्लोर
floorsfloors
|
इंटरवल | reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
खाना
foodfood
|
खाना | सूची, पाएं | .nutrition.readonly.nutrition.writeonly |
||
खाने की चीज़ों के मेज़रमेंट की यूनिट
food-measurement-unitfood_measurement_unit
|
खाना | सूची, पाएं | .nutrition.readonly.nutrition.writeonly |
||
दिल की धड़कन की दर
heart-rateheart_rate
|
नमूना | list, reconcile, rollup, dailyRollup | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
धड़कन की दर में उतार-चढ़ाव
heart-rate-variabilityheart_rate_variability
|
नमूना | सूची, फिर से मिलाना | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
ऊंचाई
heightheight
|
नमूना | list, get, reconcile, create, update, batchDelete | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
हाइड्रेशन का लॉग
hydration-loghydration_log
|
सेशन | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
||
दिल की धड़कन अनियमित होने पर मिलने वाली सूचनाएं
irregular-rhythm-notificationirregular_rhythm_notification
|
सेशन | सूची | .irn.readonly |
||
माहवारी का समय
menstrual-periodmenstrual_period
|
इंटरवल | create, update, batchDelete | .reproductive_health.writeonly |
||
मूड
moodsmoods
|
नमूना | create, update, batchDelete | .mindfulness.writeonly |
||
पोषण से जुड़ा डेटा लॉग करें
nutrition-lognutrition_log
|
नमूना | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .nutrition.readonly.nutrition.writeonly |
||
ऑव्युलेशन टेस्ट
ovulation-testovulation_test
|
नमूना | create, update, batchDelete | .reproductive_health.writeonly |
||
ऑक्सीजन की मात्रा
oxygen-saturationoxygen_saturation
|
नमूना | सूची, फिर से मिलाना | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
नींद के दौरान सांस लेने की दर की खास जानकारी
respiratory-rate-sleep-summaryrespiratory_rate_sleep_summary
|
नमूना | सूची, फिर से मिलाना | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
||
दौड़ने के दौरान का VO2 मैक्स
run-vo2-maxrun_vo2_max
|
नमूना | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
Sedentary Period
sedentary-periodsedentary_period
|
इंटरवल | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
नींद
sleepsleep
|
सेशन | list, get, reconcile, create, update, batchDelete | .sleep.readonly.sleep.writeonly |
||
तरीका
stepssteps
|
इंटरवल | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
स्विम लेंथ का डेटा
swim-lengths-dataswim_lengths_data
|
इंटरवल | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
लक्षण
symptomssymptoms
|
नमूना | create, update, batchDelete | .logged_symptoms.writeonly |
||
धड़कन की दर वाले ज़ोन में बिताया गया समय
time-in-heart-rate-zonetime_in_heart_rate_zone
|
इंटरवल | list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
कुल कैलोरी
total-caloriestotal_calories
|
इंटरवल | rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
VO2 Max
vo2-maxvo2_max
|
नमूना | सूची, फिर से मिलाना | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
||
वज़न
weightweight
|
नमूना | list, get, reconcile, rollup, dailyRollup, create, update, batchDelete | .health_metrics_and_measurements.readonly.health_metrics_and_measurements.writeonly |
क्वेरी कंस्ट्रेंट
एपीआई से डेटा पॉइंट, रोलअप या रोज़ के रोलअप के बारे में क्वेरी करते समय, इन बातों का ध्यान रखें:
- फ़िल्टर से जुड़ी ज़रूरी शर्तें: सिर्फ़ पढ़ने के लिए उपलब्ध कुछ डिराइव किए गए डेटा टाइप, जैसे कि
total-caloriesके लिए, एक फ़िल्टर की ज़रूरत होती है. इसमें इंटरवल के शुरू होने का समय (फ़िज़िकल या सिविल टाइम का इस्तेमाल करके) बताया जाता है. - क्वेरी रेंज की सीमाएं:
calories-in-heart-rate-zone,heart-rate,active-minutes, औरtotal-caloriesके लिए क्वेरी रेंज की ज़्यादा से ज़्यादा सीमा 14 दिन है. अन्य सभी डेटा टाइप के लिए, क्वेरी की ज़्यादा से ज़्यादा सीमा 90 दिन है.
डेटा की उपलब्धता
उपयोगकर्ता के डेटा में अपडेट सिर्फ़ तब उपलब्ध होते हैं, जब वह गतिविधि ट्रैकर को सिंक करता है या Fitbit का मोबाइल ऐप्लिकेशन या वेब ऐप्लिकेशन में मैन्युअल तरीके से नया डेटा डालता है. Fitbit डिवाइस और Fitbit ऐप्लिकेशन, हर 15 मिनट में अपने-आप सिंक हो सकते हैं. इसके लिए, Fitbit ऐप्लिकेशन का मोबाइल डिवाइस पर खुला होना ज़रूरी है. साथ ही, दोनों के बीच डेटा कनेक्शन चालू होना चाहिए और वे ब्लूटूथ की रेंज में होने चाहिए. अगर उपयोगकर्ता MobileTrack का इस्तेमाल करके गतिविधि ट्रैक कर रहा है, तो ऐप्लिकेशन खुला होने पर MobileTrack हर घंटे सिंक होता है.
पुराने डेटा के बारे में क्वेरी करना
Google Health API का एक मुख्य फ़ायदा यह है कि इससे किसी व्यक्ति की परफ़ॉर्मेंस को ट्रैक किया जा सकता है. साथ ही, लंबे समय तक उसकी सेहत से जुड़ी ज़रूरी जानकारी पर नज़र रखी जा सकती है. उपयोगकर्ता के डेटा को तब तक क्वेरी किया जा सकता है, जब तक उसे रिकॉर्ड किया गया है. एपीआई, आपके ऐप्लिकेशन के इस्तेमाल किए जा सकने वाले पुराने डेटा की मात्रा पर कोई सीमा या पाबंदी नहीं लगाता है.
हालांकि, पुराने डेटा के लिए क्वेरी करने पर, अब भी स्टैंडर्ड रेट लिमिट लागू होती हैं. इन सीमाओं के हिसाब से एपीआई कॉल की संख्या कम करने के लिए, Google Health API किसी तारीख की सीमा के हिसाब से डेटा का अनुरोध करने की सुविधा देता है. पेज नंबर के हिसाब से डेटा बांटने और अनुरोध की सीमाओं के बारे में यहां दी गई जानकारी पढ़ें:
- हर एंडपॉइंट, हर पेज पर ज़्यादा से ज़्यादा 10,000 डेटा पॉइंट दिखाता है.
- क्वेरी के लिए तारीख की सीमा, हर अनुरोध के लिए 14 से 90 दिनों के बीच होनी चाहिए.
आपके ऐप्लिकेशन को जितने पुराने डेटा की ज़रूरत होती है उसके हिसाब से, पूरे डेटासेट को वापस पाने के लिए, क्रम से कई अनुरोध करने पड़ सकते हैं. इसमें ज़्यादा समय भी लग सकता है. अपने ऐप्लिकेशन के डेटा को सिंक करने की प्रोसेस डिज़ाइन करते समय, इस बात का ध्यान रखें.
बेहतर परफ़ॉर्मेंस पाने और एपीआई से जुड़ी गड़बड़ियों से बचने के लिए, पुराने डेटा को क्वेरी करते समय इन दिशा-निर्देशों का पालन करें:
फ़ेज़ के हिसाब से डेटा सिंक करना (हॉट वर्सेस कोल्ड लोड)
- शुरुआती "हॉट" लोड: प्राइमरी लोड सीक्वेंस के दौरान, सिर्फ़ पिछले 7 से 14 दिनों का डेटा फ़ेच और रेंडर करें. इससे यह पक्का होता है कि उपयोगकर्ताओं को डेटा तुरंत दिखे. उन्हें लंबी अवधि तक चलने वाली क्वेरी के लिए इंतज़ार न करना पड़े.
- बैकग्राउंड में "कोल्ड" लोड: प्राइमरी यूज़र इंटरफ़ेस (यूआई) रेंडर होने के बाद, पुराने डेटा को एसिंक्रोनस, कम प्राथमिकता वाली कतार या बैकग्राउंड प्रोसेस में भेजें.
समय के आधार पर क्वेरी को हिस्सों में बांटना
- एक ही एपीआई कॉल में, कई सालों या कई महीनों के डेटा का अनुरोध न करें. पुरानी क्वेरी को छोटे-छोटे हिस्सों में बांटें और उन्हें क्रम से लगाएं. उदाहरण के लिए, हर अनुरोध के लिए एक हफ़्ते का डेटा.
- इन सब-क्वेरी को बैच या क्रम में सुरक्षित तरीके से रखें, ताकि एक साथ कई अनुरोध करने की सीमा का पालन किया जा सके और यूज़र इंटरफ़ेस (यूआई) पर प्रोग्रेस इंडिकेटर को स्थिर रखा जा सके.
पहले से एग्रीगेट किए गए रोल-अप का फ़ायदा उठाना
खास जानकारी वाले डैशबोर्ड और रुझान चार्ट को फिर से व्यवस्थित करें, ताकि पहले से एग्रीगेट किए गए डेटा और खास जानकारी वाले एंडपॉइंट (जैसे, DailyRollUpDataPoints) का इस्तेमाल किया जा सके. इससे बैकएंड पर कंप्यूटिंग का ओवरहेड और क्लाइंट को डेटा ट्रांसफ़र करने में लगने वाला समय काफ़ी कम हो जाएगा.
गड़बड़ी ठीक करने की बेहतर सुविधा (स्मार्ट तरीके से फिर से कोशिश करना)
- जब दर की सीमाएं (
429 Too Many Requests) और सर्वर गेटवे टाइमआउट (504 Gateway Timeout) की समस्याएं आएं, तो स्ट्रिक्ट एक्सपोनेंशियल बैकऑफ़ हैंडलिंग लागू करें. बड़े और फ़ेल हो चुके पेलोड को तुरंत फिर से भेजने की कोशिश न करें. तुरंत फिर से कोशिश करने से, बैकएंड में ज़्यादा ट्रैफ़िक आता है और सिस्टम की परफ़ॉर्मेंस खराब हो जाती है. - अगर कोई क्वेरी बार-बार टाइम आउट हो जाती है, तो अपने-आप छोटी टाइम विंडो पर वापस आ जाएं. उदाहरण के लिए, एक हफ़्ते के डेटा को तीन दिन के डेटा में बदल दें.
तीसरे पक्ष का ऐक्सेस
Fitbit डिवाइस, तीसरे पक्ष के ऐप्लिकेशन या सेवाओं के साथ सीधे तौर पर कम्यूनिकेट नहीं कर सकते. इन डिवाइसों को सिर्फ़ Fitbit मोबाइल ऐप्लिकेशन के साथ कम्यूनिकेट और सिंक करने के लिए डिज़ाइन किया गया है.
डिवाइस, दिन भर में अपने-आप डेटा सिंक करता है. ऐसा तब होता है, जब Fitbit ऐप्लिकेशन खुला हो. अगर ब्लूटूथ चालू है और ऐप्लिकेशन बैकग्राउंड में चल रहा है, तो हर 15 मिनट में डेटा सिंक होता है. सिंक करने की यह प्रोसेस पूरी होने के बाद, Google Health API के ज़रिए तीसरे पक्ष की सेवाओं के लिए डेटा उपलब्ध हो जाता है.
दूरी के स्टैंडर्ड
एक्सरसाइज़ की दूरी, जैसे कि elevationGainMillimeters को मिलीमीटर में मापा जाता है. ऐसा इन वजहों से किया जाता है:
- डेटा को सटीक बनाए रखना: मिलीमीटर का इस्तेमाल करने की सबसे अहम वजह यह है कि हम जो डेटा पढ़ते और देते हैं उसमें कोई भी गड़बड़ी न हो. मिलीमीटर जैसी छोटी इकाई का इस्तेमाल करने से, हम मेज़रमेंट को ज़्यादा सटीक तरीके से दिखा पाते हैं.
- स्टैंडर्ड यूनिट: हमारी सभी सेवाओं में, मिलीमीटर को स्टैंडर्ड यूनिट के तौर पर इस्तेमाल किया जाता है. इससे यह पक्का करने में मदद मिलती है कि एपीआई के अलग-अलग हिस्सों से इंटरैक्ट करने वाले डेवलपर को एक जैसा अनुभव मिले.
- मेज़रमेंट सिस्टम के लिए बेहतर सपोर्ट: मिलीमीटर जैसी बुनियादी इकाई का इस्तेमाल करने से, डेवलपर के लिए किसी भी दूसरी चुनी गई इकाई में बदलना आसान हो जाता है. इससे कोई फ़र्क़ नहीं पड़ता कि वे मीट्रिक, इंपीरियल या अन्य मेज़रमेंट सिस्टम के साथ काम कर रहे हैं.
दिन की अलग-अलग अवधि
Health API, समय को इस तरह से मैनेज करता है कि उपयोगकर्ता के समय को प्राथमिकता दी जा सके. इससे दिन की अवधि में होने वाले बदलावों को ध्यान में रखा जा सकता है. ये बदलाव, डेलाइट सेविंग टाइम या यात्रा की वजह से होते हैं. हर डेटा पॉइंट को दो टाइमस्टैंप के साथ सेव किया जाता है. पहला, यूटीसी टाइमस्टैंप और दूसरा, इवेंट के समय यूटीसी से ऑफ़सेट. इससे सिस्टम को ये काम करने की अनुमति मिलती है:
- इवेंट को किसी सटीक फ़िज़िकल इंस्टैंट पर मैप करें.
- उपयोगकर्ता के स्थानीय संदर्भ के हिसाब से समय को सही करें, ताकि उसे एग्रीगेट किया जा सके.
डेलाइट सेविंग टाइम
डेलाइट सेविंग टाइम (डीएसटी) के दौरान, "फ़ॉल बैक" की वजह से सिविल डे 25 घंटे का हो जाता है. इसलिए, उस तारीख के रोलअप में 25 घंटे का डेटा शामिल होगा. "स्प्रिंग फ़ॉरवर्ड" के दौरान, दिन 23 घंटे का हो जाता है. ऐसा इसलिए होता है, क्योंकि समय को वापस स्टैंडर्ड टाइम पर सेट कर दिया जाता है.
यात्रा
अलग-अलग टाइम ज़ोन में यात्रा करने से, एक दिन की अवधि में और भी ज़्यादा अंतर आ सकता है.
टाइम ज़ोन में अंतर को ठीक करने के लिए, dailyRollUp एंडपॉइंट का इस्तेमाल करें. यह उपयोगकर्ता के स्थानीय समय के हिसाब से, डेटा को उस कैलेंडर दिन के हिसाब से अपने-आप एट्रिब्यूट करता है जिस दिन उसे रिकॉर्ड किया गया था. इससे समय क्षेत्र में बदलाव होने के बावजूद, दिन के हिसाब से डेटा को "स्टिच" किया जा सकता है.