আপনার অ্যাপ দানাদার ঘুমের ডেটা পড়তে এবং লিখতে পারে। এর মধ্যে রয়েছে হালকা ঘুম, গভীর ঘুম, আরইএম এবং জাগ্রত ঘুমের পর্যায়গুলি SleepStages গণনাকৃত প্রকার থেকে। ঘুমের ডেটা লিখতে আপনাকে অবশ্যই FitnessActivities.SLEEP টাইপের একটি সেশন তৈরি করতে হবে। Google ফিট অ্যাপে ব্যবহারকারীর জার্নালে প্রদর্শিত হলে স্লিপ ডেটা অবশ্যই একটি সেশনে এনক্যাপসুলেট করতে হবে৷
ঐচ্ছিকভাবে, সেশনের মধ্যে SleepStages ধরনের সেগমেন্ট সন্নিবেশ করান:
-
SleepStages.SLEEP_LIGHT -
SleepStages.SLEEP_DEEP -
SleepStages.SLEEP_REM -
SleepStages.AWAKE -
SleepStages.OUT_OF_BED
নো-গ্রানুলারিটির উদাহরণ
কোন স্টেজ গ্রানুলারিটি ছাড়া একটি ঘুমের রাত লিখতে, নীচের উদাহরণটি অনুসরণ করুন। শুরু এবং শেষ সময়, এবং activity SLEEP সহ একটি সেশন তৈরি করুন।
অ্যান্ড্রয়েড
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) }
অ্যান্ড্রয়েডে সেশন সম্পর্কে আরও বিস্তারিত পড়ুন।
বিশ্রাম
HTTP পদ্ধতি
PUT
অনুরোধ URL
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
}
ঘুমের পর্যায় গ্রানুলারিটির উদাহরণ
পর্যায় গ্রানুলারিটি সহ ঘুম লিখতে, ঘুমের বিভিন্ন পর্যায়ের জন্য শীর্ষ-স্তরের ঘুমের সেশন এবং সেগমেন্ট উভয়ই লিখুন।
ঘুমের অংশগুলি লিখুন
এই উদাহরণে আমরা একটি রাতের ঘুমের বিভিন্ন ঘুমের পর্যায়গুলি উপস্থাপন করার জন্য কয়েকটি বিভাগ লিখব।
অ্যান্ড্রয়েড
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তৈরি করুন:HTTP পদ্ধতি
POSTঅনুরোধ URL
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পূরণ করুন:HTTP পদ্ধতি
PATCHঅনুরোধ URL
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 } ] } ] }
ঘুমের অধিবেশন লিখুন
অবশেষে, একটি ঘুমের অধিবেশন সন্নিবেশ করে উপরের অংশগুলিকে গোষ্ঠীভুক্ত করুন। এই সেশনের জন্য শুরুর সময়টি প্রথম সেগমেন্টের শুরুর সময় এবং শেষ সেগমেন্টের শেষ সময়ের জন্য শেষ সময় সেট করুন।
অ্যান্ড্রয়েড
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) }
বিশ্রাম
HTTP পদ্ধতি
PUT
অনুরোধ URL
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
}