Avise para assinar as notificações

Prev Next

Controle quando os usuários recebem o prompt para se inscrever

Após ativar as notificações push para Chrome/Opera e Firefox e as notificações push da Apple para o Safari, você pode personalizar a experiência ao pedir para os usuários ativarem as notificações no navegador.

As configurações para auto-prompt, atraso de prompt e URLs opcionais de redirecionamento estão configuradas em Configurações > Apps & sites > clique no site correspondente > Push Settings . Essas informações estão descritas no guia das configurações do Push.

Desative seletivamente o prompt automático

Quando o prompt automático está ativado nas configurações do Push, você pode ter páginas onde não é apropriado mostrar o prompt (por exemplo, durante o processo de checkout da loja). Para evitar que o prompt seja exibido em uma página específica, adicione o seguinte JavaScript a essa página após a inicialização do SDK:

xtremepush('push', 'auto_prompt', false);

Ative seletivamente o prompt automático

Uma alternativa à abordagem de lista negra acima é permitir o Prompt Automático apenas em páginas ou tipos de página específicos. Nesse caso, você pode desativar o Prompt Automático nas configurações do Push e então permitir manualmente o diálogo de prompt usando o seguinte JavaScript nas páginas apropriadas:

xtremepush('push', 'auto_prompt', true);

Prompt manual

Para avisar o usuário em qualquer momento da interação no site, você pode acionar manualmente o prompt chamando o método do prompt:

xtremepush('push', 'prompt');

Isso pode ser usado com ou sem o Auto prompt ativado, por exemplo, você pode querer acionar o prompt quando o usuário clicar em um botão durante o cadastro:

2420

Essa opção é a abordagem recomendada para aumentar o número de opt-ins e garantir que os usuários possam optar por notificações push da web em navegadores que exigem um gesto do usuário, como o Safari. Confira nosso guia dedicado de dois passos para todos os detalhes .

Você também pode definir callbacks para continuar a jornada do usuário assim que eles interagirem com o diálogo de prompt:

xtremepush('push', 'prompt', {
    allowCallback: function() {
         // user clicked allow button
    }, 
    blockCallback: function() {
         // user clicked block button
    }, 
    dismissCallback: function() {
         // user dismissed permissions dialog
    } 
});

Exemplo de jornada por assinatura

xtremepush('ready', function () {
    // Checking current user permission
    var permission = xtremepush('push', 'permission');
    if (permission == 'default') {
        // User has not allowed or blocked notifications yet. Creating subscribe button
        var button = document.createElement("button");
        button.innerHTML = 'Subscribe For Push Notifications';
        document.getElementsByTagName("body")[0].appendChild(button);

        button.addEventListener('click', function () {
            xtremepush('push', 'prompt', {
                allowCallback: function() {
                    // User clicked allow. Removing subscribe button
                    button.remove();
                },
                denyCallback: function () {
                    // User clicked deny. Removing subscribe button
                    button.remove();
                },
                dismissCallback: function () {
                    // User dismissed dialog. It is possible to prompt again later
                }
            });
        });
    } else {
        switch (permission) {
            case 'granted':
                // User has already allowed notifications permissions
                break;
            case 'denied':
                // User has already blocked notifications permissions
                break;
            case 'unavailable':
                // Push messaging is not available in user browser
                break;
        }
    }
});