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 toPour 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 toUne 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); });});