Mit der Google Health API werden Nutzer-Schritt- und Aktivitätsdaten mit dem Intervall-Datentyp steps erfasst. Die Anzahl der Schritte ist ein grundlegender Messwert für die tägliche körperliche Aktivität. Entwickler können damit den Fitnessfortschritt verfolgen, den Energieverbrauch berechnen und Zusammenfassungen der täglichen Aktivität für Nutzer erstellen.
Hier erfahren Sie, wie Sie Schrittzähler-Messwerte in Ihrer Anwendung lesen und strukturieren, um Ihren Nutzern die bestmögliche Erfahrung zu bieten.
Unterstützte Datentypen
Die API unterstützt den folgenden Datentyp zum Erfassen von Schrittzahlen:
| Datentyp | Verfügbare Vorgänge |
Bereich |
|---|---|---|
|
Schritte
dataType:
stepsfilter parameter: steps
Eintragstyp : Intervall
Speicherauflösung : 1 Minute
Kompatible Geräte
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Richtlinien
Wenn Sie die Schrittzählung in Ihre App einbinden, sollten Sie die folgenden Design- und Implementierungsrichtlinien beachten.
Berechnung von Geschwindigkeit und Tempo
In der Google Health API werden Standardformeln verwendet, um Geschwindigkeit und Tempo zu berechnen:
- Geschwindigkeit =
distance / time(hour) - Tempo =
time(seconds) / distance
Die im Antrag angegebene Einheit im Header Accept-Language bestimmt die Maßeinheit für die Entfernung.
Tagesübersicht
Damit die täglichen Schrittzahlen bei Reisen, Zeitzonenänderungen oder Sommerzeit korrekt zusammengefasst werden, sollten Sie keine clientseitigen Dauerberechnungen durchführen. Fragen Sie stattdessen den dailyRollUp-Endpunkt ab, bei dem physische Datenlücken automatisch mithilfe der UTC-Offsets abgeglichen werden. Der Rollup gibt ein StepsRollupValue mit dem Feld countSum zurück, das die insgesamt gesammelten Schritte für den angeforderten Tag darstellt.
Benutzeroberflächen zeichnen (Abstimmung)
Verwenden Sie den reconcile-Endpunkt, wenn Sie Benutzeroberflächenelemente zum Anzeigen von Schrittdaten erstellen. Wenn mehrere Datenquellen (z. B. eine Smartwatch und ein Smartphone) gleichzeitig Schritte aufgezeichnet haben, werden Konflikte durch den reconcile-Endpunkt behoben und die Streams zusammengeführt, um einen einzelnen, abgeglichenen Datenstream zurückzugeben.
Informationen zum Umgang mit sich überschneidenden Intervallen aus Synchronisierungen verbundener Geräte und zur Unveränderlichkeit von Zeitstempeln finden Sie im Leitfaden zur Datenverwaltung.
Intraday-Tracking und Histogramme
So werden detaillierte Nutzeraktivitäten im Laufe des Tages angezeigt (z. B. Diagramme und Grafiken):
- Histogramme mit stündlichen oder minütlichen Schritten:Fragen Sie den
rollUp-Endpunkt ab und geben Sie die Dauer (z. B.60sfür 1 Minute oder3600sfür 1 Stunde) mit dem ParameterwindowSizean. Da Schrittdaten in 1-Minuten-Intervallen (60s) aufgezeichnet werden, musswindowSizemindestens60sbetragen. Bei Anfragen mit Fenstergrößen unter einer Minute (z. B.10soder30s) werden die einzelnen Minutensummen nicht aufgeteilt. Die Anzahl der gesamten Minute wird in den ersten passenden Unter-Bucket eingefügt. Weitere Informationen finden Sie unter Größe des Rollup-Fensters und zugrunde liegende Speicherauflösung. - Alle Schrittaufzeichnungen:Verwende den
list-Endpunkt, um die detailliertesten Rohdaten zu Schritten abzurufen.
Die Endpunkte rollUp, dailyRollUp und reconcile akzeptieren den Parameter dataSourceFamily, mit dem Sie Daten aus bestimmten Quellgruppen filtern können. Weitere Informationen und Anwendungsbeispiele finden Sie im Abschnitt Nach Datenquellenfamilie filtern im Leitfaden zum Filtern von Daten.
Echtzeitsynchronisierung mit Webhooks
Abonnieren Sie die Erfassung des Datentyps steps, um in Echtzeit benachrichtigt zu werden, wenn neue Schrittdaten importiert oder synchronisiert werden. Anstatt REST-Endpunkte abzufragen, werden clientseitige Dashboards dynamisch als Reaktion auf diese Webhook-Benachrichtigungen aktualisiert. Weitere Informationen zum Einrichten von Abos finden Sie unter Webhook-Abos.
Echte Nullen verarbeiten
In der Google Health API werden echte Nullen implementiert, um inaktive Intervalle zu erkennen. Wenn ein Nutzer einen Tracker trägt, aber in einem bestimmten Zeitraum nicht geht, gibt die API einen Datensatz für dieses Intervall zurück, der die normale Datenquelle und Zeitstempel-Metadaten enthält, die Eigenschaft count jedoch auslässt.
So können Sie zwischen folgenden Fällen unterscheiden:
- Zeiten, in denen das Gerät am Handgelenk getragen wird, aber der Nutzer sich nicht bewegt:Der Nutzer trägt das Gerät am Handgelenk, geht aber nicht. Dadurch werden Datensätze ohne die Eigenschaft
countzurückgegeben (als null Schritte interpretiert). - Zeiten, in denen das Gerät nicht getragen wird:Der Nutzer trägt das Gerät nicht. Dadurch wird kein Datensatz zurückgegeben, was zu großen Datenlücken führt.
Weitere Informationen finden Sie im Leitfaden Datenverfügbarkeit und echte Nullen.