---
title: Jornadas do Usuário
canonical: https://developer.unico.io/pt-BR/developers/sdks-and-tools/android/capture-flow/user-journeys
locale: pt-BR
generated_by: markdown-export
---

- [/pt-BR/](/pt-BR/)
- [SDKs e Ferramentas](/pt-BR/developers/sdks-and-tools/overview)
- [Android SDK](/pt-BR/developers/sdks-and-tools/android/requirements)
- Fluxo de captura
- Jornadas do Usuário

# Jornadas do Usuário

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 + Score de Risco + Captura de Documentos + Assinatura Eletrônica executa selfie, captura de documento e assinatura em uma única sessão.

ProdutosAs jornadas disponíveis dependem do fluxo configurado para a sua integração. Consulte [Produtos](/pt-BR/products) para o mapeamento completo de produto → fluxo → capacidade.

Como funciona
O SDK:

1. Lê a configuração de fluxo fornecida durante a inicialização.
2. Orquestra a sequência de capturas necessárias para o fluxo (selfie, documento, assinatura).
3. Retorna um `processId` via `onSuccess` quando o journey é concluído. Para a etapa de selfie, os dados de imagem (`base64` / `encrypted`) também são retornados via `onSuccessSelfie`. As capturas de documento e assinatura são processadas internamente pelo SDK — nenhum artefato por etapa é exposto ao cliente.

A orquestração é gerenciada inteiramente pelo SDK — você não precisa implementar a sequência de etapas no seu app.

Iniciando uma Jornada do Usuário
**Passo 1** — Implementar `AcessoBioListener``AcessoBioListener` trata os callbacks de ciclo de vida do SDK. Implemente os quatro métodos obrigatórios:

| Método | Quando é chamado |
| --- | --- |
| `onErrorAcessoBio(errorBio)` | Ocorreu um erro durante a operação do SDK |
| `onUserClosedCameraManually()` | O usuário fechou a câmera manualmente |
| `onSystemClosedCameraTimeoutSession()` | O limite de tempo da sessão foi atingido — consulte [Limites de sessão](/pt-BR/developers/sdks-and-tools/android/requirements#session-limits) |
| `onSystemChangedTypeCameraTimeoutFaceInference()` | O limite de tempo de inferência facial foi atingido — alterna para captura manual — consulte [Limites de sessão](/pt-BR/developers/sdks-and-tools/android/requirements#session-limits) |

- Kotlin
- Java

```
val callback = object : AcessoBioListener {**  override fun onErrorAcessoBio(errorBio: ErrorBio?) { }  override fun onUserClosedCameraManually() { }  override fun onSystemClosedCameraTimeoutSession() { }  override fun onSystemChangedTypeCameraTimeoutFaceInference() { }}
```

```
AcessoBioListener callback = new AcessoBioListener() {  @Override  public void onErrorAcessoBio(ErrorBio errorBio) { }  @Override  public void onUserClosedCameraManually() { }  @Override  public void onSystemClosedCameraTimeoutSession() { }  @Override  public void onSystemChangedTypeCameraTimeoutFaceInference() { }};
```

**Passo 2** — Implemente `iAcessoBioSelfie``iAcessoBioSelfie` gerencia os callbacks de resultado da captura na jornada:MétodoDescrição`onSuccessSelfie(result)`Imagem capturada com sucesso — retorna `ResultCamera` para chamadas subsequentes à REST API`onSuccess(result)`Journey concluído com sucesso — retorna `SuccessResult` com um `processId` usado para consultar os resultados da validação`onErrorSelfie(errorBio)`Captura falhou — retorna um `ErrorBio` com os detalhes do erroKotlinJava```
val cameraListener: iAcessoBioSelfie = object : iAcessoBioSelfie {  override fun onSuccessSelfie(result: ResultCamera?) { }  override fun onSuccess(result: SuccessResult) { }  override fun onErrorSelfie(errorBio: ErrorBio?) { }}
```

```
iAcessoBioSelfie cameraListener = new iAcessoBioSelfie() {  @Override  public void onSuccessSelfie(ResultCamera result) { }  @Override  public void onSuccess(SuccessResult result) { }  @Override  public void onErrorSelfie(ErrorBio errorBio) { }};
```

**Passo 3** — Chame `prepareCamera`Com `unicoCheckCamera` inicializado e ambos os listeners implementados, chame `prepareCamera` passando a configuração do SDK, um `CameraListener` e seu `webAppToken`:webAppTokenO `webAppToken` é o campo `process.webAppToken` retornado por `POST /client/v1/process` ao criar o processo no seu backend. Consulte Criar Processo.
`onCameraReady` — câmera pronta; chame `open` passando o `cameraListener` e seu `webAppToken`.
`onCameraFailed` — preparação da câmera falhou; trate a mensagem de erro.
KotlinJava```
unicoCheckCamera.prepareCamera(unicoConfig, object : CameraListener {  override fun onCameraReady(cameraOpener: UnicoCheckCameraOpener.Camera?) {    cameraOpener?.open(cameraListener, "your_web_app_token")  }  override fun onCameraFailed(message: String?) {    Log.e(TAG, message)  }})
```

```
unicoCheckCamera.prepareCamera(unicoConfig, new CameraListener() {  @Override  public void onCameraReady(UnicoCheckCameraOpener.Camera cameraOpener) {    cameraOpener.open(cameraListener, "your_web_app_token");  }  @Override  public void onCameraFailed(String message) {    Log.e(TAG, message);  }});
```

Para o tratamento completo do resultado, consulte [Recebendo o resultado](/pt-BR/developers/sdks-and-tools/android/capture-flow/receiving-the-result).Última atualização em 8 de out. de 2026**