Zum Inhalt springen

Erste Schritte

  1. Plugin installieren

    Terminal-Fenster
    npm i @capgo/capacitor-health
  2. Native Projekte synchronisieren

    Terminal-Fenster
    npx cap sync
  • Öffnen Sie ios/App/App.xcworkspace in Xcode und aktivieren Sie die HealthKit-Fähigkeit.
  • Geben Sie Nutzungsbeschreibungen in Info.plist an:
<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>

Gesundheitsdaten werden von Health Connect bereitgestellt. Stellen Sie sicher, dass:

  • minSdkVersion 26 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'],
});
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);
});
await Health.saveSample({
dataType: 'weight',
value: 74.6,
startDate: new Date().toISOString(),
});
  • 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.