Poool est un paywall dynamique qui permet aux éditeurs de créer de la valeur
en mettant à disposition de leur audience des choix de compensation simples pour
débloquer équitablement le contenu.
Poool s'intégre facilement en plaçant un tag dans le code source de vos pages.
Une attention particulière doit être portée à la position du tag : pour assurer
une performance optimale du paywall, pensez à appeler Poool en priorité dans
la page.
#3. Tagger les pages et mettre en place le paywall
Le tag Poool est prévu pour s'intégrer sur toutes les pages du site, à la
manière d'un tag Analytics classique.
Insérez le tag Poool sur toutes vos pages, n'importe où dans la page, en remplaçant les différentes valeurs quand nécessaire :
#Je veux désactiver le paywall Poool pour mes abonnés payants, que faire ?
Pour des raisons de sécurité, le tag Poool ne prend pas la responsabilité de
désactiver le paywall pour un article qu'il n'a pas débloqué directement.
Par conséquent, vous devez désactiver le paywall manuellement si nécessaire, par exemple pour un abonné payant.
Pour ne pas couper le contenu de l'article, retirez simplement les attibuts data-poool et data-poool-mode de votre page
Pour ne pas afficher le paywall, retirez l'element <div id="poool-widget"></div> de votre page
#J'installe Poool sur une application one-page (Angular, React, Vue, ...), est-ce que c'est compatible ?
Poool est compatible avec tous les frameworks récents : par exemple, notre propre
demo est une application React !
En revanche, il n'est pas possible de couper correctement le contenu d'un article
si des éléments dynamiques propres au framework utilisé (des components React/Vue,
des directives Angular, ...) sont présents à l'intérieur du contenu. Nous
conseillons donc aux applications one-page d'utiliser le mode de masquage
custom et d'effectuer leur propre
logique de masquage.
De plus, pour éviter que certaines informations persistent d'une page à l'autre
(seulement pour les applications one-page), il est très souvent nécessaire
d'effectuer un appel à flush au déclenchement d'une navigation (ex:
componentWillUnmount pour React, ngOnDestroy pour Angular, beforeRouteLeave
pour Vue ...) pour remettre les valeurs de configuration à leur valeur d'origine :
index.js
poool('flush');
#Ma connexion utilisateur ne se fait pas sur une nouvelle page, comment faire ?
Grâce aux évènements onLoginClick et onSubscribeClick, il vous est possible
de ne pas renseigner d'URL de connexion et/ou d'abonnement, et de désactiver les
actions par défaut des boutons de connexion et d'abonnement :
index.js
poool('event','onLoginClick',function(event){
// Cette ligne désactive le comportement par défaut du paywall
event.originalEvent.preventDefault();
// Effectuez votre propre action, comme montrer un formulaire de
// connexion caché
$('.login').show();
returnfalse;
});
#Le paywall Poool ne détecte pas les attributs data-poool et data-poool-mode dans la page alors qu'ils sont présents, pourquoi ?
Dans certains cas très rares, le DOM de la page met plus de temps à charger que
le script du paywall en lui même. L'élément avec les attributs data-poool et
data-poool-mode n'est donc pas encore disponible quand le script du paywall se
charge, il prend donc la configuration par défaut.
Pour palier à cette éventualité, il peut vous être nécessaire de d'utiliser
l'option wait_for_dom_load qui attendra l'évènement DOMContentLoaded du
navigateur avant d'exécuter le paywall :
index.js
poool('config','wait_for_dom_load',true);
// Si nécessaire, vous pouvez également définir un temps d'attente
// maximum
poool('config','dom_load_timeout',2000);
#Le paywall de Poool ne charge pas assez vite, ou ne charge pas du tout, que faire ?
Nous mettons un point d'honneur à constamment allouer les ressources nécessaires
au fonctionnement sans interruption du paywall Poool.
Néanmoins, nous avons prévu les différents scénarios catastrophes suivants :
Si le paywall met trop de temps à charger (plus de 10s), nous interrompons toutes les requêtes du paywall en cours et affichons un paywall bloqué par défaut.
Si le paywall rencontre une erreur non prise en charge, nous déclenchons directement l'évènement onError pour que vous puissiez afficher un paywall de secours.
Dans les deux cas, si le paywall Poool n'a pas pu charger son apparence
personnalisée (et qu'elle n'est pas encore dans le cache du navigateur du lecteur)
et ses différentes options de configuration, il vous est possible de les
configurer directement avec l'API Javascript du paywall.
index.js
// Certaines informations, comme le nom de votre media, sont récupérées
// au chargement du paywall.
// Au cas ou, nous vous invitons à également les renseigner côté code
// Si une erreur inconnue survient, vous pouvez afficher un paywall
// de secours
poool('event','onError',function(error){
$('.paywall').show();
});
#Poool ne charge pas quand les fonctionnalités de script ne sont pas supportées ou quand elles sont désactivées. Que puis-je faire ?
Afin de rendre notre solution disponible dans n'importe quelle circonstance
utilisateur (par exemple quand Javascript est désactivé dans le navigateur),
nous avons mis en place un système permettant de récupérer le paywall de Poool
avec une configuration par défaut similaire à celle présente sur votre site
lorsque les cookies ne sont pas acceptés par votre lecteur.
Avec l'intégration d'une simple balise iframe, il est ainsi possible d'afficher
un widget de restriction (abonnement exigé) utilisant l'apparence et les textes
configurés dans votre Dashboard. Notez que tout comme lorsque l'utilisateur
refuse le dépôt de cookies, les fonctionnalités de tracking seront désactivées.
index.html
<noscript>
// Remplacez XXXX-XXXX-XXXX-XXXX par votre identifiant d'application
#Lors de la validation des champs dans le widget Formulaire, je souhaite pouvoir faire des vérifications et/ou traiter les données côté serveur. Que puis-je faire ?
Pour répondre à ce besoin, nous avons rendu l'envoi des évènements asynchrone.
Autrement dit, il est possible de mettre en place une logique de promesse au
sein-même de la configuration d'un évènement Poool.
Une fois ceci implémenté, nous attendons simplement que la promesse soit résolue et le résultat envoyé.
index.js
poool('event','onFormSubmit',function(event){
console.log('Form sent : ', event);
returnnewPromise(resolve=>{
setTimeout(()=>{
resolve(['fullName']);
},1000);
});
});
#Lors de l'envoi d'un formulaire avec un champ carte bancaire, je souhaite créer un paiement sur la carte bancaire de mon lecteur avec Stripe, comment faire ?
Pour des raisons de sécurité, nous avons choisi de ne pas stocker les identifiants
nécessaires au paiement côté serveur avec Stripe, pour vous laisser pleinement
la main sur la sécurité de votre plateforme, de bout en bout.
Pour effectuer vous-même un paiement côté serveur, il vous suffit de passer
votre clé publique Stripe côté front, et d'effectuer un appel vers vos APIs
avec les informations de carte bancaire récupérées depuis l'event onFormSubmit.
Pour la partie serveur, Stripe possède un SDK pour pratiquement tous les
langages disponibles aujourd'hui. Il vous suffit de parcourir
la documentation Stripe pour trouver la
version qui correspond à votre langage.