Saltar al contenido principal
Esta guía explica cómo integrar el flujo de verificación web de Didit dentro de un componente WebView nativo en una aplicación móvil. No es lo mismo que los SDK nativos de iOS, Android, React Native y Flutter: es una alternativa para plataformas que no pueden usar un SDK nativo.

Prefiere siempre los SDK nativos

Hay SDK nativos disponibles para iOS, Android, React Native y Flutter. Ofrecen un rendimiento, un manejo de la cámara, lectura NFC de pasaportes y documentos de identidad, una integración biométrica y una experiencia de usuario considerablemente mejores. Usa WebView solo si no hay un SDK nativo disponible para tu plataforma.

SDK de iOS

SDK nativo en Swift para iOS 13+

SDK de Android

SDK nativo en Kotlin para Android 6.0+

SDK de React Native

API multiplataforma en TypeScript. Compatible con Expo.

SDK de Flutter

API multiplataforma en Dart. Paquete de pub.dev.

Cuándo usar WebView

Usa la integración con WebView solo cuando:
  • Desarrolles en una plataforma sin SDK nativo (por ejemplo, Xamarin, Cordova u otros frameworks de nicho)
  • Necesites un prototipo rápido o una prueba de concepto antes de integrar el SDK nativo
  • Estés migrando desde la web y quieras un puente temporal hacia una integración nativa

Cómo funciona

1

Crea una sesión

Tu backend llama a la API de creación de sesiones y recibe una url alojada.
2

Ábrela en un WebView

Tu aplicación carga la url en un componente WebView.
3

El usuario completa la verificación

El usuario recorre el flujo de verificación dentro del WebView.
4

Intercepta el callback

Al terminar, el WebView navega a tu URL de callback. Tu aplicación intercepta esta navegación y extrae el resultado.
5

Obtén los resultados completos mediante webhook

Tu backend recibe los datos completos de la decisión mediante webhook.

Crear una sesión

Antes de abrir el flujo de verificación, crea una sesión desde tu backend:
Respuesta (201; la url incluye el session_token de 12 caracteres, no el session_id):
Carga el campo url en el WebView; nunca construyas la URL a mano a partir del session_token.

React Native

Instala el paquete de WebView:

Implementación

Demo de React Native

Ejemplo de verificación con Expo y WebView

Flutter

Añade los paquetes necesarios a pubspec.yaml:

Implementación

Demo de Flutter

Ejemplo de verificación con WebView en Flutter

Configuración esencial

User agent (obligatorio)

Debes establecer un user agent móvil genérico para que el WebView funcione correctamente:
Esto garantiza el acceso correcto a la cámara, una representación adecuada de la interfaz y una reproducción multimedia óptima.

Ajustes multimedia (obligatorios)


Gestionar el callback

Tras la verificación, el WebView redirige a tu URL de callback con parámetros de consulta:
Para una mejor experiencia de usuario, usa un esquema de URL personalizado (por ejemplo, myapp://verification-complete) como callback y gestiónalo como un deep link en tu aplicación.

Solución de problemas

  1. Asegúrate de que mediaPlaybackRequiresUserGesture sea false
  2. Verifica que los permisos de cámara estén concedidos en el sistema operativo
  3. Comprueba que la cadena del user agent esté configurada correctamente
  1. Verifica que la URL de la sesión sea válida y no haya expirado
  2. Comprueba la conexión a internet
  3. Asegúrate de que JavaScript esté habilitado en la configuración del WebView
  1. Verifica que tu URL de callback coincida con la que configuraste al crear la sesión
  2. Comprueba que el delegado o listener de navegación esté configurado correctamente
  3. Prueba a establecer callback_method en "both" al crear la sesión

Última modificación el 1 de noviembre de 2026