快速入门
复制包含安装步骤和该插件完整 Markdown 指南的配置 prompt。
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-android-sms-retriever`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/android-sms-retriever/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
安装
“安装”章节你可以使用我们的 AI 辅助设置来安装插件。使用以下命令将 Capgo skills 添加到你的 AI 工具中:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins然后使用以下 prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-android-sms-retriever` plugin in my project.如果你更想手动设置,请运行以下命令安装插件,并按照下方各平台的说明操作:
npm install @capgo/capacitor-android-sms-retrievernpx cap sync android快速入门
章节标题为“快速入门”监听一次性短信,提取 OTP,并在用户请求 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:SMS 模板必须包含应用的 retriever hash。
- 超时:当用户请求新的 code 时,重启监听。
- Google Play 服务:设备上必须安装。
导入
“导入”章节import { AndroidSmsRetriever } from '@capgo/capacitor-android-sms-retriever';Android 要求
标题为“Android Requirements”的部分SMS Retriever 需要 Android 设备安装 Google Play services。该插件不会请求 READ_SMS 或 RECEIVE_SMS 权限。
您的验证短信必须包含由以下内容返回的应用哈希值: getHashString()请为用于分发 App 的签名密钥生成 Hash。Debug、Release 以及 Play App Signing 构建版本可能具有不同的 Hash。
监听验证短信
“监听验证短信”章节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();获取 App Hash
“获取 App Hash”章节const { hash } = await AndroidSmsRetriever.getHashString();console.log(hash);将此 hash 放在后端发送的验证短信末尾。
请求手机号提示
“请求手机号提示”章节const { phoneNumber } = await AndroidSmsRetriever.getPhoneNumber();console.log(phoneNumber);Android 会显示原生的 Phone Number Hint UI,并返回用户选择的电话号码。
<#> 123456 is your verification code.FA+9qCX9VSu将最后一行替换为你应用签名密钥的哈希值。
从入门指南继续
“从入门指南继续”章节如果你正在使用 快速入门 要规划原生插件工作,请将其与 使用 @capgo/capacitor-android-sms-retriever 用于“使用 @capgo/capacitor-android-sms-retriever”中的原生能力, Capgo 插件目录 查看 Capgo 插件目录中的产品工作流, Capgo 提供的 Capacitor 插件 查看由 Capgo 提供的 Capacitor 插件中的实现细节, 添加或更新插件 关于“添加或更新插件”中的实现细节,以及 Ionic Enterprise 插件替代方案 关于“Ionic Enterprise 插件替代方案”中的产品工作流。