Passer au contenu

Gestion du consentement utilisateur pour les notifications push web

Par défaut, le SDK Pushwoosh affiche l’invite d’abonnement native dès qu’il est initialisé. Cependant, vous pourriez vouloir demander le consentement de l’utilisateur à un moment plus opportun, par exemple, après que l’utilisateur ait eu l’occasion d’interagir avec votre site web.

Désactivation de l’abonnement automatique

Anchor link to

Pour empêcher le SDK d’afficher automatiquement l’invite d’abonnement lors de l’initialisation, définissez le paramètre communicationEnabled sur false dans l’appel init. Cela vous donne le contrôle sur le moment où demander l’autorisation de notification 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', {
// other initialization parameters...
communicationEnabled: false, // Disable communication to prevent automatic subscription prompts
}]);
</script>

Activation de l’abonnement sur consentement de l’utilisateur

Anchor link to

Une fois que vous avez désactivé l’abonnement automatique, vous pouvez inviter l’utilisateur à s’abonner à tout moment. Lorsque l’utilisateur accepte de recevoir des notifications push (par exemple, en cliquant sur un bouton “S’abonner” sur votre interface utilisateur personnalisée), vous pouvez activer la communication en appelant la méthode setCommunicationEnabled.

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

L’appel à Pushwoosh.setCommunicationEnabled(true) active la communication avec les services Pushwoosh. Une fois activé, le SDK procédera à l’affichage de l’invite d’autorisation native du navigateur.

Voici un exemple de la façon dont vous pourriez utiliser cette méthode :

// Assuming you have a subscribe button with id="subscribe-button"
const subscribeButton = document.getElementById('subscribe-button');
subscribeButton.addEventListener('click', () => {
Pushwoosh.setCommunicationEnabled(true)
.then(() => {
console.log('User is subscribed to push notifications.');
// You can hide the subscribe button now
subscribeButton.style.display = 'none';
})
.catch((error) => {
console.error('Error subscribing user:', error);
});
});