跳转至正文

Android SMS Retriever Capacitor 插件

无需 SMS 权限即可读取一条针对本应用的验证短信,并在 Android 上请求 SIM 手机号提示

安装

bun add @capgo/capacitor-android-sms-retriever bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-android-sms-retriever
  • pnpm add @capgo/capacitor-android-sms-retriever
  • yarn add @capgo/capacitor-android-sms-retriever

指南

如何在 Capacitor 中使用 Android SMS Retriever

在设备上测试

下载 Capgo App,然后扫描二维码 code。

Android SMS Retriever 插件预览二维码 code

使用 @capgo/capacitor-android-sms-retriever

@capgo/capacitor-android-sms-retriever 为 Capacitor 应用提供 Android SMS Retriever 和 Phone Number Hint API。

当您需要在不申请 SMS 权限的情况下实现无密码手机验证时,请使用此插件。Android 会在最长五分钟内监听一条针对特定应用的验证短信,并通过 Capacitor 监听器返回该消息。

安装

bun add @capgo/capacitor-android-sms-retriever
bunx cap sync android

插件暴露的内容

  • startWatch 启动 Android SMS Retriever 监听。
  • stopWatch 停止当前的监听。
  • getHashString 返回验证短信所需的 App Hash。
  • getPhoneNumber 打开 Android Phone Number Hint 以进行基于 SIM 卡的号码选择。
  • smsReceived, smsRetrieverTimeout,以及 smsRetrieverError 事件涵盖了整个验证生命周期。

用法示例

import { AndroidSmsRetriever } from '@capgo/capacitor-android-sms-retriever';

const { hash } = await AndroidSmsRetriever.getHashString();
console.log('SMS hash:', hash);

await AndroidSmsRetriever.addListener('smsReceived', ({ message }) => {
  console.log('Verification SMS:', message);
});

await AndroidSmsRetriever.startWatch();

手机号码提示

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

完整参考

继续使用 @capgo/capacitor-android-sms-retriever

如果你正在使用 使用 @capgo/capacitor-android-sms-retriever 要规划原生插件工作,请将其与 @capgo/capacitor-android-sms-retriever 关于 @capgo/capacitor-android-sms-retriever 中的实现细节, 快速入门 有关“入门指南”中的实现细节, Capgo 插件目录 查看 Capgo 插件目录中的产品工作流, Capgo 提供的 Capacitor 插件 有关 Capgo 开发的 Capacitor 插件的实现细节,以及 添加或更新插件 有关添加或更新插件的实现细节。

常见问题

Android SMS Retriever 插件常见问题

如何在 Capacitor 应用中安装 Android SMS Retriever 插件?

运行 "bun add @capgo/capacitor-android-sms-retriever"(或 "npm install @capgo/capacitor-android-sms-retriever"),然后运行 "bunx cap sync",让 iOS 和 Android 项目引入原生 code。再在应用 code 中从 "@capgo/capacitor-android-sms-retriever" 导入。

@capgo/capacitor-android-sms-retriever 支持 React、Vue 和 Angular 吗?

支持。Android SMS Retriever 是一个 Capacitor package,所以任何运行在 Capacitor 里的 Web framework 都能用,包括 Ionic、React、Vue、Angular、Svelte 和纯 JavaScript。

@capgo/capacitor-android-sms-retriever 支持哪个 Capacitor 版本?

Capgo 插件遵循 Capacitor 的主版本号:请使用与 Capacitor 主版本号一致的插件主版本(例如插件 v8 对应 Capacitor 8)。GitHub README 中的兼容性表列出了仍在维护的版本。

@capgo/capacitor-android-sms-retriever 是免费开源的吗?

是的。code 的源码公开在 GitHub 上:https://github.com/Cap-go/capacitor-android-sms-retriever/,package 可从 npm 免费安装。欢迎提交 Bug 报告和 pull request。

我可以在不经过 App Store 审核的情况下,更新使用了 Android SMS Retriever 的 code 吗?

安装或升级插件会改动原生 code,因此需要重新做一次商店构建。之后,调用该插件的 JavaScript、HTML 和 CSS 改动就能通过 Capgo live updates 立即发布。

无需等待应用审核,即可发布 Android SMS Retriever 变更

只要插件已包含在你的商店版本中,Capgo live updates 就能在几分钟内把 JavaScript、HTML 和 CSS 的改动推送给用户。

开始使用 Capgo