ঘুমের ডেটা পড়ুন

ঘুমের ধরন sleep সেশন দ্বারা প্রতিনিধিত্ব করা হয়। সেশনে ঐচ্ছিকভাবে ঘুমের পর্যায় থাকতে পারে, যেগুলোতে ঘুমের ডেটা সম্পর্কে আরও বিশদ বিবরণ থাকে। উদাহরণস্বরূপ, যদি এটি হালকা, গভীর বা REM ঘুম হয়:

ঘুমের পর্যায়ের মান
ঘুমের পর্যায়ের ধরন মান
জাগ্রত (ঘুম চক্রের সময়) 1
ঘুম 2
বিছানার বাইরে 3
হালকা ঘুম 4
গভীর ঘুম 5
REM 6

ঘুমের ডাটা লেখার নির্দেশিকা দেখায় যে কীভাবে দানাদার এবং নন-গ্রানাউলার ঘুমের ডেটা Fit-এ উপস্থাপন করা হয়।

অ্যান্ড্রয়েড

উভয় ক্ষেত্রেই Fit থেকে ডেটা পুনরুদ্ধার করতে নিম্নলিখিত নমুনাগুলি একটি SessionClient ব্যবহার করে৷

val SLEEP_STAGE_NAMES = arrayOf(
    "Unused",
    "Awake (during sleep)",
    "Sleep",
    "Out-of-bed",
    "Light sleep",
    "Deep sleep",
    "REM sleep"
)

val request = SessionReadRequest.Builder()
    .readSessionsFromAllApps()
    // By default, only activity sessions are included, so it is necessary to explicitly
    // request sleep sessions. This will cause activity sessions to be *excluded*.
    .includeSleepSessions()
    // Sleep segment data is required for details of the fine-granularity sleep, if it is present.
    .read(DataType.TYPE_SLEEP_SEGMENT)
    .setTimeInterval(startTime, endTime, TimeUnit.MILLISECONDS)
    .build()

sessionsClient.readSession(request)
    .addOnSuccessListener { response ->
        for (session in response.sessions) {
            val sessionStart = session.getStartTime(TimeUnit.MILLISECONDS)
            val sessionEnd = session.getEndTime(TimeUnit.MILLISECONDS)
            Log.i(TAG, "Sleep between $sessionStart and $sessionEnd")

            // If the sleep session has finer granularity sub-components, extract them:
            val dataSets = response.getDataSet(session)
            for (dataSet in dataSets) {
                for (point in dataSet.dataPoints) {
                    val sleepStageVal = point.getValue(Field.FIELD_SLEEP_SEGMENT_TYPE).asInt()
                    val sleepStage = SLEEP_STAGE_NAMES[sleepStageVal]
                    val segmentStart = point.getStartTime(TimeUnit.MILLISECONDS)
                    val segmentEnd = point.getEndTime(TimeUnit.MILLISECONDS)
                    Log.i(TAG, "\t* Type $sleepStage between $segmentStart and $segmentEnd")
                }
            }
        }
    }

বিশ্রাম

REST API ব্যবহার করে ঘুমের সেশনগুলি পুনরুদ্ধার করা একটি দুটি পর্যায়ের প্রক্রিয়া:

  1. activityType প্যারামিটার 72 ( SLEEP ) সেট করে সেশনের একটি তালিকা পুনরুদ্ধার করুন । দ্রষ্টব্য: আপনি একটি startTime এবং endTime ব্যবহার করতে পারেন, অথবা আগের অনুরোধ থেকে নতুন সেশন পুনরুদ্ধার করতে একটি pageToken ব্যবহার করতে পারেন।

    HTTP পদ্ধতি

    GET
    

    অনুরোধ URL

    https://www.googleapis.com/fitness/v1/users/me/sessions?startTime=2019-12-05T00:00.000Z&endTime=2019-12-17T23:59:59.999Z&activityType=72
    

    প্রতিক্রিয়া

    একটি উদাহরণ সেশন প্রতিক্রিয়া হতে পারে:

    {
     "session": [
        {
         "id": "Sleep1575505620000",
         "name": "Sleep",
         "description": "",
         "startTimeMillis": "1575505620000",
         "endTimeMillis": "1575526800000",
         "modifiedTimeMillis": "1575590432413",
         "application": {
          "packageName": "com.example.sleep_tracker"
         },
         "activityType": 72  // Sleep
        },
        {
         "id": "Run2939075083",
         "name": "Mud",
         "description": "",
         "startTimeMillis": "1576594403000",
         "endTimeMillis": "1576598754000",
         "modifiedTimeMillis": "1576616010143",
         "application": {
          "packageName": "com.example.run_tracker"
         },
         "activityType": 8  // Running
        }
      ],
     "deletedSession": [],
     "nextPageToken": "1576598754001"
    }
    
  2. প্রতিটি সেশনের (যদি উপস্থিত থাকে) ঘুমের পর্যায়গুলির বিশদ বিবরণ পেতে, ফিল্টার করা তালিকায় প্রতিটি সেশনের জন্য নিম্নলিখিত অনুরোধটি ব্যবহার করুন:

    HTTP পদ্ধতি

    POST
    

    অনুরোধ URL

    https://www.googleapis.com/fitness/v1/users/userId/dataset:aggregate
    

    শরীরের অনুরোধ

    {
      "aggregateBy": [
        {
          "dataTypeName": "com.google.sleep.segment"
        }
      ],
      "endTimeMillis": 1575609060000,
      "startTimeMillis": 1575591360000
    }
    

    প্রতিক্রিয়া

    আপনার অনুরোধ সফল হলে, আপনি একটি 200 OK HTTP প্রতিক্রিয়া স্ট্যাটাস কোড পাবেন। রেসপন্স বডিতে অ্যাক্টিভিটি সেগমেন্টের একটি JSON রিপ্রেজেন্টেশন থাকে যা স্লিপ সেশন নিয়ে থাকে। প্রতিটি intVal ঘুমের কার্যকলাপের প্রকারের প্রতিনিধিত্ব করে

    {
     "bucket": [
      {
       "startTimeMillis": "1575591360000",
       "endTimeMillis": "1575609060000",
       "dataset": [
        {
         "point": [
          {
           "startTimeNanos": "1575591360000000000",
           "endTimeNanos": "1575595020000000000",
           "dataTypeName": "com.google.sleep.segment",
           "originDataSourceId": "...",
           "value": [
            {
             "intVal": 4, // Light sleep
             "mapVal": []
            }
           ]
          },
          {
           "startTimeNanos": "1575595020000000000",
           "endTimeNanos": "1575596220000000000",
           "dataTypeName": "com.google.sleep.segment",
           "originDataSourceId": "...",
           "value": [
            {
             "intVal": 1, // Sleep
             "mapVal": []
            }
           ]
          },
    
          // .... more datapoints
    
          {
           "startTimeNanos": "1575605940000000000",
           "endTimeNanos": "1575609060000000000",
           "dataTypeName": "com.google.sleep.segment",
           "originDataSourceId": "...",
           "value": [
            {
             "intVal": 4, // Light sleep
             "mapVal": []
            }
           ]
          }
         ]
        }
       ]
      }
     ]
    }