Разработка интерактивных схем с использованием API Google Health.

API Google Health отслеживает количество шагов и данные об активности пользователей, используя тип данных «интервал steps . Количество шагов представляет собой фундаментальный показатель ежедневной физической активности, помогая разработчикам отслеживать прогресс в фитнесе, рассчитывать расход энергии и создавать для пользователей сводки ежедневной активности.

Разберитесь, как читать и структурировать метрики подсчета шагов в вашем приложении, чтобы обеспечить наилучшее взаимодействие с пользователями.

Поддерживаемые типы данных

API поддерживает следующие типы данных для отслеживания количества шагов:

Таблица: Типы данных шагов в Google Health API
Тип данных
dataType
параметр filter
Доступный
операции
Объем
Шаги
steps
steps
Тип записи: Интервал

Совместимые устройства

список, сверка, свертка, ежедневная сводка .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 (интерпретируются как ноль шагов).
  • Периоды без ношения устройства: пользователь не носит устройство. В этом случае запись отсутствует, что приводит к большим пробелам в данных.

Для получения более подробной информации обратитесь к руководству по наличию данных и истинным нулям .