全部产品
Search
文档中心

ID Verification:App内集成H5移动端SDK兼容性配置

更新时间:Jul 02, 2025

在移动应用(App)中集成ID Verification H5移动端SDK时,可能会因为内嵌浏览器(WebView)版本、内置权限等原因而无法兼容。本文旨在介绍如何在App配置WebView使用相机设备、允许网页视频播放等权限,以减少与H5移动端SDK兼容性问题。

Android配置

由于Android生态碎片化严重,App内使用Android原生Webview调起系统摄像头可能存在一些兼容性问题,例如摄像头被拒绝,重新授权无法唤起刷脸页面等。

可参考以下步骤解决兼容性问题:

  1. AndroidManifest.xml文件声明以下权限:

    <!--应用访问相机权限。-->
    <uses-permission android:name="android.permission.CAMERA" />
    <!--应用访问网络权限。-->
    <uses-permission android:name="android.permission.INTERNET" />
  2. 设置WebView:

    1. 重写onPermissionRequest()方法,允许网页申请权限弹窗回调。

      对于基于WebView的网页应用,由于权限管理是由浏览器负责,用户访问H5网页调用摄像头时,如果用户拒绝了该权限请求,用户再次打开网页调用摄像头时,默认提示拒绝访问。

      因此您可以通过重写onPermissionRequest()方法,自定义处理网页权限请求。示例如下:

      webView.setWebChromeClient(new WebChromeClient(){
          @Override
          public void onPermissionRequest(PremissionRequest request) {
              if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                  // 检查当前设备系统版本是否在Android 5.0及以上
                  // 如果是,则直接授予网页请求的所有权限。示例仅供参考,请根据实际情况重写。
                  request.grant(request.getResources());
              }
          }
      });
    2. 设置WebView允许网页视频自动播放:

      // 允许自动播放
      webView.getSettings().setMediaPlaybackRequiresUserGesture(false);

iOS配置

  1. Info.plist 文件中声明 NSCameraUsageDescription 键,并提供一段清晰的说明文字,用于告知用户应用为何需要访问摄像头权限。例如:

    <key>NSCameraUsageDescription</key>
    <string>我们需要访问您的摄像头,以便拍摄照片或扫描二维码。</string>
  2. 设置 WebView 的 WKWebViewConfiguration,并设置允许网页视频自动播放以及网页内播放:

    Swift

    // 通过WKWebViewConfiguration类配置允许使用相机
    let config = WKWebViewConfiguration()
    config.allowsPictureInPictureMediaPlayback = true
    
    // 允许视频自动播放
    let myAudiovisualMediaType: WKAudiovisualMediaTypes = []
    config.mediaTypesRequiringUserActionForPlayback = myAudiovisualMediaType
    
    // 允许视频在网页内播放(非全屏播放)
    config.allowsInlineMediaPlayback = true

    Objective-C

    // 通过WKWebViewConfiguration类配置允许使用相机
    WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
    config.allowsInlineMediaPlayback = YES;
    
    // 允许视频自动播放
    config.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone;
    
    // 允许视频在网页内播放(非全屏播放)
    config.allowsInlineMediaPlayback = YES;

WebRTC兼容性支持列表

说明

iOS 14.3及以上版本WKWebView增加了对WebRTC的支持。

因此,微信、第三方浏览器和App需要在iOS 14.3及以上版本上才能支持WebRTC功能。

对于第三方iOS端App,若未使用WKWebView,则需查看所用的WebView是否支持WebRTC功能来确定是否支持WebRTC

客户端

Android版本

iOS版本

Edge

Android 4.0及以上版本

iOS 14.3及以上版本

FireFox

Chrome

Opera

QQ

百度

Android Browser 5.0+

Safari

不支持

iOS 11及以上版本

UC

Android 4.0及以上版本

不支持

UC极速浏览器

厂商内置浏览器

小米、三星等部分机型支持

微信(App)

Android 4.0及以上版本

iOS 14.3及以上版本

App

Android 4.0及以上版本且使用的WebView支持WebRTC

iOS 14.3及以上版本且使用iOS自带WKWebView