Setting up CardinalMobileSDK - Android- V 2.1.4

Step 1 - Update the Gradle Build Properties to Integrate Cardinal Mobile SDK

In Android Studio, open the app directory (which can also be labeled Module: app) and then open the build.gradle file. Double check to make sure that you edit the Gradle file that is located in the app directory. Add the following contents to the Gradle file.

repositories {
    ...
	maven {
		url  "https://cardinalcommerce.bintray.com/android"
		credentials {
			username ''//Bintray username
            password ''//Bintray user API Key
		}
	}
}
dependencies {
    ...
	//Cardinal Mobile SDK
	implementation 'org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.1.4-1'

	 // Required libraries
    implementation group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: '7.0.1'
    implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.61'
}

For Bintray username and API Key please reach out to your client manager.

860094505

Upon successfully completing Integration in Step 1, get the instance of the cardinal object by Cardinal.getInstance(). SDK offers multiple configuration options for you (if not specified, everything is set to default). For more details: CardinalConfigurationOptions. Use the code snippet below for completing the cardinal.configure()

Java
private Cardinal cardinal = Cardinal.getInstance();
@Override
protected void onCreate(Bundle savedInstanceState) {

CardinalConfigurationParameters cardinalConfigurationParameters = new CardinalConfigurationParameters();
        cardinalConfigurationParameters.setEnvironment(CardinalEnvironment.STAGING);
        cardinalConfigurationParameters.setTimeout(8000);
        JSONArray rType = new JSONArray();
        rType.put(CardinalRenderType.OTP);
        rType.put(CardinalRenderType.SINGLE_SELECT);
        rType.put(CardinalRenderType.MULTI_SELECT);
        rType.put(CardinalRenderType.OOB);
        rType.put(CardinalRenderType.HTML);
        cardinalConfigurationParameters.setRenderType(rType);

        cardinalConfigurationParameters.setUiType(CardinalUiType.BOTH);

        UiCustomization yourUICustomizationObject = new UiCustomization();
        cardinalConfigurationParameters.setUICustomization(yourUICustomizationObject);

        cardinal.configure(this,cardinalConfigurationParameters);

}
Kotlin
private val cardinal: Cardinal = Cardinal.getInstance()

override fun onCreate(savedInstanceState: Bundle?) {
		
		val cardinalConfigurationParameters = CardinalConfigurationParameters()
        cardinalConfigurationParameters.environment = CardinalEnvironment.STAGING
        cardinalConfigurationParameters.timeout = 8000
		
		val rTYPE = JSONArray()
        rTYPE.put(CardinalRenderType.OTP)
        rTYPE.put(CardinalRenderType.SINGLE_SELECT)
        rTYPE.put(CardinalRenderType.MULTI_SELECT)
        rTYPE.put(CardinalRenderType.OOB)
        rTYPE.put(CardinalRenderType.HTML)
        cardinalConfigurationParameters.renderType = rTYPE

        cardinalConfigurationParameters.uiType = CardinalUiType.BOTH

		val yourUICustomizationObject = UiCustomization()
		cardinalConfigurationParameters.uiCustomization = yourUICustomizationObject

		cardinal.configure(this, cardinalConfigurationParameters)
}

Available Configurations  

MethodDescriptionDefault Values
setEnvironment(Setting up Cardinal Mobile SDK - Android- V 2.1#CardinalEnvironment environment)
Sets the environment the SDK has to connect to
CardinalEnvironment.PRODUCTION
setTimeout(int timeout)Sets the maximum amount of time (in milliseconds) for all exchanges
8000
setUiType(761331721 uiType)

Sets all UI types that the device supports for displaying specific challenge user interfaces within the SDK

CardinalUiType.BOTH
setRenderType(org.json.JSONArray renderType)

Sets renderLists all UI types that the device supports for displaying specific challenge user interfaces within the SDK


JSONArray rType = new JSONArray();
rType.put(CardinalRenderType.OTP);
rType.put(CardinalRenderType.SINGLE_SELECT);
rType.put(CardinalRenderType.MULTI_SELECT);
rType.put(CardinalRenderType.OOB);
rType.put(CardinalRenderType.HTML);
setProxyAddress(java.lang.String proxyAddress)Sets the proxy the SDK has to connect to
""
setEnableQuickAuth(boolean enableQuickAuth)Sets enable quick auth
false

setUICustomization(UiCustomization UI Customization)

SetsUICustomization   Device Default Values
setEnableDFSync(boolean enableDFSync)On setting true, onSetupCompleted in step 4, will be called after device data collected is sent to the serverfalse

CardinalUiType 

Enum Constant
BOTH
NATIVE
HTML

CardinalRenderType 

Enum Constant and Description
HTML 
MULTI_SELECT
OOB 

OTP

SINGLE_SELECT

CardinalEnvironment 

Enum Constant
PRODUCTION
STAGING