개발자 정보

센서 레퍼런스

Galaxy Watch(Wear OS)에서 무엇을 초 단위로 받을 수 있고 무엇은 받을 수 없는지, 그 근거까지 정리했습니다. 기준은 Samsung Health Sensor SDK 1.4.1입니다.

수집 경로

경로아티팩트무엇을 주는가권한/제약
Samsung Health Sensor SDKsamsung-health-sensor-api-1.4.1.aar생체신호 raw/측정Privileged SDK, Samsung Health 앱 필요, 워치 전용
Wear Health Servicesandroidx.health.services운동/활동 지표표준 Wear OS API
Android SensorManager / FusedLocation모션·위치 raw표준 Android 권한
Samsung Health Monitor (별도 앱)혈압·ECG 인증 측정외부 API 접근 불가, 지역 잠금

생체신호 — Samsung Health Sensor SDK

센서/지표설명측정 주기권한이유
PPG (GREEN/IR/RED)광혈류측정 raw 파형✅ ~25Hz❌ 파트너 승인 필요PPG_CONTINUOUS 자체는 ~25Hz로 스트리밍할 수 있지만, raw PPG에 접근하려면 Samsung 파트너/privileged 승인이 필요합니다. 일반 앱은 차단되며 이 앱도 수집하지 않습니다.
심박수 (HR)분당 심박✅ ~1Hz✅ BODY_SENSORSHEART_RATE_CONTINUOUS 스트리밍
가속도3축 가속 raw✅ ~25Hz+✅ BODY_SENSORSACCELEROMETER_CONTINUOUS 스트리밍 (SDK 경유)
산소포화도 (SpO₂)혈중 산소 %❌ 불가❌ 파트너 승인on-demand 세션(~30초 후 단일값). 움직이면 실패. 연속 트래커 없음
ECG (심전도)심전도 파형❌ 단발 세션❌ 파트너 승인30초 측정 세션. 양손 접촉 유지 필요. 백그라운드 연속 불가
BIA (체성분)임피던스 체성분❌ 불가❌ 파트너 승인단발 측정. 양손 접촉 필요
피부온도손목 피부온(심부 아님)⚠️ 조건부⚠️ SSENSOR (Watch5+)Watch5+ 벤더 센서(SensorManager 직접 읽기). privileged SSENSOR 권한 없으면 null. 연속 모드는 분 단위 저주파
땀손실 (SWEAT_LOSS)운동 중 추정 수분손실❌ 불가❌ 파트너 승인운동 종료 시 누적 추정값 1개

‘측정 주기가 있다’ ≠ ‘권한이 있다’

측정 주기 열은 그 주기로 스트리밍할 수 있다는 뜻일 뿐, 접근 권한과는 별개입니다. Samsung Health Sensor SDK는 privileged라 Samsung Health 앱 + 워치 전용이고, raw PPG처럼 민감한 신호는 파트너/privileged 승인이 있어야 열립니다. 승인 없는 일반 앱은 PPG_CONTINUOUS가 ~25Hz여도 막힙니다. 이 앱이 SDK로 실제 받는 건 심박(HR continuous)뿐, raw PPG는 안 받습니다.

활동/운동 — Wear Health Services

지표설명측정 주기권한이유
걸음 수누적 걸음 수✅ ACTIVITY_RECOGNITIONSTEPS 델타/누적. 갱신 빈도는 기기 의존
보행 속도이동 속도✅ ACTIVITY_RECOGNITION (+위치)SPEED. GPS 활성 시 정확
보행 페이스단위거리당 시간✅ ACTIVITY_RECOGNITIONPACE
이동거리누적 거리✅ ACTIVITY_RECOGNITIONDISTANCE 누적
케이던스분당 걸음수✅ ACTIVITY_RECOGNITIONSTEPS_PER_MINUTE
고도/층수오른 층수⚠️ 부분✅ 권한 불필요 (기압계)FLOORS/기압계. 이벤트성이라 초 단위로는 의미가 약함

1Hz를 항상 보장하진 않습니다

Health Services는 ‘스트리밍 가능’으로 표시돼도 기기·전원 모드에 따라 갱신이 1초보다 느려질 수 있습니다. 표의 ~1Hz는 상한값이지 보장값이 아닙니다.

모션/위치 raw — SensorManager / FusedLocation

센서설명측정 주기권한이유
자이로스코프3축 각속도✅ 고주파✅ 권한 불필요TYPE_GYROSCOPE. 수십~수백 Hz
가속도계3축 가속✅ 고주파✅ 권한 불필요TYPE_ACCELEROMETER
지자기방위/자기장✅ 권한 불필요TYPE_MAGNETIC_FIELD
회전벡터융합 방향✅ 권한 불필요TYPE_ROTATION_VECTOR (센서퓨전)
기압계고도 추정✅ 권한 불필요TYPE_PRESSURE
위치 (GPS)좌표/이동✅ ~1Hz✅ ACCESS_FINE_LOCATIONFusedLocation. 배터리 소모 큼

고주파 raw는 용량·배터리 부담이 큽니다

자이로·가속도를 수백 Hz로 받으면 저장 용량과 배터리가 빠르게 소모됩니다. 다운샘플링을 설계 단계에서 함께 고려하세요.

파생 지표 — 직접 트래커 없음

지표설명측정 주기권한이유 / 우회
스트레스자율신경 긴장도❌ 직접 불가⚠️ Health Connect 읽기raw 트래커 없음(HRV 파생값). 우회: PPG/HR로 HRV 자작 계산 또는 Health Connect 읽기(비실시간)
혈압수축/이완기압❌ 사실상 불가❌ 외부 앱 전용SDK 트래커 없음. Samsung Health Monitor 별도 앱(커프 calibration·지역 잠금·API 차단)

한눈에

고주파·초 단위로 받을 수 있는 것:

  • 심박 (~1Hz), 가속도 (~25Hz+) — Samsung SDK (raw PPG는 파트너 승인 필요·미수집)
  • 자이로·가속도·지자기·기압 (수십~수백 Hz) — SensorManager
  • GPS (~1Hz) — FusedLocation
  • 걸음·속도·거리·케이던스 (~1Hz, 기기 의존) — Health Services

on-demand 단발 측정이라 초 단위로는 받을 수 없는 것: SpO₂·ECG·BIA·땀손실.

조건부: 피부온도 (Watch5+, 저주파).

경로 자체가 없는 것: 혈압(외부 앱), 실시간 스트레스(HRV를 직접 계산해야 함).

MVP 우선순위

  1. 확실하고 쉬움 — 걸음·속도·거리(HS) + 자이로·가속도(SensorManager) + HR continuous(SDK)
  2. 조건부 — 피부온도(Watch5+ 분기), GPS(배터리 트레이드오프)
  3. 파이프라인 자작 — 스트레스(HRV 계산), SpO₂ 근사(PPG R-ratio)
  4. 보류 — 혈압

앱 사용자용 요약은 E. 센서 가이드에 있습니다. 여긴 API·근거 위주의 개발자 레퍼런스입니다.