Desarrolla experiencias de pasos con la API de Google Health

La API de Google Health hace un seguimiento de los pasos y los datos de actividad de los usuarios con el tipo de datos de intervalo steps. El recuento de pasos representa una medida fundamental de la actividad física diaria, lo que ayuda a los desarrolladores a hacer un seguimiento del progreso de la actividad física, calcular el gasto de energía y crear resúmenes de actividad diaria para el usuario.

Comprende cómo leer y estructurar las métricas de recuento de pasos en tu aplicación para brindar la mejor experiencia a tus usuarios.

Tipos de datos admitidos

La API admite el siguiente tipo de datos para hacer un seguimiento de los recuentos de pasos:

Tabla: Tipos de datos de pasos de la API de Google Health
Tipo de datos Operaciones de
disponibles
Alcance
Pasos
dataType: steps
filter parameter: steps
Tipo de registro: Intervalo
Resolución de almacenamiento: 1 minuto

Dispositivos compatibles

list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly

Lineamientos

Cuando integres el seguimiento de pasos en tu app, sigue estos lineamientos de diseño e implementación.

Cálculo de velocidad y ritmo

La API de Google Health usa fórmulas estándar para calcular la velocidad y el ritmo:

  • Velocidad = distance / time(hour)
  • Ritmo = time(seconds) / distance

El encabezado Accept-Language especificado en la solicitud determina la unidad de distancia.

Resumen diario

Para agregar recuentos de pasos diarios con precisión en viajes, cambios de zona horaria o horario de verano, no realices cálculos de duración del cliente. En su lugar, consulta el extremo dailyRollUp, que concilia las brechas de datos físicos automáticamente con las compensaciones de UTC. El resumen devuelve un StepsRollupValue que contiene el campo countSum, que representa el total de pasos acumulados para el día solicitado. Para obtener más detalles, consulta Agrega datos en días calendario en la guía de datos agregados.

Cómo dibujar interfaces de usuario (reconciliación)

Cuando compiles elementos de la interfaz de usuario para mostrar datos de pasos, usa el extremo reconcile. Si varias fuentes de datos (como un reloj inteligente y un teléfono celular) registraron pasos al mismo tiempo, el extremo reconcile resuelve los conflictos y combina los flujos para devolver un único flujo de datos conciliado.

Para obtener información sobre cómo controlar los intervalos superpuestos de las sincronizaciones de dispositivos conectados y la mutabilidad de las marcas de tiempo, consulta la guía de administración de datos.

Seguimiento intradía e histogramas

Para mostrar la actividad detallada del usuario durante el día (como gráficos y diagramas), haz lo siguiente:

  • Histogramas de pasos por hora o por minuto: Consulta el extremo rollUp y especifica la duración (como 60s para 1 minuto o 3600s para 1 hora) con el parámetro windowSize. Debido a que los datos de pasos se registran en intervalos de 1 minuto (60s), establece windowSize en, al menos, 60s. Las solicitudes con tamaños de ventana inferiores a un minuto (como 10s o 30s) no dividen los totales de minutos individuales, sino que colocan el recuento de minutos completo en el primer subintervalo coincidente. Para obtener más detalles, consulta Período de resumen y resolución de almacenamiento.
  • Todos los registros de pasos: Usa el extremo list para recuperar los registros de pasos sin procesar más detallados.

Los extremos rollUp, dailyRollUp y reconcile aceptan el parámetro dataSourceFamily, que te permite filtrar datos de grupos de fuentes específicos. Para obtener más detalles y ejemplos de uso, consulta la sección Filtra por familia de fuentes de datos de la guía Filtrar datos.

Sincronización en tiempo real con webhooks

Suscríbete a la colección de tipos de datos steps para recibir notificaciones en tiempo real cuando se importen o sincronicen datos de pasos nuevos. En lugar de sondear los extremos de REST, actualiza los paneles del cliente de forma dinámica en respuesta a estas notificaciones de webhook. Para obtener detalles sobre cómo configurar las suscripciones, consulta Suscripciones de webhook.