H5静默活体

Android SDK 集成

集成步骤

  1. 在工程目录的build.gradle中增加

          allprojects {
             repositories {
                 maven {
                     url 'https://maven.accuauth.com/repository/maven-releases/'
                     // If your gradle version is greater than 7.0, you need to add the following configuration to allow pulling aar via http
                     allowInsecureProtocol = true
                 }
    
                 google()
                 jcenter()
             }
    
         }
    
  2. 在app的build.gradle中增加如下依赖

     implementation 'com.dfsdk.liveness:web-liveness-silent-sdk:1.0.0@aar'
     implementation 'com.google.code.gson:gson:2.10.1'
    

启动检测

在工程中增加如下代码

    Intent intent = new Intent(MainActivity.this, LivenessH5Activity.class);
    Bundle bundle = new Bundle();
    // 设置使用的国家
    bundle.putString(LivenessH5Activity.KEY_EXTRA_REGION, RegionEnum.INDIA.getCountry());
    // 设置活体显示的语言
    bundle.putString(LivenessH5Activity.KEY_EXTRA_LANGUAGE, LanguageEnum.EN.getLan());
    intent.putExtras(bundle);
    startActivityForResult(intent, 100);

获取结果

通过以下代码可以获取结果。

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        if (resultCode == RESULT_OK) {
             // 采集图片image_id,可以传递给后端防hack接口。
            String imageId = data.getStringExtra(KEY_EXTRA_RESULT);
             // 采集图片,jpeg格式
            byte[] imageJpeg = data.getByteArrayExtra(KEY_EXTRA_IMAGE);

            Bitmap bmp = BitmapFactory.decodeByteArray(imageJpeg, 0, imageJpeg.length);
            imageView.setImageBitmap(bmp);
            doLiveness(imageId);
        }

        super.onActivityResult(requestCode, resultCode, data);
    }

Demo下载地址

https://sdk.india.accuauth.in/SilentLivenessH5Demo.zip

混淆设置

-dontwarn android.webkit.WebView
-dontwarn android.net.http.SslError
-dontwarn android.webkit.WebViewClient
-keep public class android.webkit.WebView
-keep public class android.net.http.SslError
-keep public class android.webkit.WebViewClient

兼容性

当前仅仅支持Android 7.0以上的机型

Web H5 集成

集成步骤

H5 地址

https://sdk.${country}.accuauth.in/silent-liveness-h5/index.html#

country 取值说明

取值 支持地区
india 印度
mexico 墨西哥、秘鲁、哥伦比亚、智利
thailand 中国、泰国、越南、印度尼西亚、菲利宾、巴基斯坦、埃及、缅甸、孟加拉、尼日利亚、加纳

启动检测

// 在H5加载完成后调用
const iframe = document.getElementById('iframe')
if (!iframe.addEventListener) {
    iframe.attachEvent('onload', iframeLoad)
}
iframe.addEventListener('load', iframeLoad, true)

function iframeLoad() {
    // obj 的结构请参考API接口中 set_param 参数说明
    const obj = { language: "en", region: "india" }
    iframe.contentWindow.postMessage({ code: 200, info: JSON.stringify(obj) }, '*')
}

// H5结束后会调用,获取结果
addEvent(window, 'message', function (e) {
    const data = e.data
    if (data.code === 200) {
        // data.info 的结构请参考API接口中 callbackObj.onMessage 参数说明
        // 请注意,imageId 可以直接传递给后端的'/face/liveness_anti_hack'接口
        // '/face/liveness_anti_hack'接口host区域需同set_param中的region相同
    }
})

function addEvent(obj, trigger, fun) {
    if (obj.addEventListener) obj.addEventListener(trigger, fun, false);
    else if (obj.attachEvent) obj.attachEvent('on' + trigger, fun);
    else obj['on' + trigger] = fun;
}

API接口

set_param(json_str)

H5参数设置

参数 必填 类型 说明
json_str string json 字符串,详见示例
language 取值说明

检测界面显示的语言类型

取值 描述
zh 汉语
en 英语
arEG 阿拉伯语(埃及)
esCO 西班牙语(哥伦比亚)
esMX 西班牙语(墨西哥)
th 泰语
urPK 乌都语
vi 越南语
id 印度尼西亚语
bnBD 孟加拉语
region 取值说明

防hack接口对应的地区

取值 描述
cn 中国
india 印度
mexico 墨西哥
peru 秘鲁
colombia 哥伦比亚
chile 智利
thailand 泰国
vietnam 越南
indonesia 印度尼西亚
philippine 菲利宾
pakistan 巴基斯坦
egypt 埃及
myanmar 缅甸
bengal 孟加拉
nigeria 尼日利亚
ghana 加纳

callbackObj.onMessage(imageId, base64, length)

H5设置参数

参数 说明
imageId 图片的imageId,请注意, 此值可以直接传递给后端的'/face/liveness_anti_hack'接口
base64 图片的base64字符串,图片为png格式
length 图片的base64字符串的长度

Demo下载地址

https://sdk.india.accuauth.in/SilentLivenessWebDemo.zip

results matching ""

    No results matching ""