Flutter身份验证与KYC(了解你的客户)插件flutter_identity_kyc的使用

Flutter身份验证与KYC(了解你的客户)插件flutter_identity_kyc的使用

flutter_identity_kyc

Prembly 2.0 KYC Checkout Flutter Wrapper

开始使用

pubspec.yaml文件中添加flutter_identity_kyc包。

dependencies:
  flutter_identity_kyc: ^版本号

然后运行flutter pub get以安装该库。

KYC小部件

要显示KYC小部件,可以使用以下代码:

FlutterIdentityKyc.showWidget(InputParameters(
    merchantKey: "your merchant public key", // 商家公钥
    email: "your email address", // 邮箱地址
    firstName: "your first name", // 名字
    lastName: "your last name", // 姓氏
    userRef: "unique user ref", // 唯一用户引用
    config: "Your configuration id from your widget configuration", // 配置ID
    onCancel: (response) => {print(response)}, // 取消回调
    onVerified: (response) => {print(response)}, // 验证成功回调
    onError: (error) => print(error)), // 错误回调
);

需求

Android

AndroidManifest.xml文件中添加以下权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIDEO_CAPTURE" />

android.gradle文件中添加以下内容:

allprojects {
    ext {
        compileSdkVersion = 33
        targetSdkVersion = 33
        minSdkVersion = 21
    }
    repositories {
        google()
        mavenCentral()
    }
}

subprojects {
    afterEvaluate { project -> 
        if (project.hasProperty('android')) {
            project.android {
                if (namespace == null) {
                    namespace project.group
                }
            }
        }
    }
}

iOS

Info.plist文件中添加以下权限:

<key>NSPhotoLibraryUsageDescription</key>
<string>App needs access to photo lib for profile images</string>
<key>NSCameraUsageDescription</key>
<string>To capture profile photo please grant camera access</string>

示例实现

以下是一个完整的示例实现:

import 'package:flutter/material.dart';
import 'package:flutter_identity_kyc/flutter_identity_kyc.dart';
import 'package:permission_handler/permission_handler.dart';

void main() {
  runApp(MaterialApp(home: MyApp()));
}

class MyApp extends StatefulWidget {
  [@override](/user/override)
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  [@override](/user/override)
  void initState() {
    super.initState();
    requestPermissions();
  }

  Future<void> requestPermissions() async {
    await Permission.camera.request().isGranted;
    await Permission.microphone.request();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
            body: Center(
                child: ElevatedButton(
      style: null,
      onPressed: () {
        FlutterIdentityKyc.showWidget(InputParameters(
            context: context,
            merchantKey: "", // 替换为实际的商户公钥
            firstName: "", // 替换为实际的名字
            lastName: "", // 替换为实际的姓氏
            email: "", // 替换为实际的邮箱
            userRef: "", // 替换为唯一的用户引用
            config: "", // 替换为配置ID
            onCancel: (response) {
              print(response); // 打印取消响应
            },
            onVerified: (response) {
              print(response); // 打印验证成功响应
            },
            onError: (error) => print(error))); // 打印错误信息
      },
      child: Text('Verify My Identity'), // 按钮文本
    ))));
  }
}

更多关于Flutter身份验证与KYC(了解你的客户)插件flutter_identity_kyc的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter身份验证与KYC(了解你的客户)插件flutter_identity_kyc的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用flutter_identity_kyc插件进行身份验证与KYC(了解你的客户)流程的示例代码。这个插件通常用于处理用户身份验证和文档验证等功能。

首先,确保你已经在pubspec.yaml文件中添加了flutter_identity_kyc依赖:

dependencies:
  flutter:
    sdk: flutter
  flutter_identity_kyc: ^最新版本号 # 请替换为最新版本号

然后,运行flutter pub get以获取依赖项。

接下来,在你的Flutter项目中,你可以按照以下步骤初始化并使用flutter_identity_kyc插件。

1. 初始化插件

在你的主文件(通常是main.dart)或任何合适的位置初始化插件:

import 'package:flutter/material.dart';
import 'package:flutter_identity_kyc/flutter_identity_kyc.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  // 初始化插件
  FlutterIdentityKyc.instance.initialize();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}

2. 启动身份验证与KYC流程

HomeScreen或任何你希望启动身份验证与KYC流程的屏幕上,你可以调用插件提供的方法。以下是一个简单的示例:

import 'package:flutter/material.dart';
import 'package:flutter_identity_kyc/flutter_identity_kyc.dart';

class HomeScreen extends StatefulWidget {
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Identity KYC Demo'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            try {
              // 启动身份验证与KYC流程
              var result = await FlutterIdentityKyc.instance.startKYCProcess(
                clientId: 'your_client_id', // 替换为你的客户端ID
                clientSecret: 'your_client_secret', // 替换为你的客户端密钥
                userId: 'user_123', // 用户ID
                redirectUri: 'your_redirect_uri', // 重定向URI
              );
              
              // 处理结果
              if (result.status == 'success') {
                print('KYC completed successfully');
                // 可以在这里保存用户KYC数据等
              } else {
                print('KYC failed: ${result.message}');
              }
            } catch (e) {
              print('Error: $e');
            }
          },
          child: Text('Start KYC Process'),
        ),
      ),
    );
  }
}

注意事项

  1. 替换占位符:在上面的代码中,your_client_idyour_client_secretuser_123your_redirect_uri等占位符需要替换为你实际使用的值。
  2. 错误处理:在实际应用中,你可能需要更详细的错误处理逻辑,以处理不同的错误场景。
  3. UI定制:插件可能提供了UI定制选项,你可以根据需求进行UI的定制。
  4. 隐私与安全:确保处理用户敏感信息时遵循相关的隐私和安全最佳实践。

额外提示

  • 文档与API:参考flutter_identity_kyc的官方文档以获取更多详细信息和API用法。
  • 更新与兼容性:定期检查并更新插件以确保与最新版本的Flutter兼容。

这个示例代码提供了一个基本的框架,你可以根据实际需求进行扩展和修改。

回到顶部