刷脸认证提供Android客户端SDK,帮助您在App中实现刷脸认证功能。您可通过刷脸认证的服务端认证初始化接口,获取刷脸认证的唯一标识CertifyId,并使用CertifyId唤起刷脸认证客户端SDK。本文将结合示例代码进行Android客户端接入的详细说明。
前提条件
依赖配置
下载Android SDK,该SDK为Android标准aar包,下载之后在Android Studio中进行aar包引用。例如下载完aar包之后,放入工程目录的libs目录下,并添加以下依赖:
# 添加阿里云实人认证SDK依赖包。
implementation files('libs/aliyunface-sdk-xxx.aar')
implementation 'com.squareup.okhttp3:okhttp:3.11.0'
implementation 'com.squareup.okio:okio:1.14.0'
implementation 'com.alibaba:fastjson:1.2.62'
implementation 'com.aliyun.dpa:oss-android-sdk:+'
接口定义
/**
* 刷脸认证接口。
*/
public class ZIMFacade {
/**
* 初始化接口,建议接入方在调用其它接口前,先调用此接口。
*
* @context Context
*/
public static void install(Context context);
/**
* 获取环境参数接口。
*
* @context Context
*/
public static String getMetaInfos(Context context);
/**
* identify interface for android
* 需在UI线程上调用,不会阻塞调用线程。
*
* @param certifyId:刷脸认证唯一标识,请从刷脸认证服务端认证初始化接口获取。
* @param useMsgBox:当刷脸认证过程中出现异常情况,是否使用SDK内部的弹框提示。
* 如果取值为true, 则SDK先弹框提示,确定之后,返回错误code。
* 如果取值为false, 则不弹提示框,直接返回错误code, 客户App自行决定如何提示。
* @param callback:认证结果的回调接口。
*/
public void verify(String certifyId, boolean useMsgBox,, ZIMCallback callback);
/**
* 开始进行实名认证, 带自定义参数的版本。
* @param certifyId:刷脸认证唯一标识,请从刷脸认证服务端认证初始化接口获取。
* @param useMsgBox:表示是否在sdk内部使用弹框提示错误信息。
* @param extParams:扩展参数。
* @param callback:identify result
*/
public void verify(final String zimId, boolean useMsgBox, HashMap<String, String> extParams, ZIMCallback callback);
/**
* 获取设备指纹DeviceToken。
* @return
*/
public ZIMSession getSession();
}
接口调用
接口混淆配置
为避免接口混淆,您可以参考以下代码来保留类名(一般是在封装release包的时候保留类名):
-verbose
-keep class net.security.device.api.** {*;}
-keep class com.aliyun.aliyunface.network.model.** {*;}
-keep class com.aliyun.aliyunface.api.ZIMCallback {*;}
-keep class com.aliyun.aliyunface.api.ZIMFacade {*;}
-keep class com.aliyun.aliyunface.api.ZIMFacadeBuilder {*;}
-keep class com.aliyun.aliyunface.api.ZIMMetaInfo {*;}
-keep class com.aliyun.aliyunface.api.ZIMResponse {*;}
-keep class com.aliyun.aliyunface.api.ZIMSession {*;}
-keep class com.aliyun.aliyunface.config.**{*;}
-keep class com.aliyun.aliyunface.log.RecordBase {*;}
-keep class com.aliyun.aliyunface.ui.ToygerWebView {*;}
-keep class com.alipay.zoloz.toyger.**{*;}
-keep class net.security.device.api.** {*;}
-keep class com.alipay.deviceid.** { *; }
-keep class com.alibaba.sdk.android.oss.** { *; }
-dontwarn okio.**
-dontwarn org.apache.commons.codec.binary.**
权限说明
金融级实人认证为您提供安全的全链路身份核验服务。为了达到更好的设备风险防范效果,建议您在使用App调用刷脸SDK之前,提前向您的用户获取如下权限:
// 授权获取手机状态的权限。
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
// 授权获取接入网络的权限。开发人员需注意,6.0以上系统属于动态权限。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Demo代码包
您可以下载Android Demo代码包(aliyunfaceDemo.zip)进行体验。
在文档使用中是否遇到以下问题
更多建议
匿名提交