Utilisez les données synthétiques générées par Services Santé sur Wear OS pour tester votre application comme si vous étiez en train de pratiquer un exercice.
Si vous effectuez le test sur un émulateur exécutant Wear OS 4 (API 33) ou Wear OS 3 (API 30), vous pouvez utiliser des données synthétiques générées par l'émulateur. Consultez le guide suivant pour en savoir plus sur les différences entre la génération de données synthétiques pour Wear OS 3 et Wear OS 4.
Utiliser des données synthétiques sur Wear OS 4
Si vous effectuez des tests sur un émulateur exécutant Wear OS 4 (API 33), vous pouvez utiliser les données synthétiques générées par l'émulateur pour tester votre application. Cela apporte un certain nombre d'améliorations par rapport à la façon dont les données synthétiques sont générées sous Wear OS 3:
La génération de données synthétiques sur Wear OS 4 est intégrée au cycle de vie de l'API Services Santé. Cela signifie qu'il n'est pas nécessaire d'utiliser les commandes adb pour démarrer ou arrêter l'exercice. À la place, vous pouvez démarrer ou arrêter l'exercice dans l'application comme le ferait un utilisateur.
Compatibilité étendue avec les événements d'exercice: vous pouvez simuler la réception d'événements de mise en pause et de reprise automatiques, d'événements de chute, de détection du sommeil et de détection de coups de golf.
Utilisez les commandes de votre application pour démarrer, suspendre et arrêter la génération de données synthétiques.
Notez également que l'émulateur génère les mêmes valeurs de données pour chaque exercice.
Simuler des événements
Vous pouvez simuler divers événements dans l'émulateur, tels que AUTO_PAUSE_DETECTED
.
Vous pouvez utiliser la commande suivante pour déclencher ces événements:
adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices
Événements synthétiques
Événement |
Clé |
---|---|
Pause automatique détectée |
|
Reprise automatique détectée |
|
Chute détectée |
|
Sommeil détecté |
|
Arrêt du sommeil détecté |
|
Coup de golf détecté |
|
Par exemple, vous pouvez utiliser la commande suivante pour déclencher un événement de mise en veille automatique:
adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices
Pour les événements de coup de golf, vous devez spécifier des paramètres supplémentaires pour le type de swing de golf, décrits ci-dessous:
Type de swing de golf |
Paramètre |
---|---|
Type de putt swing |
putt |
Type partiel de balançoire |
partielle |
Type complet de balançoire |
maximale |
Ajoutez le type de coup de golf après avoir spécifié l'événement de coup de golf:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \ "golf-swing-type-parameter" com.google.android.wearable.healthservices
Par exemple, la commande suivante déclenche un coup de golf partiel:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \ com.google.android.wearable.healthservices
Utiliser des données synthétiques sur Wear OS 3
Si vous effectuez des tests sur un émulateur exécutant Wear OS 3, vous pouvez également utiliser des données synthétiques pour tester votre application.
Activer la génération de données synthétiques
Pour activer la génération de données synthétiques sur Wear OS 3, procédez comme suit :
- Activez les options pour les développeurs.
Exécutez la commande
adb
suivante pour activer le mode synthétique:adb shell am broadcast \ -a "whs.USE_SYNTHETIC_PROVIDERS" \ com.google.android.wearable.healthservices
Une fois la génération de données synthétiques activée, exécutez les commandes décrites sur cette page pour contrôler le comportement de "l'utilisateur synthétique".
Désactiver la génération de données synthétiques
Pour rétablir l'utilisation de vrais capteurs, exécutez la commande suivante :
adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices
Simulations d'activités physiques
Les services de santé sont compatibles avec les activités suivantes :
- Marche :
whs.synthetic.user.START_WALKING
- Course à pied :
whs.synthetic.user.START_RUNNING
- Randonnée :
whs.synthetic.user.START_HIKING
- Natation :
whs.synthetic.user.START_SWIMMING
- Course sur tapis roulant :
whs.synthetic.user.START_RUNNING_TREADMILL
Ces simulations génèrent des données synthétiques réalistes pour les types de données suivants :
- Fréquence cardiaque
- Nombre de pas par minute
- Localisation GPS (en utilisant une seule route par défaut)
- Durée de l'activité
- Altitude et étages
De plus, les états suivants peuvent être générés :
- État du sommeil : endormi ou éveillé
- Détection de chute
Démarrer
Pour lancer une simulation correspondant à une activité physique, envoyez l'annonce correspondante à 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
Chaque activité est prédéfinie dans les métriques acceptées :
Activité | Fréquence cardiaque | Vitesse moyenne | Changement d'altitude | Utiliser la position |
---|---|---|---|---|
Marche | 120 bpm | 1,4 m/s | 20 m/min | true |
En cours d'exécution | 170 bpm | 2,3 m/s | 20 m/min | true |
Randonnée | 150 bpm | 1,3 m/s | 20 m/min | true |
Natation | 150 bpm | 1,6 m/s | 0 m/min | true |
Course sur tapis roulant | 160 bpm | 2,3 m/s | 20 m/min | false |
Arrêter
Pour arrêter l'activité artificielle, utilisez la commande suivante :
adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices
Personnaliser
Pour un contrôle plus précis des métriques générées, démarrez une activité personnalisée à l'aide de la chaîne d'action whs.synthetic.user.START_EXERCISE
.
Fournissez une combinaison des indicateurs suivants :
--ei exercise_options_duration_secs <int>
: durée de l'activité en secondes. Valeur par défaut :0
.--ei exercise_options_heart_rate <int>
: fréquence cardiaque en battements par minute. Moyenne :70
.--ef exercise_options_average_speed <float>
: vitesse moyenne en mètres par seconde. Affecte également les pas par minute, ou cadence. Valeur par défaut :0
.--ez exercise_options_use_location <boolean>
permet d'émettre ou non des données de localisation pendant l'activité physique (en utilisant une route par défaut). Valeur par défaut :false
.--ef exercise_options_max_elevation_rate <float>
: taux maximal de changement d'altitude possible, en mètres par minute. Valeur par défaut :0
.
Par exemple, définissez les options d'activité physique de la manière suivante :
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
Vous pouvez aussi modifier les types de données disponibles, indépendamment de leur prise en charge par le matériel réel ou émulé. Par exemple, vous pouvez activer ou désactiver l'altitude absolue, comme indiqué dans l'extrait suivant :
# 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
Autres états et événements
État de sommeil
Vous pouvez également déclencher des états de sommeil pour l'utilisateur synthétique. Deux états sont acceptés : endormi ou éveillé.
Pour passer en mode endormi, exécutez la commande suivante :
adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices
Pour activer l'état éveillé, exécutez la commande suivante :
adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices
Détection de chute
Pour simuler une chute, exécutez la commande suivante :
adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices
Les Services Santé peuvent prendre jusqu'à une minute pour communiquer l'événement de chute.
Recommandations personnalisées
- Remarque : Le texte du lien s'affiche lorsque JavaScript est désactivé
- SourceType
- ArithmeticExpression
- ListConfiguration