For the complete documentation index, see llms.txt. This page is also available as Markdown.

Personalização da UI

Face Liveness Lite permite que você adapte a tela de liveness à sua marca: cores, título, logotipo, ícone de fechar, fonte e o efeito de máscara.

Passe um UiCustomization por meio de CafLivenessConfig.uiCustomization. Todos os campos são opcionais — tudo o que você omitir manterá a aparência padrão, então você pode personalizar apenas o que precisar.

Uso básico

val uiCustomization = UiCustomization(
    font = LivenessFont.ResFont(R.font.your_font),
    appBar = AppBarCustomization(
        title = "Identity check",
        titleColor = ContextCompat.getColor(context, R.color.white),
        color = ContextCompat.getColor(context, R.color.brand_navy),
        logoIcon = R.drawable.your_logo,
        closeButton = R.drawable.your_close_icon,
    ),
    mask = MaskCustomization(
        isBlurEnabled = true,
        color = ContextCompat.getColor(context, R.color.brand_navy),
    ),
    prompt = PromptCustomization(
        textColor = ContextCompat.getColor(context, R.color.white),
        backgroundColor = ContextCompat.getColor(context, R.color.brand_green),
        isRounded = true,
    ),
)

val config = CafLivenessConfig(
    mobileToken = mobileToken,
    personId = personId,
    uiCustomization = uiCustomization,
)

CafFaceLivenessLite.instance.startLiveness(context, config) { event ->
    // tratar eventos
}

UiCustomization

O objeto raiz. Cada grupo é opcional e pode ser omitido.

Parâmetro
Tipo
Padrão
Descrição

font

LivenessFont?

null

Fonte personalizada aplicada ao título e ao texto da instrução.

mask

MaskCustomization?

null

Aparência da área ao redor do oval do rosto.

appBar

AppBarCustomization?

null

Título, cores, logotipo e ícone de fechar da barra superior.

prompt

PromptCustomization?

null

Aparência da caixa de instruções exibida ao usuário.

AppBarCustomization

A barra no topo da tela de liveness.

Parâmetro
Tipo
Padrão
Descrição

title

String?

Vazio

Título exibido durante a verificação de liveness.

titleColor

@ColorInt Int?

Branco

Cor do texto do título.

color

@ColorInt Int?

Transparente

Cor de fundo da barra superior.

logoIcon

@DrawableRes Int?

Sem logotipo

Logotipo exibido na barra superior.

closeButton

@DrawableRes Int?

Padrão do provedor (seta de voltar, branca)

Ícone do botão que fecha a tela de liveness.

MaskCustomization

A área fora do oval onde o usuário posiciona o rosto.

Parâmetro
Tipo
Padrão
Descrição

isBlurEnabled

Boolean

true

Se os efeitos de desfoque e vinheta são aplicados fora do oval. Defina como false para uma sobreposição plana.

color

@ColorInt Int?

Preto semitransparente

Cor da área fora do oval. Use uma cor com alpha para manter a prévia da câmera parcialmente visível.

PromptCustomization

A caixa que exibe instruções ao usuário durante a verificação.

Parâmetro
Tipo
Padrão
Descrição

textColor

@ColorInt Int?

Branco

Cor do texto da instrução.

backgroundColor

@ColorInt Int?

Preto semitransparente

Cor de fundo da caixa de instruções.

isRounded

Boolean

true

Se a caixa de instruções tem cantos arredondados.

LivenessFont

Aplicada ao título e ao texto da instrução.

Opção
Parâmetro
Descrição

LivenessFont.ResFont

@FontRes res: Int

Fonte dos recursos do seu app, por exemplo R.font.your_font.

LivenessFont.PathFont

path: String

Fonte carregada a partir de um caminho de arquivo.

Cores, ícones e fontes

  • As cores são valores de cor, não recursos de cor. Os campos são anotados @ColorInt, então primeiro resolva os recursos com ContextCompat.getColor(context, R.color.your_color), ou use um literal como Color.WHITE / 0xFF1B1B3A.toInt(). Passar R.color.your_color diretamente produzirá a cor errada.

  • Ícones e fontes são IDs de recursos (@DrawableRes, @FontRes).

  • Recursos inválidos são ignorados. Se um ícone ou recurso de fonte não puder ser carregado, a sessão de liveness continua com a aparência padrão em vez de falhar.

  • Definir um valor como null significa "usar o padrão", não "ocultar". Passar closeButton = null mantém o ícone de fechar padrão do provedor em vez de remover o botão.

O que não pode ser personalizado

Alguns aspectos da tela de liveness são fixos pelo SDK para proteger a integridade da verificação:

  • Orientação da tela (sempre retrato).

  • Capturas de tela (sempre desativadas).

  • O filtro da prévia da câmera, que é definido pela configuração da sua conta.

  • Os textos das instruções. Eles podem ser localizados da forma padrão no Android — veja Localização de strings.

Acessibilidade

As cores padrão e as proporções de contraste são verificadas em relação a WCAG 2.1 AA diretrizes. Personalizar cores pode invalidar essa conformidade, então verifique o contraste entre texto e fundo — especialmente prompt.textColor com prompt.backgroundColor, e appBar.titleColor com appBar.color.

Links:

Face Liveness LiteTratamento de FalhasPersonalização da UIRegistro de alterações

Atualizado