接入文档
FaceID海外高级版(中文)
H5接入
H5界面与兼容性说明
App调用H5兼容性配置指引
App调用H5兼容性配置指引

1.需要使用https;
2.安卓,IOS 通过web-view使用需要进行一定的适配。
方案如下:

# 安卓解决方案:

Android5.0 之后的版本原生webview,app层面需要摄像机权限。

 <uses-permission android:name="android.permission.INTERNET"/>
 <uses-permission android:name="android.permission.CAMERA" />
 <uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT" />

# 网页中会实时弹出获取摄像头权限,需要在webview授权处理中允许

 webView.setWebChromeClient(new WebChromeClient() {
 
    @Override
    public void onPermissionRequest(final PermissionRequest request) {
        Log.d("MainActivity", "onPermissionRequest");
        MainActivity.this.runOnUiThread(new Runnable() {
            @TargetApi(Build.VERSION_CODES.LOLLIPOP)
            @Override
            public void run() {
                request.grant(request.getResources());
            }
        });
    }

});

使用其它浏览器内核需要根据相关浏览器要求进行配置。

# IOS解决方案

WebRTC在iOS上,仅支持WKWebView。

OC语法:

WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];  // 初始化配置对象
configuration.allowsInlineMediaPlayback = YES; // 默认是NO,这个值决定了用内嵌HTML5播放视频还是用本地的全屏控制,其中NO为使用原生全屏控制器,YES为视频内嵌播放。

// 设置为自动播放, 不需要用户采取任何手势开启播放
if (@available(iOS 10.0, *)) {
    configuration.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone;  //WKAudiovisualMediaTypeNone 音视频的播放不需要用户手势触发,即为自动播放,iOS 10.0+支持
} else {
    configuration.requiresUserActionForMediaPlayback = NO;
}
WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:configuration];

Swift语法

let configuration = WKWebViewConfiguration()  // 初始化配置对象
configuration.allowsInlineMediaPlayback = true   // 默认是false,这个值决定了用内嵌HTML5播放视频还是用本地的全屏控制

// 设置为自动播放,不需要用户采取任何手势开启播放 
if #available(iOS 10.0, *) {
    configuration.mediaTypesRequiringUserActionForPlayback = []  // WKAudiovisualMediaTypeNone 音视频的播放不需要用户手势触发,即为自动播放,iOS 10.0+支持
} else {
    configuration.requiresUserActionForMediaPlayback = false
}
let webView = WKWebView(frame: CGRect.zero, configuration: configuration)
该文档未解决您的疑问?查看常见问题