Flutter插件mono_prove的使用_Mono Prove 是一款客户认证产品
Flutter插件mono_prove的使用方法
Mono Prove Flutter SDK 是一种快速且安全的方式,让你的应用程序能够从内部集成用户认证。Mono Prove 是一款客户认证产品,通过MDN和面部识别技术为业务提供更快的客户认证流程,并防止欺诈性注册。
对于访问客户账户和与Mono的API(身份验证、交易、收入、直接支付)进行交互,请使用服务器端的文档。
文档
有关Mono Prove的完整信息,请参阅文档。
开始使用
安装指南
确保你已经在机器上安装了Flutter SDK。
通过以下命令安装:
flutter pub add mono_prove
额外设置
iOS
- 添加键
Privacy - Camera Usage Description
及其描述到Info.plist
文件中。
<key>NSCameraUsageDescription</key>
<string>your usage description here</string>
- 在
Podfile
文件中添加以下内容:
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
## dart: PermissionGroup.camera
'PERMISSION_CAMERA=1',
]
end
end
end
Android
在android/app/src/main/AndroidManifest.xml
文件中声明相机权限:
<uses-permission android:name="android.permission.CAMERA"/>
使用方法
导入Mono Prove SDK
import 'package:mono_prove/mono_prove.dart';
创建ProveConfiguration
final config = ProveConfiguration(
sessionId: 'PRV...', // sessionId
onSuccess: () {
print('Successfully verified.');
}, // onSuccess函数
reference: 'testref', // 可选参数
onEvent: (event) {
print(event);
}, // onEvent函数
onClose: () {
print('Widget closed.');
}, // onClose函数
);
显示Widget
ElevatedButton(
onPressed: () {
MonoProve.launch(
context,
config: config,
showLogs: true,
);
},
child: Text('Launch Prove Widget'),
)
配置选项
sessionId
onSuccess
onClose
onEvent
reference
sessionId
String: 必须 这是调用初始化接口后返回的session ID。
final config = ProveConfiguration(
sessionId: 'PRV...', // sessionId
onSuccess: () {
print('Successfully verified.');
}, // onSuccess函数
);
onSuccess
void Function(): 必须 当用户成功验证其身份时调用该闭包。
final config = ProveConfiguration(
sessionId: 'PRV...', // sessionId
onSuccess: () {
print('Successfully verified.');
}, // onSuccess函数
);
onClose
void Function(): 可选 当用户明确退出Mono Prove流程时调用该可选闭包。它不接受任何参数。
final config = ProveConfiguration(
sessionId: 'PRV...', // sessionId
onSuccess: () {
print('Successfully verified.');
}, // onSuccess函数
onClose: () {
print('Widget closed.');
}, // onClose函数
);
onEvent
void Function(ProveEvent): 可选 当Mono Prove流程中发生某些事件时调用此可选闭包,例如用户打开或关闭小部件。这使您的应用程序能够进一步了解用户在使用Mono Prove流程时发生了什么。
final config = ProveConfiguration(
sessionId: 'PRV...', // sessionId
onSuccess: () {
print('Successfully verified.');
}, // onSuccess函数
onEvent: (event) {
print(event);
}, // onEvent函数
);
reference
String: 可选 传递引用到配置中将在所有onEvent调用中返回。
final config = ProveConfiguration(
sessionId: 'PRV...', // sessionId
onSuccess: () {
print('Successfully verified.');
}, // onSuccess函数
reference: 'random_string',
);
API引用
MonoProve对象
MonoProve对象提供了用于与Mono Prove Widget轻松交互的方法。
class MonoProve {
static Future<void> launch(BuildContext context, {required ProveConfiguration config, bool showLogs = false});
}
ProveConfiguration
配置选项传递给MonoProve对象的不同启动方法。
class ProveConfiguration {
final String sessionId; // 必须
final VoidCallback onSuccess; // 必须
final VoidCallback? onClose; // 可选
final void Function(ProveEvent)? onEvent; // 可选
final String? reference; // 可选
}
ProveEvent
class ProveEvent {
final String eventType; // 事件类型
final String? reference; // 传递的引用
final String? pageName; // 小部件退出的页面名称
final String? errorType; // 小部件抛出的错误类型
final String? errorMessage; // 描述错误的错误消息
final String? reason; // 小部件退出的原因
final DateTime timestamp; // 事件的时间戳
}
支持
如果你在使用Mono Prove Flutter SDK或与Mono集成时遇到问题,请联系我们support@mono.co或加入我们的Slack频道。我们非常自豪于我们的服务水平,并乐意帮助你完成Mono的集成。
贡献
如果你想为Mono Prove Flutter SDK做出贡献,请务必阅读我们的贡献者指南。
许可证
更多许可证信息请查看MIT许可证。
示例代码
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:mono_prove/mono_prove.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(title: 'Mono Prove Demo'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
[@override](/user/override)
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
final config = ProveConfiguration(
sessionId: 'PRV...',
onSuccess: () {
log('Successfully verified.');
},
reference: DateTime.now().millisecondsSinceEpoch.toString(),
onEvent: (event) {
log(event.toString());
},
onClose: () {
log('Widget closed.');
},
);
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(widget.title),
),
body: Center(
child: ElevatedButton(
onPressed: () {
MonoProve.launch(
context,
config: config,
showLogs: true,
);
},
child: Text('Launch Prove Widget'),
),
),
);
}
}
更多关于Flutter插件mono_prove的使用_Mono Prove 是一款客户认证产品的实战教程也可以访问 https://www.itying.com/category-92-b0.html