跳转到主要内容

文件采集

采集身份证件。SDK 会呈现一个框架,辅助用户定位证件;定位完成后,用户点击按钮拍照。

无内容验证

SDK 不对正在采集的内容进行任何类型的验证。

可用的文件框架
框架描述
DocumentEnums.CPF采集 CPF
DocumentEnums.CNH采集已展开的 CNH
DocumentEnums.cnhFrente采集 CNH 正面
DocumentEnums.cnhVerso采集 CNH 背面
DocumentEnums.RG采集已展开的 RG
DocumentEnums.rgFrente采集 RG 正面
DocumentEnums.rgVerso采集 RG 背面
DocumentEnums.none适用于任何其他文件的通用矩形框架
通用框架

如果需要采集没有专用框架的文件(例如 RNE),请使用 DocumentEnums.none — 这是一个通用的矩形框架,可用于引导任何采集操作。

有关支持的文件类型的完整列表,请参阅 API 参考 > 枚举

开始文件采集
步骤 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 — 实现 DocumentCameraDelegateAcessoBioDocumentDelegate

这些委托处理文件采集结果的回调:

方法描述
onSuccessDocument(result)采集成功 — 返回包含 base64(预览)和 encrypted(API 使用的 JWT)的 DocumentResult
onErrorDocument(errorBio)采集失败 — 返回包含错误码和描述的 ErrorBio
class ViewController: UIViewController, AcessoBioManagerDelegate,
DocumentCameraDelegate, AcessoBioDocumentDelegate {

func onSuccessDocument(_ result: DocumentResult!) { }
func onErrorDocument(_ errorBio: ErrorBio!) { }
}
步骤 3 — 调用 prepareDocumentCameraopenDocument

调用 prepareDocumentCamera 并传入 SDK 配置。当摄像头就绪时,会触发 onCameraReadyDocument 并携带 AcessoBioCameraOpenerDelegate — 使用 openDocument() 打开摄像头并传入所需的 DocumentEnums

  • onCameraReadyDocument(cameraOpener) — 摄像头已就绪;调用 openDocument(.CNH, delegate: self)
  • onCameraFailedDocument(message) — 摄像头准备失败(ErrorPrepareErrorBio 的扩展)。
@IBAction func openCamera(_ sender: Any) {
unicoCheck.build().prepareDocumentCamera(self, config: YourUnicoConfigClass())
}

func onCameraReadyDocument(_ cameraOpener: AcessoBioCameraOpenerDelegate!) {
cameraOpener.openDocument(DocumentEnums.CNH, delegate: self)
}

func onCameraFailedDocument(_ message: ErrorPrepare!) { }

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