Quiltt Logo

Flutter SDK

The Quiltt Flutter SDK provides Widget for seamless integration of the Quiltt Connector into your Flutter app.

This SDK currently supports iOS and Android.

Documentation

For full documentation, additional examples and the source code, see the Quiltt Flutter SDK on Github.

Link to this section#Installation

$ flutter pub add quiltt_connector

Link to this section#Setting up OAuth

For production Environments, you must pass a https:// URL to oauthRedirectUrl. This URL must be a valid deep link to launch your app.

To set up a deep link to your app, please see Flutter's app links guide for Android and universal links guide for iOS guides.

If you are bringing your own Plaid credentials, you must register the Quiltt callback URL as an allowed redirect URI in the Plaid Dashboard. See the Plaid OAuth guide for more information.
https://*.callback.quiltt.io

Link to this section#Handling Authentication

To load the Connector for use by a pre-existing end-user, you'll need to pass a valid Session token. See the Authentication guide for more information on generating Session tokens.

Link to this section#Quickstart Example

Link to this section#Connect and Reconnect with QuilttConnector

Below is an example of QuilttConnector usage.

import 'package:quiltt_connector/quiltt_connector.dart';
import 'package:quiltt_connector/configuration.dart';

class _Example extends State {
  connect() {
    QuilttConnectorConfiguration config = QuilttConnectorConfiguration(
      connectorId: "<CONNECTOR_ID>",
      institution: "<OPTIONAL_INSTITUTION_SEARCH_TERM_TO_PREFILL_INSTITUTION>",
      oauthRedirectUrl: "<YOUR_HTTPS_APP_LINK>");

    QuilttConnector quilttConnector = QuilttConnector();
    quilttConnector.authenticate(token); // Optional
    quilttConnector.connect(context,
      config,

      // See the JavaScript API for all available event callbacks
      onExitSuccess: (event) {
      debugPrint("onExitSuccess: ${event.eventMetadata}");
      _setConnectionId(event.eventMetadata.connectionId!);
    }, onExitAbort: (event) {
      debugPrint("onExitAbort: ${event.eventMetadata}");
    });
  }

  reconnect() {
    QuilttConnectorConfiguration config = QuilttConnectorConfiguration(
      connectorId: "<CONNECTOR_ID>",
      connectionId: "<CONNECTION_ID>", // To support the Reconnect Flow
      oauthRedirectUrl: "<YOUR_HTTPS_APP_LINK>");

    QuilttConnector quilttConnector = QuilttConnector();
    quilttConnector.authenticate(token); // Optional
    quilttConnector.reconnect(context,
      config,

      // See the JavaScript API for all available event callbacks
      onExitSuccess: (event) {
      debugPrint("onExitSuccess: ${event.eventMetadata}");
      _setConnectionId(event.eventMetadata.connectionId!);
    }, onExitAbort: (event) {
      debugPrint("onExitAbort: ${event.eventMetadata}");
    });
  }

  @override
  Widget build(BuildContext context) {
    return Container();
  }
}