Skip to content

Getting Started

GitHub

AIアシストセットアップを使用してプラグインをインストールできます。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セットアップを使用する場合は、以下のコマンドを実行してプラグインをインストールし、以下のプラットフォーム固有の指示に従ってください。

ターミナル画面
bun add @capgo/capacitor-health
bunx cap sync
import { Health } from '@capgo/capacitor-health';

SDK のネイティブヘルス機能がサポートされているかどうかを返します。

import { Health } from '@capgo/capacitor-health';
await Health.isAvailable();

指定されたデータタイプに対して読み取り/書き込みアクセスを要求します。

import { Health } from '@capgo/capacitor-health';
await Health.requestAuthorization({} as AuthorizationOptions);

ユーザーに質問することなく、指定されたデータタイプに対する認可状態を確認します。

import { Health } from '@capgo/capacitor-health';
await Health.checkAuthorization({} as AuthorizationOptions);

指定されたデータ型のサンプルを指定された時間枠内で読み取ります。

import { Health } from '@capgo/capacitor-health';
await Health.readSamples({} as QueryOptions);

ネイティブのヘルスストアに単一のサンプルを書き込みます。

import { Health } from '@capgo/capacitor-health';
await Health.saveSample({} as WriteSampleOptions);

Android用にヘルスコネクト設定画面を開きます (iOSでは何も行われません)。 iOS用にユーザーをヘルスコネクトのパーミッションを管理するように案内するか、ヘルスコネクトをインストールするように案内します。

クリップボードにコピー

import { Health } from '@capgo/capacitor-health';
await Health.openHealthConnectSettings();

Androidのみで、Health Connectのプライバシーポリシーを表示します。 iOSでは、このメソッドは何も実行しません。

Health Connectの許可ダイアログで「プライバシーポリシー」をタップしたときに表示されるプライバシーポリシーの画面を表示します。

プライバシーポリシーのURLは、strings.xmlファイルに「health_connect_privacy_policy_url」という名前の文字列リソースを追加することで設定できます。 または、assetsディレクトリのwww/privacypolicy.htmlにHTMLファイルを置くことで設定できます。

import { Health } from '@capgo/capacitor-health';
await Health.showPrivacyPolicy();

iOS(HealthKit)とAndroid(Health Connect)でサポートされているnative healthストアからワークアウトセッションをクエリします。

import { Health } from '@capgo/capacitor-health';
await Health.queryWorkouts({} as QueryWorkoutsOptions);

native healthストアからaggregatedヘルスデータをクエリします。 データを時間枠(1時間、1日、1週間、1か月)に集約し、合計、平均、最小値、最大値などの演算を実行します。 大きな日付範囲で個々のサンプルを取得するのではなく、効率的にデータを取得できます。

iOS(HealthKit)とAndroid(Health Connect)でサポートされています。

import { Health } from '@capgo/capacitor-health';
await Health.queryAggregated({} as QueryAggregatedOptions);

AvailabilityResult

利用可能性結果
export interface AvailabilityResult {
available: boolean;
/** Platform specific details (for debugging/diagnostics). */
platform?: 'ios' | 'android' | 'web';
reason?: string;
}

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

認証状態
export interface AuthorizationStatus {
readAuthorized: HealthDataType[];
readDenied: HealthDataType[];
writeAuthorized: HealthDataType[];
writeDenied: HealthDataType[];
}
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;
}
export interface ReadSamplesResult {
samples: HealthSample[];
}
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;
}
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;
}
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;
}
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;
}
export interface QueryAggregatedResult {
samples: AggregatedSample[];
}
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';
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 がアップストリームで変更された場合に再度同期を実行してください。

「始めから始める」から続けて

「始めから始める」から続けて

「始めから始める」から続けて 「始めから始める」から続けて to plan dashboard and API operations, connect it with Using @capgo/capacitor-health for the native capability in Using @capgo/capacitor-health, API まとめ API まとめの実装詳細について 導入 導入の実装詳細について API のキー API のキーに関する実装詳細について、 デバイス デバイスの実装詳細について。