Sesiones

Las sesiones permiten a los usuarios ver con rapidez y facilidad una lista de todas las actividades principales que realizaron. Aparecen en la página de diario de la app de Google Fit. Por ejemplo, una sesión de respiración, una caminata, una carrera o un sueño nocturno 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 realiza 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 se encuentren dentro de ese período (como pasos, velocidad, distancia) se asociarán con esa sesión.

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

  • Un nombre descriptivo y descriptivo (por ejemplo, "ejecución matutina")
  • Una descripción.
  • Un identificador único
  • El tipo de actividad que captura (por ejemplo, una ejecución)

Beneficios de usar sesiones

  • Útil para los usuarios: Las sesiones te ayudan a organizar los datos de la actividad y los entrenamientos de manera significativa. Podrán ver todas sus actividades del día en la página del diario en la app de Google Fit.
  • Experiencia del usuario coherente: Si tu app o dispositivo complementario permite el seguimiento de una actividad (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 los datos de varias fuentes para complementar y enriquecer la información de tu sesión. Esto brinda a los usuarios un panorama más completo de su actividad.
  • Aprovecha la plataforma de Google Fit: Si tus usuarios no realizan un seguimiento de su actividad o tu app no admite el seguimiento, puedes leer sesiones en Google Fit de todos modos. Puedes consultar datos detallados o agregados desde el almacén de entrenamiento y encontrar sesiones disponibles, sin necesidad de implementar tu propio esquema y almacenamiento.
  • Mayor participación de los usuarios: Puedes mostrarles a los usuarios las sesiones disponibles y las apps que los crearon. Interactuar con otras apps de entrenamiento de esta manera podría aumentar la participación de los usuarios.

Obtén la autorización del usuario para las sesiones

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

Android

Especifica a qué tipo de sesión debe acceder tu app, con los métodos apropiados de FitnessOptions. Por ejemplo, para leer sesiones relacionadas con la ejecución, puedes elegir:

    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 quiere acceder a metadatos de sesiones de actividad y también los tipos de datos que quiere leer dentro de esas sesiones. En este ejemplo, se usan los tipos de datos de ritmo cardíaco, 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 hacer lo siguiente:

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

REST

Puedes usar la API de Sessions para hacer lo siguiente:

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

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 específica durante un período específico. Los conjuntos de datos se pueden insertar por su cuenta. Sin embargo, si creas una sesión, puede ser más fácil crear juntos la sesión y sus conjuntos de datos.
  • Un segmento agrupa los conjuntos de datos en una sesión según la actividad exacta que el usuario estaba haciendo en la sesión. Por ejemplo, si el usuario realiza un seguimiento de una ejecución de 30 minutos (la sesión), pero caminó durante un tiempo durante este período, podría dividirse en segmentos. Habrá un tramo para correr, una pausa para caminar y otra vez para correr.
Figura 1: Diferentes aplicaciones agregan sesiones y conjuntos de datos a [tienda de entrenamiento].

En la figura 1, se muestra un intervalo de tiempo en la tienda de entrenamiento 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 la sesión 1 y A3, independientemente de cualquier sesión.
  • 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 se leen los datos de una sesión de la tienda de entrenamiento, todos los datos de entrenamiento que se encuentran dentro del intervalo de una sesión se asocian automáticamente con esa sesión, incluso si insertas los datos después de crear la sesión o creas una sesión después de que los datos se hayan rastreado de forma pasiva. Por ejemplo, una consulta sobre datos de entrenamiento de la sesión 1 mostraría lo siguiente:

  • 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
    • en tiempo real cuando un usuario realiza un seguimiento activo de una actividad en un dispositivo (solo en Android)
    • insertándolo manualmente.
  • Cuando un usuario agrega manualmente un entrenamiento o una actividad en la app de Google Fit.

Cuándo crear una sesión

¿Quieres agregar datos de sueño?

  • : Crea una sesión y, luego, insértala manualmente en la tienda de entrenamiento. Por ejemplo, insertar una sesión de sueño. Esto se debe a que los usuarios que tienen apps o dispositivos de seguimiento de sueño no interactúan con dispositivos para iniciar y detener su actividad de sueño (se registra de forma pasiva).
  • No: ¿Tu app permite que los usuarios inicien y detengan actividades?

Leyendo sesiones

Tu app puede leer sesiones de varias maneras:

  • Busca una sesión específica que haya creado o insertado
    • Nombre o
    • ID
  • Busque 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

Cómo saber qué fuentes crearon una sesión

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

Android

Actualmente, solo puedes obtener el nombre de 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 tu app.

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

REST

Si quieres 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 sobre cómo encontrar la fuente que creó una sesión.