Mobile App Integration

Integrate SmartID into your Android and iOS applications for device recognition, login tracking, and transaction monitoring.

Overview

The SmartID mobile SDK is available for both major platforms. It collects encrypted device fingerprint data and returns it via callbacks for your app to send to your backend.

For non-native applications (React Native, Flutter, Ionic, etc.), integration is also supported through native bridges. Contact the SmartID team for bridge-specific documentation.

Android

Native SDK distributed via Maven. Supports Java and Kotlin. Minimum API level 21.

iOS

Native SDK distributed via Swift Package Manager. Supports Swift 5+. Minimum iOS 13.

Android SDK

Installation

Add the SmartID Maven repository and dependency to your project's build.gradle:

Gradle
repositories {
// SmartID Maven repository
    maven {
        url 'https://mymavenrepo.com/repo/<repo_id>/'
    }
}

dependencies {
    implementation 'com.develsystems.smartid:demo:5.0.0'
}
Repositoryhttps://mymavenrepo.com/repo/<repo_id>/
Dependencycom.develsystems.smartid:demo
Version5.0.0
Important

The Maven repository URL and dependency credentials are provided by the SmartID team during onboarding. Contact your account manager if you haven't received them.

Integration

The integration consists of two parts: collecting device data and sending it to your backend.

1. Collect Device Data

Use the SDK to obtain encrypted device information:

Java
SmartId
    .getInstance()
    .GetRawData(/*optional*/ "backend_url")
    .onSuccess((time, response) -> {
        // response contains encrypted device data
        // Send it to your backend with user credentials
    })
    .onFailure((time, message, errorCode) -> {
        // Handle error – send empty data field
    })
    .start();
Kotlin
SmartId
    .getInstance()
    .GetRawData(/*optional*/ "backend_url")
    .onSuccess { time, response ->
        // response contains encrypted device data
        // Send it to your backend with user credentials
    }
    .onFailure { time, message, errorCode ->
        // Handle error – send empty data field
    }
    .start()

Method Parameters

Parameter Type Required Description
backend_urlStringOptionalYour backend URL. Used for additional security checks such as SSLPinning and PharmingAttack detection.

Callback Parameters

Parameter Type Description
timeLongRequest duration in milliseconds
responseStringEncrypted device data to send to SmartID API
messageStringError description (failure callback only)
errorCodeIntError code (failure callback only)
Important

If the SDK returns a Failure callback, you must still send the login request to your backend, but with an empty data field.

2. Backend Processing

When the user submits their credentials, attach the encrypted <code>response</code> from SmartID and forward it to the SmartID API. See the API Reference for complete endpoint details, request attributes, and examples.

iOS SDK

Installation

Add the following packages via Swift Package Manager:

SmartID SDKhttps://github.com/DevelSystems/SmartID-iOSTag: 5.0.0
KeychainAccesshttps://github.com/kishikawakatsumi/KeychainAccessVersion: 4.2.2
Important

Access to the SmartID iOS SDK repository is granted by the SmartID team during onboarding. Contact your account manager if you don't have access.

Note

The KeychainAccess dependency is required for the SmartID iOS SDK to function correctly.

Integration

The integration consists of two parts: collecting device data and sending it to your backend.

1. Collect Device Data

Use the SDK to obtain encrypted device information:

Swift
SID.shared
    .getRawData("backend_url") // optional parameter
    .onSuccess(success: { time, response in
        // response contains encrypted device data
        // Send it to your backend with user credentials
    })
    .onFailure(failure: { time, message, errorCode in
        // Handle error – send empty data field
    })
    .start()

Method Parameters

Parameter Type Required Description
backend_urlStringOptionalYour backend URL. Used for additional security checks such as SSLPinning and PharmingAttack detection.

Callback Parameters

Parameter Type Description
timeLongRequest duration in milliseconds
responseStringEncrypted device data to send to SmartID API
messageStringError description (failure callback only)
errorCodeIntError code (failure callback only)
Important

If the SDK returns a Failure callback, you must still send the login request to your backend, but with an empty data field.

2. Backend Processing

When the user submits their credentials, attach the encrypted <code>response</code> from SmartID and forward it to the SmartID API. See the API Reference for complete endpoint details, request attributes, and examples.