Lompat ke Konten

Getting Started

Jendela terminal
bun add @capgo/capacitor-health
bunx cap sync
import { Health } from '@capgo/capacitor-health';

API Ringkasan

Ringkasan API

Mengembalikan apakah platform saat ini mendukung kesehatan native SDK.

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

Mengajukan akses baca/tulis ke jenis data yang disediakan.

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

Mengecek status otorisasi untuk jenis data yang disediakan tanpa meminta pengguna.

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

Membaca contoh untuk jenis data tertentu dalam jangka waktu yang ditentukan.

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

Menulis contoh tunggal ke penyimpanan kesehatan asli.

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

Membuka layar pengaturan Health Connect (hanya Android). Di iOS, metode ini tidak melakukan apa-apa.

Gunakan ini untuk mengarahkan pengguna untuk mengelola izin Health Connect atau menginstal Health Connect jika tidak tersedia.

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

Menampilkan kebijakan privasi aplikasi untuk Health Connect (hanya Android). Di iOS, metode ini tidak melakukan apa-apa.

Ini menampilkan layar kebijakan privasi yang sama yang ditampilkan Health Connect ketika pengguna mengetuk “Kebijakan privasi” di dialog izin.

URL kebijakan privasi dapat dikonfigurasi dengan menambahkan sumber daya string bernama “health_connect_privacy_policy_url” di strings.xml aplikasi, atau dengan menempatkan file HTML di www/privacypolicy.html di aset.

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

Mengambil data sesi olahraga dari penyimpanan kesehatan asli. Dapat dijalankan pada iOS (HealthKit) dan Android (Health Connect).

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

Mengambil data kesehatan yang dikumpulkan dari penyimpanan kesehatan asli. Mengumpulkan data ke dalam wadah waktu (jam, hari, minggu, bulan) dengan operasi seperti jumlah, rata-rata, minimum, atau maksimum. Hal ini lebih efisien daripada mengambil contoh individu untuk rentang tanggal yang besar.

Dapat dijalankan pada iOS (HealthKit) dan Android (Health Connect).

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

AvailabilityResult

Salin ke clipboard
export interface AvailabilityResult {
available: boolean;
/** Platform specific details (for debugging/diagnostics). */
platform?: 'ios' | 'android' | 'web';
reason?: string;
}
export interface AuthorizationOptions {
/** Data types that should be readable after authorization. */
read?: HealthDataType[];
/** Data types that should be writable after authorization. */
write?: HealthDataType[];
}
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;
}

This page is generated from the plugin’s src/definitions.tsRe-run the sync when the public API changes upstream.

Jika Anda menggunakan Getting Started untuk merencanakan dashboard dan API operasi, hubungkannya dengan Menggunakan @capgo/capacitor-health untuk kemampuan asli dalam Menggunakan @capgo/capacitor-health, API Overview untuk detail implementasi dalam API Overview, Pendahuluan untuk detail implementasi di Pengantar, API Kunci untuk detail implementasi di API Kunci, dan Perangkat untuk detail implementasi di Perangkat.