Erste Schritte
-
Plugin installieren
Terminal-Fenster npm i @capgo/capacitor-healthTerminal-Fenster pnpm add @capgo/capacitor-healthTerminal-Fenster yarn add @capgo/capacitor-healthTerminal-Fenster bun add @capgo/capacitor-health -
Native Projekte synchronisieren
Terminal-Fenster npx cap syncTerminal-Fenster pnpm cap syncTerminal-Fenster yarn cap syncTerminal-Fenster bunx cap sync
iOS-Konfiguration
Section titled “iOS-Konfiguration”- Öffnen Sie
ios/App/App.xcworkspacein Xcode und aktivieren Sie die HealthKit-Fähigkeit. - Geben Sie Nutzungsbeschreibungen in
Info.plistan:
<key>NSHealthShareUsageDescription</key><string>Diese App liest Ihre Gesundheitsmetriken, um Ihr Erlebnis zu personalisieren.</string><key>NSHealthUpdateUsageDescription</key><string>Diese App schreibt Gesundheitsdaten, die Sie explizit aufzeichnen.</string>Android-Konfiguration
Section titled “Android-Konfiguration”Gesundheitsdaten werden von Health Connect bereitgestellt. Stellen Sie sicher, dass:
minSdkVersion26 oder höher ist (Capacitor 5 erfüllt dies bereits).- Benutzer Health Connect installiert haben (Android 14+ enthält es; frühere Versionen erfordern einen Play Store-Download).
- Sie Benutzer durch die Laufzeitberechtigungs-UI führen, wenn Sie um Zugriff bitten.
Verfügbarkeit prüfen und Zugriff anfordern
Section titled “Verfügbarkeit prüfen und Zugriff anfordern”import { Health } from '@capgo/capacitor-health';
const { available, reason } = await Health.isAvailable();if (!available) { console.warn('Health-APIs nicht verfügbar:', reason); return;}
await Health.requestAuthorization({ read: ['steps', 'heartRate', 'weight'], write: ['weight'],});Proben lesen
Section titled “Proben lesen”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);});Proben schreiben
Section titled “Proben schreiben”await Health.saveSample({ dataType: 'weight', value: 74.6, startDate: new Date().toISOString(),});Autorisierungsverwaltung
Section titled “Autorisierungsverwaltung”- Verwenden Sie
checkAuthorization(), um aktuelle Lese-/Schreibbereiche zu überprüfen und Ihre UI anzupassen. - Behandeln Sie Ablehnungen elegant, indem Sie erklären, warum die Daten das Erlebnis verbessern, und bieten Sie eine Wiederholung an.
- Respektieren Sie immer die Privatsphäre des Benutzers und fordern Sie nur die minimalen Bereiche an, die Ihre Funktion benötigt.