Mensagens no app de push primer
Você tem apenas uma chance de pedir permissão de push aos usuários, então otimizar o registro de push é crucial para maximizar o alcance das suas notificações por push. Use mensagens no app para explicar que tipo de mensagens seus usuários podem esperar receber caso optem por aceitar, antes de mostrar o prompt nativo de push. Isso é chamado de push primer.

Para criar uma mensagem no app de push primer na Braze, você pode usar o comportamento ao clicar do botão “Solicitar permissão de push” ao criar uma mensagem no app para iOS, Android ou Web.
Pré-requisitos
Este recurso requer comportamento ao clicar no botão, que é compatível com as seguintes versões mínimas ou posteriores:
Além disso, observe os seguintes detalhes específicos de cada plataforma:
| Versão do SO | Informações adicionais |
|---|---|
| Android 12 e anteriores | A implementação de push primers não é recomendada, pois o push é aceito por padrão. |
| Android 13+ | Se um usuário negar o pedido de permissão de push duas vezes, o Android bloqueia outros pedidos, incluindo mensagens de push primer da Braze. Para conceder permissão após isso, os usuários devem ativar manualmente o push para o seu app nas configurações do dispositivo. |
Informações gerais
- O pedido de push pode ser exibido apenas uma vez por instalação, conforme imposto pelo sistema operacional.
- O pedido não é exibido se a configuração de push do app estiver explicitamente ativada ou desativada. Ele só é exibido para usuários com autorização provisória.
- Configuração de push do app ativada: a Braze não exibe a mensagem no app, pois o usuário já aceitou.
- Configuração de push do app desativada: você precisa redirecionar o usuário para as configurações de notificação por push do app nas configurações do dispositivo.
- Testar novamente após negar: se um usuário negar o pedido nativo, o iOS não o exibe novamente para aquela instalação do app. Para testar novamente o fluxo de push primer, os usuários normalmente precisam desinstalar e reinstalar o app, ou alterar a permissão de notificação do app em Ajustes.
Remoção manual de código
A mensagem no app que você configurou usando este tutorial chama o código de pedido de push nativo automaticamente quando um usuário clica no botão da mensagem no app. Para evitar solicitar permissão de notificação por push duas vezes, ou no momento errado, um desenvolvedor deve modificar qualquer integração de notificação por push existente que tenha implementado para garantir que sua mensagem no app seja o primeiro push primer que seus usuários vejam.
Sua equipe de desenvolvimento deve revisar a implementação de notificações por push do seu app ou site e remover manualmente qualquer código que solicite permissão de push. Por exemplo, remova referências ao seguinte código:
requestAuthorizationWithOptions
requestAuthorization
braze.requestPushPermission()
// or
appboy.registerAppboyPushMessages()
android.permission.POST_NOTIFICATIONS
Etapa 1: Crie uma mensagem no app
Primeiro, crie uma mensagem no app e selecione o tipo e o layout da sua mensagem.
Para garantir que você tenha espaço suficiente tanto para a mensagem quanto para os botões, use um layout de mensagem em tela cheia ou modal. Se você escolher tela cheia, note que uma imagem é obrigatória.
Etapa 2: Crie sua mensagem
Agora é hora de adicionar seu texto! Lembre-se de que um push primer deve preparar o usuário para ativar as notificações por push. No corpo da mensagem, sugerimos destacar os motivos pelos quais seus usuários devem ativar as notificações por push. Seja específico sobre o tipo de notificações que você deseja enviar e o valor que elas podem oferecer.
Por exemplo, um app de notícias pode usar o seguinte push primer:
Breaking news on the go! Enable push notifications to get alerts for major stories and topics that matter to you.
Já um app de streaming pode usar o seguinte:
Get push notifications from Movie Cannon? Notifications may include new movies, TV shows, or other notices and can be turned off at any time.
Para práticas recomendadas e recursos adicionais, consulte Criando pedidos de aceitação personalizados.
Etapa 3: Especificar o comportamento dos botões
Para adicionar botões à sua mensagem no app, arraste dois blocos de Botão para a mensagem, que funcionam como os botões primário e secundário na sua mensagem no app. Você também pode arrastar uma linha para a mensagem e depois arrastar os botões para dentro da linha, para que os botões fiquem na mesma linha horizontal (em vez de empilhados um sobre o outro). Recomendamos “Permitir notificações” e “Agora não” como botões iniciais, mas há muitos prompts de botão diferentes que você pode atribuir.
Depois de adicionar o texto dos botões, especifique o comportamento ao clicar de cada botão:
- Botão 1: Defina como “Fechar mensagem”. Este é o botão secundário, ou a opção “Agora não”.
- Botão 2: Defina como “Solicitar permissão de push”. Este é o botão primário, ou a opção “Permitir notificações”.

Etapa 4: Agendar a entrega
Para configurar o push primer para enviar no momento certo, você precisa agendar sua mensagem no app como uma mensagem baseada em ação, com Perform Custom Event como a ação-gatilho.
Embora o momento ideal varie, a Braze sugere esperar até que o usuário conclua algum tipo de ação de alto valor, indicando que ele está começando a ver valor no seu app ou site, ou quando há uma necessidade relevante que as notificações por push possam atender (como, por exemplo, depois de ter feito um pedido, quando você deseja oferecer informações de rastreamento de envio). Dessa forma, a solicitação é benéfica para o cliente, e não apenas para a sua marca.

Etapa 5: Direcionar usuários
O objetivo de uma campanha de push primer é solicitar permissão aos usuários em qualquer dispositivo em que eles ainda não tenham concedido permissões de push. Isso pode incluir usuários de primeira vez ou usuários existentes que adquirem um novo dispositivo ou reinstalam seu aplicativo.

Supressão automática com push primer sem código: Se você usar o push primer sem código (a ação de botão “Request Push Permission”), não é necessário adicionar filtros de inscrição de push à sua segmentação. O SDK suprime automaticamente a mensagem no app em dispositivos com base no estado de permissão de push. Para detalhes sobre quando o primer é exibido ou suprimido em cada plataforma, consulte Quando o push primer é exibido. Para saber mais sobre o direcionamento de usuários com múltiplos dispositivos, consulte Direcionamento de usuários com múltiplos dispositivos.
Se você não estiver usando o push primer sem código, adicione um filtro em que Foreground Push Enabled For App is false. Esse filtro identifica instalações individuais do app que ainda não aceitaram receber notificações por push em primeiro plano.

Usar um filtro no nível do usuário como Push Subscription Status is not Opted In exclui usuários que já aceitaram em outro dispositivo, impedindo que recebam a solicitação no novo dispositivo.
Além disso, você pode decidir quais Segments adicionais considera mais apropriados. Por exemplo, você pode direcionar usuários que concluíram uma segunda compra, usuários que acabaram de criar uma conta para se tornarem membros, ou até mesmo usuários que visitam seu app mais de duas vezes por semana. Direcionar usuários para esses Segments cruciais aumenta a probabilidade de eles aceitarem e se tornarem habilitados para push.
Quando o push primer é exibido
Quando você usa o push primer sem código (a ação de botão “Request Push Permission”), o SDK da Braze verifica automaticamente o estado de permissão de push do dispositivo e determina se deve exibir ou suprimir a mensagem no app. Isso acontece no nível do dispositivo antes de a mensagem ser exibida, então não é necessário adicionar filtros de segmentação adicionais para controlar esse comportamento.
As tabelas a seguir mostram quando a mensagem no app do push primer é exibida ou suprimida em cada plataforma:
iOS (Swift SDK)
| Status de autorização | Primer exibido? | Notas |
|---|---|---|
notDetermined |
Sim | O usuário ainda não respondeu à solicitação de push |
denied |
Não | O SDK suprime automaticamente o primer porque o iOS permite a solicitação de permissão nativa apenas uma vez. Após a negação, tocar em “Permitir” não consegue disparar a solicitação nativa. |
provisional |
Sim | O dispositivo tem autorização provisória |
ephemeral |
Sim | O dispositivo tem autorização efêmera |
authorized |
Não | O usuário já concedeu permissão de push |
Android (Android SDK)
| Estado | Primer exibido? | Notas |
|---|---|---|
| Android < 13 | Não | Não existe solicitação no nível do sistema operacional no Android 12 e anteriores (push é aceitação por padrão) |
targetSdkVersion do app < 13 |
Não | O app não utiliza o modelo de permissão em tempo de execução |
POST_NOTIFICATIONS já concedida |
Não | O usuário já concedeu a permissão |
| Negação permanente | Não | O usuário negou a permissão duas (ou mais) vezes, e shouldShowRequestPermissionRationale retorna false |
| Android 13+, permissão ainda não concedida, elegível para solicitação | Sim | O dispositivo é elegível para exibir a solicitação de permissão do sistema operacional |
O SDK Android verifica a versão do sistema operacional, a versão do SDK alvo, o estado da permissão e se o sistema operacional realmente exibiria a solicitação (por meio de shouldShowRequestPermissionRationale).
Web (Web SDK)
Notification.permission |
Push suportado | Primer exibido? | Notas |
|---|---|---|---|
"default" |
Sim | Sim | O usuário ainda não respondeu à solicitação de permissão |
"granted" |
Qualquer | Não | O usuário já concedeu a permissão |
"denied" |
Qualquer | Não | O usuário bloqueou as notificações. Diferente do iOS, o estado "denied" na Web não pode ser recuperado pelo navegador (não existe equivalente a um deep link para Configurações), então o SDK suprime o primer. |
"default" |
Não | Não | O navegador não suporta notificações por push |
Direcionamento de usuários com múltiplos dispositivos
Como a Braze captura dados de usuários no nível do perfil e não no nível do dispositivo, direcionar usuários que possuem múltiplos dispositivos pode ser desafiador. Os filtros de inscrição de push na segmentação incluem ou excluem usuários com base no estado de inscrição de um único dispositivo, e não no estado de inscrição do dispositivo específico que está sendo direcionado. Além disso, os estados provisórios no iOS adicionam complexidade, já que esses dispositivos tecnicamente possuem tokens de push em primeiro plano, mas os usuários não aceitaram explicitamente.
O problema com filtros de inscrição de push
Quando um usuário possui múltiplos dispositivos com diferentes estados de inscrição de push, os filtros de inscrição de push na sua segmentação podem falhar ao direcionar alguns dispositivos. Considere estes cenários:
Cenário 1: Usuário possui dois dispositivos em plataformas diferentes
O usuário possui dois dispositivos:
- Dispositivo A: Android, com push aceito
- Dispositivo B: iOS, sem push aceito
Filtros de Segment que não funcionam:
Push enabled = false- O usuário está com push habilitado no dispositivo Android, então não se enquadra no Segment. O Segment não inclui o dispositivo iOS.Push subscription status is not opted in- O usuário está com push habilitado no dispositivo Android, então não se enquadra no Segment. O Segment não inclui o dispositivo iOS.
Filtros de Segment que funcionam:
Push enabled for iOS = false- O usuário está com push habilitado no dispositivo Android, mas estamos direcionando apenas dispositivos iOS, então o usuário se enquadra no Segment. O Segment inclui o dispositivo iOS.
Cenário 2: Usuário possui dois dispositivos iOS com estados diferentes
O usuário possui dois dispositivos iOS:
- Dispositivo A: com push aceito
- Dispositivo B: provisoriamente habilitado, mas sem aceitação explícita
Filtros de Segment que não funcionam:
Push enabled = false- O dispositivo A tem push aceito, então o usuário não se enquadra no Segment. O Segment não inclui o dispositivo B.Provisionally opted in = true- O dispositivo A tem aceitação completa, o que significa que não está em estado provisório. O usuário não se enquadra no Segment. O Segment não inclui o dispositivo B.Push enabled for app > iOS = false- O dispositivo A tem push aceito no iOS, então o usuário não se enquadra no Segment. O Segment não inclui o dispositivo B.Push subscription status is not opted in- O dispositivo A tem push aceito, então o usuário não se enquadra no Segment. O Segment não inclui o dispositivo B.
Resultado: Usar qualquer combinação desses filtros de push resulta na exclusão de pelo menos um dispositivo do Segment.
Cenário 3: Usuário possui três ou mais dispositivos no mesmo sistema operacional
O usuário possui três dispositivos:
- Dispositivo A: com push aceito
- Dispositivo B: sem push aceito
- Dispositivo C: sem push aceito
Filtros de Segment que não funcionam:
Push enabled = false- O dispositivo A tem push aceito, então o usuário não se enquadra no Segment. O Segment não inclui os dispositivos B e C.Push enabled for app > X = false- O dispositivo A tem push aceito no app especificado, então o usuário não se enquadra no Segment. O Segment não inclui os dispositivos B e C.Push subscription status is not opted in- O dispositivo A tem push aceito, então o usuário não se enquadra no Segment. O Segment não inclui os dispositivos B e C.
Resultado: Usar qualquer combinação desses filtros de push deixa pelo menos um dispositivo sem direcionamento.
Solução: Use o push primer sem código
A solução recomendada é usar o push primer sem código (a ação de botão “Request Push Permission”) sem filtros adicionais de segmentação por status de push.

Supressão automática: O push primer sem código suprime automaticamente em dispositivos com base no estado de permissão de push. O SDK verifica o status específico de autorização de push do dispositivo antes de exibir a mensagem. Por exemplo, no iOS, se o SDK detectar que o usuário já concedeu autorização (.authorized), o SDK suprime automaticamente a mensagem no app sem a necessidade de filtros de segmentação adicionais. Da mesma forma, se o usuário negou explicitamente as permissões de push (.denied), o SDK também suprime o primer, já que o iOS permite que a solicitação nativa apareça apenas uma vez. O primer é exibido apenas quando o dispositivo está em um estado em que exibi-lo seria útil (como notDetermined, provisional ou ephemeral no iOS). Para a análise completa de elegibilidade por plataforma, consulte Quando o push primer é exibido.
A vantagem de usar o push primer sem código é que a funcionalidade é suportada pelo SDK da Braze. Como o SDK consegue detectar o status do token de push no dispositivo específico que exibe a mensagem, não é necessário depender de filtros de segmentação no nível do perfil que podem excluir usuários com múltiplos dispositivos.
Considerações
Push primer sem código é obrigatório: Você deve usar o push primer sem código para que a supressão automática funcione. Se você configurar lógica personalizada ou deep links em vez de usar a ação de botão “Request Push Permission”, o SDK não conseguirá identificar que você está tentando exibir um push primer. Isso resulta na exibição da mensagem independentemente do estado de inscrição daquele dispositivo.
Supressão para usuários que recusaram: O push primer sem código suprime automaticamente para usuários que negaram explicitamente as permissões de push no nível do sistema operacional (por exemplo, iOS .denied, Android com negação permanente após múltiplas solicitações e Web "denied"). No entanto, pode ser que você queira controle adicional em alguns casos. Por exemplo, no Android, um usuário pode desativar as notificações nas configurações do dispositivo sem negar permanentemente a permissão POST_NOTIFICATIONS. Se você quiser suprimir o primer para esses usuários e redirecioná-los com uma Campaign diferente, use a seguinte lógica Liquid em combinação com o primer sem código:
{% if targeted_device.${foreground_push_enabled} == false %}
{% abort_message('user turned off push notifications') %}
{% endif %}
- message goes here -
O filtro Liquid targeted_device considera apenas o dispositivo em que a mensagem está sendo exibida, em vez do perfil de usuário. Nesse dispositivo, foreground_push_enabled é definido como true quando há um token de push em primeiro plano ativo e como false quando o sistema operacional informa que as notificações por push foram desativadas (por exemplo, o usuário desativou explicitamente). Para dispositivos completamente novos que ainda não responderam a um estado de permissão de push, foreground_push_enabled não está definido e não possui valor. Como a condição Liquid verifica especificamente false, ela suprime o primer apenas para dispositivos com uma recusa explícita, enquanto dispositivos nesse estado desconhecido ainda se qualificam e podem receber o push primer.
Etapa 6: Eventos de conversão
A Braze sugere configurações padrão para conversões, mas você pode querer configurar eventos de conversão relacionados aos push primers.