ডেটা লিখুন

এই নির্দেশিকাটি Health Connect-এ ডেটা লেখা বা আপডেট করার প্রক্রিয়া কভার করে।

ডেটা স্ট্রাকচার সেট আপ করুন

ডেটা লেখার আগে, আমাদের প্রথমে রেকর্ডগুলি সেট আপ করতে হবে। 50 টিরও বেশি ডেটা প্রকারের জন্য, প্রতিটির নিজস্ব কাঠামো রয়েছে। উপলভ্য ডেটা টাইপ সম্পর্কে আরো বিস্তারিত জানার জন্য Jetpack রেফারেন্স দেখুন।

মৌলিক রেকর্ড

হেলথ কানেক্টে স্টেপস ডেটা টাইপ একটি ব্যবহারকারীর রিডিংয়ের মধ্যে কতগুলি পদক্ষেপ নিয়েছে তা ক্যাপচার করে। ধাপের সংখ্যা স্বাস্থ্য, ফিটনেস এবং সুস্থতা প্ল্যাটফর্ম জুড়ে একটি সাধারণ পরিমাপকে উপস্থাপন করে।

নিম্নলিখিত উদাহরণ দেখায় কিভাবে ধাপ গণনা ডেটা সেট করতে হয়:

val stepsRecord = StepsRecord(
    count = 120,
    startTime = START_TIME,
    endTime = END_TIME,
    startZoneOffset = START_ZONE_OFFSET,
    endZoneOffset = END_ZONE_OFFSET
)

পরিমাপের একক সহ রেকর্ড

Health Connect নির্ভুলতা প্রদানের জন্য তাদের পরিমাপের একক সহ মান সংরক্ষণ করতে পারে। একটি উদাহরণ হল পুষ্টি ডেটা টাইপ যা বিশাল এবং ব্যাপক। এতে মোট কার্বোহাইড্রেট থেকে ভিটামিন পর্যন্ত বিভিন্ন ধরনের ঐচ্ছিক পুষ্টির ক্ষেত্র রয়েছে। প্রতিটি ডেটা পয়েন্ট সেই পুষ্টির প্রতিনিধিত্ব করে যা সম্ভাব্যভাবে খাবার বা খাদ্য আইটেমের অংশ হিসাবে গ্রহণ করা হয়েছিল।

এই ডেটা টাইপে, সমস্ত পুষ্টি উপাদান Mass এককে উপস্থাপিত হয়, যখন energy Energy এককে উপস্থাপন করা হয়।

নীচের উদাহরণটি দেখায় যে কীভাবে একজন ব্যবহারকারী কলা খেয়েছেন তাদের জন্য পুষ্টির ডেটা সেট করবেন:

val banana = NutritionRecord(
    name = "banana",
    energy = 105.0.kilocalories,
    dietaryFiber = 3.1.grams,
    potassium = 0.422.grams,
    totalCarbohydrate = 27.0.grams,
    totalFat = 0.4.grams,
    saturatedFat = 0.1.grams,
    sodium = 0.001.grams,
    sugar = 14.0.grams,
    vitaminB6 = 0.0005.grams,
    vitaminC = 0.0103.grams,
    startTime = START_TIME,
    endTime = END_TIME,
    startZoneOffset = START_ZONE_OFFSET,
    endZoneOffset = END_ZONE_OFFSET
)

সিরিজ ডেটা সহ রেকর্ড

Health Connect সিরিজ ডেটার একটি তালিকা সংরক্ষণ করতে পারে। একটি উদাহরণ হ'ল হার্ট রেট ডেটা টাইপ যা রিডিংয়ের মধ্যে সনাক্ত করা হার্টবিটের নমুনার একটি সিরিজ ক্যাপচার করে।

এই ডেটা টাইপে, প্যারামিটার samples হার্ট রেট নমুনার একটি তালিকা দ্বারা উপস্থাপিত হয়। প্রতিটি নমুনায় একটি beatsPerMinute মান এবং একটি time মান রয়েছে।

নিম্নোক্ত উদাহরণ দেখায় কিভাবে হার্ট রেট সিরিজ ডেটা সেট করতে হয়:

val heartRateRecord = HeartRateRecord(
    startTime = START_TIME,
    startZoneOffset = START_ZONE_OFFSET,
    endTime = END_TIME,
    endZoneOffset = END_ZONE_OFFSET,
    // records 10 arbitrary data, to replace with actual data
    samples = List(10) { index ->
        HeartRateRecord.Sample(
            time = START_TIME + Duration.ofSeconds(index.toLong()),
            beatsPerMinute = 100 + index.toLong(),
        )
    }
)

ডেটা লিখুন

হেলথ কানেক্টের একটি সাধারণ কর্মপ্রবাহ হল ডেটা লেখা। রেকর্ড যোগ করতে, insertRecords ব্যবহার করুন।

নিম্নলিখিত উদাহরণ দেখায় কিভাবে ডেটা সন্নিবেশ ধাপের সংখ্যা লিখতে হয়:

suspend fun insertSteps(healthConnectClient: HealthConnectClient) {
    try {
        val stepsRecord = StepsRecord(
            count = 120,
            startTime = START_TIME,
            endTime = END_TIME,
            startZoneOffset = START_ZONE_OFFSET,
            endZoneOffset = END_ZONE_OFFSET
        )
        healthConnectClient.insertRecords(listOf(stepsRecord))
    } catch (e: Exception) {
        // Run error handling here
    }
}

ডেটা আপডেট করুন

আপনার যদি এক বা একাধিক রেকর্ড পরিবর্তন করতে হয়, বিশেষ করে যখন আপনাকে Health Connect থেকে ডেটার সাথে আপনার অ্যাপ ডেটাস্টোর সিঙ্ক করতে হয়, আপনি আপনার ডেটা আপডেট করতে পারেন৷ বিদ্যমান ডেটা আপডেট করার দুটি উপায় রয়েছে যা রেকর্ডগুলি সন্ধান করতে ব্যবহৃত শনাক্তকারীর উপর নির্ভর করে।

মেটাডেটা

এটি প্রথমে Metadata ক্লাস পরীক্ষা করা মূল্যবান কারণ ডেটা আপডেট করার সময় এটি প্রয়োজনীয়। তৈরি করার সময়, Health Connect-এর প্রতিটি Record একটি metadata ক্ষেত্র থাকে। নিম্নলিখিত বৈশিষ্ট্যগুলি সিঙ্ক্রোনাইজেশনের জন্য প্রাসঙ্গিক:

বৈশিষ্ট্য বর্ণনা
id হেলথ কানেক্টের প্রতিটি Record একটি অনন্য id মান রয়েছে।
একটি নতুন রেকর্ড সন্নিবেশ করার সময় Health Connect স্বয়ংক্রিয়ভাবে এটি পূরণ করে
lastModifiedTime প্রতিটি Record শেষবার রেকর্ডটি পরিবর্তন করা হয়েছে তাও ট্র্যাক রাখে।
Health Connect স্বয়ংক্রিয়ভাবে এটি পূরণ করে।
clientRecordId আপনার অ্যাপ ডেটাস্টোরে রেফারেন্স হিসাবে পরিবেশন করার জন্য প্রতিটি Record সাথে যুক্ত একটি অনন্য আইডি থাকতে পারে।
আপনার অ্যাপ এই মান সরবরাহ করে।
clientRecordVersion যেখানে একটি রেকর্ডে clientRecordId আছে, clientRecordVersion ব্যবহার করা যেতে পারে আপনার অ্যাপ ডেটাস্টোরের সংস্করণের সাথে ডেটা সিঙ্কে থাকার জন্য।
আপনার অ্যাপ এই মান সরবরাহ করে।

রেকর্ড আইডির মাধ্যমে আপডেট করুন

ডেটা আপডেট করতে, প্রথমে প্রয়োজনীয় রেকর্ড প্রস্তুত করুন। প্রয়োজনে রেকর্ডে কোনো পরিবর্তন করুন। তারপরে, পরিবর্তন করতে updateRecords কল করুন।

নিম্নলিখিত উদাহরণ দেখায় কিভাবে ডেটা আপডেট করতে হয়। এই উদ্দেশ্যে, প্রতিটি রেকর্ডের তার জোন অফসেট মানগুলি PST-তে সমন্বয় করা হয়েছে।

suspend fun updateSteps(
    healthConnectClient: HealthConnectClient,
    prevRecordStartTime: Instant,
    prevRecordEndTime: Instant
) {
    try {
        val request = healthConnectClient.readRecords(
            ReadRecordsRequest(
                recordType = StepsRecord::class,
                timeRangeFilter = TimeRangeFilter.between(
                    prevRecordStartTime,
                    prevRecordEndTime
                )
            )
        )

        val newStepsRecords = arrayListOf<StepsRecord>()
        for (record in request.records) {
            // Adjusted both offset values to reflect changes
            val sr = StepsRecord(
                count = record.count,
                startTime = record.startTime,
                startZoneOffset = record.startTime.atZone(ZoneId.of("PST")).offset,
                endTime = record.endTime,
                endZoneOffset = record.endTime.atZone(ZoneId.of("PST")).offset,
                metadata = record.metadata
            )
            newStepsRecords.add(sr)
        }

        client.updateRecords(newStepsRecords)
    } catch (e: Exception) {
        // Run error handling here
    }
}

ক্লায়েন্ট রেকর্ড আইডি মাধ্যমে আপসার্ট

আপনি যদি ঐচ্ছিক ক্লায়েন্ট রেকর্ড আইডি এবং ক্লায়েন্ট রেকর্ড সংস্করণ মান ব্যবহার করেন, আমরা updateRecords এর পরিবর্তে insertRecords ব্যবহার করার পরামর্শ দিই।

insertRecords ফাংশন ডেটা আপসার্ট করার ক্ষমতা রাখে। ক্লায়েন্ট রেকর্ড আইডিগুলির প্রদত্ত সেটের উপর ভিত্তি করে স্বাস্থ্য সংযোগে ডেটা বিদ্যমান থাকলে, এটি ওভাররাইট হয়ে যায়। অন্যথায়, এটি নতুন ডেটা হিসাবে লেখা হয়। যখনই আপনার অ্যাপ ডেটাস্টোর থেকে Health Connect-এ ডেটা সিঙ্ক করার প্রয়োজন হয় তখনই এই দৃশ্যটি কার্যকর।

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে অ্যাপ ডেটাস্টোর থেকে টেনে আনা ডেটার উপর একটি আপসার্ট সম্পাদন করতে হয়:

suspend fun pullStepsFromDatastore() : ArrayList<StepsRecord> {
    val appStepsRecords = arrayListOf<StepsRecord>()
    // Pull data from app datastore
    // ...
    // Make changes to data if necessary
    // ...
    // Store data in appStepsRecords
    // ...
    var sr = StepsRecord(
        // Assign parameters for this record
        metadata = Metadata(
            clientRecordId = cid
        )
    )
    appStepsRecords.add(sr)
    // ...
    return appStepsRecords
}

suspend fun upsertSteps(
    healthConnectClient: HealthConnectClient,
    newStepsRecords: ArrayList<StepsRecord>
) {
    try {
        healthConnectClient.insertRecords(newStepsRecords)
    } catch (e: Exception) {
        // Run error handling here
    }
}

এর পরে, আপনি এই ফাংশনগুলিকে আপনার প্রধান থ্রেডে কল করতে পারেন।

upsertSteps(healthConnectClient, pullStepsFromDatastore())

ক্লায়েন্ট রেকর্ড সংস্করণে মান পরীক্ষা করুন

যদি আপনার ডেটা আপসার্ট করার প্রক্রিয়াতে ক্লায়েন্ট রেকর্ড সংস্করণ অন্তর্ভুক্ত থাকে, তাহলে Health Connect clientRecordVersion মানগুলির তুলনা পরীক্ষা করে। যদি সন্নিবেশিত ডেটা থেকে সংস্করণটি বিদ্যমান ডেটা থেকে সংস্করণের চেয়ে বেশি হয়, তাহলে উল্টোটা ঘটে। অন্যথায়, প্রক্রিয়াটি পরিবর্তন উপেক্ষা করে এবং মান একই থাকে।

আপনার ডেটাতে সংস্করণ অন্তর্ভুক্ত করতে, আপনাকে আপনার সংস্করণের যুক্তির উপর ভিত্তি করে একটি Long মান সহ Metadata.clientRecordVersion সরবরাহ করতে হবে।

val sr = StepsRecord(
    count = count,
    startTime = startTime,
    startZoneOffset = startZoneOffset,
    endTime = endTime,
    endZoneOffset = endZoneOffset,
    metadata = Metadata(
        clientRecordId = cid,
        clientRecordVersion = version
    )
)

যখনই পরিবর্তন হয় তখন আপসার্ট স্বয়ংক্রিয়ভাবে version বৃদ্ধি করে না, ডেটা ওভাররাইট করার কোনো অপ্রত্যাশিত ঘটনা প্রতিরোধ করে। এর সাথে, আপনাকে ম্যানুয়ালি এটি একটি উচ্চ মূল্যের সাথে সরবরাহ করতে হবে।

ডেটা লেখার জন্য সর্বোত্তম অনুশীলন

অ্যাপ্লিকেশানগুলিকে শুধুমাত্র স্বাস্থ্য সংযোগে নিজস্ব-উৎসিত ডেটা লিখতে হবে৷

যদি আপনার অ্যাপের ডেটা অন্য অ্যাপ থেকে ইম্পোর্ট করা হয়, তাহলে দায়িত্ব অন্য অ্যাপের উপর পড়ে স্বাস্থ্য কানেক্টে নিজের ডেটা লেখার।

এটি যুক্তি প্রয়োগ করাও একটি ভাল ধারণা যা লেখার ব্যতিক্রমগুলি পরিচালনা করে যেমন ডেটা সীমার বাইরে থাকা বা অভ্যন্তরীণ সিস্টেম ত্রুটি। আপনি আপনার ব্যাকঅফ প্রয়োগ করতে পারেন এবং চাকরির সময় নির্ধারণের পদ্ধতিতে কৌশলগুলি পুনরায় চেষ্টা করতে পারেন। Health Connect-এ লেখা শেষ পর্যন্ত ব্যর্থ হলে, নিশ্চিত করুন যে আপনার অ্যাপটি রপ্তানির সেই বিন্দু অতিক্রম করতে পারে। লগ ইন করতে ভুলবেন না এবং নির্ণয়ের জন্য ত্রুটিগুলি রিপোর্ট করুন৷

ডেটা ট্র্যাক করার সময়, আপনার অ্যাপ যেভাবে ডেটা লিখে তার উপর নির্ভর করে আপনি অনুসরণ করতে পারেন এমন কয়েকটি পরামর্শ রয়েছে।

প্যাসিভ ট্র্যাকিং

এর মধ্যে এমন অ্যাপ রয়েছে যা প্যাসিভ ফিটনেস বা স্বাস্থ্য ট্র্যাকিং করে, যেমন ব্যাকগ্রাউন্ডে ক্রমাগত স্টেপ বা হার্ট রেট রেকর্ড করা।

আপনার অ্যাপকে পর্যায়ক্রমে স্বাস্থ্য সংযোগে নিম্নলিখিত উপায়ে ডেটা লিখতে হবে:

  • প্রতিটি সিঙ্কে, শুধুমাত্র নতুন ডেটা এবং আপডেট করা ডেটা লিখুন যা শেষ সিঙ্কের পর থেকে পরিবর্তিত হয়েছে৷
  • খণ্ড অনুরোধ প্রতি লেখার অনুরোধে সর্বাধিক 1000টি রেকর্ডের জন্য।
  • কমপক্ষে 15 মিনিটের সময়কাল সহ পর্যায়ক্রমিক ব্যাকগ্রাউন্ড কাজগুলি নির্ধারণ করতে WorkManager ব্যবহার করুন।
  • ডিভাইসটি নিষ্ক্রিয় থাকলে এবং ব্যাটারি কম না থাকলে শুধুমাত্র কাজগুলি চালানোর জন্য সীমাবদ্ধ করুন৷

    val constraints = Constraints.Builder()
        .requiresBatteryNotLow()
        .requiresDeviceIdle(true)
        .build()
    
    val writeDataWork = PeriodicWorkRequestBuilder<WriteDataToHealthConnectWorker>(
            15,
            TimeUnit.MINUTES,
            5,
            TimeUnit.MINUTES
        )
        .setConstraints(constraints)
        .build()
    

সক্রিয় ট্র্যাকিং

এর মধ্যে এমন অ্যাপ রয়েছে যা ইভেন্ট-ভিত্তিক ট্র্যাকিং যেমন ব্যায়াম এবং ঘুম, অথবা ম্যানুয়াল ব্যবহারকারীর ইনপুট যেমন পুষ্টি। এই রেকর্ডগুলি তৈরি করা হয় যখন অ্যাপটি ফোরগ্রাউন্ডে থাকে বা বিরল ইভেন্টে যেখানে এটি দিনে কয়েকবার ব্যবহার করা হয়।

নিশ্চিত করুন যে আপনার অ্যাপটি ইভেন্টের পুরো সময়কালের জন্য Health Connect চালু রাখে না।

হেলথ কানেক্টে ডেটা দুটির একটিতে লিখতে হবে:

  • ইভেন্ট সম্পূর্ণ হওয়ার পরে স্বাস্থ্য সংযোগে ডেটা সিঙ্ক করুন। উদাহরণস্বরূপ, যখন ব্যবহারকারী একটি ট্র্যাক করা ব্যায়াম সেশন শেষ করে তখন ডেটা সিঙ্ক করুন।
  • পরে ডেটা সিঙ্ক করতে WorkManager ব্যবহার করে একটি ওয়ান-অফ টাস্ক শিডিউল করুন।

গ্রানুলারিটি এবং লেখার ফ্রিকোয়েন্সির জন্য সর্বোত্তম অনুশীলন

Health Connect-এ ডেটা লেখার সময় উপযুক্ত রেজোলিউশন ব্যবহার করুন। উপযুক্ত রেজোলিউশন ব্যবহার করা স্টোরেজ লোড কমাতে সাহায্য করে, যদিও এখনও সামঞ্জস্যপূর্ণ এবং সঠিক ডেটা বজায় রাখে। ডেটা রেজোলিউশনে 2টি জিনিস রয়েছে:

  1. লেখার ফ্রিকোয়েন্সি : কত ঘন ঘন আপনার অ্যাপ্লিকেশন স্বাস্থ্য সংযোগে কোনো নতুন ডেটা পুশ করে। উদাহরণস্বরূপ, প্রতি 15 মিনিটে নতুন ডেটা লিখুন।
  2. লিখিত ডেটার গ্রানুলারিটি : কতবার যে ডেটা পুশ করা হয়েছে তা নমুনা করা হয়েছে। উদাহরণস্বরূপ, প্রতি 5 সেকেন্ডে হৃদস্পন্দনের নমুনা লিখুন। প্রতিটি ডেটা টাইপের জন্য একই নমুনা হারের প্রয়োজন হয় না। প্রতি সেকেন্ডে ধাপ গণনার ডেটা আপডেট করার সামান্য সুবিধা আছে, প্রতি 60 সেকেন্ডের মতো কম ঘন ঘন ক্যাডেন্সের বিপরীতে। যাইহোক, উচ্চ নমুনা হার ব্যবহারকারীদের তাদের স্বাস্থ্য এবং ফিটনেস ডেটার উপর আরও বিস্তারিত এবং দানাদার চেহারা দিতে পারে। নমুনা হার ফ্রিকোয়েন্সি বিস্তারিত এবং কর্মক্ষমতা মধ্যে ভারসাম্য আঘাত করা উচিত.

সারা দিন পর্যবেক্ষণ করা ডেটা লিখুন

একটি চলমান ভিত্তিতে সংগৃহীত ডেটার জন্য, ধাপগুলির মতো, আপনার আবেদনটি দিনে অন্তত প্রতি 15 মিনিটে Health Connect-এ লিখতে হবে।

ডেটা টাইপ

ইউনিট

প্রত্যাশিত

উদাহরণ

ধাপ

পদক্ষেপ

প্রতি ১ মিনিটে

23:14 - 23:15 - 5 ধাপ

23:16 - 23:17 - 22 ধাপ

23:17 - 23:18 - 8 ধাপ

স্টেপস ক্যাডেন্স

পদক্ষেপ/মিনিট

প্রতি ১ মিনিটে

23:14 - 23:15 - 5 spm

23:16 - 23:17 - 22 spm

23:17 - 23:18 - 8 spm

হুইলচেয়ার ঠেলে দেয়

ধাক্কা

প্রতি ১ মিনিটে

23:14 - 23:15 - 5 ধাক্কা

23:16 - 23:17 - 22 ধাক্কা

23:17 - 23:18 - 8 ধাক্কা

সক্রিয় ক্যালোরি পোড়া

ক্যালোরি

প্রতি 15 মিনিটে

23:15 - 23:30 - 2 ক্যালোরি

23:30 - 23:45 - 25 ক্যালোরি

23:45 - 00:00 - 5 ক্যালোরি

মোট ক্যালোরি পোড়া

ক্যালোরি

প্রতি 15 মিনিটে

23:15 - 23:30 - 16 ক্যালোরি

23:30 - 23:45 - 16 ক্যালোরি

23:45 - 00:00 - 16 ক্যালোরি

দূরত্ব

কিমি/মিনিট

প্রতি ১ মিনিটে

23:14-23:15 - 0.008 কিমি

23:16 - 23:16 - 0.021 কিমি

23:17 - 23:18 - 0.012 কিমি

উচ্চতা লাভ করেছে

মি

প্রতি ১ মিনিটে

20:36 - 20:37 - 3.048 মি

20:39 - 20:40 - 3.048 মি

23:23 - 23:24 - 9.144 মি

ফ্লোরসক্লাইম্বড

মেঝে

প্রতি ১ মিনিটে

23:14 - 23:15 - 5 তলা

23:16 - 23:16 - 22 তলা

23:17 - 23:18 - 8 তলা

হৃদ কম্পন

bpm

প্রতি ১ মিনিটে

6:11am - 55 bpm

হার্ট রেট ভ্যারিয়েবিলিটিআরএমএসডি

মাইক্রোসফট

প্রতি ১ মিনিটে

6:11am - 23 ms

শ্বাসপ্রশ্বাসের হার

শ্বাস/মিনিট

প্রতি ১ মিনিটে

23:14 - 23:15 - 60 শ্বাস/মিনিট

23:16 - 23:16 - 62 শ্বাস/মিনিট

23:17 - 23:18 - 64 শ্বাস/মিনিট

অক্সিজেন সম্পৃক্তি

%

প্রতি 1 ঘন্টা

6:11 - 95.208%

সেশন লিখুন

ওয়ার্কআউট বা ঘুমের সেশনের শেষে স্বাস্থ্য সংযোগে ডেটা লিখতে হবে।

একটি সর্বোত্তম অনুশীলন হিসাবে, যে কোনো ঘুমের অধিবেশন বা ব্যায়াম সেশন রেকর্ডিং ডিভাইস এবং উপযুক্ত মেটাডেটা সহ RecordingMethod সহ লিখতে হবে।

ন্যূনতম, আপনার আবেদন নীচের "প্রত্যাশিত" কলামে নির্দেশিকা অনুসরণ করা উচিত। যেখানে সম্ভব, "সেরা" নির্দেশিকা অনুসরণ করুন।

একটি অনুশীলনের সময় ট্র্যাক করা ডেটা

ডেটা টাইপ

ইউনিট

প্রত্যাশিত

সেরা

উদাহরণ

ধাপ

পদক্ষেপ

প্রতি ১ মিনিটে

প্রতি 1 সেকেন্ডে

23:14-23:15 - 5টি ধাপ

23:16 - 23:17 - 22 ধাপ

23:17 - 23:18 - 8 ধাপ

স্টেপস ক্যাডেন্স

পদক্ষেপ/মিনিট

প্রতি ১ মিনিটে

প্রতি 1 সেকেন্ডে

23:14-23:15 - 35 spm

23:16 - 23:17 - 37 spm

23:17 - 23:18 - 40 spm

হুইলচেয়ার ঠেলে দেয়

ধাক্কা

প্রতি ১ মিনিটে

প্রতি 1 সেকেন্ডে

23:14-23:15 - 5টি ধাক্কা

23:16 - 23:17 - 22 ধাক্কা

23:17 - 23:18 - 8 ধাক্কা

সাইক্লিং পেডালিং ক্যাডেন্স

আরপিএম

প্রতি ১ মিনিটে

প্রতি 1 সেকেন্ডে

23:14-23:15 - 65 rpm

23:16 - 23:17 - 70 rpm

23:17 - 23:18 - 68 rpm

শক্তি

ওয়াট

প্রতি ১ মিনিটে

প্রতি 1 সেকেন্ডে

23:14-23:15 - 250 ওয়াট

23:16 - 23:17 - 255 ওয়াট

23:17 - 23:18 - 245 ওয়াট

গতি

কিমি/মিনিট

প্রতি ১ মিনিটে

প্রতি 1 সেকেন্ডে

23:14-23:15 - 0.3 কিমি/মিনিট

23:16 - 23:17 - 0.4 কিমি/মিনিট

23:17 - 23:18 -0.4 কিমি/মিনিট

দূরত্ব

কিমি/মি

প্রতি ১ মিনিটে

প্রতি 1 সেকেন্ডে

23:14-23:15 - 0.008 কিমি

23:16 - 23:16 - 0.021 কিমি

23:17 - 23:18 - 0.012 কিমি

সক্রিয় ক্যালোরি পোড়া

ক্যালোরি

প্রতি ১ মিনিটে

প্রতি 1 সেকেন্ডে

23:14-23:15 - 20 ক্যালোরি

23:16 - 23:17 - 20 ক্যালোরি

23:17 - 23:18 - 25 ক্যালোরি

মোট ক্যালোরি পোড়া

ক্যালোরি

প্রতি ১ মিনিটে

প্রতি 1 সেকেন্ডে

23:14-23:15 - 36 ক্যালোরি

23:16 - 23:17 - 36 ক্যালোরি

23:17 - 23:18 - 41 ক্যালোরি

উচ্চতা লাভ করেছে

মি

প্রতি ১ মিনিটে

প্রতি 1 সেকেন্ডে

20:36 - 20:37 - 3.048 মি

20:39 - 20:40 - 3.048 মি

23:23 - 23:24 - 9.144 মি

ব্যায়াম রুট

lat/lng/alt

প্রতি 3-5 সেকেন্ডে

প্রতি 1 সেকেন্ডে

হৃদ কম্পন

bpm

প্রতি ১ মিনিটে

প্রতি 1 সেকেন্ডে

23:14-23:15 - 150 bpm

23:16 - 23:17 -152 bpm

23:17 - 23:18 - 155 bpm

ঘুমের সময় ট্র্যাক করা ডেটা

ডেটা টাইপ

ইউনিট

প্রত্যাশিত নমুনা

উদাহরণ

স্লিপ স্টেজিং

মঞ্চ

প্রতি ঘুমের পর্যায়ে দানাদার সময়কাল

23:46 - 23:50 - জাগ্রত

23:50 - 23:56 - হালকা ঘুম

23:56 - 00:16 - গভীর ঘুম

বিশ্রামের হৃদস্পন্দন

bpm

একক দৈনিক মান (সকালে প্রথম জিনিস প্রত্যাশিত)

6:11am - 60 bpm

অক্সিজেন সম্পৃক্তি

%

একক দৈনিক মান (সকালে প্রথম জিনিস প্রত্যাশিত)

6:11 - 95.208%