全部產品
Search
文件中心

ID Verification:App內整合H5移動端SDK相容性配置

更新時間:May 30, 2025

在行動裝置 App(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