Skip to main content
The Android SDK provides various customization options with programming code or XML files.

Getting Started

Create IdenfyUISettingsV2

Create an instance of the IdenfyUISettingsV2 class:

Update IdenfySettingsV2

The SDK currently supports several ways of customization.

Which Approach Should You Use?

Customization Options

Customization with IdenfyUISettingsV2

Camera OnBoarding View

The possible options of the Camera OnBoarding View:

Joined Country and Document Selection

Since SDK version 9.0.0, this setting is enabled by default and the country and document selection views are joined into one. New Country & Document selection

Language Selection

Mismatch Tags Alert Visibility

Bottom Sheet Dialogs

Since SDK version 9.1.0, this setting is enabled by default, it present dialogs as bottom sheets instead of centered alerts for iDenfy custom dialogs

Document Camera Rectangle Visibility

Since some documents are non-regular size, you can hide the camera rectangle. This way the whole screen is dedicated to document capturing. The rectangle can be hidden for all document types:
Or for specific countries and document types:

Adding Instructions in Camera Session

The SDK provides informative instructions during the verification session. They can provide valuable information for the user and help tackle common issues: bad lighting, wrong document side, etc. Instructions can be customized by changing all UI elements or even using your MP4 video files. Instructions are configured by your backend settings and can be overridden with the SDK settings. Using IdenfyInstructionsEnum dialog: Using IdenfyInstructionsEnum none: Enable instructions in IdenfyUISettingsV2:

Applying SDK-Wide Color Changes

If color and asset changes are the only requirement, they can be easily customized by changing the main colors. 1. Override color names in your app module. Create either a new idenfy_colors.xml or add the defined colors to your project. 2. Make color changes:
Colors are also applied to images that use a single color from idenfy drawable resources. If you override the provided images with icons using more than one color, you can disable the tint on images by overriding the layout styles with the removed tint attribute. Before:
After:

Customization with styles.xml or colors.xml

Every screen in the SDK uses different styles.xml which covers all UI elements visible on that screen. By overriding styles or colors in your app target, you can change the look of the SDK to match your brand guidelines. You can access the styles.xml and colors.xml here.

Customization with Overriding Layouts of SDK

All layouts in the SDK are structured so that it is easy to override all components to match your brand identity. Requirements for overriding layouts:
  • Do not remove IDs of components — this will maintain project stability and avoid runtime crashes.
  • Keep the same layout names — if layout names are changed, the SDK layouts will not be overridden.
Find all layouts here.

Customization by Providing Your Own Implementations of Jetpack Compose Composables

For more advanced customization (fonts, layout structure, etc.), you can provide your own composable implementations.
This is a new feature that is still in progress. Jetpack Compose is NOT supported in all the views. We strongly suggest trying it out and sharing your feedback with us. More views will be supported in the future.
1. Create an instance of IdenfyComposableViews Use IdenfyComposeViewBuilder to create an instance of IdenfyComposableViews with your custom composables, which conform to an interface provided by the SDK:
2. Pass IdenfyComposableViews instance to the SDK
Make sure you create an instance of IdenfyComposableViews in the Application class, otherwise your provided composables will be lost after process death.
3. Pass resources to composables IdenfyComposeViewBuilder provides a data class with all required resources (images, videos, button actions, etc.) to fulfil the view. Pass this class to your composable:
4. Create the composable The data class also contains IdenfyComposeBases, which you can use to provide ONLY your customized separate composables. These composables will be composed by the SDK, preserving the intended layout guidelines while displaying your own customized composables. A minimal example showing how to use IdenfyComposeBases to provide custom composables:
The snippet above is intentionally minimal. Download the sample app for a full working example that covers all composable slots, state handling, and button actions.
If you want to compose the view entirely by yourself, you are not required to use the IdenfyComposeBases class.
If you are composing the view yourself, make sure you carefully test the views, since the layout will NOT be used as intended and unexpected behavior might occur.

Example of the Customization Flow

Download the sample app. Check the IdenfyApplication class, where you will find IdenfyComposeViewBuilder with all the composables composed by IdenfyComposeBases.
We strongly suggest taking a look at the example class, since it shows how to collect the view state, pass the resources, and handle button actions.

Customization by Providing a Custom Verification Results View

To fully customize your verification results waiting view, you can pass your own fragment.
After supplying your own implementation of the results Fragment, the SDK will not load its own Fragment and will navigate directly to your own Fragment.
You can then control when and after which additional steps you want to retry the verification session: Custom Fragment 1. Create a class that implements IdenfyInProcessIdentificationResultsHandler Pass an instance of your created class to the setIdenfyCallBackHandlerAfterSDKCloses() method of IdenfyCallbackController:
2. Create an instance of your CustomWaitingViewController Return the created instance in the onIdenfyFlowFinished() method of your IdenfyInProcessIdentificationResultsDelegate implementation:
For details regarding the verification process, see IdenfyFlowSettings:
3. Call a static method of IdenfyCallbackController to continue the flow Your IdenfyInProcessIdentificationResultsHandler implementation has an onIdentificationStatusReceived() method that returns an IdenfyIdentificationResultStatus. When IdenfyIdentificationStatus is FINISHED, call the static continueFlow() method of IdenfyCallbackController:
IdenfyIdentificationResultStatus contains all information about the current state of verification results, which you can use to fully customize your views:

Liveness Customization

The SDK provides additional liveness customization.

1. Creating IdenfyLivenessUIHelper

2.1 Applying Regular Settings

If you only need color, text, or width customization, you can use properties from the IdenfyLivenessUISettings class:
LivenessIdCheckCustomization:

2.2 Applying Full Customization

If you require more changes, you can directly set the livenessCustomUISettings property in IdenfyLivenessUISettings with your instance of the FaceTecCustomization class:
Full customization options are available here.
This will override all other set properties of the IdenfyLivenessUISettings class.

3. Updating IdenfyUISettings