Saltare al contenuto

Inizia con Getting Started

GitHub

Puoi utilizzare la nostra configurazione assistita da AI per installare il plugin. Aggiungi le Capgo abilità al tuo strumento AI utilizzando il seguente comando:

Finestra del terminale
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Usa poi il seguente prompt:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-health` plugin in my project.

Se preferisci la configurazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche del tuo platform:

Finestra del terminale
bun add @capgo/capacitor-health
bunx cap sync
import { Health } from '@capgo/capacitor-health';

Restituisce se il sistema operativo corrente supporta la salute nativa SDK.

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

Richiede l'accesso di lettura/scrittura ai tipi di dati forniti.

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

Verifica lo stato di autorizzazione per i tipi di dati forniti senza sollecitare l'utente.

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

Legge le campioni per il tipo di dati specificato entro il periodo di tempo specificato.

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

Scrive un singolo campione nel magazzino di salute nativo.

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

Apre la schermata di impostazioni di Health Connect (disponibile solo su Android). Su iOS, questo metodo non fa nulla.

Usa questo per dirigere gli utenti a gestire le loro autorizzazioni di Health Connect o per installare Health Connect se non è disponibile.

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

Mostra la politica sulla privacy dell'applicazione per Health Connect (solo per Android). Su iOS, questo metodo non fa nulla.

Questo visualizza la stessa schermata sulla privacy che Health Connect mostra quando l'utente clicca su “Politica sulla privacy” nel dialogo delle autorizzazioni.

La URL della politica sulla privacy può essere configurata aggiungendo una risorsa di stringa chiamata “health_connect_privacy_policy_url” nel tuo file strings.xml, o mettendo un file HTML a www/privacypolicy.html nelle tue risorse.

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

Query le sessioni di allenamento dal magazzino di salute nativo. Supportato su iOS (HealthKit) e Android (Health Connect).

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

Query i dati di salute aggregati dal magazzino di salute nativo. Aggancia i dati in blocchi di tempo (ora, giorno, settimana, mese) con operazioni come somma, media, minimo o massimo. Questo è più efficiente del recupero di singole campioni per date estese.

Supportato su iOS (HealthKit) e 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;
}

Questa pagina è generata dal plugin’s src/definitions.ts. Riavvia la sincronizzazione quando il pubblico API cambia upstream.

Se stai utilizzando Getting Started per pianificare dashboard e API operazioni, connettilo con Utilizza @capgo/capacitor-health per la capacità nativa in Utilizza @capgo/capacitor-health, API Panoramica per i dettagli di implementazione in API Panoramica, Introduzione per i dettagli di implementazione in Introduzione, API Chiavi per i dettagli di implementazione in API Chiavi, e Dispositivi per i dettagli di implementazione in Dispositivi.