Perguntas frequentes
Este artigo fornece respostas para algumas perguntas frequentes sobre mensagens no app.
O que é uma mensagem no navegador e como ela difere de uma mensagem no app?
Mensagens no navegador são mensagens no app enviadas para navegadores web. Para criar uma mensagem no navegador, selecione Web Browser no campo Send To ao criar sua Campaign de mensagem no app ou Canvas.
Uma mensagem no app é exibida se o dispositivo estiver offline?
Depende. Como as mensagens no app são entregues no início da sessão, se o dispositivo conseguir baixar a carga útil antes de ficar offline, a mensagem no app ainda poderá ser exibida enquanto estiver offline. Se a carga útil não for baixada, a mensagem no app não será exibida.
Se um usuário já tem uma carga útil de mensagem no app em seu dispositivo e a expiração da mensagem é alterada, a expiração é atualizada no dispositivo?
Quando um usuário inicia uma sessão, a Braze verifica se houve alterações em qualquer mensagem no app para a qual ele é elegível e as atualiza de acordo. Então, se a expiração foi alterada e ele registra uma sessão, a mensagem no app é enviada ao dispositivo com as informações atualizadas.
Como configuro o horário de silêncio para uma campanha de mensagem no app?
O recurso de horário de silêncio não está disponível para uso com campanhas de mensagem no app. Esse recurso é usado para evitar que mensagens sejam enviadas aos seus usuários durante horários específicos. Para campanhas de mensagem no app, seus usuários recebem mensagens no app apenas se estiverem ativos dentro do app.
Como alternativa para enviar mensagens no app durante um horário específico, use o seguinte código Liquid de exemplo. Isso permite que a mensagem seja interrompida se a mensagem no app for exibida após 19h59 ou antes das 8h no fuso horário especificado.
{% assign time = 'now' | time_zone: ${time_zone} %}{% assign hour = time | date: '%H' | plus: 0 %}
{% if hour > 19 or hour < 8 %}
{% abort_message("Outside allowed time window") %}
{% endif %}
MESSAGE HERE
Os usuários podem receber uma mensagem no app novamente após descartá-la?
Campaigns
Para mensagens no app em Campaigns, você pode permitir que os usuários se tornem elegíveis para receber a Campaign novamente ativando a reelegibilidade em Controles de Entrega (Permitir que os usuários se tornem reelegíveis para receber a Campaign). A rapidez com que podem recebê-la novamente depende da janela de reelegibilidade que você definir e de como a Braze registrou o envio anterior. Consulte Reelegibilidade para Campaigns e Canvas para o comportamento de Campaigns, incluindo como a reelegibilidade se relaciona com o recebimento da mensagem.
Se a reelegibilidade estiver desativada, os usuários geralmente não receberão essa mesma Campaign novamente com base apenas nos critérios de qualificação após já terem recebido.
Canvas
Para mensagens no app enviadas a partir de um Canvas, a possibilidade de o usuário ver a mensagem novamente depende dos controles de entrada do Canvas (como permitir que os usuários entrem novamente no Canvas) e da configuração da etapa — não apenas dos controles de entrega da Campaign.
Quando a elegibilidade para uma mensagem no app é calculada?
A elegibilidade para uma mensagem no app é calculada no momento da entrega. Se uma mensagem no app está agendada para envio às 7h, a elegibilidade é verificada para essa mensagem no app às 7h.
Quando a mensagem no app é exibida, a elegibilidade depende de quando a mensagem no app foi baixada e disparada.
Por que minha Campaign de mensagem no app arquivada ainda está entregando impressões de mensagem no app?
Isso pode ocorrer para usuários que atenderam aos critérios do Segment quando a Campaign de mensagem no app estava ativa.
Para evitar isso, durante a configuração da sua Campaign, selecione Re-evaluate campaign eligibility before displaying.
Por que não vejo aberturas para mensagens no app?
Mensagens no app não utilizam a métrica Aberturas. A Braze registra Impressões quando a mensagem se torna visível na tela e Cliques quando os usuários interagem com o corpo da mensagem ou com os botões. Se uma exportação ou relatório multicanal incluir linhas de mensagens no app, compare Impressões e Cliques em vez de aberturas no estilo de e-mail. Para conferir as definições, consulte Relatórios de mensagens no app.
Várias mensagens no app podem ser exibidas na mesma sessão?
Sim, mas apenas uma mensagem no app pode ser exibida por ocorrência de um evento-gatilho. Se várias Campaigns de mensagem no app compartilham o mesmo gatilho (por exemplo, início de sessão), apenas a mensagem com maior prioridade é exibida cada vez que esse gatilho ocorre. Para gatilhos de início de sessão, isso significa que apenas uma mensagem pode ser exibida por sessão, e a próxima oportunidade de mostrar outra mensagem elegível é na sessão seguinte.
Quando várias mensagens compartilham o mesmo nível de prioridade, a mensagem criada mais recentemente é exibida primeiro. Para gatilhos de início de sessão, a próxima mensagem mais recente é exibida em uma sessão subsequente; para outros tipos de gatilho, a próxima mensagem mais recente é exibida na próxima vez que o evento-gatilho ocorrer, o que pode ser dentro da mesma sessão ou em uma sessão posterior.
Para controlar a ordem de exibição dentro de um grupo de prioridade, acesse as configurações de entrega de qualquer uma das Campaigns e selecione Set exact priority. Em seguida, arraste e solte as Campaigns na ordem desejada. Para saber mais, consulte Escolher uma prioridade.
Como as impressões e os cliques de mensagens no app são registrados?
Consulte Relatórios de mensagens no app para saber como as impressões e os cliques são registrados por ação do usuário. Para exemplos específicos de mensagens em tela inteira criadas com o editor tradicional, consulte Métricas de mensagens em tela inteira por ação do usuário.
Como a Braze calcula a expiração de uma mensagem no app definida como “após 1 dia(s)”?
A Braze calcula o tempo de expiração de um dia como 24 horas após os usuários se tornarem elegíveis para receber uma mensagem.
O que são mensagens no app com modelo?
As mensagens no app são entregues como mensagens no app com modelo quando a opção Reavaliar a elegibilidade da campanha antes de exibir está selecionada ou se qualquer uma das seguintes Liquid tags existir na mensagem:
canvas_entry_propertiesconnected_content- Variáveis de SMS como
{sms.${*}} catalog_itemscatalog_selection_itemsevent_properties
A Braze também usa a entrega com modelo para Campaigns de mensagens no app sem atividades (Campaigns que ainda estão ativas, mas não estão mais enviando ou não são mais necessárias). Essas Campaigns continuam seguindo suas regras de público e disparo configuradas.
A Braze também pode usar a entrega com modelo para proteger a performance do app. Se a preparação do conteúdo Liquid atrasar a resposta de uma sessão por mais de alguns segundos, a Braze adia o trabalho restante. Essas mensagens são renderizadas quando disparadas.
Isso significa que, durante o início da sessão, o dispositivo recebe o gatilho dessa mensagem no app em vez da mensagem inteira. Quando o usuário dispara a mensagem no app, o dispositivo faz uma solicitação de rede para buscar a mensagem real.

A mensagem não será entregue se o dispositivo não tiver acesso à internet. A mensagem pode não ser entregue se a lógica do Liquid demorar muito para ser resolvida.
Para reduzir a quantidade de Liquid que a Braze processa no início da sessão, consulte Otimizar a performance de mensagens no app.
Como funciona o comportamento de interrupção para mensagens no app?
Na Braze, uma interrupção ocorre quando um usuário realiza uma ação que o torna elegível para receber uma mensagem, mas não a recebe porque a lógica Liquid a marca como inelegível. Por exemplo:
- Sam realiza uma ação que deveria disparar uma Campaign de e-mail.
- O corpo do e-mail contém lógica Liquid que diz: se o atributo personalizado score for menor que 50, não envie este e-mail.
- O atributo personalizado score de Sam é 20.
- A Braze reconhece que Sam não deveria receber este e-mail, e o e-mail é interrompido.
- Um evento de interrupção é registrado.
No entanto, como mensagens no app são um canal de pull, as interrupções funcionam de forma um pouco diferente para elas.
Comportamento padrão de interrupção de mensagens no app
Mensagens no app são puxadas pelo dispositivo no início da sessão e armazenadas em cache no dispositivo, de modo que, independentemente da qualidade da conexão com a internet, a mensagem pode ser entregue instantaneamente ao usuário. Por exemplo, se um usuário recebe cinco mensagens no app durante a sessão, todas as cinco são recebidas no início da sessão. As mensagens são armazenadas localmente em cache e aparecem quando os eventos-gatilho definidos ocorrem (início de sessão, usuário clica em um botão que registra um evento personalizado, ou outro).
Em outras palavras, a lógica que determina se uma mensagem no app deve ser interrompida ocorre antes de o gatilho ter ocorrido. Para demonstrar isso, vamos supor que Sam, do exemplo de e-mail, está inscrito para notificações por push.
- Sam inicia uma sessão abrindo um app integrado com a Braze no celular.
- Com base nos critérios de público das Campaigns ativas no espaço de trabalho, Sam pode ser elegível para cinco Campaigns diferentes. Todas as cinco são puxadas para o celular e armazenadas em cache.
- Sam não realizou nenhuma ação que dispararia essas mensagens, mas poderia recebê-las durante a sessão.
- O Liquid em duas das mensagens no app tem regras que excluem Sam de receber a mensagem (como o atributo personalizado score não ser alto o suficiente).
- Sam não recebe as duas mensagens no app que o excluem, mas recebe as outras três.
- Nenhum evento de interrupção é registrado.
A Braze não registra nenhum evento de interrupção no caso de Sam porque isso não atende à definição de interrupção; Sam não realizou nenhuma ação que dispararia as mensagens. Para mensagens no app, os usuários nunca realizam de fato o gatilho antes de a Braze determinar que eles não devem ver a mensagem.
Comportamento de interrupção de mensagens no app com modelo
Mensagens no app com modelo forçam o SDK a reavaliar se uma mensagem deve ser exibida quando o evento-gatilho ocorre. Isso gera um comportamento de interrupção diferente. Para demonstrar, considere este exemplo:
- Sam inicia uma sessão na Braze abrindo um app integrado com a Braze no celular.
- Os critérios de público das Campaigns ativas dizem que Sam pode ser elegível para uma mensagem no app com modelo, então as informações de gatilho são enviadas ao dispositivo sem a carga útil da mensagem.
- Sam seleciona um botão que registra um evento personalizado, disparando a mensagem no app com modelo.
- O dispositivo de Sam faz uma requisição de rede para buscar a mensagem no app.
- A lógica Liquid da mensagem resulta em uma interrupção, então a Braze registra isso como interrupção; Sam realizou a ação-gatilho antes dessa avaliação.
Comparando o comportamento de interrupção de mensagens no app
Esta tabela compara os fluxos de mensagens no app que Sam experimentou:
| Mensagem no app | Comportamento de interrupção |
|---|---|
| Padrão | Um evento de interrupção não foi registrado porque Sam não realizou nenhuma ação que dispararia uma mensagem. Mensagens no app padrão não registram interrupções porque a definição de interrupção é “não viu a mensagem apesar de ter realizado a ação-gatilho”. Como mensagens no app são entregues ao dispositivo antes de as ações-gatilho ocorrerem, não faz sentido considerar mensagens no app omitidas por causa da lógica Liquid. |
| Com modelo | Um evento de interrupção foi registrado porque Sam realizou a ação-gatilho para disparar a mensagem no app com modelo, mas recebeu uma interrupção na modelagem Liquid. Mensagens no app com modelo registram interrupções porque a avaliação Liquid ocorre após a ação-gatilho ter sido realizada. |
Quando o Connected Content é executado para mensagens no app?
Para mensagens no app com modelo, o Connected Content e outras tags Liquid são resolvidos quando o evento-gatilho ocorre e o dispositivo solicita a carga útil da mensagem — não quando o usuário clica em um botão dentro da mensagem. Cada busca com modelo pode incluir chamadas de Connected Content para essa exibição.
Se o seu HTML faz referência a dados REST retornados pelo Connected Content, esses dados ficam disponíveis para a sessão em que a mensagem foi modelada. Múltiplos botões podem referenciar a mesma resposta do Connected Content sem disparar chamadas adicionais ao clicar.
Qual é o atraso máximo após um gatilho para Campaigns de mensagens no app?
Campaigns de mensagens no app podem atrasar a entrega após o evento-gatilho em até duas horas (7.200 segundos). As opções de atraso são Imediatamente e Após um atraso. Para uma espera mais longa, adicione uma etapa de Postergação antes de uma etapa de mensagem no app em um Canvas. Para configuração de atraso, consulte Entrega baseada em ação.
Por que existe um atraso antes de minha mensagem no app ser exibida?
Mensagens no app padrão são exibidas assim que a carga útil em cache estiver pronta após o evento-gatilho. No Android e iOS, imagens grandes ou outros ativos hospedados em CDN referenciados na mensagem podem adicionar um pequeno atraso enquanto esses recursos terminam de ser baixados antes de a mensagem no app aparecer.
Mensagens no app com modelo e Campaigns com a opção Reavaliar elegibilidade da campanha antes de exibir selecionada exigem uma requisição de rede adicional após o gatilho antes de a mensagem aparecer. Isso pode adicionar um pequeno atraso (normalmente inferior a 100 ms em uma conexão estável). Para saber mais, consulte Escolher usuários-alvo.
Por que minha mensagem no app parece diferente da prévia no dashboard?
Mensagens no app entregues podem diferir da prévia no dashboard quando:
- Sua integração aplica estilos personalizados ou sobrescreve a interface padrão de mensagens no app em determinadas plataformas
- A prévia usa um perfil de usuário teste com atributos diferentes dos do destinatário
- O conteúdo com modelo é resolvido de forma diferente no momento do envio em comparação com o modo de prévia
Use Enviar mensagens de teste com um usuário teste cujo perfil corresponda ao seu público-alvo ao validar a aparência.
Por que uma mensagem no app de várias páginas usa o mesmo fundo em todas as páginas?
Quando a opção Imagem de fundo está ativada em uma página de uma mensagem no app de várias páginas, esse fundo é aplicado a todas as páginas da mensagem. Para usar fundos diferentes por página, use um bloco HTML personalizado com JavaScript para trocar as imagens entre as páginas.
Como testo mensagens no app na web?
O envio de testes de mensagens no app na web requer que o push esteja ativado no dispositivo de teste, pois o fluxo de teste entrega uma notificação por push que abre o app ou site onde a mensagem no app é exibida. O mesmo caminho de teste baseado em push se aplica a qualquer plataforma em que o push não esteja configurado com a Braze, embora a ausência de push seja mais frequentemente encontrada na web, já que muitas integrações móveis já possuem push ativado. Use uma Campaign ativa direcionada a um Segment de teste interno. Para as etapas, consulte Enviar mensagens de teste.
Mensagens no app exigem integração com push?
Mensagens no app não exigem notificações por push para funcionar em produção. Mensagens no app são entregues pelo SDK da Braze e aparecem durante uma sessão ativa do app sem a necessidade de integração com push.
No entanto, envios de teste para mensagens no app exigem que o push esteja ativado nos seus dispositivos de teste. Isso ocorre porque mensagens no app de teste são entregues por meio de uma notificação por push que dispara a exibição da mensagem no app. O usuário teste deve ter o push ativado e deve tocar na notificação por push de teste para visualizar a mensagem no app.
Para Campaigns em produção, os usuários veem mensagens no app com base nos gatilhos da Campaign (como início de sessão ou eventos personalizados) sem envolvimento de push.
Por que caracteres extras ou não renderizados aparecem na minha mensagem no app?
Copiar texto de outro app (como um processador de texto ou página web) pode inserir caracteres invisíveis ou não imprimíveis no corpo da mensagem. Esses caracteres podem aparecer como símbolos deslocados ou quebrar o Liquid e o HTML em mensagens personalizadas.
Para corrigir caracteres deslocados ou não renderizados, redigite o texto afetado no editor da Braze, ou exclua os caracteres indesejados diretamente em vez de selecionar e substituir apenas o texto visível. Para mensagens HTML personalizadas com caracteres especiais, adicione <meta charset="UTF-8"> dentro do <head> do seu HTML. Consulte Codificação de caracteres para mais detalhes.
Por que o botão de fechar fica oculto em mensagens no app HTML em tela inteira no Android?
Em dispositivos com telas de borda a borda (incluindo Android 15+), mensagens no app HTML em tela inteira podem ser desenhadas atrás da barra de status do sistema e ocultar o controle de fechar na parte superior do layout.
O SDK da Braze para Android versão 37.0.0 e posteriores aplicam insets de janela às mensagens no app HTML por padrão, para que os controles permaneçam na área segura. Se os usuários ainda visualizarem sobreposição, faça upgrade para a versão mais recente do SDK da Braze para Android.
Em versões mais antigas do SDK, os desenvolvedores podiam ativar BrazeConfig.setIsHtmlInAppMessageApplyWindowInsetsEnabled(true) antes de esse comportamento se tornar o padrão.
O que devo saber ao personalizar mensagens no app com arrastar e soltar?
O editor de arrastar e soltar suporta os tipos de exibição modal e tela inteira. Você cria o conteúdo dentro desses contêineres usando blocos do editor.
Tenha em mente:
- Links e deep links: Cada ação ao clicar tem um campo de URL por padrão. Use Liquid na URL para variar os links por dispositivo, tipo de app ou atributos do usuário. No Contêiner de mensagem, você também pode ativar o comportamento ao clicar específico por plataforma para definir links diferentes por plataforma.
- Opacidade e fundos: A opacidade no contêiner de mensagem afeta todo o fundo da mensagem. Blocos individuais podem definir suas próprias cores de fundo. Para um controle mais refinado, adicione CSS personalizado em um bloco de Código Personalizado.
- Largura da mensagem: A largura máxima do Contêiner de mensagem não pode ser definida abaixo de 325 px no editor, o que mantém o conteúdo legível em telas menores. Use CSS personalizado se precisar de um layout mais estreito.
- Fundos específicos por plataforma: Uma única mensagem usa a mesma imagem de fundo e as mesmas cores na web e no celular. Não é possível definir fundos diferentes por plataforma no editor.
- Mensagens com várias páginas: Imagens de fundo e ações ao clicar no nível da mensagem se aplicam a todas as páginas em uma mensagem com várias páginas. Para usar imagens completas diferentes em cada página, adicione botões que direcionem para a próxima página.
- Estilos no nível da mensagem: Estilos no nível da mensagem se aplicam à mensagem inteira.
- Imagens de fundo: As imagens de fundo se esticam para preencher o modal.
Para saber mais sobre considerações do editor, consulte o Guia de preparação de mensagens no app.
O que significa “Event was published, but no subscribers were found” nos logs do SDK Android?
Essa linha de log geralmente não é um erro. Ela costuma aparecer quando a Braze publica um evento interno (como NoMatchingTriggerEvent) e nenhum listener de mensagem no app ou de Content Cards está inscrito naquele momento.
Se você vir esse log quando espera que um evento personalizado dispare uma mensagem no app, confirme se o evento está sendo registrado, se o usuário está no público da Campaign ou do Canvas e se os Content Cards estão sincronizados quando a mensagem depende deles.