web-dev-qa-db-fra.com

Comment utilisez-vous plusieurs unités adsense sur une seule page?

Comment avez-vous plusieurs unités AdSense sur un site Web? Le seul code que Google donne est par unité.

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:inline-block;width:300px;height:250px"
     data-ad-client="ca-pub-123456"
     data-ad-slot="123456"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).Push({});
</script>

Que faire si je souhaite utiliser plusieurs unités AdSense sur un site Web? J'utilise uniquement <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> et (adsbygoogle = window.adsbygoogle || []).Push({}); une fois, puis placez le <ins ...></ins> code où je veux qu'il soit.

Le problème est que seule la première unité adsense est analysée et affichée. Que devez-vous faire pour pouvoir afficher plusieurs unités AdSense?

Voici comment je l'utilise (seul le premier ins est affiché):

<!doctype html>
<html>
    <body>
        <ins class="adsbygoogle"
         style="display:inline-block;width:300px;height:250px"
         data-ad-client="ca-pub-123456"
         data-ad-slot="first"></ins>

         <ins class="adsbygoogle"
         style="display:inline-block;width:300px;height:250px"
         data-ad-client="ca-pub-123456"
         data-ad-slot="second"></ins>

         <ins class="adsbygoogle"
         style="display:inline-block;width:300px;height:250px"
         data-ad-client="ca-pub-123456"
         data-ad-slot="third"></ins>

        <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
        <script>(adsbygoogle = window.adsbygoogle || []).Push({});</script>
    </body>
</html>
27
Marwelln

Pour avoir plus d'une unité adsense sur une page, vous devez ajouter plusieurs lignes de (adsbygoogle = window.adsbygoogle || []).Push({});.

Donc, si vous avez 3 blocs d'annonces, vous souhaitez l'utiliser 3 fois.

(adsbygoogle = window.adsbygoogle || []).Push({});
(adsbygoogle = window.adsbygoogle || []).Push({});
(adsbygoogle = window.adsbygoogle || []).Push({});

Si vous voulez le faire dynamiquement, utilisez ceci:

[].forEach.call(document.querySelectorAll('.adsbygoogle'), function(){
    (adsbygoogle = window.adsbygoogle || []).Push({});
});
71
Marwelln

Utilisation de jQuery ...

$(".adsbygoogle").each(function () { (adsbygoogle = window.adsbygoogle || []).Push({}); });
13
Carl M. Gregory

Appel <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> une seule fois, en bas de la page (juste avant </body>).

Ensuite, placez vos extraits d'annonces séparément comme suit:

<!-- Top Banner Ad -->
<ins class="adsbygoogle"
    style="display:inline-block;width:320px;height:100px"
    data-ad-client="ca-pub-1234567890"
    data-ad-slot="4693644638"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).Push({});
</script>

<!-- Responsive Ad -->
<ins class="adsbygoogle"
    style="display:block"
    data-ad-client="ca-pub-1234567890"
    data-ad-slot="3097818646"
    data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).Push({});
</script>
2
Hassan Baig