ঘুমের ডেটা লিখুন

আপনার অ্যাপ দানাদার ঘুমের ডেটা পড়তে এবং লিখতে পারে। এর মধ্যে রয়েছে হালকা ঘুম, গভীর ঘুম, আরইএম এবং জাগ্রত ঘুমের পর্যায়গুলি SleepStages গণনাকৃত প্রকার থেকে। ঘুমের ডেটা লিখতে আপনাকে অবশ্যই FitnessActivities.SLEEP টাইপের একটি সেশন তৈরি করতে হবে। Google ফিট অ্যাপে ব্যবহারকারীর জার্নালে প্রদর্শিত হলে স্লিপ ডেটা অবশ্যই একটি সেশনে এনক্যাপসুলেট করতে হবে৷

ঐচ্ছিকভাবে, সেশনের মধ্যে SleepStages ধরনের সেগমেন্ট সন্নিবেশ করান:

নো-গ্রানুলারিটির উদাহরণ

কোন স্টেজ গ্রানুলারিটি ছাড়া একটি ঘুমের রাত লিখতে, নীচের উদাহরণটি অনুসরণ করুন। শুরু এবং শেষ সময়, এবং 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()

বিশ্রাম

  1. প্রথমে 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"
      }
    }
    
  2. তারপর 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
}