Die Google Health API erfasst die Schritte und Aktivitätsdaten von Nutzern mit dem Intervall-Datentyp steps. Die Schrittzahl ist ein grundlegendes Maß für die tägliche körperliche Aktivität. Sie hilft Entwicklern, den Fitnessfortschritt zu verfolgen, den Energieverbrauch zu berechnen und für Nutzer sichtbare Zusammenfassungen der täglichen Aktivität zu erstellen.
Hier erfährst du, wie du Messwerte zur Schrittzahl in deiner Anwendung liest und strukturierst, um deinen Nutzern die bestmögliche Erfahrung zu bieten.
Unterstützte Datentypen
Die API unterstützt den folgenden Datentyp zum Erfassen der Schrittzahl:
| 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 du das Schritt-Tracking in deine App integrierst, beachte die folgenden Design- und Implementierungsrichtlinien.
Berechnung von Geschwindigkeit und Tempo
Die Google Health API verwendet Standardformeln, um Geschwindigkeit und Tempo zu berechnen:
- Geschwindigkeit =
distance / time(hour) - Tempo =
time(seconds) / distance
Der in der Anfrage angegebene Header Accept-Language bestimmt die Entfernungseinheit.
Tägliche Übersicht
Wenn du die tägliche Schrittzahl bei Reisen, Zeitzonenänderungen oder Sommerzeit korrekt aggregieren möchtest, solltest du keine clientseitigen Berechnungen der Dauer durchführen. Fragen Sie stattdessen den Endpunkt dailyRollUp ab, der physische Datenlücken automatisch mithilfe der UTC-Abweichungen ausgleicht. Der Roll-up gibt ein StepsRollupValue-Objekt mit dem Feld countSum zurück, das die Gesamtzahl der Schritte für den angeforderten Tag enthält. Weitere Informationen finden Sie im Leitfaden zu aggregierten Daten unter Über Kalendertage hinweg aggregieren.
Benutzeroberflächen zeichnen (Abgleich)
Wenn du Elemente der Benutzeroberfläche zum Anzeigen von Schrittdaten erstellst, verwende den Endpunkt reconcile. Wenn mehrere Datenquellen (z. B. eine Smartwatch und ein Smartphone) gleichzeitig Schritte aufgezeichnet haben, löst der Endpunkt reconcile Konflikte und führt die Streams zusammen, um einen einzigen, abgeglichenen Datenstream zurückzugeben.
Informationen zum Umgang mit sich überschneidenden Intervallen aus Synchronisierungen verbundener Geräte und zur Veränderbarkeit von Zeitstempeln findest du im Leitfaden zur Datenverwaltung.
Intraday-Tracking und Histogramme
So rufen Sie detaillierte Nutzeraktivitäten im Laufe des Tages auf (z. B. Diagramme und Grafiken):
- Histogramme mit stündlichen oder minütlichen Schritten: Fragen Sie den Endpunkt
rollUpab und geben Sie die Dauer (z. B.60sfür 1 Minute oder3600sfür 1 Stunde) mit dem ParameterwindowSizean. Da Schrittdaten in Intervallen von 1 Minute (60s) aufgezeichnet werden, legen Sie fürwindowSizemindestens60sfest. Bei Anfragen mit Fenstergrößen von weniger als einer Minute (z. B.10soder30s) werden die Summen für einzelne Minuten nicht aufgeteilt. Die Anzahl für die gesamte Minute wird in den ersten übereinstimmenden Unter-Bucket eingefügt. Weitere Informationen finden Sie unter Roll-up-Fenster und Speicherauflösung. - Alle Schrittaufzeichnungen:Verwende den Endpunkt
list, um die detailliertesten Rohschrittaufzeichnungen 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 des Leitfadens zum Filtern von Daten.
Echtzeitsynchronisierung über Webhooks
Abonniere die Datentypsammlung steps, um in Echtzeit benachrichtigt zu werden, wenn neue Schrittdaten importiert oder synchronisiert werden. Anstatt REST-Endpunkte abzufragen, können Sie clientseitige Dashboards dynamisch als Reaktion auf diese Webhook-Benachrichtigungen aktualisieren. Weitere Informationen zum Einrichten von Abos finden Sie unter Webhook-Abos.