कसरत को रिकॉर्ड करने का तरीका

इस दस्तावेज़ में फ़िटनेस REST API का इस्तेमाल करके कसरत रिकॉर्ड करने का तरीका बताया गया है.

पहला चरण: कोई प्रोजेक्ट सेट अप करना

आपको Google API कंसोल में एक प्रोजेक्ट सेट अप करना होगा. इसके बाद, Fitness REST API, जैसा कि Getting Started में बताया गया है.

दूसरा चरण: अपने ऐप्लिकेशन की पुष्टि करना

आपके ऐप्लिकेशन को ऐक्सेस टोकन का इस्तेमाल करके, Fitness API को मिले अनुरोधों की पुष्टि करनी होगी. पाने के लिए तो आपके ऐप्लिकेशन में क्लाइंट के लिए खास क्रेडेंशियल और ऐक्सेस का दायरा शामिल होता है, जैसा कि अनुरोध स्वीकार करना में बताया गया है.

तीसरा चरण: डेटा सोर्स बनाना

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

डेटा सोर्स बनाने के लिए, इन पैरामीटर के साथ पुष्टि किया गया एचटीटीपी अनुरोध सबमिट करें:

एचटीटीपी तरीका
पोस्ट करें
संसाधन

https://www.googleapis.com/fitness/v1/users/me/dataSources

me यूज़र आईडी, वह उपयोगकर्ता होता है जिसका ऐक्सेस टोकन, अनुरोध को अनुमति देता है.

अनुरोध का मुख्य भाग
{
"name": "example-fit-heart-rate",
"dataStreamId":
    "raw:com.google.heart_rate.bpm:1234567890:Example Fit:example-fit-hrm-1:123456",
"dataType": {
    "field": [{
        "name": "bpm",
        "format": "floatPoint"
    }],
    "name": "com.google.heart_rate.bpm"
},
"application": {
    "packageName": "com.example.fit.someapp",
    "version": "1.0"
},
"device": {
    "model": "example-fit-hrm-1",
    "version": "1",
    "type": "watch",
    "uid": "123456",
    "manufacturer":"Example Fit"
},
"type": "raw"
}

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

अनुरोध पूरा होने पर, रिस्पॉन्स के तौर पर 200 OK स्टेटस कोड दिखेगा.

डेटा सोर्स के बारे में ज़्यादा जानने के लिए, एपीआई का रेफ़रंस देखें Users.dataSources संसाधन.

चौथा चरण: डेटा पॉइंट जोड़ना

फ़िटनेस स्टोर में डेटा पॉइंट डालने के लिए, डेटासेट का इस्तेमाल किया जाता है. डेटासेट, डेटा का एक कलेक्शन होता है एक डेटा सोर्स से पॉइंट की संख्या.

डेटासेट बनाने और उसमें पॉइंट जोड़ने के लिए, पुष्टि किए गए एचटीटीपी अनुरोध को इनके साथ सबमिट करें पैरामीटर:

एचटीटीपी तरीका
पैच
संसाधन

https://www.googleapis.com/fitness/v1/users/me/dataSources/
raw:com.google.heart_rate.bpm:1234567890:Example%20Fit:example-fit-hrm-1:123456/datasets/1411053997000000000-1411057556000000000

यूआरएल में डेटा सोर्स का आईडी और डेटासेट के शुरू और खत्म होने का समय नैनोसेकंड में शामिल होता है.

अनुरोध का मुख्य भाग
{
"minStartTimeNs": 1411053997000000000,
"maxEndTimeNs": 1411057556000000000,
"dataSourceId":
  "raw:com.google.heart_rate.bpm:1234567890:Example Fit:example-fit-hrm-1:123456",
"point": [
{
  "startTimeNanos": 1411053997000000000,
  "endTimeNanos": 1411053997000000000,
  "dataTypeName": "com.google.heart_rate.bpm",
  "value": [
    {
      "fpVal": 78.8
    }
  ]
},
{
  "startTimeNanos": 1411055000000000000,
  "endTimeNanos": 1411055000000000000,
  "dataTypeName": "com.google.heart_rate.bpm",
  "value": [
    {
      "fpVal": 89.1
    }
  ]
},
{
  "startTimeNanos": 1411057556000000000,
  "endTimeNanos": 1411057556000000000,
  "dataTypeName": "com.google.heart_rate.bpm",
  "value": [
    {
      "fpVal": 62.45
    }
  ]
}
]
}

यह अनुरोध, डेटा के लिए एक घंटे के अंदर तीन धड़कन की दर वाले डेटा पॉइंट वाला डेटासेट बनाता है स्रोत पर क्लिक करें.

अनुरोध पूरा होने पर, रिस्पॉन्स के तौर पर 200 OK स्टेटस कोड दिखेगा.

डेटासेट के बारे में ज़्यादा जानकारी के लिए, एपीआई का संदर्भ देखें Users.dataSources.datasets संसाधन.

मान्य टाइमस्टैंप जनरेट करें

ऊपर दिए गए उदाहरण में, टाइमस्टैंप नैनोसेकंड में हैं. मान्य टाइमस्टैंप जनरेट करने के लिए, इनका इस्तेमाल किया जा सकता है Python स्क्रिप्ट:

from datetime import datetime, timedelta
import calendar

def date_to_nano(ts):
    """
    Takes a datetime object and returns POSIX UTC in nanoseconds
    """
    return calendar.timegm(ts.utctimetuple()) * int(1e9)

if __name__ == '__main__':
    print 'Current time is %d' % date_to_nano(datetime.now())
    print 'Time 1 hour ago was %d' % date_to_nano(datetime.now() +
       timedelta(hours=-1))

पांचवां चरण: सेशन बनाना

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

इस कसरत के लिए सेशन बनाने के लिए, इन पैरामीटर के साथ पुष्टि किया गया एचटीटीपी अनुरोध सबमिट करें:

एचटीटीपी तरीका
पुट
संसाधन

https://www.googleapis.com/fitness/v1/users/me/sessions/sessionId

sessionId आर्बिट्रेरी है और वह सभी सेशन के लिए यूनीक होना चाहिए पुष्टि किए गए उपयोगकर्ता से जुड़ा हो.

अनुरोध का मुख्य भाग
{
"id": "example-fit-1411053997",
"name": "Example Fit Run on Sunday Afternoon",
"description": "Example Fit Running Session",
"startTimeMillis": 1411053997000,
"endTimeMillis": 1411057556000,
"application": {
"name": "Foo Example App",
"version": "1.0"
},
"activityType": 8
}

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

इस सत्र में दर्ज किए गए समय अंतराल में पहले डाले गए हृदय गति डेटा को शामिल किया गया है, इसलिए Google Fit उन डेटा पॉइंट को इस सेशन से जोड़ता है.

सेशन के बारे में ज़्यादा जानने के लिए, एपीआई का रेफ़रंस देखें Users.sessions संसाधन.

छठा चरण: गतिविधि के सेगमेंट बनाना

गतिविधि सेगमेंट की मदद से, किसी सेशन में अलग-अलग गतिविधियां दिखाई जा सकती हैं. गतिविधि सेगमेंट, टाइम सेगमेंट को कहते हैं. इसमें सिर्फ़ एक गतिविधि शामिल होती है. उदाहरण के लिए, अगर कोई उपयोगकर्ता एक घंटे की दौड़ के लिए, आपके पास running (8) टाइप का गतिविधि सेगमेंट बनाने का विकल्प है. मदद मिलती है. अगर कोई उपयोगकर्ता 25 मिनट तक दौड़ता है, पांच मिनट के लिए ब्रेक लेता है, फिर आधे घंटे तक दौड़ता है घंटे के हिसाब से, running टाइप के लगातार तीन गतिविधि सेगमेंट बनाए जा सकते हैं, unknown और running.

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

इस उदाहरण में, एक ही समयसीमा में तीन सेगमेंट (रनिंग, रेस्टिंग, और रनिंग) बनाए गए हैं धड़कन की दर को ट्रैक करता है. मान लें कि आपने गतिविधि का एक सेगमेंट पहले ही बना लिया है डेटा सोर्स और डेटा सोर्स आईडी "raw:com.google.activity.segment:1234567890:Example Fit:example-fit-hrm-1:123456" है:

एचटीटीपी तरीका
पैच
संसाधन
https://www.googleapis.com/fitness/v1/users/me/dataSources/
raw:com.google.activity.segment:1234567890/datasets/1411053997000000000-1411057556000000000
अनुरोध का मुख्य भाग
{
"minStartTimeNs": 1411053997000000000,
"maxEndTimeNs": 1411057556000000000,
"dataSourceId":
  "raw:com.google.activity.segment:1234567890",
"point": [
{
  "startTimeNanos": 1411053997000000000,
  "endTimeNanos": 1411053997000000000,
  "dataTypeName": "com.google.activity.segment",
  "value": [
    {
      "intVal": 8
    }
  ]
},
{
  "startTimeNanos": 1411055000000000000,
  "endTimeNanos": 1411055000000000000,
  "dataTypeName": "com.google.activity.segment",
  "value": [
    {
      "intVal": 4
    }
  ]
},
{
  "startTimeNanos": 1411057556000000000,
  "endTimeNanos": 1411057556000000000,
  "dataTypeName": "com.google.activity.segment",
  "value": [
    {
      "intVal": 8
    }
  ]
}
]
}

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

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

यह बताने के लिए कि कोई उपयोगकर्ता आराम कर रहा है, जानकारी नहीं है (4) गतिविधि टाइप का इस्तेमाल करें, क्योंकि हो सकता है कि आप आराम न कर रहे हों जानें कि उपयोगकर्ता क्या कर रहा है: वह स्थिर हो सकता है या स्ट्रेचिंग कर सकता है, पानी पी सकता है वगैरह. अगर आपको यह जानने के लिए कि उपयोगकर्ता कोई गतिविधि नहीं कर रहा है, अब भी (3) का इस्तेमाल किया जा सकता है.

गतिविधि के टाइप की ज़्यादा जानकारी वाली सूची के लिए, गतिविधि के टाइप देखें.

खास जानकारी

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

Google Fit आपके डाले गए डेटा और उस समयावधि के लिए उपलब्ध किसी भी दूसरे डेटा को जोड़ता है उपयोगकर्ता की कसरत के बारे में बताने वाले सेशन के साथ.