Phát triển trải nghiệm về số bước bằng Google Health API

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:

Bảng: Các loại dữ liệu về số bước của Google Health API
Loại dữ liệu
  dataType
  filter tham số
Loại
bản ghi
Các thao tác
có thể thực hiện
Phạm vi Hỗ trợ
webhook
Hỗ trợ
số không thực
Các bước
  steps
  steps
Khoảng thời gian list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly

Các phần sau đây cung cấp thông tin kỹ thuật cho kiểu dữ liệu steps, bao gồm cả ví dụ về biểu thị REST và nguyên tắc tích hợp.

Phạm vi bắt buộc

Để truy cập vào loại dữ liệu này, ứng dụng của bạn phải yêu cầu các phạm vi OAuth sau:

  • Đọc: https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
  • Write (Viết): https://www.googleapis.com/auth/googlehealth.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ổ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ụ: 3600s cho 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ả điểm cuối rollUpreconcile đều chấp nhận tham số truy vấn dataSourceFamily, cho phép bạn lọc dữ liệu từ các nhóm nguồn cụ thể.

Đồ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 hoạt động hoặc đeo thiết bị theo dõi nhưng không đi bộ, thì thiết bị theo dõi sẽ ghi các khoảng thời gian bước rõ ràng với count"0". Điều này giúp bạn phân biệt giữa những khoảng thời gian người dùng không thực hiện bước nào khi đeo thiết bị so với khi họ không đeo thiết bị. 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.