Repolode
appeeky

appeeky/expo-healthkit

Apple HealthKit과 Android Health Connect를 하나의 JavaScript API로 제공하는 Expo/React Native 모듈입니다.

대체할 수 있는 제품:react-native-healthkit

스타
108
포크
8
열린 이슈
1
마지막 커밋
11일 전

어떤 프로젝트인가요?

@appeeky/expo-healthkit은 Expo Modules API를 기반으로 만든 네이티브 모듈로, Expo 및 React Native 앱에서 두 플랫폼의 건강 데이터를 하나의 JavaScript API로 다룰 수 있게 합니다. iOS에서는 HealthKit, Android에서는 Health Connect를 사용합니다. 앱 코드는 항상 Apple 타입 식별자를 전달하고 네이티브 계층이 플랫폼별 타입으로 매핑하므로, 걸음 수·심박수·수면·체중·혈압 같은 매핑된 타입을 처리할 때 플랫폼별 분기가 필요하지 않습니다.

수량 및 카테고리 샘플, 운동, 통계 집계와 구간별 통계를 조회할 수 있으며, 심전도, 활동 링, FHIR 임상 기록, 운동 GPS 경로 등 iOS 전용 데이터도 조회할 수 있습니다. 수량 및 카테고리 샘플, 운동, 혈압 같은 상관 데이터 기록과 삭제도 지원합니다. 증분 동기화에는 불투명한 앵커 토큰을 사용하며, Android에서는 먼저 페이지 단위로 데이터를 읽은 뒤 Health Connect 변경 토큰을 사용합니다.

config plugin은 HealthKit 권한 설정과 Health Connect 권한 선언을 추가하고 minSdk를 26으로 올립니다. Expo SDK 53 이상과 development build가 필요하며(Expo Go는 지원하지 않음), iOS 16.4 이상 및 Android 8 이상을 지원합니다.

핵심 기능

  • 01두 플랫폼에서 하나의 API를 사용합니다. iOS와 Android에서 같은 메서드와 Apple 타입 식별자를 사용할 수 있으며, 매핑은 네이티브에서 처리합니다.
  • 02queryStatisticsCollection을 통한 구간별 버킷을 포함해 수량 샘플, 카테고리 샘플, 운동 및 통계를 조회합니다.
  • 03심전도, 활동 링, FHIR 임상 기록, 청력도, 운동 GPS 경로, 심박 시리즈 및 상관 데이터를 iOS에서만 조회할 수 있습니다.
  • 04queryAnchored를 통한 증분 동기화로 페이지 단위 동기화에 필요한 added, deleted, anchor, hasMore를 반환합니다.
  • 05saveQuantitySample, saveCategorySample, saveWorkout, saveCorrelation 및 deleteObjects로 데이터를 저장하고 삭제합니다.
  • 06observe, addUpdateListener, enableBackgroundDelivery를 사용해 백그라운드 전달을 지원합니다. 앱이 종료된 상태에서 다시 실행되면 저장된 observer 타입을 다시 등록합니다.
  • 07config plugin이 HealthKit 사용 목적 문자열과 Health Connect uses-permission 항목을 선언하고 minSdk를 26으로 올립니다.
  • 08ERR_HEALTHKIT_UNSUPPORTED, ERR_HEALTH_CONNECT_UNSUPPORTED, ERR_HEALTH_CONNECT_ANCHOR_EXPIRED처럼 구분된 오류 코드를 사용하므로 Platform.OS 확인 없이 지원되지 않는 UI를 숨길 수 있습니다.

활용 사례

  • 피트니스 앱에서 일일 걸음 수, 심박수 또는 수면 데이터를 읽기.
  • 체중, 혈압 또는 체성분 추이를 보여 주는 건강 대시보드 만들기.
  • 앱 내에서 기록한 운동과 샘플을 HealthKit 또는 Health Connect에 저장하기.
  • 앵커 기반 증분 조회로 사용자의 건강 기록을 자체 백엔드에 동기화하기.
  • ECG나 활동 링 같은 Apple 전용 데이터를 iOS에서 표시하고 Android에서는 숨기기.

빠른 시작

  1. 1

    Expo로 패키지를 설치합니다

    npx expo install @appeeky/expo-healthkit
  2. 2

    app.json 또는 app.config.ts에 config plugin을 추가합니다

  3. 3

    네이티브 코드를 다시 빌드하고 development build에서 실행합니다

    npx expo prebuild --clean

사용 전 알아둘 점

  • Health 데이터 API는 Expo Go에서 실행할 수 없으며 development build가 필요합니다.
  • HealthKit capability를 활성화한 iOS 16.4 이상 또는 Health Connect가 포함된 Android 8 이상이 필요합니다.
  • 패키지 메타데이터에 라이선스가 선언되어 있지 않습니다(NOASSERTION). 사용 전에 라이선스를 확인하세요.
  • iOS에서는 읽기 권한 상태가 불투명하므로 앱에서 읽기가 거부되었는지 확인할 수 없습니다.

포함된 컬렉션

토픽

#react-native#expo#healthkit#health-connect#ios#android#mobile#typescript#health-data#apple-healthkit

자주 묻는 질문

expo-healthkit은(는) 무엇인가요?
Apple HealthKit과 Android Health Connect를 하나의 JavaScript API로 제공하는 Expo/React Native 모듈입니다. @appeeky/expo-healthkit은 Expo Modules API를 기반으로 만든 네이티브 모듈로, Expo 및 React Native 앱에서 두 플랫폼의 건강 데이터를 하나의 JavaScript API로 다룰 수 있게 합니다. iOS에서는 HealthKit, Android에서는 Health Connect를 사용합니다. 앱 코드는 항상 Apple 타입 식별자를 전달하고 네이티브 계층이 플랫폼별 타입으로 매핑하므로, 걸음 수·심박수·수면·체중·혈압 같은 매핑된 타입을 처리할 때 플랫폼별 분기가 필요하지 않습니다.
expo-healthkit은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
expo-healthkit은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
expo-healthkit은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. expo-healthkit의 마지막 커밋은 2026년 10월 26일입니다.
expo-healthkit은(는) 어디에 사용할 수 있나요?
피트니스 앱에서 일일 걸음 수, 심박수 또는 수면 데이터를 읽기. 체중, 혈압 또는 체성분 추이를 보여 주는 건강 대시보드 만들기. 앱 내에서 기록한 운동과 샘플을 HealthKit 또는 Health Connect에 저장하기. 앵커 기반 증분 조회로 사용자의 건강 기록을 자체 백엔드에 동기화하기. ECG나 활동 링 같은 Apple 전용 데이터를 iOS에서 표시하고 Android에서는 숨기기.
expo-healthkit는 어떻게 설치하나요?
Expo로 패키지를 설치합니다: npx expo install @appeeky/expo-healthkit app.json 또는 app.config.ts에 config plugin을 추가합니다 네이티브 코드를 다시 빌드하고 development build에서 실행합니다: npx expo prebuild --clean
expo-healthkit은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/appeeky/expo-healthkit

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트