시작하기
이 플러그인의 설치 단계와 전체 마크다운 가이드를 포함한 설정 프롬프트를 복사하십시오.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-health`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/health/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
설치
설치 제목플러그인을 설치하기 위해 AI-Assisted Setup을 사용할 수 있습니다. AI 도구에 Capgo 스킬을 추가하려면 다음 명령어를 사용하세요:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins그다음에 다음 프롬프트를 사용하세요:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-health` plugin in my project.만약 Manual Setup을 선호한다면, 플러그인을 설치하기 위해 다음 명령어를 실행하고 아래의 플랫폼별 지침을 따르세요:
bun add @capgo/capacitor-healthbunx cap syncImport
Import 섹션import { Health } from '@capgo/capacitor-health';API 개요
API 개요 섹션isAvailable
isAvailable 섹션isAvailable() 함수는 현재 플랫폼이 네이티브 헬스 SDK를 지원하는지 여부를 반환합니다.
import { Health } from '@capgo/capacitor-health';
await Health.isAvailable();requestAuthorization
requestAuthorization 섹션requestAuthorization() 함수는 제공된 데이터 타입에 대한 읽기/쓰기 접근 권한을 요청합니다.
import { Health } from '@capgo/capacitor-health';
await Health.requestAuthorization({} as AuthorizationOptions);checkAuthorization
권한 확인사용자에게 권한 확인을 요청하지 않고 제공된 데이터 유형의 권한 상태를 확인합니다.
import { Health } from '@capgo/capacitor-health';
await Health.checkAuthorization({} as AuthorizationOptions);readSamples
샘플 읽기지정된 시간 범위 내에서 지정된 데이터 유형의 샘플을 읽습니다.
import { Health } from '@capgo/capacitor-health';
await Health.readSamples({} as QueryOptions);saveSample
샘플 저장자연스러운 저장소에 단일 샘플을 씁니다.
import { Health } from '@capgo/capacitor-health';
await Health.saveSample({} as WriteSampleOptions);openHealthConnectSettings
건강 연결 설정 열기Android에서만 건강 연결 설정 화면을 열립니다. iOS에서는 아무런 동작도 하지 않습니다.
이 섹션을 사용하여 사용자가 Health Connect 권한을 관리하거나 Health Connect가 설치되지 않은 경우 설치하도록 안내하세요.
import { Health } from '@capgo/capacitor-health';
await Health.openHealthConnectSettings();showPrivacyPolicy
‘showPrivacyPolicy’ 섹션 제목Health Connect (안드로이드만)에서 앱의 개인 정보 정책을 표시합니다. iOS에서는 이 메서드는 아무런 동작도 하지 않습니다.
Health Connect에서 사용자가 “개인 정보 정책”을 탭할 때 표시되는 개인 정보 정책 화면과 동일한 화면을 표시합니다.
개인 정보 정책 URL을 설정하려면 앱의 strings.xml에 “health_connect_privacy_policy_url”라는 이름의 문자열 리소스를 추가하거나 www/privacypolicy.html 파일을 앱의 자산에 위치시키세요.
import { Health } from '@capgo/capacitor-health';
await Health.showPrivacyPolicy();queryWorkouts
‘queryWorkouts’ 섹션 제목native health store에서 운동 세션을 쿼리합니다. iOS (HealthKit)와 Android (Health Connect)에서 지원됩니다.
import { Health } from '@capgo/capacitor-health';
await Health.queryWorkouts({} as QueryWorkoutsOptions);queryAggregated
‘queryAggregated’ 섹션 제목native health store에서-aggregated health 데이터를 쿼리합니다. 시간 단위 (시간, 일, 주, 월)로 데이터를 집계하고 합, 평균, 최소, 최대와 같은 연산을 수행합니다. 대량의 날짜 범위에 대한 개별 샘플을 가져오는 것보다 더 효율적입니다.
iOS (HealthKit)와 Android (Health Connect)에서 지원됩니다.
import { Health } from '@capgo/capacitor-health';
await Health.queryAggregated({} as QueryAggregatedOptions);타입 참조
타입 참조AvailabilityResult
AvailabilityResultexport interface AvailabilityResult { available: boolean; /** Platform specific details (for debugging/diagnostics). */ platform?: 'ios' | 'android' | 'web'; reason?: string;}AuthorizationOptions
AuthorizationOptionsexport interface AuthorizationOptions { /** Data types that should be readable after authorization. */ read?: HealthDataType[]; /** Data types that should be writable after authorization. */ write?: HealthDataType[];}AuthorizationStatus
AuthorizationStatusexport interface AuthorizationStatus { readAuthorized: HealthDataType[]; readDenied: HealthDataType[]; writeAuthorized: HealthDataType[]; writeDenied: HealthDataType[];}QueryOptions
QueryOptionsexport interface QueryOptions { /** The type of data to retrieve from the health store. */ dataType: HealthDataType; /** Inclusive ISO 8601 start date (defaults to now - 1 day). */ startDate?: string; /** Exclusive ISO 8601 end date (defaults to now). */ endDate?: string; /** Maximum number of samples to return (defaults to 100). */ limit?: number; /** Return results sorted ascending by start date (defaults to false). */ ascending?: boolean;}ReadSamplesResult
ReadSamplesResultexport interface ReadSamplesResult { samples: HealthSample[];}WriteSampleOptions
WriteSampleOptionsexport interface WriteSampleOptions { dataType: HealthDataType; value: number; /** * Optional unit override. If omitted, the default unit for the data type is used * (count for `steps`, meter for `distance`, kilocalorie for `calories`, bpm for `heartRate`, kilogram for `weight`). */ unit?: HealthUnit; /** ISO 8601 start date for the sample. Defaults to now. */ startDate?: string; /** ISO 8601 end date for the sample. Defaults to startDate. */ endDate?: string; /** Metadata key-value pairs forwarded to the native APIs where supported. */ metadata?: Record<string, string>; /** For blood pressure data, the systolic value in mmHg. Required when dataType is 'bloodPressure'. */ systolic?: number; /** For blood pressure data, the diastolic value in mmHg. Required when dataType is 'bloodPressure'. */ diastolic?: number;}QueryWorkoutsOptions
QueryWorkoutsOptionsexport interface QueryWorkoutsOptions { /** Optional workout type filter. If omitted, all workout types are returned. */ workoutType?: WorkoutType; /** Inclusive ISO 8601 start date (defaults to now - 1 day). */ startDate?: string; /** Exclusive ISO 8601 end date (defaults to now). */ endDate?: string; /** Maximum number of workouts to return (defaults to 100). */ limit?: number; /** Return results sorted ascending by start date (defaults to false). */ ascending?: boolean; /** * Anchor for pagination. Use the anchor returned from a previous query to continue from that point. * On iOS, this is the ISO 8601 cursor returned by the previous query. On Android, this uses * Health Connect's pageToken. * Omit this parameter to start from the beginning. */ anchor?: string;}QueryWorkoutsResult
QueryWorkoutsResultexport interface QueryWorkoutsResult { workouts: Workout[]; /** * Anchor for the next page of results. Pass this value as the anchor parameter in the next query * to continue pagination. If undefined or null, there are no more results. */ anchor?: string;}QueryAggregatedOptions
QueryAggregatedOptionsexport interface QueryAggregatedOptions { /** The type of data to aggregate from the health store. */ dataType: HealthDataType; /** Inclusive ISO 8601 start date (defaults to now - 1 day). */ startDate?: string; /** Exclusive ISO 8601 end date (defaults to now). */ endDate?: string; /** Time bucket for aggregation (defaults to 'day'). */ bucket?: BucketType; /** Aggregation operation to perform (defaults to 'sum'). */ aggregation?: AggregationType;}QueryAggregatedResult
QueryAggregatedResultexport interface QueryAggregatedResult { samples: AggregatedSample[];}HealthDataType
HealthDataTypeexport type HealthDataType = | 'steps' | 'distance' | 'calories' | 'heartRate' | 'weight' | 'sleep' | 'respiratoryRate' | 'oxygenSaturation' | 'restingHeartRate' | 'heartRateVariability' | 'bloodPressure' | 'bloodGlucose' | 'bodyTemperature' | 'height' | 'flightsClimbed' | 'exerciseTime' | 'distanceCycling' | 'bodyFat' | 'basalBodyTemperature' | 'basalCalories' | 'totalCalories' | 'mindfulness' | 'workouts';HealthSample
HealthSampleexport interface HealthSample { dataType: HealthDataType; value: number; unit: HealthUnit; startDate: string; endDate: string; sourceName?: string; sourceId?: string; /** Platform-specific unique identifier (HealthKit UUID on iOS, Health Connect metadata ID on Android). */ platformId?: string; /** For sleep data, indicates the sleep state (e.g., 'asleep', 'awake', 'rem', 'deep', 'light'). */ sleepState?: SleepState; /** For blood pressure data, the systolic value in mmHg. */ systolic?: number; /** For blood pressure data, the diastolic value in mmHg. */ diastolic?: number;}실질적 진실의 근원
실질적 진실의 근원이 페이지는 플러그인의 src/definitions.ts공개 API이 업스트림에서 변경될 때 다시 싱크를 실행하세요.
시작부터 계속하기
시작부터 계속하기이 플러그인을 사용하는 경우 시작하기 설정 대시보드와 API 연산을 계획하고 연결하세요. Using @capgo/capacitor-health Using @capgo/capacitor-health API 개요 API Overview 소개 Introduction API 키 API Keys 장치 Devices