Passer à la navigation

Démarrage

Fenêtre de terminal
bun add @capgo/capacitor-health
bunx cap sync
import { Health } from '@capgo/capacitor-health';

Retourne si la plateforme actuelle prend en charge la santé native SDK.

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

Demander l'accès en lecture/écriture aux types de données fournis.

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

Vérifie l'état d'autorisation pour les types de données fournis sans solliciter l'utilisateur.

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

Lit des échantillons pour le type de données spécifié dans la plage de temps spécifiée.

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

Écrit une seule échantillon dans le magasin de santé natif.

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

Ouvre l'écran de paramètres de Health Connect (disponible uniquement sur Android). Sur iOS, cette méthode ne fait rien.

Utilisez cela pour diriger les utilisateurs vers la gestion de leurs autorisations de Health Connect ou pour installer Health Connect si ce n'est pas disponible.

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

Affiche la politique de confidentialité de l'application pour Health Connect (disponible uniquement sur Android). Sur iOS, cette méthode ne fait rien.

Cela affiche le même écran de politique de confidentialité que Health Connect montre lorsque l'utilisateur clique sur « Politique de confidentialité » dans le dialogue des autorisations.

L'URL de la politique de confidentialité peut être configurée en ajoutant une ressource de chaîne nommée “health_connect_privacy_policy_url” dans les fichiers de chaînes de votre application, ou en plaçant un fichier HTML à www/privacypolicy.html dans vos assets.

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

Récupère les sessions d'entraînement à partir de l'entrepôt de santé natif. Supporté sur iOS (HealthKit) et Android (Health Connect).

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

Récupère les données de santé agrégées à partir de l'entrepôt de santé natif. Agroupe les données en lots de temps (heure, jour, semaine, mois) avec des opérations comme la somme, la moyenne, le minimum ou le maximum. Cela est plus efficace que de récupérer des échantillons individuels pour de grandes plages de dates.

Supporté sur iOS (HealthKit) et Android (Health Connect).

import { Health } from '@capgo/capacitor-health';
await Health.queryAggregated({} as QueryAggregatedOptions);
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;
}

Cette page est générée à partir du plugin’s src/definitions.tsRe-run la synchronisation lorsque les données publiques API changent en amont.

Si vous utilisez Getting Started pour planifier les opérations de tableau de bord et API , connectez-le à Utilisation de @capgo/capacitor-health pour la capacité native dans Utilisation de @capgo/capacitor-health, API Vue d'ensemble pour le détail d'implémentation dans API Vue d'ensemble, Introduction pour les détails d'implémentation dans Introduction, API Clés pour les détails d'implémentation dans API Clés, et Appareils pour les détails d'implémentation dans Appareils.