用户旅程
用户旅程是由 SDK 结合已配置的流程编排的多步骤采集会话。例如,包含 活体检测 + 欺诈风险分类 + 欺诈风险分类 + 文档采集与重用 + 电子签名的流程,在单个会话中依次执行自拍、文件采集和签名。
使用场景
可用的旅程取决于为您的集成配置的流程。请参阅使用场景,了解使用场景 → 流程 → 能力的完整映射。
工作原理
SDK:
- 读取初始化时提供的流程配置。
- 编排该流程所需的采集序列(自拍、文件、签名)。
- 为每个采集步骤返回一个结果对象。
编排完全由 SDK 处理——您无需在应用中实现步骤序列。
启动用户旅程
步骤 1 — 实现 AcessoBioManagerDelegate
AcessoBioManagerDelegate 负责处理 SDK 生命周期回调。实现以下四个必须的方法:
| 方法 | 调用时机 |
|---|---|
onErrorAcessoBioManager(error) | SDK 操作过程中发生错误 |
onUserClosedCameraManually() | 用户手动关闭了摄像头 |
onSystemClosedCameraTimeoutSession() | 达到 40 秒会话时间限制 |
onSystemChangedTypeCameraTimeoutFaceInference() | 13 秒内未检测到人脸 — 切换为手动捕获 |
- Swift
- Objective-C
class ViewController: UIViewController, AcessoBioManagerDelegate {
var unicoCheck: AcessoBioManager!
override func viewDidLoad() {
super.viewDidLoad()
unicoCheck = AcessoBioManager(viewController: self)
}
func onErrorAcessoBioManager(_ error: ErrorBio!) { }
func onUserClosedCameraManually() { }
func onSystemClosedCameraTimeoutSession() { }
func onSystemChangedTypeCameraTimeoutFaceInference() { }
}
@implementation ViewController: UIViewController
- (void)viewDidLoad {
[super viewDidLoad];
unicoCheck = [[AcessoBioManager alloc]initWithViewController:self];
}
- (void)onErrorAcessoBioManager:(ErrorBio *)error { }
- (void)onSystemChangedTypeCameraTimeoutFaceInference { }
- (void)onSystemClosedCameraTimeoutSession { }
- (void)onUserClosedCameraManually { }
@end
必须实现的委托方法
上述四个委托方法必须在您的项目中创建(即使不包含任何逻辑)。否则,项目将无法成功编译。
步骤 2 — 实现 AcessoBioSelfieDelegate
重写方法以处理旅程采集结果回调:
| 方法 | 描述 |
|---|---|
onSuccessSelfie(result) | 图像采集成功——返回用于后续 REST API 调用的 SelfieResult |
onSuccess(result) | WebApp 流程成功完成——返回用于查询验证结果的 processId |
onErrorSelfie(errorBio) | 采集失败——返回包含错误详情的 ErrorBio |
- Swift
- Objective-C
class ViewController: UIViewController, AcessoBioManagerDelegate,
SelfieCameraDelegate, AcessoBioSelfieDelegate {
func onSuccessSelfie(_ result: SelfieResult!) { }
func onSuccess(_ result: SuccessResult!) { }
func onErrorSelfie(_ errorBio: ErrorBio!) { }
}
@interface ViewController: UIViewController <AcessoBioManagerDelegate,
SelfieCameraDelegate, AcessoBioSelfieDelegate>
@end
@implementation ViewController
- (void)onSuccessSelfie:(SelfieResult *)result { }
- (void)onSuccess:(SuccessResult *)result { }
- (void)onErrorSelfie:(ErrorBio *)errorBio { }
@end
步骤 3 — 调用 prepareSelfieCamera 和 open
调用 prepareSelfieCamera 并传入 SDK 配置。摄像头就绪后,onCameraReady 事件将触发——通过 open() 方法传入 web_app_token 打开摄像头:
web_app_token
web_app_token 是在后端创建流程时,POST /client/v1/process 返回的 process.webAppToken 字段。请参阅创建流程。
onCameraReady(cameraOpener)— 摄像头已就绪;调用open(self, webAppToken:)。onCameraFailed(message)— 摄像头准备失败(ErrorPrepare是ErrorBio的扩展)。
- Swift
- Objective-C
@IBAction func openCamera(_ sender: Any) {
unicoCheck.build().prepareSelfieCamera(self, config: YourUnicoConfigClass())
}
func onCameraReady(_ cameraOpener: AcessoBioCameraOpenerDelegate!) {
cameraOpener.open(self, webAppToken: "your_web_app_token")
}
func onCameraFailed(_ message: ErrorPrepare!) { }
- (IBAction)openCamera:(UIButton *)sender {
[[unicoCheck build] prepareSelfieCamera:self config:[YourUnicoConfigClass new]];
}
- (void)onCameraReady:(id)cameraOpener {
[cameraOpener open:self webAppToken:@"your_web_app_token"];
}
- (void)onCameraFailed:(ErrorPrepare *)message { }
有关完整的结果处理,请参阅接收结果。