跳转到主要内容

用户旅程

用户旅程是由 SDK 结合已配置的流程编排的多步骤采集会话。例如,包含 活体检测 + 欺诈风险分类 + 欺诈风险分类 + 文档采集与重用 + 电子签名的流程,在单个会话中依次执行自拍、文件采集和签名。

使用场景

可用的旅程取决于为您的集成配置的流程。请参阅使用场景,了解使用场景 → 流程 → 能力的完整映射。

工作原理

SDK:

  1. 读取初始化时提供的流程配置。
  2. 编排该流程所需的采集序列(自拍、文件、签名)。
  3. 为每个采集步骤返回一个结果对象。

编排完全由 SDK 处理——您无需在应用中实现步骤序列。

启动用户旅程
步骤 1 — 实现 AcessoBioManagerDelegate

AcessoBioManagerDelegate 负责处理 SDK 生命周期回调。实现以下四个必须的方法:

方法调用时机
onErrorAcessoBioManager(error)SDK 操作过程中发生错误
onUserClosedCameraManually()用户手动关闭了摄像头
onSystemClosedCameraTimeoutSession()达到 40 秒会话时间限制
onSystemChangedTypeCameraTimeoutFaceInference()13 秒内未检测到人脸 — 切换为手动捕获
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() { }
}
必须实现的委托方法

上述四个委托方法必须在您的项目中创建(即使不包含任何逻辑)。否则,项目将无法成功编译。

步骤 2 — 实现 AcessoBioSelfieDelegate

重写方法以处理旅程采集结果回调:

方法描述
onSuccessSelfie(result)图像采集成功——返回用于后续 REST API 调用的 SelfieResult
onSuccess(result)WebApp 流程成功完成——返回用于查询验证结果的 processId
onErrorSelfie(errorBio)采集失败——返回包含错误详情的 ErrorBio
class ViewController: UIViewController, AcessoBioManagerDelegate,
SelfieCameraDelegate, AcessoBioSelfieDelegate {

func onSuccessSelfie(_ result: SelfieResult!) { }
func onSuccess(_ result: SuccessResult!) { }
func onErrorSelfie(_ errorBio: ErrorBio!) { }
}
步骤 3 — 调用 prepareSelfieCameraopen

调用 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) — 摄像头准备失败(ErrorPrepareErrorBio 的扩展)。
@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!) { }

有关完整的结果处理,请参阅接收结果