Сессии

Сеансы позволяют пользователям быстро и легко просмотреть список всех основных действий, которые они выполнили. Они отображаются на странице журнала приложения 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

Использование сессий

Андроид

Вы можете использовать Sessions API для:

  • Создавайте сеансы в режиме реального времени
  • Вставка сеансов в фитнес-магазине
  • Вставляйте сегменты активности, чтобы поддерживать паузы во время тренировок
  • Чтение сеансов и связанных с ними наборов данных
  • Запустите другое приложение, чтобы отобразить информацию о созданном им сеансе.
  • Получить намерение, когда другое приложение начинает сеанс

ОТДЫХАТЬ

Вы можете использовать Sessions API для:

  • Создавайте сеансы в режиме реального времени
  • Вставка сеансов в фитнес-магазине
  • Вставляйте сегменты активности, чтобы поддерживать паузы во время тренировок
  • Чтение сеансов и связанных с ними наборов данных

Как наборы данных и сегменты взаимодействуют с сеансами

В Google Fit:

  • Набор данных представляет собой набор точек данных из определенного источника данных за определенный период времени . Наборы данных могут быть вставлены сами по себе. Но если вы создаете сеанс, может быть проще создать сеанс и его наборы данных вместе.
  • Сегмент группирует наборы данных в сеансе в соответствии с действиями, которые пользователь выполнял в сеансе. Например, если пользователь отслеживает 30-минутную пробежку (сессию), но за это время немного ходит, ее можно разбить на сегменты. Будет сегмент для бега, затем перерыв для ходьбы, затем снова бег.
Рис. 1. Различные приложения добавляют сеансы и наборы данных в [фитнес-магазин].

На рисунке 1 показан временной интервал в фитнес-магазине, в течение которого приложения A, B и C вставляли некоторые наборы данных и сеансы:

  • Приложение А вставило наборы данных A1 и A2 вместе с сеансом 1 и A3 независимо от каких-либо сеансов.
  • Приложение B вставило наборы данных B1 и B2 вместе с сеансом 2.
  • Приложение C вставило набор данных C1 независимо от каких-либо сеансов.

При чтении данных о сеансе из хранилища фитнес-данных все данные о фитнесе, которые попадают в интервал времени сеанса, автоматически связываются с этим сеансом, даже если вы вставляете данные после создания сеанса или создаете сеанс после того, как данные были пассивно отслежены. Например, запрос данных о фитнесе из сеанса 1 вернет:

  • Набор данных А1
  • Набор данных А2
  • Часть набора данных A3 между t1 и t2
  • Часть набора данных C1 между t1 и t2

Вы можете определить, какое приложение вставило каждый сеанс и набор данных.

Создание сессий

Сеансы можно создавать несколькими способами:

  • Ваше приложение может активно создавать сеанс в любом
    • в режиме реального времени , когда пользователь активно отслеживает действия на устройстве (только для Android) или
    • вставив его вручную .
  • Когда пользователь вручную добавляет тренировку или занятие в приложение Google Fit.

Когда создавать сеанс

Вы добавляете данные о сне?

  • Да — создайте сеанс и вручную вставьте его в фитнес-магазин. Например, вставка сеанса сна . Это связано с тем, что пользователи с приложениями или устройствами для отслеживания сна не будут взаимодействовать с устройствами для запуска и остановки своей активности во сне (это отслеживается пассивно).
  • Нет . Позволяет ли ваше приложение пользователям запускать и останавливать действия?

Сессии чтения

Ваше приложение может считывать сеансы несколькими способами:

  • Найдите конкретный сеанс, который он создал/вставил
    • Имя или
    • Я БЫ
  • Найдите все сеансы, которые он создал/вставил, по периоду времени.
  • Ищите все доступные сеансы, созданные всеми приложениями (включая Google Fit) по периоду времени.

Узнайте, какие источники создали сеанс

Вы можете показать своим пользователям, какое приложение или устройство создавало каждый из их сеансов. У каждого сеанса есть связанный с ним источник данных, содержащий информацию о приложении или устройстве, которое собирало или преобразовывало данные.

Андроид

В настоящее время вы можете получить только имя пакета сеанса, написанного клиентом Android. Чтобы получить имя пакета приложения, создавшего сеанс, используйте метод getAppPackageName . Вы можете использовать эту информацию в своем приложении, чтобы показать пользователям, какие другие приложения добавили фитнес-сессии. Вы можете отобразить значок для каждого из этих приложений , чтобы помочь пользователям идентифицировать их.

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

Узнайте больше о том, как найти источник, создавший сеанс .

ОТДЫХАТЬ

Чтобы получить имя пакета приложения Android, создавшего сеансы, используйте свойство session.application . Для сеансов, созданных с помощью REST API, вместо этого используйте свойство session.name . Вы можете использовать эту информацию в своем приложении, чтобы показать пользователям, какие другие приложения добавили фитнес-сессии. Вы можете отобразить значок для каждого из этих приложений, чтобы помочь пользователям идентифицировать их.

Узнайте больше о том, как найти источник, создавший сеанс .