Langsung ke konten

Panduan Memulai

GitHub

Anda bisa menggunakan AI-Assisted Setup kami untuk menginstal plugin ini. Tambahkan skill Capgo ke tool AI Anda dengan command berikut:

Jendela terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Lalu gunakan prompt berikut:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-android-sms-retriever` plugin in my project.

Jika Anda lebih memilih Manual Setup, instal plugin dengan menjalankan perintah berikut dan ikuti petunjuk khusus platform di bawah ini:

Jendela terminal
npm install @capgo/capacitor-android-sms-retriever
npx cap sync android

Pantau SMS sekali pakai, ekstrak OTP, lalu jalankan retriever sebelum pengguna meminta code.

import { AndroidSmsRetriever } from '@capgo/capacitor-android-sms-retriever';
const smsListener = await AndroidSmsRetriever.addListener('smsReceived', ({ message }) => {
const code = message.match(/\b\d{4,8}\b/)?.[0];
if (code) submitCode(code);
// The SMS also ends with your 11-character app hash; validate it separately from the OTP.
});
await AndroidSmsRetriever.startWatch();
// When the flow completes:
await smsListener.remove();
await AndroidSmsRetriever.stopWatch();
  • Hash: Template SMS harus menyertakan hash retriever app.
  • Timeout: restart watch saat pengguna meminta code baru.
  • Play services: wajib ada di perangkat.
import { AndroidSmsRetriever } from '@capgo/capacitor-android-sms-retriever';

SMS Retriever memerlukan Google Play services pada perangkat Android. Plugin ini tidak meminta READ_SMS atau RECEIVE_SMS permissions.

SMS verifikasi Anda harus menyertakan app hash yang dikembalikan oleh getHashString(). Buat hash untuk signing key yang digunakan untuk mendistribusikan aplikasi. Build debug, release, dan Play App Signing bisa memiliki hash yang berbeda.

import { AndroidSmsRetriever } from '@capgo/capacitor-android-sms-retriever';
const received = await AndroidSmsRetriever.addListener('smsReceived', ({ message }) => {
const code = message.match(/\b\d{6}\b/)?.[0];
console.log('Verification code:', code);
});
const timeout = await AndroidSmsRetriever.addListener('smsRetrieverTimeout', () => {
console.log('SMS Retriever timed out');
});
const errors = await AndroidSmsRetriever.addListener('smsRetrieverError', ({ message }) => {
console.error('SMS Retriever error:', message);
});
await AndroidSmsRetriever.startWatch();
// Remove listeners when the verification flow is done.
await received.remove();
await timeout.remove();
await errors.remove();
await AndroidSmsRetriever.stopWatch();
const { hash } = await AndroidSmsRetriever.getHashString();
console.log(hash);

Gunakan hash ini di akhir SMS verifikasi yang dikirim oleh backend Anda.

const { phoneNumber } = await AndroidSmsRetriever.getPhoneNumber();
console.log(phoneNumber);

Android akan menampilkan UI Phone Number Hint bawaan dan mengembalikan nomor telepon yang dipilih pengguna.

<#> 123456 is your verification code.
FA+9qCX9VSu

Ganti baris terakhir dengan hash dari app signing key Anda.

Jika Anda menggunakan Panduan Memulai untuk merencanakan pekerjaan plugin native, hubungkan dengan Menggunakan @capgo/capacitor-android-sms-retriever untuk kapabilitas native saat menggunakan @capgo/capacitor-android-sms-retriever, Direktori Plugin Capgo untuk alur kerja produk di Direktori Plugin Capgo, Plugin Capacitor oleh Capgo untuk detail implementasi pada Capacitor Plugins oleh Capgo Menambahkan atau Memperbarui Plugin untuk detail implementasi di Menambahkan atau Memperbarui Plugin, dan Alternatif Plugin Ionic Enterprise untuk alur kerja produk dalam Alternatif Plugin Ionic Enterprise.