Zum Inhalt springen

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 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ésactiver 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 la permission 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, // Désactiver la communication pour empêcher les invites d'abonnement automatiques
}]);
</script>

Activer l’abonnement avec le 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 de Pushwoosh.setCommunicationEnabled(true) active la communication avec les services Pushwoosh. Une fois activé, le SDK affichera l’invite de permission native du navigateur.

Voici un exemple d’utilisation de cette méthode :

// En supposant que vous avez un bouton d'abonnement avec l'id="subscribe-button"
const subscribeButton = document.getElementById('subscribe-button');
subscribeButton.addEventListener('click', () => {
Pushwoosh.setCommunicationEnabled(true)
.then(() => {
console.log('L\'utilisateur est abonné aux notifications push.');
// Vous pouvez maintenant masquer le bouton d'abonnement
subscribeButton.style.display = 'none';
})
.catch((error) => {
console.error('Erreur lors de l\'abonnement de l\'utilisateur :', error);
});
});