Преглед изворни кода

增补新的sdk接入文档

pull/1/head
王全 пре 3 година
родитељ
комит
65e8548863
4 измењених фајлова са 374 додато и 0 уклоњено
  1. BIN
      AI/demo/demo-sdk.zip
  2. 372
    0
      AI/安卓Sdk入文档.md
  3. 1
    0
      AI/安卓ocr接入.md
  4. 1
    0
      AI/安卓活体核身接入文档.md

BIN
AI/demo/demo-sdk.zip Прегледај датотеку


+ 372
- 0
AI/安卓Sdk入文档.md Прегледај датотеку

@@ -0,0 +1,372 @@
1
+# 配置流程
2
+
3
+## 接入配置
4
+
5
+### 注意事项
6
+
7
+- SDK 最低支持 Android 4.0 以上版本 API LEVEL 16。
8
+- SDK 将以 AAR 文件的形式提供,[cepm-sdk-release.aar](#demo) 和 [sdkproject-release_enc.aar](#demo),详情请参见 [添加依赖](#yilai)。
9
+- 提供多个入口方法,请根据业务选择
10
+
11
+### 准备工作
12
+
13
+1. 向AI平台申请使用凭证
14
+2. 需要提供使用环境的Appid、目标客户
15
+3. LicenseID标签已废弃,无需关注
16
+4. 使用凭证包含如下部分:
17
+    - SysName:系统名称
18
+    - UserCode:用户名
19
+    - Password:密钥
20
+    - Url:AI平台服务链接
21
+
22
+<span id='yilai'></span>
23
+
24
+### 添加依赖
25
+
26
+将提供的 AAR 文件加入到 App 工程的 libs 文件夹内,并且在 build.gradle 中添加下面的配置。
27
+
28
+```
29
+android{
30
+     //...
31
+     repositories {
32
+        flatDir {
33
+            dirs 'libs' //this way we can find the .aar file in libs folder
34
+        }
35
+    }
36
+}
37
+
38
+//添加依赖
39
+dependencies {
40
+    //...other...
41
+    //集成sdk依赖
42
+    implementation 'com.alibaba:fastjson:1.2.73'
43
+    implementation 'com.squareup.okhttp3:okhttp:4.0.0'
44
+    implementation files('libs/cepm-sdk-release.aar')
45
+    implementation files('libs/sdkproject-release_enc.aar')
46
+}
47
+
48
+```
49
+
50
+<span id='shili'></span>
51
+
52
+# 接入示例
53
+初始化:该步骤必须进行,否则无法调用
54
+```
55
+# 项目需要增加Application类
56
+public class MyApp extends Application {
57
+
58
+    @Override
59
+    public void onCreate() {
60
+        super.onCreate();
61
+        //必须执行初始化
62
+        CepmApp.init(this);
63
+    }
64
+}
65
+
66
+```
67
+
68
+快速调用:
69
+```
70
+# 在MainActivity中单击某个按钮的代码逻辑
71
+
72
+Credential cert=new Credential();
73
+final FaceidSDK.IDCardInputData inputdata=FaceidSDK.getInstance().new IDCardInputData("xxx","xxx");
74
+cert.setPassword("xxxx");
75
+cert.setUserCode("xxxx");
76
+cert.setUrl("xxxx");
77
+cert.setSysName("xxxx");
78
+
79
+FaceidSDK.getInstance().init(MainActivity.this,"你的LicenseID", cert,new FaceidSDK.FaceidLoginListener() {
80
+    @Override
81
+    public void onLoginSuccess() { //登录成功,拉起 入口方法一 的SDK 页面,
82
+        FaceidSDK.getInstance().startActivity(inputdata, new FaceidSDK.FaceidResultListener() {
83
+            @Override
84
+            public void onFailed(String errorCode, String errorMsg) {
85
+                //txtresult.setText("失败:错误码"+errorCode+";错误信息"+errorMsg);
86
+            }
87
+
88
+            @Override
89
+            public void onFinish(FaceidSDK.OutputData result) {
90
+                //txtresult.setText("操作完成:识别结果"+result.isSuccess()+";相似分数"+result.getScore());
91
+
92
+            }
93
+        });
94
+    }
95
+
96
+    @Override
97
+    public void onLoginFailed(String errorCode, String errorMsg) {
98
+
99
+    }
100
+});
101
+```
102
+<span id='demo'></span>
103
+
104
+[完整demo和sdk下载](./demo/demo-sdk.zip) (跳转后点击查看**原始文件**)
105
+
106
+# 接口详细说明
107
+
108
+1. [Faceid接口](#faceid)
109
+2. [Ocr接口](#ocr)
110
+
111
+<span id='faceid'></span>
112
+
113
+## SDK Faceid 接口
114
+
115
+SDK 代码调用的入口为 `FaceidSDK` 这个类。
116
+
117
+```
118
+public class FaceidSDK {
119
+    /**
120
+    * 该类为一个单例,需要先获得单例对象再进行后续操作
121
+    */
122
+    public static FaceidSDK getInstance(){
123
+    //    ...
124
+    }
125
+    
126
+    
127
+    /**
128
+    * 自定义动作参数,在init执行之前设置才有效
129
+    * 设置“人脸动作范围”,“从范围中随机选取几个动作”等参数
130
+    */
131
+    public void setFaceSDKConfig(FaceSDKConfig faceSDKConfig) {
132
+    //    ...
133
+    }
134
+
135
+    /**
136
+    * 在使用SDK前先初始化,
137
+    * 传入证书key `credential`,证书id LicenseID
138
+    * 由 FaceidLoginListener返回是否初始化SDK成功
139
+    */
140
+    public void init(Context context,String LicenseID,Credential credential, FaceidLoginListener loginListerner){
141
+    //    ...
142
+    }
143
+
144
+    /**
145
+    * 入口方法一 人脸核身
146
+    * 初始化成功后,调用此函数拉起sdk页面。
147
+    * 传入IDCardInputData(身份证,姓名)
148
+    * 由FaceidResultListener返回人脸核身结果。
149
+    */
150
+    public void startActivity(IDCardInputData data,FaceidResultListener resultListener) {    
151
+        // ...
152
+    }
153
+    
154
+    /**
155
+    * 入口方法二 人脸比对
156
+    * 初始化成功后,调用此函数拉起sdk页面。
157
+    * 传入PhotoInputData(照片)
158
+    * 由FaceidResultListener返回人脸核身结果。
159
+    */
160
+    public void startActivity(PhotoInputData data,FaceidResultListener resultListener) {    
161
+        // ...
162
+    }
163
+
164
+    /**
165
+    * 入口方法三 照片采集
166
+    * 初始化成功后,调用此函数拉起sdk照片采集页面。
167
+    * 由faceDataResultListener返回照片。
168
+    */
169
+    public void startActivity(faceDataResultListener resultListener) {    
170
+        // ...
171
+    }
172
+
173
+    /**
174
+     * 初始化回调接口
175
+     */
176
+    public interface FaceidLoginListener {
177
+        void onLoginSuccess();
178
+        void onLoginFailed(String errorCode, String errorMsg);
179
+    }
180
+
181
+    /**
182
+    * 人脸核身结果回调接口
183
+    */
184
+    public interface FaceidResultListener{
185
+        void onFailed(String errorCode, String errorMsg);
186
+        void onFinish(OutputData result);
187
+    }
188
+    /**
189
+    * 照片采集结果回调接口
190
+    */
191
+    public interface FaceDataResultListener {
192
+    void onFailed(String errorCode, String errorMsg);
193
+    void onFinish(OutputFaceData result);
194
+    }
195
+```
196
+
197
+`startActivity()` 的参数PhotoInputData和IDCardInputData用来传递数据:
198
+
199
+ ```
200
+    String name; //姓名
201
+    String idNum; //身份证
202
+    ----
203
+    DataItem photo;//照片信息
204
+ ```
205
+
206
+> 以上参数被分别封装在 `FaceidSDK.PhotoInputData`,`FaceidSDK.IDCardInputData` 对象中。
207
+
208
+### 接入示例
209
+关于接口调用的示例可参考 [接入示例](#shili)
210
+
211
+<span id='canshu'></span>
212
+
213
+### 接口参数说明
214
+
215
+| IDCardInputData参数 | 说明 | 类型 | 长度(字节) | 是否必填 |
216
+| --- | --- | --- | --- | --- |
217
+| name | 核验人的姓名| String | - | 是 | 
218
+| idNum | 核验人的身份证号 | String | 32 | 是 |
219
+
220
+
221
+| PhotoInputData参数 | 说明 | 类型 | 长度(字节) | 是否必填 |
222
+| --- | --- | --- | --- | --- |
223
+| photo | 核验人的照片,DataItem属性见下表| DataItem | - | 是 | 
224
+
225
+
226
+| DataItem属性 | 说明 | 类型  | 是否必填 |
227
+| --- | --- | --- | --- |
228
+| origin        | 文件类型<br/> base64形式:self<br/> 链接形式:uri  <br/> | DataItem.DataOrigin |  是       |
229
+| data | 照片内容(base64或uri链接)| String | 是 | 
230
+
231
+
232
+### 动作参数说明
233
+
234
+| FaceSDKConfig参数 | 说明 | 类型 |
235
+| --- | --- | --- |
236
+| actions | [动作](#dongzuo)范围<br/> 可选"eye","mouth","headRight","headLeft","headUp","headDown","yaw"<br/>默认包含所有| List\<String\> | 
237
+| actionOrderRandom | 动作顺序是否随机,默认true | boolean | 
238
+| actionNum | 随机从actions中选取几个动作,默认3 | int | 
239
+
240
+<span id='dongzuo'></span>
241
+
242
+### 动作
243
+
244
+| 参数名 | 说明 |
245
+| --- | --- |
246
+| eye | 眨眼 |
247
+| mouth | 张嘴 |
248
+| headRight | 头右转 |
249
+| headLeft | 头左转 |
250
+
251
+<span id='ocr'></span>
252
+
253
+## SDK Ocr 接口
254
+
255
+SDK 代码调用的入口为 `OcrSDK` 这个类。
256
+
257
+```
258
+public class OcrSDK {
259
+    /**
260
+    * 该类为一个单例,需要先获得单例对象再进行后续操作
261
+    */
262
+    public static OcrSDK getInstance(){
263
+    //    ...
264
+    }
265
+    
266
+    /**
267
+    * 在使用SDK前先初始化,
268
+    * 传入证书key `credential`,
269
+    * 由 OcrLoginListener返回是否初始化SDK成功
270
+    */
271
+    public void init(Context context,Credential credential, final OcrLoginListener loginListerner){
272
+    //    ...
273
+    }
274
+
275
+
276
+    /**
277
+     * 登录成功后,调用此函数拉起sdk页面
278
+     * 打开拍摄页面,传入证件类型ocrType
279
+     *
280
+     * @param resultListener 返回拍摄图片的路径
281
+     */
282
+    public void startTakePhotoActivity(TakePhotoResultListener resultListener,OcrType ocrType) {
283
+        //    ...
284
+    }
285
+
286
+    /**
287
+     * 登录成功后,调用此函数拉起sdk页面
288
+     * 打开身份证正面识别
289
+     * @param resultListener 用于返回识别结果
290
+     */
291
+    public void startIdCardFrontActivity(IdCardFrontResultListener resultListener) {
292
+        //    ...
293
+
294
+    }
295
+
296
+    /**
297
+     * 登录成功后,调用此函数拉起sdk页面
298
+     * 打开身份证背面识别
299
+     * @param resultListener 用于返回识别结果
300
+     */
301
+    public void startIdCardBackActivity(IdCardBackResultListener resultListener) {
302
+        //    ...
303
+
304
+    }
305
+    /**
306
+     * 登录成功后,调用此函数拉起sdk页面
307
+     * 打开银行卡识别
308
+     * @param resultListener 用于返回识别结果
309
+     */
310
+    public void startBankCardActivity(BankCardResultListener resultListener) {
311
+        //    ...
312
+
313
+    }
314
+
315
+    /**
316
+     * 登录回调接口
317
+     */
318
+    public interface OcrLoginListener {
319
+        void onLoginSuccess();
320
+
321
+        void onLoginFailed(String errorCode, String errorMsg);
322
+    }
323
+    
324
+    /**
325
+    * Ocr结果回调接口
326
+    */
327
+    public interface TakePhotoResultListener {
328
+        /**
329
+         * @RARAM exidCardResult SDK返回的识别结果的错误码
330
+         * @RARAM exidCardResult SDK返回的识别结果的错误信息
331
+         */
332
+        void onFailed(String errorCode, String errorMsg);
333
+
334
+        void onFinish(String result);
335
+    }
336
+    /**
337
+    * Ocr结果回调接口
338
+    */
339
+    public interface IdCardFrontResultListener {
340
+        /**
341
+         * @RARAM exidCardResult SDK返回的识别结果的错误码
342
+         * @RARAM exidCardResult SDK返回的识别结果的错误信息
343
+         */
344
+        void onFailed(String errorCode, String errorMsg);
345
+
346
+        void onFinish(IdCardFrontData result);
347
+    }
348
+    /**
349
+    * Ocr结果回调接口
350
+    */
351
+    public interface IdCardBackResultListener {
352
+        /**
353
+         * @RARAM exidCardResult SDK返回的识别结果的错误码
354
+         * @RARAM exidCardResult SDK返回的识别结果的错误信息
355
+         */
356
+        void onFailed(String errorCode, String errorMsg);
357
+
358
+        void onFinish(IdCardBackData result);
359
+    }
360
+    /**
361
+    * Ocr结果回调接口
362
+    */
363
+    public interface BankCardResultListener {
364
+        /**
365
+         * @RARAM exidCardResult SDK返回的识别结果的错误码
366
+         * @RARAM exidCardResult SDK返回的识别结果的错误信息
367
+         */
368
+        void onFailed(String errorCode, String errorMsg);
369
+
370
+        void onFinish(BankCardData result);
371
+    }
372
+```

+ 1
- 0
AI/安卓ocr接入.md Прегледај датотеку

@@ -1,3 +1,4 @@
1
+[已废弃,见新文档](./安卓Sdk接入文档.md)
1 2
 # 配置流程
2 3
 
3 4
 ## 接入配置

+ 1
- 0
AI/安卓活体核身接入文档.md Прегледај датотеку

@@ -1,3 +1,4 @@
1
+[已废弃,见新文档](./安卓Sdk接入文档.md)
1 2
 # 配置流程
2 3
 
3 4
 ## 接入配置

Loading…
Откажи
Сачувај