웨어러블 앱 개발 가이드 | 갤럭시 워치·백엔드 연동 구조 설계
한국전자통신연구원(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 앱 개발은 일반 모바일 앱 대비 제약이 많지만, 그만큼 “항상 몸에 붙어있는 기기”라는 강력한 강점이 있습니다.
헬스케어, 피트니스, 산업 안전(위험 지역 작업자 모니터링) 등 지속적인 신체 데이터가 필요한 서비스에서 웨어러블은 스마트폰을 대체할 수 없는 포지션을 가집니다. 배터리와 화면 제약을 잘 설계하면, 그 가치는 충분히 실현됩니다.