Um die Richtigkeit der Daten und konsistente Aggregationen zu gewährleisten, wird in der Google Health API die Art und Weise modernisiert, wie Nutzeraktivitäten gemeldet werden. Mit der Einführung von true zeros und on-wrist filtering können Sie mithilfe der API genau zwischen Zeiträumen unterscheiden, in denen ein Nutzer sich nicht bewegt hat, und Zeiträumen, in denen er sein Gerät nicht getragen hat.
Wahre Nullen
Ein echter Nullwert ist ein expliziter Datenpunkt, der angibt, dass ein Nutzer sein Gerät getragen und aktiv getrackt hat, aber für einen bestimmten Messwert den Wert „0“ aufgezeichnet wurde. Ein Nutzer kann beispielsweise während eines 1-Minuten-Intervalls, in dem er sein Gerät trägt, 0 Schritte oder 0 Kilometer aufzeichnen.
Bisher waren fehlende Daten mehrdeutig. Das kann bedeuten, dass der Nutzer sich nicht bewegt hat oder dass das Gerät nicht am Handgelenk getragen wurde. Die API löst dieses Problem, indem sie explizit einen Wert von 0 speichert und zurückgibt, wenn das Gerät getragen wird, aber inaktiv ist. So können Sie deutlich zwischen Zeiträumen, in denen die Smartwatch getragen wurde, und fehlenden Daten unterscheiden.
Filtern am Handgelenk
Bei der Filterung am Handgelenk wird ermittelt, ob ein Nutzer sein Gerät tatsächlich trägt. So kann die API irrelevante Daten herausfiltern, z. B. „Phantom“-Schritte, die aufgrund von Fahrzeugvibrationen aufgezeichnet wurden, während sich ein Gerät in einer Tasche befand.
Unterstützte Datentypen
Die folgenden Datentypen unterstützen das Verhalten bei „Wahrer Null“ und die Filterung am Handgelenk:
- Höhe
- Entfernung
- Stockwerke
- Schritte
- Kalorien insgesamt
Auswirkungen auf Ihre Anwendung
Durch die Implementierung von echten Nullen wird die Genauigkeit der Interpretation von Datenlücken und der Berechnung von Messwerten wie Tagesdurchschnitten verbessert.
Verhalten bei Listen und Sammel-Properties
Standardmäßig gibt die Google Health API nur Daten vom Handgelenk für die folgenden Datentypen zurück:
- Listenvorgänge:Gibt Datenpunkte nur für Zeiträume zurück, in denen das Gerät getragen wurde.
- Datenlücken:Lücken und fehlende Einträge in der Liste deuten darauf hin, dass das Gerät nicht am Handgelenk getragen wurde oder nicht synchronisiert wurde.
- Leere Datensätze:Datenpunkte, bei denen ein Nutzer das Gerät getragen hat, aber keine Aktivität aufgezeichnet wurde (eine echte Null), werden mit normalen
dataSource- und Intervall- oder Zeitstempelinformationen zurückgegeben. Das messwertspezifische Feld (z. B. die Eigenschaftcount) wird jedoch ausgelassen. Diese sollten als Nullwerte interpretiert werden.
- Rollup-Vorgänge:Eine Null in der Antwort bedeutet eine echte Null (der Nutzer hat das Gerät getragen, sich aber nicht bewegt). Wenn ein Tracker in einem bestimmten Zeitraum nicht getragen wurde, gibt die API für dieses Rollup-Fenster keine Daten zurück.
Bei list-Vorgängen können aufeinanderfolgende Synchronisierungen verbundener Geräte auch zu sich überschneidenden Intervallen führen, wenn On-Device-Algorithmen die Rohdaten der Sensorsignale neu gruppieren. Weitere Informationen zum Umgang mit Intervallüberschneidungen finden Sie im Leitfaden zur Datenverwaltung.
Vergleich mit der Fitbit Web API
Die Fitbit Web API hat oft Daten zurückgegeben, einschließlich Nullen, auch wenn kein Tracker getragen wurde. Die Google Health API bietet eine genauere Darstellung von Bewegungen.
| Funktion | Fitbit Web API | Google Health API |
|---|---|---|
| Unklarheit bei Inaktivität | Fehlende Daten können auf Inaktivität oder darauf hindeuten, dass du das Gerät nicht am Handgelenk getragen hast. | Echte Nullen weisen explizit auf Inaktivität beim Tragen hin. |
| Datenlücken | Bei Datenlücken könnten standardmäßig UTC-Offsets verwendet werden. | Durch die explizite Speicherung werden Probleme mit Zeitzonen und bürgerlicher Zeit behoben. |
| Filtern | Eingeschränkte Filterung auf dem Handgelenk | Die strenge Filterung am Handgelenk sorgt für physiologische Genauigkeit. |