Memulai
-
Instal paket
Terminal window npm i @capgo/capacitor-native-biometricTerminal window pnpm add @capgo/capacitor-native-biometricTerminal window yarn add @capgo/capacitor-native-biometricTerminal window bun add @capgo/capacitor-native-biometric -
Sinkronkan dengan proyek asli
Terminal window npx cap syncTerminal window pnpm cap syncTerminal window yarn cap syncTerminal window bunx cap sync -
Konfigurasikan izin
Tambahkan deskripsi penggunaan Face ID ke
Info.plistAnda:<key>NSFaceIDUsageDescription</key><string>For secure authentication</string>Android
Section titled “Android”Tambahkan izin biometrik ke
AndroidManifest.xmlAnda:<uses-permission android:name="android.permission.USE_BIOMETRIC" />
Penggunaan
Section titled “Penggunaan”Impor plugin dan gunakan metodenya untuk autentikasi biometrik:
import { NativeBiometric } from '@capgo/capacitor-native-biometric';
// Periksa apakah autentikasi biometrik tersediaconst checkBiometric = async () => { const result = await NativeBiometric.isAvailable();
if (result.isAvailable) { console.log(`Biometric type: ${result.biometryType}`); }};
// Lakukan verifikasi biometrikconst verify = async () => { const verified = await NativeBiometric.verifyIdentity({ reason: "For secure access to your account", title: "Authentication", subtitle: "Verify your identity", description: "Place your finger on the sensor" }) .then(() => true) .catch(() => false);
if (verified) { console.log("Authentication successful"); }};
// Simpan kredensial dengan amanconst saveCredentials = async () => { await NativeBiometric.setCredentials({ username: "user@example.com", password: "securepassword", server: "https://api.example.com" });};
// Ambil kredensial yang disimpanconst getCredentials = async () => { const credentials = await NativeBiometric.getCredentials({ server: "https://api.example.com" });
console.log(credentials.username); console.log(credentials.password);};
// Hapus kredensial yang disimpanconst deleteCredentials = async () => { await NativeBiometric.deleteCredentials({ server: "https://api.example.com" });};Referensi API
Section titled “Referensi API”isAvailable()
Section titled “isAvailable()”Memeriksa apakah autentikasi biometrik tersedia di perangkat.
interface AvailableResult { isAvailable: boolean; biometryType?: BiometryType; errorCode?: number;}
enum BiometryType { NONE = 0, TOUCH_ID = 1, FACE_ID = 2, FINGERPRINT = 3, FACE_AUTHENTICATION = 4, IRIS_AUTHENTICATION = 5}verifyIdentity(options)
Section titled “verifyIdentity(options)”Melakukan autentikasi biometrik.
interface BiometricOptions { reason?: string; title?: string; subtitle?: string; description?: string; fallbackTitle?: string; useFallback?: boolean; maxAttempts?: number;}setCredentials(options)
Section titled “setCredentials(options)”Menyimpan kredensial dengan aman dengan perlindungan biometrik.
interface Credentials { username: string; password: string; server: string;}getCredentials(options)
Section titled “getCredentials(options)”Mengambil kredensial yang disimpan setelah autentikasi biometrik.
interface GetCredentialOptions { server: string;}deleteCredentials(options)
Section titled “deleteCredentials(options)”Menghapus kredensial yang disimpan.
interface DeleteCredentialOptions { server: string;}Praktik Terbaik
Section titled “Praktik Terbaik”-
Selalu periksa ketersediaan terlebih dahulu
const result = await NativeBiometric.isAvailable();if (!result.isAvailable) {// Gunakan autentikasi password sebagai cadangan} -
Berikan alasan yang jelas Selalu jelaskan mengapa Anda memerlukan autentikasi biometrik untuk membangun kepercayaan pengguna.
-
Tangani kesalahan dengan baik
try {await NativeBiometric.verifyIdentity({reason: "Access your secure data"});} catch (error) {// Tangani pembatalan atau kegagalanconsole.log("Authentication failed or cancelled");} -
Gunakan cadangan yang sesuai Aktifkan cadangan kode sandi untuk perangkat yang biometriknya mungkin gagal.
Perbedaan Platform
Section titled “Perbedaan Platform”- Mendukung Touch ID dan Face ID
- Memerlukan
NSFaceIDUsageDescriptionuntuk Face ID - Cadangan ke kode sandi perangkat tersedia
Android
Section titled “Android”- Mendukung pengenalan sidik jari, wajah, dan iris
- Memerlukan izin
USE_BIOMETRIC - Biometric Prompt API untuk Android 9+