何时使用 WebView
仅在以下情况下使用 WebView 集成:- 你的开发平台没有原生 SDK(例如 Xamarin、Cordova 或其他小众框架)
- 在集成原生 SDK 之前,你需要快速搭建原型或概念验证
- 你正在从 Web 迁移,希望通过临时桥接过渡到原生集成
工作原理
1
创建会话
你的后端调用 创建会话 API,并获得托管的
url。2
在 WebView 中打开
你的应用在 WebView 组件中加载
url。3
用户完成验证
用户在 WebView 中完成验证流程。
4
拦截回调
完成后,WebView 会跳转到你的回调 URL。你的应用拦截该次跳转并提取结果。
5
通过 Webhook 获取完整结果
你的后端通过 Webhook 接收完整的决策数据。
创建会话
在打开验证流程之前,请先从后端创建会话:201,url 中嵌入的是 12 位的 session_token,而不是 session_id):
url 字段,切勿手动根据 session_token 拼接该地址。
React Native
安装 WebView 软件包:实现
React Native 演示
Expo + WebView 验证示例
Flutter
在pubspec.yaml 中添加所需的软件包:
实现
Flutter 演示
Flutter WebView 验证示例
关键配置
必需的用户代理
你必须设置通用的移动端用户代理,WebView 才能正常工作:必需的媒体设置
处理回调
验证完成后,WebView 会携带查询参数跳转到你的回调 URL:故障排除
摄像头无法工作
摄像头无法工作
- 确保
mediaPlaybackRequiresUserGesture为false - 在操作系统层面确认已授予摄像头权限
- 检查用户代理字符串是否已正确设置
白屏或加载问题
白屏或加载问题
- 确认会话 URL 有效且未过期
- 检查网络连接
- 确保 WebView 设置中已启用 JavaScript
回调未触发
回调未触发
- 确认回调 URL 与创建会话时设置的一致
- 检查导航代理(delegate)或监听器是否已正确配置
- 尝试在创建会话时将
callback_method设为"both"