Skip to main content
The SDK supports API Level 24 and above.

iDenfy Identity Verification Flow

Below you can check a full regular flow.This flow can be customized and success results can be omitted as well. We recommend omitting them using our immediate redirect feature.

Getting Started

Obtain a Session Token

The SDK requires a session token to start initialization. See the session creation guide.

Add the SDK Dependency

In the root level (project module) Gradle, add the following repository:
In the app level Gradle, add the following dependency with the latest version. The latest version is available from the changelog.
If you are not using Advanced Liveness detection, you can reduce the SDK size by excluding the sdk-liveness module:
If you are not overriding any custom views or applying customization, you can use the dynamic version. If you did make layout changes, do not use the dynamic version, since runtime crashes can occur. If you understand the disadvantages and still want to use the latest version, integrate the SDK as follows:

Configure Android Studio

The SDK uses Java 11. Verify that the version is configured:
Also make sure that you have these lines in your gradle.properties file:

Configure the SDK

Provide the following configuration:

Present the Verification Activity

Create an instance of IdenfyController to start the verification flow:

Handle Verification Callbacks

The SDK returns verification results using Activity Result Contract, which you pass during initialization. The SDK provides the idenfyIdentificationResult callback class.
If your service uses only the automatic (default) callback, then you should only check idenfyIdentificationResult.autoIdentificationStatus.
Since version 7.1.0, the SDK includes a SUSPECTED response. You can read about it here and decide whether you would like it to impact your UI.

Callback Status Reference

autoIdentificationStatus

manualIdentificationStatus

The manualIdentificationStatus always returns INACTIVE unless your system implemented manual verification flow (step 11). The manual verification screen looks like this:Manual flowTo disable it, refer to the immediate redirect feature.
These SDK statuses are the same as iFrame integration statuses. The only difference is that the SDK returns INACTIVE if the manual verification screen was not opened during the verification session, instead of returning null as the iFrame does. Also, the iFrame does not close automatically since it can deliver results without closing itself.
After the SDK finishes and closes itself, you will also receive a webhook callback to your backend system.It might be useful to completely ignore the SDK status and communicate between your app and your backend service about verification status.

Samples

Our sample application demonstrates the integration of the iDenfy SDK.

FAQ

1. Is there a possibility to change the verification results view? Yes, it can be achieved by providing a custom verification results view. 2. How to change the position of the top titles? Any component and its properties can be changed either by overriding the XML layout or providing a custom Jetpack Compose view. 3. How do I report an issue within the SDK? Please report any issue via the Jira customer portal. Attach the SDK and Gradle versions you are using, and describe the problem in as much detail as possible. 4. When I override liveness fonts, the size does not change. Why is that? Liveness font size is dynamically determined according to the screen resolution, and it cannot be manually changed.