आपका ऐप्लिकेशन, नींद से जुड़ा पूरा डेटा पढ़ और लिख सकता है.
इसमें हल्की नींद, गहरी नींद, आरईएम, और नींद के उन चरणों की जानकारी शामिल है जो SleepStages
बताए गए हैं. नींद से जुड़ा डेटा लिखने के लिए, आपको FitnessActivities.SLEEP
टाइप का सेशन बनाना होगा.
अगर उपयोगकर्ता की फ़िटनेस डायरी में, Google Fit ऐप्लिकेशन का डेटा दिख रहा है, तो नींद के डेटा को सेशन में एन्क्रिप्ट (सुरक्षित) किया जाना चाहिए.
वैकल्पिक रूप से, सेशन में SleepStages
टाइप के सेगमेंट शामिल करें:
SleepStages.SLEEP_LIGHT
SleepStages.SLEEP_DEEP
SleepStages.SLEEP_REM
SleepStages.AWAKE
SleepStages.OUT_OF_BED
बिना जानकारी वाला उदाहरण
किसी खास स्तर की जानकारी के बिना एक रात की नींद का डेटा लिखने के लिए, नीचे दिए गए उदाहरण को अपनाएं.
शुरू और खत्म होने के समय और activity
नींद के साथ एक सेशन बनाएं.
Android
val fitnessOptions = FitnessOptions.builder() .accessSleepSessions(FitnessOptions.ACCESS_WRITE) .build() // Create the sleep session val session= Session.Builder() .setName(sessionName) .setIdentifier(identifier) .setDescription(description) .setStartTime(startTime, TimeUnit.MILLISECONDS) .setEndTime(endTime, TimeUnit.MILLISECONDS) .setActivity(FitnessActivities.SLEEP) .build() // Build the request to insert the session. val request = SessionInsertRequest.Builder() .setSession(session) .build() // Insert the session into Fit platform Log.i(TAG, "Inserting the session with the SessionsClient") Fitness.getSessionsClient(this, GoogleSignIn.getAccountForExtension(this, fitnessOptions)) .insertSession(request) .addOnSuccessListener { Log.i(TAG,"Session insert was successful!") } .addOnFailureListener { e -> Log.w(TAG, "There was a problem inserting the session", e) }
Android में सेशन के बारे में ज़्यादा जानकारी पढ़ें.
आराम
एचटीटीपी वाला तरीका
PUT
यूआरएल का अनुरोध करें
https://www.googleapis.com/fitness/v1/users/me/sessions/identifier
अनुरोध का मुख्य हिस्सा
{
"id": identifier,
"name": sessionName,
"description": description,
"startTimeMillis": startTime,
"endTimeMillis": endTime,
"version": 1,
"lastModifiedToken": "exampleToken",
"application": {
"detailsUrl": "http://example.com",
"name": "Foo Example App",
"version": "1.0"
},
"activityType": 72 // Sleep
}
नींद की स्थिति के बारे में ज़्यादा जानकारी का उदाहरण
नींद के अलग-अलग चरणों के बारे में जानकारी लिखने के लिए, नींद के अलग-अलग चरणों के लिए टॉप लेवल स्लीप सेशन और सेगमेंट दोनों लिखें.
नींद के सेगमेंट लिखें
इस उदाहरण में हम एक रात की नींद के दौरान नींद के कई चरणों को दिखाने के लिए, कई सेगमेंट लिखेंगे.
Android
val dataSource = DataSource.Builder() .setType(DataSource.TYPE_RAW) .setDataType(DataType.TYPE_SLEEP_SEGMENT) .setAppPackageName(context) // Optional but recommended for identifying the stream if you have multiple streams with the same dataType. .setStreamName(streamName) .build() val dataPoints = listOf( DataPoint.builder(dataSource) .setTimeInterval(startTime1, endTime1, TimeUnit.MILLISECONDS) .setField(Field.FIELD_SLEEP_SEGMENT_TYPE, SleepStages.SLEEP_LIGHT) .build(), DataPoint.builder(dataSource) .setTimeInterval(startTime2, endTime2, TimeUnit.MILLISECONDS) .setField(Field.FIELD_SLEEP_SEGMENT_TYPE, SleepStages.SLEEP_DEEP) .build(), DataPoint.builder(dataSource) .setTimeInterval(startTime3, endTime3, TimeUnit.MILLISECONDS) .setField(Field.FIELD_SLEEP_SEGMENT_TYPE, SleepStages.SLEEP_LIGHT) .build(), DataPoint.builder(dataSource) .setTimeInterval(startTime4, endTime4, TimeUnit.MILLISECONDS) .setField(Field.FIELD_SLEEP_SEGMENT_TYPE, SleepStages.SLEEP_REM) .build(), DataPoint.builder(dataSource) .setTimeInterval(startTime5, endTime5, TimeUnit.MILLISECONDS) .setField(Field.FIELD_SLEEP_SEGMENT_TYPE, SleepStages.AWAKE) .build(), DataPoint.builder(dataSource) .setTimeInterval(startTime6, endTime6, TimeUnit.MILLISECONDS) .setField(Field.FIELD_SLEEP_SEGMENT_TYPE, SleepStages.SLEEP_LIGHT) .build() ) val dataSet = DataSet.builder(dataSource) .addAll(dataPoints) .build()
आराम
सबसे पहले
dataSource
बनाएं:एचटीटीपी वाला तरीका
POST
यूआरएल का अनुरोध करें
https://www.googleapis.com/fitness/v1/users/me/dataSources
अनुरोध का मुख्य हिस्सा
{ "dataStreamName": streamName, "type": "raw", "application": { "detailsUrl": "http://example.com", "name": "Foo Example App", "version": "1" }, "dataType": { "name": "com.google.sleep.segment" } }
इसके बाद,
dataSet
भरें:एचटीटीपी वाला तरीका
PATCH
यूआरएल का अनुरोध करें
https://www.googleapis.com/fitness/v1/users/userId/dataSources/dataSourceId/datasets/datasetId
अनुरोध का मुख्य हिस्सा
{ "dataSourceId": dataSourceId, "point": [ { "dataTypeName": "com.google.sleep.segment", "startTimeNanos": startTime1, "endTimeNanos": endTime1, "value": [ { intVal: 4 // Light sleep } ] }, { "dataTypeName": "com.google.sleep.segment", "startTimeNanos": startTime2, "endTimeNanos": endTime2, "value": [ { intVal: 5 // Deep sleep } ] }, { "dataTypeName": "com.google.sleep.segment", "startTimeNanos": startTime3, "endTimeNanos": endTime3, "value": [ { intVal: 4 // Light sleep } ] }, { "dataTypeName": "com.google.sleep.segment", "startTimeNanos": startTime4, "endTimeNanos": endTime4, "value": [ { intVal: 6 // REM sleep } ] }, { "dataTypeName": "com.google.sleep.segment", "startTimeNanos": startTime5, "endTimeNanos": endTime5, "value": [ { intVal: 1 // Awake } ] }, { "dataTypeName": "com.google.sleep.segment", "startTimeNanos": startTime6, "endTimeNanos": endTime6, "value": [ { intVal: 4 // Light sleep } ] } ] }
नींद के सेशन का डेटा सेव करने की अनुमति दें
आखिर में, नींद का सेशन डालकर ऊपर दिए गए सेगमेंट को ग्रुप में बांटें. इस सेशन के शुरू होने का समय पहले सेगमेंट के शुरू होने के समय पर और खत्म होने के समय को आखिरी सेगमेंट के खत्म होने के समय पर सेट करें.
Android
val fitnessOptions = FitnessOptions.builder() .accessSleepSessions(FitnessOptions.ACCESS_WRITE) .addDataType(DataType.TYPE_SLEEP_SEGMENT, FitnessOptions.ACCESS_WRITE) .build() val session = Session.Builder() .setName(sessionName) .setIdentifier(identifier) .setDescription(description) .setStartTime(startTime1, TimeUnit.MILLISECONDS) // From first segment .setEndTime(endTime6, TimeUnit.MILLISECONDS) // From last segment .setActivity(FitnessActivities.SLEEP) .build() // Build the request to insert the session. val request = SessionInsertRequest.Builder() .setSession(session) .addDataSet(dataset) .build() // Insert the session into Fit platform Log.i(TAG, "Inserting the session in the Sessions API") Fitness.getSessionsClient(this, GoogleSignIn.getAccountForExtension(this, fitnessOptions)) .insertSession(request) .addOnSuccessListener { Log.i(TAG,"Session insert was successful!") } .addOnFailureListener { e -> Log.i(TAG, "There was a problem inserting the session", e) }
आराम
एचटीटीपी वाला तरीका
PUT
यूआरएल का अनुरोध करें
https://www.googleapis.com/fitness/v1/users/me/sessions/identifier
अनुरोध का मुख्य हिस्सा
{
"id": identifier,
"name": sessionName,
"description": description,
"startTimeMillis": startTime1,
"endTimeMillis": endTime6,
"version": 1,
"lastModifiedToken": "exampleToken",
"application": {
"detailsUrl": "http://example.com",
"name": "Foo Example App",
"version": "1.0"
},
"activityType": 72 // Sleep
}