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 इस डेटा सोर्स से बनाई गई डेटा स्ट्रीम के लिए, यूनीक आइडेंटिफ़ायर. आइडेंटिफ़ायर में ये चीज़ें शामिल होती हैं:

  • डिवाइस बनाने वाली कंपनी का नाम, मॉडल, और सीरियल नंबर (यूआईडी).
  • ऐप्लिकेशन के पैकेज का नाम या नाम. पैकेज के नाम का इस्तेमाल तब किया जाता है, जब किसी 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:developer प्रोजेक्ट नंबर

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

dataStreamName string स्ट्रीम का नाम, एक ही प्रोड्यूसर के उसी टाइप के दूसरे डेटा सोर्स के बीच, इस डेटा सोर्स की खास तौर पर पहचान करता है. स्ट्रीम का नाम सेट करना ज़रूरी नहीं है. हालांकि, ऐसा तब करना चाहिए, जब कोई ऐप्लिकेशन एक ही तरह के डेटा के लिए दो स्ट्रीम दिखाए या जब किसी डिवाइस में दो मिलते-जुलते सेंसर हों.
dataType nested object डेटा टाइप, Fitness API से इकट्ठा किए जा रहे, उसमें डाले गए या उससे क्वेरी किए जाने वाले डेटा की स्ट्रीम के स्कीमा को तय करता है.
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 क्लाइंट ने डेटा सोर्स नहीं बनाया है उसके ज़रिए पढ़े जाने पर, यह फ़ील्ड अस्पष्ट हो जाता है. uid फ़ील्ड, सिर्फ़ डेटा सोर्स बनाने वाले को साफ़ और सामान्य फ़ॉर्म में दिखेगा.

अस्पष्ट बनाने से, बराबरी का मौका बना रहता है. इसका मतलब है कि अगर id1 == id2, obfuscated(id1) == obfuscated(id2) दो आईडी दी जाती हैं, तो यह बराबरी का होगा.

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

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

तरीके

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

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

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

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

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

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

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