Flutter安全验证插件secverify_plugin的使用
Flutter安全验证插件secverify_plugin的使用
运营商网关取号,一秒验证手机号
支持的原生SDK版本
简介:
插件主页:
官网文档:
1. Flutter集成文档
2. iOS平台配置参考
- 实现 “一、注册应用获取appKey 和 appSecret”
- 实现 “三、配置appkey和appSecret”
3. Android平台集成
导入SMSSDK相关依赖
- 在项目根目录的
build.gradle
中添加以下代码:
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.mob.sdk:MobSDK:+'
}
- 在
/android/app/build.gradle
中添加以下代码:
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
// 导入MobSDK
apply plugin: 'com.mob.sdk'
MobSDK {
appKey "替换为mob官方申请的appkey"
appSecret "替换为mob官方申请的appkey对应的appSecret"
SecVerify {}
}
- 在根路径下的
pubspec.yaml
文件中添加secverify flutter插件:
dependencies:
secverify_plugin:^1.30.7
在你项目的Dart中添加以下代码:
import 'package:secverify_plugin/secverify.dart';
这样,就可以使用plugin
中定义的dart api了。
- 平台相关集成
在项目的/android/app/build.gradle
中添加:
android {
// lines skipped
dependencies {
provided rootProject.findProject(":secverify")
}
}
这样就可以在你的project/android/src
下的类中import com.mob.flutter.secverify.SecverifyPlugin
并使用SecverifyPlugin
中的api了。
添加代码
- 在
MainActivity
的onCreate
中添加以下代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
// 注册SecVerify Flutter插件
SecverifyPlugin.registerWith(registrarFor(SecverifyPlugin.CHANNEL));
// 初始化SecVerify
MobSDK.init(this, MOB_APPKEY, MOB_APPSECRET);
}
技术支持
如有问题请联系技术支持:
服务电话: 400-685-2216
QQ: 4006852216
节假日值班电话:
- iOS:185-1664-1951
- Android:185-1664-1950
电子邮箱: support@mob.com
市场合作: 021-54623100
示例代码
以下是完整的示例代码:
example/lib/main.dart
import 'package:flutter/material.dart';
import 'Home.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
[@override](/user/override)
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
[@override](/user/override)
void initState() {
super.initState();
}
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Home(),
);
}
}
example/lib/Home.dart
import 'package:flutter/material.dart';
import 'package:secverify_plugin/secverify.dart';
class Home extends StatefulWidget {
[@override](/user/override)
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
String _result = "未初始化";
[@override](/user/override)
void initState() {
super.initState();
initPlatformState();
}
Future<void> initPlatformState() async {
try {
await SecverifyPlugin.verify("手机号码");
setState(() {
_result = "验证成功";
});
} catch (e) {
setState(() {
_result = "验证失败: $e";
});
}
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("SecVerify 示例"),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("结果: $_result"),
ElevatedButton(
onPressed: () {
initPlatformState();
},
child: Text("验证手机号"),
)
],
),
),
);
}
}
更多关于Flutter安全验证插件secverify_plugin的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter安全验证插件secverify_plugin的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
secverify_plugin
是一个用于在 Flutter 应用中实现安全验证的插件。它通常用于快速登录、手机号验证等场景,通过调用运营商的网关进行验证,以提高安全性和用户体验。
以下是如何在 Flutter 项目中使用 secverify_plugin
的基本步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 secverify_plugin
的依赖。
dependencies:
flutter:
sdk: flutter
secverify_plugin: ^latest_version
请将 latest_version
替换为最新的版本号。
2. 获取 AppKey
和 AppSecret
在使用 secverify_plugin
之前,你需要在相应的平台(如 MobTech 或其它提供服务的平台)注册你的应用,并获取 AppKey
和 AppSecret
。
3. 初始化插件
在你的 Flutter 应用中初始化 secverify_plugin
。通常,你可以在 main.dart
中进行初始化。
import 'package:secverify_plugin/secverify_plugin.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化 secverify_plugin
await SecVerify.init(
appKey: 'Your_App_Key',
appSecret: 'Your_App_Secret',
);
runApp(MyApp());
}
4. 使用插件进行验证
你可以使用 SecVerify
提供的方法来进行手机号验证或快速登录。
4.1 获取验证码
Future<void> getVerificationCode() async {
try {
await SecVerify.getVerificationCode(
phoneNumber: '1234567890',
templateID: 'Your_Template_ID',
);
print('Verification code sent successfully');
} catch (e) {
print('Failed to send verification code: $e');
}
}
4.2 验证验证码
Future<void> verifyCode() async {
try {
bool isValid = await SecVerify.verifyCode(
phoneNumber: '1234567890',
code: '123456',
);
if (isValid) {
print('Verification successful');
} else {
print('Verification failed');
}
} catch (e) {
print('Failed to verify code: $e');
}
}
4.3 快速登录(一键登录)
Future<void> quickLogin() async {
try {
String token = await SecVerify.quickLogin();
print('Quick login token: $token');
// 将 token 发送到服务器进行验证
} catch (e) {
print('Quick login failed: $e');
}
}
5. 处理回调
secverify_plugin
通常会在验证成功或失败时返回相应的结果。你可以根据返回的结果进行相应的处理。
6. 配置 Android 和 iOS
根据插件的文档,你可能需要在 AndroidManifest.xml
和 Info.plist
中进行一些配置,以确保插件正常工作。
Android
在 AndroidManifest.xml
中添加必要的权限和配置。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
iOS
在 Info.plist
中添加必要的权限和配置。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>