Simuler les données des capteurs avec Services Santé

Utilisez les données synthétiques générées par Services Santé sur Wear OS pour tester votre appli comme si un exercice se produisaient vraiment.

Si vous effectuez les tests sur un émulateur exécutant Wear OS 3 (niveau d'API 30) ou version ultérieure, vous pouvez utiliser les données synthétiques générées par l'émulateur. Consultez les ressources suivantes : pour en savoir plus sur les différences entre la génération de données synthétiques pour Wear OS 3 ou version ultérieure

Utiliser des données synthétiques sur Wear OS 4 ou version ultérieure

Si vous effectuez les tests sur un émulateur exécutant Wear OS 4 (niveau d'API 33) ou version ultérieure, peut utiliser les données synthétiques générées par l'émulateur pour tester votre application. Ce introduit un certain nombre d'améliorations concernant la génération des données synthétiques sur versions antérieures de Wear OS:

Utiliser le panneau des capteurs des Services Santé

La mise à jour groupée Android Studio Koala (Canary) inclut un Panneau des capteurs Services Santé sur Wear OS Le panneau permet de simuler qu'un appareil dispose ou non de capacités de capteur spécifiques, ce qui est important à tester lors de la création d'applications de fitness sur Wear OS.

Vous pouvez également utiliser le panneau pour modifier les valeurs des métriques et observer comment l'application s'ajuste.

Pour ouvrir et utiliser le panneau, procédez comme suit:

  1. Créez ou ouvrez un appareil virtuel Android (AVD). et exécutez votre application sur l'émulateur.
  2. Dans le panneau de l'émulateur, sélectionnez Services Santé de Wear. Ouvrir le panneau Services Santé de Wear Le panneau Services Santé de Wear s'ouvre et affiche la liste des capteurs disponibles Appareils Android

Une fois le panneau ouvert, vous pouvez effectuer les opérations suivantes:

  • Basculer entre les fonctionnalités standards Toutes les fonctionnalités (par défaut) ou Personnalisé Sélectionnez Appliquer pour envoyer le des fonctionnalités de l'appareil émulé, puis sélectionnez Réinitialiser pour restaurer la liste des fonctionnalités à leurs valeurs d'activation et de désactivation par défaut.
  • Déclencher différents événements utilisateur après avoir sélectionné Déclencher des événements dans la liste déroulante. Vous pouvez alors déclencher la mise en pause/reprise automatique de l'activité physique. activités, Déclencher des événements de sommeil par l'utilisateur et Déclencher des coups de golf que l'utilisateur entre sur un parcours de golf ou un parcours de mini-golf.
  • Remplacer les valeurs des capteurs après avoir commencé un exercice dans une application installée sur l'émulateur. Après avoir saisi de nouvelles valeurs pour différentes métriques d'exercice, sélectionnez Apply (Appliquer) pour synchroniser ces valeurs avec l'émulateur. Ceci est utile pour tester la façon dont votre application gère différentes conditions d'exercice et l'expérience des utilisateurs fitness tendances.

Générer des données synthétiques avec l'émulateur

Vous pouvez également exécuter votre application sans le panneau des capteurs automatiquement généré par l'émulateur.

Utilisez les commandes intégrées à l'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, par exemple AUTO_PAUSE_DETECTED. La commande suivante peut être utilisée 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

whs.AUTO_PAUSE_DETECTED

Reprise automatique détectée

whs.AUTO_RESUME_DETECTED

Chute détectée

whs.FALL_OVER

Sommeil détecté

whs.START_SLEEPING

Arrêt du sommeil détecté

whs.STOP_SLEEPING

Tir au golf détecté

whs.GOLF_SHOT

Par exemple, vous pouvez utiliser la commande suivante pour déclencher un événement de mise en pause automatique:

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

Pour les tirs au golf, vous devez spécifier des paramètres supplémentaires pour type de coup de golf, décrits ci-dessous:

Type de balançoire au golf

Paramètre

Type de putt

putt

Type de balançoire partielle

partielle

Type de balançoire

maximale

Ajoutez le type de swing après avoir spécifié l'événement 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 :

  1. Activez les options pour les développeurs.
  2. 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 dans ce 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
Course à pied 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.