พัฒนาประสบการณ์การใช้งานขั้นตอนต่างๆ ด้วย Google Health API

Google Health API จะติดตามข้อมูลจำนวนก้าวและข้อมูลกิจกรรมของผู้ใช้โดยใช้stepsประเภทข้อมูลช่วงเวลา จำนวนก้าวเป็นตัวชี้วัดพื้นฐานของกิจกรรมทางกายในแต่ละวัน ซึ่งช่วยให้นักพัฒนาแอปติดตามความคืบหน้าด้านฟิตเนส คำนวณการใช้พลังงาน และสร้างสรุปกิจกรรมประจำวันสำหรับผู้ใช้

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

ประเภทข้อมูลที่รองรับ

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

ตาราง: ประเภทข้อมูลของขั้นตอนใน Google Health API
ประเภทข้อมูล
การดำเนินการที่ใช้ได้
ขอบเขต
ขั้นตอน
dataType: steps
พารามิเตอร์ตัวกรอง: steps
ประเภทบันทึก: ช่วงเวลา
ความละเอียดของพื้นที่เก็บข้อมูล: 1 นาที

อุปกรณ์ที่เข้ากันได้

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly

หลักเกณฑ์

เมื่อผสานรวมการติดตามจำนวนก้าวเข้ากับแอป ให้ทำตามหลักเกณฑ์การออกแบบและการใช้งานต่อไปนี้

การคำนวณความเร็วและเพซ

Google Health API ใช้สูตรมาตรฐานในการคำนวณความเร็วและฝีเท้า ดังนี้

  • ความเร็ว = distance / time(hour)
  • เพซ = time(seconds) / distance

ส่วนหัว Accept-Language ที่ระบุในคำขอจะกำหนดหน่วยของ ระยะทาง

ภาพรวมรายวัน

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

การวาดอินเทอร์เฟซผู้ใช้ (การกระทบยอด)

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

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

การติดตามระหว่างวันและฮิสโตแกรม

หากต้องการแสดงกิจกรรมของผู้ใช้โดยละเอียดตลอดทั้งวัน (เช่น แผนภูมิและกราฟ) ให้ทำดังนี้

  • ฮิสโทแกรมของจำนวนก้าวต่อชั่วโมงหรือต่อนาที: ส่งคำค้นหาไปยังปลายทาง rollUp โดยระบุระยะเวลา (เช่น 60s สำหรับ 1 นาที หรือ 3600s สำหรับ 1 ชั่วโมง) โดยใช้พารามิเตอร์ windowSize เนื่องจากระบบจะบันทึกข้อมูลจำนวนก้าวในช่วงเวลา 1 นาที (60s) ให้ตั้งค่า windowSize เป็นอย่างน้อย 60s คำขอที่มีขนาดหน้าต่างน้อยกว่า 1 นาที (เช่น 10s หรือ 30s) จะไม่แบ่งยอดรวมของแต่ละนาที แต่จะวางจำนวนเต็มของนาทีนั้นลงในถังย่อยแรกที่ตรงกัน โปรดดูรายละเอียดที่ ขนาดหน้าต่างการสรุปและความละเอียดของพื้นที่เก็บข้อมูลพื้นฐาน
  • บันทึกขั้นตอนทั้งหมด: ใช้ปลายทาง list เพื่อดึงข้อมูลบันทึกขั้นตอนแบบดิบที่มีรายละเอียดมากที่สุด

ปลายทาง rollUp, dailyRollUp และ reconcile ยอมรับพารามิเตอร์ dataSourceFamily ซึ่งช่วยให้คุณกรองข้อมูลจากกลุ่มแหล่งที่มาที่เฉพาะเจาะจงได้ ดูรายละเอียดเพิ่มเติมและตัวอย่างการใช้งานได้ที่ส่วน กรองตามตระกูลแหล่งข้อมูล ของคู่มือการกรองข้อมูล

การซิงค์แบบเรียลไทม์โดยใช้ Webhook

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

จัดการค่า 0 ที่แท้จริง

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

ซึ่งจะช่วยให้คุณแยกความแตกต่างระหว่างสิ่งต่อไปนี้ได้

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

ดูรายละเอียดเพิ่มเติมได้ที่คำแนะนำการแสดงข้อมูลและค่า 0 ที่แท้จริง