डेटा टाइप

Google Fit, com.google नेमस्पेस के तहत, सेहत और तंदुरुस्ती से जुड़े कई डेटा टाइप उपलब्ध कराता है.

डेटा टाइप, डेटा पॉइंट में मौजूद वैल्यू का फ़ॉर्मैट तय करते हैं. डेटा पॉइंट, इन चीज़ों को दिखा सकता है:

  • किसी पल की रीडिंग या ऑब्ज़र्वेशन
  • किसी तय अवधि में, आंकड़ों के साथ एग्रीगेट किया गया डेटा

Google Fit, किसी पल के ऑब्ज़र्वेशन के लिए डेटा टाइप और एग्रीगेट किए गए डेटा के लिए डेटा टाइप तय करता है. डेटा पॉइंट में, किसी डेटा टाइप के फ़ील्ड की वैल्यू और टाइमस्टैंप की जानकारी शामिल होती है. किसी पल के ऑब्ज़र्वेशन को दिखाने वाले पॉइंट में टाइमस्टैंप शामिल होता है. साथ ही, एग्रीगेट किए गए डेटा टाइप के पॉइंट में, इंटरवल के शुरू होने का समय भी शामिल होता है.

Google Fit में, नए डेटा टाइप भी तय किए जा सकते हैं.

डेटा टाइप के ग्रुप

Google Fit में ये डेटा टाइप होते हैं:

सार्वजनिक डेटा टाइप
प्लैटफ़ॉर्म पर उपलब्ध स्टैंडर्ड डेटा टाइप में 'com.google' प्रीफ़िक्स होता है. उदाहरण के लिए, com.google.step_count.delta. इन डेटा टाइप से, सेहत और तंदुरुस्ती से जुड़े डेटा की तुरंत रीडिंग कैप्चर की जाती है. इसमें फ़िटनेस गतिविधि, नींद, और पोषण का डेटा शामिल होता है. कोई भी ऐप्लिकेशन, इन डेटा टाइप को पढ़ने और इनमें बदलाव करने के लिए, ज़रूरी अनुमतियों का अनुरोध कर सकता है. हालांकि, जगह की जानकारी के कुछ डेटा टाइप को सिर्फ़ वह ऐप्लिकेशन पढ़ सकता है जिसने उन्हें सेव किया है.

ज़्यादा जानकारी के लिए, ये लेख देखें:

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

डेटा टाइप का इस्तेमाल करना

Android

Android पर, डेटा टाइप को DataType क्लास के सार्वजनिक फ़ील्ड के तौर पर तय किया जाता है. डेटा टाइप के साथ, Fitness API को ऐक्सेस करने का तरीका इस बात पर निर्भर करता है कि आपको क्या करना है:

  • डेटा रिकॉर्ड करने के लिए, Recording API का इस्तेमाल करके, हर उस डेटा टाइप के लिए सदस्यता बनाएं जिसे आपको रिकॉर्ड करना है.
  • डेटा पढ़ने के लिए, History API का इस्तेमाल करके, हर डेटा टाइप के लिए पढ़ने का अनुरोध सबमिट करें.
  • पुराना डेटा जोड़ने के लिए, History API का इस्तेमाल करके, हर डेटा टाइप के लिए जोड़ने का अनुरोध सबमिट करें.
  • सेशन बनाने के लिए, Sessions API का इस्तेमाल करके, सेशन के मेटाडेटा के साथ डेटा जोड़ें या रिकॉर्ड करें.

किसी पल के DataType ऑब्जेक्ट के लिए डेटा पॉइंट बनाने के लिए, सही फ़ॉर्मैट में वैल्यू असाइन करें. यहां दिए गए उदाहरण में बताया गया है कि खाने के आइटम को स्ट्रिंग के तौर पर, खाने के टाइप को Field क्लास के कॉन्स्टैंट के तौर पर, और पोषक तत्वों की जानकारी को मैप की गई फ़्लोट वैल्यू के तौर पर कैसे असाइन किया जाता है.

val nutritionSource = DataSource.Builder()
    .setDataType(DataType.TYPE_NUTRITION)
    ...
    .build()

val nutrients = mapOf(
    Field.NUTRIENT_TOTAL_FAT to 0.4f,
    Field.NUTRIENT_SODIUM to 1f,
    Field.NUTRIENT_POTASSIUM to 422f
)
val banana = DataPoint.builder(nutritionSource)
    .setTimestamp(now, TimeUnit.MILLISECONDS)
    .setField(Field.FIELD_FOOD_ITEM, "banana")
    .setField(Field.FIELD_MEAL_TYPE, Field.MEAL_TYPE_SNACK)
    .setField(Field.FIELD_NUTRIENTS, nutrients)
    .build()

अपने ऐप्लिकेशन में डेटा पॉइंट सेट करने के बाद, History API की मदद से पुराना डेटा जोड़ा, पढ़ा या मिटाया जा सकता है.

REST

dataSources संसाधन में, डेटा टाइप (और उसके फ़ील्ड की सूची) हर डेटा सोर्स के लिए शामिल होती है. डेटा सोर्स बनाते समय, इनमें से कोई एक डेटा टाइप तय किया जा सकता है. साथ ही, फ़िटनेस स्टोर से डेटा सोर्स वापस पाने पर, डेटा टाइप का नाम और उसके फ़ील्ड की सूची हासिल की जा सकती है.

उदाहरण के लिए, डेटा सोर्स के लिए तय किया गया डेटा टाइप इस तरह दिखता है:

{
"dataStreamId": "exampleDataSourceId",
...
"dataType": {
  "name": "com.google.step_count.delta"
},
...
}

अनुमति पाने के लिंक

अनुमति पाने के लिंक में, डेटा टाइप के ऐसे ग्रुप शामिल होते हैं जिन्हें ऐक्सेस करने की अनुमति, उपयोगकर्ता किसी ऐप्लिकेशन को दे सकता है. इनसे उपयोगकर्ताओं को यह समझने में मदद मिलती है कि कोई ऐप्लिकेशन किस तरह का डेटा ऐक्सेस करना चाहता है. साथ ही, इनसे ऐप्लिकेशन को डेटा इस्तेमाल करने की अनुमति देना आसान हो जाता है. इसके लिए, हर डेटा टाइप के लिए अलग-अलग अनुमति देने की ज़रूरत नहीं होती. उपयोगकर्ता, आपका ऐप्लिकेशन डाउनलोड करने के बाद ये अनुमतियां देते हैं.

OAuth के स्कोप के लिए सहमति लेने वाली स्क्रीन का उदाहरण
दूसरी इमेज.OAuth के दायरे के लिए सहमति वाली स्क्रीन.

कुछ उपयोगकर्ताओं के साथ अपने ऐप्लिकेशन की जांच करने के बाद, आपको अपना ऐप्लिकेशन लॉन्च करने से पहले, उन डेटा टाइप से जुड़े दायरों के आधार पर पुष्टि का अनुरोध करना होगा. यह समझने के लिए कि हर डेटा टाइप पर कौनसे दायरे लागू होते हैं, ऊपर लिंक किए गए डेटा टाइप वाले पेज पढ़ें.

उदाहरण के लिए, अगर आपके ऐप्लिकेशन को ब्लड प्रेशर का डेटा पढ़ना और सेव करना है, तो उसे यह बताना होगा कि वह डेटा पढ़ भी रहा है और सेव भी कर रहा है. साथ ही, उसे दोनों दायरों के लिए अनुरोध करना होगा. अगर वह सिर्फ़ Google Fit प्लैटफ़ॉर्म पर ब्लड प्रेशर का डेटा सेव कर रहा है, तो उसे सिर्फ़ सेव करने के दायरे के लिए अनुरोध करना होगा.

ज़िम्मेदारी से डेटा टाइप चुनें. हर डेटा टाइप के लिए अनुरोध न करें, भले ही आपके ऐप्लिकेशन को उसकी ज़रूरत हो. तय किए गए टाइप से यह तय होता है कि उपयोगकर्ता को किन दायरों के लिए अनुमति देने के लिए कहा जाएगा. सिर्फ़ उन डेटा टाइप के लिए अनुरोध करें जिनकी आपके ऐप्लिकेशन को ज़रूरत है, ताकि उपयोगकर्ता आसानी से ऐक्सेस की अनुमति दे सकें. उपयोगकर्ता, सीमित और साफ़ तौर पर बताए गए दायरों के लिए आसानी से ऐक्सेस की अनुमति दे देते हैं.

यह देखने के लिए कि आपके ऐप्लिकेशन को जिन दायरों के ऐक्सेस की ज़रूरत है वे संवेदनशील हैं या उन पर पाबंदी लगी है, इस टेबल का इस्तेमाल करें. इससे यह तय होता है कि आपको पुष्टि के किन चरणों का पालन करना होगा:

दायरा ब्यौरा कैटगरी
https://www.googleapis.com/auth/fitness.activity.read Google Fit प्लैटफ़ॉर्म से गतिविधि का डेटा पढ़ना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.activity.write Google Fit प्लैटफ़ॉर्म पर गतिविधि का डेटा सेव करना पाबंदी लगी है
https://www.googleapis.com/auth/fitness.blood_glucose.read Google Fit प्लैटफ़ॉर्म से ब्लड ग्लूकोज़ का डेटा पढ़ना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.blood_glucose.write Google Fit प्लैटफ़ॉर्म पर ब्लड ग्लूकोज़ का डेटा सेव करना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.blood_pressure.read Google Fit प्लैटफ़ॉर्म से ब्लड प्रेशर का डेटा पढ़ना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.blood_pressure.write Google Fit प्लैटफ़ॉर्म पर ब्लड प्रेशर का डेटा सेव करना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.body.read Google Fit प्लैटफ़ॉर्म से शरीर के माप का डेटा (लंबाई, वज़न, शरीर में फ़ैट का प्रतिशत) पढ़ना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.body.write Google Fit प्लैटफ़ॉर्म पर शरीर के माप का डेटा सेव करना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.body_temperature.read Google Fit प्लैटफ़ॉर्म से शरीर के तापमान का डेटा पढ़ना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.body_temperature.write Google Fit प्लैटफ़ॉर्म पर शरीर के तापमान का डेटा सेव करना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.heart_rate.read Google Fit प्लैटफ़ॉर्म से धड़कन की दर का डेटा पढ़ना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.heart_rate.write Google Fit प्लैटफ़ॉर्म पर धड़कन की दर का डेटा सेव करना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.location.read Google Fit प्लैटफ़ॉर्म से जगह की जानकारी का डेटा पढ़ना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.location.write Google Fit प्लैटफ़ॉर्म पर जगह की जानकारी का डेटा सेव करना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.nutrition.read Google Fit प्लैटफ़ॉर्म से पोषण का डेटा पढ़ना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.nutrition.write Google Fit प्लैटफ़ॉर्म पर पोषण का डेटा सेव करना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.oxygen_saturation.read Google Fit प्लैटफ़ॉर्म से ऑक्सीजन सेचुरेशन का डेटा पढ़ना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.oxygen_saturation.write Google Fit प्लैटफ़ॉर्म पर ऑक्सीजन सेचुरेशन का डेटा सेव करना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.reproductive_health.read Google Fit प्लैटफ़ॉर्म से प्रजनन स्वास्थ्य का डेटा पढ़ना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.reproductive_health.write Google Fit प्लैटफ़ॉर्म पर प्रजनन स्वास्थ्य का डेटा सेव करना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.sleep.read Google Fit प्लैटफ़ॉर्म से नींद का डेटा पढ़ना. पाबंदी लगी है
https://www.googleapis.com/auth/fitness.sleep.write Google Fit प्लैटफ़ॉर्म पर नींद का डेटा सेव करना. पाबंदी लगी है

मौजूदा ऐप्लिकेशन में नए दायरे जोड़ना

जब अपने ऐप्लिकेशन को अपडेट करके, किसी नए दायरे के लिए अनुरोध किया जाता है (उदाहरण के लिए, अगर नींद या धड़कन की दर के नए दायरे जोड़े जाते हैं या पढ़ने का दायरा जोड़ा जाता है), तो उपयोगकर्ताओं को यह सूचना मिलेगी कि आपका ऐप्लिकेशन इन दायरों को ऐक्सेस करने का अनुरोध कर रहा है. वे ऐक्सेस की अनुमति दे सकते हैं या उसे अस्वीकार कर सकते हैं.

सबसे सही तरीका यह है कि उपयोगकर्ताओं से, संसाधनों के लिए अनुमति का अनुरोध तब किया जाए, जब आपको उनकी ज़रूरत हो. बढ़ती हुई अनुमति का अनुरोध करने से जुड़े दिशा-निर्देशों का पालन करें.

अगर उपयोगकर्ताओं को यह समझ में आता है कि आपका ऐप्लिकेशन इस डेटा का इस्तेमाल क्यों/कैसे करता है, तो वे आसानी से ऐक्सेस की अनुमति दे देंगे:

  • ऐसी स्क्रीन जोड़ने पर विचार करें जो उपयोगकर्ताओं को चेतावनी/जानकारी दे कि उनसे इन दायरों के लिए अनुमति मांगी जाएगी.
  • साफ़ तौर पर बताएं कि आपका ऐप्लिकेशन इन दायरों/डेटा को ऐक्सेस करने का अनुरोध क्यों कर रहा है, ताकि उपयोगकर्ता सही फ़ैसला ले सकें.

Android के लिए, ऐप्लिकेशन की अनुमतियों से जुड़े सबसे सही तरीकों के बारे में ज़्यादा जानें.