LogoLogo
Useful links
  • Home
  • Product guides
  • API
  • SDKs
  • Overview
  • First steps
  • ANDROID
    • Getting Started with the SDK
    • Standalone Modules
      • Document Detector
        • Release Notes
        • Current Version
        • Requirements
        • Gradle Dependencies
        • Gradle Source Code
        • Setting up the SDK
          • Setting properties
          • Capture Stages
          • Messages Settings
          • Customization
          • Security Settings
          • Detection Steps
          • Upload Mode
          • Advanced Settings
            • Proxy configuration
            • Preview configuration
        • Start Document Detection
        • Source Code
        • Google security form
        • Reduce SDKs size
        • SDKs response
        • References
        • FAQ
      • Face Liveness
        • Release Notes
        • Current Version
        • Requirements
        • Gradle Dependencies
        • Gradle Source Code
        • SDK Lifecycle
        • Building the SDK
        • Start Liveness Verification
        • Source Code
        • References
        • Advanced Features
        • FAQ
      • Face Authenticator
        • Release Notes
      • Smart Auth
        • Release Notes
        • Current Version
        • Requirements
        • Gradle Dependencies
        • Gradle Source Code
        • Permissions
        • SDK Lifecycle
        • Building the SDK
        • Start Smart Authentication
        • Source Code
        • References
        • FAQ
      • Face Liveness (deprecated)
        • Release Notes
  • iOS
    • Getting Started with the SDK
    • Standalone Modules
      • Document Detector
        • Release Notes
        • Current Version
        • Requirements
        • Installing the SDK
        • Setting up the SDK
          • Setting properties
          • Messages Settings
          • Customization
          • Detection Steps
          • Upload Mode
          • Advanced Settings
            • Proxy configuration
            • Preview configuration
        • Start Document Detection
        • References
        • FAQ
      • Face Liveness
        • Release Notes
        • Installation
        • Current Version
        • Requirements
        • SDK Lifecycle
        • Building the SDK
        • Start Liveness Verification
        • Source Code
        • References
        • FAQ
      • Face Authenticator
        • Release Notes
        • Installation
        • Current Version
        • Requirements
        • Building the SDK
        • Start the SDK
        • References
        • FAQ
      • Smart Auth
        • Release Notes
        • Installation
        • Current Version
        • Requirements
        • SDK Lifecycle
        • Building the SDK
        • Start Smart Authentication
        • Source Code
        • References
        • FAQ
      • Face Liveness (deprecated)
        • Release Notes
  • REACT NATIVE
    • Standalone Modules
      • Document Detector
        • Release Notes
        • Current Version
        • Requirements
        • Installation
        • Hooks
        • Start Document Verification
        • Source Code
        • TypeScript References
        • Customizing Style
        • FAQ
      • Face Liveness
        • Release Notes
        • Current Version
        • Requirements
        • Installation
        • Hooks
        • Start Liveness Verification
        • Source Code
        • TypeScript References
        • FAQ
      • Face Authenticator
        • Release Notes
        • Current Version
        • Requirements
        • Installation
        • Hooks
        • Start Authentication Verification
        • Source Code
        • TypeScript References
        • FAQ
      • Smart Auth
        • Getting started
        • Release notes
        • Using Native Modules
          • Requirements
          • Gradle Source Code
          • Podfile Source Code
          • Native Module Android
          • Native Module iOS
          • Import Native Modules
          • Source Code
          • TypeScript References
          • FAQ
        • Using Expo Modules
          • Requirements
          • Create Local Expo Module
          • Gradle Source Code
          • Podspec Source Code
          • Native Module Android
          • Native Module iOS
          • Import Expo Modules
          • Source Code
          • TypeScript References
          • FAQ
  • WEB (JAVASCRIPT)
    • Standalone Modules
      • Document Detector
        • Getting started
        • SDK builder options
          • Analytics
          • Appearance
          • Messages
        • SDK methods
        • Event listeners
        • Customization
        • Release notes
      • Face Liveness
        • Customization
        • Release notes
      • Face Authenticator
        • Customization
        • Release notes
      • Smart Auth
        • SDK errors
        • Customization
        • Release notes
LogoLogo

2025 © Caf. - All rights reserved

On this page
  • Creating a CafSmartAuth SDK instance
  • Builder Properties
  • Builder Methods
  • Theme Configuration
  • Example
  1. ANDROID
  2. Standalone Modules
  3. Smart Auth

Building the SDK

Creating a CafSmartAuth SDK instance

In order to create a CafSmartAuth instance, you need to use the CafBuilder class. This class provides a set of methods to configure the SDK instance.

Builder Properties

Property
Type
Description
Required

mobileToken

String

Mobile token provided by the platform.

✅

context

Context

Context of the application.

✅

Builder Methods

Method
Type
Description
Required

setStage

CafStage

Defines the environment stage (e.g., PROD, BETA). Default is PROD.

❌

setEmailUrl

String

Sets the email authentication URL. Must be HTTPS protocol.

❌

setPhoneUrl

String

Sets the phone authentication URL. Must be HTTPS protocol.

❌

setFaceAuthenticatorSettings

CafFaceAuthenticatorSettings

Sets the face liveness authentication settings.

❌

setThemeConfigurator

CafTheme

Sets the theme configuration for the SDK. Customize appearance for light and dark modes.

❌

Theme Configuration

To customize the appearance of the SDK, use the theme configurator methods. Two structures are used for theme configuration: CafThemeConfigurator and CafTheme.

CafThemeConfigurator

data class CafThemeConfigurator(
    val lightTheme: CafTheme = CafTheme(),
    val darkTheme: CafTheme = CafTheme(),
)

This structure allows you to define separate themes for light and dark modes. Each theme is defined by a CafTheme structure.

data class CafTheme(
    val backgroundColor: String = "#FFFFFF",
    val textColor: String = "#FF000000",
    val linkColor: String = "#004AF7",
    val boxBorderColor: String = "#004AF7",
    val boxBackgroundColor: String = "#0A004AF7",
    val boxTextColor: String = "#004AF7",
    val progressColor: String = "#004AF7",
)

This structure defines various appearance attributes for the SDK. You can customize colors for backgrounds, text, links, borders, and progress indicators by providing hex string values.

Example

    private fun setupCafFaceLiveness() {
        smartAuth = CafSmartAuth.CafBuilder("myMFAToken", this)
            .setStage(CafStage.PROD)
            .setEmailUrl("myEmailUrl") // Not mandatory
            .setPhoneUrl("myPhoneUrl") // Not mandatory
            .setFaceAuthenticatorSettings(
                CafFaceAuthenticatorSettings(
                    "myFaceAuthToken",
                    false,
                    true,
                    CafFilterStyle.LINE_DRAWING
                )
            )
            .setThemeConfigurator(
                CafThemeConfigurator(
                    lightTheme = CafTheme(
                        backgroundColor = "#FFFFFF",
                        textColor = "#FF000000",
                    )
                    darkTheme = CafTheme(
                        backgroundColor = "#FF000000",
                        textColor = "#FFFFFF",
                    )
                )
            )
            .build()
    }

Last updated 2 months ago