Saltar al contenido

Gestionar el consentimiento del usuario para las notificaciones push web

Por defecto, el SDK de Pushwoosh muestra la solicitud de suscripción nativa tan pronto como se inicializa. Sin embargo, es posible que desee solicitar el consentimiento del usuario en un momento más apropiado, por ejemplo, después de que el usuario haya tenido la oportunidad de interactuar con su sitio web.

Desactivar la suscripción automática

Anchor link to

Para evitar que el SDK muestre automáticamente la solicitud de suscripción al inicializarse, establezca el parámetro communicationEnabled en false en la llamada a init. Esto le da control sobre cuándo solicitar el permiso para las notificaciones 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', {
// otros parámetros de inicialización...
communicationEnabled: false, // Desactiva la comunicación para evitar solicitudes de suscripción automáticas
}]);
</script>

Activar la suscripción con el consentimiento del usuario

Anchor link to

Una vez que haya desactivado la suscripción automática, puede solicitar al usuario que se suscriba en cualquier momento. Cuando el usuario acepta recibir notificaciones push (por ejemplo, haciendo clic en un botón “Suscribirse” en su interfaz de usuario personalizada), puede activar la comunicación llamando al método setCommunicationEnabled.

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

Llamar a Pushwoosh.setCommunicationEnabled(true) activa la comunicación con los servicios de Pushwoosh. Una vez activada, el SDK procederá a mostrar la solicitud de permiso nativa del navegador.

A continuación, se muestra un ejemplo de cómo podría usar este método:

// Suponiendo que tiene un botón de suscripción con id="subscribe-button"
const subscribeButton = document.getElementById('subscribe-button');
subscribeButton.addEventListener('click', () => {
Pushwoosh.setCommunicationEnabled(true)
.then(() => {
console.log('El usuario está suscrito a las notificaciones push.');
// Ahora puede ocultar el botón de suscripción
subscribeButton.style.display = 'none';
})
.catch((error) => {
console.error('Error al suscribir al usuario:', error);
});
});