Users.dataSources

सेंसर डेटा के एक खास स्रोत की परिभाषा. डेटा सोर्स, स्थानीय या साथी डिवाइसों पर हार्डवेयर सेंसर से मिलने वाले रॉ डेटा का पता लगा सकते हैं. वे दूसरे डेटा स्रोतों को बदलकर या मर्ज करके हासिल किए गए डेटा को भी दिखा सकते हैं. एक ही तरह के डेटा के लिए कई डेटा सोर्स मौजूद हो सकते हैं. इस सेवा में शामिल या उससे डाउनलोड किए गए हर डेटा पॉइंट में जुड़ा हुआ डेटा स्रोत होता है.

डेटा सोर्स में, अपने डेटा की पहचान करने के लिए काफ़ी जानकारी होती है. इसमें, हार्डवेयर डिवाइस और डेटा को इकट्ठा और/या बदलने वाला ऐप्लिकेशन शामिल होता है. इसमें, हार्डवेयर और ऐप्लिकेशन के वर्शन से जुड़ा काम का मेटाडेटा भी शामिल होता है. साथ ही, इसमें डिवाइस का टाइप भी होता है.

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

इस रिसॉर्स के तरीके की सूची देखने के लिए, इस पेज के आखिर में जाएं.

संसाधन प्रतिनिधित्व

{
  "dataStreamId": string,
  "name": string,
  "dataStreamName": string,
  "type": string,
  "dataType": {
    "name": string,
    "field": [
      {
        "name": string,
        "format": string,
        "optional": boolean
      }
    ]
  },
  "device": {
    "uid": string,
    "type": string,
    "version": string,
    "model": string,
    "manufacturer": string
  },
  "application": {
    "packageName": string,
    "version": string,
    "detailsUrl": string,
    "name": string
  },
  "dataQualityStandard": [
    string
  ]
}
प्रॉपर्टी का नाम वैल्यू जानकारी नोट
application nested object उस ऐप्लिकेशन के बारे में जानकारी जो प्लैटफ़ॉर्म पर सेंसर डेटा को फ़ीड करता है.
application.detailsUrl string एक वैकल्पिक यूआरआई जिसका इस्तेमाल ऐप्लिकेशन से वापस लिंक करने के लिए किया जा सकता है.
application.name string इस ऐप्लिकेशन का नाम. REST क्लाइंट के लिए यह ज़रूरी है, लेकिन हम इस नाम की खासियत लागू नहीं करते. यह सुविधा, उन डेवलपर के लिए सुविधा के तौर पर उपलब्ध कराई जाती है जो यह पता लगाना चाहते हैं कि किस REST से ऐप्लिकेशन या डेटा सोर्स बना है.
application.packageName string इस ऐप्लिकेशन के पैकेज का नाम. Android ऐप्लिकेशन से बनाए जाने पर इसका इस्तेमाल एक खास पहचानकर्ता के रूप में किया जाता है. हालांकि, REST क्लाइंट की ओर से इसे तय नहीं किया जा सकता. REST के क्लाइंट का डेवलपर प्रोजेक्ट नंबर, packageName के बजाय डेटा सोर्स के डेटा स्ट्रीम आईडी में दिखेगा.
application.version string ऐप्लिकेशन का वर्शन. जब भी ऐप्लिकेशन इस तरह से बदलाव हो कि डेटा के कंप्यूटेशन पर असर पड़े, तब आपको इस फ़ील्ड को अपडेट करना चाहिए.
dataQualityStandard[] list इस फ़ील्ड को पॉप्युलेट न करें. इसे कभी भी प्लैटफ़ॉर्म से जवाब में नहीं लिया जाता और क्वेरी में इसे अनदेखा कर दिया जाता है. इसे आने वाले वर्शन में पूरी तरह हटा दिया जाएगा.
dataStreamId string इस डेटा सोर्स से जनरेट होने वाली डेटा स्ट्रीम के लिए एक यूनीक आइडेंटिफ़ायर. इस आइडेंटिफ़ायर में ये चीज़ें शामिल हैं:

  • डिवाइस और मैन्युफ़ैक्चरर का मॉडल, सीरियल नंबर, और सीरियल नंबर (UID).
  • ऐप्लिकेशन के पैकेज का नाम या नाम. पैकेज नाम का इस्तेमाल तब किया जाता है, जब डेटा स्रोत Android ऐप्लिकेशन से बनाया गया हो. डेवलपर प्रोजेक्ट नंबर का इस्तेमाल तब किया जाता है, जब डेटा स्रोत किसी REST क्लाइंट ने बनाया हो.
  • डेटा सोर्स किस तरह का है.
  • डेटा सोर्स की स्ट्रीम का नाम.
ध्यान दें कि स्ट्रीम आइडेंटिफ़ायर के हिस्से के तौर पर, डेटा सोर्स के सभी एट्रिब्यूट का इस्तेमाल नहीं किया जाता. खास तौर पर, हार्डवेयर के वर्शन/ऐप्लिकेशन का इस्तेमाल नहीं होता है. इससे हम वर्शन अपडेट के ज़रिए वही स्ट्रीम सुरक्षित रख सकते हैं. इसका मतलब यह भी है कि दो DataSource ऑब्जेक्ट एक ही डेटा स्ट्रीम को दिखा सकते हैं, भले ही वे एक बराबर न हों.

Android ऐप्लिकेशन से बनाए गए डेटा स्ट्रीम आईडी का सटीक फ़ॉर्मैट है: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName

REST क्लाइंट से बनाए गए डेटा स्ट्रीम आईडी का सटीक फ़ॉर्मैट है: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName

डेटा स्ट्रीम आईडी बनाने वाले कोई भी वैकल्पिक फ़ील्ड मौजूद न होने पर, उन्हें डेटा स्ट्रीम आईडी से हटा दिया जाएगा. काम करने वाला कम से कम डेटा स्ट्रीम आईडी होगा: type:dataType.name:डेवलपर प्रोजेक्ट नंबर

आखिर में, डेवलपर प्रोजेक्ट नंबर और डिवाइस के यूआईडी को अस्पष्ट कर दिया जाता है, ताकि डेटा स्रोत को न बनाने वाले किसी भी REST या Android क्लाइंट को पढ़ा जा सके. सिर्फ़ डेटा सोर्स बनाने वाले को, डेवलपर प्रोजेक्ट नंबर साफ़ और सामान्य फ़ॉर्म में दिखेगा. इसका मतलब है कि क्लाइंट को अलग-अलग क्रेडेंशियल वाले किसी दूसरे क्लाइंट की तुलना में data_stream_ids का अलग सेट दिखेगा.

dataStreamName string स्ट्रीम का नाम एक ही तरह के प्रोड्यूसर के इसी तरह के दूसरे डेटा स्रोतों के बीच इस डेटा स्रोत की खास तौर पर पहचान करता है. स्ट्रीम का नाम सेट करना ज़रूरी नहीं है. हालांकि, ऐसा तब किया जाना चाहिए, जब कोई ऐप्लिकेशन एक ही डेटा टाइप के लिए दो स्ट्रीम दिखाता है या जब दो डिवाइस पर एक जैसे सेंसर होते हैं.
dataType nested object डेटा टाइप, उस डेटा की स्कीमा के बारे में बताता है जिसे फ़िटनेस एपीआई इकट्ठा कर रहा है, उसमें डाला गया है या उससे क्वेरी किया गया है.
dataType.field[] list फ़ील्ड, डेटा टाइप का एक डाइमेंशन दिखाता है.
dataType.field[].format string डेटा टाइप में हर फ़ील्ड के लिए काम करने वाले अलग-अलग फ़ॉर्मैट.

इन वैल्यू का इस्तेमाल किया जा सकता है:
  • "blob"
  • "floatList"
  • "floatPoint"
  • "integer"
  • "integerList"
  • "map"
  • "string"
dataType.field[].name string डेटा का नाम और फ़ॉर्मैट बताता है. डेटा टाइप के नामों के उलट, फ़ील्ड के नाम नेमस्पेस नहीं किए जाते हैं और सिर्फ़ डेटा टाइप में यूनीक होने चाहिए.
dataType.field[].optional boolean
dataType.name string हर डेटा टाइप का एक यूनीक नाम, नेमस्पेस, नाम होता है. com.google नेमस्पेस में सभी डेटा टाइप, प्लैटफ़ॉर्म के हिस्से के तौर पर शेयर किए जाते हैं.
device nested object इंटिग्रेट किए गए ऐसे डिवाइस (जैसे कि फ़ोन या पहना जाने वाला डिवाइस) को दिखाना जो सेंसर को पकड़ सकता हो.
device.manufacturer string प्रॉडक्ट/हार्डवेयर के निर्माता.
device.model string डिवाइस के लिए असली उपयोगकर्ता को दिखने वाला मॉडल नाम.
device.type string डिवाइस के टाइप को दिखाने वाला कॉन्सटेंट.

इन वैल्यू का इस्तेमाल किया जा सकता है:
  • "chestStrap"
  • "headMounted"
  • "phone"
  • "scale"
  • "smartDisplay"
  • "tablet"
  • "unknown"
  • "watch"
device.uid string हार्डवेयर का सीरियल नंबर या अन्य यूनीक आईडी. डेटा सोर्स को न बनाने वाले किसी भी REST या Android क्लाइंट के पढ़ने पर इस फ़ील्ड को अस्पष्ट कर दिया जाता है. यूआईडी फ़ील्ड को सिर्फ़ डेटा सोर्स क्रिएटर को साफ़ और सामान्य फ़ॉर्म में दिखेगा.

अस्पष्ट बनाने के तरीके से इक्वेशन को सुरक्षित रखा जाता है. इसका मतलब है कि अगर आईडी1 == id2, उलझाने वाला(id1) == उलझाने वाला(id2) है, तो दो आईडी दिए जाते हैं.

device.version string डिवाइस के हार्डवेयर/सॉफ़्टवेयर के लिए वर्शन स्ट्रिंग.
name string इस डेटा सोर्स के लिए असली उपयोगकर्ता को दिखने वाला नाम.
type string इस डेटा सोर्स के टाइप की जानकारी देने वाला एक कॉन्सटेंट. इससे पता चलता है कि यह डेटा सोर्स, रॉ डेटा या उससे बना डेटा जनरेट करता है या नहीं.

इन वैल्यू का इस्तेमाल किया जा सकता है:
  • "derived"
  • "raw"

तरीके

बनाना
एक नया डेटा स्रोत बनाता है, जो इस उपयोगकर्ता से जुड़े सभी डेटा स्रोतों के लिए यूनीक होता है.

डेटा सोर्स, सेंसर डेटा का एक यूनीक सोर्स होता है. डेटा सोर्स, स्थानीय या साथी डिवाइसों के हार्डवेयर सेंसर से मिलने वाले रॉ डेटा का पता लगा सकते हैं. वे डेटा के अन्य स्रोतों को बदलकर या मर्ज करके हासिल किया गया डेटा भी दिखा सकते हैं. एक ही तरह के डेटा के लिए कई डेटा सोर्स मौजूद हो सकते हैं. फ़िटनेस एपीआई में शामिल या उससे पढ़े गए हर डेटासेट में, हर डेटा पॉइंट का एक डेटा स्रोत होता है.

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

डेटा सोर्स की पहचान, सर्वर के ज़रिए जनरेट की गई स्ट्रिंग का इस्तेमाल करके की जाती है. यह स्ट्रिंग, बनाए जा रहे सोर्स के कॉन्टेंट के आधार पर तय की जाती है. इस तरीके को शुरू करते समय, dataStreamId फ़ील्ड सेट नहीं किया जाना चाहिए. यह सर्वर से सही फ़ॉर्मैट में अपने-आप जनरेट होगा. अगर dataStreamId सेट किया गया है, तो यह उस फ़ॉर्मैट से मेल खाना चाहिए जो सर्वर जनरेट करेगा. यह फ़ॉर्मैट, डेटा सोर्स के कुछ फ़ील्ड का कॉम्बिनेशन होता है और इसमें एक खास ऑर्डर होता है. अगर यह मेल नहीं खाता, तो अनुरोध पूरा नहीं होगा.

ऐसा डेटा टाइप तय करने से जो जानी-पहचानी नहीं है ("com.google." से शुरू) कस्टम डेटा टाइप वाला DataSource बनाएं. कस्टम डेटा टाइप को सिर्फ़ ऐसे ऐप्लिकेशन से पढ़ा जा सकता है जिसने उन्हें बनाया है. पसंद के मुताबिक डेटा के प्रकार का अब इस्तेमाल में नहीं है; इसके बजाय मानक डेटा का इस्तेमाल करें.

डेटा सोर्स आईडी में शामिल डेटा सोर्स फ़ील्ड के अलावा, डेटा सोर्स बनाते समय पुष्टि किए गए डेवलपर प्रोजेक्ट नंबर को भी शामिल किया जाता है. जब सार्वजनिक डेटा टाइप को पढ़ने वाला कोई दूसरा डेवलपर, इसे पढ़ता है, तो यह डेवलपर प्रोजेक्ट नंबर अस्पष्ट होता है.
मिटाएं
बताए गए डेटा स्रोत को हटाता है. अगर डेटा सोर्स में कोई डेटा पॉइंट है, तो अनुरोध पूरा नहीं होगा.
पाएं
बताए गए डेटा स्रोत.
list
उन सभी डेटा स्रोतों की सूची बनाता है जो डेवलपर को दिए गए OAuth दायरे का इस्तेमाल करके दिखाए गए हैं. यह सूची पूरी नहीं है; हो सकता है कि उपयोगकर्ता के पास निजी डेटा के ऐसे स्रोत हों जो सिर्फ़ दूसरे डेवलपर को दिखते हों या दूसरे स्कोप का इस्तेमाल करके कॉल करते हों.
अपडेट करें
बताए गए डेटा स्रोत को अपडेट करता है. version के अपवाद के साथ, dataStreamId, dataType, type, dataStreamName, और device प्रॉपर्टी में बदलाव नहीं किया जा सकता.

डेटा सोर्स की पहचान उनके dataStreamId से की जाती है.