WebView móvil
Muestre una verificación de Certivant en una aplicación de React Native o Flutter: configuración del WebView, permisos de cámara y los mismos eventos que el SDK web, con código de ejemplo.
Una aplicación nativa muestra las mismas páginas alojadas que el SDK web dentro de un WebView. Un WebView nativo no es un sitio web, así que no necesita una entrada en Integración: esa configuración solo controla qué sitios web pueden incrustar sus páginas.
-
Su servidor crea la verificación con la API REST y devuelve a la aplicación el token alojado. Nunca incluya una clave de API en una aplicación.
-
La aplicación abre
https://<certivant-host>/verify/<token>?embed=1en un WebView con la cámara y el micrófono permitidos. -
Con
?embed=1, la página envía a la aplicación host el sobre versionado:{ "source": "certivant", "version": 1, "type": "step", "payload": { "step": "upload" } }
| Plataforma | Dónde llega el mensaje |
|---|---|
React Native (react-native-webview) | onMessage: event.nativeEvent.data es el texto JSON |
Flutter (webview_flutter) | el canal JavaScript CertivantBridge: onMessageReceived |
iOS WKWebView | WKScriptMessageHandler registrado como certivant |
Android WebView | añada una interfaz JavaScript llamada CertivantBridge con postMessage(String) |
Los tipos de evento y sus cargas útiles son los mismos que los eventos del SDK web. Compruebe siempre que source === "certivant" y version === 1, y actúe solo con los mensajes del WebView que usted creó.
React Native
<WebView
source={{ uri: `https://app.certivant.com/verify/${token}?embed=1` }}
originWhitelist={["https://app.certivant.com"]}
javaScriptEnabled
domStorageEnabled
allowsInlineMediaPlayback
mediaPlaybackRequiresUserAction={false}
mediaCapturePermissionGrantType="grant"
geolocationEnabled
onMessage={(e) => handle(JSON.parse(e.nativeEvent.data))}
/>
Declare CAMERA y RECORD_AUDIO en el manifiesto de Android, y NSCameraUsageDescription / NSMicrophoneUsageDescription en Info.plist, y solicite los permisos en tiempo de ejecución antes de mostrar la pantalla.
Flutter
final controller = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..addJavaScriptChannel('CertivantBridge',
onMessageReceived: (m) => handle(jsonDecode(m.message)))
..setOnPlatformPermissionRequest((request) => request.grant())
..loadRequest(Uri.parse('https://app.certivant.com/verify/$token?embed=1'));
Use permission_handler para las solicitudes de cámara, micrófono y ubicación.
Código de ejemplo
Hay envoltorios listos para adaptar en el repositorio, en samples/certivant-embed/ (react-native/ y flutter/), junto a los ejemplos móviles de Live ID para Android, iOS y .NET MAUI.
Para una verificación alojada, el estado final complete es submitted: la decisión llega después. Use los webhooks en su servidor para conocer el resultado.
SDK web
Muestre una verificación de Certivant dentro de su propio sitio web con una sola etiqueta de script: en modal o en línea, con eventos ready, step, complete, cancel y error, comprobaciones estrictas de origen y soporte de cámara.
Live ID Validation
Añada inicio de sesión biométrico a su aplicación: confirme a un usuario recurrente comparando un selfi en vivo con el rostro de su verificación KYC de Certivant ya validada, y controle el acceso con un simple resultado de coincidencia verdadero o falso.