Integrate the Virtual Cards Simulator SDK

Integrate the Virtual Cards Simulator SDK into your application

Prerequisites

Get Started

Integrate the JS SDK

To use the Virtual Cards Simulator SDK in a Web or Node.js project, you must add @sudoplatform/sudo-virtual-cards as a dependency to your project.

yarn add '@sudoplatform/sudo-virtual-cards-simulator'
# or
npm install --save '@sudoplatform/sudo-virtual-cards-simulator'

To instantiate and initialize a client in your application, add the following:

const SimApiConfig = t.type({
  apiUrl: t.string,
  apiKey: t.string,
  region: t.string,
})
type SimApiConfig = t.TypeOf<typeof SimApiConfig>

const setupApiClient = (): AWSAppSyncClient<NormalizedCacheObject> => {
  const config =
    DefaultConfigurationManager.getInstance().bindConfigSet<SimApiConfig>(
      SimApiConfig,
      'vcSimulator',
    )
  return new AWSAppSyncClient({
    disableOffline: true,
    url: config.apiUrl,
    region: config.region,
    auth: {
      type: AUTH_TYPE.API_KEY,
      apiKey: config.apiKey,
    },
  })
}

const client = setupApiClient()
const virtualCardsSimulatorClient =
  new DefaultSudoVirtualCardsSimulatorClient({ appSyncClient: client })

Integrate the iOS SDK

The iOS SDK is open source and compatible with iOS 11 and above.

To use the Virtual Cards Simulator SDK in an iOS App you must install SudoVirtualCardsSimulator via Cocoapods.

If your project has not already been initialized for Cocoapods then run the following command from the project's root directory.

pod init

Open the Podfile in a text editor and add the SudoVirtualCardsSimulator pod as a dependency to your application. Your Podfile should look like this example:

Podfile
target 'YOUR-APP-NAME' do
  use_frameworks!
  pod 'SudoVirtualCardsSimulator'
end

Install the pod dependencies by running the following command:

pod install --repo-update

SDK Configuration

Simulator configuration differs from the configuration of the other Sudo Platform SDKs. Please take note of this section.

The Simulator configuration differs from the configuration you will have seen in the other Sudo Platform SDKs. It requires:

  • username

  • password

  • endpoint

  • region

The username and password are your login credentials for the Sudo Platform Administration Console.

The endpoint and region are contained in the SDK configuration file that you can download as described in the Getting Started section.

Do not commit sensitive information, such as your username and password, within your code repository.

Client Initialization

To instantiate a client in your application, add the following code.

do {
    let username = // Username obtained from the Sudo Platform Admin Console
    let password = // Password obtained from the Sudo Platform Admin Console
    let simulatorClient = try DefaultSudoVirtualCardsSimulatorClient(
        username: username, 
        password: password
    )
} catch {
    // Handle initialization error. An error might be thrown due to invalid
    // configuration.
}

Integrate the Android SDK

The Android SDK is open source and compatible with Android 6 (API level 23) and above.

Add this line to the dependencies section of the app module's build.gradle then synchronize your project with Android Studio.

build.gradle
dependencies {
    implementation 'com.sudoplatform:sudovirtualcardssimulator:$latest_version'
}

The latest version of the SDK can be found at SDK Releases.

In order to instantiate a Virtual Cards Simulator client, make sure you have followed the instructions for Getting Started (see Prerequisities above)

SDK Configuration

Simulator configuration differs from the configuration of the other Sudo Platform SDKs. Please take note of this section.

The Simulator configuration differs from the configuration you will have seen in the other Sudo Platform SDKs. It requires:

  • username

  • password

  • endpoint

  • region

You can obtain the username and password from the Sudo Platform Administration Console under the Project Settings -> Mobile App Config section. This username and password are your login credentials for the Sudo Platform Administration Console.

The endpoint and region are contained in the SDK configuration file that you can download as described in the Getting Started section.

Do not commit sensitive information, such as your username and password, within your code repository.

Client Initialization

To instantiate a client in your application, add the following code.

val username = // Username obtained from the Sudo Platform Admin Console
val password = // Password obtained from the Sudo Platform Admin Console

val simulatorClient = SudoVirtualCardsSimulatorClient.builder()
    .setContext(appContext)
    .setUsername(username)
    .setPassword(password)
    .build()

Threading Considerations

The methods of this API shown in the code samples perform synchronous network requests to the simulator provider. Therefore, these methods should be called with the Dispatchers.IO coroutine dispatcher so that the network request is performed on an I/O thread and not on the main thread.

Calling these methods on the main thread may cause a NetworkOnMainThreadException

Last updated