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

Guia de Instalação

Instale e configure o Certta para Flutter. Aprenda sobre os requisitos do SDK, seleção de módulo, permissões, configuração de sessão, atualizações de token em tempo de execução e temas de cores.

Instalando o SDK para Flutter

Este guia orienta você pela configuração necessária para baixar, configurar e inicializar Certta (caf_sdk 2.4.0+) em um app Flutter.

Confira o app de exemplo para um exemplo de implementação completo.

Requisitos

Requisito
Versão

Flutter

3.3.0+

Dart

3.9.0+

Android minSdk

26

Android compileSdk

36+

Kotlin

1.8+

Gradle

8.0+

Android Gradle Plugin (AGP)

8.0+

alvo de implantação do iOS

15.0+

Xcode

14.0+

Swift

5.0+

Etapa 1: Instale o SDK

flutter pub add caf_sdk

A versão do pacote publicada é 2.4.0. Importe a API Certta DevX com:

A versão sequencial CafSdk / initializeCafSdk API ainda está disponível via package:caf_sdk/caf_sdk.dart. Prefira Certta para novas integrações. Veja Migrando do CafSdk.

Etapa 2: Configure a seleção de módulos

Crie um caf-modules-config.json arquivo na raiz do seu projeto (ao lado de pubspec.yaml) para escolher quais módulos nativos empacotar:

Se você omitir este arquivo, todos os módulos serão ativados por padrão e iproov-lite é usado como provedor de Face Liveness.

Defina como true os módulos que você deseja usar.

Para um único provedor, livenessProviders pode ser uma string. Os valores permitidos são iproov-lite, iproov-full, payface, e facetec. Para usar vários provedores, use um array:

iProov e Protobuf

  • iproov-lite: use quando seu app tiver como alvo Protobuf JavaLite — a escolha usual para um binário Android menor.

  • iproov-full: use quando você precisar de Protobuf Java (completo) junto com iProov.

Fingerprint

O módulo Fingerprint é opcional (fingerprint, booleano). O padrão é false. Para ativá-lo, defina "fingerprint": true.

Fingerprint é coletado como parte do fluxo de liveness, então ele só é empacotado quando faceLiveness ou faceLivenessUI também está ativado. Definir "fingerprint": true sem um módulo de liveness não tem efeito.

Entre em contato com o Suporte CAF para solicitar a ativação no backend. Se isso não estiver habilitado do nosso lado, o SDK não acionará a biblioteca de fingerprint mesmo que a propriedade esteja true localmente.

Etapa 3: configuração do Android

Configure o bloco repositories no arquivo android/build.gradle.kts (geralmente na raiz):

Etapa 4: configuração do iOS

Navegue até o diretório ios/ do seu projeto Flutter e execute:

  • Esta etapa é obrigatória para que o iOS possa vincular os módulos nativos.

  • Execute novamente pod install sempre que dependências nativas forem adicionadas ou atualizadas.


Permissões

Android

Declare o seguinte em AndroidManifest.xml:

Face Liveness

Permissão
Descrição
Necessidade

android.permission.CAMERA

Acesso à câmera para verificação facial (liveness).

Obrigatória

android.permission.INTERNET

Comunicação com serviços de autenticação e verificação (HTTPS/WSS).

Obrigatória

Document Detector

Permissão
Descrição
Necessidade

android.permission.CAMERA

Acesso à câmera para capturar imagens de documentos.

Apenas para captura

android.permission.INTERNET

Enviar imagens capturadas para processamento e validação.

Obrigatória

android.permission.READ_EXTERNAL_STORAGE

Acessar arquivos armazenados quando o envio de documentos estiver ativado.

Apenas para upload

O Document Detector requer READ_EXTERNAL_STORAGE quando o envio de documentos está ativado.

iOS

Declare o seguinte em Info.plist:

Face Liveness

Permissão
Descrição
Necessidade

NSCameraUsageDescription

Acesso à câmera para verificação facial (liveness).

Obrigatória

Acesso à rede

Comunicação com serviços de autenticação e verificação (HTTPS/WSS).

Obrigatória

Document Detector

Permissão
Descrição
Necessidade

NSCameraUsageDescription

Acesso à câmera para capturar imagens de documentos.

Apenas para captura

Acesso à rede

Enviar imagens capturadas para processamento e validação.

Obrigatória

NSPhotoLibraryUsageDescription

Acessar arquivos armazenados quando o envio de documentos estiver ativado.

Apenas para upload


Configurando a sessão

Para gerar seu token móvel, siga este guia:

Autenticação

Inicialize o Certta assim que tiver um token móvel válido (JWT) e o ID do usuário — normalmente após o login:

Você pode confirmar a sessão com await certta.isInitialized().

CerttaConfiguration parâmetros

Parâmetro
Tipo
Descrição

mobileToken

String

JWT móvel da CAF do seu backend.

userId

String

Identificador do usuário final.

environment

CafEnvironment

Ambiente de backend: prod, beta, ou dev.

securityEnabled

bool

Ativa verificações de segurança. Padrão true.

colorConfiguration

CafColorConfiguration?

Tema de cores opcional. Veja Tematização de cores.

configureSdk lança uma PlatformException com o código BRIDGE_EXCEPTION quando o mapeador nativo rejeita a configuração.

Atualizações de configuração em tempo de execução

userId e mobileToken podem ser atualizados após a configuração inicial configureSdk sem repetir a configuração completa. Chame estes após login, logout ou atualização do token:

Logs

Os logs do pipeline do SDK são emitidos em CerttaSdk.logStream:


Tematização de cores

Face Liveness e Document Detector oferecem suporte a cores personalizadas para que a interface do SDK possa combinar com a sua marca. Passe strings hexadecimais (por exemplo "#RRGGBB") em CafColorConfiguration ao chamar configureSdk.

Todos os campos de cor são opcionais. Substitua apenas as cores de que você precisa.

Propriedade de cor
Descrição

primaryColor

Cor principal para botões e destaques.

secondaryColor

Cor secundária para elementos complementares.

backgroundColor

Cor de fundo da tela.

contentColor

Cor usada para textos e ícones.

mediumColor

Cor neutra para elementos como barras de progresso.

dialogBackgroundColor

Cor de fundo de diálogos e pop-ups.

dialogBorderColor

Cor da borda de diálogos e pop-ups.


Idioma

Android

O idioma segue a localidade do dispositivo sem configuração adicional.

iOS

Configure Localizações e CFBundleLocalizations no Xcode:

Depois dessas configurações, o SDK usa o idioma do dispositivo.


Ofuscação de código

Adicione as seguintes regras do ProGuard/R8 ao android/app/proguard-rules.pro para que o SDK e suas dependências continuem funcionando após a ofuscação.


Próximos passos

Face LivenessDocument Detector

Atualizado