Objetivos de Implementación
La app del cliente debe implementar el siguiente flujo:- Construir la URL de LiveForm usando el
pidrecibido del servidor o de la app del cliente. - Verificar los permisos de la app requeridos por LiveForm antes de abrir el WebView.
- Abrir la URL de LiveForm en un WebView a pantalla completa.
- Configurar el WebView para soportar captura de cámara, subida de imágenes, cookies y navegación a enlaces externos.
Versiones Soportadas y Requisitos Mínimos
LiveForm es una aplicación web basada en HTTPS. El WebView de la app debe soportar completamente las funciones modernas del navegador, permisos de cámara, selección de archivos y cookie/storage.
Alcance de las pruebas en dispositivos reales:
- Verificar el flujo completo en Android 9 (API 28)+: instalación de la app, carga del WebView, selección de archivos, captura con cámara, cookie/storage.
- Verificar el flujo completo en iOS 15+: selección de archivos en
WKWebView, captura con cámara, cookie/storage. - La aprobación final requiere completar un envío real de LiveForm — captura con cámara, subida, envío y navegación a returnUrl/deep link.
URL de LiveForm
La app del cliente utiliza únicamente el host de producción de LiveForm correspondiente a la región del proyecto. Elpid se pasa como parámetro de consulta.
pid identifica de forma única la sesión de LiveForm.
Permisos de la App
LiveForm utiliza la cámara y la función de subida de imágenes dentro del WebView. Al ejecutar LiveForm como WebView en una app móvil, la app del cliente debe obtener los permisos de acceso a la cámara y a los archivos antes de abrir el WebView — permisos que normalmente gestiona el navegador.- iOS
- Android
Añadir las siguientes descripciones de uso en
Info.plist:Flujo de Integración Requerido
Configuración del WebView
El WebView debe permitir JavaScript, storage, cookies, reproducción de medios y captura de medios.- React Native
- Android Nativo
- iOS Nativo
Al usar Referencia de Configuraciones Clave
react-native-webview, los detalles del WebChromeClient (Android) y WKUIDelegate (iOS) subyacentes son gestionados por la capa nativa de la librería. Configurar las props del WebView indicadas a continuación y verificar las listas de verificación de Android e iOS por separado en dispositivos reales.Constructor de URL de LiveForm
Ejemplo de Solicitud de Permisos (Expo/React Native)
- No abrir el WebView.
- Mostrar un mensaje explicando que se requieren permisos de cámara y biblioteca de fotos para la captura y subida de LiveForm.
- Proporcionar un botón para navegar a la pantalla de configuración de la app.
Diseño a Pantalla Completa
LiveForm funciona mejor cuando ocupa la mayor parte posible de la pantalla. Recomendaciones:- Ocultar el header nativo en la ruta del WebView.
- Aplicar insets de área segura para evitar el notch y el indicador de inicio.
- Si se oculta el header, proporcionar un pequeño botón de retroceso a nivel de app.
- No incrustar el WebView dentro de una tarjeta o modal — dejar que ocupe la pantalla directamente.
Lista de Verificación
Verificar tanto en iOS como en Android.Enfoque de verificaciónLa app del cliente debe implementar su propia pantalla WebView basándose en el código de ejemplo proporcionado, y luego verificar la URL real de LiveForm y una página de prueba de permisos/funciones por separado.
- Modo URL de LiveForm: Verificar el flujo de envío real en el host de producción de LiveForm.
- Página de prueba de permisos/funciones: Verificar el storage/cookie, fetch, input de archivo y captura con cámara del WebView en un único flujo secuencial, independientemente del estado de LiveForm.
- Común (URL y Permisos)
- Android
- iOS WKWebView
- React Native
URL y Navegación
- Una URL de LiveForm en el formato
https://form.argosidentity.com?pid={pid}(https://form-kr.argosidentity.com?pid={pid}en la región KR) se abre correctamente. - El
pidestá codificado en URL antes de ser pasado. - Los esquemas personalizados externos se abren en una app externa o fallan de forma segura.
- El permiso de cámara se verifica antes de entrar al WebView en el primer lanzamiento.
- El permiso de biblioteca de fotos/medios se verifica antes de entrar al WebView en el primer lanzamiento.
- Se muestra un mensaje recuperable si el permiso es denegado.
- El botón “Abrir Configuración” navega a la pantalla de configuración de la app.
- LiveForm se carga con JavaScript habilitado.
- La interfaz de cámara se abre al capturar un documento de identidad.
- El selector se abre para la subida de imágenes.
- Las cookies y el storage persisten durante la navegación normal del WebView.
- Se muestra un estado de carga mientras la página se carga.
- Se muestra un mensaje de error recuperable ante error de carga del WebView o error HTTP.
Resolución de Problemas
La cámara no se abre dentro de LiveForm
La cámara no se abre dentro de LiveForm
Verificar:
- ¿Se solicitó y concedió el permiso de cámara a nivel de app antes de abrir el WebView?
- ¿Está configurado
NSCameraUsageDescriptionen iOS? - ¿Está configurado
android.permission.CAMERAen Android? - ¿Están habilitadas las configuraciones de captura de medios en el WebView?
La subida de imágenes no funciona
La subida de imágenes no funciona
Verificar:
- ¿Se solicitó y concedió el permiso de biblioteca de fotos o medios?
- ¿Está configurado
NSPhotoLibraryUsageDescriptionen iOS? - ¿Están configurados correctamente los permisos de medios de Android según el target SDK y la implementación del selector?
El WebView muestra una pantalla en blanco
El WebView muestra una pantalla en blanco
Verificar:
- ¿La URL incluye un
pidválido? - ¿El dispositivo está conectado a una red?
- ¿Están habilitados JavaScript y DOM storage?
- ¿El callback del WebView recibió un error HTTP o de red?