Schritt-Erlebnisse mit der Google Health API entwickeln

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:

Tabelle: Datentypen für Schritte in der Google Health API
Datentyp Verfügbare
Vorgänge
Bereich
Schritte
dataType: steps
filter 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 rollUp ab und geben Sie die Dauer mit dem Parameter windowSize an (z.B. 3600s fü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 count zurü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.