Panduan
Cara menggunakan Permissions di Capacitor
Menggunakan @capgo/capacitor-permissions
Satu API TypeScript untuk cek dan meminta runtime permission di iOS, Android, dan web dengan status code yang dinormalisasi.
Instal
bun add @capgo/capacitor-permissions
bunx cap sync
Yang Diekspos Plugin Ini
check- Baca status izin saat ini tanpa memunculkan prompt.request- Minta satu izin dari pengguna.checkMultiple- Cek beberapa izin tanpa prompt.requestMultiple- Minta beberapa izin secara berurutan.shouldShowRationale- Apakah Android harus menampilkan alasan sebelum meminta lagi.openSettings- Buka pengaturan aplikasi atau notifikasi saat akses diblokir.requestPreciseLocation- Upgrade ke precise location di iOS dan fine location di Android.getPluginVersion- Mengembalikan penanda versi implementasi platform.
Contoh Penggunaan
check dan request
import { Permissions } from '@capgo/capacitor-permissions';
export async function ensureCamera(): Promise<boolean> {
const { status } = await Permissions.check({ permission: 'camera' });
if (status === 'granted') return true;
const { status: afterRequest } = await Permissions.request({ permission: 'camera' });
return afterRequest === 'granted';
}
openSettings
import { Permissions } from '@capgo/capacitor-permissions';
document.getElementById('camera-settings')?.addEventListener('click', async () => {
const { status } = await Permissions.check({ permission: 'camera' });
if (status === 'blocked') {
await Permissions.openSettings({ type: 'application' });
}
});
Referensi Lengkap
- GitHub: https://github.com/Cap-go/capacitor-permissions/
- Dokumentasi: /docs/plugins/permissions/