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:201; la url incluye el session_token de 12 caracteres, no el session_id):
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 apubspec.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:Ajustes multimedia (obligatorios)
Gestionar el callback
Tras la verificación, el WebView redirige a tu URL de callback con parámetros de consulta:Solución de problemas
La cámara no funciona
La cámara no funciona
- Asegúrate de que
mediaPlaybackRequiresUserGestureseafalse - Verifica que los permisos de cámara estén concedidos en el sistema operativo
- Comprueba que la cadena del user agent esté configurada correctamente
Pantalla en blanco o problemas de carga
Pantalla en blanco o problemas de carga
- Verifica que la URL de la sesión sea válida y no haya expirado
- Comprueba la conexión a internet
- Asegúrate de que JavaScript esté habilitado en la configuración del WebView
El callback no se dispara
El callback no se dispara
- Verifica que tu URL de callback coincida con la que configuraste al crear la sesión
- Comprueba que el delegado o listener de navegación esté configurado correctamente
- Prueba a establecer
callback_methoden"both"al crear la sesión