Sesiones

Permiten que los usuarios vean de forma rápida y sencilla una lista de todas las actividades principales que realizaron. Aparecen en la página del diario de la app de Google Fit. Por ejemplo, una sesión de respiración, una caminata, una carrera o una noche de sueño son ejemplos de una sesión.

Las sesiones agrupan conjuntos de datos de un período específico que se recopilaron durante una actividad. Por ejemplo, si un usuario realizó un seguimiento cuando comenzó y terminó una carrera de 3 km, se podría crear una sesión y todos los datos de entrenamiento que estén dentro de ese período (como pasos, velocidad o distancia) se asociarán con esa sesión.

Las sesiones no contienen detalles sobre la actividad. Esto está en el conjunto de datos. Las sesiones tienen las siguientes propiedades:

  • Un nombre descriptivo y amigable (por ejemplo, "correr matutino")
  • Una descripción.
  • Un identificador único
  • El tipo de actividad que está capturando (por ejemplo, una carrera).

Beneficios de usar sesiones

  • Útiles para los usuarios: Las sesiones te ayudan a organizar los datos de actividad y los entrenamientos de manera significativa para los usuarios. Puede ver todas sus actividades del día en la página de diario en la aplicación Google Fit.
  • Experiencia del usuario coherente: Si tu app o dispositivo complementario permiten el seguimiento de actividades (donde los usuarios pueden iniciar y detener una actividad), tener sesiones para estos entrenamientos permite a los usuarios ver su actividad en ambas apps.
  • Datos más completos: Google Fit también combina datos de varias fuentes para complementar y enriquecer la información de tu sesión. Esto les brinda a los usuarios un panorama más completo de su actividad.
  • Aprovechar la plataforma de Google Fit: Si los usuarios no realizan un seguimiento de su actividad o tu app no admite el seguimiento, puedes leer las sesiones en Google Fit. Puedes consultar datos detallados o agregados en un gimnasio y encontrar sesiones disponibles, sin necesidad de implementar tu propio esquema ni almacenamiento.
  • Mayor participación de los usuarios: Puedes mostrar las sesiones disponibles a tus usuarios y las apps que las crearon. Interactuar con otras apps de fitness de esta manera podría aumentar la participación de tus usuarios.

Cómo obtener la autorización del usuario para las sesiones

Si deseas leer o escribir sesiones, tu app debe obtener el permiso del usuario. El acceso a las sesiones usa los mismos permisos de autorización que los tipos de datos, por lo que debes solicitarlo de la siguiente manera:

Android

Especifica el tipo de sesión a la que debe acceder tu app con los métodos correspondientes de FitnessOptions. Por ejemplo, para leer sesiones relacionadas con correr, puedes elegir lo siguiente:

    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()

En este ejemplo, se especifica que tu app desea acceder a los metadatos de la sesión de actividad y los tipos de datos que desea leer dentro de esas sesiones. En este ejemplo, se usan los tipos de datos de frecuencia cardíaca, velocidad y ubicación.

REST

Solicita los permisos de la siguiente manera:

  • Sesiones con tipos de actividad de sueño:
    • https://www.googleapis.com/auth/fitness.sleep.read
    • https://www.googleapis.com/auth/fitness.sleep.write
  • Todas las demás sesiones:
    • https://www.googleapis.com/auth/fitness.activity.read
    • https://www.googleapis.com/auth/fitness.activity.write

Usa sesiones

Android

Puedes usar la API de Sessions para lo siguiente:

  • Crea sesiones en tiempo real
  • Insertar sesiones en la tienda de entrenamiento
  • Inserta segmentos de actividad para permitir las pausas durante los entrenamientos
  • Leer sesiones y conjuntos de datos asociados con ellas
  • Iniciar otra app para mostrar información sobre una sesión que creó
  • Cómo recibir un intent cuando otra app inicie una sesión

REST

Puedes usar la API de Sessions para lo siguiente:

  • Crea sesiones en tiempo real
  • Insertar sesiones en la tienda de entrenamiento
  • Inserta segmentos de actividad para permitir las pausas durante los entrenamientos
  • Leer sesiones y conjuntos de datos asociados con ellas

Cómo interactúan los conjuntos de datos y los segmentos con las sesiones

En Google Fit:

  • Un conjunto de datos representa un conjunto de datos de una fuente de datos en particular durante un período específico. Los conjuntos de datos se pueden insertar por sí solos. Sin embargo, si creas una sesión, podría ser más fácil crear la sesión y sus conjuntos de datos juntos.
  • Un segmento agrupa los conjuntos de datos en una sesión según la actividad exacta que el usuario estaba realizando en esa sesión. Por ejemplo, si el usuario hace un seguimiento de una carrera de 30 minutos (la sesión), pero caminó durante un tiempo durante este, se puede dividir en segmentos. Habrá un segmento para la carrera, luego la pausa para caminar y, luego, la carrera de nuevo.
Figura 1: Diferentes apps agregan sesiones y conjuntos de datos a [gimnasio].

En la Figura 1, se muestra un intervalo de tiempo en el gimnasio durante el cual las apps A, B y C insertaron algunos conjuntos de datos y sesiones:

  • La app A insertó los conjuntos de datos A1 y A2 junto con las sesiones 1 y A3 independientemente de las sesiones.
  • La app B insertó los conjuntos de datos B1 y B2 junto con la Sesión 2.
  • La App C insertó el conjunto de datos C1 independientemente de cualquier sesión.

Cuando lees los datos de la sesión de un gimnasio, todos los datos de entrenamiento que se encuentran dentro del intervalo de tiempo de una sesión se asocian automáticamente con esa sesión, incluso si insertas los datos después de crearla o creas una sesión después de que se hace un seguimiento pasivo de los datos. Por ejemplo, una consulta de datos de entrenamiento de la Sesión 1 mostraría el siguiente resultado:

  • Conjunto de datos A1
  • Conjunto de datos A2
  • La parte del conjunto de datos A3 entre t1 y t2
  • La parte del conjunto de datos C1 entre t1 y t2

Puedes saber qué app insertó cada sesión y conjunto de datos.

Crea sesiones

Las sesiones se pueden crear de diferentes maneras:

  • Tu app puede crear una sesión de forma activa en cualquiera de los siguientes casos:
    • En tiempo real, cuando un usuario realiza un seguimiento activo de una actividad en un dispositivo (solo en Android)
    • Para ello, debes insertarlo manualmente.
  • Cuando un usuario agrega manualmente un entrenamiento o una actividad en la app de Google Fit.

Cuándo crear una sesión

¿Estás agregando datos de sueño?

  • Yes: Crea una sesión y, luego, insértala manualmente en la tienda de entrenamiento. Por ejemplo, mediante la inserción de una sesión de sueño. Esto se debe a que los usuarios con apps o dispositivos de seguimiento de sueño no interactuarán con los dispositivos para iniciar y detener su actividad de sueño (se hace un seguimiento pasivo de esto).
  • No, ¿tu app permite que los usuarios inicien y detengan actividades?

Sesiones de lectura

Tu app puede leer sesiones de varias maneras:

  • Buscar una sesión específica que haya creado o insertado
    • Nombre o
    • ID
  • Buscar todas las sesiones que creó o insertó, por período
  • Buscar todas las sesiones disponibles creadas por todas las apps (incluida Google Fit) por período

Descubre qué fuentes crearon una sesión

Puedes mostrar a tus usuarios qué app o dispositivo creó cada una de sus sesiones. Cada sesión tiene una fuente de datos asociada, que incluye información sobre la app o el dispositivo que recopiló o transformó los datos.

Android

Actualmente, solo puedes obtener el nombre del paquete de una sesión escrita por un cliente de Android. Para obtener el nombre del paquete de la app que creó una sesión, usa el método getAppPackageName. Puedes usar esta información en tu app para mostrarles a los usuarios qué otras apps insertaron sesiones de entrenamiento. Puedes mostrar el ícono de cada una de estas apps para ayudar a los usuarios a identificarlas.

También puedes activar un intent para iniciar otras apps a fin de mostrar detalles de las sesiones que crearon. Otras apps también pueden activar un intent para iniciar la tuya.

Obtén más información para encontrar la fuente que creó una sesión.

REST

Si deseas obtener el nombre del paquete de la app para Android que creó las sesiones, usa la propiedad session.application. Para las sesiones que se crearon con la API de REST, usa la propiedad session.name en su lugar. Puedes usar esta información en tu app para mostrarles a los usuarios qué otras apps insertaron sesiones de entrenamiento. Puedes mostrar el ícono de cada una de estas apps para ayudar a los usuarios a identificarlas.

Obtén más información para encontrar la fuente que creó una sesión.