한국전자통신연구원(ETRI) 프로젝트로 삼성 갤럭시 워치4 데이터 수집 앱을 개발했습니다. 연구 목적으로 만든 앱이지만, WearOS 개발의 핵심 도전들은 상용 헬스케어 앱에도 그대로 적용됩니다.
WearOS 앱이 일반 모바일 앱과 다른 점
스마트워치는 스마트폰을 작게 만든 것이 아닙니다. 하드웨어 제약이 완전히 다릅니다.
- 화면이 작다: 480×480px 수준. 스크롤 대신 스와이프. 텍스트 최소화
- 배터리가 작다: 일반 앱처럼 개발하면 하루도 못 갑니다
- 연산 능력이 제한적: 무거운 처리는 스마트폰이나 클라우드에 위임해야
- 항상 착용: 백그라운드에서 지속적으로 데이터를 수집해야 하는 경우가 많음
이 모든 제약을 고려한 설계가 WearOS 앱 개발의 핵심입니다.
ETRI 프로젝트: 무엇을 만들었나
연구 목적으로 사용자의 신체 데이터를 장기간 수집하는 앱입니다.
수집 데이터:
- 걸음 수, 이동 거리, 속력 (위치 데이터)
- 심박수 (건강 데이터)
- 가속도, 자이로 (자세 데이터)
조건:
- 포그라운드(앱 켜진 상태)와 백그라운드(앱 꺼진 상태) 모두에서 지속 수집
- 분 단위로 클라우드 데이터베이스에 자동 전송
- 관리자가 실시간으로 수집 현황 조회
이 요구사항을 만족시키는 것이 생각보다 훨씬 어려웠습니다.
핵심 도전 1 — 백그라운드 센서 수집
WearOS에서 앱이 백그라운드로 전환되면 센서 접근이 제한됩니다. 배터리 절약을 위한 시스템 정책 때문입니다.
이를 극복하기 위해:
- Foreground Service: 알림 표시 상태로 앱이 항상 실행 중임을 시스템에 알림
- WorkManager: 주기적인 데이터 전송 스케줄링
- Wake Lock: 화면이 꺼져도 CPU가 계속 작동하도록 (배터리 소모 주의)
이 세 가지를 조합해 백그라운드에서도 안정적으로 센서 데이터를 수집했습니다.
핵심 도전 2 — 배터리 최적화
백그라운드에서 GPS, 심박수 센서를 계속 켜두면 배터리가 반나절도 못 버팁니다.
최적화 접근:
- GPS 수집 주기 조절: 초 단위가 아닌 분 단위로 위치 업데이트
- 센서 배치(Batching): 센서 데이터를 개별 전송이 아닌 배치로 모아서 한 번에 처리
- 적응형 데이터 수집: 사용자가 움직이지 않을 때 수집 빈도 낮추기
- 클라우드 전송 최적화: Wi-Fi 연결 시에만 대량 전송, 블루투스로 폰을 경유
결과적으로 하루 종일 착용해도 배터리 50% 이상 유지되는 수준을 달성했습니다.
핵심 도전 3 — 스마트폰-워치-클라우드 3단 연동
데이터 흐름: 갤럭시 워치4 → 갤럭시 폰 → 클라우드
워치가 직접 인터넷에 연결하는 것보다, 블루투스로 페어링된 스마트폰을 통해 클라우드에 업로드하는 방식이 배터리 효율이 좋습니다.
이를 위한 설계:
- 워치 앱과 폰 앱이 블루투스로 실시간 통신 (Wearable Data Layer API)
- 폰 앱이 워치에서 받은 데이터를 클라우드에 업로드
- 워치 단독으로도 LTE 연결 시 직접 업로드 가능하도록 폴백 구현
핵심 도전 4 — 실시간 관리자 모니터링
연구자들이 실시간으로 피험자의 데이터를 확인할 수 있어야 했습니다.
- 피험자별 실시간 데이터 대시보드
- 데이터 수집 상태 확인 (정상/비정상)
- 특정 시간대 데이터 조회 및 CSV 내보내기
Firebase Realtime Database를 활용해 분 단위로 업데이트되는 실시간 대시보드를 구현했습니다.
WearOS 앱 개발 시 기술 스택 선택
언어: Kotlin (Android/WearOS 공식 언어)
센서 API: Samsung Health Sensor SDK — 갤럭시 워치 특화 센서에 접근하기 위해 필수
네트워크: Retrofit + Firebase. 분 단위 업로드에는 Retrofit, 실시간 대시보드에는 Firebase Realtime Database
백그라운드 처리: Android WorkManager + Foreground Service 조합
헬스케어 상용 앱에 적용할 때 추가 고려사항
ETRI 프로젝트는 연구 목적이라 규제에서 비교적 자유로웠습니다. 상용 헬스케어 앱이라면 추가로 고려해야 합니다.
개인정보: 심박수, 위치 같은 민감 정보는 더 엄격한 동의와 보안이 필요합니다.
앱스토어 심사: 건강 데이터를 수집하는 앱은 구글 플레이 스토어와 갤럭시 스토어에서 별도 심사를 받습니다. 승인 기준을 사전에 확인해야 합니다.
Samsung Health 연동: 상용 앱이라면 삼성 헬스 앱과 연동해 기존 건강 데이터를 활용할 수 있습니다. 이 경우 Samsung Health SDK 개발자 등록과 심사 과정이 필요합니다.
마치며
WearOS 앱 개발은 일반 모바일 앱 대비 제약이 많지만, 그만큼 “항상 몸에 붙어있는 기기”라는 강력한 강점이 있습니다.
헬스케어, 피트니스, 산업 안전(위험 지역 작업자 모니터링) 등 지속적인 신체 데이터가 필요한 서비스에서 웨어러블은 스마트폰을 대체할 수 없는 포지션을 가집니다. 배터리와 화면 제약을 잘 설계하면, 그 가치는 충분히 실현됩니다.
