Сеансы — это способ быстро и легко просмотреть список всех основных действий, которые они совершили. Они появляются на странице журнала приложения Google Fit. Например, сеанс дыхания, прогулка, пробежка или ночной сон являются примерами сеанса.
Сессии группируют наборы данных за определенный период времени, собранные во время действия. Например, если пользователь отслеживал, когда он начал и закончил пробежку на 3 км, можно создать сеанс, и все данные о фитнесе за этот период времени (например, шаги, скорость, расстояние) будут связаны с этим сеансом.
Сами сеансы не содержат подробностей о деятельности. Это есть в наборе данных. Сессии имеют следующие свойства:
- Описательное, понятное имя (например, «утренняя пробежка»).
- Описание
- Уникальный идентификатор
- Тип активности, которую он фиксирует (например, пробежка).
Преимущества использования сеансов
- Полезно для пользователей : сеансы помогают организовать данные об активности и тренировках таким образом, чтобы они были понятны пользователям. Они могут видеть все свои действия за день на странице журнала в приложении Google Fit.
- Согласованное взаимодействие с пользователем . Если ваше приложение или сопутствующее устройство позволяют отслеживать активность (когда пользователи могут начинать и останавливать активность), наличие сеансов для этих тренировок позволяет пользователям видеть свою активность в обоих приложениях.
- Более полные данные . Google Fit также объединяет данные из нескольких источников, чтобы дополнить и обогатить информацию о вашем сеансе. Это дает пользователям более полную картину своей деятельности.
- Используйте платформу Google Fit . Если ваши пользователи не отслеживают свою активность или ваше приложение не поддерживает отслеживание, вы все равно можете читать сеансы в Google Fit. Вы можете запрашивать подробные или агрегированные данные из фитнес-магазина и находить доступные сеансы без необходимости реализации собственной схемы и хранилища.
- Повышение вовлеченности пользователей . Вы можете показывать пользователям доступные сеансы и приложения, которые их создали. Такое взаимодействие с другими фитнес-приложениями может повысить вовлеченность пользователей.
Получение авторизации пользователя для сеансов
Если вы хотите читать или записывать сеансы, ваше приложение должно получить разрешение пользователя. Доступ к сеансам использует те же области авторизации , что и типы данных, которые следует запрашивать следующим образом:
Андроид
Укажите, к какому типу сеанса необходимо получить доступ вашему приложению, используя соответствующие методы из FitnessOptions
. Например, чтобы прочитать сеансы, связанные с бегом, вы можете выбрать:
val fitnessOptions = FitnessOptions.builder()
.accessActivitySessions(FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_HEART_RATE_BPM, FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_SPEED, FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_LOCATION_SAMPLE, FitnessOptions.ACCESS_READ)
.build()
В этом примере указывается, что вашему приложению требуется доступ к метаданным сеанса активности, а также указываются типы данных, которые оно хочет читать в этих сеансах; В этом примере используются типы данных о частоте пульса, скорости и местоположении.
ОТДЫХ
Области запроса следующие:
- Сеансы с типами активности сна:
-
https://www.googleapis.com/auth/fitness.sleep.read
-
https://www.googleapis.com/auth/fitness.sleep.write
-
- Все остальные сеансы:
-
https://www.googleapis.com/auth/fitness.activity.read
-
https://www.googleapis.com/auth/fitness.activity.write
-
Использование сеансов
Андроид
Вы можете использовать API сеансов, чтобы:
- Создавайте сеансы в реальном времени
- Вставьте тренировки в фитнес-магазин
- Вставляйте сегменты активности, чтобы поддерживать паузы во время тренировок.
- Чтение сеансов и наборов данных, связанных с ними
- Запустите другое приложение, чтобы отобразить информацию о созданном им сеансе.
- Получение намерения, когда другое приложение начинает сеанс
ОТДЫХ
Вы можете использовать API сеансов, чтобы:
- Создавайте сеансы в режиме реального времени
- Вставьте тренировки в фитнес-магазин
- Вставляйте сегменты активности, чтобы поддерживать паузы во время тренировок.
- Чтение сеансов и наборов данных, связанных с ними
Как наборы данных и сегменты взаимодействуют с сеансами
В Google Fit:
- Набор данных представляет собой набор точек данных из определенного источника данных за определенный период времени . Наборы данных можно вставлять самостоятельно. Но если вы создаете сеанс, возможно, будет проще создать сеанс и его наборы данных вместе.
- Сегмент группирует наборы данных в сеансе по точному действию, которое пользователь выполнял в сеансе. Например, если пользователь отслеживает 30-минутную пробежку (сессию), но во время нее некоторое время ходил, это можно разбить на сегменты. Был сегмент бега, затем перерыв в ходьбе, затем снова бег.
![](https://developers.google.cn/static/fit/images/timeline.png?authuser=0000&hl=ru)
На рис. 1 показан интервал времени в фитнес-магазине , в течение которого приложения A, B и C вставили некоторые наборы данных и сеансы:
- Приложение A вставило наборы данных A1 и A2 вместе с сеансом 1 и A3 независимо от каких-либо сеансов.
- Приложение B вставило наборы данных B1 и B2 вместе с сеансом 2.
- Приложение C вставило набор данных C1 независимо от каких-либо сеансов.
При чтении данных сеанса из фитнес-магазина все данные о фитнесе, попадающие в интервал времени сеанса, автоматически связываются с этим сеансом, даже если вы вставляете данные после создания сеанса или создаете сеанс после пассивного отслеживания данных. Например, запрос данных о фитнесе из сеанса 1 вернет:
- Набор данных A1
- Набор данных A2
- Часть набора данных A3 между t1 и t2
- Часть набора данных C1 между t1 и t2
Вы можете узнать, какое приложение вставило каждый сеанс и набор данных.
Создание сеансов
Сеансы можно создавать несколькими способами:
- Ваше приложение может активно создавать сеанс в любом
- в режиме реального времени , когда пользователь активно отслеживает действия на устройстве (только для Android) или
- вставив его вручную .
- Когда пользователь вручную добавляет тренировку или занятие в приложение Google Fit.
Когда создавать сеанс
Вы добавляете данные о сне?
- Да . Создайте сеанс и вручную вставьте его в фитнес-магазин. Например, вставка сеанса сна . Это связано с тем, что пользователи с приложениями или устройствами для отслеживания сна не будут взаимодействовать с устройствами, чтобы начать и остановить активность сна (это отслеживается пассивно).
- Нет . Позволяет ли ваше приложение пользователям начинать и останавливать действия?
- Нет – не создавать сеанс. Добавляйте наборы данных только из вашего приложения.
- Да . С помощью API Android создайте сеанс в режиме реального времени , если пользователи отслеживают свою активность, или вручную . С помощью REST API создайте сеанс и вручную вставьте его в фитнес-магазин .
- Может ли ваше приложение более детально определять, когда пользователь выполняет различные действия (например, ходьба или бег)?
- Да – Добавить сегменты.
- Нет – добавлять только наборы данных . Пока игнорируйте сегменты и позвольте Google Fit пассивно создавать их.
Сеансы чтения
Ваше приложение может читать сеансы несколькими способами:
- Найдите конкретный сеанс, который он создал/вставил.
- Имя или
- ИДЕНТИФИКАТОР
- Найдите все созданные/вставленные сеансы по периоду времени.
- Найдите все доступные сеансы, созданные всеми приложениями (включая Google Fit), по периоду времени.
Узнайте, из каких источников был создан сеанс
Вы можете показать своим пользователям, какое приложение или устройство создало каждый из их сеансов. Каждый сеанс имеет связанный источник данных, в котором содержится информация о приложении или устройстве, которое собрало или преобразовало данные.
Андроид
В настоящее время вы можете получить только имя пакета сеанса, написанного клиентом Android. Чтобы получить имя пакета приложения, создавшего сеанс, используйте метод getAppPackageName
. Вы можете использовать эту информацию в своем приложении, чтобы показывать пользователям, какие другие приложения добавили занятия фитнесом. Вы можете показать значок каждого из этих приложений, чтобы пользователи могли их идентифицировать.
Вы также можете запустить намерение запустить другие приложения, чтобы отобразить подробную информацию о созданных ими сеансах. Другие приложения также могут активировать намерение запустить ваше приложение.
Узнайте больше о поиске источника, создавшего сеанс .
ОТДЫХ
Чтобы получить имя пакета приложения Android, создавшего сеансы, используйте свойство session.application
. Для сеансов, созданных с использованием REST API, вместо этого используйте свойство session.name
. Вы можете использовать эту информацию в своем приложении, чтобы показывать пользователям, какие другие приложения добавили занятия фитнесом. Вы можете показать значок каждого из этих приложений, чтобы пользователи могли их идентифицировать.
Узнайте больше о поиске источника, создавшего сеанс .