พัฒนาประสบการณ์การใช้งานขั้นตอนต่างๆ ด้วย 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ประเภทข้อมูลเพื่อรับการแจ้งเตือนแบบเรียลไทม์ เมื่อมีการนำเข้าหรือซิงค์ข้อมูลก้าวเดินใหม่ แทนที่จะสำรวจปลายทาง REST ให้อัปเดตแดชบอร์ดฝั่งไคลเอ็นต์แบบไดนามิกเพื่อตอบสนองต่อการแจ้งเตือน Webhook เหล่านี้ ดูรายละเอียดวิธีกำหนดค่าการสมัครใช้บริการได้ที่ การสมัครใช้บริการ Webhook

จัดการค่า 0 จริง

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

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

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

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