จำลองข้อมูลเซ็นเซอร์ด้วยบริการข้อมูลสุขภาพ

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

หากคุณกำลังทดสอบในโปรแกรมจำลองที่ใช้ Wear OS 3 (API ระดับ 30) ขึ้นไป คุณสามารถใช้ข้อมูลสังเคราะห์ที่โปรแกรมจำลองสร้างขึ้นได้ โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างการสร้างข้อมูลสังเคราะห์สำหรับ Wear OS 3 ขึ้นไปในคำแนะนำต่อไปนี้

ใช้ข้อมูลสังเคราะห์ใน Wear OS 4 ขึ้นไป

หากคุณกำลังทดสอบในโปรแกรมจำลองที่ใช้ Wear OS 4 (API ระดับ 33) ขึ้นไป คุณ สามารถใช้ข้อมูลสังเคราะห์ที่โปรแกรมจำลองสร้างขึ้นเพื่อทดสอบแอปได้ ซึ่ง มีการปรับปรุงหลายอย่างเมื่อเทียบกับวิธีสร้างข้อมูลสังเคราะห์ใน Wear OS เวอร์ชันก่อนหน้า ดังนี้

ใช้แผงเซ็นเซอร์ของบริการข้อมูลสุขภาพ

การอัปเดตฟีเจอร์ใหม่ของ Android Studio Koala (Canary) มี แผงเซ็นเซอร์ของบริการด้านสุขภาพใน Wear OS แผงนี้ใช้เพื่อจำลอง อุปกรณ์ที่มีหรือไม่มีความสามารถของเซ็นเซอร์ที่เฉพาะเจาะจง ซึ่งเป็นสิ่งสำคัญ ที่ต้องทดสอบเมื่อสร้างแอปฟิตเนสบน Wear OS

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

หากต้องการเปิดและใช้แผง ให้ทำดังนี้

  1. สร้างหรือเปิดอุปกรณ์เสมือน Android (AVD) และเรียกใช้แอปในโปรแกรมจำลอง
  2. ในแผงโปรแกรมจำลอง ให้เลือก Wear Health Services เปิดแผงบริการข้อมูลสุขภาพของ Wear แผงบริการด้านสุขภาพของ Wear จะเปิดขึ้นและแสดงรายการเซ็นเซอร์ที่ใช้ได้ในอุปกรณ์ต่างๆ ที่ ใช้ Android

หลังจากเปิดแผงแล้ว คุณจะทำสิ่งต่อไปนี้ได้

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

สร้างข้อมูลสังเคราะห์ด้วยโปรแกรมจำลอง

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

ใช้การควบคุมในแอปเพื่อเริ่ม หยุดชั่วคราว และสิ้นสุดการสร้างข้อมูลสังเคราะห์

นอกจากนี้ โปรดทราบว่าโปรแกรมจำลองจะสร้างค่าข้อมูลเดียวกันสำหรับการออกกำลังกายแต่ละครั้ง

จำลองเหตุการณ์

คุณสามารถจำลองเหตุการณ์ต่างๆ ในโปรแกรมจำลองได้ เช่น AUTO_PAUSE_DETECTED คุณใช้คำสั่งต่อไปนี้เพื่อทริกเกอร์เหตุการณ์เหล่านั้นได้

adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices

เหตุการณ์สังเคราะห์

กิจกรรม

คีย์

ตรวจพบการหยุดชั่วคราวอัตโนมัติ

whs.AUTO_PAUSE_DETECTED

ตรวจพบการกลับมาทำงานต่อโดยอัตโนมัติ

whs.AUTO_RESUME_DETECTED

ตรวจพบการตกกระแทก

whs.FALL_OVER

ตรวจพบการนอนหลับ

whs.START_SLEEPING

ตรวจพบการหยุดพัก

whs.STOP_SLEEPING

ตรวจพบการตีลูกกอล์ฟ

whs.GOLF_SHOT

เช่น คุณสามารถใช้คำสั่งต่อไปนี้เพื่อทริกเกอร์เหตุการณ์หยุดชั่วคราวอัตโนมัติ

​​adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices

สําหรับเหตุการณ์การตีลูกกอล์ฟ คุณควรระบุพารามิเตอร์เพิ่มเติมสําหรับ ประเภทการสวิงตีลูกกอล์ฟ ซึ่งระบุไว้ใน ตารางต่อไปนี้

ตารางที่ 1: เหตุการณ์และคีย์ของเหตุการณ์

ประเภทการสวิงช็อตกอล์ฟ

พารามิเตอร์

ประเภทการพัตต์แบบสวิง

พัตต์

ประเภทการสวิงบางส่วน

บางส่วน

ประเภทการสวิงเต็มรูปแบบ

สูงสุด

เพิ่มประเภทการสวิงช็อตกอล์ฟหลังจากระบุเหตุการณ์ช็อตกอล์ฟ

adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \
  "golf-swing-type-parameter" com.google.android.wearable.healthservices

ตัวอย่างเช่น คำสั่งต่อไปนี้จะทริกเกอร์การตีลูกกอล์ฟบางส่วน

adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \
  com.google.android.wearable.healthservices

ใช้ข้อมูลสังเคราะห์ใน Wear OS 3

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

เปิดใช้การสร้างข้อมูลสังเคราะห์

ทำตามขั้นตอนต่อไปนี้เพื่อเปิดใช้การสร้างข้อมูลสังเคราะห์ใน Wear OS 3

  1. เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอป
  2. ออกadbคำสั่งต่อไปนี้เพื่อเปิดใช้โหมดสังเคราะห์

    adb shell am broadcast \
    -a "whs.USE_SYNTHETIC_PROVIDERS" \
    com.google.android.wearable.healthservices
    

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

ปิดใช้การสร้างข้อมูลสังเคราะห์

หากต้องการเปลี่ยนกลับไปใช้เซ็นเซอร์จริง ให้เรียกใช้คำสั่งต่อไปนี้

adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices

การออกกำลังกายแบบสังเคราะห์

บริการด้านสุขภาพรองรับการออกกำลังกายประเภทต่อไปนี้

  • เดิน: whs.synthetic.user.START_WALKING
  • วิ่ง: whs.synthetic.user.START_RUNNING
  • การเดินป่า: whs.synthetic.user.START_HIKING
  • ว่ายน้ำ: whs.synthetic.user.START_SWIMMING
  • วิ่งบนลู่วิ่ง: whs.synthetic.user.START_RUNNING_TREADMILL

แบบฝึกหัดจะสร้างข้อมูลสังเคราะห์ที่สมจริงสำหรับข้อมูลประเภทต่อไปนี้

  • อัตราการเต้นของหัวใจ
  • จำนวนก้าวต่อนาที
  • ตำแหน่ง GPS โดยใช้เส้นทางเริ่มต้นเดียว
  • ระยะเวลากิจกรรม
  • ระดับความสูงและชั้น

นอกจากนี้ ยังสร้างสถานะต่อไปนี้ได้ด้วย

  • สถานะการนอนหลับ - หลับหรือตื่น
  • การตรวจจับการตกกระแทก

เริ่ม

หากต้องการเริ่มจำลองการออกกำลังกาย ให้ส่งการออกอากาศที่เหมาะสมไปยัง com.google.android.wearable.healthservices

# start the "walking" synthetic exercise
$ adb shell am broadcast \
-a "whs.synthetic.user.START_WALKING" \
com.google.android.wearable.healthservices

แต่ละกิจกรรมจะมีค่าที่ตั้งไว้ล่วงหน้าสำหรับเมตริกที่รองรับ

กิจกรรม อัตราการเต้นของหัวใจ ความเร็วโดยเฉลี่ย การเปลี่ยนแปลงระดับความสูง ใช้ตำแหน่ง
เดิน 120 bpm 1.4 ม./วินาที 20.0 ม./นาที true
วิ่ง 170 bpm 2.3 ม./วินาที 20.0 ม./นาที true
เดินทางไกล 150 bpm 1.3 ม./วินาที 20.0 ม./นาที true
ว่ายน้ำ 150 bpm 1.6 ม./วินาที 0.0 ม./นาที true
วิ่งบนลู่วิ่ง 160 bpm 2.3 ม./วินาที 20.0 ม./นาที เท็จ

หยุด

หากต้องการหยุดกิจกรรมสังเคราะห์ ให้ใช้คำสั่งต่อไปนี้

adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices

กำหนดเอง

หากต้องการควบคุมเมตริกที่จะสร้างได้อย่างแม่นยำยิ่งขึ้น ให้เริ่มกิจกรรมการออกกำลังกายที่กำหนดเอง โดยใช้สตริงการดำเนินการ whs.synthetic.user.START_EXERCISE ระบุชุดค่าผสมของแฟล็กต่อไปนี้

  • --ei exercise_options_duration_secs <int>: ระยะเวลาของการออกกำลังกายเป็นวินาที ค่าเริ่มต้น: 0
  • --ei exercise_options_heart_rate <int>: อัตราการเต้นของหัวใจเป็นครั้งต่อนาที ปานกลาง: 70
  • --ef exercise_options_average_speed <float>: ความเร็วเฉลี่ยเป็นเมตรต่อวินาที นอกจากนี้ ยังส่งผลต่อจำนวนก้าวต่อนาทีหรือรอบขาด้วย ค่าเริ่มต้น: 0
  • --ez exercise_options_use_location <boolean>: ว่าจะปล่อยข้อมูลตำแหน่งระหว่างออกกำลังกายโดยใช้เส้นทางเริ่มต้นหรือไม่ ค่าเริ่มต้น: false
  • --ef exercise_options_max_elevation_rate <float>: อัตราการเปลี่ยนแปลงระดับความสูงสูงสุดที่เป็นไปได้ในหน่วยเมตรต่อนาที ค่าเริ่มต้น: 0

เช่น ตั้งค่าตัวเลือกการออกกำลังกายดังนี้

adb shell am broadcast \
-a "whs.synthetic.user.START_EXERCISE" \
--ei exercise_options_heart_rate 90 \
--ef exercise_options_average_speed 1.2 \
--ez exercise_options_use_location true \
com.google.android.wearable.healthservices

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

# enable synthetic mode and enable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation true \
com.google.android.wearable.healthservices

# enable synthetic mode and disable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation false \
com.google.android.wearable.healthservices

สถานะและเหตุการณ์อื่นๆ

สถานะการนอนหลับ

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

หากต้องการเข้าสู่สถานะหลับ ให้เรียกใช้คำสั่งต่อไปนี้

adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices

หากต้องการเข้าสู่สถานะตื่น ให้เรียกใช้คำสั่งต่อไปนี้

adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices

การตรวจจับการตกกระแทก

หากต้องการจำลองการล้ม ให้เรียกใช้คำสั่งต่อไปนี้

adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices

บริการด้านสุขภาพอาจใช้เวลาถึง 1 นาทีในการส่งเหตุการณ์การล้ม