Sensordaten mit Gesundheitsdiensten simulieren

Verwenden Sie synthetische Daten, die von Health Services unter Wear OS generiert werden, um Ihre App so zu testen, als würde eine Übung stattfinden.

Wenn Sie einen Emulator mit Wear OS 4 (API 33) oder Wear OS 3 (API 30) testen, können Sie die vom Emulator generierten synthetischen Daten verwenden. In der folgenden Anleitung finden Sie weitere Informationen zu den Unterschieden zwischen der Generierung synthetischer Daten für Wear OS 3 und Wear OS 4.

Synthetische Daten unter Wear OS 4 verwenden

Wenn Sie den Test mit einem Emulator mit Wear OS 4 (API 33) durchführen, können Sie Ihre App mit den vom Emulator generierten synthetischen Daten testen. Dadurch werden einige Verbesserungen bei der Generierung synthetischer Daten unter Wear OS 3 eingeführt:

Mit den Steuerelementen in der App können Sie die Generierung synthetischer Daten starten, pausieren und beenden.

Beachten Sie auch, dass der Emulator für jede Übung dieselben Datenwerte generiert.

Ereignisse simulieren

Sie können verschiedene Ereignisse im Emulator simulieren, z. B. AUTO_PAUSE_DETECTED. Diese Ereignisse können mit dem folgenden Befehl ausgelöst werden:

adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices

Synthetische Ereignisse

Veranstaltung

Schlüssel

Automatische Pause erkannt

whs.AUTO_PAUSE_DETECTED

Automatischer Fortsetzen erkannt

whs.AUTO_RESUME_DETECTED

Sturz erkannt

whs.FALL_OVER

Schlaf erkannt

whs.START_SLEEPING

Schlafausbruch erkannt

whs.STOP_SLEEPING

Golfschuss erkannt

whs.GOLF_SHOT

Sie können beispielsweise den folgenden Befehl verwenden, um ein Ereignis zum automatischen Pausieren auszulösen:

​​adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices

Für Golfschläger-Ereignisse sollten Sie zusätzliche Parameter für den Arten des Golfschlags angeben, die im Folgenden beschrieben werden:

Art des Golfschlags

Parameter

Schwung-Putt-Typ

Putt

Teiltyp Schaukel

parteiisch

Kompletter Griff

voll

Fügen Sie den Golfschlagtyp hinzu, nachdem Sie das Golfschlagereignis angegeben haben:

adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \
  "golf-swing-type-parameter" com.google.android.wearable.healthservices

Der folgende Befehl löst beispielsweise einen Teil-Golfschlag aus:

adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \
  com.google.android.wearable.healthservices

Synthetische Daten unter Wear OS 3 verwenden

Wenn Sie den Test auf einem Emulator mit Wear OS 3 durchführen, können Sie Ihre App auch mit synthetischen Daten testen.

Generierung synthetischer Daten aktivieren

Führen Sie die folgenden Schritte aus, um die Generierung synthetischer Daten unter Wear OS 3 zu aktivieren.

  1. Aktivieren Sie Entwickleroptionen.
  2. Führen Sie den folgenden adb-Befehl aus, um den synthetischen Modus zu aktivieren:

    adb shell am broadcast \
    -a "whs.USE_SYNTHETIC_PROVIDERS" \
    com.google.android.wearable.healthservices
    

Sobald die Generierung synthetischer Daten aktiviert ist, können Sie mit den auf dieser Seite beschriebenen Befehlen das Verhalten des „synthetischen Nutzers“ steuern.

Generierung synthetischer Daten deaktivieren

Führen Sie den folgenden Befehl aus, um wieder echte Sensoren zu verwenden:

adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices

Synthetische Übungen

Die Gesundheitsdienste unterstützen die folgenden Trainingstypen:

  • Zu Fuß: whs.synthetic.user.START_WALKING
  • Wird ausgeführt: whs.synthetic.user.START_RUNNING
  • Wandern: whs.synthetic.user.START_HIKING
  • Schwimmen: whs.synthetic.user.START_SWIMMING
  • Laufen auf dem Laufband: whs.synthetic.user.START_RUNNING_TREADMILL

In den Übungen werden realistische synthetische Daten für die folgenden Datentypen generiert:

  • Herzfrequenz
  • Schrittzahl pro Minute
  • GPS-Standort mit einer einzigen Standardroute
  • Dauer der Aktivität
  • Höhe und Etagen

Darüber hinaus können die folgenden Status generiert werden:

  • Schlafstatus – schlafen oder wach
  • Unfallerkennung

Start

Um eine Übung zu simulieren, senden Sie die entsprechende Übertragung an com.google.android.wearable.healthservices:

# start the "walking" synthetic exercise
$ adb shell am broadcast \
-a "whs.synthetic.user.START_WALKING" \
com.google.android.wearable.healthservices

Für jede Aktivität gibt es Voreinstellungen für die unterstützten Messwerte:

Aktivitäten Herzfrequenz Durchschnittliche Geschwindigkeit Höhenunterschied Standort verwenden
Gehen 120 SPM 1,4 m/s 20,0 m/min true
Läuft 170 SPM 2,3 m/s 20,0 m/min true
Wandern 150 SPM 1,3 m/s 20,0 m/min true
Schwimmen 150 SPM 1,6 m/s 0,0 m/min true
Laufen auf dem Laufband 160 SPM 2,3 m/s 20,0 m/min false

Aufnahme beenden

Verwenden Sie den folgenden Befehl, um die synthetische Aktivität zu beenden:

adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices

Benutzerdefiniert

Wenn Sie genauer steuern möchten, welche Messwerte generiert werden, starten Sie eine benutzerdefinierte Trainingsaktivität mit dem Aktionsstring whs.synthetic.user.START_EXERCISE. Geben Sie eine beliebige Kombination der folgenden Flags an:

  • --ei exercise_options_duration_secs <int>: Dauer der Übung in Sekunden. Standardwert: 0.
  • --ei exercise_options_heart_rate <int>: Herzfrequenz in Schlägen pro Minute. Durchschnitt: 70.
  • --ef exercise_options_average_speed <float>: Durchschnittsgeschwindigkeit in Metern pro Sekunde. Dies wirkt sich auch auf die Schritte pro Minute oder die Kadenz aus. Standardwert: 0.
  • --ez exercise_options_use_location <boolean>: Gibt an, ob Standortdaten während des Trainings über eine Standardroute gesendet werden sollen. Standardwert: false.
  • --ef exercise_options_max_elevation_rate <float>: Maximal mögliche Höhenänderungsrate in Metern pro Minute. Standardwert: 0.

Lege zum Beispiel so Übungsoptionen fest:

adb shell am broadcast \
-a "whs.synthetic.user.START_EXERCISE" \
--ei exercise_options_heart_rate 90 \
--ef exercise_options_average_speed 1.2 \
--ez exercise_options_use_location true \
com.google.android.wearable.healthservices

Sie können auch die verfügbaren Datentypen ändern, unabhängig davon, ob die echte oder emulierte Hardware einen bestimmten Datentyp unterstützt. Sie können beispielsweise die absolute Höhe aktivieren oder deaktivieren, wie im folgenden Snippet gezeigt:

# enable synthetic mode and enable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation true \
com.google.android.wearable.healthservices

# enable synthetic mode and disable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation false \
com.google.android.wearable.healthservices

Andere Status und Ereignisse

Schlafstatus

Sie können auch Schlafzustände für den synthetischen Nutzer auslösen. Es werden zwei Zustände unterstützt: schlafen und wach.

Führen Sie den folgenden Befehl aus, um in den Ruhemodus zu wechseln:

adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices

Führen Sie den folgenden Befehl aus, um den Ruhemodus zu beenden:

adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices

Unfallerkennung

Führen Sie den folgenden Befehl aus, um einen Sturz zu simulieren:

adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices

Es kann bis zu einer Minute dauern, bis das Gesundheitsamt die Veranstaltung im Herbst durchführt.