Wear OS의 건강 관리 서비스

Wear OS 3 및 이후 버전에는 건강 관리 서비스라는 서비스가 포함되어 있습니다. 건강 관리 서비스는 활동, 운동, 건강과 관련된 고품질 데이터를 앱에 제공하기 위해 기기의 다양한 센서와 관련 알고리즘의 중개자 역할을 합니다.

Health Services API는 베타 버전이므로 프로덕션 환경에서 사용할 수 있습니다.

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

건강 관리 서비스가 앱 개발자에게 도움이 되는 방식

건강 관리 서비스가 없으면 앱은 하나 또는 여러 개의 센서에 연결하여 각 센서를 적절하게 구성하고 원시 센서 데이터를 수신한 후 자체 알고리즘을 사용하여 의미 있는 정보를 얻어야 합니다. 예를 들어 앱이 Sensor.TYPE_PRESSURE 업데이트를 등록하여 현재 기압 정보를 가져오고 이를 사용하여 현재 고도를 계산하고, 일정 시간에 걸쳐 이 데이터를 집계하여 사용자의 활동 세션 동안 고도 변경사항을 표시합니다.

건강 관리 서비스는 모든 피트니스 및 건강 관련 센서를 사용 사례에 맞게 자동으로 구성하고 센서 데이터를 수집하며 심박수, 이동 거리, 칼로리, 고도, 오른 층수, 속도, 페이스와 같은 측정항목을 계산합니다. 앱은 건강 관리 서비스에서 직접 이 데이터를 등록할 수 있습니다.

with-health-services

건강 관리 서비스 사용의 이점은 다음과 같습니다.

  • 플랫폼에서 기본적으로 실행되는 강력한 알고리즘을 활용합니다.
  • 전력 효율에 최적화된 건강 관리 서비스의 센서 구성을 사용하여 배터리를 절약합니다.
  • Wear 3 이상 기기용으로 앱을 대비합니다. Health Services API는 여러 Wear 3 이상 기기에서 일관성 있게 작동하기 때문에 앱을 최신 상태로 쉽게 유지할 수 있습니다.
  • 표준화된 플랫폼 계산을 사용하여 같은 기기의 모든 애플리케이션에서 데이터 일관성을 보장합니다.
  • 다른 앱에서 시작한 진행 중인 운동을 감지하는 기능을 비롯하여 활동 인식 환경을 사용 설정합니다.

이러한 이점으로 인해 개발자는 고유한 기능과 사용자 환경을 개발하는 데 집중하면서, 전력 효율이 높은 방식으로 강력하고 일관된 측정항목을 제공하는 데 플랫폼을 사용할 수 있습니다.

건강 관리 서비스 개념

건강 관리 서비스로 개발할 때는 다음 개념에 유의하세요.

데이터 유형

건강 관리 서비스는 기기에서 사용 가능한 모든 소스에서 수집되고 지속적으로 업데이트되는 다양한 데이터를 제공합니다. 데이터는 두 가지 광범위한 카테고리로 분류됩니다. 하나는 단일 시점에 샘플링된 데이터(예: HEART_RATE_BPM)이고 하나는 시간 간격을 두고 수집된 데이터(예: DISTANCE)입니다.

자세한 내용은 데이터 유형의 전체 목록을 참고하세요.

이벤트

앱은 사용자가 특정 목표 상태 또는 이벤트에 도달할 때 이벤트를 수신합니다. 예를 들어 사용자가 운동 앱 내에서 거리 목표를 등록하면 앱은 사용자가 특정 거리를 달렸을 때 사용자에게 알립니다. 또는 사용자가 특정 걸음 수를 달성하거나 잠드는 등의 상황에는 수동적인 목표를 사용합니다.

자세한 내용은 운동 목표수동적 목표를 참고하세요.

운동 유형

건강 관리 서비스는 운동을 일급 기능으로 간주하며 달리기나 스키와 같은 다양한 운동 유형을 지원합니다. 운동이 진행되는 동안 건강 관리 서비스는 선택된 데이터 유형에서 측정항목을 수집하고 운동을 관리하는 앱에 다시 보고할 수 있습니다.

자세한 내용은 운동 유형의 전체 목록을 참고하세요.

건강 관리 서비스를 사용하여 앱 만들기

다음 섹션에 설명된 대로 건강 관리 서비스를 사용하여 앱을 만드세요.

수동적 환경

PassiveMonitoringClient를 사용하면 앱은 데이터 유형 또는 이벤트에 관한 업데이트를 수신하는 PassiveListenerService를 구현합니다. 이는 데이터 업데이트가 비교적 드물게 발생하는 장기 지속 환경에 적합합니다.

자세한 내용은 수동적 데이터 업데이트를 참고하세요.

활성 환경

MeasureClient를 사용하면 앱에서 리스너를 등록하여 빠른 데이터 업데이트를 수신할 수 있습니다. 이는 사용자가 앱 UI를 보는 동안과 같이 단기 지속 환경에 적합합니다. 앱이 등록된 리스너로 소비하는 시간을 최소화해 보세요. 센서 샘플링 레이트가 증가하여 전력 소모가 증가하기 때문입니다. 이 API는 백그라운드 캡처나 운동 추적용이 아닙니다.

자세한 내용은 MeasureClient로 스팟 건강 측정을 참고하세요.

ExerciseClient를 사용하면 앱에서 사용자의 운동을 관리하고 운동 목표를 설정하며 현재 운동 상태에 관한 업데이트를 수신 대기할 수 있습니다. 운동이 앱에 속해 있다면 앱에서 이 API를 통해 빠른 데이터 업데이트를 받을 수도 있습니다. ExerciseClient는 사용자가 달리기를 기록할 수 있고, 기기에서 실시간 측정항목을 표시하며 추가 분석을 위해 데이터를 기록하는 달리기 앱과 같은 앱에 사용할 수 있습니다.

자세한 내용은 ExerciseClient로 운동 기록을 참고하세요.

합성 데이터로 테스트

앱이 건강 관리 서비스에서 데이터 업데이트를 수신하는지 테스트하려면 사용자가 운동 중인 것처럼 데이터를 내보내도록 수동으로 기기를 설정하세요.

자세한 내용은 건강 관리 서비스에서 합성 데이터 사용을 참고하세요.