Flutter 插件mono_flutter的使用_mono_flutter 是一个Flutter插件,它集成了Mono(金融数据平台)的官方Android和iOS SDK

Flutter 插件mono_flutter的使用_mono_flutter 是一个Flutter插件,它集成了Mono(金融数据平台)的官方Android和iOS SDK

mono_flutter简介

pub package

mono_flutter 是一个Flutter插件,它集成了Mono(金融数据平台)的官方Android和iOS SDK。Mono Connect.js是一种快速且安全的方式,可以在应用程序内部链接银行账户到Mono。Mono Connect是一个集成框架,负责处理将金融机构连接到您的应用程序(凭据验证、多因素认证、错误处理等)。它适用于移动和Web端。

要访问客户账户并与Mono的API(身份验证、交易、收入、DirectPay)交互,请使用服务器端的Mono API。有关Mono Connect的完整信息,请参考官方文档

快速开始

注册并获取密钥

  1. Mono网站上注册并获取您的公钥和私钥。
  2. 设置一个服务器以交换令牌,从而使用您的Mono私钥访问用户金融数据。

iOS配置

Info.plist中添加以下键值对:

<key>NSCameraUsageDescription</key>
<string>your usage description here</string>
<key>NSMicrophoneUsageDescription</key>
<string>your usage description here</string>

Android配置

android/app/src/main/AndroidManifest.xml文件中声明相机权限:

<uses-permission android:name="android.permission.CAMERA"/>

升级至Mono Widget 2.0

如果您已经在使用Mono Connect或DirectPay,则需要升级您的小部件版本以获得新特性。请登录您的Mono仪表板,前往设置中的偏好设置部分,切换到新的Mono小部件版本并确认更改。

使用示例

以下是完整的示例代码,展示了如何在Flutter项目中使用mono_flutter插件:

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

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  MyHomePageState createState() => MyHomePageState();
}

class MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: ElevatedButton(
          child: const Text('Launch Mono'),
          onPressed: () async {
            await MonoFlutter().launch(
              context,
              'YOUR_PUBLIC_KEY_HERE', // 替换为您的公钥
              scope: "auth",
              reference: DateTime.now().millisecondsSinceEpoch.toString(),
              customer: MonoCustomer(
                newCustomer: MonoNewCustomerModel(
                  name: "Samuel Olamide", 
                  email: "samuel@neem.com", 
                  identity: MonoNewCustomerIdentity(
                    type: "bvn",
                    number: "2323233239",
                  ),
                ),
              ),
              onEvent: (event, data) {
                print('event: $event, data: $data');
              },
              onClosed: (code) {
                print('Modal closed $code');
              },
              onLoad: () {
                print('Mono loaded successfully');
              },
              onSuccess: (code) {
                print('Mono Success $code');
              },
            );
          },
        ),
      ),
    );
  }
}

在这个例子中,我们创建了一个简单的Flutter应用程序,其中包含一个按钮,点击该按钮会启动Mono Connect界面。您可以根据需要调整参数,例如YOUR_PUBLIC_KEY_HERE应替换为您从Mono获取的实际公钥。

对于返回用户的处理,可以使用MonoExistingCustomerModel来指定现有客户的ID。此外,还可以通过传递selectedInstitution参数预先选择特定的金融机构。

更多自定义选项和高级用法,请参阅官方GitHub仓库中的完整文档和示例项目。


更多关于Flutter 插件mono_flutter的使用_mono_flutter 是一个Flutter插件,它集成了Mono(金融数据平台)的官方Android和iOS SDK的实战教程也可以访问 https://www.itying.com/category-92-b0.html

回到顶部