autentikar
Personalización

Módulos de captura

Aplicar la personalización UI específica del módulo a UnifiedID y PhotoIDScan.

UnifiedID

UnifiedID no define un tema Autentikar completamente independiente. Hereda los estilos básicos compartidos y delega el FaceTec capturar UI a la personalización FaceTec.

iOS

Usar AutentikarFaceTecCustomization para la interfaz FaceTec. Los valores básicos continúan estiloando las pantallas de Autentikar circundantes.

Android

Configure la propiedad faceTecCustomization expuesta por AutentikarUnifiedIDManager. La configuración FaceTec controla la verificación facial y la captura de identificación basada en FaceTec mientras el flujo circundante hereda Core.

El gerente también expone faceTecLowLightCustomization para que un tema dedicado pueda ser utilizado cuando FaceTec entra en su experiencia de baja luz.

FaceTec controla la apariencia de sus pantallas de captura. Los valores disponibles heredan de la clase FaceTecCustomization del proveedor.

PhotoIDScan

PhotoIDScan tiene su propia clase AutentikarPhotoIDScanCustomization en ambas plataformas. Está diseñado para la experiencia de captura de documentos nativos mientras conserva el lenguaje visual general configurado en Core.

Configura y aplica el objeto antes de iniciar el flujo. Las propiedades que no modifiques conservan su valor predeterminado.

iOS

Aplicar la personalización

PhotoIDScanCustomization.swift
import AutentikarPhotoIDScan
import UIKit

let custom = AutentikarPhotoIDScanCustomization()
custom.backgroundColor = .systemBackground
custom.title.color = .label
custom.button.activeColor = .systemBlue

AutentikarPhotoIDScanManager.shared.setCustomization(custom)

Apariencia general

PropiedadTipoValor predeterminadoFunción
backgroundColorUIColor.whiteFondo de la pantalla de revisión del documento.
closeIconColorUIColor#082C4CColor del ícono de cierre de la pantalla de revisión.

Tipografía

PropiedadTipoValor predeterminadoFunción
title.fontUIFontPlus Jakarta Sans SemiBold, 18 ptFuente del título principal.
title.colorUIColor.blackColor del título principal.
subTitle.fontUIFontPlus Jakarta Sans SemiBold, 17 ptFuente de subtítulos y textos informativos destacados.
subTitle.colorUIColor.blackColor disponible en el modelo de subtítulo. La guía de la cámara usa cameraScreen.infoTextColor.
text.fontUIFontPlus Jakarta Sans Regular, 16 ptFuente del texto general.
text.colorUIColor.blackColor del texto general.

Botón principal

PropiedadTipoValor predeterminadoFunción
button.fontUIFontPlus Jakarta Sans Regular, 16 ptFuente del texto del botón.
button.activeTextColorUIColor.whiteColor del texto cuando el botón está habilitado.
button.activeColorUIColor#082C4CColor de fondo cuando el botón está habilitado.
button.disableTextColorUIColor.whiteColor del texto cuando el botón está deshabilitado.
button.disabledColorUIColor#5F6368Color de fondo cuando el botón está deshabilitado.
button.cornerRadiusCGFloat10Radio de las esquinas del botón en puntos.

Tarjeta del documento

PropiedadTipoValor predeterminadoFunción
contentCard.reintentIconColorUIColor#082C4CColor del ícono utilizado para volver a capturar el documento.
contentCard.cardIDFrontImageNameString"autentikarCardIDFront"Nombre de la imagen placeholder para el frente del documento.
contentCard.cardIDBackImageNameString"autentikarCardIDBack"Nombre de la imagen placeholder para el reverso del documento.
contentCard.dashedLineColorUIColor#082C4CColor del borde discontinuo de la tarjeta.
contentCard.overlayActionContent.backgroundColorUIColor#082C4CFondo del overlay de acción mostrado sobre la tarjeta.
contentCard.overlayActionContent.iconColorUIColor.whiteColor del ícono del overlay.
contentCard.overlayActionContent.text.fontUIFontPlus Jakarta Sans Regular, 16 ptFuente del texto del overlay.
contentCard.overlayActionContent.text.colorUIColor.whiteColor del texto del overlay.
Los nombres configurados en cardIDFrontImageName y cardIDBackImageName deben existir en el bundle de recursos utilizado por AutentikarPhotoIDScan.

Pantalla de cámara

PropiedadTipoValor predeterminadoFunción
cameraScreen.closeIconColorUIColor#082C4CColor del ícono para cerrar la cámara.
cameraScreen.infoTextColorUIColor.blackColor del texto que indica el lado y las recomendaciones de captura.
cameraScreen.frameReferenceColorUIColor#082C4CColor del marco, progreso y guías visuales de detección.
cameraScreen.statusHintText.fontUIFontPlus Jakarta Sans Regular, 16 ptFuente del mensaje de estado de la detección.
cameraScreen.statusHintText.colorUIColor.blackColor del mensaje de estado de la detección.

Botón de captura

La versión actual expone takePhotoButton, pero CameraViewController todavía no aplica estas propiedades al botón manual de captura. Para ese botón se utilizan actualmente button.font, button.activeTextColor y button.activeColor.
PropiedadTipoValor predeterminadoFunción
takePhotoButton.borderColorCGColorBlanco con 55 % de opacidadColor del borde del botón circular de captura.
takePhotoButton.cornerRadiusCGFloat36Radio de las esquinas en puntos.
takePhotoButton.borderWidthCGFloat5Ancho del borde en puntos.
takePhotoButton.backgroundColorUIColor.whiteColor de fondo.
takePhotoButton.shadowColorCGColorNegroColor de la sombra.
takePhotoButton.shadowOpacityFloat0.30Opacidad de la sombra.
takePhotoButton.shadowOffsetCGSize(0, 3)Desplazamiento horizontal y vertical de la sombra.
takePhotoButton.shadowRadiusCGFloat7Radio de desenfoque de la sombra.
takePhotoButton.tintColorUIColor#082C4CColor del ícono de cámara.

Ejemplo completo

PhotoIDScanCustomization.swift
import AutentikarPhotoIDScan
import UIKit

let custom = AutentikarPhotoIDScanCustomization()

custom.backgroundColor = .systemBackground
custom.closeIconColor = .label
custom.title.font = .boldSystemFont(ofSize: 20)
custom.title.color = .label
custom.subTitle.font = .systemFont(ofSize: 17, weight: .semibold)
custom.subTitle.color = .label
custom.text.font = .systemFont(ofSize: 16)
custom.text.color = .secondaryLabel

custom.button.activeColor = .systemBlue
custom.button.activeTextColor = .white
custom.button.disabledColor = .systemGray
custom.button.disableTextColor = .white
custom.button.cornerRadius = 14

custom.contentCard.cardIDFrontImageName = "CompanyIDFront"
custom.contentCard.cardIDBackImageName = "CompanyIDBack"
custom.contentCard.reintentIconColor = .systemBlue
custom.contentCard.dashedLineColor = .systemBlue
custom.contentCard.overlayActionContent.backgroundColor = .systemBlue
custom.contentCard.overlayActionContent.iconColor = .white
custom.contentCard.overlayActionContent.text.color = .white

custom.cameraScreen.closeIconColor = .white
custom.cameraScreen.infoTextColor = .white
custom.cameraScreen.frameReferenceColor = .systemBlue
custom.cameraScreen.statusHintText.color = .white

AutentikarPhotoIDScanManager.shared.setCustomization(custom)

Android

Aplicar la personalización

MainActivity.kt
import android.graphics.Color
import com.autentikar.photoidscan.common.managers.AutentikarPhotoIDScanManager
import com.autentikar.photoidscan.utilities.customizations.AutentikarPhotoIDScanCustomization

val custom = AutentikarPhotoIDScanCustomization().apply {
    backgroundColor = Color.WHITE
    title.color = Color.BLACK
    button.activeColor = Color.rgb(8, 44, 76)
}

AutentikarPhotoIDScanManager.setCustomization(custom)

Apariencia general

PropiedadTipoValor predeterminadoFunción
backgroundColorInt (@ColorInt)#FFFFFFFondo de la pantalla de revisión del documento.
closeIconColorInt (@ColorInt)#082C4CColor del ícono de cierre de la pantalla de revisión.

Tipografía

PropiedadTipoValor predeterminadoFunción
title.typefaceTypeface?nullFuente del título; se usa Plus Jakarta Sans SemiBold cuando no se configura.
title.colorInt (@ColorInt)#3A3A3CColor del título principal.
subTitle.typefaceTypeface?nullFuente del subtítulo; se usa Plus Jakarta Sans Regular cuando no se configura.
subTitle.colorInt (@ColorInt)#3A3A3CColor del subtítulo.
text.typefaceTypeface?nullFuente del texto general; se usa Plus Jakarta Sans Light cuando no se configura.
text.colorInt (@ColorInt)#3A3A3CColor del texto general.

Botón principal

PropiedadTipoValor predeterminadoFunción
button.typefaceTypeface?nullFuente del botón; se usa Plus Jakarta Sans Regular cuando no se configura.
button.activeTextColorInt (@ColorInt)#FFFFFFColor del texto cuando el botón está habilitado.
button.activeColorInt (@ColorInt)#082C4CColor de fondo cuando el botón está habilitado.
button.disabledTextColorInt (@ColorInt)#FFFFFFColor del texto cuando el botón está deshabilitado.
button.disabledColorInt (@ColorInt)#5F6368Color de fondo cuando el botón está deshabilitado.
button.cornerRadiusFloat20FRadio de las esquinas del botón en píxeles.

Tarjeta del documento

PropiedadTipoValor predeterminadoFunción
contentCard.reintentIconColorInt (@ColorInt)#082C4CColor del ícono utilizado para volver a capturar el documento.
contentCard.idCardFrontImageInt (@DrawableRes)R.drawable.autentikar_id_card_frontRecurso placeholder para el frente del documento.
contentCard.idCardBackImageInt (@DrawableRes)R.drawable.autentikar_id_card_backRecurso placeholder para el reverso del documento.
contentCard.overlayActionContent.backgroundColorInt (@ColorInt)#4D00B6D3Fondo semitransparente del overlay de acción.
contentCard.overlayActionContent.iconColorInt (@ColorInt)#FFFFFFColor del ícono del overlay.
contentCard.overlayActionContent.text.typefaceTypeface?nullFuente del texto del overlay; se usa Plus Jakarta Sans Regular cuando no se configura.
contentCard.overlayActionContent.text.colorInt (@ColorInt)#FFFFFFColor del texto del overlay.

Pantalla de cámara

PropiedadTipoValor predeterminadoFunción
cameraScreen.closeIconColorInt (@ColorInt)#082C4CColor del ícono para cerrar la cámara.
cameraScreen.progressBarColorInt (@ColorInt)#082C4CColor del indicador de progreso de la captura.
cameraScreen.strokeColorInt (@ColorInt)#082C4CColor del marco guía del documento.

Ejemplo completo

MainActivity.kt
import android.graphics.Color
import android.graphics.Typeface
import com.autentikar.photoidscan.common.managers.AutentikarPhotoIDScanManager
import com.autentikar.photoidscan.utilities.customizations.AutentikarPhotoIDScanCustomization

val custom = AutentikarPhotoIDScanCustomization().apply {
    backgroundColor = Color.WHITE
    closeIconColor = Color.DKGRAY

    title.typeface = Typeface.DEFAULT_BOLD
    title.color = Color.BLACK
    subTitle.typeface = Typeface.DEFAULT
    subTitle.color = Color.DKGRAY
    text.typeface = Typeface.DEFAULT
    text.color = Color.DKGRAY

    button.activeColor = Color.rgb(37, 99, 235)
    button.activeTextColor = Color.WHITE
    button.disabledColor = Color.GRAY
    button.disabledTextColor = Color.WHITE
    button.cornerRadius = 24F

    contentCard.idCardFrontImage = R.drawable.company_id_front
    contentCard.idCardBackImage = R.drawable.company_id_back
    contentCard.reintentIconColor = Color.rgb(37, 99, 235)
    contentCard.overlayActionContent.backgroundColor = Color.argb(77, 37, 99, 235)
    contentCard.overlayActionContent.iconColor = Color.WHITE
    contentCard.overlayActionContent.text.color = Color.WHITE

    cameraScreen.closeIconColor = Color.WHITE
    cameraScreen.progressBarColor = Color.rgb(37, 99, 235)
    cameraScreen.strokeColor = Color.rgb(37, 99, 235)
}

AutentikarPhotoIDScanManager.setCustomization(custom)

Cómo se aplica la configuración

Cada gestor de módulos expone setCustomization excepto AutentikarUnifiedIDManager, cuyas propiedades específicas de FaceTec se establecen directamente. Esto mantiene el tema básico centralizado al tiempo que permite al proveedor de captura mantener sus propios controles UI.

La personalización de PhotoIDScan controla únicamente sus pantallas de revisión y captura. Las pantallas compartidas del flujo, como carga, consentimiento e instrucciones estándar, continúan utilizando AutentikarCoreCustomization.
Copyright © 2026