Tutorial: Adiar e restaurar mensagens acionadas
Siga o código de exemplo neste tutorial para adiar e restaurar mensagens no app acionadas usando o SDK da Braze.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Web Braze SDK. No entanto, nenhuma configuração adicional é necessária.
Adiar e restaurar mensagens acionadas para Web

Estamos testando este novo formato de tutorial. Diga-nos o que você acha — seus comentários nos ajudam a melhorar os guias futuros.
1. Remova chamadas para automaticallyShowInAppMessages() {#1-remove-calls-to-automaticallyshowinappmessages}
Remova qualquer chamada para automaticallyShowInAppMessages(), pois elas substituirão qualquer lógica personalizada que você implemente mais tarde.
2. Ative a depuração (opcional) {#2-enable-debugging-optional}
Para facilitar a solução de problemas durante o desenvolvimento, considere ativar a depuração.
3. Inscreva-se no manipulador de retorno de chamada da mensagem no app {#3-subscribe-to-the-in-app-message-callback-handler}
Registre um retorno de chamada com subscribeToInAppMessage(callback) para receber uma mensagem sempre que uma mensagem no app for acionada.
4. Adie a instância message {#4-defer-the-message-instance}
Para adiar a mensagem, chame deferInAppMessage(message). A Braze irá serializar e salvar esta mensagem para que você possa exibi-la em um carregamento de página futuro.
5. Recupere uma mensagem previamente adiada {#5-retrieve-a-previously-deferred-message}
Para recuperar qualquer mensagem previamente adiada, chame getDeferredInAppMessage().
6. Exiba a mensagem adiada {#6-display-the-deferred-message}
Após recuperar uma mensagem adiada, exiba-a passando-a para showInAppMessage(message).
7. Exiba uma mensagem imediatamente {#7-display-a-message-immediately}
Para mostrar uma mensagem em vez de adiá-la, chame showInAppMessage(message) diretamente no seu retorno de chamada subscribeToInAppMessage.
Pré-requisitos
Antes de usar este recurso, você precisará integrar o SDK Android Braze. Você também precisará ativar mensagens no app para Android.
Adiar e restaurar mensagens acionadas para Android

Estamos testando este novo formato de tutorial. Diga-nos o que você acha — seus comentários nos ajudam a melhorar os guias futuros.
1. Crie uma instância singleton de Application {#1-create-a-singleton-application-instance}
Use um objeto companion para expor sua classe Application como um singleton para que possa ser acessada mais tarde no seu código.
2. Ative a depuração (opcional)
Para facilitar a solução de problemas durante o desenvolvimento, considere ativar a depuração.
3. Registre retornos de chamada do ciclo de vida da atividade {#3-register-activity-lifecycle-callbacks}
Registre o listener padrão da Braze para gerenciar o ciclo de vida da mensagem no app.
4. Configure um listener de mensagem no app {#4-set-up-an-in-app-message-listener}
Use BrazeInAppMessageManager para definir um listener personalizado que intercepta mensagens antes de serem exibidas.
5. Crie lógica condicional {#5-create-conditional-logic}
Use a flag showMessage para controlar o momento — retorne DISPLAY_NOW para exibir a mensagem agora ou DISPLAY_LATER para adiá-la.
6. Crie um método para exibir mensagens adiadas {#6-create-a-method-for-displaying-deferred-messages}
Use showDeferredMessage para disparar a próxima mensagem no app. Quando showMessage estiver true, o listener retornará DISPLAY_NOW.
7. Dispare o método a partir da sua interface {#7-trigger-the-method-from-your-ui}
Para exibir a mensagem que foi adiada anteriormente, chame showDeferredMessage(true) a partir da sua interface, como um botão ou toque.
Pré-requisitos
Antes de poder usar esse recurso, você precisará integrar o Swift Braze SDK. Você também precisará ativar mensagens no app para Swift.
Adiar e restaurar mensagens acionadas para Swift

Estamos testando este novo formato de tutorial. Diga-nos o que você acha — seus comentários nos ajudam a melhorar os guias futuros.
1. Implemente o BrazeInAppMessageUIDelegate {#1-implement-the-brazeinappmessageuidelegate}
Na sua classe AppDelegate, implemente o BrazeInAppMessageUIDelegate para que você possa sobrescrever seu método inAppMessage mais tarde.
2. Ative a depuração (opcional)
Para facilitar a solução de problemas durante o desenvolvimento, considere ativar a depuração.
3. Configure sua interface Braze e o delegate {#3-set-up-your-braze-ui-and-delegate}
BrazeInAppMessageUI() renderiza mensagens no app por padrão. Ao atribuir self como seu delegate, você pode interceptar e lidar com mensagens antes que sejam exibidas. Certifique-se de salvar a instância, pois você precisará dela mais tarde para restaurar mensagens adiadas.
4. Sobrescreva DisplayChoice com lógica condicional {#4-override-displaychoice-with-conditional-logic}
Sobrescreva inAppMessage(_:displayChoiceForMessage:) para determinar quando uma mensagem deve ser exibida. Retorne .now para mostrá-la imediatamente, ou .reenqueue para adiá-la para depois.
5. Crie um método para mostrar mensagens adiadas {#5-create-a-method-to-show-deferred-messages}
Crie um método que chama showDeferredMessage(true) para exibir a próxima mensagem adiada na pilha. Quando chamado, showMessage é definido como true, fazendo com que o delegate retorne .now.
6. Dispare o método a partir da sua interface {#5-trigger-the-method-from-your-ui}
Para exibir a mensagem que foi adiada anteriormente, chame showDeferredMessage(true) a partir da sua interface, como um botão ou toque.