搜索插件、代码仓与 APP 分类

sms_otp_auto_verify 封面
插件详情v2.2.0

sms_otp_auto_verify

一个用于输入数字验证码的新Flutter插件,通常用于短信OTP代码场景,并使用SMS Retriever API库提供短信自动填充功能。

Android
近 30 天下载
73
喜欢数
93
Pub 分数
140

安装插件

flutter pub add sms_otp_auto_verify

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个 Flutter 插件,旨在通过自动检测和填充一次性验证码来简化短信 OTP 验证。它利用 Android 的 SMS Retriever API 扫描传入的短信消息以查找 OTP 代码,减少手动输入。适用于需要短信验证的认证流程,可最大限度地减少登录或注册过程中的用户摩擦,提升用户体验。

适合场景

  • 登录流程中的自动OTP代码输入
  • 通过短信验证简化用户注册
  • 减少手动输入一次性密码时的用户错误
  • 与双因素认证系统集成
  • 支持需要电话验证的入职工作流程

主要特点

  • 从短信中自动检测OTP代码
  • 使用 Android 短信检索 API 进行安全检索
  • 所需用户交互最少
  • 与现有表单字段的简单集成
  • 无需应用权限的实时代码自动填充

适合对象

  • 需要短信OTP验证的移动应用
  • 寻求无缝OTP用户体验的开发者
  • 面向 Android 的身份验证流程
  • 使用 Google 短信检索 API 的应用
  • 优先考虑用户在入门阶段便利性的项目

使用建议

  • 仅适用于 Android 平台
  • 需要正确设置短信检索 API
  • 依赖于设备级别的短信访问
  • 可能不适用于所有安卓设备或运营商
  • 仅限短信验证码发送

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

sms_otp_auto_verify

A new Flutter plugin to enter a digit code usually in cases of Sms Otp Code. and provide SMS Auto Fill using library SMS Retriever API.

Example App

Getting Started

Import package
import 'package:sms_otp_auto_verify/sms_otp_auto_verify.dart';
Get Signature Code
String? signature = await SmsVerification.getAppSignature();
Add Widget

codeLength must equals with Sms OTP Code length

TextFieldPin(
    textController: textEditingController,
    autoFocus: true,
    codeLength: _otpCodeLength,
    alignment: MainAxisAlignment.center,
    defaultBoxSize: 46.0,
    margin: 10,
    selectedBoxSize: 46.0,
    textStyle: TextStyle(fontSize: 16),
    defaultDecoration: _pinPutDecoration.copyWith(
    border: Border.all(
    color: Theme.of(context)
    .primaryColor
        .withOpacity(0.6))),
    selectedDecoration: _pinPutDecoration,
    onChange: (code) {
    _onOtpCallBack(code,false);
}),
Listen result from OtpListTextField
_onOtpCallBack(String otpCode, bool isAutofill) {
    setState(() {
      this._otpCode = otpCode;
      if (otpCode.length == _otpCodeLength && isAutofill) {
        _enableButton = false;
        _isLoadingButton = true;
        _verifyOtpCode();
      } else if (otpCode.length == _otpCodeLength && !isAutofill) {
        _enableButton = true;
        _isLoadingButton = false;
      }else{
        _enableButton = false;
      }
    });
  }
Example Sms
<#> ExampleApp: Your code is 5664
   r64Iw/6mD1D

所属分类

源码仓库

使用此插件的项目

暂无相关数据。