Développer des expériences de pas avec l'API Google Health

L'API Google Health suit les pas de l'utilisateur et les données d'activité à l'aide du type de données d'intervalle steps. Le nombre de pas représente une mesure fondamentale de l'activité physique quotidienne. Il aide les développeurs à suivre les progrès en matière de remise en forme, à calculer la dépense énergétique et à créer des résumés d'activité quotidienne visibles par l'utilisateur.

Découvrez comment lire et structurer les métriques de nombre de pas dans votre application pour offrir la meilleure expérience à vos utilisateurs.

Types de données acceptés

L'API est compatible avec le type de données suivant pour le suivi du nombre de pas :

Tableau : Types de données de pas de l'API Google Health
Type de données
  dataType
  filter paramètre
Type d'enregistrement
Opérations disponibles
Champ d'application Compatibilité avec les Webhooks
Compatibilité avec les vrais zéros
Pas
  steps
  steps
Intervalle list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly

Les sections suivantes fournissent des informations techniques sur le type de données steps, y compris des exemples de représentation REST et des consignes d'intégration.

Niveaux d'accès requis

Pour accéder à ce type de données, votre application doit demander les niveaux d'accès OAuth suivants :

  • À lire : https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly
  • Écriture : https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly

Consignes

Lorsque vous intégrez le suivi des pas dans votre application, suivez ces consignes de conception et d'implémentation.

Aperçu quotidien

Pour agréger avec précision le nombre de pas quotidiens lors de voyages, de changements de fuseau horaire ou de passage à l'heure d'été, n'effectuez pas de calculs de durée côté client. Interrogez plutôt le point de terminaison dailyRollUp, qui corrige automatiquement les écarts de données physiques à l'aide des décalages UTC. Le cumul renvoie un StepsRollupValue contenant le champ countSum, qui représente le nombre total de pas accumulés pour le jour demandé.

Dessin d'interfaces utilisateur (réconciliation)

Lorsque vous créez des éléments d'interface utilisateur pour afficher les données de pas, utilisez le point de terminaison reconcile. Si plusieurs sources de données (comme une montre connectée et un téléphone mobile) ont enregistré des pas en même temps, le point de terminaison reconcile résout les conflits et fusionne les flux pour renvoyer un seul flux de données réconcilié.

Suivi et histogrammes intrajournaliers

Pour afficher l'activité détaillée de l'utilisateur tout au long de la journée (par exemple, des graphiques) :

  • Histogrammes de pas par heure : interrogez le point de terminaison rollUp, en spécifiant la durée (par exemple, 3600s pour 1 heure) à l'aide du paramètre windowSize.
  • Tous les enregistrements de pas : utilisez le point de terminaison list pour récupérer les enregistrements de pas bruts les plus précis.

Les points de terminaison rollUp et reconcile acceptent le paramètre de requête dataSourceFamily, ce qui vous permet de filtrer les données de groupes de sources spécifiques.

Synchronisation en temps réel à l'aide de Webhooks

Abonnez-vous à la collection de types de données steps pour être averti en temps réel lorsque de nouvelles données de pas sont importées ou synchronisées. Au lieu d'interroger les points de terminaison REST, mettez à jour dynamiquement les tableaux de bord côté client en réponse à ces notifications de Webhook. Pour savoir comment configurer des abonnements, consultez Abonnements Webhook.

Gérer les vrais zéros

L'API Google Health implémente de vrais zéros pour résoudre les intervalles sédentaires. Si un utilisateur est actif ou porte un tracker, mais ne marche pas, le tracker écrit des intervalles de pas explicites avec un count de "0". Cela vous permet de faire la distinction entre les périodes où un utilisateur n'a pas fait de pas alors qu'il portait l'appareil et celles où il ne le portait pas du tout. Pour en savoir plus, consultez le guide Présence des données et vrais zéros pour plus de détails.