คู่มือนี้ครอบคลุมกระบวนการเขียนหรืออัปเดตข้อมูลใน Health Connect
ตั้งค่าโครงสร้างข้อมูล
ก่อนที่จะเขียนข้อมูล เราจำเป็นต้องตั้งค่าระเบียนก่อน สำหรับข้อมูลมากกว่า 50 รายการ แต่ละประเภทจะมีโครงสร้างของตนเอง ดูรายละเอียดเพิ่มเติมเกี่ยวกับข้อมูลได้ที่ข้อมูลอ้างอิงของ Jetpack ประเภทต่างๆ ที่ใช้ได้
ระเบียนพื้นฐาน
ประเภทข้อมูลขั้นตอนใน Health Connect จะบันทึกจำนวนขั้นตอน ผู้ใช้ได้อ่านระหว่างการอ่าน จํานวนก้าวแสดงถึงการวัดทั่วไป ในแพลตฟอร์มด้านสุขภาพ การออกกำลังกาย และสุขภาวะ
ตัวอย่างต่อไปนี้แสดงวิธีตั้งข้อมูลจำนวนก้าว
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(),
)
}
)
เขียนข้อมูล
หนึ่งในเวิร์กโฟลว์ทั่วไปใน Health Connect คือการเขียนข้อมูล หากต้องการเพิ่มระเบียน
ใช้ 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
}
}
อัปเดตข้อมูล
หากคุณจำเป็นต้องเปลี่ยนระเบียนอย่างน้อย 1 รายการ โดยเฉพาะเมื่อต้องการ ซิงค์พื้นที่เก็บข้อมูลแอปกับข้อมูลจาก Health Connect คุณสามารถอัปเดต ข้อมูลของคุณ การอัปเดตข้อมูลที่มีอยู่ทำได้ 2 วิธี ซึ่งขึ้นอยู่กับ ที่ใช้ค้นหาระเบียน
ข้อมูลเมตา
คุณควรสอบ Metadata
ชั้นเรียนก่อน เนื่องจากเป็นสิ่งจำเป็นเมื่อ
กำลังอัปเดตข้อมูล ขณะสร้าง Record
แต่ละรายการใน Health Connect มี
metadata
พร็อพเพอร์ตี้ต่อไปนี้เกี่ยวข้องกับ
การซิงค์:
คุณสมบัติ | คำอธิบาย |
---|---|
id
|
ทุกRecord ใน Health Connect มีid ที่ไม่ซ้ำกัน
Health Connect จะป้อนข้อมูลนี้โดยอัตโนมัติ เมื่อแทรกระเบียนใหม่ |
lastModifiedTime
|
ทุกRecord ยังติดตามเวลาล่าสุด
แก้ไขระเบียนแล้วHealth Connect จะป้อนข้อมูลนี้โดยอัตโนมัติ |
clientRecordId
|
Record แต่ละรายการสามารถมีรหัสที่ไม่ซ้ำกันซึ่งเชื่อมโยงกับ
เพื่อใช้เป็นข้อมูลอ้างอิงในพื้นที่เก็บข้อมูลแอป
แอปของคุณให้ค่านี้ |
clientRecordVersion
|
โดยที่ระเบียนมี clientRecordId ค่า
คุณสามารถใช้ clientRecordVersion เพื่ออนุญาตให้ข้อมูล
ซิงค์กับเวอร์ชันในแอปอยู่เสมอ
เก็บข้อมูลแอปของคุณให้ค่านี้ |
อัปเดตผ่าน Record ID
หากต้องการอัปเดตข้อมูล ให้เตรียมระเบียนที่จำเป็นก่อน ทำการเปลี่ยนแปลงใดๆ กับ
บันทึกไว้หากจําเป็น จากนั้นโทรไปที่ 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
}
}
อัปเกรดผ่านรหัสระเบียนไคลเอ็นต์
ถ้าคุณใช้ค่ารหัสระเบียนไคลเอ็นต์และเวอร์ชันระเบียนไคลเอ็นต์ที่ไม่บังคับ
เราขอแนะนำให้ใช้ insertRecords
แทน updateRecords
ฟังก์ชัน insertRecords
มีความสามารถในการอัปเสิร์ตข้อมูล
หากมีข้อมูลอยู่ใน Health Connect โดยอิงตามชุด
รหัสระเบียนไคลเอ็นต์จะถูกเขียนทับ มิฉะนั้น ระบบจะเขียนเป็นข้อมูลใหม่
สถานการณ์นี้จะเป็นประโยชน์เมื่อใดก็ตามที่คุณต้องการซิงค์ข้อมูลจาก
พื้นที่เก็บข้อมูลแอปไปยัง 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())
การตรวจสอบค่าในเวอร์ชันระเบียนไคลเอ็นต์
หากกระบวนการแก้ไขข้อมูลของคุณมีเวอร์ชันระเบียนไคลเอ็นต์,
Connect ดำเนินการตรวจสอบการเปรียบเทียบในclientRecordVersion
หากเวอร์ชันจากข้อมูลที่แทรกมีค่าสูงกว่าเวอร์ชัน
เวอร์ชันที่มีอยู่จากข้อมูลที่มีอยู่ การอัปเซิร์ตจะเกิดขึ้น มิฉะนั้น กระบวนการ
ไม่สนใจการเปลี่ยนแปลงและค่าจะยังคงเดิม
หากต้องการรวมการกำหนดเวอร์ชันไว้ในข้อมูลของคุณ คุณต้องระบุ
Metadata.clientRecordVersion
ที่มีค่า Long
ตามการกำหนดเวอร์ชันของคุณ
val sr = StepsRecord(
count = count,
startTime = startTime,
startZoneOffset = startZoneOffset,
endTime = endTime,
endZoneOffset = endZoneOffset,
metadata = Metadata(
clientRecordId = cid,
clientRecordVersion = version
)
)
การอัปเดตจะไม่เพิ่ม version
โดยอัตโนมัติเมื่อมีการเปลี่ยนแปลง
ซึ่งจะป้องกันไม่ให้เกิดการเขียนทับข้อมูลที่ไม่คาดคิดได้ โดยคุณต้อง
ให้ค่าที่สูงกว่าด้วยตัวเอง
แนวทางปฏิบัติแนะนำในการเขียนข้อมูล
แอปต้องเขียนเฉพาะข้อมูลที่จัดหาเองลงใน Health Connect
หากมีการนำเข้าข้อมูลในแอปของคุณจากแอปอื่น หน้าที่ความรับผิดชอบ ตรงกับแอปอื่นที่จะเขียนข้อมูลของตัวเองลงใน Health Connect
เราขอแนะนำให้คุณใช้ตรรกะที่จัดการข้อยกเว้นในการเขียน เช่น ข้อมูลอยู่นอกขอบเขต หรือเป็นข้อผิดพลาดของระบบภายใน คุณสามารถใช้ Backoff และพยายามกลยุทธ์อีกครั้งในกลไกการจัดตารางเวลางาน หากเขียนถึง Health Connect ดำเนินการไม่สำเร็จในที่สุด โปรดตรวจสอบว่าแอปของคุณข้ามผ่านได้ จุดส่งออกดังกล่าว อย่าลืมบันทึกและรายงานข้อผิดพลาดเพื่อช่วยวินิจฉัย
ขณะติดตามข้อมูล เรามีคำแนะนำ 2-3 ข้อที่คุณสามารถ เป็นไปตามวิธีการเขียนข้อมูลของแอป
การติดตามแบบแพสซีฟ
ซึ่งรวมถึงแอปที่ติดตามการออกกำลังกายหรือสุขภาพแบบแพสซีฟ เช่น บันทึกจำนวนก้าวหรืออัตราการเต้นของหัวใจอย่างต่อเนื่องในเบื้องหลัง
แอปของคุณต้องเขียนข้อมูลเป็นระยะลงใน Health Connect ใน วิธีต่อไปนี้
- ในการซิงค์ทุกครั้ง ให้เขียนเฉพาะข้อมูลใหม่และข้อมูลที่อัปเดตซึ่งมีการแก้ไขตั้งแต่ การซิงค์ครั้งล่าสุด
- คำขอแยกส่วนไปยังระเบียนสูงสุด 1,000 รายการต่อคำขอการเขียน
- ใช้
WorkManager
เพื่อตั้งเวลางานในเบื้องหลังเป็นระยะด้วย เป็นระยะเวลาอย่างน้อย 15 นาที จำกัดงานให้เรียกใช้เฉพาะเมื่ออุปกรณ์ไม่มีการใช้งานและไม่ได้เหลือน้อย แบตเตอรี่
val constraints = Constraints.Builder() .requiresBatteryNotLow() .requiresDeviceIdle(true) .build() val writeDataWork = PeriodicWorkRequestBuilder<WriteDataToHealthConnectWorker>( 15, TimeUnit.MINUTES, 5, TimeUnit.MINUTES ) .setConstraints(constraints) .build()
การติดตามที่ใช้งานอยู่
ซึ่งรวมถึงแอปที่ติดตามเหตุการณ์ เช่น การออกกำลังกายและการนอนหลับ หรือข้อมูลจากผู้ใช้ด้วยตนเอง เช่น โภชนาการ โดยระเบียนเหล่านี้จะสร้างขึ้นเมื่อแอป อยู่เบื้องหน้าหรืออยู่ในเหตุการณ์ที่ไม่ค่อยเกิดขึ้นซึ่งมีการใช้งาน 2-3 ครั้งใน 1 วัน
ตรวจสอบว่าแอปไม่ได้ให้ Health Connect ทำงานตลอด ระยะเวลาของเหตุการณ์
ต้องเขียนข้อมูลลงใน Health Connect ด้วย 1 ใน 2 วิธีต่อไปนี้
- ซิงค์ข้อมูลกับ Health Connect หลังจากกิจกรรมสิ้นสุดลง เช่น การซิงค์ ข้อมูลเมื่อผู้ใช้สิ้นสุดเซสชันการออกกำลังกายที่ติดตาม
- กำหนดเวลางานแบบครั้งเดียวโดยใช้
WorkManager
เพื่อซิงค์ข้อมูล ในภายหลัง
แนวทางปฏิบัติแนะนำเกี่ยวกับรายละเอียดและความถี่ของการเขียน
เมื่อเขียนข้อมูลลงใน Health Connect ให้ใช้ความละเอียดที่เหมาะสม การใช้ ความละเอียดที่เหมาะสมจะช่วยลดปริมาณการใช้พื้นที่เก็บข้อมูลขณะที่ยังคง ข้อมูลมีความสม่ำเสมอและถูกต้อง ความละเอียดของข้อมูลครอบคลุม 2 สิ่งต่อไปนี้
- ความถี่ในการเขียน: ความถี่ที่แอปพลิเคชันจะพุชข้อมูลใหม่เข้าไปใน Health Connect เช่น เขียนข้อมูลใหม่ทุก 15 นาที
- รายละเอียดของข้อมูลที่เขียน: ความถี่ที่ข้อมูลที่ส่งเข้ามาคือ สุ่มตัวอย่าง เช่น เขียนตัวอย่างอัตราการเต้นของหัวใจทุก 5 วินาที ข้อมูลบางประเภทเท่านั้น ต้องใช้อัตราการสุ่มตัวอย่างเดียวกัน การอัปเดตจำนวนก้าวแทบจะไม่มีประโยชน์อะไรเลย ข้อมูลทุกวินาที ซึ่งตรงข้ามกับความถี่ในการอัปโหลดที่น้อยกว่า เช่น ทุก 60 วินาที อย่างไรก็ตาม อัตราการสุ่มตัวอย่างที่สูงขึ้นอาจทำให้ผู้ใช้มีรายละเอียดและ ข้อมูลสุขภาพและการออกกำลังกายแบบละเอียด ความถี่ของอัตราตัวอย่าง ควรมีความสมดุลระหว่างรายละเอียดกับประสิทธิภาพ
เขียนข้อมูลที่ตรวจสอบตลอดทั้งวัน
สำหรับข้อมูลที่รวบรวมอย่างต่อเนื่อง เช่น ขั้นตอน แอปพลิเคชันของคุณควร เขียนลงใน Health Connect อย่างน้อยทุกๆ 15 นาทีตลอดทั้งวัน
ประเภทข้อมูล |
หน่วย |
ที่คาดไว้ |
ตัวอย่าง |
จำนวนก้าว |
จำนวนก้าว |
ทุกๆ 1 นาที |
23:14 - 23:15 - 5 ก้าว 23:16 - 23:17 - 22 ก้าว 23:17 - 23:18 - 8 ก้าว |
แผนการสนทนา |
ก้าว/นาที |
ทุกๆ 1 นาที |
23:14 - 23:15 - 17:00 น. 23:16 - 23:17 - 22 วินาที 23:17 - 23:18 - 20:00 น. |
การทำวีลแชร์พุช |
พุช |
ทุกๆ 1 นาที |
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 แคลอรี |
ระยะทาง |
กม./นาที |
ทุกๆ 1 นาที |
23:14-23:15 - 0.008 กม. 23:16 - 23:16 - 0.021 กม. 23:17 - 23:18 - 0.012 กม. |
ระดับความสูงที่เพิ่มขึ้น |
m |
ทุกๆ 1 นาที |
20:36 - 20:37 - 3.048 นาที 20:39 - 20:40 - 3.048 น. 23:23 - 23:24 - 9.144 นาที |
จำนวนชั้นที่เดินขึ้น |
ชั้น |
ทุกๆ 1 นาที |
23:14 - 23:15 - 5 ชั้น 23:16 - 23:16 - 22 ชั้น 23:17 - 23:18 - 8 ชั้น |
อัตราการเต้นของหัวใจ |
bpm |
ทุกๆ 1 นาที |
6:11 น. - 55 ครั้งต่อนาที |
ความผันแปรของอัตราการเต้นของหัวใจ RCS |
มิลลิวินาที |
ทุกๆ 1 นาที |
6:11 น. - 23 มิลลิวินาที |
อัตราการหายใจ |
หายใจ/นาที |
ทุกๆ 1 นาที |
23:14 - 23:15 - 60 ครั้ง/นาที 23:16 - 23:16 - 62 ครั้ง/นาที 23:17 - 23:18 - 64 ครั้ง/นาที |
ความอิ่มตัวของออกซิเจน |
% |
ทุกๆ 1 ชั่วโมง |
6:11 - 95.208% |
เขียนเซสชัน
ควรเขียนข้อมูลลงใน Health Connect ในช่วงท้ายของการออกกำลังกายหรือการนอนหลับ เซสชัน
แนวทางปฏิบัติที่ดีที่สุดคือควรเขียนเซสชันการนอนหลับหรือการออกกำลังกายด้วย
อุปกรณ์บันทึกและข้อมูลเมตาที่เหมาะสม รวมถึง
RecordingMethod
อย่างน้อยที่สุด ใบสมัครของคุณควรเป็นไปตามคำแนะนำใน "ที่คาดหวัง" ด้านล่าง สถานที่ หากเป็นไปได้ ให้เลือกทำตาม "แนวทางปฏิบัติที่ดีที่สุด" คำแนะนำ
ข้อมูลที่ติดตามระหว่างออกกำลังกาย
ประเภทข้อมูล |
หน่วย |
ที่คาดไว้ |
ขอแสดงความนับถือ |
ตัวอย่าง |
จำนวนก้าว |
จำนวนก้าว |
ทุกๆ 1 นาที |
ทุกๆ 1 วินาที |
23:14-23:15 - 5 ขั้นตอน 23:16 - 23:17 - 22 ก้าว 23:17 - 23:18 - 8 ก้าว |
แผนการสนทนา |
ก้าว/นาที |
ทุกๆ 1 นาที |
ทุกๆ 1 วินาที |
23:14-23:15 - 35 spm 23:16 - 23:17 - 37 วินาที 23:17 - 23:18 - 40 วินาที |
การทำวีลแชร์พุช |
พุช |
ทุกๆ 1 นาที |
ทุกๆ 1 วินาที |
23:14-23:15 - พุช 5 ครั้ง 23:16 - 23:17 - พุช 22 ครั้ง 23:17 - 23:18 - พุช 8 ครั้ง |
แผนการปั่นจักรยาน |
rpm |
ทุกๆ 1 นาที |
ทุกๆ 1 วินาที |
23:14-23:15 - 65 รอบต่อนาที 23:16 - 23:17 - 70 รอบต่อนาที 23:17 - 23:18 - 68 รอบต่อนาที |
พาวเวอร์ |
วัตต์ |
ทุกๆ 1 นาที |
ทุกๆ 1 วินาที |
23:14-23:15 - 250 วัตต์ 23:16 - 23:17 - 255 วัตต์ 23:17 - 23:18 - 245 วัตต์ |
ความเร็ว |
กม./นาที |
ทุกๆ 1 นาที |
ทุกๆ 1 วินาที |
23:14-23:15 - 0.3 กม./นาที 23:16 - 23:17 - 0.4 กม./นาที 23:17 - 23:18 -0.4 กม./นาที |
ระยะทาง |
กม./ม. |
ทุกๆ 1 นาที |
ทุกๆ 1 วินาที |
23:14-23:15 - 0.008 กม. 23:16 - 23:16 - 0.021 กม. 23:17 - 23:18 - 0.012 กม. |
แคลอรี่ที่ใช้ไปในการเคลื่อนไหว |
แคลอรี่ |
ทุกๆ 1 นาที |
ทุกๆ 1 วินาที |
23:14-23:15 - 20 แคลอรี 23:16 - 23:17 - 20 แคลอรี 23:17 - 23:18 - 25 แคลอรี |
แคลอรี่ที่เผาผลาญทั้งหมด |
แคลอรี่ |
ทุกๆ 1 นาที |
ทุกๆ 1 วินาที |
23:14-23:15 - 36 แคลอรี 23:16 - 23:17 - 36 แคลอรี 23:17 - 23:18 - 41 แคลอรี |
ระดับความสูงที่เพิ่มขึ้น |
m |
ทุกๆ 1 นาที |
ทุกๆ 1 วินาที |
20:36 - 20:37 - 3.048 นาที 20:39 - 20:40 - 3.048 น. 23:23 - 23:24 - 9.144 นาที |
เส้นทางการออกกำลังกาย |
ละติจูด/ลองจิจูด/ละติจูด |
ทุกๆ 3-5 วินาที |
ทุกๆ 1 วินาที |
|
อัตราการเต้นของหัวใจ |
bpm |
ทุกๆ 1 นาที |
ทุกๆ 1 วินาที |
23:14-23:15 - 150 ครั้งต่อนาที 23:16 - 23:17 -152 ครั้งต่อนาที 23:17 - 23:18 - 155 ครั้งต่อนาที |
ติดตามข้อมูลระหว่างนอนหลับ
ประเภทข้อมูล |
หน่วย |
ตัวอย่างที่คาดไว้ |
ตัวอย่าง |
ช่วงการนอนหลับ |
สถานะ |
ระยะเวลาโดยละเอียดต่อระยะการนอนหลับ |
23:46 - 23:50 - ตื่น 23:50 - 23:56 - หลับตื้น 23:56 - 00:16 - หลับลึก |
อัตราการเต้นของหัวใจขณะพัก |
bpm |
มูลค่ารายวันเดียว (ควรเป็นสิ่งแรกในตอนเช้า) |
6:11 น. - 60 ครั้งต่อนาที |
ความอิ่มตัวของออกซิเจน |
% |
มูลค่ารายวันเดียว (ควรเป็นสิ่งแรกในตอนเช้า) |
6:11 - 95.208% |