Schritt-Erlebnisse mit der Google Health API entwickeln

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:

Tabelle: Google Health API-Datentypen für Schritte
Datentyp Verfügbare
Vorgänge
Bereich
Schritte
dataType:steps
filter 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. 60s für 1 Minute oder 3600s für 1 Stunde) mit dem Parameter windowSize an. Da Schrittdaten in 1-Minuten-Intervallen (60s) aufgezeichnet werden, muss windowSize mindestens 60s betragen. Bei Anfragen mit Fenstergrößen unter einer Minute (z. B. 10s oder 30s) 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 count zurü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.