Mesh Connect React Native SDK
React Native library for integrating with Mesh Connect.
Installation
With npm
:
npm install --save @meshconnect/react-native-link-sdk
With yarn
:
yarn add @meshconnect/react-native-link-sdk
💡 This package requires react-native-webview
to be installed in your project. Some times it is not installed automatically (This is a known npm issue). You should install it manually via following command in this case:
npm install --save react-native-webview
# or with yarn
yarn add react-native-webview
Get Link token
Link token should be obtained from the POST /api/v1/linktoken endpoint. API reference for this request is available here. The request must be performed from the server side because it requires the client's secret. You will get the response in the following format:
{
"content": {
"linkToken": "{linkToken}"
},
"status": "ok",
"message": ""
}
Launch Link
import React from 'react';
import {
LinkConnect,
LinkPayload,
LinkSettings,
LinkEventType,
IntegrationAccessToken,
TransferFinishedPayload,
TransferFinishedSuccessPayload,
TransferFinishedErrorPayload
} from '@meshconnect/react-native-link-sdk';
const accessTokens: IntegrationAccessToken = [
/* Your access tokens */
];
const transferDestinationTokens: IntegrationAccessToken = [
/* Your transfer destination tokens */
];
const linkSettings: LinkSettings = {
accessTokens,
transferDestinationTokens,
};
export const App = () => {
return (
<LinkConnect
linkToken={"YOUR_LINKTOKEN"}
settings={linkSettings}
onIntegrationConnected={(payload: LinkPayload) => {
// use broker account data
}}
onTransferFinished={(payload: TransferFinishedPayload) => {
if (payload.status === 'success') {
const successPayload = payload as TransferFinishedSuccessPayload
// use transfer finished data
} else {
const errorPayload = payload as TransferFinishedErrorPayload
// handle transfer error
}
}}
onEvent={(event: LinkEventType) => {
console.log(event);
}}
onExit={(err?: string) => {
// use error message
}}
/>
)
}
export default App;
ℹ️ See full source code examples at examples/.
LinkConnect
component arguments
key | type | Required/Optional | description |
---|---|---|---|
linkToken |
string |
required | Link token |
settings |
LinkSettings |
optional | Settings object |
onIntegrationConnected |
(payload: LinkPayload) => void |
optional | Callback called when users connects their accounts |
onTransferFinished |
(payload: TransferFinishedPayload) => void |
optional | Callback called when a crypto transfer is executed |
onExit |
(err: string) => void) |
optional | Called if connection not happened. Returns an error message |
onEvent |
(event: LinkEventType) => void |
optional | Callback called when an event is triggered |
The LinkSettings
option allows to configure the Link behaviour:
-
accessTokens
- an array ofIntegrationAccessToken
objects that is used as an origin for crypto transfer flow. -
transferDestinationTokens
- an array ofIntegrationAccessToken
objects that is used as a destination for crypto transfer flow.
V1 -> V2 migration guide
In Mesh Connect React Native SDK v2, url
prop is removed from LinkConnect
component. You should use linkToken
prop instead of url
prop.
orError
and onClose
props are combined with onExit
callback with an optional error message argument.
Following are the renamed props:
-
onBrokerConnected
->onIntegrationConnected
-
FrontPayload
->LinkPayload
The component FrontFinance
is renamed to LinkConnect
.
Typescript support
Typescript definitions for @meshconnect/react-native-link-sdk
are built into the npm package.