aerosync_flutter_sdk 1.0.0-dev-5 copy "aerosync_flutter_sdk: ^1.0.0-dev-5" to clipboard
aerosync_flutter_sdk: ^1.0.0-dev-5 copied to clipboard

This Flutter SDK provides an interface to load Aerosync-UI in Flutter apps.

Introduction #

This Flutter SDK provides an interface to load Aerosync-UI in Flutter apps through flutter_inappwebview. Securely link your bank account through your bank’s website. Log in with a fast, secure, and tokenized connection. Your information is never shared or sold.

1. Installation #

  1. First add aerosync_flutter_sdk as a dependency to the pubspec.yaml file. We are currently on constant development for fine-tuning and improvement currently using the prerelease ^1.0.0-dev-5 as our release with the most up to date features and fixes.
dependencies:
  aerosync_flutter_sdk: ^1.0.0-dev-5
  1. Import the library
  import 'package:aerosync_flutter_sdk/aerosync_flutter_sdk.dart';

2. Usage/Examples #

The Aerosync plugin is brought in as a separate window that launches the Flutter InAppWebView Plugin with the Aerosync starting url.
In this example the widget is navigated to when ElevatedButton is pressed.

...
late String _token = "xb9dB=PG?W!0vk-v...";
late String _env = "dev";
Map _style = {"width" : "300", "height" : "700", "bgColor": "b3949494"};
late String _deeplink = "myapp://path/to/page?pageid=1";
@override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: _title,
      home: Scaffold(
        appBar: AppBar(title: const Text(_title)),
        body: isLoading
            ? LaunchButton(env: _env, token: _token, style: _style, deeplink: _deeplink)
            : SizedBox(), // this includes all the button and functionality
      ),
    );
  }
...

class LaunchButton extends StatelessWidget {
  var env;
  var token;
  var style;
  var deeplink;
  LaunchButton({Key? key, required this.env, required this.token, required this.style, required this.deeplink})
      : super(key: key);

  // handle the OnEvent callback from aerosync
  handleOnEventAerosync(eventType, data) {
    print("CALLBACK FULLY HANDLED: OnEvent");
  }

  // handle the OnSuccess callback from aerosync
  handleOnSuccessAerosync(eventType, data) {
    print("CALLBACK FULLY HANDLED: OnSuccess");
  }

  // handle the OnClose callback from aerosync
  handleOnCloseAerosync(eventType, data) {
    print("CALLBACK FULLY HANDLED: OnClose");
  }

  // handle the OnLoad callback from aerosync
  handleOnLoadAerosync(eventType, data) {
    print("CALLBACK FULLY HANDLED: OnLoad");
  }

  // handle the OnError callback from aerosync
  handleOnErrorAerosync(eventType, data) {
    print("CALLBACK FULLY HANDLED: OnError");
  }

  @override
  Widget build(BuildContext context) {
    return SafeArea(
        child: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      mainAxisSize: MainAxisSize.min,
      children: [
        ElevatedButton(
          onPressed: () => {
            Navigator.of(context).push(MaterialPageRoute(
                builder: (context) => AerosyncSDKPage(
                      env: env,
                      token: token,
                      style: style,
                      onEvent: handleOnEventAerosync,
                      onSuccess: handleOnSuccessAerosync,
                      onClose: handleOnCloseAerosync,
                      onLoad: handleOnLoadAerosync,
                      onError: handleOnErrorAerosync,
                      deeplink: deeplink
                    )))
          },
          child: Text(
            'Connect',
            style: TextStyle(fontSize: 20),
          ),
        ),
      ],
    ));
  }
}

The AerosyncSDKPage widget takes in a env parameter, a token parameter a style parameter deeplink, and callback event notifications needed for your implementation. To generate a token, check out our integration guide here.

Each callback returns an eventType value and data that is returned from aerosync-ui.

Parameter Type Description
env string Required. Available values: dev, staging, production.
token string Required. The token generated from the integration guide.
style* Map Required. {"width": "<double>", "height": "<double>", "bgColor": "<Hex color value in format "ARGB">" }
onEvent function(response) Required. This method will be triggered as the user completes the bank link workflow.
onLoad function(response) Required. Call function after the contents of webpage have been loaded as the user completes the bank link workflow.
onSuccess function(response) Required. This method will be triggered when a bank is added successfully and the user clicks on "continue" button in the final AeroSync-UI page.
onClose function(response) Required. This method will be triggered when the Aerosync widget is closed.
onError function(response) Required. The method is called if AeroSync-UI dispatches any error events.
deeplink string Required Deeplink from your app.
  • The Style parameter takes in a Map<String, String> object with width, height, and bgColor parameters that will customize the Aerosync widget to your liking. the Map is Required to be sent even if you dont want to change one of the values leave the key out of the map or just all together send an empty map.

📘 The deeplink parameter is a required field that links back to your Flutter application for the best oAuth authentication experience.

The largest FIs in the US use oAuth experiences to authenticate their end user's banks for the optimal user experience in a secure manner.

To implement deeplinking using Flutter please refer to the official Flutter Deeplink guide here.

Store connected account #

Store onSuccess() data attributes to authenticate with the Aerosync API to retrieve account information.

{
  "payload":     {  
      "ClientName": "client3",  
      "FILoginAcctId": "{\"u_guid\":\"USR-701a457e-5b93-4598-b7a1-b968c495ee3f\", \"m_guid\": \"MBR-d699c457-90f7-4b96-96c1-c50a445eabec\", \"a_guid\": \"ACT-9f5549d6-e402-43f4-8351-cd4018de7a80\"}",  
      "user_id": "a2c7f64f-3df9-4090-b3bd-ad6fc3003c90",  
      "user_password": "735e33b9-78ec-4887-99d7-a3056997ceb9" },
  "type": "pageSuccess"
}

1
likes
0
points
202
downloads

Publisher

unverified uploader

Weekly Downloads

This Flutter SDK provides an interface to load Aerosync-UI in Flutter apps.

Homepage

License

unknown (license)

Dependencies

cupertino_icons, flutter, flutter_inappwebview, lottie, uuid

More

Packages that depend on aerosync_flutter_sdk