# SDK Integration
source: https://developer.mastercard.com/open-finance-us/documentation/connect/integrating/sdk/index.md

Tip: **Why we recommend using our Data Connect SDKs**

Using one of the provided SDKs for your Mastercard Data Connect integration is recommended for the following reasons:

1. Using the SDKs can significantly reduce the development effort, and provides the cleanest integration.

2. The SDKs manage the OAuth re-direction for you.

3. Error messaging/event handling is built in, so you do not need to implement webhooks to receive Data Connect events.

4. The SDKs are compliant with any restrictions imposed by FIs (for example Chase does not allow their consent URL to be launched from within insecure webviews). We regularly update our SDKs to support these requirements.

5. The user journey when using our SDKs is correct and has been validated and tested. If you implement the experience without using the SDKs, you'll need to take care to avoid any anomalous behavior that we do not support. Using the SDKs means this is not a concern.

We provide the following SDKs to help you embed the Data Connect user experience anywhere you want within your applications.

* [Web Applications](https://developer.mastercard.com/open-finance-us/documentation/connect/integrating/sdk/web-sdk/index.md) ---
  The Data Connect Web SDK enables you to embed the Data Connect user experience into an iFrame or add it into a popup window. The Data Connect Web SDK also provides events to help you monitor the progress of a user within the flow. You can install the SDK into your project via npm, or just reference it as needed via our CDN (using the ESM, UMD, or IIFE module formats).

* [iOS Applications](https://developer.mastercard.com/open-finance-us/documentation/connect/integrating/sdk/ios/index.md) --- The Data Connect iOS SDK is a compiled binary in XCFramework format, which allows you to easily integrate our SDK into your development projects. This section also explains how you can display Data Connect and the FI authentication inside a secure web container (Safari view controller) on iOS, without using the Data Connect iOS SDK.

* [Android Applications](https://developer.mastercard.com/open-finance-us/documentation/connect/integrating/sdk/android/index.md) --- The Data Connect Android SDK is distributed as a compiled binary in Maven Central which allows you to easily integrate our SDK into your development projects. This section also explains how you can display Data Connect and the FI authentication inside a secure web container (Chrome custom tab) on Android, without using the Data Connect Android SDK.

* [React Native Applications](https://developer.mastercard.com/open-finance-us/documentation/connect/integrating/sdk/react-native-sdk/index.md) --- The Data Connect React Native SDK provides an easy way for you to integrate Mastercard Open Finance Data Connect into your React Native application for cross-platform development on both iOS and Android.

For mobile applications, we recommend using one of the Data Connect mobile SDKs. You can also display the Data Connect experience inside a webview within your mobile app (optionally, the Data Connect Web SDK can be used with this approach).

* [Using Webviews via the Web SDK](https://developer.mastercard.com/open-finance-us/documentation/connect/integrating/sdk/webviews/index.md) --- Webviews enable you to display web content within a native mobile application, without needing to launch a full browser experience. Data Connect Full, Lite and Fix can all be displayed within Webviews via the Web SDK.

## SDK Deprecation Policy {#sdk-deprecation-policy}

Starting Q4 2024, Mastercard began adhering to the following deprecation policy. We strongly recommend updating to the latest version of our SDKs as soon as possible to avoid potential disruptions. Deprecated SDKs do not receive support.

### Terminology {#terminology}

Each version of an SDK has a status of Active, Inactive, or Deprecated:

|   Status   |                                                                                                          Description                                                                                                           |
|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Active     | This is the most recent major version of our SDK and is fully supported. This is the recommended version for use. Active status SDKs receive minor updates and patches as needed.                                              |
| Inactive   | When a new major version is released, the previous major version becomes inactive. Inactive SDKs do not receive updates. After nine months of inactive status, inactive SDKs are deprecated.                                   |
| Deprecated | Deprecated versions may contain bugs, security vulnerabilities, or lack compatibility with newer platforms, which could result in disruptions to your application. Update to the latest version promptly to avoid disruptions. |

For example, the lifecycle of an SDK could be as follows (the dates and version numbers used here are purely illustrative and do not relate to any particular SDK):

* January 1, 2025: Version 1.0.0 is released (Active).
* June 1, 2025: Version 1.1.0 is released (1.1.0 is the most up to date Active SDK).
* February 1, 2026: Version 2.0.0 is released (2.0.0 becomes Active, 1.x.x become Inactive).
* May 1, 2026: Version 2.1.0 is released (2.1.0 is the most up to date Active version, all versions in 1.x.x are still Inactive).
* November 1, 2026: Nine months after becoming Inactive, all 1.x.x Versions are Deprecated.

<br />

### Recommendations {#recommendations}

We recommend signing up for email notifications within the SDK repositories you use on the GitHub website. By selecting the [custom option in your GitHub notification settings](https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#about-custom-notifications), you can receive updates when new releases occur. Additionally, you can monitor our change logs on GitHub to ensure your SDK remains up-to-date.

Here are links to each of our SDK repositories on GitHub:

* [Web SDK GitHub repository](https://github.com/Mastercard/connect-web-sdk)
* [iOS SDK GitHub repository](https://github.com/Mastercard/connect-ios-sdk)
* [Android SDK GitHub repository](https://github.com/Mastercard/connect-android-sdk)
* [React Native SDK GitHub repository](https://github.com/Mastercard/connect-react-native-sdk)

<br />

For any questions or support, please [contact us](https://developer.mastercard.com/open-finance-us/documentation/support/index.md#get-help).

## Callback Events {#callback-events}

The iOS, Android, and React Native SDKs provide the following events via their callback interface.

|  Event   |                                                                 Description                                                                 |
|----------|---------------------------------------------------------------------------------------------------------------------------------------------|
| onLoad   | Sent when the Data Connect web page is loaded and ready to display.                                                                         |
| onDone   | Sent when the user successfully completes the Data Connect application.                                                                     |
| onCancel | Sent when the user cancels the Data Connect application.                                                                                    |
| onError  | Sent when there is an error during the Data Connect application.                                                                            |
| onRoute  | Sent when the user navigates to a new route or screen in Data Connect.                                                                      |
| onUser   | Sent when a user performs an action. User events provide visibility into what action a user could take within the Data Connect application. |

## Resources {#resources}

* Learn more about the Data Connect specific events that get sent to the SDK's event listener. See [Data Connect Events](https://developer.mastercard.com/open-finance-us/documentation/connect/integrating/sdk/events/index.md).
* See the list of [Webhook events](https://developer.mastercard.com/open-finance-us/documentation/webhooks/webhooks-connect/index.md) that your service can listen for while a customer uses the Data Connect experience.
