API ของบริการด้านสุขภาพของ Wear (WHS) เป็นคอมโพเนนต์ที่จำเป็นสำหรับอุปกรณ์ทั้งหมดที่ใช้ Wear OS 3 ขึ้นไป เนื่องจากมีพื้นผิวการผสานรวมที่สอดคล้องกันสำหรับนักพัฒนาแอปด้านสุขภาพและการออกกำลังกาย สร้างแอปให้ปรับเปลี่ยนได้อย่างราบรื่นในอุปกรณ์ต่างๆ และความสามารถที่แตกต่างกันของอุปกรณ์เหล่านั้น เพื่อรักษาความเข้ากันได้ในอุปกรณ์ต่างๆ และหลีกเลี่ยงปัญหาด้านประสบการณ์ของผู้ใช้ หากต้องการทำเช่นนั้น ให้ประกาศ การอ้างอิงเฉพาะไคลเอ็นต์ที่แอปของคุณใช้ นอกจากนี้ ให้แอปของคุณมีความยืดหยุ่นในการแสดงหรือนำเมตริกขั้นสูงที่ไม่บังคับออกตามความพร้อมใช้งาน
เซ็นเซอร์แต่ละตัวจะสร้างข้อมูลด้วยความถี่ที่แตกต่างกันไปตามอุปกรณ์ โดยขึ้นอยู่กับฮาร์ดแวร์และแพลตฟอร์มเซ็นเซอร์พื้นฐาน เช่น อุปกรณ์ อาจส่งคืนอัตราการเต้นของหัวใจที่การประทับเวลาหนึ่งและตำแหน่งที่อีกการประทับเวลาหนึ่ง สร้างแอป ที่รับสตรีมข้อมูลอิสระได้ที่การประทับเวลาต่างๆ หรือที่ การประทับเวลาที่ทับซ้อนกัน
คู่มือนี้อธิบายลักษณะการทำงานที่คาดไว้และประเภทข้อมูลที่ไคลเอ็นต์ต่างๆ รองรับภายในบริการด้านสุขภาพของ Wear
ไคลเอ็นต์การออกกำลังกาย
ส่วนต่อไปนี้จะอธิบายลักษณะการทำงานและประเภทข้อมูลที่คาดไว้ของ
ExerciseClient
ลักษณะการทำงานที่คาดไว้
สำหรับ ExerciseClient การออกกำลังกายบางประเภทจะขึ้นอยู่กับความพร้อมใช้งาน
ของข้อมูลบางประเภท ตัวอย่างเช่น แบบฝึกหัดสำหรับรถเข็นจะใช้ได้ก็ต่อเมื่อระบบรองรับการเข็นรถเข็น เปิดและปิดใช้ตัวเลือกเหล่านี้ตาม
ความพร้อมใช้งานในอุปกรณ์ที่ต้องการ
ระบบจะสุ่มตัวอย่างและส่งข้อมูลการออกกำลังกายส่วนใหญ่ทุกๆ 1 วินาที โดยมีข้อยกเว้นบางประการดังนี้
- ในบางสถานการณ์ ระบบจะอัปเดตข้อมูลการออกกำลังกายบางประเภทมากกว่า 1 ครั้งต่อวินาที เช่น เมื่อผู้ใช้วิ่ง ระบบจะอัปเดตจำนวนก้าวมากกว่า 1 ครั้งต่อวินาที
- สำหรับข้อมูลบางประเภท ระบบจะส่งการอัปเดตก็ต่อเมื่อค่าปัจจุบัน แตกต่างจากค่าก่อนหน้าเท่านั้น
การนำส่งข้อมูลอาจเป็นแบบสตรีมมิงหรือแบบเป็นกลุ่ม ระบบจะสตรีมข้อมูลขณะที่ โปรเซสเซอร์แอปพลิเคชันเปิดอยู่ ซึ่งโดยปกติจะเกิดขึ้นเมื่อจอแสดงผลเปิดอยู่และ โต้ตอบได้ เมื่อจอแสดงผลปิดหรือเข้าสู่โหมดแอมเบียนท์ (เปิดอยู่แต่ ไม่โต้ตอบ) ระบบจะจัดกลุ่มข้อมูลเพื่อประหยัดพลังงาน ระบบจะส่งข้อมูลที่จัดกลุ่ม ไปยังแอปพลิเคชันเมื่อโปรเซสเซอร์ของแอปพลิเคชันเปิดขึ้น อีกครั้ง ไม่ว่าจะเป็นเพราะนาฬิกาออกจากโหมดแอมเบียนท์ หรือเมื่อบัฟเฟอร์ สำหรับการจัดกลุ่มเต็ม ซึ่งจะแตกต่างกันไปตามอุปกรณ์ อัตราการสุ่มตัวอย่างจะยังคง เหมือนเดิมขณะที่อุปกรณ์อยู่ในโหมดแอมเบียนท์ ดังนั้นชุดข้อมูลที่ส่งจึงยังมี จุดข้อมูลที่มีความถี่สูง
ประเภทข้อมูลได้มาจากข้อมูลที่เซ็นเซอร์ในนาฬิกาสร้างขึ้นเท่านั้น เช่น ข้อมูลตำแหน่งมาจากนาฬิกาเท่านั้น ไม่ได้มาจากโทรศัพท์
ประเภทข้อมูล
ExerciseClient API ช่วยให้คุณเริ่ม หยุดชั่วคราว ออกกำลังกายต่อ และหยุดการออกกำลังกาย
ประเภทต่างๆ ได้ สำหรับแบบฝึกหัดแต่ละรายการ WHS จะกำหนดชุดประเภทข้อมูลที่
พร้อมให้คุณใช้งานสำหรับแบบฝึกหัดประเภทนั้น ซึ่งจะช่วยประหยัดพลังงานและลดความซับซ้อนของตรรกะของแอป เนื่องจากเซ็นเซอร์ที่ไม่จำเป็นสำหรับการออกกำลังกายที่กำหนดจะไม่เปิดขึ้น เช่น เมื่อเริ่มการวิ่ง ระบบจะให้และติดตามข้อมูลตำแหน่งสำหรับการวิ่งกลางแจ้งเท่านั้น เมื่อเริ่มการออกกำลังกายด้วยการปั่นจักรยาน ระบบจะไม่
ให้หรือติดตามจำนวนก้าว ส่วนต่อไปนี้จะอธิบายประเภทข้อมูลที่รองรับใน ExerciseClient
ประเภทข้อมูลการออกกำลังกายที่ใช้ได้ในทุกอุปกรณ์
ประเภทข้อมูลการออกกำลังกายต่อไปนี้ใช้ได้ในทุกอุปกรณ์
- ประเภทข้อมูลตัวอย่างมีประเภทข้อมูล _STATS ที่เกี่ยวข้องซึ่งจะแสดงค่าต่ำสุด สูงสุด และค่าเฉลี่ยจากการออกกำลังกาย เช่น ดึงสถิติ PACE ได้ด้วยประเภทข้อมูล PACE_STATS
- ประเภทข้อมูลช่วงเวลามีประเภทข้อมูล _TOTAL ที่เกี่ยวข้องซึ่งแสดงผล ค่าสะสมจากการออกกำลังกาย เช่น ดึงสถิติ DISTANCE ได้ ด้วยประเภทข้อมูล DISTANCE_TOTAL
| เมตริก | ข้อมูลที่คาดไว้ | หมายเหตุเกี่ยวกับลักษณะการทำงานที่คาดหวัง |
| HEART_RATE_BPM | ครั้งต่อนาที [DataType: Double] | อุปกรณ์ทั้งหมดจะสุ่มตัวอย่างอัตราการเต้นของหัวใจ 1 ครั้งต่อวินาทีในระหว่างการออกกำลังกาย อุปกรณ์บางเครื่อง จะรายงานค่า BPM ทุกวินาที อุปกรณ์บางเครื่องจะรายงาน BPM เฉพาะเมื่อมีการเปลี่ยนแปลงจากค่าก่อนหน้าเท่านั้น อย่าคาดหวังว่าจะได้รับค่า BPM ทุกๆ 1 วินาทีในอุปกรณ์ทั้งหมด |
| สถานที่ | ละติจูดและลองจิจูด [DataType: Double] | ข้อมูลตำแหน่งจะอิงตาม GPS ของนาฬิกาเท่านั้น อย่าคาดหวังว่าข้อมูลตำแหน่งจะมาจาก Fused Location Provider หรือบริการอื่นๆ ของ Android จุดข้อมูลแต่ละจุดยังมีค่าความแม่นยำ (หรือที่เรียกว่าข้อผิดพลาดของตำแหน่งแนวนอน) และความพร้อมใช้งานด้วย |
| ขั้นตอน | [ประเภทข้อมูล: ยาว] | จำนวนก้าวคือผลรวมที่เพิ่มขึ้นตลอดระยะเวลาการออกกำลังกาย โดยไม่รวมเวลาที่หยุดออกกำลังกายชั่วคราว |
| ระยะทาง | Meters [ประเภทข้อมูล: Double] | คำนวณจากตำแหน่งที่อิงตาม GPS เมื่อมี และจากจำนวนก้าว หากไม่มี ทั้งหมดหมายถึงทั้งหมดตลอดระยะเวลาของการออกกำลังกาย โดยไม่รวมเวลาที่หยุดการออกกำลังกายชั่วคราว |
| ความเร็ว | [เมตร / วินาที] [ประเภทข้อมูล: Double] | แสดงผลค่าต่ำสุด สูงสุด และค่าเฉลี่ย โดยค่าเหล่านี้จะคำนวณตลอดระยะเวลาการออกกำลังกาย ไม่รวมเวลาที่หยุดออกกำลังกายชั่วคราว |
| PACE | [วินาที / เมตร] [ประเภทข้อมูล: Double] | ค่าเริ่มต้นคือ 0 หากความเร็วเป็น 0 ค่าเฉลี่ยจะคำนวณจากระยะเวลาการออกกำลังกาย โดยไม่รวมเวลาที่หยุดการออกกำลังกายชั่วคราว |
| ELEVATION_GAIN | เมตร [ประเภทข้อมูล: Double] | การเปลี่ยนแปลงระดับความสูงในเชิงบวก ระบบจะรายงานผลรวมตลอดระยะเวลาการออกกำลังกาย โดยไม่รวมเวลา ที่หยุดการออกกำลังกายชั่วคราว |
| TOTAL_CALORIES | kCal [ประเภทข้อมูล: Double] | แคลอรี่ที่ใช้ไปในการเคลื่อนไหวร่างกายจะเพิ่มลงในอัตราการเผาผลาญขณะพัก แคลอรี่ ที่แสดงที่นี่จะพิจารณาส่วนสูง น้ำหนัก อายุ และเพศของผู้ใช้ตามที่ ระบุในการตั้งค่าระบบ แคลอรีจะไม่นำข้อมูลโปรไฟล์ผู้ใช้ที่รวบรวมในแอปมาพิจารณา โดยแคลอรีทั้งหมดที่รายงานจะคำนวณจากระยะเวลาของการออกกำลังกาย ไม่รวมเวลาที่หยุดการออกกำลังกายชั่วคราว |
ประเภทข้อมูลการออกกำลังกายที่ไม่บังคับ
รายการประเภทข้อมูลต่อไปนี้ใช้ได้เฉพาะในอุปกรณ์บางรุ่นเท่านั้น ดูรายการ DataTypes ทั้งหมดได้ที่ข้อมูลอ้างอิง Jetpack หาก DataType ไม่อยู่ใน
รายการ "ต้องระบุ/รับประกัน" ก่อนหน้า แสดงว่าเป็นรายการที่ไม่บังคับ
ดูตัวอย่างประเภทข้อมูลที่ไม่บังคับต่อไปนี้ รายการต่อไปนี้เป็นเพียงตัวอย่างบางส่วนเท่านั้น
| เมตริก | ข้อมูลที่คาดไว้ | หมายเหตุเกี่ยวกับลักษณะการทำงานที่คาดหวัง |
| ABSOLUTE_ELEVATION | [ประเภทข้อมูล: Double] | |
| ELEVATION_LOSS | Meters [ประเภทข้อมูล: Double] | การเปลี่ยนแปลงระดับความสูงในเชิงลบ ค่าเป็นค่าบวก เช่น ความสูงที่ลดลง 1 เมตรจะแสดงเป็น 1 ไม่ใช่ -1 |
| STEPS_PER_MINUTE | [ประเภทข้อมูล: ยาว] | |
| WHEELCHAIR_PUSHES | [ประเภทข้อมูล: ยาว] | จำนวนการทำวีลแชร์พุชสำหรับใช้ในการออกกำลังกายด้วยวีลแชร์ |
| REP_COUNT | [ประเภทข้อมูล: ยาว] | |
| SWIM_STROKE_COUNT | [ประเภทข้อมูล: ยาว] | |
| SWIM_LAP_COUNT | [ประเภทข้อมูล: ยาว] |
ประเภทข้อมูลต่อการออกกำลังกาย
ระบบจะแสดงข้อมูลประเภทต่างๆ สำหรับการออกกำลังกายแต่ละประเภท ประเภทข้อมูลที่แสดงผลจะสอดคล้องกับความต้องการของแบบฝึกหัด เช่น ประเภทการออกกำลังกาย BIKING จะไม่แสดงผลประเภทข้อมูล STEPS ใช้เมธอด
Capabilities ที่รันไทม์เพื่อพิจารณาว่าอุปกรณ์ของผู้ใช้รองรับข้อมูลประเภทใด
การออกกำลังกายทุกประเภทจะแสดงข้อมูลอัตราการเต้นของหัวใจและแคลอรี่เป็นอย่างน้อย การออกกำลังกายอื่นๆ อาจรองรับข้อมูลประเภทอื่นๆ ทั้งนี้ขึ้นอยู่กับข้อกำหนดของการออกกำลังกาย
ลองดูตัวอย่างต่อไปนี้
- การออกกำลังกาย เช่น การทำสมาธิหรือพิลาทิส รองรับเฉพาะอัตราการเต้นของหัวใจและแคลอรี่
- การออกกำลังกาย เช่น บาสเกตบอลหรือแบดมินตัน รองรับอัตราการเต้นของหัวใจ แคลอรี ระยะทาง และจำนวนก้าว
- การออกกำลังกาย เช่น การเดินและการวิ่ง รองรับอัตราการเต้นของหัวใจ แคลอรี ระยะทาง จำนวนก้าว ความเร็ว และฝีเท้า
- การว่ายน้ำรองรับอัตราการเต้นของหัวใจ แคลอรี ระยะทาง และรอบว่ายน้ำ
ไคลเอ็นต์การตรวจสอบแบบพาสซีฟ
อุปกรณ์ทั้งหมดที่ใช้ Wear OS ต้องมีประเภทข้อมูลต่อไปนี้เพื่อ
รองรับแอปที่ตรวจสอบข้อมูลด้านสุขภาพและการออกกำลังกายแบบพาสซีฟ เช่น อัตราการเต้นของหัวใจ
และจำนวนก้าว โดยข้อมูลแต่ละประเภทจะต้องได้มาจากข้อมูลที่เซ็นเซอร์บนนาฬิกาสร้างขึ้นเท่านั้น
ลักษณะการทำงานที่คาดไว้
เพื่อประหยัดพลังงาน ระบบจะจัดเก็บค่าที่เซ็นเซอร์อ่านได้ซึ่งได้รับจากการตรวจสอบแบบพาสซีฟไว้ใน MCU และจัดกลุ่มเป็นชุดเพื่อส่งไปยังบริการข้อมูลสุขภาพ ระบบจะแสดงผลลัพธ์ที่จัดกลุ่มเหล่านี้ในช่วงเวลาที่แตกต่างกันไปตามลักษณะการทำงานของระบบ ตัวอย่างเช่น การส่งคืนชุดข้อมูลเมื่อบัฟเฟอร์เซ็นเซอร์เต็ม หรือเมื่อผู้ใช้โต้ตอบกับจอแสดงผล
อย่าถือว่ามีช่วงเวลาการประมวลผลเป็นกลุ่มที่กำหนดไว้ล่วงหน้าหรือคาดการณ์ได้สำหรับข้อมูลประเภทใดๆ
ประเภทข้อมูลการตรวจสอบแบบพาสซีฟ
| เมตริก | ข้อมูลที่คาดไว้ | Notes |
| HEART_RATE_BPM | ครั้งต่อนาที [ประเภทข้อมูล: Double] | อุปกรณ์อาจแสดงค่าอัตราการเต้นของหัวใจในช่วงเวลาที่ต่างกัน อุปกรณ์บางเครื่องอาจอ่านค่าทุกวินาที อุปกรณ์อื่นๆ อาจอ่านค่าทุกๆ 10 นาที ระบบจะไม่ให้แอปเข้าถึงช่วงเวลาเหล่านี้ แอป ควรปรับให้เข้ากับช่วงการสุ่มตัวอย่างที่แตกต่างกันได้อย่างราบรื่น |
| STEPS_DAILY/STEPS | [ประเภทข้อมูล: ยาว] | จำนวนก้าวรายวันคือจำนวนก้าวทั้งหมดที่เดินนับตั้งแต่การรีเซ็ตครั้งล่าสุด ซึ่ง WHS จะทริกเกอร์เมื่อถึงเที่ยงคืน ซึ่งรวมถึงขั้นตอนที่ดำเนินการขณะ หยุดการออกกำลังกายที่ใช้งานอยู่ชั่วคราว Steps คือเดลต้าแบบละเอียดตั้งแต่การตรวจสอบครั้งล่าสุด |
| DISTANCE_DAILY/DISTANCE | เมตร [ประเภทข้อมูล: Double] | คำนวณจากตัวตรวจวัดความเร่ง/จำนวนก้าว อย่าคำนวณระหว่าง GPS เพื่อให้มั่นใจว่า ผู้ใช้ที่ปิดบริการตำแหน่งจะยังคงได้รับจำนวนก้าวที่แม่นยำ |
| ความเร็ว | [เมตร / วินาที] [ประเภทข้อมูล: Double] | |
| CALORIES_DAILY | kCal [ประเภทข้อมูล: Double] | แคลอรี่สำหรับวัน ซึ่งรวมถึงแคลอรี่ขณะเคลื่อนไหวและ BMR ตัวเลขแคลอรี่ ที่แสดงที่นี่จะพิจารณาส่วนสูง น้ำหนัก อายุ และเพศของผู้ใช้ตามที่ระบุในการตั้งค่าระบบ แคลอรี่จะไม่ปรับ ตามข้อมูลโปรไฟล์ผู้ใช้ที่รวบรวมในแอป |
| RUNNING_STEPS (ไม่บังคับ) | [ประเภทข้อมูล: ยาว] | ส่วนต่างของจำนวนก้าวทั้งในระหว่างการออกกำลังกายและในเวลาอื่นๆ ติดตามทั้ง 2 อย่างพร้อมกัน |
| WALKING_STEPS (ไม่บังคับ) | [ประเภทข้อมูล: ยาว] | |
| ELEVATION_GAIN | เมตร [ประเภทข้อมูล: Double] | รวมเฉพาะเดลต้าที่เป็นบวกในระดับความสูง |
| ELEVATION_LOSS | เมตร [ประเภทข้อมูล: Double] | รวมเฉพาะเดลต้าเชิงลบในระดับความสูง |
| FLOORS_DAILY | [ประเภทข้อมูล: Double] | แสดงเป็นราคาพื้น "บางส่วน" ได้ |
เป้าหมายประจำวันของการตรวจสอบแบบพาสซีฟ
| เมตริก | ข้อมูลที่คาดไว้ | Notes |
| STEPS_DAILY | [ประเภทข้อมูล: ยาว] | จำนวนก้าวรายวัน รวมถึงจำนวนก้าวที่เดินในขณะที่หยุดการออกกำลังกายชั่วคราว คือจำนวนก้าวทั้งหมดที่เดินนับตั้งแต่การรีเซ็ตครั้งล่าสุด WHS จะรีเซ็ต ตอนเที่ยงคืน |
| FLOORS_DAILY | [ประเภทข้อมูล: Double] | แสดงเป็น "บางส่วน" ของบันไดได้ |
| CALORIES_DAILY | kCal [ประเภทข้อมูล: Double] | แคลอรี่สำหรับวัน ซึ่งรวมถึงแคลอรี่ขณะเคลื่อนไหวและ BMR |
| DISTANCE_DAILY | เมตร [ประเภทข้อมูล: Double] | คำนวณจากตัวตรวจวัดความเร่งหรือจำนวนก้าว อย่าคำนวณโดยใช้ GPS เพื่อให้ผู้ใช้ที่ปิดบริการตำแหน่งยังคง ได้รับจำนวนก้าวที่ถูกต้อง |
| DAILY_ELEVATION_GAIN | เมตร [ประเภทข้อมูล: Double] | รวมเฉพาะเดลต้าที่เป็นบวกในระดับความสูง |
MeasureClient
ใช้ MeasureClient
เพื่อวัดอัตราการเต้นของหัวใจในขณะนั้น
ลักษณะการทำงานที่คาดไว้
MeasureClient และ PassiveClient มีความคล้ายคลึงกันในบางแง่มุม ทั้ง 2 แอปนี้จะให้ข้อมูลสถิติสุขภาพแบบไม่เป็นชุดซึ่งไม่เกี่ยวข้องกับการออกกำลังกาย คุณใช้ทั้ง 2 อย่างเพื่อวัด
อัตราการเต้นของหัวใจได้ แต่ความแตกต่างหลักๆ คือ MeasureClient มี
ความพร้อมใช้งานของข้อมูลอัตราการเต้นของหัวใจ แต่ PassiveClient ไม่มีข้อมูล
ความพร้อมใช้งาน
ประเภทข้อมูล
| เมตริก | ข้อมูลที่คาดไว้ | Notes |
| HEART_RATE_BPM | ครั้งต่อนาที [ประเภทข้อมูล: Double] | รวมถึงความพร้อมด้วย |
ฟีเจอร์ที่รองรับ
นอกเหนือจากประเภทข้อมูลการออกกำลังกายและประเภทข้อมูลการตรวจสอบแบบพาสซีฟแล้ว อุปกรณ์ยังรองรับฟีเจอร์เพิ่มเติมสำหรับการทริกเกอร์เหตุการณ์ เช่น การเริ่มออกกำลังกาย และการวัดสถานะ เช่น หลับเทียบกับตื่น ฟีเจอร์บางอย่างมีให้บริการ ในอุปกรณ์ทุกเครื่อง และบางฟีเจอร์มีให้บริการในอุปกรณ์บางเครื่องเท่านั้น
ทริกเกอร์เหตุการณ์
อุปกรณ์ทั้งหมดรองรับทริกเกอร์ทั่วไปต่อไปนี้
- เป้าหมายรายวันสำหรับระยะทางและจำนวนก้าว
- เป้าหมายการออกกำลังกายสำหรับจำนวนก้าว ระยะทาง และระยะเวลา
อุปกรณ์อื่นๆ อาจรองรับทริกเกอร์เหตุการณ์ขั้นสูงกว่านี้ ตัวอย่างเช่น
- การนับรอบขณะว่ายน้ำ
- เป้าหมายการออกกำลังกายสำหรับแคลอรี่ที่ใช้ไป
- เป้าหมายการออกกำลังกายสำหรับความเร็วทันที
รัฐ
อุปกรณ์ทั้งหมดรองรับฟังก์ชันสถานะพื้นฐาน ฟังก์ชันการทำงานของสถานะหมายถึง ไม่ว่าผู้ใช้จะออกกำลังกายอยู่หรือไม่
อุปกรณ์อื่นๆ อาจมีฟังก์ชันการทำงานของสถานะเพิ่มเติม ฟังก์ชันการทำงานเพิ่มเติมบางอย่างของสถานะ รวมถึงการตรวจหาว่าระบบหยุดการออกกำลังกายชั่วคราวโดยอัตโนมัติหรือ กลับมาออกกำลังกายต่อโดยอัตโนมัติ หรือเมื่อผู้ใช้ตื่นหรือหลับ
การแจ้งเตือนด้านสุขภาพในการตรวจสอบแบบพาสซีฟ
อุปกรณ์บางรุ่นรองรับการแจ้งเตือนด้านสุขภาพ อุปกรณ์บางรุ่นไม่รองรับฟีเจอร์เหล่านี้ การแจ้งเตือนด้านสุขภาพบางอย่างรวมถึงการตรวจหาความผิดปกติของอัตราการเต้นของหัวใจหรือ การตรวจหาการล้ม
แนะนำสำหรับคุณ
- หมายเหตุ: ข้อความลิงก์จะแสดงเมื่อ JavaScript ปิดอยู่
- ข้อมูลและแบบฝึกหัดที่ใช้งานอยู่
- บริการข้อมูลสุขภาพใน Wear OS