WebView móvel
Exiba uma verificação da Certivant em um aplicativo React Native ou Flutter — configurações do WebView, permissões de câmera e os mesmos eventos do SDK web, com código de exemplo.
Um aplicativo nativo exibe as mesmas páginas hospedadas do SDK web em um WebView. Um WebView nativo não é um site, então ele não precisa de uma entrada em Incorporação — essa configuração controla apenas quais sites podem enquadrar as suas páginas.
-
Seu servidor cria a verificação com a API REST e devolve o token hospedado ao aplicativo. Nunca inclua uma chave de API em um aplicativo.
-
O aplicativo abre
https://<certivant-host>/verify/<token>?embed=1em um WebView com câmera e microfone permitidos. -
Com
?embed=1, a página envia o envelope versionado ao aplicativo hospedeiro:{ "source": "certivant", "version": 1, "type": "step", "payload": { "step": "upload" } }
| Plataforma | Onde a mensagem chega |
|---|---|
React Native (react-native-webview) | onMessage — event.nativeEvent.data é o texto JSON |
Flutter (webview_flutter) | o canal JavaScript CertivantBridge — onMessageReceived |
iOS WKWebView | WKScriptMessageHandler registrado como certivant |
Android WebView | adicione uma interface JavaScript chamada CertivantBridge com postMessage(String) |
Os tipos de evento e os payloads são os mesmos dos eventos do SDK web. Sempre verifique se source === "certivant" e version === 1, e aja somente sobre mensagens do WebView que você criou.
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 e RECORD_AUDIO no manifesto do Android e NSCameraUsageDescription / NSMicrophoneUsageDescription no Info.plist, e solicite as permissões em tempo de execução antes de exibir a tela.
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 o permission_handler para os avisos de câmera, microfone e localização.
Código de exemplo
Wrappers prontos para adaptar estão no repositório, em samples/certivant-embed/ (react-native/ e flutter/), ao lado dos exemplos móveis do Live ID para Android, iOS e .NET MAUI.
Em uma verificação hospedada, o status final complete é submitted — a decisão vem em seguida. Use os webhooks no seu servidor para saber o resultado.
SDK web
Exiba uma verificação da Certivant dentro do seu próprio site com uma única tag de script — em modal ou inline, com eventos ready, step, complete, cancel e error, verificação estrita de origem e suporte a câmera.
Live ID Validation
Adicione login biométrico ao seu aplicativo — confirme um usuário recorrente comparando uma selfie ao vivo com o rosto KYC já verificado dele na Certivant, e controle o acesso com um simples resultado matched true/false.