Дано:
Приложение собирает данные о шагах/расстоянии с фирменного фитнес-трекера. Эти данные разбиты на почасовые сеансы - например. «Сеанс 4:00–5:00, XX шагов, YY км».
Я хочу добиться согласованной передачи данных: Приложение -> API фитнеса (Google Fit, Health Kit), то есть: если API фитнеса уже имеет сеанс 4: 00-5:00 с шагом ZZ, потом данные как-то объединяются.
Очевидные проблемы возникают, если рассмотреть ситуацию: Трекер 1 привязан к приложению, Трекер 2 привязан напрямую к Fitness API, и пользователь носит оба одновременно. Затем два трекера имеют пересекающиеся промежутки времени с разными данными (например, 400 шагов на трекере 1, 720 шагов на трекере 2).
Вопросы:
- Как Google Fit/Health Kit объединяет точки данных с одинаковым/пересекающимся временным интервалом (в моем случае 4:00–5:00)? Это «всегда добавлять», даже если происходит перекрытие?
- Существуют ли какие-либо задокументированные подходы к выполнению такой синхронизации? Я бы очень приветствовал любую информацию, даже абстрактную стратегию синхронизации.
- Лучше ли вставлять «мгновенные» данные в Fitness API, а не агрегированные вручную (в сеансы)? Например. Я получаю мгновенные данные от Трекера, которые всегда представляют собой «общее количество шагов за текущий день», а затем передаю это количество в Google Fit/Health Kit.
- Если ответ на 3 «да», то будет ли хранилище Fitness автоматически разделять эти моменты на сеансы?