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 est 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 destinés aux utilisateurs.
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 accepte le type de données suivant pour le suivi du nombre de pas :
| Type de données | Opérations disponibles |
Champ d'application |
|---|---|---|
|
Pas
dataType:
stepsfilter parameter: steps
Type d'enregistrement : Intervalle
Appareils compatibles
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.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.
Calcul de la vitesse et de l'allure
L'API Google Health utilise des formules standards pour calculer la vitesse et l'allure :
- Vitesse =
distance / time(hour) - Allure =
time(seconds) / distance
L'en-tête Accept-Language spécifié dans la requête détermine l'unité de distance.
Aperçu quotidien
Pour agréger avec précision le nombre de pas quotidien 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 lacunes dans les données physiques à l'aide des décalages UTC. Le cumul renvoie une StepsRollupValue contenant le champ countSum, qui représente le nombre total de pas accumulés pour le jour demandé.
Dessin d'interfaces utilisateur (rapprochement)
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 rapproché.
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,3600spour 1 heure) à l'aide du paramètrewindowSize. - Tous les enregistrements de pas : utilisez le point de terminaison
listpour récupérer les enregistrements de pas bruts les plus granulaires.
Les points de terminaison rollUp, dailyRollUp et reconcile acceptent le paramètre dataSourceFamily, ce qui vous permet de filtrer les données de groupes de sources spécifiques. Pour en savoir plus et obtenir des exemples d'utilisation, consultez la section
Filtrer et agréger par famille de sources de données
du guide sur les points de terminaison.
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 les tableaux de bord côté client de manière dynamique en réponse à ces notifications de webhook. Pour savoir comment configurer les abonnements, consultez
Abonnements aux webhooks.
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 porte un tracker, mais ne marche pas pendant une période donnée, l'API renvoie un enregistrement pour cet intervalle qui contient la source de données normale et les métadonnées d'horodatage, mais omet la propriété count.
Cela vous permet de faire la distinction entre :
- Périodes stationnaires au poignet : l'utilisateur porte l'appareil, mais ne marche pas. Cela renvoie des enregistrements sans la propriété
count(interprétée comme zéro pas). - Périodes sans l'appareil au poignet : l'utilisateur ne porte pas l'appareil. Cela ne renvoie aucun enregistrement, ce qui entraîne de grandes lacunes dans les données.
Pour en savoir plus, consultez le guide Présence des données et vrais zéros pour plus de détails.