Pular para o conteúdo principal
Este guia mostra como incorporar o fluxo de verificação web da Didit em um componente WebView de um aplicativo móvel nativo. Ele não é o mesmo que os SDKs nativos para iOS/Android/React Native/Flutter: é uma alternativa para plataformas que não podem usar um SDK nativo.

Prefira sempre os SDKs nativos

Há SDKs nativos para iOS, Android, React Native e Flutter. Eles oferecem desempenho, controle da câmera, leitura NFC de passaportes e documentos de identidade, integração biométrica e experiência do usuário muito melhores. Use WebView somente se não houver um SDK nativo para a sua plataforma.

SDK para iOS

SDK nativo em Swift para iOS 13+

SDK para Android

SDK nativo em Kotlin para Android 6.0+

SDK para React Native

API multiplataforma em TypeScript. Compatível com Expo.

SDK para Flutter

API multiplataforma em Dart. Pacote no pub.dev.

Quando usar WebView

Use a integração com WebView somente quando:
  • Você estiver desenvolvendo em uma plataforma sem SDK nativo (por exemplo, Xamarin, Cordova ou outros frameworks de nicho)
  • Você precisar de um protótipo rápido ou de uma prova de conceito antes de integrar o SDK nativo
  • Você estiver migrando da web e quiser uma ponte temporária para uma integração nativa

Como funciona

1

Crie uma sessão

Seu backend chama a API de criação de sessão e recebe uma url de página hospedada.
2

Abra no WebView

Seu aplicativo carrega a url em um componente WebView.
3

O usuário conclui a verificação

O usuário percorre o fluxo de verificação dentro do WebView.
4

Intercepte o retorno

Ao final, o WebView navega até a sua URL de retorno. Seu aplicativo intercepta essa navegação e extrai o resultado.
5

Receba os resultados completos via webhook

Seu backend recebe os dados completos da decisão via webhook.

Como criar uma sessão

Antes de abrir o fluxo de verificação, crie uma sessão a partir do seu backend:
Resposta (201: a url incorpora o session_token de 12 caracteres, não o session_id):
Carregue a url no WebView. Nunca a monte manualmente a partir do session_token.

React Native

Instale o pacote WebView:

Implementação

Demo para React Native

Exemplo de verificação com Expo + WebView

Flutter

Adicione os pacotes necessários ao pubspec.yaml:

Implementação

Demo para Flutter

Exemplo de verificação com WebView no Flutter

Configuração essencial

User agent (obrigatório)

Você deve definir um user agent móvel genérico para que o WebView funcione corretamente:
Isso garante o acesso adequado à câmera, a renderização correta da interface e a reprodução ideal de mídia.

Configurações de mídia (obrigatórias)


Como tratar a URL de retorno

Após a verificação, o WebView redireciona para a sua URL de retorno com parâmetros de consulta:
Para oferecer uma melhor experiência ao usuário, use um esquema de URL personalizado (por exemplo, myapp://verification-complete) como URL de retorno e trate-o como um deep link na sua aplicação.

Solução de problemas

  1. Verifique se mediaPlaybackRequiresUserGesture está definido como false
  2. Confirme que as permissões de câmera foram concedidas no nível do sistema operacional
  3. Verifique se a string do user agent está definida corretamente
  1. Confirme que a URL da sessão é válida e não está expirada
  2. Verifique a conexão com a internet
  3. Verifique se o JavaScript está habilitado nas configurações do WebView
  1. Confirme que a sua URL de retorno corresponde à definida ao criar a sessão
  2. Verifique se o delegate/listener de navegação está configurado corretamente
  3. Tente definir callback_method como "both" ao criar a sessão

Última modificação em 1 de novembro de 2026