บริการด้านสุขภาพใน Wear OS

Wear OS 3 ขึ้นไปมีบริการที่ชื่อว่าบริการด้านสุขภาพ บริการด้านสุขภาพทำหน้าที่เป็นสื่อกลางสำหรับเซ็นเซอร์ต่างๆ และอัลกอริทึมที่เกี่ยวข้องในอุปกรณ์ เพื่อให้แอปมีข้อมูลคุณภาพสูงที่เกี่ยวข้องกับกิจกรรม การออกกำลังกาย และสุขภาพ

ดูแอปฟิตเนสตัวอย่างได้ในที่เก็บตัวอย่างของบริการด้านสุขภาพ ใน GitHub

Health Services ช่วยนักพัฒนาแอปได้อย่างไร

หากไม่มีบริการด้านสุขภาพ แอปจะต้องเชื่อมต่อกับเซ็นเซอร์อย่างน้อย 1 ตัว กำหนดค่าแต่ละตัวอย่างเหมาะสม รับข้อมูลเซ็นเซอร์ดิบ และใช้อัลกอริทึมของตัวเอง เพื่อดึงข้อมูลที่มีความหมาย ตัวอย่างเช่น แอปอาจ ลงทะเบียนเพื่อรับข้อมูลอัปเดตของ Sensor.TYPE_PRESSURE เพื่อรับแรงดันอากาศปัจจุบัน ใช้เพื่อคำนวณระดับความสูงปัจจุบัน และ รวบรวมข้อมูลนี้เมื่อเวลาผ่านไปเพื่อแสดงการเปลี่ยนแปลงระดับความสูงในระหว่างเซสชันกิจกรรมของผู้ใช้

บริการด้านสุขภาพจะกำหนดค่าเซ็นเซอร์ทั้งหมดที่เกี่ยวข้องกับการออกกำลังกายและสุขภาพโดยอัตโนมัติให้เหมาะสมกับกรณีการใช้งาน รวบรวมข้อมูลเซ็นเซอร์ และคำนวณเมตริกต่างๆ เช่น อัตราการเต้นของหัวใจ ระยะทาง แคลอรี่ ความสูง ชั้น ความเร็ว ฝีเท้า และอื่นๆ แอปสามารถลงทะเบียนเพื่อรับข้อมูลนี้ได้โดยตรงจากบริการด้านสุขภาพ

แผนภาพสถาปัตยกรรมของบริการด้านสุขภาพ
รูปที่ 1: สถาปัตยกรรมของบริการด้านสุขภาพ

ประโยชน์บางส่วนของการใช้บริการด้านสุขภาพมีดังนี้

  • ใช้ประโยชน์จากอัลกอริทึมอันทรงพลังที่ทำงานบนแพลตฟอร์มโดยตรง
  • ประหยัดแบตเตอรี่โดยใช้การกำหนดค่าเซ็นเซอร์จากบริการด้านสุขภาพที่ เพิ่มประสิทธิภาพการใช้พลังงาน
  • ทำให้แอปพร้อมใช้งานในอุปกรณ์ Wear 3 ขึ้นไป API ของบริการข้อมูลสุขภาพมีความสอดคล้องกันในอุปกรณ์ Wear 3 ขึ้นไป ซึ่งช่วยให้คุณอัปเดตแอปได้ง่ายขึ้น
  • ยืนยันความสอดคล้องของข้อมูลในแอปพลิเคชันทั้งหมดบนอุปกรณ์เดียวกันโดย ใช้การคำนวณแพลตฟอร์มที่ได้มาตรฐาน
  • เปิดใช้ประสบการณ์การใช้งานที่รับรู้กิจกรรม ซึ่งรวมถึงความสามารถในการตรวจหา การออกกำลังกายที่กำลังดำเนินอยู่ซึ่งเริ่มจากแอปอื่น

สิทธิประโยชน์เหล่านี้ช่วยให้นักพัฒนาแอปมุ่งเน้นการพัฒนาฟีเจอร์และประสบการณ์ของผู้ใช้ที่ไม่เหมือนใครได้ โดยอาศัยแพลตฟอร์มในการจัดหาเมตริกที่แข็งแกร่งและสอดคล้องกันอย่างมีประสิทธิภาพ

แนวคิดเกี่ยวกับบริการด้านสุขภาพ

โปรดคำนึงถึงแนวคิดต่อไปนี้เมื่อพัฒนาด้วยบริการด้านสุขภาพ

ประเภทข้อมูล

บริการด้านสุขภาพมีข้อมูลหลากหลายที่รวบรวมและอัปเดตอย่างต่อเนื่อง จากแหล่งที่มาทั้งหมดที่มีในอุปกรณ์ ข้อมูลแบ่งออกเป็น 2 หมวดหมู่กว้างๆ ได้แก่ ข้อมูลที่สุ่มตัวอย่าง ณ จุดใดจุดหนึ่งในเวลา เช่น HEART_RATE_BPM และข้อมูลที่รวบรวมในช่วงเวลาหนึ่ง เช่น DISTANCE

ดูข้อมูลเพิ่มเติมได้ในรายการประเภทข้อมูลทั้งหมด

กิจกรรม

แอปจะได้รับเหตุการณ์เมื่อผู้ใช้บรรลุสถานะเป้าหมายหรือเหตุการณ์หนึ่งๆ ตัวอย่างเช่น ผู้ใช้สามารถลงทะเบียนเป้าหมายระยะทางภายในแอปออกกำลังกาย จากนั้นแอปจะแจ้งเตือนผู้ใช้เมื่อวิ่งได้ตามระยะทางที่กำหนด หรือจะใช้เป้าหมายแบบพาสซีฟในสถานการณ์ต่างๆ เช่น ผู้ใช้เดินถึงจำนวนก้าวที่กำหนดหรือหลับไปก็ได้

ดูข้อมูลเพิ่มเติมได้ที่เป้าหมายการออกกำลังกายและ เป้าหมายแบบพาสซีฟ

ประเภทการออกกำลังกาย

บริการด้านสุขภาพถือว่าการออกกำลังกายเป็นฟีเจอร์ระดับเฟิร์สคลาสและรองรับ การออกกำลังกายหลายประเภท เช่น การวิ่งหรือการเล่นสกี ขณะออกกำลังกาย บริการด้านสุขภาพจะรวบรวมเมตริกเกี่ยวกับประเภทข้อมูลที่เลือกและรายงานกลับไปยังแอปที่จัดการการออกกำลังกายได้

ดูข้อมูลเพิ่มเติมได้ที่รายการประเภทการออกกำลังกายทั้งหมด

สร้างแอปโดยใช้บริการด้านสุขภาพ

สร้างแอปโดยใช้บริการด้านสุขภาพตามที่อธิบายไว้ในส่วนต่อไปนี้

ประสบการณ์แบบพาสซีฟ

เมื่อใช้ PassiveMonitoringClient แอปจะใช้ PassiveListenerService ที่รับข้อมูลอัปเดตเกี่ยวกับ ประเภทข้อมูลหรือเหตุการณ์ เหมาะสำหรับประสบการณ์การใช้งานที่ยาวนานซึ่งมีการอัปเดตข้อมูลไม่บ่อยนัก

ดูข้อมูลเพิ่มเติมได้ที่การอัปเดตข้อมูลแบบพาสซีฟ

ประสบการณ์ที่ใช้งานอยู่

เมื่อใช้ MeasureClient แอปจะลงทะเบียน Listener เพื่อรับการอัปเดตข้อมูลอย่างรวดเร็ว ซึ่งเหมาะสำหรับประสบการณ์การใช้งานระยะสั้น เช่น ขณะที่ผู้ใช้ ดู UI ของแอป พยายามลดเวลาที่แอปใช้กับ Listener ที่ลงทะเบียน เนื่องจากจะเพิ่มอัตราการสุ่มตัวอย่างของเซ็นเซอร์และเพิ่มการใช้พลังงาน API นี้ไม่ได้มีไว้สำหรับการจับภาพเบื้องหลัง หรือการติดตามการออกกำลังกาย

ดูข้อมูลเพิ่มเติมได้ที่วัดค่าสุขภาพเฉพาะจุดด้วย MeasureClient

เมื่อใช้ ExerciseClient แอปจะจัดการการออกกำลังกายของผู้ใช้ ตั้งเป้าหมายการออกกำลังกาย และฟังข้อมูลอัปเดตเกี่ยวกับสถานะการออกกำลังกายปัจจุบันได้ แอปของคุณยังรับการอัปเดตข้อมูลอย่างรวดเร็วผ่าน API นี้ได้ด้วย ตราบใดที่การออกกำลังกายเป็นของแอปของคุณ ExerciseClient สามารถใช้กับแอปต่างๆ เช่น แอปวิ่งที่ให้ผู้ใช้บันทึกการวิ่ง แสดงเมตริกแบบเรียลไทม์ในอุปกรณ์ และบันทึกข้อมูลเพื่อการวิเคราะห์เพิ่มเติม

ดูข้อมูลเพิ่มเติมได้ที่บันทึกการออกกำลังกายด้วย ExerciseClient

ทดสอบด้วยข้อมูลสังเคราะห์

หากต้องการทดสอบว่าแอปของคุณได้รับการอัปเดตข้อมูลจากบริการด้านสุขภาพหรือไม่ ให้ตั้งค่าอุปกรณ์ด้วยตนเอง เพื่อปล่อยข้อมูลราวกับว่าผู้ใช้กำลังออกกำลังกาย

ดูข้อมูลเพิ่มเติมได้ที่ใช้ข้อมูลสังเคราะห์กับบริการข้อมูลสุขภาพ