# Personalizar o SDK

Este guia explica as duas formas pelas quais o SDK Demo App personaliza o SDK a partir do aplicativo integrador, e quando cada mudança entra em vigor.

## Como funciona

O menu **Customization** do demo app demonstra os dois modelos. A diferença que importa é o momento em que cada mudança é lida.

| Tipo | Aplicado em | Entra em vigor | Exige reinicialização? |
| :--- | :--- | :--- | :--- |
| Cores | Tempo de build do SDK, dentro do `BrSetupClient` | Após o próximo `reinitialize(…)` | Sim |
| Recibos | Tempo de build do SDK, dentro do `BrSetupClient` | Após o próximo `reinitialize(…)` | Sim |
| Navegação — telas adicionais ou substituídas | No cliente já inicializado | Imediatamente | Não |

## Personalização em tempo de build

As cores e os recibos são lidos enquanto o SDK é construído, então alterá-los exige um ciclo completo de `shutdown()` e `setup(…)`. É isso que o `reinitialize` faz.

Considere isso no seu próprio aplicativo: um seletor de tema visível para o usuário não entra em vigor até que você reinicialize o SDK.

## Personalização em tempo de execução

A personalização de navegação é aplicada ao cliente em execução por meio do `customizeNavigation`, então ela entra em vigor imediatamente.

Use para inserir uma etapa de cashback ou de gorjeta, ou para substituir uma tela nativa do SDK pelo seu próprio Composable.

## Próximos passos

* [Personalize o tema](/pt/getnet-toolbox/sdk-white-label/how-to-guides-sdk/customize-the-theme) — a referência própria do SDK para temas.
* [Personalize os recibos](/pt/getnet-toolbox/sdk-white-label/how-to-guides-sdk/customize-receipts) — os campos do recibo que você pode alterar.
* [Substitua telas do SDK](/pt/getnet-toolbox/sdk-white-label/how-to-guides-sdk/override-sdk-screens) — como funciona a substituição de telas no SDK.