多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 1.下载 下载 [ 人脸登录 SDK ](http://attachment.yun2win.com/v1/attachments/1592391346703614/e7837fb7063acce0200b8e83e586cc5e),其中包含了 sdk 及使用 demo,开发者可以自己研读实践。 ### 2. SDK成员对象 name | 类型 | 说明 | -|-|- FaceLogin | class | 包含人脸登录的主要操作 | IFaceLoginHandler | interface | 人脸登录返回结果 | EventCode | enum | 异常事件码 | ### 3. 详细描述 ### FaceLogin 成员方法 ### ◆ 设置 Token ``` public void setToken(String token) ``` 参数 name | 类型 | 说明 -|-|- token | String | 在 App 服务器端生成的用于鉴权的 Token | 注解: * 在初始化FaceLogin后应首先调用 setToken(token) 设置 Token。为保证 App 的安全性,App 客户端应请求 App 服务器端接口获取 Token(服务端端生成 Token,详见[从服务端生成 Token](https://help.yun2win.com/fuyuan-help/1700825#1_Accesstoken_0))。 * 当 Token 无效(INVALID_TOKEN)或 Token 过期(TOKEN_HAS_EXPIRED)时,客户端需要重新请求服务器获取 Token,并调用 setToken(token) 进行设置。 <br /> ### ◆ 人脸验证 ``` public void validate(Bitmap bitmap, String deviceId, IFaceLoginHandler handler) ``` 参数 name | 类型 | 说明 -|-|- bitmap | android.graphics.Bitmap | 摄像头采集的图片 | deviceId | String | 设备唯一码 | handler | IFaceLoginHandler | 回调处理方法 | 注解: * 第一次调用validate之前,必须设置应用的Token。 * deviceId:应用中不同用户应具有不同的deviceId;同一用户,每次调用时应保证deviceId值不变。 * IFaceLoginHandler:参考接口定义。 <br /> ### ◆ 确认工号 ``` public void confirm(String uid) ``` 参数 name | 类型 | 说明 -|-|- uid | String | 员工工号 | 注解: * 此方法必须在调用 validate 方法触发 IFaceLoginHandler 接口的 handleConfirm() 回调之后进行调用。 * 此方法只在第一次识别成功时进行调用。 * 在第一次识别调用成功后,如果该 uid 使用了不同的的 deviceId 调用 validate 方法,或使用了其他人脸进行验证,会再次触发 handleConfirm() 回调,进而需要再次调用此方法。 * uid:员工工号,交由用户填写。 * 请控制此方法调用次数(3次),若超出限制,给出错误提示(员工信息有可能未在人脸库注册,或信息不匹配)。 <br/> ## IFaceLoginHandler 成员方法 ### ◆ 识别成功回调 ``` void onSuccess(String identityToken) ``` 参数 name | 类型 | 说明 -|-|- identityToken | String | 用于 App 登录的身份Token | 注解: * App 调用服务器端登录接口,服务器使用此 identityToken 或取用户信息。(服务端获取用户信息,详见[从服务端获取用户信息]([https://help.yun2win.com/fuyuan-help/1700825#2\_54](https://help.yun2win.com/fuyuan-help/1700825#2_54)))。 <br /> ### ◆ 处理Confirm请求 ``` void handleConfirm() ``` 注解: * 当触发此回调时,调用 faceLogin.confirm(uid) 方法。 <br /> ### ◆ 处理异常事件请求 ``` void handleEvent(EventCode code) ``` 参数 name | 类型 | 说明 -|-|- code | EventCode 枚举 | 异常事件码 | EventCode: | 枚举值 | 描述 | 处理方式 | -------- | -----: | :----: | | MODULE_DISABLED | 模块已被禁用 | 开通模块 | | MODULE_NOT_FORMAL | 模块还未申请正式 | 申请正式服务 | | NO_FACE | 未检测到人脸 | 拍照重试 | | NO_MATCH_FACE | 未找到匹配的人脸 | 拍照重试 | | INVALID_TOKEN | 无效的 Token | 实时更新 Token | | TOKEN_HAS_EXPIRED | Token已过期 | 实时更新 Token | | FORMAT_ERROR | 输入图片格式不正确 | 建议JPEG | 注解: * NO_FACE、NO_MATCH_FACE:未检测到人脸或未找到匹配的人脸,在进行人脸识别时, App 请控制识别次数(5次)或识别总时长(10秒),当超出限制条件时中断匹配验证,并给出提示(员工信息有可能未在人脸库注册,或信息不匹配)。 <br /> ### ◆ 识别失败回调 ``` void onFailure(Exception ex) ``` 参数 name | 类型 | 说明 -|-|- ex | Exeption | 系统或网络异常 | 注解: * java标准异常,请根据异常进行处理。