Google Health API theo dõi số bước và dữ liệu hoạt động của người dùng bằng cách sử dụng loại dữ liệu khoảng thời gian steps. Số bước là một chỉ số cơ bản về hoạt động thể chất hằng ngày, giúp nhà phát triển theo dõi tiến trình tập luyện, tính toán mức tiêu hao năng lượng và tạo bản tóm tắt hoạt động hằng ngày cho người dùng.
Tìm hiểu cách đọc và cấu trúc các chỉ số về số bước trong ứng dụng để mang lại trải nghiệm tốt nhất cho người dùng.
Các loại dữ liệu được hỗ trợ
API này hỗ trợ kiểu dữ liệu sau đây để theo dõi số bước:
| Loại dữ liệu | Các thao tác có thể thực hiện |
Phạm vi |
|---|---|---|
|
Các bước
dataType:
stepstham số bộ lọc: steps
Loại bản ghi: Khoảng thời gian
Thiết bị tương thích
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Nguyên tắc
Khi tích hợp tính năng theo dõi bước vào ứng dụng, hãy tuân theo các nguyên tắc thiết kế và triển khai này.
Tính tốc độ và nhịp độ
Google Health API sử dụng các công thức tiêu chuẩn để tính tốc độ và nhịp độ:
- Tốc độ =
distance / time(hour) - Tốc độ =
time(seconds) / distance
Tiêu đề Accept-Language được chỉ định trong yêu cầu sẽ xác định đơn vị khoảng cách.
Tổng quan hằng ngày
Để tổng hợp chính xác số bước đi hằng ngày trong trường hợp đi lại, thay đổi múi giờ hoặc giờ mùa hè, đừng thực hiện tính toán khoảng thời gian phía máy khách. Thay vào đó, hãy truy vấn điểm cuối dailyRollUp để tự động điều chỉnh các khoảng trống dữ liệu thực tế bằng cách sử dụng độ lệch UTC. Dữ liệu tổng hợp trả về một StepsRollupValue chứa trường countSum, biểu thị tổng số bước tích luỹ cho ngày được yêu cầu.
Vẽ giao diện người dùng (Đối chiếu)
Khi tạo các phần tử giao diện người dùng để hiển thị dữ liệu về bước, hãy sử dụng điểm cuối reconcile. Nếu nhiều nguồn dữ liệu (chẳng hạn như đồng hồ thông minh và điện thoại di động) đã ghi lại số bước chân cùng một lúc, thì điểm cuối reconcile sẽ giải quyết các xung đột và hợp nhất các luồng để trả về một luồng dữ liệu duy nhất đã được điều chỉnh.
Theo dõi trong ngày và biểu đồ
Để hiển thị hoạt động chi tiết của người dùng trong suốt cả ngày (chẳng hạn như biểu đồ):
- Biểu đồ tần suất theo giờ: Truy vấn điểm cuối
rollUp, chỉ định khoảng thời gian (ví dụ:3600scho 1 giờ) bằng cách sử dụng tham sốwindowSize. - Tất cả bản ghi số bước: Sử dụng điểm cuối
listđể tìm nạp các bản ghi số bước thô, chi tiết nhất.
Các điểm cuối rollUp, dailyRollUp và reconcile chấp nhận tham số dataSourceFamily, cho phép bạn lọc dữ liệu từ các nhóm nguồn cụ thể. Để biết thêm thông tin chi tiết và ví dụ về cách sử dụng, hãy xem phần Lọc và tổng hợp theo họ nguồn dữ liệu trong hướng dẫn về Điểm cuối.
Đồng bộ hoá theo thời gian thực bằng webhook
Đăng ký bộ sưu tập kiểu dữ liệu steps để nhận thông báo theo thời gian thực khi dữ liệu bước mới được nhập hoặc đồng bộ hoá. Thay vì thăm dò các điểm cuối REST, hãy cập nhật bảng điều khiển phía máy khách một cách linh hoạt để phản hồi những thông báo webhook này. Để biết thông tin chi tiết về cách thiết lập gói thuê bao, hãy xem phần Gói thuê bao webhook.
Xử lý giá trị 0 thực
Google Health API triển khai các giá trị 0 thực để giải quyết các khoảng thời gian ít vận động. Nếu người dùng đang đeo thiết bị theo dõi nhưng không đi bộ trong một khoảng thời gian nhất định, thì API sẽ trả về một bản ghi cho khoảng thời gian đó có chứa siêu dữ liệu thông thường về nguồn dữ liệu và dấu thời gian nhưng bỏ qua thuộc tính count.
Điều này giúp bạn phân biệt giữa:
- Khoảng thời gian không di chuyển khi đeo trên cổ tay: Người dùng đang đeo thiết bị nhưng không đi bộ. Thao tác này sẽ trả về các bản ghi không có thuộc tính
count(được diễn giải là 0 bước). - Khoảng thời gian không đeo thiết bị: Người dùng không đeo thiết bị. Thao tác này sẽ không trả về bản ghi nào, dẫn đến khoảng trống dữ liệu lớn.
Hãy tham khảo hướng dẫn Sự hiện diện của dữ liệu và số 0 thực để biết thêm thông tin chi tiết.