Сеансы

«Сеансы» позволяют пользователям быстро и легко просмотреть список всех основных видов активности, которые они совершили. Они отображаются на странице журнала в приложении Google Fit. Например, дыхательная практика, прогулка, пробежка или ночной сон — это примеры сеансов.

Сессии объединяют наборы данных за определенный период времени, собранные во время активности. Например, если пользователь отслеживал начало и конец забега на 3 км, можно создать сессию, и все данные о физической активности за этот период (например, шаги, скорость, расстояние) будут связаны с этой сессией.

Сами по себе сессии не содержат подробной информации об активности. Эта информация содержится в наборе данных. Сессии обладают следующими свойствами:

  • Описательное, дружелюбное название (например, «утренняя пробежка»).
  • Описание
  • Уникальный идентификатор
  • Тип активности, который фиксируется (например, пробежка).

Преимущества использования сессий

  • Полезно для пользователей : функция «Сессии» помогает систематизировать данные об активности и тренировках в удобном для пользователей виде. Пользователи могут просматривать все свои действия за день на странице «Журнал» в приложении Google Fit.
  • Единый пользовательский интерфейс : если ваше приложение или сопутствующее устройство позволяет отслеживать активность (пользователи могут начинать и останавливать тренировку), наличие сессий для таких тренировок позволяет пользователям видеть свою активность в обоих приложениях.
  • Более полные данные : Google Fit также объединяет данные из нескольких источников, чтобы дополнить и обогатить информацию о вашей сессии. Это дает пользователям более полную картину их активности.
  • Используйте платформу Google Fit : если ваши пользователи не отслеживают свою активность или ваше приложение не поддерживает отслеживание, вы все равно можете считывать данные о сессиях из Google Fit. Вы можете запрашивать подробные или агрегированные данные из фитнес-хранилища и находить доступные сессии, не разрабатывая собственную схему и хранилище.
  • Повышение вовлеченности пользователей : вы можете показывать пользователям доступные занятия и приложения, которые их создали. Такое взаимодействие с другими фитнес-приложениями может повысить вовлеченность пользователей.

Получение авторизации пользователя для сессий

Если вы хотите читать или записывать сессии, ваше приложение должно получить разрешение пользователя. Доступ к сессиям использует те же области авторизации , что и типы данных, и запрос на доступ к ним следует отправлять следующим образом:

Android

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

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

Android

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

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

ОТДЫХ

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

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

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

В Google Fit:

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

На рисунке 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.

Когда создавать сессию

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

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

Чтение

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

  • Найдите конкретную сессию, созданную/вставленную пользователем.
    • Имя или
    • ИДЕНТИФИКАТОР
  • Просмотрите все созданные/добавленные сессии по периодам времени.
  • Найдите все доступные сессии, созданные всеми приложениями (включая Google Fit) по временным периодам.

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

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

Android

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

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

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

ОТДЫХ

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

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