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

Changelog

Notas da versão

Versão 2.21.0

Data de lançamento:

  • 08/07/2026

O que há de novo

Personalize a tela de liveness

Agora você pode personalizar a tela de liveness por meio da nova uiCustomization opção em CafLivenessConfig. As cores, o título da barra do app, os ícones de logo e fechar, a fonte e o desfoque da máscara são todos configuráveis. Cada campo é opcional — qualquer coisa que você omitir mantém a aparência padrão, então as integrações existentes não são afetadas.

val uiCustomization = UiCustomization(
    font = LivenessFont.ResFont(R.font.your_font),
    appBar = AppBarCustomization(
        title = "Identity check",
        titleColor = Color.WHITE,
        color = navyColor,
        logoIcon = R.drawable.your_logo,
        closeButton = R.drawable.your_close_icon,
    ),
    mask = MaskCustomization(isBlurEnabled = true, color = navyColor),
    prompt = PromptCustomization(
        textColor = Color.WHITE,
        backgroundColor = greenColor,
        isRounded = true,
    ),
)
val config = CafLivenessConfig(
    mobileToken = mobileToken,
    personId = personId,
    uiCustomization = uiCustomization
)

CafFaceLivenessLite.instance.startLiveness(
    context = context,
    config = config,
) { event -> /* ... */ }

As cores são valores de cor (@ColorInt), não recursos de cor — resolva os recursos com ContextCompat.getColor(...) antes de passá-los. Ícones e fontes são IDs de recurso.

Versão 7.18.0

Data de lançamento:

  • 07/30/2026

O que há de novo:

Localização dinâmica do serviço iProov

O SDK agora segue o SP do iProov fornecido pelo backend. Alteração no lado do servidor — nenhuma mudança de integração é necessária.

Resposta assinada na falha

Quando uma tentativa de liveness falha (por exemplo, olhos fechados ou pouca iluminação), o SDK agora também recupera o resultado da transação e retorna a signedResponse no evento Failure — anteriormente disponível apenas no sucesso. Se o resultado não puder ser recuperado, um evento Error é retornado em vez disso.

Mudanças incompatíveis

O LivenessLiteEvent contrato mudou. Atualize o tratamento de eventos:

Antes
Depois

Success(val response: String)

Success(val signedResponse: String)

Failure(type, description)

Failure(signedResponse, type, description)

Error(type, description)

Error(type, description, cause)

  • Success.response foi renomeado para Success.signedResponse.

  • Failure agora inclui signedResponse.

  • Error agora inclui cause (o Throwable Throwable).

  • CafLivenessConfig.stage agora usa como padrão CafStage.PROD e não precisa mais ser fornecido explicitamente.

Links:

Face Liveness LiteTratando FalhasPersonalização da UIChangelog

Atualizado