# Plugin Customization

Theme parameters in the Android SDK are used in many components of the system, so if you change one of them, it can affect many interface elements.

Customize the plugin's appearance according to your requirements. The Mobile SDK supports customization through a specially structured JSON object — theme. The theme is applied using the builder method withTheme.

# Platform-specific parameters

At the top level of theme, you can specify the platform to which the parameters apply:

  • universal — for both platforms
  • ios, android — for a specific platform (if specified, they override parameters from universal)

For each platform, parameters are grouped as follows:

  • Colors colors

    A color can be specified as a single value or as a pair of light / dark values for light and dark themes.

    Color value format: #RRGGBBAA or 0xAARRGGBB (the alpha parameter is optional).

  • Fonts fonts

    Fonts and images must be located in the www/ directory and linked in a .js- file (e.g., assets.js), which must then be included in the project. This is required for correctly adding resources to native applications.

    Fonts are additionally specified in theme in the fonts.assetssection. For each font, you must specify:
    - name — the font name (as specified in its metadata);
    - file — the path to the font file, starting from www/.

    After that, the font can be used by name and its size can be set.

  • Images images

    Images are specified by path (starting from www/).
    For iOS, you can additionally specify:

    • scale — scale (logical size in points: points = pixels / scale);
    • rendering mode — display mode (template or original).
  • Metrics metrics

    This section contains parameters for sizes and some style characteristics.

The full list of available settings is provided in the native SDK documentation:

iOS SDK → Android SDK →

# Example for React Native

Assume that font and image files are placed in the www directory of your project. Then the theme might look like this:

# Fonts

# body

"body": "Font Name"

Body text. Used for paragraphs, text fields, and other elements, mainly in combination with contentNeutral.
Default: System Regular, 14pt.

Android iOS

# caption

"caption": "Font Name"

Secondary text. Used for auxiliary captions, mainly in combination with contentWeak.
Default: System Regular, 12pt.

Android iOS

# headline1

"headline1": "Font Name"

Level 1 heading. Used for screen titles, mainly in combination with contentStrong.
Default: System Regular, 24pt.

Android iOS

# headline2

"headline2": "Font Name"

Level 2 heading. Used for section headings, mainly in combination with contentStrong.
Default: System Regular, 20pt.

Android iOS

# subtitle1

"subtitle1": "Font Name"

Level 1 subtitle. Used for subheadings, mainly in combination with contentStrong.
Default: System Semibold, 18pt.

Android iOS

# subtitle2

"subtitle2": "Font Name"

Level 2 subtitle. Used for subheadings, mainly in combination with contentNeutral.
Default: System Regular, 16pt.

Android iOS

# Colors

# Common parameters

"navigationBarItem": "#RRGGBBAA"

Color of navigation bar items. Used only for the close button.
Default: #94A0B8 and #FFFFFF with 40% transparency in dark mode.

Android iOS

# alertTint

"alertTint": "#RRGGBBAA"

Color of buttons in system alerts and on the toolbar.
Default: #1693E9 and #1485D1 in dark mode.

Android iOS

# toolbarTint

"toolbarTint": "#RRGGBBAA"

Color of buttons on toolbars.
Default: #5C6B8A and #FFFFFF with 60% transparency in dark mode.

Android iOS

# toolbarBackground

"toolbarBackground": "#RRGGBBAA"

Background color for toolbars.
Default: nil, uses the system background color.

Android iOS

# Background colors

# backgroundCommon

"backgroundCommon": "#RRGGBBAA"

Primary background color. Used for all screens except the camera screen.
Default: #FFFFFF and #1E232E in dark mode.

Android iOS

# backgroundCritical

"backgroundCritical": "#RRGGBBAA"

Used as the background for verification step cards with critical issues and as the background for the verification failure message (images.pictureFailure icon).
Default: #F05C5C with 12% transparency and #F05C5C with 30% transparency in dark mode.

Android iOS

# backgroundInfo

"backgroundInfo": "#RRGGBBAA"

Currently not used.
Default: #E8F4FD and #072F4B in dark mode.

Android iOS

# backgroundNeutral

"backgroundNeutral": "#RRGGBBAA"

Secondary background color. Used for verification step cards in neutral status and dropdown lists. The card background will be filled when using the .filled style.
Default: #F6F7F9 and #FFFFFF with 7% transparency in dark mode.

Android iOS

# backgroundSuccess

"backgroundSuccess": "#RRGGBBAA"

Used as the background for successful verification step cards and as the background for the verification success message (images.pictureSuccess icon).
Default: #18B494 with 12% transparency and #18B494 with 30% transparency in dark mode.

Android iOS

# backgroundWarning

"backgroundWarning": "#RRGGBBAA"

Used as the background for verification step cards with warnings, as the background for the data submission message (images.pictureSubmitted icon), and as the background for the network error message (images.pictureWarning icon).
Default: #F2AA0D with 12% transparency and #F2AA0D with 30% transparency in dark mode.

Android iOS

# bottomSheetBackground

"bottomSheetBackground": "#RRGGBBAA"

Background color for the bottom sheet.
Default: #FFFFFF and #333C4D for dark mode.

Android iOS

# bottomSheetHandle

"bottomSheetHandle": "#RRGGBBAA"

Foreground color for the bottom sheet handle. Note that the handle can be either inside (on the bottomSheetBackground background) or outside (on the backgroundCommon background).
Default: #D1D6E1 and #FFFFFF with 20% transparency for dark mode.

Android iOS

# Content

# cameraBackground

"cameraBackground": "#RRGGBBAA"

Background color of the camera screen.
Default: #1E232E.

Android iOS

# cameraBackgroundOverlay

"cameraBackgroundOverlay": "#RRGGBBAA"

Background color of the overlay on the camera screen.
Default: #1E232E with 75% transparency.

Android iOS

# cameraContent

"cameraContent": "#RRGGBBAA"

Color of interface elements on the camera screen: gallery button, capture button, etc.
Default: #FFFFFF.

Android iOS

# cardBorderedBackground

"cardBorderedBackground": "#RRGGBBAA"

Used as the background color for cards with the .bordered style.
Default: Android — null, iOS — nil.

Android iOS

# cardPlainBackground

"cardPlainBackground": "#RRGGBBAA"

Used as the background color for cards with the .plain style.
Default: Android — null, iOS — nil.

Android iOS

# contentCritical

"contentCritical": "#RRGGBBAA"

Text color for critical issues during verification and for automatically generated images.pictureFailure images.
Default: #F05C5C.

Android iOS

# contentInfo

"contentInfo": "#RRGGBBAA"

Used only for the border of the viewport on the video screen.
Default: #1693E9 and #1485D1 in dark mode.

Android iOS
"contentLink": "#RRGGBBAA"

Color of text links.
Default: #1693E9 в #1485D1 in dark mode.

Android iOS

# contentNeutral

"contentNeutral": "#RRGGBBAA"

Color of body text, some subheadings, and auxiliary elements.
Default: #5C6B8A and #FFFFFF with 60% transparency in dark mode.

Android iOS

# contentStrong

"contentStrong": "#RRGGBBAA"

Color of headings and some subheadings.
Default: #333C4D and #FFFFFF with 85% transparency in dark mode.

Android iOS

# contentSuccess

"contentSuccess": "#RRGGBBAA"

Used as the icon color for verification step cards in successful status, text color for instructions, color for the images.pictureSuccess icon, and color for the capture area border.
Default: #18B494.

Android iOS

# contentWarning

"contentWarning": "#RRGGBBAA"

Text color for warnings during verification and for automatically generated images.pictureWarning and images.pictureSubmitted images.
Default: #E6A00B.

Android iOS

# contentWeak

"contentWeak": "#RRGGBBAA"

Color of secondary text and auxiliary elements.
Default: #94A0B8 and #FFFFFF with 40% transparency in dark mode.

Android iOS

# Fields

# fieldBackground

"fieldBackground": "#RRGGBBAA"

Background color of text input fields.
Default: #F6F7F9 and #FFFFFF with 7% transparency in dark mode.

Android iOS

# fieldBackgroundInvalid

"fieldBackgroundInvalid": "#RRGGBBAA"

Background of input fields marked as invalid.
Default: colors.backgroundCritical.

Android iOS

# fieldBorder

"fieldBorder": "#RRGGBBAA"

Border color of input fields.
Default: transparent.

Android iOS

# fieldContent

"fieldContent": "#RRGGBBAA"

Color of entered text in input fields.
Default: #333C4D and #FFFFFF with 85% transparency in dark mode.

Android iOS

# fieldPlaceholder

"fieldPlaceholder": "#RRGGBBAA"

Placeholder color in input fields.
Default: #94A0B8 and #FFFFFF with 40% transparency in dark mode.

Android iOS

# fieldTint

"fieldTint": "#RRGGBBAA"

Tint color of input fields. Used for text fields, checkboxes, and switches.
Default: #1693E9 and #1485D1 in dark mode.

Android iOS

# List

# listSelectedItemBackground

"listSelectedItemBackground": "#RRGGBBAA"

Background color for a selected list item.
Default: #F6F7F9 and #FFFFFF with 7% transparency for dark mode.

Android iOS

# listSeparator

"listSeparator": "#RRGGBBAA"

List separator color.
Default: #D1D6E1 and #FFFFFF with 20% transparency for dark mode.

Android iOS

# Primary Button

# primaryButtonBackground

"primaryButtonBackground": "#RRGGBBAA"

Background color of the primary button in the normal state.
Default: #1693E9 and #1485D1 in dark mode.

Android iOS

# primaryButtonBackgroundDisabled

"primaryButtonBackgroundDisabled": "#RRGGBBAA"

Background color of the primary button in the disabled state.
Default: #A1D2F7 and #072F4B in dark mode.

Android iOS

# primaryButtonBackgroundHighlighted

"primaryButtonBackgroundHighlighted": "#RRGGBBAA"

Background color of the primary button in the highlighted state.
Default: #1485D1 and #0B4A75 in dark mode.

Android iOS

# primaryButtonContent

"primaryButtonContent": "#RRGGBBAA"

Text color of the primary button in the normal state.
Default: #FFFFFF and #FFFFFF with 85% transparency in dark mode.

Android iOS

# primaryButtonContentDisabled

"primaryButtonContentDisabled": "#RRGGBBAA"

Content color of the primary button in the disabled state.
Default: #FFFFFF and #0B4A75 in dark mode.

Android iOS

# primaryButtonContentHighlighted

"primaryButtonContentHighlighted": "#RRGGBBAA"

Content color of the primary button in the highlighted state.
Default: #FFFFFF and #FFFFFF with 85% transparency in dark mode.

Android iOS

# Secondary Button

# secondaryButtonBackground

"secondaryButtonBackground": "#RRGGBBAA"

Background color of the secondary button in the normal state.
Default: transparent.

Android iOS

# secondaryButtonBackgroundDisabled

"secondaryButtonBackgroundDisabled": "#RRGGBBAA"

Background color of the secondary button in the disabled state.
Default: transparent.

Android iOS

# secondaryButtonBackgroundHighlighted

"secondaryButtonBackgroundHighlighted": "#RRGGBBAA"

Background color of the secondary button in the highlighted state.
Default: #E8F4FD and #072F4B in dark mode.

Android iOS

# secondaryButtonContent

"secondaryButtonContent": "#RRGGBBAA"

Content color of the secondary button in the normal state.
Default: #1693E9 and #1485D1 in dark mode.

Android iOS

# secondaryButtonContentDisabled

"secondaryButtonContentDisabled": "#RRGGBBAA"

Content color of the secondary button in the disabled state.
Default: #A1D2F7 and #0B4A75 in dark mode.

Android iOS

# secondaryButtonContentHighlighted

"secondaryButtonContentHighlighted": "#RRGGBBAA"

Content color of the secondary button in the highlighted state.
Default: #1693E9 and #1485D1 in dark mode.

Android iOS

# Platform Elements

# statusBarColor

"statusBarColor": "#RRGGBBAA"
Android iOS

# Images

# Icons

# iconAttachment

"iconAttachment": "www/image_path"

Used for attachments when the field is empty.
Default: paperclip icon.

Android iOS

# iconBack

"iconBack": "www/image_path"

Icon for the "Back" button on the navigation bar.
Default: arrow icon. When set to nil the system «Back» button is used.

Android iOS

# iconBin

"iconBin": "www/image_path"

Used for attachment fields when a document can be deleted.
Default: trash bin icon.

Android iOS

# iconCalendar

"iconCalendar": "www/image_path"

Used for date fields.
Default: calendar icon.

Android iOS

# iconCameraToggle

"iconCameraToggle": "www/image_path"

Used for the camera toggle button.
Default: circular arrows icon.

Android iOS

# iconCheckboxOff

"iconCheckboxOff": "www/image_path"

Used for unchecked checkboxes.
Default: empty rectangle with border color contentWeak.

Android iOS

# iconCheckboxOn

"iconCheckboxOn": "www/image_path"

Used for checked checkboxes.
Default: white checkmark on a rectangle background with color fieldTint.

Android iOS

# iconClose

"iconClose": "www/image_path"

Icon for the close button on all screens.
Default: cross icon.

Android iOS

# iconDisclosure

"iconDisclosure": "www/image_path"

Used to indicate expandability.
Default: disclosure arrow icon.

Android iOS

# iconDropdown

"iconDropdown": "www/image_path"

Used for dropdown fields.
Default: down arrow icon.

Android iOS

# iconFailure

"iconFailure": "www/image_path"

Used to compose the auto-generated pictureFailure.
Default: cross icon.

Android iOS

# iconGallery

"iconGallery": "www/image_path"

Used for the gallery button on the camera screen.
Default: stack of photos icon.

Android iOS

# iconMail

"iconMail": "www/image_path"

Used for the default support item for email.
Default: mail icon.

Android iOS

# iconPicture

"iconPicture": "www/image_path"

Used for attachments when a document is attached.
Default: photo icon.

Android iOS

# iconPlay

"iconPlay": "www/image_path"

Used for the play button on the preview screen.
Default: play icon inside a circle.

Android iOS

# iconRadioButtonOff

"iconRadioButtonOff": "www/image_path"

Used for unselected radio buttons.
Default: empty circle with border color contentWeak.

Android iOS

# iconRadioButtonOn

"iconRadioButtonOn": "www/image_path"

Used for selected radio buttons.
Default: white circle on a circle background with color fieldTint.

Android iOS

# iconRotate

"iconRotate": "www/image_path"

Used for the rotate button on the preview screen.
Default: photo rotation icon.

Android iOS

# iconSearch

"iconSearch": "www/image_path"

Used for the search bar.
Default: magnifying glass icon.

Android iOS

# iconSubmitted

"iconSubmitted": "www/image_path"

Used to compose the auto-generated pictureSubmitted.
Default: cloud upload icon.

Android iOS

# iconSuccess

"iconSuccess": "www/image_path"

Used to compose the auto-generated pictureSuccess.
Default: checkmark icon.

Android iOS

# iconTorchOff

"iconTorchOff": "www/image_path"

Used for the torch off button on the camera screen.
Default: flash icon.

Android iOS

# iconTorchOn

"iconTorchOn": "www/image_path"

Used for the torch on button on the camera screen.
Default: flash icon.

Android iOS

# iconWarning

"iconWarning": "www/image_path"

Used for the warning bottom sheet and to compose the auto-generated pictureWarning.
Default: exclamation mark in a triangle.

Android iOS

# Content-dependent image sets

# instructionsImages

"instructionsImages": "www/image_path"

Instruction images. When an image is requested with one of the following text keys:

  • cbr_step_{STEP}_{scene}_instructions_image
  • cbr_step_{STEP}_{scene}_instructions_doImage
  • cbr_step_{STEP}_{scene}_instructions_dontImage

The SDK will look for the image in instructionsImages for the corresponding text key. Feel free to add your own images or use the presetsе:

  • default/videoident
  • default/facescan
  • default/do_idCard
  • default/dont_idCard
  • default/do_passport
  • default/dont_passport
  • default/do_idCard_backSide
  • default/dont_idCard_backSide
Android iOS

# verificationStepIcons

"verificationStepIcons": "www/image_path"

Verification step icons. Defaults are set for the keys:

  • .identity
  • .selfie
  • .selfie2
  • .proofOfResidence
  • .proofOfResidence2
  • .applicantData
  • .emailVerification
  • .phoneVerification
  • .questionnaire The .default key uses the .identity icon.
Android iOS

# documentTypeIcons

"documentTypeIcons": "www/image_path"

Document type icons.
Icons are defined by default for the following keys:

  • .idCard
  • .passport
  • .drivers
  • .residencePermit

The .default key is filled with the .idCard icon.

Android iOS

# Pictures

# pictureFailure

"pictureFailure": "www/image_path"

«Failure» picture. Can be used to replace the auto-generated one.
Default: nil.

Android iOS

# pictureGeolocationOff

"pictureGeolocationOff": "www/image_path"

Used as the image on the geolocation screen when the app does not have geolocation permissions.
Default: crossed-out geolocation pin icon.

Android iOS

# pictureGeolocationOn

"pictureGeolocationOn": "www/image_path"

Used as the image on the geolocation screen before geolocation starts.
Default: geolocation pin icon.

Android iOS

# pictureAgreement

"pictureAgreement": "www/image_path"

Displayed at the top of the agreement screen.
Default: globe image.

Android iOS

# pictureDocumentFlip

"pictureDocumentFlip": "www/image_path"

Displayed on the camera screen before taking a picture of the back side of the document.
Default: document image with a rotating arrow below.

Android iOS

# pictureSubmitted

"pictureSubmitted": "www/image_path"

«Submitted» picture. Can be used to replace the auto-generated one.
Default: nil.

Android iOS

# pictureSuccess

"pictureSuccess": "www/image_path"

«Success» picture. Can be used to replace the auto-generated one.
Default: nil.

Android iOS

# pictureWarning

"pictureWarning": "www/image_path"

«Warning» picture. Can be used to replace the auto-generated one.
Default: nil.

Android iOS

# Metrics

# Content Size

# respectsPreferredContentSizeCategory

"respectsPreferredContentSizeCategory": true

Determines whether fonts, images, metrics, and layouts should adapt according to the user's preferred content size category.
Default: true.

Android iOS

# General

# activityIndicatorStyle

"activityIndicatorStyle": "medium"

Style of the activity indicator. Supported values: small, medium, large.
Default: .medium for iOS 13+ and .gray for earlier versions.

Android iOS

# commonStatusBarStyle

"commonStatusBarStyle": "default"

Status bar style on all screens.
Default: .default.

Android iOS

# preferredCloseBarItemAlignment

"preferredCloseBarItemAlignment": "right"

Preferred alignment of the close button. Available options: .right and .left.
Default: .right.

Android iOS

# preferredCloseBarItemStyle

"preferredCloseBarItemStyle": "icon"

Preferred style of the close button. Available options: .icon and .text.
Default: .icon.

Android iOS

# Bottom Sheet

# bottomSheetCornerRadius

"bottomSheetCornerRadius": 16

Corner radius of the bottom sheet.
Default: 16pt.

Android iOS

# bottomSheetHandleSize

"bottomSheetHandleSize": {"width": 36, "height": 4}

Size of the bottom sheet handle indicator.
Default: 36pt x 4pt.

Android iOS

# Buttons

# buttonBorderWidth

"buttonBorderWidth": 1

Border width of the secondary button. Primary buttons with borders are not yet supported.
Default: 1pt.

Android iOS

# buttonCornerRadius

"buttonCornerRadius": 8

Corner radius of buttons.
Default: 8pt.

Android iOS

# buttonHeight

"buttonHeight": 48

Height of primary and secondary buttons.
Default: 48pt.

Android iOS

# Camera

# cameraStatusBarStyle

"cameraStatusBarStyle": "default"

Status bar style on the camera screen. Currently not used.
Default: .default.

Android iOS

# Document Frame

# documentFrameBorderWidth

"documentFrameBorderWidth": 2

Border width of the document frame.
Default: 2pt.

Android iOS

# documentFrameCornerRadius

"documentFrameCornerRadius": 14

Corner radius of the document frame.
Default: 14pt.

Android iOS

# Card Style

# cardBorderWidth

"cardBorderWidth": 1

Border width of cards.
Default: 1pt.

Android iOS

# cardCornerRadius

"cardCornerRadius": 8

Corner radius of cards.
Default: 8pt.

Android iOS

# documentTypeCardStyle

"documentTypeCardStyle": "filled"

Style of the document type card.
Default: iOS — .filled. Android — default (Supported values: default, bordered, plain).

Android iOS

# selectedCountryCardStyle

"selectedCountryCardStyle": "filled"

Style of the selected country card.
Default: iOS — .filled. Android — default (Supported values: default, bordered, plain).

Android iOS

# supportItemCardStyle

"supportItemCardStyle": "bordered"

Style of the support item card.
Default: iOS — .bordered. Android — default (Supported values: default, bordered, plain).

Android iOS

# verificationStepCardStyle

"verificationStepCardStyle": "filled"

Style of the verification step card.
Default: iOS — .filled. Android — default (Supported values: default, bordered, plain).

Android iOS

# Fields

# fieldBorderWidth

"fieldBorderWidth": 0

Border width of text input fields.
Default: 0pt.

Android iOS

# fieldCornerRadius

"fieldCornerRadius": 8

Corner radius of text input fields.
Default: 8pt.

Android iOS

# fieldHeight

"fieldHeight": 48

Height of text input fields.
Default: 48pt.

Android iOS

# Content

# screenHorizontalMargin

"screenHorizontalMargin": 16

Horizontal margins of screen content.
Default: 16pt.

Android iOS

# List Separator

# listSeparatorHeight

"listSeparatorHeight": 1

Thickness of the list separator.
Default: 1dp.

Android iOS

# listSeparatorMarginLeft

"listSeparatorMarginLeft": 0

Left margin of the list separator.
Default: 0dp.

Android iOS

# listSeparatorMarginRight

"listSeparatorMarginRight": 0

Right margin of the list separator.
Default: 0dp.

Android iOS

# Alignment

# screenHeaderAlignment

"screenHeaderAlignment": "center"

Alignment of screen headers.
Default: iOS — .center. Android — center (Supported values: left, center, right).

Android iOS

# sectionHeaderAlignment

"sectionHeaderAlignment": "natural"

Alignment of section headers.
Default: iOS — .natural. Android — left (Supported values: left, center, right).

Android iOS

# Viewport

# viewportBorderWidth

"viewportBorderWidth": 8

Border thickness of the photo viewport.
Default: 8dp.

Android iOS