Google AdSense автоматически расширяется в зависимости от ширины экрана

Я хочу включить автоадрес Google AdSense только на мобильных устройствах, чтобы показывались якорные объявления (ширина <800 пикселей), в то время как на большом экране мне нужен только определенный элемент рекламы, а не автоадрес.

Поэтому я пытаюсь добавить в голову следующее:

      <script sync src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-xxxxx" crossorigin="anonymous""></script>

    <script>
        if (screen.width<800) {
        (adsbygoogle = window.adsbygoogle || []).push({
            google_ad_client: "ca-pub-xxxx",
            enable_page_level_ads: true,
            overlays: {
                bottom: true,
            }
        });
    }
    </script>

А в теле:

      <style>  
@media (max-width:800px) {
    .ads-right {
        display: none;
    }
}
</style>
<div class="ads-right">    
        <ins class="adsbygoogle" style="display:block;" data-ad-client="ca-pub-xxxxxxx" data-ad-slot="yyyyy" data-ad-format="rectangle" data-full-width-responsive="true"></ins>
        <script>
            if (screen.width>800) {
                (adsbygoogle = window.adsbygoogle || []).push({});
            }            
        </script>
    </div>

В результате он работает, но на маленьком экране (ширина <800 пикселей) я получаю эту ошибку в консоли, и якорная реклама находится вверху, а не внизу:

      Uncaught N {message: "adsbygoogle.push() error: Only one 'enable_page_level_ads' allowed per page.", name: 'TagError', pbr: true, stack: "TagError: adsbygoogle.push() error: Only one 'enab…google.js?client=ca-pub-xxxxx:222:259)"}

Какие-либо предложения?

1 ответ

Это должно работать. Вместо добавления параметра в adsbygoogle.js используйте классический старый код.

      <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" crossorigin="anonymous"></script>

enable_page_level_ads следует вызывать в скриптах один раз

      if (screen.width<800) {
        (adsbygoogle = window.adsbygoogle || []).push({
            google_ad_client: "ca-pub-xxxx",
            enable_page_level_ads: true,
            overlays: {
                bottom: true,
            }
        });
    } else {

        (adsbygoogle = window.adsbygoogle || []).push({
            google_ad_client: "ca-pub-xxxx",
            enable_page_level_ads: false,
            overlays: {
                bottom: true,
            }
        });
}
Другие вопросы по тегам