Jornadas do Usuário
As Jornadas do Usuário são sessões de captura em múltiplas etapas orquestradas pelo SDK em conjunto com o fluxo configurado. Por exemplo, um fluxo com Prova de Vida + Classificação de risco de fraude + Classificação de risco de fraude + Captura de Documentos + Assinatura Eletrônica executa selfie, captura de documento e assinatura em uma única sessão.
As jornadas disponíveis dependem do fluxo configurado para a sua integração. Consulte Casos de Uso para o mapeamento completo de caso de uso → fluxo → capacidade.
O SDK:
- Lê a configuração de fluxo fornecida durante a inicialização.
- Orquestra a sequência de capturas necessárias para o fluxo (selfie, documento, assinatura).
- Retorna um objeto de resultado para cada etapa de captura.
A orquestração é tratada inteiramente pelo SDK — você não precisa implementar a sequência de etapas no seu app.
Passo 1 — Implementar AcessoBioManagerDelegate
AcessoBioManagerDelegate trata os callbacks de ciclo de vida do SDK. Implemente os quatro métodos obrigatórios:
| Método | Quando é chamado |
|---|---|
onErrorAcessoBioManager(error) | Ocorreu um erro durante a operação do SDK |
onUserClosedCameraManually() | O usuário fechou a câmera manualmente |
onSystemClosedCameraTimeoutSession() | O limite de 40 segundos da sessão foi atingido |
onSystemChangedTypeCameraTimeoutFaceInference() | Nenhum rosto detectado por 13 segundos — muda para 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
Todos os quatro métodos de delegate acima devem ser criados no seu projeto (mesmo sem lógica alguma). Caso contrário, o projeto não compilará com sucesso.
Passo 2 — Implemente AcessoBioSelfieDelegate
Sobrescreva os métodos para tratar os callbacks de resultado da captura da jornada:
| Método | Descrição |
|---|---|
onSuccessSelfie(result) | Imagem capturada com sucesso — retorna SelfieResult para chamadas subsequentes à API REST |
onSuccess(result) | Fluxo WebApp concluído com sucesso — retorna um processId utilizado para consultar os resultados de validação |
onErrorSelfie(errorBio) | Captura falhou — retorna um ErrorBio com detalhes do erro |
- 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
Passo 3 — Chame prepareSelfieCamera e open
Chame prepareSelfieCamera passando a configuração do SDK. Quando a câmera estiver pronta, o evento onCameraReady é disparado — abra a câmera pelo método open(), passando o web_app_token:
O web_app_token é o campo process.webAppToken retornado por POST /client/v1/process ao criar o processo no seu backend. Consulte Criar Processo.
onCameraReady(cameraOpener)— câmera pronta; chameopen(self, webAppToken:).onCameraFailed(message)— falha na preparação da câmera (ErrorPrepareé uma extensão 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 o tratamento completo do resultado, consulte Recebendo o resultado.