Sviluppare esperienze di passi con l'API Google Health

L'API Google Health monitora i passi e i dati sull'attività degli utenti utilizzando il tipo di dati di intervallo steps. Il conteggio dei passi rappresenta una misura fondamentale dell'attività fisica quotidiana, aiutando gli sviluppatori a monitorare i progressi di fitness, calcolare il dispendio energetico e creare riepiloghi dell'attività quotidiana rivolti agli utenti.

Scopri come leggere e strutturare le metriche relative al conteggio dei passi nella tua applicazione per offrire la migliore esperienza ai tuoi utenti.

Tipi di dati supportati

L'API supporta il seguente tipo di dati per il monitoraggio del conteggio dei passi:

Tabella: tipi di dati relativi ai passi dell'API Google Health
Tipo di dati Operazioni
disponibili
Ambito
Passaggi
dataType: steps
filter parameter: steps
Tipo di record: Interval
Risoluzione di archiviazione: 1 minuto

Dispositivi compatibili

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

Linee guida

Quando integri il monitoraggio dei passi nella tua app, segui queste linee guida per la progettazione e l'implementazione.

Calcolo della velocità e dell'andatura

L'API Google Health utilizza formule standard per calcolare la velocità e l'andatura:

  • Velocità = distance / time(hour)
  • Andatura = time(seconds) / distance

L'intestazione Accept-Language specificata nella richiesta determina l'unità di distanza.

Panoramica giornaliera

Per aggregare con precisione i conteggi dei passi giornalieri in caso di viaggi, cambi di fuso orario o ora legale, non eseguire calcoli della durata lato client. Invece, esegui una query sull'endpoint dailyRollUp, che riconcilia automaticamente le lacune dei dati fisici utilizzando gli offset UTC. Il rollup restituisce un StepsRollupValue contenente il campo countSum, che rappresenta il totale dei passi accumulati per il giorno richiesto. Per maggiori dettagli, consulta Aggrega i dati per giorni di calendario nella guida ai dati aggregati.

Disegno di interfacce utente (riconciliazione)

Quando crei elementi dell'interfaccia utente per visualizzare i dati dei passi, utilizza l'endpoint reconcile. Se più origini dati (ad esempio uno smartwatch e uno smartphone) hanno registrato i passi contemporaneamente, l'endpoint reconcile risolve i conflitti e unisce i flussi per restituire un unico flusso di dati riconciliato.

Per informazioni sulla gestione degli intervalli sovrapposti dalle sincronizzazioni dei dispositivi connessi e sulla mutabilità dei timestamp, consulta la guida alla gestione dei dati.

Monitoraggio e istogrammi intraday

Per visualizzare l'attività utente dettagliata nel corso della giornata (ad esempio grafici e diagrammi):

  • Istogrammi dei passi orari o al minuto: esegui una query sull'endpoint rollUp, specificando la durata (ad esempio 60s per 1 minuto o 3600s per 1 ora) utilizzando il parametro windowSize. Poiché i dati sui passi vengono registrati a intervalli di 1 minuto (60s), imposta windowSize su almeno 60s. Le richieste con dimensioni della finestra inferiori al minuto (ad esempio 10s o 30s) non suddividono i totali dei singoli minuti, inserendo il conteggio dell'intero minuto nel primo bucket secondario corrispondente. Per maggiori dettagli, consulta Finestra di aggregazione e risoluzione dello spazio di archiviazione.
  • Tutti i record dei passi: utilizza l'endpoint list per recuperare i record dei passi non elaborati più granulari.

Gli endpoint rollUp, dailyRollUp e reconcile accettano il parametro dataSourceFamily, che consente di filtrare i dati di gruppi di origini specifici. Per ulteriori dettagli ed esempi di utilizzo, consulta la sezione Filtra per famiglia di origini dati della guida Filtra i dati.

Sincronizzazione in tempo reale tramite webhook

Iscriviti alla raccolta del tipo di dati steps per ricevere notifiche in tempo reale quando vengono importati o sincronizzati nuovi dati sui passi. Anziché eseguire il polling degli endpoint REST, aggiorna dinamicamente le dashboard lato client in risposta a queste notifiche dei webhook. Per maggiori dettagli su come configurare le sottoscrizioni, consulta Sottoscrizioni webhook.