Por que usar um prompt de permissão push?
Para enviar notificações push que aparecem como banners, mostrar na tela de bloqueio e reproduzir sons, seu aplicativo deve primeiro solicitar permissão ao usuário. No iOS, Android, Huawei, Amazon e Web, isso envolve exibir um prompt de permissão no nível do sistema.
requestPermission(), mas sem o contexto adequado, os usuários têm mais probabilidade de recusar — e no iOS, um prompt recusado não pode ser exibido novamente.
A abordagem recomendada é um “soft prompt” — uma mensagem in-app personalizada que apresenta a solicitação antes do prompt do sistema. Se o usuário aceitar, o prompt do sistema aparece. Se recusar, nada acontece e você pode perguntar novamente depois.

Configurar um prompt de permissão push in-app
Remover quaisquer prompts de permissão automáticos
Antes de começar, certifique-se de que seu aplicativo não está acionando automaticamente o prompt push nativo:
- Remova os métodos
requestPermission()ouoptIn()se você estiver chamando-os na inicialização do aplicativo. - Remova chamadas nativas do iOS para
requestAuthorizationWithOptionse quaisquer métodos que geram tokens push. - Remova chamadas do Android para
requestPermissionse quaisquer métodos que geram tokens push.
Criar ou editar a mensagem in-app
Vá para Messages > In-App, então:
Defina a audiência como Show to all users. O OneSignal filtra automaticamente esta mensagem para mostrar apenas para usuários que não se inscreveram no push, com base na ação de clique Push Permission Prompt.
- Edite o template padrão Push Permission Prompt, ou
- Clique em New Message para criar o seu próprio.


Personalizar o design da mensagem
Personalize a aparência, sensação e redação para se adequar ao seu aplicativo. Informe aos usuários que tipo de notificações eles receberão e por que são valiosas.Consulte Design de Mensagens In-App com Arrastar e Soltar ou Design de mensagens in-app com HTML para detalhes.

Adicionar a ação de clique do prompt de permissão push
Adicione uma ação de clique Push Permission Prompt a qualquer botão ou imagem em sua mensagem. Quando tocado, o prompt do sistema é exibido.

Se um usuário já negou a permissão, o botão irá direcioná-lo para as configurações de notificação do seu aplicativo.


Mensagens in-app com uma ação Push Permission Prompt não são mostradas aos usuários que já permitiram notificações.
Escolher um gatilho
A audiência controla quem é elegível para ver a mensagem. Os gatilhos controlam quando ela é mostrada.
Você pode acionar a mensagem:

- Na abertura do aplicativo
- Após um tempo definido de sessão
- Em um evento específico do usuário
- Programaticamente, usando os métodos SDK de mensagem in-app para controle total sobre tempo e contexto

Agendamento e frequência
Controle com que frequência a mensagem aparece:
- Apenas uma vez — Baixa chance de converter usuários que não estavam prontos da primeira vez.
- Toda vez que as condições forem atendidas — Muito agressivo e pode incomodar os usuários.
- Múltiplas vezes (recomendado) — Defina um máximo alto (ex.: 9999) com um intervalo entre visualizações (ex.: 2 semanas). Isso solicita novamente aos usuários não inscritos periodicamente sem ser intrusivo. Ajuste o intervalo com base no seu caso de uso.

Atualize sua mensagem e ative-a. Monitore suas estatísticas e ajuste o intervalo entre exibições conforme necessário.
Mostrar programaticamente o prompt de permissão
Você pode acionar o prompt de permissão push manualmente usando os métodos SDKrequestPermission() ou optIn(). Isso é útil para fluxos personalizados, como:
- Uma Central de preferências
- Uma tela de perfil do usuário
- Eventos específicos in-app
Rastrear permissões push e resultados de prompt
Ao usar mensagens in-app para solicitar push, você pode rastrear ações de clique com o listener de clique de mensagem in-app. Se a mensagem in-app for exibida mas o usuário não clicar no botão, use os eventos de ciclo de vida da mensagem in-app para rastrear impressões e dispensas. Para rastrear o resultado do prompt de permissão no nível do sistema em si, use o listener de permissão push.Você pode enviar esses eventos SDK para seu backend ou ferramenta de analytics de sua escolha.
FAQ
O que acontece se um usuário recusar o prompt de permissão push?
No iOS, recusar o prompt do sistema desativa permanentemente as notificações push do seu aplicativo — o prompt não pode ser exibido novamente. No Android, o usuário tem mais uma chance (dois no total). Após todas as tentativas serem usadas, o usuário deve reativar as notificações manualmente em Configurações > Notificações no dispositivo. O métodorequestPermission(fallbackToSettings: true) do SDK do OneSignal pode redirecionar os usuários para as configurações de notificação se a permissão foi negada anteriormente.
Posso personalizar o prompt de permissão nativo do sistema?
Não. Os diálogos de permissão nativos do iOS e Android são controlados pelo sistema operacional e não podem ser personalizados. Você só pode controlar o soft prompt (a mensagem in-app exibida antes do prompt do sistema). Use o soft prompt para explicar o valor das suas notificações, definir expectativas e aumentar a chance de um “Permitir” no prompt do sistema.Posso ainda solicitar aos usuários com notificações provisórias?
Sim. Se você usar notificações push provisórias do iOS, ainda pode mostrar um soft prompt para converter esses usuários em assinantes push completos. Cronometrize o prompt estrategicamente — depois que o usuário tiver visto o valor das suas notificações provisórias.Como solicitar novamente a usuários que negaram push anteriormente?
Você não pode exibir o prompt de permissão do sistema novamente depois que o usuário recusou no iOS (ou duas vezes no Android). Em vez disso, use o método SDKrequestPermission(fallbackToSettings: true), que abre a página de configurações de notificação do aplicativo para que o usuário possa habilitar as notificações manualmente. Combine isso com uma mensagem in-app explicando por que as notificações são valiosas.
Quando o Android começou a exigir prompts de permissão?
O Android 13 (API nível 33) introduziu a permissão de notificação em tempo de execução, exigindo consentimento explícito do usuário para notificações push.- Lançado: Agosto de 2022 (dispositivos Pixel)
- Obrigatório para SDK de destino: A partir de 31 de agosto de 2023, todos os novos aplicativos e atualizações no Google Play devem ter como destino o nível de API 33 ou superior.
- Fonte: Guia do desenvolvedor do Google sobre permissões de notificação
Notificações push provisórias do iOS
Envie notificações para a Central de Notificações sem um prompt de permissão antecipado no iOS 12+.