Integrasi Mobile•Device Permissions

Konfigurasi Izin Perangkat (GPS & Kamera)

QoinCash Seamless Webview memanfaatkan kemampuan sensor perangkat fisik host untuk dua fitur vital: **Lokasi GPS** (wajib untuk otentikasi PIN & keamanan transaksi) dan **Kamera** (wajib untuk scanner QRIS).

1. Izin Lokasi Geolocation (GPS) — Wajib

Saat pengguna memasukkan PIN (baik saat aktivasi pertama maupun pembayaran), WebView akan memanggil API standar peramban navigator.geolocation.getCurrentPosition(). WebView tidak dapat memunculkan dialog izin sistem operasi secara mandiri. Izin ini harus diberikan oleh host native app.

Syarat Wajib Sebelum WebView Dibuka
  • Aplikasi native sudah meminta izin lokasi runtime ke pengguna (ACCESS_FINE_LOCATION).
  • Layanan GPS perangkat dalam status aktif (bukan mode pesawat / GPS mati).
  • WebView telah dipasangi handler delegasi izin (lihat snippet di bawah).
<!-- Tambahkan di dalam <manifest> -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

2. Izin Kamera (Untuk Scanner QRIS) — Opsional / Sesuai Fitur

Jika pengguna menavigasi ke pemindai QRIS di dalam WebView (/qoincash/qris), WebView akan meminta akses ke sensor kamera perangkat melalui navigator.mediaDevices.getUserMedia(). Jika native memindai QR sendiri (lihat Bayar QRIS dari Native), izin kamera di WebView tidak diperlukan.

<!-- Tambahkan di dalam <manifest> -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" android:required="false" />