Wear OS의 건강 관리 서비스에서 생성된 합성 데이터를 사용하여 마치 앱을 테스트하듯 운동이 실제로 일어나고 있었습니다.
Wear OS 3 (API 수준 30) 이상을 실행하는 에뮬레이터에서 테스트하는 경우 에뮬레이터가 생성한 합성 데이터를 사용할 수 있습니다. 다음을 참고하세요. AI 기반 AI 생성 모델 간의 차이점에 대해 Wear OS 3 이상
Wear OS 4 이상에서 합성 데이터 사용
Wear OS 4 (API 수준 33) 이상을 실행하는 에뮬레이터에서 테스트하는 경우 에뮬레이터가 생성한 합성 데이터를 사용하여 앱을 테스트할 수 있습니다. 이 에서는 합성 데이터가 생성되는 방식에 대한 여러 개선사항을 도입합니다. 이전 버전의 Wear OS에서 다음 단계를 따르세요.
Wear OS 4 이상의 합성 데이터 생성은 Health Services API 수명 주기 즉, adb가 필요하지 않습니다. 운동을 시작하거나 중지합니다. 대신 운동을 할 수 있습니다.
운동 이벤트에 대한 지원 확대: 자동 일시 중지 수신을 시뮬레이션할 수 있습니다. 이벤트 재개를 위한 가을 이벤트, 수면 감지, 골프 샷 감지도 사용할 수 있습니다.
건강 관리 서비스 센서 패널 사용
Android 스튜디오 Koala 기능 출시 (Canary)에는 Wear OS 센서 패널의 건강 관리 서비스 패널을 사용하여 기기에 특정 센서 기능이 있거나 없는 것이 중요한데, Wear OS에서 피트니스 앱을 빌드할 때 테스트하는 것이 좋습니다
또한 패널을 사용하여 측정항목 값을 변경하고 자동으로 조정됩니다.
패널을 열고 사용하려면 다음 단계를 따르세요.
- Android Virtual Device (AVD) 만들기 또는 열기 에뮬레이터에서 앱을 실행합니다.
- 에뮬레이터 패널에서 Wear Health Services를 선택합니다. Wear Health Services 패널 열리고 다양한 기기에서 사용 가능한 센서 목록이 Android 구동 기기
패널이 열리면 다음 작업을 수행할 수 있습니다.
- 표준 기능 간에 전환합니다. 모든 기능 (기본값) 또는 커스텀 Apply를 선택하여 최신 기능 목록을 에뮬레이션하고 재설정을 선택하여 기능 목록을 기본값 on-off 값으로 복원합니다.
- 이벤트 트리거를 선택한 후 다양한 사용자 이벤트 트리거 드롭다운 버튼을 클릭합니다. 여기에서 피트니스 자동 일시중지/재개를 트리거할 수 있습니다. 사용자의 수면 이벤트 트리거, 골프 샷 트리거 사용자가 골프 코스 또는 미니 골프 코스에서 하는 콘텐츠를 말합니다.
- 설치된 앱에서 운동을 시작한 후 센서 값 재정의 를 클릭합니다. 다양한 운동 지표에 새 값을 입력한 후 Apply를 선택하여 이 값을 에뮬레이터와 동기화합니다. 이는 앱이 다양한 운동 조건과 사용자의 동작을 처리하는 방식 테스트 피트니스 .
에뮬레이터로 합성 데이터 생성
또한 센서 패널 없이 앱을 실행하고 데이터를 에뮬레이터에 의해 자동으로 생성됩니다.
인앱 컨트롤을 사용하여 합성 데이터 생성을 시작, 일시중지, 종료합니다.
또한 에뮬레이터는 각 운동에 대해 동일한 데이터 값을 생성합니다.
이벤트 시뮬레이션
에뮬레이터에서 AUTO_PAUSE_DETECTED
와 같은 다양한 이벤트를 시뮬레이션할 수 있습니다.
다음 명령어를 사용하여 이러한 이벤트를 트리거할 수 있습니다.
adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices
합성 이벤트
이벤트 |
키 |
---|---|
자동 일시중지 감지됨 |
|
자동 다시 시작 감지됨 |
|
넘어짐 감지 |
|
수면 감지됨 |
|
수면 중지가 감지됨 |
|
골프 샷 감지됨 |
|
예를 들어 다음 명령어를 사용하여 자동 일시중지 이벤트를 트리거할 수 있습니다.
adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices
골프 샷 이벤트의 경우 골프 샷 스윙 유형에 대한 추가 매개변수를 지정해야 합니다. 아래에 요약되어 있습니다.
골프 샷 스윙 유형 |
매개변수 |
---|---|
스윙 퍼트 유형 |
퍼트 |
그네 부분 유형 |
부분적 |
스윙 풀 타입 |
최고 밝기 |
골프 샷 이벤트를 지정한 후에 골프 샷 스윙 유형을 추가합니다.
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \ "golf-swing-type-parameter" com.google.android.wearable.healthservices
예를 들어 다음 명령어는 부분 골프 샷을 트리거합니다.
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \ com.google.android.wearable.healthservices
Wear OS 3에서 합성 데이터 사용
Wear OS 3을 실행하는 에뮬레이터에서 테스트하는 경우 합성 애플리케이션을 사용할 수도 있습니다. 데이터를 사용하여 앱을 테스트할 수 있습니다.
합성 데이터 생성 사용 설정
Wear OS 3에서 합성 데이터 생성을 사용 설정하려면 다음 단계를 완료하세요.
- 개발자 옵션을 사용 설정합니다.
다음
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
합성 운동
건강 관리 서비스는 다음과 같은 운동 유형을 지원합니다.
- 걷기:
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
운동은 다음 데이터 유형에 맞는 실제적인 합성 데이터를 생성합니다.
- 심박수
- 분당 걸음 수
- GPS 위치(단일 기본 경로 사용)
- 활동 지속 시간
- 고도 및 층수
또한 다음과 같은 상태를 생성할 수 있습니다.
- 수면 상태(잠든 상태 또는 깨어 있는 상태)
- 넘어짐 감지
시작
운동 시뮬레이션을 시작하려면 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
각 활동에는 지원되는 측정항목에 관한 미리 설정된 항목이 있습니다.
활동 | 심박수 | 평균 속도 | 고도 변경 | 위치 사용 |
---|---|---|---|---|
걷기 | 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
실제 하드웨어나 에뮬레이션된 하드웨어가 특정 데이터 유형을 지원하는지와 관계없이 사용 가능한 데이터 유형을 변경할 수도 있습니다. 예를 들어, 다음 스니펫과 같이 절대 고도를 사용 설정하거나 중지할 수 있습니다.
# 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
기타 상태 및 이벤트
수면 상태
합성 사용자의 수면 상태를 트리거할 수도 있습니다. 잠든 상태와 깨어 있는 상태, 두 가지 상태가 지원됩니다.
잠든 상태로 전환하려면 다음 명령어를 실행합니다.
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
넘어짐 감지
넘어지는 동작을 시뮬레이션하려면 다음 명령어를 실행합니다.
adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices
건강 관리 서비스에서 넘어짐 이벤트가 전송되는 데는 최대 1분이 걸릴 수 있습니다.
추천 서비스
- 참고: JavaScript가 사용 중지되어 있으면 링크 텍스트가 표시됩니다.
- SourceType
- ArithmeticExpression
- ListConfiguration