Google Health API отслеживает данные о шагах и активности пользователя, используя тип данных steps. Количество шагов – это основной показатель ежедневной физической активности. Он помогает разработчикам отслеживать прогресс в фитнесе, рассчитывать расход энергии и создавать пользовательские сводки ежедневной активности.
Узнайте, как считывать и структурировать показатели количества шагов в приложении, чтобы сделать его максимально удобным для пользователей.
Поддерживаемые типы данных
API поддерживает следующий тип данных для отслеживания количества шагов:
| Тип данных | Доступные операции |
Область действия |
|---|---|---|
|
Шаги
dataType:
stepsfilter parameter: 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. Запросы с размером окна меньше минуты (например,10sили30s) не разбивают общие значения по минутам, а помещают количество за полную минуту в первый подходящий подсегмент. Подробнее об окне свертки и разрешении хранилища… - Все записи о шагах. Используйте конечную точку
list, чтобы получить наиболее подробные необработанные записи о шагах.
Конечные точки rollUp, dailyRollUp и reconcile принимают параметр dataSourceFamily, позволяющий фильтровать данные из определенных групп источников. Дополнительную информацию и примеры использования можно найти в разделе Фильтрация по семейству источников данных руководства по фильтрации данных.
Синхронизация в реальном времени с помощью вебхуков
Подпишитесь на коллекцию типа данных steps, чтобы получать уведомления в реальном времени, когда импортируются или синхронизируются новые данные о шагах. Вместо того чтобы опрашивать конечные точки REST, динамически обновляйте клиентские панели управления в ответ на эти уведомления вебхуков. Подробнее о том, как настроить подписки на вебхуки…