Passer au contenu

Gérer le consentement de l'utilisateur pour les notifications push web

Par défaut, le SDK Pushwoosh affiche l’invite d’abonnement native dès son initialisation. Cependant, vous pourriez vouloir demander le consentement de l’utilisateur à un moment plus opportun, par exemple, après que l’utilisateur a 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 pour les notifications 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 affichera l’invite d’autorisation native du navigateur.

Voici un exemple de la manière 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);
});
});