Skip to content

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 no 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 quaisquer mensagens no app para as quais ele é elegível e as atualiza de acordo. Portanto, se a expiração foi alterada e o usuário 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 impedir 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 somente 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 as 19:59 ou antes das 8:00 no fuso horário especificado.

1
2
3
4
5
{% 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 Campaigns de mensagens no app, 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). O tempo para que possam 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 saber sobre o comportamento de Campaigns, incluindo como a reelegibilidade se relaciona com o recebimento de mensagens.

Se a reelegibilidade estiver desativada, os usuários geralmente não receberão a mesma Campaign novamente apenas com base nos critérios de qualificação após tê-la 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 reentrem no Canvas) e da configuração da sua etapa — e 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 aparece, a elegibilidade depende de quando a mensagem no app é 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 multicanal ou relatório incluir linhas de mensagens no app, compare Impressões e Cliques em vez de aberturas no estilo de e-mail. Para 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 mensagens no app compartilham o mesmo gatilho (por exemplo, início de sessão), apenas a mensagem de 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 impressões e 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 modeladas?

As mensagens no app são entregues como mensagens no app modeladas quando a opção Reavaliar a elegibilidade da campanha antes de exibir está selecionada ou se alguma das seguintes Liquid tags existir na mensagem:

  • canvas_entry_properties
  • connected_content
  • Variáveis de SMS como {sms.${*}}
  • catalog_items
  • catalog_selection_items
  • event_properties

A Braze também usa a entrega modelada para Campaigns de mensagem no app sem atividades (Campaigns que ainda estão ativas, mas que não estão mais enviando ou não são mais necessárias). Essas Campaigns continuam seguindo suas regras de público e de disparo configuradas.

A Braze também pode usar a entrega modelada para proteger a performance do app. Se a preparação do conteúdo Liquid atrasar a resposta de uma sessão em 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.

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 ele não a recebe porque a lógica Liquid o marca como inelegível. Por exemplo:

  1. Sam realiza uma ação que deveria disparar uma Campaign de e-mail.
  2. O corpo do e-mail contém lógica Liquid que diz: se um atributo personalizado de pontuação for menor que 50, não envie este e-mail.
  3. A pontuação do atributo personalizado de Sam é 20.
  4. A Braze reconhece que Sam não deveria receber este e-mail, e o e-mail é interrompido.
  5. Um evento de interrupção é registrado.

No entanto, como as mensagens no app são um canal pull, as interrupções funcionam de maneira um pouco diferente para elas.

Comportamento padrão de interrupção de mensagens no app

As mensagens no app são puxadas pelo dispositivo no início da sessão e armazenadas em cache no dispositivo. Assim, 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 em cache localmente e aparecem quando os eventos-gatilho definidos ocorrem (início de sessão, o usuário clica em um botão que registra um evento personalizado, entre outros).

Em outras palavras, a lógica que determina se uma mensagem no app deve ser interrompida ocorre antes de o gatilho ter acontecido. Para demonstrar isso, vamos supor que Sam, do exemplo do e-mail, está inscrito para notificações por push.

  1. Sam inicia uma sessão abrindo um app com Braze no celular.
  2. 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.
  3. Sam não realizou nenhuma ação que dispararia essas mensagens, mas poderia recebê-las durante a sessão.
  4. O Liquid em duas das mensagens no app tem regras que excluem Sam de receber a mensagem (como o atributo personalizado de pontuação não ser alto o suficiente).
  5. Sam não recebe as duas mensagens no app que o excluem, mas recebe as outras três.
  6. 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 chegam a realizar o gatilho antes de a Braze determinar que eles não devem ver a mensagem.

Comportamento de interrupção de mensagens no app com template

Mensagens no app com template 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:

  1. Sam inicia uma sessão da Braze abrindo um app com Braze no celular.
  2. Os critérios de público das Campaigns ativas dizem que Sam pode ser elegível para uma mensagem no app com template, então as informações do gatilho são enviadas ao dispositivo sem a carga útil da mensagem.
  3. Sam seleciona um botão que registra um evento personalizado, disparando a mensagem no app com template.
  4. O dispositivo de Sam faz uma requisição de rede para buscar a mensagem no app.
  5. A lógica Liquid da mensagem leva a uma interrupção, então a Braze registra isso como uma 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 as 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 template Um evento de interrupção foi registrado porque Sam realizou a ação-gatilho para disparar a mensagem no app com template, mas recebeu uma interrupção no template Liquid.

Mensagens no app com template registram interrupções porque a avaliação do 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 template, 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 template pode incluir chamadas de Connected Content para aquela exibição.

Se o seu HTML referencia dados REST retornados pelo Connected Content, esses dados ficam disponíveis para a sessão em que a mensagem recebeu o template. 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 por até duas horas (7.200 segundos). As opções de atraso são Imediatamente e Após um atraso. Para uma espera maior, 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 há 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 template e Campaigns com a opção Reavaliar elegibilidade da campanha antes de exibir selecionada requerem uma requisição de rede adicional após o gatilho antes de a mensagem aparecer. Isso pode adicionar um pequeno atraso (normalmente abaixo de 100 ms em uma conexão estável). Para saber mais, consulte Escolher usuários para direcionar.

Por que minha mensagem no app parece diferente da prévia no dashboard?

As 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 certas plataformas
  • A prévia usa um perfil de usuário teste com atributos diferentes dos do destinatário
  • O conteúdo com template é resolvido de forma diferente no momento do envio em relação ao 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 múltiplas páginas usa o mesmo fundo em todas as páginas?

Quando a Imagem de fundo está ativada em uma página de uma mensagem no app de múltiplas páginas, esse fundo é aplicado a todas as páginas da mensagem. Para usar fundos diferentes por página, utilize um bloco HTML personalizado com JavaScript para alternar imagens entre as páginas.

Como posso testar mensagens no app para web?

Envios de teste de mensagens no app para web requerem 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 em qualquer plataforma onde o push não está configurado com a Braze, embora a ausência de push seja mais frequentemente encontrada na web porque muitas integrações mobile já têm o push ativado. Use uma campanha ativa para um Segment de teste interno em vez disso. Para os passos, consulte Enviar mensagens de teste.

Mensagens no app requerem integração de push?

Mensagens no app não requerem notificações por push para funcionar em produção. As mensagens no app são entregues pelo SDK da Braze e aparecem durante uma sessão ativa do app sem necessidade de integração de push.

No entanto, envios de teste de mensagens no app requerem que o push esteja ativado nos seus dispositivos de teste. Isso ocorre porque as 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 tocar na notificação por push de teste para visualizar a mensagem no app.

Para Campaigns em produção, os usuários veem as mensagens no app com base nos gatilhos da sua Campaign (como início de sessão ou eventos personalizados) sem que o push esteja envolvido.

Por que aparecem caracteres extras ou não renderizados 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 sua mensagem. Esses caracteres podem aparecer como símbolos soltos ou quebrar o Liquid e o HTML em mensagens personalizadas.

Para corrigir caracteres soltos 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 renderizadas 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 a mensagens no app HTML por padrão, para que os controles permaneçam na área segura. Se os usuários ainda virem sobreposição, faça upgrade para a versão mais recente do SDK da Braze para Android.

Em versões anteriores 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 o editor de arrastar e soltar?

O editor de arrastar e soltar é compatível com os tipos de exibição modal e tela inteira. Você constrói 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 links por dispositivo, tipo de app ou atributos do usuário. No Contêiner da mensagem, você também pode ativar o comportamento ao clicar específico por plataforma para definir links diferentes para cada plataforma.
  • Opacidade e planos de fundo: A opacidade no contêiner da mensagem afeta todo o plano de fundo da mensagem. Blocos individuais podem definir suas próprias cores de fundo. Para um controle mais preciso, adicione CSS personalizado em um bloco de Código Personalizado.
  • Largura da mensagem: A largura máxima do Contêiner da 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.
  • Planos de fundo específicos por plataforma: Uma única mensagem usa a mesma imagem de fundo e as mesmas cores na web e no mobile. Não é possível definir planos de fundo 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 de 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 para 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 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.

New Stuff!