API Google Health отслеживает количество шагов и данные об активности пользователей, используя тип данных «интервал steps . Количество шагов представляет собой фундаментальный показатель ежедневной физической активности, помогая разработчикам отслеживать прогресс в фитнесе, рассчитывать расход энергии и создавать для пользователей сводки ежедневной активности.
Разберитесь, как читать и структурировать метрики подсчета шагов в вашем приложении, чтобы обеспечить наилучшее взаимодействие с пользователями.
Поддерживаемые типы данных
API поддерживает следующие типы данных для отслеживания количества шагов:
Тип данныхdataTypeпараметр filter | Доступный операции | Объем |
|---|---|---|
Шагиstepssteps Тип записи: Интервал Совместимые устройства
| список, сверка, свертка, ежедневная сводка | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
В следующих разделах представлены технические подробности о типе данных steps , включая примеры представления REST-запросов и рекомендации по интеграции.
Требуемые области применения
Для доступа к этому типу данных ваше приложение должно запросить следующие области действия OAuth:
- Читайте :
https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly - Написать :
https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly
Руководящие принципы
При интеграции функции отслеживания шагов в ваше приложение следуйте этим рекомендациям по проектированию и внедрению.
Ежедневный обзор
Для точного суммирования ежедневного количества шагов с учетом поездок, смены часовых поясов или перехода на летнее время не выполняйте вычисления продолжительности на стороне клиента. Вместо этого запросите конечную точку dailyRollUp , которая автоматически устраняет пробелы в физических данных, используя смещения UTC. Сводные данные возвращают объект StepsRollupValue , содержащий поле countSum , представляющее общее количество накопленных шагов за запрошенный день.
Разработка пользовательских интерфейсов (согласование)
При создании элементов пользовательского интерфейса для отображения данных о шагах используйте конечную точку reconcile . Если несколько источников данных (например, умные часы и мобильный телефон) одновременно записывают шаги, конечная точка reconcile разрешает конфликты и объединяет потоки, возвращая единый согласованный поток данных.
Внутридневное отслеживание и гистограммы
Для отображения подробной информации об активности пользователей в течение дня (например, в виде диаграмм и графиков):
- Почасовые гистограммы: запросите конечную точку
rollUp, указав длительность (например,3600sдля 1 часа) с помощью параметраwindowSize. - Все записи о шагах: используйте конечную точку
listдля получения наиболее подробных, необработанных записей о шагах.
Как конечные точки rollUp , так и reconcile принимают параметр запроса dataSourceFamily , что позволяет фильтровать данные из определенных групп источников.
Синхронизация в реальном времени с использованием веб-хуков.
Подпишитесь на сбор данных о steps , чтобы получать уведомления в режиме реального времени об импорте или синхронизации новых данных о шагах. Вместо опроса REST-конечных точек, обновляйте панели мониторинга на стороне клиента динамически в ответ на эти уведомления веб-перехватчиков. Подробную информацию о настройке подписок см. в разделе «Подписки на веб-перехватчики» .
Обработка истинных нулей
API Google Health использует истинные нули для определения периодов малоподвижного образа жизни. Если пользователь носит трекер, но не ходит в течение заданного периода, API возвращает запись за этот интервал, содержащую обычные метаданные источника данных и временной метки, но без свойства count .
Это позволяет различать:
- Периоды неподвижного ношения устройства на запястье: пользователь носит устройство, но не ходит. В этом случае возвращаются записи без свойства
count(интерпретируются как ноль шагов). - Периоды без ношения устройства: пользователь не носит устройство. В этом случае запись отсутствует, что приводит к большим пробелам в данных.
Для получения более подробной информации обратитесь к руководству по наличию данных и истинным нулям .