Memulai
-
Instal plugin
Terminal window npm i @capgo/capacitor-healthTerminal window pnpm add @capgo/capacitor-healthTerminal window yarn add @capgo/capacitor-healthTerminal window bun add @capgo/capacitor-health -
Sinkronkan proyek native
Terminal window npx cap syncTerminal window pnpm cap syncTerminal window yarn cap syncTerminal window bunx cap sync
Konfigurasi iOS
Section titled āKonfigurasi iOSā- Buka
ios/App/App.xcworkspacedi Xcode dan aktifkan kemampuan HealthKit. - Berikan deskripsi penggunaan di
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>Konfigurasi Android
Section titled āKonfigurasi AndroidāData kesehatan didukung oleh Health Connect. Pastikan:
minSdkVersionadalah 26 atau lebih tinggi (Capacitor 5 sudah memenuhi ini).- Pengguna telah menginstal Health Connect (Android 14+ sudah menyertainya; versi sebelumnya memerlukan unduhan Play Store).
- Anda memandu pengguna melalui UI izin runtime saat meminta akses.
Periksa ketersediaan dan minta akses
Section titled āPeriksa ketersediaan dan minta aksesā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'],});Baca sampel
Section titled āBaca sampelā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);});Tulis sampel
Section titled āTulis sampelāawait Health.saveSample({ dataType: 'weight', value: 74.6, startDate: new Date().toISOString(),});Manajemen otorisasi
Section titled āManajemen otorisasiā- Gunakan
checkAuthorization()untuk memverifikasi scope baca/tulis saat ini dan menyesuaikan UI Anda. - Tangani penolakan dengan baik dengan menjelaskan mengapa data meningkatkan pengalaman dan menawarkan percobaan ulang.
- Selalu hormati privasi pengguna dan hanya minta scope minimum yang diperlukan fitur Anda.