HealthCapgo repository
このプラグインのインストール手順と全体のマークダウンガイドを含むセットアッププロンプトをコピー
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.
インストール
「インストール」のセクションCapgoの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 syncインポート
「インポート」のセクションimport { Health } from '@capgo/capacitor-health';APIの概要
「APIの概要」のセクションisAvailable
「isAvailable」のセクションSDKのネイティブヘルス機能が現在のプラットフォームでサポートされているかどうかを返します。
import { Health } from '@capgo/capacitor-health';
await Health.isAvailable();requestAuthorization
「requestAuthorization」のセクション指定されたデータタイプに対して読み取り/書き込みアクセスを要求します。
import { Health } from '@capgo/capacitor-health';
await Health.requestAuthorization({} as AuthorizationOptions);checkAuthorization
「checkAuthorization」セクション指定されたデータタイプの承認状態を確認しますが、ユーザーに質問はしません。
import { Health } from '@capgo/capacitor-health';
await Health.checkAuthorization({} as AuthorizationOptions);readSamples
「readSamples」セクション指定されたデータタイプのサンプルを指定された時間枠内で読み取ります。
import { Health } from '@capgo/capacitor-health';
await Health.readSamples({} as QueryOptions);saveSample
「saveSample」セクションネイティブのヘルスストアに単一のサンプルを書き込みます。
import { Health } from '@capgo/capacitor-health';
await Health.saveSample({} as WriteSampleOptions);openHealthConnectSettings
「openHealthConnectSettings」セクションAndroid専用のヘルス接続設定画面を開きます。 iOSでは何も実行されません。
ユーザーをHealth Connectの管理に導くために使用します または、Health Connectが利用できない場合にインストールします。
import { Health } from '@capgo/capacitor-health';
await Health.openHealthConnectSettings();showPrivacyPolicy
「showPrivacyPolicy」セクションのタイトルHealth Connect (Android専用)のアプリのプライバシーポリシーを表示します。 iOSでは、このメソッドは何も実行しません。
ユーザーがパーミッションダイアログの「プライバシーポリシー」ボタンをタップしたときに表示される同じプライバシーポリシースクリーンを表示します。
プライバシーポリシーURLは、appのstrings.xmlファイルに「health_connect_privacy_policy_url」という名前の文字列リソースを追加することで設定できます。 または、assetsのwwwディレクトリに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 dataをクエリします。 データを時間枠 (1時間、1日、1週間、1か月) に集約し、合計、平均、最小値、最大値などの演算を実行します。 大きな日付範囲の場合、個々のサンプルを取得するのではなく、効率的な方法です。
iOS (HealthKit) と Android (Health Connect) でサポートされています。
import { Health } from '@capgo/capacitor-health';
await Health.queryAggregated({} as QueryAggregatedOptions);型参照
「型参照」AvailabilityResult
「AvailabilityResult」export interface AvailabilityResult { available: boolean; /** Platform specific details (for debugging/diagnostics). */ platform?: 'ios' | 'android' | 'web'; reason?: string;}AuthorizationOptions
「AuthorizationOptions」export interface AuthorizationOptions { /** Data types that should be readable after authorization. */ read?: HealthDataType[]; /** Data types that should be writable after authorization. */ write?: HealthDataType[];}AuthorizationStatus
「AuthorizationStatus」export interface AuthorizationStatus { readAuthorized: HealthDataType[]; readDenied: HealthDataType[]; writeAuthorized: HealthDataType[]; writeDenied: HealthDataType[];}QueryOptions
「QueryOptions」export 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
「ReadSamplesResult」セクションexport interface ReadSamplesResult { samples: HealthSample[];}WriteSampleOptions
「WriteSampleOptions」セクションexport 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
「QueryWorkoutsOptions」セクションexport 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
「QueryWorkoutsResult」セクションexport 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
「QueryAggregatedOptions」セクションexport 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
「QueryAggregatedResult」セクションexport interface QueryAggregatedResult { samples: AggregatedSample[];}HealthDataType
HealthDataTypeのセクションexport 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
HealthSampleのセクションexport 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がアップストリームで変更されたときに再度Syncを実行してください。
Getting Startedから続けてください
Keep going from Getting Startedのセクションあなたが Getting Startedを使用している場合 ダッシュボードとAPIの作業を計画するには、APIに接続する必要があります。 Using @capgo/capacitor-health Using @capgo/capacitor-health APIの概要 for the implementation detail in API Overview 概要 for the implementation detail in Introduction APIのキー for the implementation detail in API Keys, and デバイス for the implementation detail in Devices.