Botão personalizado
Se desejar integrar um botão personalizado de inscrição/cancelamento com seu próprio design, pode fazê-lo.
Estes são os recursos de pixel expostos que você pode usar em seu código JS para fazer uma integração personalizada.
await webpushecocard.get_subscription_status(); await webpushecocard.subscribe(); await webpushecocard.unsubscribe();
Aqui está uma integração de código de exemplo que usa essas funções JS personalizadas:
<span id="pusher_loading">Loading status...</span> <a href="#" id="pusher_subscribe" style="display: none;">Subscribe ✅</a> <a href="#" id="pusher_unsubscribe" style="display: none;">Unsubscribe ❌</a> <script defer> let initiate_pusher_script = async () => { if(typeof pusher !== 'undefined') { clearInterval(pusher_is_loaded_interval); /* Get status of subscription */ let status = await <?= settings()->websites->pixel_exposed_identifier ?>.get_subscription_status(); /* Remove loading message */ document.querySelector('#pusher_loading').style.display = 'none'; /* Display subscribe or unsubscribe button based on the current subscription status */ if(status) { document.querySelector('#pusher_unsubscribe').style.display = 'block'; document.querySelector('#pusher_subscribe').style.display = 'none'; } else { document.querySelector('#pusher_unsubscribe').style.display = 'none'; document.querySelector('#pusher_subscribe').style.display = 'block'; } } } let pusher_is_loaded_interval = setInterval(initiate_pusher_script, 100); /* Attach simple subscribe event */ document.querySelector(`#pusher_subscribe`) && document.querySelector(`#pusher_subscribe`).addEventListener('click', async event => { event.preventDefault(); await <?= settings()->websites->pixel_exposed_identifier ?>.subscribe(event); initiate_pusher_script(); }); /* Attach simple unsubscribe event */ document.querySelector(`#pusher_unsubscribe`) && document.querySelector(`#pusher_unsubscribe`).addEventListener('click', async event => { event.preventDefault(); await <?= settings()->websites->pixel_exposed_identifier ?>.unsubscribe(event); initiate_pusher_script(); }); </script>