Integrating Mobile SDK for Android

📘 Overview

  • Library Name: IntellicheckSDK
  • Latest Version: 1.0.0
  • Purpose: Enables scanning and verification of identity documents such as driver's licenses and passports.

📋 Requirements

  • Minimum SDK Version: 26
  • Compile SDK Version: 35
  • Hardware: A device with a high-quality camera capable of scanning PDF417 barcodes.

🚀 Integration Steps

1. Obtain the SDK

To receive the SDK archive, contact our support team and request the file named:

  • IntellicheckSDK.zip

2. Add the SDK to Your Project

2.1 Configure SDK Versions

Ensure your build.gradle file includes the following:

android {
    compileSdk = 35

    defaultConfig {
        minSdk = 26
        targetSdk = 35
    }
}

2.2 Add SDK Files

Create a folder named libs in the root directory of your project. Unzip IntellicheckSDK.zip into the libs folder.
Your folder structure should look like:

project-root/

 └── libs/
  └── IntellicheckSDK/
   └── intellicheck/

2.3 Add SDK Dependency

In your settings.gradle.kts:


dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
    repositories {
        google()
        mavenCentral()
        mavenLocal()
        maven { url = uri("libs/IntellicheckSDK") }
    }
}

In your app-level build.gradle.kts:


implementation("intellicheck.sdk:IntellicheckSDK:1.0.0")

Update the version as necessary. For example, IntellicheckSDK:1.1.0

👍

Sync your Gradle files to complete the integration.

🧪 Usage Examples

Basic Usage

  • Use IntellicheckActivity for basic document verification.
  • Use configuration settings for optional extras.

IntellicheckActivity returns a transaction_id after successful scanning.

  • Use transaction_id to obtain results.
  • IntellicheckActivity.RESULT_TRANSACTION_ID is a constant to get the transaction_id.

To launch the SDK without additional configuration:


val sdkLauncher = rememberLauncherForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
    if (result.resultCode == Activity.RESULT_OK) {
        result.data?.getStringExtra(IntellicheckActivity.RESULT_TRANSACTION_ID)?.let { transactionId ->
            // Handle transaction ID
        }
    }
}

sdkLauncher.launch(Intent(context, IntellicheckActivity::class.java))

Advanced Usage with Configuration


val sdkLauncher = rememberLauncherForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
    if (result.resultCode == Activity.RESULT_OK) {
        result.data?.getStringExtra(IntellicheckActivity.RESULT_TRANSACTION_ID)?.let { transactionId ->
            // Handle transaction ID
        }
    }
}

val intent = Intent(context, IntellicheckActivity::class.java).apply {
    putExtras(
        ConfigurationSettings.createConfigurationSettingsBundle(
            ConfigurationSettings(
                faceCheckState = currentSettings.faceCheckState,
                darkModeState = currentSettings.darkModeState,
                backgroundColor = currentSettings.backgroundColor.toArgb(),
                primaryColor = currentSettings.primaryColor.toArgb(),
                mainFontColor = currentSettings.mainFontColor.toArgb(),
                buttonOutline = currentSettings.buttonOutline.toArgb(),
                buttonFontColor = currentSettings.buttonFontColor.toArgb(),
                descriptionFont = currentSettings.descriptionFont.fontType,
                buttonFont = currentSettings.buttonFont.fontType,
                descriptionBoldFont = currentSettings.descriptionBoldFont.fontType,
                buttonCornerRadius = currentSettings.buttonCornerRadius,
                organizationLogo = currentSettings.organizationLogo.logoResId,
                showScanningIsDoneScreen = currentSettings.needShowScanningIsDoneScreens,
                serverCustomerId = currentSettings.serverCustomerId,
                scanOnlyBarcode = currentSettings.scanOnlyBarcode
            )
        )
    )
}

sdkLauncher.launch(intent)

⚙️ Configuration Options


SettingTypeDescription
faceCheckStateBooleanEnable face check (true to activate).
darkModeStateBooleanRun in dark mode (true to enable).
backgroundColorIntARGB color integer for screen background.
primaryColorIntARGB color integer for primary UI elements.
mainFontColorIntARGB color integer for main text.
buttonOutlineIntARGB color integer for button outlines.
buttonFontColorIntARGB color integer for button text.
descriptionFontFontTypeFont type for description text.
buttonFontFontTypeFont type for button text.
descriptionBoldFontFontTypeFont type for bold description text.
buttonCornerRadiusIntCorner radius for buttons (0–100%).
organizationLogoIntDrawable resource ID for logo on the start screen.
showScanningIsDoneScreenBooleanShow “scanning complete” screen (true to enable).
serverCustomerIdIntCustomer ID sent to backend during requests.
scanOnlyBarcodeBooleanScan only barcode on Driver License screen (true to enable).

❓ Need Help?

If you encounter issues or have questions, please contact our support team.