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 toPara 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 toDepois 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); });});