

喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>
点击这里申请百度智能云特邀VIP帐号,立即体验人脸识别>>>
百度人脸识别使用指南-人脸实名认证H5端APP内嵌H5兼容性配置
APP内嵌H5兼容性配置
如您需要在自研APP中以webview的方式嵌入H5页面,请参照下文进行 iOS 及 Android 手机的兼容性适配。我们对一些需要做的配置进行了处理和封装,以framework(iOS)和Js-Bridge SDK(安卓)的形式提供,提升您的接入效率。
iOS
请您按如下步骤完成SDK集成,接着参照H5方案接入指南完成方案配置和token获取,生成认证H5 URL,使用生成的H5 URL替换示例代码中urlString。
1、配置依赖
将BDAIFaceH5.framework添加到工程中,同时配置依赖库为Embed & Sign

2、配置权限
在Info.plist添加权限配置,否则app运行会崩溃。
| 名称 | 是否必选 | 说明 |
|---|---|---|
| Privacy - Camera Usage Description | 是 | 相机权限 |
| Privacy - Microphone Usage Description | 是 | 麦克风权限 |
3、使用方法
参数释义
| 方法名 | 返回值 | 说明 | 备注 |
|---|---|---|---|
| homeUrl | 无 | 加载H5方案主页地址 | 必要参数 |
示例代码
在需要调用H5人脸的地方调用该示例代码即可
// 所需访问的H5人脸URL NSString *urlString = @"https://ai-face-h5-evaluation.weiyun.baidu.com/face/print/h5demo"; // 初始化BDH5Browser页面 BDH5Browser *desController = [[BDH5Browser alloc] init]; // 设置浏览器URL desController.homeUrl = urlString; // 展示视图,此处仅根据demo结构采用navgation push的方式展示,可根据各自工程代码结构选择push,present的方式进行。 [self.navigationController pushViewController:desController animated:YES];
4、SDK及示例demo源码
链接: https://pan.baidu.com/s/1BIpe4jSU1XXf9eJZlcgmmg
提取码: 请联系您的商务经理获取
安卓
请您先参考本文档完成下述步骤,接着参照H5方案接入指南完成方案配置和token获取,生成认证H5 URL,并将H5 URL填写在jsWebview的loadUrl方法。
1、配置依赖
下载jsbridge.aar,放入工程libs目录。 链接: https://pan.baidu.com/s/1bl97bahwzGFiBWwb_7kQPQ 提取码: 请联系您的商务经理获取
如果您使用androidx软件包,请下载以下版本,放入工程libs目录。 链接: https://pan.baidu.com/s/1ye-8uogWS8ijXjSKkLdswQ 提取码: 请联系您的商务经理获取
在app目录下的build.gradle文件中,配置jsbridge.aar依赖。
2、repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
// jsBridge-SDK.aar
compile(name: 'lib-jsbridge-1.0-release', ext: 'aar')
}2、权限
| 名称 | 是否必选 | 说明 |
|---|---|---|
| android.permission.INTERNET | 是 | 网络权限 |
| android.permission.CAMERA | 是 | 拍照权限 |
| android.permission.RECORD_AUDIO | 是 | 录音权限 |
3、使用方法
JsWebview作为承载动态页面的容器,在JsBridge-SDK中用于加载web页面、相机&麦克风等相关权限申请功能、调起系统相机拍照&录像功能、返回键事件处理功能。
| 方法名 | 返回值 | 说明 | 备注 |
|---|---|---|---|
| loadUrl() | 无 | 加载h5方案主页地址 | webview自带方法 |
| checkPermisions() | boolean | 相机&录音权限能力封装: 判断应用是否开启相机权限和录音权限,通过返回值判断是否已开启相关权限。 有权限则返回true,调用loadUrl(),来加载h5主页地址。 没有权限则返回false,方法内部会调用系统方法来申请权限。 Manifest.permission.CAMERA 相机权限 Manifest.permission.RECORD_AUDIO 录音权限 | 需要调用 |
| onKeyDown() | boolean | 对返回键事件进行处理,用于H5页面回退场景,避免Activity销毁。 需要重写Activity的onKeyDown回调方法,并在onKeyDown方法内部调用此方法。 返回值:true,处理 返回值:false,不处理 | 需要调用 |
| onPermisonResult() | boolean | 相机权限申请回调:对申请权限的回调进行处理,重写系统的onRequestPermisionResult回调方法,并在onRequestPermisionResult方法内部调用此方法。 通过返回值判断用户是否开启相关权限,用户开启权限则返回true,则调用loadUrl(),来加载h5主页地址。用户未开启权限则返回false,提示申请权限失败。 | 需要调用 |
| onCaptureResult() | 无 | 系统相机拍照&相机录像能力回调:相机拍照&相机录像回调进行处理,重写系统的onActivityResult回调方法,并在onActivityResult方法内部调用此方法。无返回值。 | 需要调用 |
4、示例代码
在布局文件中,增加jswebview组件
<RelativeLayout android:id="@+id/js_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <com.baidu.ai.face.widget.JsWebView android:id="@+id/js_webview" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
在Activity中,导入com.baidu.ai.face.widget.JsWebView
import com.baidu.ai.face.widget.JsWebView
在Actvity中,找到jswebview组件,通过checkPermission方法来判断是否拥有相关权限,有权限则直接加载h5地址,无权限方法内部会申请相关权限。
jsWebview = (JsWebView) findViewById(R.id.js_webview);
if (jsWebview.checkPermissions()) {
// 加载H5页面
jsWebview.loadUrl(mUrl);
}在Activity的onRequestPermisionResult调用jswebview的onPermissionsResult方法,对权限回调进行处理,返回值为true,权限申请成功,直接加载h5地址。返回值为false,权限申请失败,申请失败需要增加自己的业务处理逻辑。
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions,
int[] grantResults) {
if (jsWebview.onPermissionsResult(requestCode, permissions, grantResults)) {
// 加载H5页面
jsWebview.loadUrl(mUrl);
} else {
// 权限申请失败,增加失败处理逻辑
}
}在Activity的onKeyDown中调用jswebview的onKeyDown方法,内部封装了返回事件的处理。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return jsWebview.onKeyDown(JsActivity.this, keyCode, event);
}在Activity的onActivityResult中调用jswebview的onCaptureResult方法,内部封装了通过相机拍照,通过相机录像的回调处理逻辑。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
jsWebview.onCaptureResult(requestCode, resultCode, data);
}推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


湘公网安备43019002001857号
备案号:
客服1