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

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

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

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

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

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

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

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

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

  1. สร้างหรือเปิดอุปกรณ์เสมือน Android (AVD) และเรียกใช้แอปในโปรแกรมจำลอง
  2. ในแผงโปรแกรมจำลอง ให้เลือก Wear Health Services เปิดแผง Wear Health Services แผง Wear Health Services จะเปิดขึ้น โดยแสดงรายการเซ็นเซอร์ที่มี อุปกรณ์ที่ใช้ระบบ 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

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

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

พารามิเตอร์

ประเภทพัตต์สวิง

พัตต์

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

บางส่วน

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

สูงสุด

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

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 ครั้งต่อนาที 1.4 ม./วินาที 20.0 ม./นาที จริง
วิ่ง 170 ครั้งต่อนาที 2.3 ม./วินาที 20.0 ม./นาที จริง
การเดินเขา 150 ครั้งต่อนาที 1.3 ม./วินาที 20.0 ม./นาที จริง
ว่ายน้ำ 150 ครั้งต่อนาที 1.6 ม./วินาที 0.0 ม./นาที จริง
วิ่งบนลู่วิ่ง 160 ครั้งต่อนาที 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 นาทีกว่าจะเกิดเหตุการณ์ฤดูใบไม้ร่วง