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.2.1-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.
Step 2 - Configure Cardinal Mobile SDK
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().
private Cardinal cardinal = Cardinal.getInstance(); @Override protected void onCreate(Bundle savedInstanceState) { CardinalConfigurationParameters cardinalConfigurationParameters = new CardinalConfigurationParameters(); cardinalConfigurationParameters.setEnvironment(CardinalEnvironment.STAGING); cardinalConfigurationParameters.setRequestTimeout(8000); cardinalConfigurationParameters.setChallengeTimeout(5); 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); }
Security Guide
After you configure cardinalSession, call method getWarnings to get the list of all the warnings for the particular device. Take further action based on the warnings found.
List of warnings can be accessed as follows:
List<Warning> warnings = cardinal.getWarnings();
Goto Security Guidance for detail.
Available Configurations
Method | Description | Default Values |
---|---|---|
setEnvironment(CardinalEnvironment environment) | Sets the environment the SDK has to connect to | CardinalEnvironment.PRODUCTION |
| ||
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(); |
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 server | false |
setRequestTimeout(int requestTimeout) | Sets the maximum amount of time (milliseconds) for all exchanges | 8000 |
setChallengeTimeout(int challengeTimeout) | Sets the maximum amount of time (minutes) for challenge | 5 |
setThreeDSRequestorAppURL(String threeDSRequestorAppURL) | The setThreeDSRequestorAppURL method may set the 3DS Requestor App URL. If the app sets the URL, then the SDK shall pass the URL to the server. | "" |
CardinalUiType
Enum Constant |
---|
BOTH |
NATIVE |
HTML |
CardinalRenderType
Enum Constant and Description |
---|
HTML |
MULTI_SELECT |
OOB |
OTP |
SINGLE_SELECT |
CardinalEnvironment
Enum Constant |
---|
PRODUCTION |
STAGING |