Fondamentalement, ce que je souhaite est très similaire à ce que propose le site ci-dessous. Remarquez la publicité 300x250 dans la barre latérale droite de la page de sujet sur Quora.
J’ai une mise en page de sujet similaire sur mon forum Discourse, avec de nombreux messages dans chaque sujet. Je souhaite que mes utilisateurs voient une bannière publicitaire fixe/flottante de 300x250, et qu’elle soit collante (sticky) ; cela signifie que lorsque les utilisateurs défilent vers le bas sur la page du sujet pour lire plus de messages, cette publicité dans la barre latérale droite doit rester collante, exactement en dessous du curseur de navigation du sujet actuel (timeline du sujet) de Discourse.
Le même comportement que celui que vous voyez sur https://www.quora.com/What-are-the-lessons-people-most-often-learn-too-late-in-life
Comment puis-je y parvenir ? J’utilise déjà GitHub - discourse/discourse-adplugin: Official Discourse Advertising Plugin. Install & Start Serving Ads on Your Discourse Forum · GitHub, mais je n’ai trouvé aucune option dans le plugin de publicité pour faire cela.
J’ai trouvé ceci : How to show advertising in timeline of the topic page?, mais je ne suis pas sûr de savoir comment insérer un code Google AdSense à l’intérieur. Cela ressemble à quelque chose comme ça, mais je ne sais pas comment l’insérer dans le HTML d’Ember JS ; cela me donne des erreurs de script et de div non fermé. Comme il s’agit déjà d’une balise script, comment puis-je charger le script JS de Google à l’intérieur du script existant d’EmberJS de Discourse ?
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Topic side bar timeline -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-708790731309"
data-ad-slot="5067761793"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Je reçois cette erreur lorsque j’essaie de le faire :
Mon code ressemble à ceci :
<script type="text/discourse-plugin" version="0.8">
api.decorateWidget('topic-timeline-container:before', helper => {
return helper.h('div.side-block', [
helper.rawHtml('<div id="friends"><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-708790731302" data-ad-slot="5067761793" data-ad-format="auto" data-full-width-responsive="true"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({});</script></div>'),
])
});
</script>
De plus, j’utilise également le sommaire automatique de Discourse (Discourse Table of Contents) : DiscoTOC - automatic table of contents, donc la publicité doit également s’afficher en dessous du sommaire actuel. Je remarque maintenant que lorsque le sommaire apparaît, la timeline du sujet disparaît.
Quelqu’un peut-il s’il vous plaît m’aider à réaliser cela ? Cette publicité collante sera plus visible pour mes utilisateurs, et donc le CPM pourra s’améliorer.
@ladydanger @neil, pouvez-vous m’aider ?
Merci d’avance.


