Pré-requisitos
- Android 7.0 (API 24) ou superior.
- Uma
access_credentialemitida pelo seu backend, como em criar verificação. O app nunca gera uma credencial sozinho e nunca guarda a chave de API. - O App Bundle do seu app registrado e verificado em Integrações → Segurança. Sem ele, a sessão recusa abrir.
Configure o projeto
1
Declare as permissões
A verificação captura documento e prova de vida, então precisa da câmera. A localização só entra
se o seu fluxo tiver etapa de geolocalização.
AndroidManifest.xml
2
Adicione o componente à tela
activity_verificacao.xml
3
Peça a permissão de câmera antes de abrir
Peça a câmera antes de iniciar a sessão. Se o titular chega na etapa de captura e a
permissão ainda não foi concedida, o fluxo trava numa tela sem saída.
VerificacaoActivity.kt
4
Busque a credencial no seu backend
O seu app pede ao seu servidor, que chama a Legitimuz e devolve só a credencial.No seu backend, a origem precisa ser a do app, o
VerificacaoRepository.kt
entry volta como
{ "kind": "native", "access_credential": "..." }.5
Abra a sessão
VerificacaoActivity.kt
Confira que funcionou
O fluxo abre na primeira etapa e o seu Logcat registrasession.started. No dashboard, a
verificação sai de not_opened e passa a started.
Os eventos
Os eventos são os mesmos da web. O catálogo completo, com os payloads, está em eventos.Casos de borda
O titular negou a câmera
O titular negou a câmera
Uma negativa simples pode ser pedida de novo. Depois de “não perguntar mais”, só as configurações
do sistema resolvem, mande o titular para lá com um Explique por que a câmera é necessária antes de pedir de novo. Um pedido repetido sem contexto é
negado de novo.
Intent:O app foi para segundo plano no meio da jornada
O app foi para segundo plano no meio da jornada
A sessão é retomável. Ao voltar, o componente busca o estado atual e reabre na etapa onde o
titular parou, desde que a credencial não tenha expirado.Não recrie a Activity a cada rotação: declare
android:configChanges ou guarde o estado no
ViewModel.A credencial expirou
A credencial expirou
session.error chega com um código de credencial inválida. Peça uma credencial nova ao seu
backend e comece outra sessão. Não tente reaproveitar a antiga.A sessão recusa abrir
A sessão recusa abrir
Quase sempre é origem. Confirme que o App Bundle do seu
applicationId está registrado e
verificado em Integrações → Segurança, e que a
verificação foi criada com o integration_origin_public_id dessa origem.Próximo passo
iOS
O mesmo fluxo em Swift.
Receber a decisão
Onde o desfecho realmente chega.