web-dev-qa-db-ja.com

1つのページで複数のAdSenseユニットをどのように使用しますか?

1つのWebサイトに複数のAdSenseユニットを配置するにはどうすればよいですか? Googleが提供する唯一のコードはユニットごとです。

<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>

1つのWebサイトで複数のAdSenseユニットを使用する場合はどうなりますか? <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>(adsbygoogle = window.adsbygoogle || []).Push({});を1回だけ使用し、<ins ...></ins>コードを希望する場所に配置します。

問題は、最初のAdSenseユニットのみが解析されて表示されることです。複数のAdSenseユニットを表示できるようにするには、何をする必要がありますか?

これは私がそれを使用する方法です(最初のinsのみが表示されます):

<!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

1ページに複数のAdSenseユニットを配置するには、(adsbygoogle = window.adsbygoogle || []).Push({});の行をさらに追加する必要があります。

したがって、広告ユニットが3つある場合は、3回使用します。

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

動的に実行したい場合は、これを使用します:

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

JQueryを使用しています...

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

ページの一番下(<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>の直前)で</body>を一度だけ呼び出します。

次に、次のように広告スニペットを個別に配置します。

<!-- 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