Recorridos de usuario
Los recorridos de usuario son sesiones de captura de múltiples pasos orquestadas por el SDK en conjunto con el flujo configurado. Por ejemplo, un flujo con Detección de Vida + Clasificación de riesgo de fraude + Clasificación de Riesgo de Fraude + Captura de Documentos + Firma Electrónica ejecuta selfie, captura de documento y firma en una sola sesión.
Los recorridos disponibles dependen del flujo configurado para tu integración. Consulta Casos de uso para ver el mapeo completo de caso de uso → flujo → capacidad.
El SDK:
- Lee la configuración del flujo proporcionada durante la inicialización.
- Orquesta la secuencia de capturas requeridas para el flujo (selfie, documento, firma).
- Devuelve un objeto de resultado para cada paso de captura.
La orquestación es gestionada completamente por el SDK — no es necesario implementar la secuencia de pasos en tu aplicación.
Paso 1 — Implementar AcessoBioManagerDelegate
AcessoBioManagerDelegate gestiona los callbacks del ciclo de vida del SDK. Implementa los cuatro métodos obligatorios:
| Método | Cuándo se llama |
|---|---|
onErrorAcessoBioManager(error) | Ocurrió un error durante la operación del SDK |
onUserClosedCameraManually() | El usuario cerró la cámara manualmente |
onSystemClosedCameraTimeoutSession() | Se alcanzó el límite de sesión de 40 segundos |
onSystemChangedTypeCameraTimeoutFaceInference() | No se detectó ningún rostro durante 13 segundos — cambia a captura manual |
- 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
Los cuatro métodos de delegate mencionados anteriormente deben crearse en tu proyecto (aunque no tengan ninguna lógica). De lo contrario, el proyecto no compilará correctamente.
Paso 2 — Implementar AcessoBioSelfieDelegate
Sobrescribe los métodos para gestionar los callbacks del resultado de captura del recorrido:
| Método | Descripción |
|---|---|
onSuccessSelfie(result) | Imagen capturada correctamente — devuelve SelfieResult para llamadas posteriores a la API REST |
onSuccess(result) | Flujo WebApp completado correctamente — devuelve un processId utilizado para consultar los resultados de validación |
onErrorSelfie(errorBio) | Captura fallida — devuelve un ErrorBio con detalles del error |
- 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
Paso 3 — Llamar a prepareSelfieCamera y open
Llama a prepareSelfieCamera pasando la configuración del SDK. Cuando la cámara esté lista, el evento onCameraReady se dispara — abre la cámara mediante el método open(), pasando el web_app_token:
El web_app_token es el campo process.webAppToken devuelto por POST /client/v1/process al crear el proceso en tu backend. Ver Crear Proceso.
onCameraReady(cameraOpener)— la cámara está lista; llama aopen(self, webAppToken:).onCameraFailed(message)— la preparación de la cámara falló (ErrorPreparees una extensión deErrorBio).
- 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 { }
Para el manejo completo del resultado, consulta Recibir el resultado.