> For the complete documentation index, see [llms.txt](https://docs.caf.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.caf.io/caf-sdk/caf-sdk-pt-br/android/standalone-modules/caffaceliveness/builder.md).

# Compilando o SDK

## Criando uma instância do SDK de Liveness

Para criar uma instância de `CafFaceLivenessSDK`, precisamos usar nosso `CafBuilder`. Isso permite configurar todas as configurações necessárias.

### Métodos do Builder

| Método                    | Tipo                                                                                                                      | Descrição                                                                                                | Obrigatório |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | :---------: |
| `setListener`             | [CafLivenessListener](/caf-sdk/caf-sdk-pt-br/android/standalone-modules/caffaceliveness/lifecycle.md#caflivenesslistener) | Define o listener para eventos de verificação de vivacidade.                                             |      ✅      |
| `setStage`                | CafStage                                                                                                                  | Define o estágio do ambiente (ex.: PROD, BETA). O padrão é PROD.                                         |      ❌      |
| `setScreenCaptureEnabled` | Boolean                                                                                                                   | Ativa ou desativa a captura de tela. O padrão é `false`.                                                 |      ❌      |
| `setLoadingScreen`        | Boolean                                                                                                                   | Ativa ou desativa a tela de carregamento. O padrão é `false`.                                            |      ❌      |
| `setLivenessBaseUrl`      | String                                                                                                                    | Define a URL de proxy reverso para liveness facial. Deve usar o protocolo WSS.                           |      ❌      |
| `setDebugMode(Boolean)`   | Boolean                                                                                                                   | Ativa ou desativa os logs para ajudar na depuração durante o processo de integração. O padrão é `false`. |      ❌      |
| `setCertificates`         | List                                                                                                                      | Define certificados SHA-256 codificados em Base64 para o proxy reverso.                                  |      ❌      |
| `setAuthBaseUrl`          | String                                                                                                                    | Define a URL de proxy reverso para autenticação. Deve usar o protocolo HTTPS.                            |      ❌      |

### Exemplo

```kotlin
    private fun setupCafFaceLiveness() {
        sdk = CafFaceLivenessSDK.CafBuilder()
            .setStage(CafStage.PROD)
            .setScreenCaptureEnabled(true)
            .setLoadingScreen(true)
            .setListener(
                setupCafLivenessListener()
            ).build()
    }

    private fun setupCafLivenessListener() = object : CafLivenessListener {
        override fun onCancel() {
            println("onCancel")
        }

        override fun onError(sdkFailure: CafFaceLivenessError) {
            println("onError: ${sdkFailure.message}")
        }

        override fun onLoaded() {
            // Este evento só será chamado quando a tela de carregamento não estiver ativada
            println("onLoaded")
        }

        override fun onLoading() {
            // Este evento só será chamado quando a tela de carregamento não estiver ativada
            println("onLoading")
        }

        override fun onSuccess(livenessResult: CafFaceLivenessResult) {
            println("onSuccess: ${livenessResult.signedResponse}")
        }
    }
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.caf.io/caf-sdk/caf-sdk-pt-br/android/standalone-modules/caffaceliveness/builder.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
