Schrittfunktionen mit der Google Health API entwickeln

Mit der Google Health API werden Schritte und Aktivitätsdaten von Nutzern mithilfe des Intervalldatentyps steps erfasst. Die Anzahl der Schritte ist ein grundlegender Messwert für die tägliche körperliche Aktivität. Er hilft Entwicklern, den Fitnessfortschritt zu verfolgen, den Energieverbrauch zu berechnen und Zusammenfassungen der täglichen Aktivität für Nutzer zu 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 Header Accept-Language der Anfrage angegebene Einheit bestimmt die Entfernungseinheit.

Tagesübersicht

Damit die täglichen Schrittzahlen bei Reisen, Zeitzonenänderungen oder der Umstellung auf Sommer-/Winterzeit 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 zurück, das das Feld countSum enthält. Dieses Feld steht für die Gesamtzahl der Schritte für den angeforderten Tag.

Zeichnen von Benutzeroberflächen (Abgleich)

Verwenden Sie beim Erstellen von Benutzeroberflächenelementen zur Anzeige von Schrittdaten den Endpunkt reconcile. 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):

  • Histogramme mit stündlichen oder minütlichen Schritten:Fragen Sie den Endpunkt rollUp ab und geben Sie die Dauer mit dem Parameter windowSize an, z. B. 60s für 1 Minute oder 3600s für 1 Stunde. Da Schrittdaten in 1-Minuten-Intervallen (60s) aufgezeichnet werden, muss windowSize mindestens 60s betragen. Bei Anfragen mit Zeiträumen, die kürzer als eine Minute sind (z. B. 10s oder 30s), werden die einzelnen Minutensummen nicht aufgeteilt, sondern 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:Verwenden Sie den list-Endpunkt, um die detailliertesten, unbearbeiteten Schrittaufzeichnungen 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

Abonniere die Erfassung des Datentyps 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

In der Google Health API werden echte Nullen implementiert, um inaktive Intervalle zu beheben. 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 wurde, aber der Nutzer sich nicht bewegt hat:Der Nutzer trägt das Gerät, 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.