Pular para o conteúdo

Gerenciar o Consentimento do Usuário para Notificações Push na Web

Por padrão, o SDK da Pushwoosh exibe o prompt de inscrição nativo assim que é inicializado. No entanto, você pode querer pedir o consentimento do usuário em um momento mais apropriado, por exemplo, depois que o usuário teve a chance de interagir com o seu site.

Desativando a Inscrição Automática

Anchor link to

Para evitar que o SDK exiba automaticamente o prompt de inscrição na inicialização, defina o parâmetro communicationEnabled como false na chamada init. Isso lhe dá controle sobre quando pedir permissão para notificações push.

<script type="text/javascript" src="//cdn.pushwoosh.com/webpush/v3/pushwoosh-web-notifications.js" async></script>
<script type="text/javascript">
var Pushwoosh = Pushwoosh || [];
Pushwoosh.push(['init', {
// outros parâmetros de inicialização...
communicationEnabled: false, // Desativa a comunicação para evitar prompts de inscrição automáticos
}]);
</script>

Ativando a Inscrição com o Consentimento do Usuário

Anchor link to

Depois de desativar a inscrição automática, você pode solicitar que o usuário se inscreva a qualquer momento. Quando o usuário concorda em receber notificações push (por exemplo, clicando em um botão “Inscrever-se” na sua interface personalizada), você pode ativar a comunicação chamando o método setCommunicationEnabled.

Pushwoosh.setCommunicationEnabled(status?: boolean): Promise<void>

Chamar Pushwoosh.setCommunicationEnabled(true) ativa a comunicação com os serviços da Pushwoosh. Uma vez ativado, o SDK prosseguirá para exibir o prompt de permissão nativo do navegador.

Aqui está um exemplo de como você pode usar este método:

// Supondo que você tenha um botão de inscrição com id="subscribe-button"
const subscribeButton = document.getElementById('subscribe-button');
subscribeButton.addEventListener('click', () => {
Pushwoosh.setCommunicationEnabled(true)
.then(() => {
console.log('O usuário está inscrito para notificações push.');
// Você pode ocultar o botão de inscrição agora
subscribeButton.style.display = 'none';
})
.catch((error) => {
console.error('Erro ao inscrever o usuário:', error);
});
});