Use dados sintéticos gerados pelos Recursos de saúde no Wear OS para testar seu app como se um exercício estivesse realmente acontecendo.
Se você estiver testando em um emulador com o Wear OS 3 (nível 30 da API) ou mais recente, use dados sintéticos gerados pelo emulador. Consulte o guia a seguir para saber mais sobre as diferenças entre a geração de dados sintéticos para Wear OS 3 e versões mais recentes.
Usar dados sintéticos no Wear OS 4 e versões mais recentes
Se você estiver testando em um emulador com o Wear OS 4 (nível 33 da API) ou mais recente, é possível usar dados sintéticos gerados pelo emulador para testar o app. Isso apresenta várias melhorias em relação à geração de dados sintéticos em versões anteriores do Wear OS:
A geração de dados sintéticos no Wear OS 4 e versões mais recentes é integrada ao ciclo de vida da API Health Services. Isso significa que não é necessário usar comandos adb para iniciar ou interromper o exercício. Em vez disso, você pode iniciar ou interromper o exercício no app como um usuário faria.
Suporte expandido para eventos de exercício: é possível simular o recebimento de eventos de pausa e retomada automática, eventos de queda, detecção de sono e detecção de tacada de golfe.
Usar o painel de sensores dos Recursos de saúde
A Atualização de recursos do Android Studio Koala (canário) inclui os Serviços de saúde no painel de sensores do Wear OS. O painel pode ser usado para simular um dispositivo com ou sem recursos de sensor específicos, o que é importante para testar ao criar apps de condicionamento físico no Wear OS.
Também é possível usar o painel para mudar os valores das métricas e observar como o app se ajusta.
Para abrir e usar o painel, faça o seguinte:
- Crie ou abra um Dispositivo virtual Android (AVD) e execute o app no emulador.
- No painel do emulador, selecione Wear Health Services. O painel Wear Health Services é aberto, mostrando uma lista de sensores disponíveis em diferentes dispositivos Android.
Depois que o painel abrir, você poderá fazer o seguinte:
- Alterne entre Capacidades padrão e Todas as capacidades (padrão) para escolher o conjunto de recursos que serão ativados durante o próximo exercício. É possível ativar ou desativar recursos individuais selecionando as caixas de seleção. Selecione Apply para enviar a lista atual de recursos ao dispositivo emulado e selecione Reset para restaurar a lista de recursos aos valores padrão de ativação/desativação.
- Acione diferentes eventos do usuário depois de selecionar o botão de menu suspenso Acionar eventos. Aqui, você pode Acionar a pausa/retomada automática de atividades de condicionamento físico, Acionar eventos de sono pelo usuário e Acionar tacadas de golfe que o usuário faz em um campo de golfe ou minigolfe.
- Substitua os valores do sensor depois de iniciar um exercício em um app instalado no emulador. Depois de inserir novos valores para diferentes métricas de exercício, selecione Apply para sincronizar esses valores com o emulador. Isso é útil para testar como o app lida com diferentes condições de exercício e tendências de condicionamento físico dos usuários.
Gerar dados sintéticos com o emulador
Também é possível executar o app sem o painel de sensores e ter dados gerados automaticamente pelo emulador.
Use os controles no app para iniciar, pausar e encerrar a geração de dados sintéticos.
Além disso, o emulador gera os mesmos valores de dados para cada exercício.
Simular eventos
É possível simular vários eventos no emulador, como AUTO_PAUSE_DETECTED
.
O comando a seguir pode ser usado para acionar esses eventos:
adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices
Eventos sintéticos
Evento |
Chave |
---|---|
Pausa automática detectada |
|
Detecção de retomada automática |
|
Queda detectada |
|
Sono detectado |
|
Detecção de parada de suspensão |
|
Golf Shot Detected |
|
Por exemplo, use o seguinte comando para acionar um evento de pausa automática:
adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices
Para eventos de tacadas de golfe, especifique outros parâmetros para o tipo de tacada de golfe, conforme descrito abaixo:
Tipo de swing de tacada de golfe |
Parâmetro |
---|---|
Tipo de tacada de swing |
putt |
Tipo parcial de balanço |
parcial |
Tipo de balanço completo |
máximo |
Adicione o tipo de tacada de golfe depois de especificar o evento de tacada de golfe:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \ "golf-swing-type-parameter" com.google.android.wearable.healthservices
Por exemplo, o comando a seguir aciona um tiro de golfe parcial:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \ com.google.android.wearable.healthservices
Usar dados sintéticos no Wear OS 3
Se você estiver testando em um emulador com o Wear OS 3, também poderá usar dados sintéticos para testar seu app.
Ativar a geração de dados sintéticos
Siga as etapas abaixo para ativar a geração de dados sintéticos no Wear OS 3.
- Ative as opções do desenvolvedor.
Execute o comando
adb
abaixo para ativar o modo sintético:adb shell am broadcast \ -a "whs.USE_SYNTHETIC_PROVIDERS" \ com.google.android.wearable.healthservices
Depois que a geração de dados sintéticos for ativada, emita os comandos descritos nesta página para controlar o comportamento do "usuário sintético".
Desativar a geração de dados sintéticos
Para voltar a usar sensores reais, execute este comando:
adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices
Exercícios sintéticos
Os Recursos de saúde têm suporte aos seguintes tipos de exercício:
- Caminhada:
whs.synthetic.user.START_WALKING
- Corrida:
whs.synthetic.user.START_RUNNING
. - Trilha:
whs.synthetic.user.START_HIKING
. - Natação:
whs.synthetic.user.START_SWIMMING
. - Corrida na esteira:
whs.synthetic.user.START_RUNNING_TREADMILL
Os exercícios geram dados sintéticos realistas para os tipos de dados abaixo:
- Frequência cardíaca
- Contagem de passos por minuto.
- Localização do GPS, usando uma única rota padrão.
- Duração da atividade.
- Elevação e andares
Além disso, estes estados também podem ser gerados:
- Estado de sono: dormindo ou acordado
- Detecção de queda
Iniciar
Para começar a simular um exercício, emita a transmissão adequada para
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
Cada atividade tem predefinições para as métricas disponíveis:
Atividade | Frequência cardíaca | Velocidade média | Mudança na elevação | Uso da localização |
---|---|---|---|---|
Caminhada | 120 bpm | 1,4 m/sec | 20 m/min | true |
Corrida | 170 bpm | 2,3 m/sec | 20 m/min | true |
Trilha | 150 bpm | 1,3 m/sec | 20 m/min | true |
Natação | 150 bpm | 1,6 m/sec | 0 m/min | true |
Corrida na esteira | 160 bpm | 2,3 m/sec | 20 m/min | false |
Parar
Para interromper a atividade sintética, use este comando:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices
Personalizado
Para ter um controle mais preciso sobre quais métricas são geradas, inicie uma atividade física
personalizada usando a string de ação whs.synthetic.user.START_EXERCISE
e forneça qualquer combinação das flags abaixo:
--ei exercise_options_duration_secs <int>
: duração do exercício em segundos. Padrão:0
.--ei exercise_options_heart_rate <int>
: frequência cardíaca em batimentos por minuto. Média:70
.--ef exercise_options_average_speed <float>
: velocidade média em metros por segundo. Também afeta os passos por minuto ou a cadência. Padrão:0
.--ez exercise_options_use_location <boolean>
: define se dados de localização vão ser emitidos durante o exercício, usando uma rota padrão. Padrão:false
.--ef exercise_options_max_elevation_rate <float>
: taxa de mudança de elevação máxima em metros por minuto. Padrão:0
.
Por exemplo, defina as opções de exercícios desta maneira:
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
Você também pode mudar os tipos de dados disponíveis, de acordo com o suporte no hardware real ou emulado para um tipo específico. Por exemplo, você pode ativar ou desativar a elevação absoluta, conforme mostrado no snippet abaixo:
# 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
Outros estados e eventos
Estado de sono
Também é possível acionar estados de sono para um usuário sintético. Há suporte para dois estados: "dormindo" e "acordado".
Para entrar no estado "dormindo", execute este comando:
adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices
Para entrar no estado "acordado", execute este comando:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices
Detecção de queda
Para simular uma queda, execute este comando:
adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices
Pode levar até um minuto para que os Recursos de saúde mostrem o evento de queda.
Recomendados para você
- Observação: o texto do link aparece quando o JavaScript está desativado.
- SourceType
- ArithmeticExpression
- ListConfiguration