Selaa lähdekoodia

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

pull/1/head
周雪成 4 vuotta sitten
vanhempi
commit
aa06eac2c5
1 muutettua tiedostoa jossa 74 lisäystä ja 29 poistoa
  1. 74
    29
      AI/安卓活体核身接入文档.md

+ 74
- 29
AI/安卓活体核身接入文档.md Näytä tiedosto

@@ -4,9 +4,45 @@
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 48
 <span id='yilai'></span>
@@ -31,10 +67,11 @@ dependencies {
31 67
     implementation 'com.alibaba:fastjson:1.2.73'
32 68
     // okHttp依赖
33 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,14 +79,21 @@ dependencies {
42 79
 
43 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 93
  - **Android 6.0 以上系统**
50
-SDK 需要用到网络/相机/录音权限,对 Android 6.0 以上的系统 SDK 会做权限的运行时检测。
94
+SDK 需要用到以上权限,对 Android 6.0 以上的系统 SDK 会做权限的运行时检测。
51 95
  - **Android 6.0 以下系统**
52
- 由于 Android 6.0 以下系统 Android 并没有运行时权限检测,建议调用方在拉起 SDK 前,对网络/相机/麦克风检测。
96
+ -由于 Android 6.0 以下系统 Android 并没有运行时权限检测,建议调用方在拉起 SDK 前,对权限进行检测。-
53 97
 
54 98
 ## 混淆配置
55 99
 
@@ -61,29 +105,31 @@ SDK 需要用到网络/相机/录音权限,对 Android 6.0 以上的系统 SDK
61 105
 ```
62 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 115
     @Override
70 116
     public void onLoginSuccess() { //登录成功,拉起 SDK 页面
71
-        FaceidSDK.getInstance().startActivity(MainActivity.this,inputdata, new FaceidSDK.FaceidResultListener() {
117
+        FaceidSDK.getInstance().startActivity(inputdata, new FaceidSDK.FaceidResultListener() {
72 118
             @Override
73 119
             public void onFailed(String errorCode, String errorMsg) {
74
-                txtresult.setText("失败:错误码"+errorCode+";错误信息"+errorMsg);
120
+                //txtresult.setText("失败:错误码"+errorCode+";错误信息"+errorMsg);
75 121
             }
76 122
 
77 123
             @Override
78 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 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,7 +165,7 @@ public class FaceidSDK {
119 165
     * 传入IDCardInputData(身份证,姓名,动作类型)
120 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,7 +174,7 @@ public class FaceidSDK {
128 174
     * 传入PhotoInputData(照片,动作类型)
129 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,12 +195,12 @@ public class FaceidSDK {
149 195
     }
150 196
 ```
151 197
 
152
-`startActivity()` 的第二个参数PhotoInputData和IDCardInputData用来传递数据:
198
+`startActivity()` 的参数PhotoInputData和IDCardInputData用来传递数据:
153 199
 
154 200
  ```
155 201
     String name; //姓名
156 202
     String idNum; //身份证
157
-    FaceidSDK.VideoType videoType;//LIP数字模式,ACTION动作模式, SILENT静默模式
203
+    ----
158 204
     DataItem photo;//照片信息
159 205
  ```
160 206
 
@@ -171,17 +217,16 @@ public class FaceidSDK {
171 217
 | --- | --- | --- | --- | --- |
172 218
 | name | 核验人的姓名| String | - | 是 | 
173 219
 | idNum | 核验人的身份证号 | String | 32 | 是 |
174
-| videoType        | 人脸核身类型<br/>动作活体:FaceidSDK.VideoType.ACTION<br/>数字活体:FaceidSDK.VideoType.LIP<br/>静默活体:FaceidSDK.VideoType.SILENT | FaceidSDK.VideoType | -                  | 是       |
220
+
175 221
 
176 222
 | PhotoInputData参数 | 说明 | 类型 | 长度(字节) | 是否必填 |
177 223
 | --- | --- | --- | --- | --- |
178 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 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 232
 > 非0为未通过

Loading…
Peruuta
Tallenna