Comenzar
-
Instalar el Plugin
Ventana de terminal npm i @Capgo/Capacitor-healthVentana de terminal pnpm add @Capgo/Capacitor-healthVentana de terminal yarn add @Capgo/Capacitor-healthVentana de terminal bun add @Capgo/Capacitor-health -
Sincronizar proyectos nativos
Ventana de terminal npx cap syncVentana de terminal pnpm cap syncVentana de terminal yarn cap syncVentana de terminal bunx cap sync
Configuración de iOS
Section titled “Configuración de iOS”- Abre
ios/App/App.xcworkspaceen Xcode y habilita la capacidad de HealthKit. - Proporciona descripciones de uso en
Info.plist:
<key>NSHealthShareUsageDescription</key><string>This app reads your health metrics to personalize your experience.</string><key>NSHealthUpdateUsageDescription</key><string>This app writes health data that you explicitly record.</string>Configuración de Android
Section titled “Configuración de Android”Los datos de salud están respaldados por Health Connect. Asegúrate de que:
minSdkVersionsea 26 o superior (Capacitor 5 ya satisface esto).- Los usuarios tengan Health Connect instalado (Android 14+ lo incluye; versiones anteriores requieren descarga desde Play Store).
- Guíes a los usuarios a través de la interfaz de permisos de tiempo de ejecución al solicitar acceso.
Verificar disponibilidad y solicitar acceso
Section titled “Verificar disponibilidad y solicitar acceso”import { Health } from '@capgo/capacitor-health';
const { available, reason } = await Health.isAvailable();if (!available) { console.warn('Health APIs unavailable:', reason); return;}
await Health.requestAuthorization({ read: ['steps', 'heartRate', 'weight'], write: ['weight'],});Leer muestras
Section titled “Leer muestras”const { samples } = await Health.readSamples({ dataType: 'steps', startDate: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString(), endDate: new Date().toISOString(), limit: 200,});
samples.forEach((sample) => { console.log(sample.value, sample.startDate, sample.endDate);});Escribir muestras
Section titled “Escribir muestras”await Health.saveSample({ dataType: 'weight', value: 74.6, startDate: new Date().toISOString(),});Gestión de autorizaciones
Section titled “Gestión de autorizaciones”- Usa
checkAuthorization()para verificar los permisos actuales de lectura/escritura y ajustar tu interfaz. - Maneja las denegaciones con gracia explicando por qué los datos mejoran la experiencia y ofreciendo un reintento.
- Siempre respeta la privacidad del usuario y solicita solo los permisos mínimos que requiere tu función.