Vai al contenuto

Per iniziare

GitHub

Puoi usare il nostro setup assistito dall'IA per installare il plugin. Aggiungi le skill Capgo al tuo strumento di IA usando il seguente comando:

Finestra del terminale
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Poi usa il seguente prompt:

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

Se preferisci la configurazione manuale, installa il plugin eseguendo questi comandi e segui le istruzioni specifiche per piattaforma qui sotto:

Finestra del terminale
npm install @capgo/capacitor-android-sms-retriever
npx cap sync android

Ascolta l'SMS monouso, estrai l'OTP e avvia il retriever prima che l'utente richieda un 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: I template SMS devono includere l'app retriever hash.
  • Timeout: riavvia il watch quando gli utenti richiedono un nuovo code.
  • Play services: richiesto sul dispositivo.
import { AndroidSmsRetriever } from '@capgo/capacitor-android-sms-retriever';

SMS Retriever richiede i Google Play services sul dispositivo Android. Il plugin non richiede READ_SMS o RECEIVE_SMS permessi.

L'SMS di verifica deve includere l'app hash restituito da getHashString(). Genera l'hash per la signing key usata per distribuire l'app. Le build di debug, release e Play App Signing possono avere hash differenti.

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);

Usa questo hash alla fine dell'SMS di verifica inviato dal tuo backend.

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

Android mostra l'interfaccia nativa Phone Number Hint e restituisce il numero di telefono selezionato dall'utente.

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

Sostituisci l'ultima riga con l'hash della chiave di firma della tua app.

Se stai usando Per iniziare per pianificare il lavoro sui plugin nativi, collegalo a Utilizzo di @capgo/capacitor-android-sms-retriever per la funzionalità nativa in Utilizzo di @capgo/capacitor-android-sms-retriever, Directory dei plugin di Capgo per il workflow del prodotto nella Capgo Plugin Directory, Plugin Capacitor di Capgo per i dettagli di implementazione in Capacitor Plugins di Capgo, Aggiunta o aggiornamento dei plugin per i dettagli su come aggiungere o aggiornare i plugin, e Alternative ai plugin Ionic Enterprise per il workflow del prodotto in Alternative ai plugin Ionic Enterprise.