헬스 커넥트는 클라이언트 앱과 헬스 커넥트 API를 빠르고 편리하게 통합할 수 있도록 설계되었습니다.
다음 다이어그램은 SDK 레이어와 IPC(프로세스 간 통신)를 통한 클라이언트 앱과 Health Connect API 간의 통합을 보여줍니다.
SDK 지원
SDK를 사용하면 클라이언트 앱에서 Health Connect API가 사용자의 기기에 있는지 확인할 수 있습니다. 기기에 없으면 사용 가능 여부 확인이 트리거되어 기기가 호환되는지 확인합니다.
헬스 커넥트 SDK는 최소 Android 8 (API 수준 26)을 지원하지만 헬스 커넥트 앱은 Android 9 (API 수준 28) 이상에서만 호환됩니다. 즉, 서드 파티 앱은 Android 8 사용자를 지원할 수 있지만 Android 9 이상 사용자만 헬스 커넥트를 사용할 수 있습니다.
아키텍처 구성요소
1. 소프트웨어 개발 키트
SDK를 사용하면 클라이언트 앱이 IPC를 통해 헬스 커넥트 APK와 통신할 수 있습니다.
2. 클라이언트 앱
헬스 커넥트와 통합하기 위해 클라이언트 앱은 SDK를 건강 및 피트니스 앱에 연결합니다. 이를 통해 Health Connect API와의 상호작용을 용이하게 하는 API 노출 영역을 제공합니다.
3. 헬스 커넥트 APK
헬스 커넥트 APK는 헬스 커넥트 API의 핵심이며 권한 관리 및 데이터 관리 구성요소를 모두 포함합니다. 헬스 커넥트 APK는 사용자 기기에서 직접 사용할 수 있습니다.
4. 권한 관리
헬스 커넥트에는 사용자 인터페이스가 포함되어 있으며 이를 통해 앱은 사용자의 권한을 요청하여 데이터를 표시합니다.
또한 기존 사용자 권한 목록을 제공하므로 사용자가 여러 애플리케이션에서 데이터에 대한 액세스를 제어할 수 있습니다.
5. 데이터 관리
헬스 커넥트는 사용자의 걸음 수나 사이클링 속도, 심박수, 기타 지원되는 데이터 유형과 상관없이 기록된 데이터에 관한 개요를 사용자 인터페이스에 제공합니다. 데이터 관리 기능은 다음과 같습니다.
CRUD 작업 및 데이터 동기화: 플랫폼에서는 데이터의 표준 삽입, 업데이트, 삭제 기능을 제공합니다. 또한 클라이언트 앱이 데이터를 동기화하는 기능도 포함되어 있으며, 이 기능은 다른 앱이 데이터를 삽입했는지 또는 삭제했는지를 보여주는 데이터 변경사항 로그를 생성합니다.
기본 집계 함수: 클라이언트는 다음을 비롯한 데이터에 집계 함수를 적용할 수 있습니다.
- 세션 중 최소 또는 최대 심박수와 같은 평균, 최소 또는 최대 값
- 일일 총 걸음 수와 같은 총합계입니다.
- 일주일의 활동 세션 수와 같은 측정의 단순한 개수입니다.
- 숙면 시간과 같은 지원되는 데이터 유형의 총 시간
헬스 커넥트를 통한 읽기: 헬스 커넥트를 사용하면 앱이 포그라운드에 있을 때 또는 사용자의 허락을 받아 백그라운드에서 실행되는 동안 앱이 사용자의 건강 및 피트니스 데이터를 읽을 수 있습니다.
- 포그라운드 읽기: 앱이 포그라운드에 있을 때 헬스 커넥트에서 데이터를 읽을 수 있으며, 더 긴 작업의 경우 중단을 방지하기 위해 포그라운드 서비스를 사용하는 것이 좋습니다.
- 백그라운드 읽기: 백그라운드에서 실행되는 동안 헬스 커넥트에서 데이터를 읽을 수 있는 권한이 사용자에게서 애플리케이션에 부여될 수 있습니다.