Die Google Health API erfasst Schritte und Aktivitätsdaten von Nutzern mit dem Intervalldatentyp steps. Die Anzahl der Schritte ist ein grundlegender Messwert für die tägliche körperliche Aktivität. So können Entwickler Fitnessfortschritte verfolgen, den Energieverbrauch berechnen und für Nutzer Zusammenfassungen der täglichen Aktivitäten erstellen.
Hier erfahren Sie, wie Sie die Messwerte für die Anzahl der Schritte in Ihrer Anwendung lesen und strukturieren, um Nutzern die bestmögliche Erfahrung zu bieten.
Unterstützte Datentypen
Die API unterstützt den folgenden Datentyp zum Erfassen der Anzahl der Schritte:
| Datentyp | Verfügbare Vorgänge |
Bereich |
|---|---|---|
|
Schritte
dataType:
stepsfilter parameter: steps
Eintragstyp: Intervall
Kompatible Geräte
|
list, reconcile, rollup, dailyRollup | .activity_and_fitness.readonly.activity_and_fitness.writeonly |
Richtlinien
Beachten Sie beim Einbinden der Schrittmessung in Ihre App diese Richtlinien für Design und Implementierung.
Berechnung von Geschwindigkeit und Tempo
Die Google Health API verwendet Standardformeln zur Berechnung von Geschwindigkeit und Tempo:
- Geschwindigkeit =
distance / time(hour) - Tempo =
time(seconds) / distance
Der in der Anfrage angegebene Header Accept-Language bestimmt die Einheit für die Entfernung.
Täglicher Überblick
Wenn Sie die Anzahl der Schritte pro Tag bei Reisen, Zeitzonenänderungen oder Sommerzeit genau zusammenfassen möchten, führen Sie keine clientseitigen Berechnungen der Dauer durch. Fragen Sie stattdessen den Endpunkt dailyRollUp ab, der Lücken in den physischen Daten automatisch mithilfe der UTC-Offsets ausgleicht. Die Zusammenfassung gibt einen StepsRollupValue mit dem Feld countSum zurück, das die Gesamtzahl der Schritte für den angeforderten Tag darstellt.
Benutzeroberflächen zeichnen (Abgleich)
Verwenden Sie den Endpunkt reconcile, wenn Sie Benutzeroberflächenelemente zum Anzeigen von Schrittdaten erstellen. Wenn mehrere Datenquellen (z. B. eine Smartwatch und ein Mobiltelefon) gleichzeitig Schritte aufgezeichnet haben, löst der Endpunkt reconcile Konflikte und führt die Streams zusammen, um einen einzelnen, abgeglichenen Datenstream zurückzugeben.
Intraday-Tracking und Histogramme
So zeigen Sie detaillierte Nutzeraktivitäten im Laufe des Tages an (z. B. Diagramme):
- Stündliche Schritt-Histogramme:Fragen Sie den Endpunkt
rollUpab und geben Sie die Dauer mit dem ParameterwindowSizean (z.B.3600sfür 1 Stunde). - Alle Schrittdatensätze:Verwenden Sie den Endpunkt
list, um die detailliertesten Rohdatensätze für Schritte 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 Datenquellengruppe filtern und zusammenfassen
des Leitfadens zu Endpunkten.
Echtzeitsynchronisierung mit Webhooks
Abonnieren Sie die Datentyp-Collection 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.
Echte Nullen verarbeiten
Die Google Health API implementiert echte Nullen, um Intervalle zu erfassen, in denen keine Aktivität stattgefunden hat. Wenn ein Nutzer einen Tracker trägt, sich aber in einem bestimmten Zeitraum nicht bewegt, gibt die API einen Datensatz für dieses Intervall zurück, der die normalen Metadaten zur Datenquelle und zum Zeitstempel enthält, aber die Eigenschaft count auslässt.
So können Sie zwischen folgenden Fällen unterscheiden:
- Zeiträume, in denen das Gerät getragen wurde, aber keine Aktivität stattgefunden hat:Der Nutzer trägt das Gerät, bewegt sich aber nicht. In diesem Fall werden Datensätze ohne die Eigenschaft
countzurückgegeben (als null Schritte interpretiert). - Zeiträume, in denen das Gerät nicht getragen wurde:Der Nutzer trägt das Gerät nicht. In diesem Fall wird kein Datensatz zurückgegeben, was zu großen Datenlücken führt.
Weitere Informationen finden Sie im Leitfaden zur Datenpräsenz und zu echten Nullen für mehr Details.