Browse Source

活体核身

pull/1/head
周雪成 4 years ago
parent
commit
f41a7a1555
3 changed files with 187 additions and 0 deletions
  1. 17
    0
      AI/H5活体核身接入文档.md
  2. BIN
      AI/images/测试.png
  3. 170
    0
      AI/安卓活体核身接入文档.md

+ 17
- 0
AI/H5活体核身接入文档.md View File

@@ -0,0 +1,17 @@
1
+# 视频活体核身
2
+
3
+1. 调用 https://cepmtest.dhcccloud.com.cn/switcher/core/applyUrlToken ,使用(身份证,姓名)换取token
4
+    * 参数action固定传空
5
+    * bizContent 传 
6
+        ```
7
+        {feedback:"一个url",feedbackWay:"feedback的使用方式",idCard:"身份证",name:"姓名",mode:"验证模式"}
8
+        ```
9
+    * feedbackWay 微信银行传 redirect
10
+    * mode : LIP为数字模式,ACTION为动作模式,SILENT为静默模式
11
+2. 收到token后,浏览器跳转到活体核验页面 https://cepmtest.dhcccloud.com.cn/front-h5/pages/faceVerify/index.html?urltoken=[token]
12
+3. 用户录完视频得到核验结果后,浏览器跳回到feedback页面,带回token,id,key三个参数。
13
+4. 调用 https://cepmtest.dhcccloud.com.cn/switcher/core/feedback2UrlToken ,使用token,id,key换取核验结果
14
+
15
+# 活体人脸比对
16
+# 照片人脸核身
17
+# 图片人脸对比

BIN
AI/images/测试.png View File


+ 170
- 0
AI/安卓活体核身接入文档.md View File

@@ -0,0 +1,170 @@
1
+# 开发准备
2
+
3
+## 权限检测
4
+
5
+在AndroidManifest.xml中添加
6
+```
7
+<uses-permission android:name="android.permission.INTERNET" />
8
+<uses-permission android:name="android.permission.CAMERA" />
9
+<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
10
+<uses-permission android:name="android.permission.RECORD_AUDIO"/>
11
+```
12
+ - **Android 6.0 以上系统**
13
+SDK 需要用到网络/相机/录音/写入手机存储权限,对 Android 6.0 以上的系统会做权限的运行时检测。
14
+ - **Android 6.0 以下系统**
15
+ 由于 Android 6.0 以下系统 Android 并没有运行时权限检测,建议调用方在拉起 SDK 前,对网络/相机/麦克风/写入手机存储检测。
16
+
17
+<span id='shili'></span>
18
+
19
+
20
+# 配置流程
21
+
22
+## 接入配置
23
+
24
+### 注意事项
25
+
26
+- 人脸核身 SDK(Faceid)最低支持到 Android API 14: Android 4.0(ICS) ,请在构建项目时注意。
27
+- 人脸核身 SDK 将以 AAR 文件的形式提供,即 FaceidSDK.aar。
28
+- 人脸核身 SDK 同时需要依赖**公共组件(XXX)**,同样也是以 AAR 文件的形式提供,详情请参见 [添加依赖](#yilai)。
29
+
30
+
31
+<span id='yilai'></span>
32
+
33
+### 添加依赖
34
+
35
+为人脸核身 SDK 添加依赖的方式:将提供的 AAR 文件加入到 App 工程的 libs 文件夹下面,并且在 build.gradle 中添加下面的配置。
36
+
37
+```
38
+android{
39
+     //...
40
+     repositories {
41
+        flatDir {
42
+            dirs 'libs' //this way we can find the .aar file in libs folder
43
+        }
44
+    }
45
+}
46
+
47
+//添加依赖
48
+dependencies {
49
+     //0. appcompat-v7
50
+    compile 'com.android.support:appcompat-v7:23.0.1'
51
+    //1. 云刷脸SDK
52
+    compile(name: 'FaceidSDK', ext: 'aar') 
53
+}
54
+
55
+```
56
+
57
+## 混淆配置
58
+
59
+
60
+# 接入示例
61
+
62
+视频核身:
63
+```
64
+# 在MainActivity中单击某个按钮的代码逻辑
65
+
66
+FaceidSDK.InputData inputdata=FaceidSDK.getInstance().new InputData(name.getText().toString(),idNum.getText().toString(), videoType);
67
+Credential credential = new Credential();
68
+credential.setSysName("XXXX").setPassword("XXXX").setUserCode("XXXX").setUrl("XXXX");
69
+
70
+FaceidSDK.getInstance().init(MainActivity.this, credential,new FaceidSDK.FaceidLoginListener() {
71
+    @Override
72
+    public void onLoginSuccess() { //登录成功,拉起 SDK 页面
73
+        FaceidSDK.getInstance().startActivity(MainActivity.this,inputdata, new FaceidSDK.FaceidResultListener() {
74
+            @Override
75
+            public void onFailed(String errorCode, String errorMsg) {
76
+                txtresult.setText("失败:错误码"+errorCode+";错误信息"+errorMsg);
77
+            }
78
+
79
+            @Override
80
+            public void onFinish(FaceidSDK.OutputData result) {
81
+                txtresult.setText("操作完成:识别结果"+result.isSuccess()+";相似分数"+result.getScore());
82
+
83
+            }
84
+        });
85
+    }
86
+
87
+    @Override
88
+    public void onLoginFailed(String errorCode, String errorMsg) {
89
+
90
+    }
91
+});
92
+```
93
+
94
+# 接口调用详细说明
95
+
96
+## SDK 接口调用方法
97
+
98
+SDK 代码调用的入口为 `FaceidSDK` 这个类。
99
+
100
+```
101
+public class FaceidSDK {
102
+    /**
103
+    * 该类为一个单例,需要先获得单例对象再进行后续操作
104
+    */
105
+    public static FaceidSDK getInstance(){
106
+    //    ...
107
+    }
108
+
109
+    /**
110
+    * 在使用SDK前先初始化,
111
+    * 传入证书key `credential`,
112
+    * 由 FaceidLoginListener返回是否初始化SDK成功
113
+    */
114
+    public void init(Context context,Credential credential, FaceidLoginListener loginListerner){
115
+    //    ...
116
+    }
117
+
118
+    /**
119
+    * 初始化成功后,调用此函数拉起sdk页面。
120
+    * 传入InputData(身份证,姓名,动作类型)
121
+    * 由FaceidResultListener返回人脸核身结果。
122
+    */
123
+    public void startActivity(Context context,  InputData data,FaceidResultListener resultListener) {    
124
+        // ...
125
+    }
126
+
127
+    /**
128
+     * 初始化回调接口
129
+     */
130
+    public interface FaceidLoginListener {
131
+        void onLoginSuccess();
132
+        void onLoginFailed(String errorCode, String errorMsg);
133
+    }
134
+
135
+    /**
136
+    * 人脸核身结果回调接口
137
+    */
138
+    public interface FaceidResultListener{
139
+        void onFailed(String errorCode, String errorMsg);
140
+        void onFinish(OutputData result);
141
+    }
142
+```
143
+
144
+`startActivity()` 的第二个参数InputData用来传递数据:
145
+
146
+ ```
147
+    String name; //姓名
148
+    String idNum; //身份证
149
+    FaceidSDK.VideoType videoType;//LIP数字模式,ACTION动作模式, SILENT静默模式
150
+ ```
151
+
152
+> 以上参数被封装在 `FaceidSDK.InputData` 对象中。
153
+
154
+## 接入示例
155
+关于接口调用的示例可参考 [接入示例](#示例)
156
+
157
+<span id='canshu'></span>
158
+
159
+## 接口参数说明
160
+
161
+| 参数 | 说明 | 类型 | 长度(字节) | 是否必填 |
162
+| --- | --- | --- | --- | --- |
163
+| name | 核验人的姓名| String | - | 是 | 
164
+| idNum | 核验人的身份证号 | String | 32 | 是 |
165
+| videoType        | 人脸核身类型<br/>动作活体:FaceidSDK.VideoType.ACTION<br/>数字活体:FaceidSDK.VideoType.LIP<br/>静默活体:FaceidSDK.VideoType.SILENT | FaceidSDK.VideoType | -                  | 是       |
166
+
167
+
168
+# 错误码
169
+图片测试
170
+![图片测试](./images/测试.png)

Loading…
Cancel
Save