건강 관리 서비스에서 합성 데이터 제공자 사용

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

합성 데이터 제공자를 사용하여 건강 관리 서비스의 센서 데이터를 시뮬레이션하고 실제로 운동을 하는 것처럼 앱을 테스트합니다. 사전 구성된 운동 프로필 중 하나를 사용하거나 플래그가 있는 맞춤 플래그를 제공할 수 있습니다.

피트니스 앱의 예는 GitHub의 건강 관리 서비스 샘플 저장소를 참고하세요.

에뮬레이터 사용 시 고려사항

Wear OS 에뮬레이터를 사용하는 경우 시뮬레이션된 데이터를 생성하는 데 사용할 수 있는 두 가지 옵션이 있습니다.

  1. 합성 데이터 제공자: 다양한 데이터 생성 옵션을 제공합니다. 이에 대해서는 이 페이지의 나머지 부분에서 다룹니다.

    에뮬레이터에서 합성 데이터 제공자를 사용하려면 개발자 옵션을 사용 설정해야 합니다.

  2. 에뮬레이터 확장 컨트롤: Android 스튜디오의 에뮬레이터는 버튼 모음에 있는 점 3개를 클릭하여 사용할 수 있는 확장 컨트롤 패널을 제공합니다. 개발자는 확장 컨트롤에서 KML/GPX 파일을 로드하여 위치를 시뮬레이션하거나 심박수 센서의 동작을 지정할 수 있습니다.

    확장 컨트롤을 사용하여 건강 관리 서비스를 생성하려면 센서 제공자가 사용 설정되어야 합니다.

합성 데이터 제공자 사용 설정

  1. 개발자 옵션을 사용 설정
  2. 다음 adb 명령어를 실행하여 합성 제공자를 사용 설정
$ adb shell am broadcast \
-a "whs.USE_SYNTHETIC_PROVIDERS" \
com.google.android.wearable.healthservices

합성 제공자가 사용 설정되면 이 페이지의 뒷부분에 설명된 명령어를 실행하여 '합성 사용자'의 동작을 제어합니다.

센서 제공자로 재설정

실제 센서를 사용하도록 다시 전환하려면 다음 명령어를 실행합니다.

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

지원되는 측정항목

합성 데이터 제공자는 현재 다음 측정항목을 지원합니다.

  • 심박수
  • 분당 걸음 수
  • GPS 위치(단일 기본 경로 사용)
  • 활동 지속 시간
  • 고도 및 층수
  • 수면 상태(잠든 상태/깨어 있는 상태)

사전 정의된 운동 활동

다음 활동 중 하나를 브로드캐스팅하여 합성된 활동을 변경합니다.

  • 걷기: whs.synthetic.user.START_WALKING
  • 달리기: whs.synthetic.user.START_RUNNING
  • 하이킹: whs.synthetic.user.START_HIKING
  • 수영: whs.synthetic.user.START_SWIMMING
  • 러닝머신에서 달리기: whs.synthetic.user.START_RUNNING_TREADMILL

예를 들어 다음 명령어는 걷기 시뮬레이션을 시작합니다.

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

이러한 각 활동에는 지원되는 측정항목에 관한 미리 설정 항목이 있습니다.

활동 심박수 평균 속도 고도 변경 위치 사용
걷기 120bpm 1.4m/sec 20.0m/min true
달리기 170bpm 2.3m/sec 20.0m/min true
하이킹 150bpm 1.3m/sec 20.0m/min true
수영 150bpm 1.6m/sec 0.0m/min true
러닝머신 달리기 160bpm 2.3m/sec 20.0m/min false

운동 활동 중지

진행 중인 활동을 중지하려면 다음 명령어를 사용합니다.

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

맞춤 운동 활동

생성되는 측정항목을 더 정밀하게 제어하려면 활동 문자열 whs.synthetic.user.START_EXERCISE를 사용하고 다음 플래그의 조합을 제공하여 맞춤 운동 활동을 시작합니다.

  • --ei exercise_options_duration_secs <int> 연습 시간(초)입니다. 기본값: 0.
  • --ei exercise_options_heart_rate <int> 분당 심박수입니다. 평균: 70.
  • --ef exercise_options_average_speed <float> 초당 평균 속도(미터)입니다. 주기(분당 걸음 수)에도 영향을 줍니다. 기본값: 0.
  • --ez exercise_options_use_location <boolean> 운동 중에 위치 데이터를 내보낼지 여부(기본 경로 사용)입니다. 기본값: false.
  • --ef exercise_options_max_elevation_rate <float> 분당 최대 가능 고도 변화율(미터)입니다. 기본값: 0.

예를 들어 다음과 같은 방법으로 운동 옵션을 설정합니다.

$ 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

활동을 종료하려면 운동 활동 중지를 참고하세요.

수면 상태 제어

합성 사용자에 대해 특정 수면 상태를 트리거할 수 있습니다. 현재 지원되는 상태는 두 가지뿐이며, 잠든 상태와 깨어 있는 상태입니다. 두 상태 간에 전환하려면 아래 명령어를 사용합니다.

'잠든' 상태로 들어가려면 다음과 같이 합니다.

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

'깨어 있는' 상태로 들어가려면 다음과 같이 합니다.

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