Browse Source

更新 'AI/安卓活体核身接入文档.md'

pull/1/head
周雪成 4 years ago
parent
commit
aa06eac2c5
1 changed files with 74 additions and 29 deletions
  1. 74
    29
      AI/安卓活体核身接入文档.md

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

4
 
4
 
5
 ### 注意事项
5
 ### 注意事项
6
 
6
 
7
-- 人脸核身 SDK(Faceid)最低支持到 支持 Android 4.0 以上版本 API LEVEL 16。
8
-- 人脸核身 SDK 将以 AAR 文件的形式提供,即 faceidsdk.aar。
9
-- 人脸核身 SDK 同时需要依赖**公共组件(cepm_common.aar)**,同样也是以 AAR 文件的形式提供,详情请参见 [添加依赖](#yilai)。
7
+- 人脸核身 SDK(Faceid)最低支持到 支持 Android 4.0 以上版本 API LEVEL 16,armeabi-v7a。
8
+- 人脸核身 SDK 将以 AAR 文件的形式提供,即 faceid-release.aar 和 faceplatform-release.aar。
9
+- 人脸核身 SDK 同时需要依赖**公共组件(common-release.aar)**,同样也是以 AAR 文件的形式提供,详情请参见 [添加依赖](#yilai)。
10
+
11
+
12
+### 配置证书和签名
13
+
14
+1. 提供 appid 和 签名文件md5码 获取证书文件(待补充)
15
+    * aip.license
16
+    * idl-key.face-android
17
+    * idl-license.face-android
18
+2. 配置文件:console_config.json
19
+3. 4个文件放入您的项目目录 `app\src\main\assets`
20
+4. app\build.gradle 内配置:
21
+
22
+    ```
23
+    android {
24
+        ...
25
+        signingConfigs {
26
+            debug {
27
+                storeFile file('xxxx.jks')//申请证书时的签名文件
28
+                storePassword 'xxxx'
29
+                keyAlias = 'xxxx'
30
+                keyPassword 'xxxx'
31
+            }
32
+        }
33
+        ...
34
+        defaultConfig {
35
+        ...
36
+        ndk {
37
+                abiFilters  "armeabi-v7a"//sdk仅支持,大于这个范围运行,会报找不到xxx.so文件
38
+            }
39
+        ...
40
+        }
41
+    }
42
+
43
+    ```
44
+  
45
+### 
10
 
46
 
11
 
47
 
12
 <span id='yilai'></span>
48
 <span id='yilai'></span>
31
     implementation 'com.alibaba:fastjson:1.2.73'
67
     implementation 'com.alibaba:fastjson:1.2.73'
32
     // okHttp依赖
68
     // okHttp依赖
33
     implementation 'com.squareup.okhttp3:okhttp:4.0.0'
69
     implementation 'com.squareup.okhttp3:okhttp:4.0.0'
34
-    // 公共aar
35
-    implementation(name: 'cepm_common', ext: 'aar')
36
-    // 活体核身
37
-    implementation(name: 'faceidsdk', ext: 'aar')
70
+    // common-release.aar
71
+    implementation(name: 'common-release', ext: 'aar')
72
+    // 人脸核身
73
+    implementation(name: 'faceid-release', ext: 'aar')
74
+    implementation(name: 'faceplatform-release', ext: 'aar')
38
 }
75
 }
39
 
76
 
40
 ```
77
 ```
42
 
79
 
43
 在AndroidManifest.xml中添加
80
 在AndroidManifest.xml中添加
44
 ```
81
 ```
45
-<uses-permission android:name="android.permission.INTERNET" />
46
-<uses-permission android:name="android.permission.CAMERA" />
47
-<uses-permission android:name="android.permission.RECORD_AUDIO"/>
82
+    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
83
+    <uses-permission android:name="android.permission.INTERNET"/>
84
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
85
+    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
86
+    <uses-permission android:name="android.permission.CAMERA"/>
87
+    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
88
+    <uses-permission android:name="android.hardware.camera.autofocus"/>
89
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
90
+    <uses-permission android:name="android.permission.WRITE_SETTINGS" tools:ignore="ProtectedPermissions" />
91
+        
48
 ```
92
 ```
49
  - **Android 6.0 以上系统**
93
  - **Android 6.0 以上系统**
50
-SDK 需要用到网络/相机/录音权限,对 Android 6.0 以上的系统 SDK 会做权限的运行时检测。
94
+SDK 需要用到以上权限,对 Android 6.0 以上的系统 SDK 会做权限的运行时检测。
51
  - **Android 6.0 以下系统**
95
  - **Android 6.0 以下系统**
52
- 由于 Android 6.0 以下系统 Android 并没有运行时权限检测,建议调用方在拉起 SDK 前,对网络/相机/麦克风检测。
96
+ -由于 Android 6.0 以下系统 Android 并没有运行时权限检测,建议调用方在拉起 SDK 前,对权限进行检测。-
53
 
97
 
54
 ## 混淆配置
98
 ## 混淆配置
55
 
99
 
61
 ```
105
 ```
62
 # 在MainActivity中单击某个按钮的代码逻辑
106
 # 在MainActivity中单击某个按钮的代码逻辑
63
 
107
 
64
-FaceidSDK.IDCardInputData inputdata=FaceidSDK.getInstance().new IDCardInputData(name.getText().toString(),idNum.getText().toString(), videoType);
65
-Credential credential = new Credential();
66
-credential.setSysName("XXXX").setPassword("XXXX").setUserCode("XXXX").setUrl("https://cepmtest.dhcccloud.com.cn/gateway");
67
-
68
-FaceidSDK.getInstance().init(MainActivity.this, credential,new FaceidSDK.FaceidLoginListener() {
108
+Credential cert=new Credential();
109
+final FaceidSDK.IDCardInputData inputdata=FaceidSDK.getInstance().new IDCardInputData("xxx","xxx");
110
+cert.setPassword("xxxx");
111
+cert.setUserCode("xxxx");
112
+cert.setUrl("xxxx");
113
+cert.setSysName("xxxx");
114
+FaceidSDK.getInstance().init(MainActivity.this, cert,new FaceidSDK.FaceidLoginListener() {
69
     @Override
115
     @Override
70
     public void onLoginSuccess() { //登录成功,拉起 SDK 页面
116
     public void onLoginSuccess() { //登录成功,拉起 SDK 页面
71
-        FaceidSDK.getInstance().startActivity(MainActivity.this,inputdata, new FaceidSDK.FaceidResultListener() {
117
+        FaceidSDK.getInstance().startActivity(inputdata, new FaceidSDK.FaceidResultListener() {
72
             @Override
118
             @Override
73
             public void onFailed(String errorCode, String errorMsg) {
119
             public void onFailed(String errorCode, String errorMsg) {
74
-                txtresult.setText("失败:错误码"+errorCode+";错误信息"+errorMsg);
120
+                //txtresult.setText("失败:错误码"+errorCode+";错误信息"+errorMsg);
75
             }
121
             }
76
 
122
 
77
             @Override
123
             @Override
78
             public void onFinish(FaceidSDK.OutputData result) {
124
             public void onFinish(FaceidSDK.OutputData result) {
79
-                txtresult.setText("操作完成:识别结果"+result.isSuccess()+";相似分数"+result.getScore());
125
+                //txtresult.setText("操作完成:识别结果"+result.isSuccess()+";相似分数"+result.getScore());
80
 
126
 
81
             }
127
             }
82
         });
128
         });
83
     }
129
     }
84
 
130
 
85
     @Override
131
     @Override
86
-    public void onLoginFailed(String errorCode, String errorMsg) {
132
+    public void onLoginFailed(String s, String s1) {
87
 
133
 
88
     }
134
     }
89
 });
135
 });
119
     * 传入IDCardInputData(身份证,姓名,动作类型)
165
     * 传入IDCardInputData(身份证,姓名,动作类型)
120
     * 由FaceidResultListener返回人脸核身结果。
166
     * 由FaceidResultListener返回人脸核身结果。
121
     */
167
     */
122
-    public void startActivity(Context context,  IDCardInputData data,FaceidResultListener resultListener) {    
168
+    public void startActivity(IDCardInputData data,FaceidResultListener resultListener) {    
123
         // ...
169
         // ...
124
     }
170
     }
125
     
171
     
128
     * 传入PhotoInputData(照片,动作类型)
174
     * 传入PhotoInputData(照片,动作类型)
129
     * 由FaceidResultListener返回人脸核身结果。
175
     * 由FaceidResultListener返回人脸核身结果。
130
     */
176
     */
131
-    public void startActivity(Context context,  PhotoInputData data,FaceidResultListener resultListener) {    
177
+    public void startActivity(PhotoInputData data,FaceidResultListener resultListener) {    
132
         // ...
178
         // ...
133
     }
179
     }
134
 
180
 
149
     }
195
     }
150
 ```
196
 ```
151
 
197
 
152
-`startActivity()` 的第二个参数PhotoInputData和IDCardInputData用来传递数据:
198
+`startActivity()` 的参数PhotoInputData和IDCardInputData用来传递数据:
153
 
199
 
154
  ```
200
  ```
155
     String name; //姓名
201
     String name; //姓名
156
     String idNum; //身份证
202
     String idNum; //身份证
157
-    FaceidSDK.VideoType videoType;//LIP数字模式,ACTION动作模式, SILENT静默模式
203
+    ----
158
     DataItem photo;//照片信息
204
     DataItem photo;//照片信息
159
  ```
205
  ```
160
 
206
 
171
 | --- | --- | --- | --- | --- |
217
 | --- | --- | --- | --- | --- |
172
 | name | 核验人的姓名| String | - | 是 | 
218
 | name | 核验人的姓名| String | - | 是 | 
173
 | idNum | 核验人的身份证号 | String | 32 | 是 |
219
 | idNum | 核验人的身份证号 | String | 32 | 是 |
174
-| videoType        | 人脸核身类型<br/>动作活体:FaceidSDK.VideoType.ACTION<br/>数字活体:FaceidSDK.VideoType.LIP<br/>静默活体:FaceidSDK.VideoType.SILENT | FaceidSDK.VideoType | -                  | 是       |
220
+
175
 
221
 
176
 | PhotoInputData参数 | 说明 | 类型 | 长度(字节) | 是否必填 |
222
 | PhotoInputData参数 | 说明 | 类型 | 长度(字节) | 是否必填 |
177
 | --- | --- | --- | --- | --- |
223
 | --- | --- | --- | --- | --- |
178
 | photo | 核验人的照片,DataItem属性见下表| DataItem | - | 是 | 
224
 | photo | 核验人的照片,DataItem属性见下表| DataItem | - | 是 | 
179
-| videoType        | 人脸核身类型<br/>动作活体:FaceidSDK.VideoType.ACTION<br/>数字活体:FaceidSDK.VideoType.LIP<br/>静默活体:FaceidSDK.VideoType.SILENT | FaceidSDK.VideoType | - | 是       |
180
 
225
 
181
 
226
 
182
 | DataItem属性 | 说明 | 类型  | 是否必填 |
227
 | DataItem属性 | 说明 | 类型  | 是否必填 |
183
 | --- | --- | --- | --- |
228
 | --- | --- | --- | --- |
184
-| origin        | 文件类型<br/> base64传输:self<br/>来自文件服务器:fds (**带压缩效果,推荐使用,详见[fds使用文档](../file/文件服务器接口.md))**<br/>链接:uri    | DataItem.DataOrigin |  是       |
185
-| data | 照片内容(base64,文件服务器文件名或uri链接)| String | 是 | 
229
+| origin        | 文件类型<br/> base64形式:self<br/> 链接形式:uri  <br/> | DataItem.DataOrigin |  是       |
230
+| data | 照片内容(base64或uri链接)| String | 是 | 
186
 # 错误码
231
 # 错误码
187
 > 非0为未通过
232
 > 非0为未通过

Loading…
Cancel
Save