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は、strings.xmlファイルに「health_connect_privacy_policy_url」という名前の文字列リソースを追加するか、またはassetsディレクトリのwww/privacypolicy.htmlファイルに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から続けてください
Getting Startedから続けてくださいのセクションあなたが使用している場合 Getting Started ダッシュボードとAPIの作業を計画するには、APIに接続する必要があります。 Using @capgo/capacitor-health Using @capgo/capacitor-health APIの概要 APIの概要 導入 導入 APIのキー APIのキー デバイス デバイス