Popup d'abonnement personnalisé
Le Popup d’abonnement personnalisé est une fenêtre pop-up affichée sur la page web qui suggère aux utilisateurs de s’abonner aux notifications push web. Il est implémenté avec le SDK Web Pushwoosh et permet de contourner les restrictions du navigateur concernant l’affichage des invites d’abonnement natives. Une invite d’abonnement native ne peut être montrée à un utilisateur particulier que deux fois. Si un utilisateur n’autorise pas les notifications push et ferme l’invite d’abonnement native deux fois de suite, elle ne sera plus affichée et les notifications push seront considérées comme bloquées. Un Popup d’abonnement personnalisé peut quant à lui être affiché autant de fois que nécessaire, à moins qu’un utilisateur ne s’abonne ou ne bloque explicitement les notifications push.
Un Popup d’abonnement personnalisé peut contenir n’importe quel texte expliquant les avantages de l’abonnement aux notifications push et deux boutons personnalisables — un pour l’option « Demander plus tard » et un pour « S’abonner ».
Une fois qu’un utilisateur appuie sur le bouton « S’abonner », une invite d’abonnement native apparaît.
Lorsqu’un utilisateur appuie sur le bouton « Demander plus tard » ou ferme simplement la fenêtre, le Popup d’abonnement personnalisé réapparaîtra après un temps spécifié (par défaut, une semaine après ; le délai avant une nouvelle tentative peut être personnalisé via le paramètre « retryOffset »).
Implémentation
Anchor link toPour activer et personnaliser un Popup d’abonnement personnalisé, utilisez le script suivant lors de l’initialisation du SDK Web Pushwoosh :
Pushwoosh.push('init', { // . . ., subscribePopup: { enable: true, // (booléen) activation du popup text: 'Texte sur le popup', // (chaîne) un texte à afficher sur le popup confirmSubscriptionButtonText: 'S\'abonner', // (chaîne) texte personnalisé pour le bouton « S'abonner »
manualToggle: false, // (booléen) contrôle manuel pour afficher le popup delay: 60, // (entier) un délai entre le chargement de la page et l'apparition du popup retryOffset: 604800, // (entier) un décalage en secondes pour afficher à nouveau le popup
iconUrl: 'https://...', // (chaîne) URL de l'icône personnalisée iconAlt: 'Texte descriptif pour votre icône', // (chaîne) texte ALT pour l'icône overlay: false, // (booléen) active la superposition de la page lorsque le popup est affiché position: 'top', // (chaîne) position sur la page. Valeurs possibles : 'top' | 'center' | 'bottom' mobileViewMargin: '10px', // (chaîne) marge pour la vue mobile
bgColor: '#fff', // (chaîne) couleur de fond du popup borderColor: 'transparent', // (chaîne) couleur de bordure du popup boxShadow: '0 3px 6px rgba(0,0,0,0.16)', // (chaîne) ombre du popup
textColor: '#000', // (chaîne) couleur du texte du popup textSize: 'inherit', // (chaîne) taille du texte du popup textWeight: 'normal', // (chaîne) épaisseur du texte du popup fontFamily: 'inherit', // (chaîne) police du texte du popup
subscribeBtnBgColor: '#4285f4', // (chaîne) couleur de fond du bouton « S'abonner » subscribeBtnTextColor: '#fff', // (chaîne) couleur du texte du bouton « S'abonner » subscribeBtnTextWeight: 'bold', // (chaîne) épaisseur du texte du bouton « S'abonner » subscribeBtnBorderColor: 'transparent', // (chaîne) couleur de bordure du bouton « S'abonner » subscribeBtnBorderRadius: '4px', // (chaîne) rayon de bordure du bouton « S'abonner »
askLaterButtonText: 'Pas maintenant', // (chaîne) texte personnalisé pour le bouton « Demander plus tard » askLaterBtnBgColor: 'transparent', // (chaîne) couleur de fond du bouton « Demander plus tard » askLaterBtnTextColor: '#000', // (chaîne) couleur du texte du bouton « Demander plus tard » askLaterBtnBorderColor: 'transparent', // (chaîne) couleur de bordure du bouton « Demander plus tard » askLaterBtnBorderRadius: '4px', // (chaîne) rayon de bordure du bouton « Demander plus tard » askLaterBtnTextWeight: 'normal', // (chaîne) épaisseur du texte du bouton « Demander plus tard »
theme: 'material', // (chaîne) thème du popup, valeurs possibles : 'material' | 'topbar' viewport: 'desktop' // (chaîne) viewport cible, valeurs possibles : 'desktop' | 'mobile' }});
Accéder à l’instance du Popup d’abonnement personnalisé
Anchor link toL’instance du Popup d’abonnement personnalisé est disponible via Pushwoosh.moduleRegistry.subscribePopup
.
Remarque : Cette instance n’est accessible qu’après le déclenchement de l’événement subscribe-popup-ready
. Cependant, elle ne sera pas disponible si l’utilisateur est déjà abonné aux notifications push.
L’instance fournit une méthode toggle()
qui vous permet d’afficher ou de masquer manuellement le popup :
// Afficher ou masquer manuellement le Popup d'abonnement personnaliséPushwoosh.moduleRegistry.subscribePopup.toggle(); // Bascule la visibilitéPushwoosh.moduleRegistry.subscribePopup.toggle(true); // Affiche le popupPushwoosh.moduleRegistry.subscribePopup.toggle(false); // Masque le popup
Cela permet un contrôle plus fin sur le comportement du popup directement depuis votre code.
Thèmes
Anchor link toPar défaut, le Popup d’abonnement utilise un thème ‘material’ et superpose une partie de l’écran lorsqu’il est affiché, masquant ainsi une partie du contenu au visiteur du site web.

Pour éviter que le Popup d’abonnement ne masque du contenu important, utilisez le thème ‘topbar’ afin que le popup s’affiche sous la forme d’une barre étroite en haut de l’écran.

Événements du Popup d’abonnement personnalisé
Anchor link toLes événements suivants sont disponibles pour suivre les interactions avec le Popup d’abonnement personnalisé :
// Exécuté lorsque le popup d'abonnement personnalisé est chargé et prêt à être affiché// Remarque : Cet événement ne se déclenchera PAS si l'utilisateur est déjà abonné aux notifications push.Pushwoosh.addEventHandler('subscribe-popup-ready', function() { console.log("Événement déclenché : subscribe-popup-ready");});
// Exécuté lorsque le popup d'abonnement personnalisé est affichéPushwoosh.addEventHandler('subscribe-popup-show', function() { console.log("Événement déclenché : subscribe-popup-show");});
// Exécuté lorsqu'un utilisateur clique sur le bouton 'S'abonner' dans la fenêtre pop-upPushwoosh.addEventHandler('subscribe-popup-accept', function() { console.log("Événement déclenché : subscribe-popup-accept");});
// Exécuté lorsqu'un utilisateur clique sur le bouton 'Demander plus tard' dans la fenêtre pop-upPushwoosh.addEventHandler('subscribe-popup-decline', function() { console.log("Événement déclenché : subscribe-popup-decline");});
// Exécuté lorsque le popup se masquePushwoosh.addEventHandler('subscribe-popup-hide', function() { console.log("Événement déclenché : subscribe-popup-hide");});