2

サブ質問は相互に関連しているため、わかりやすくするために並べ替えます。

質問 - 1: JavaScript を使用して、デバイスのブラウザ/ビューポート幅に応じて異なる AdSense 広告サイズ/フォーマットを読み込むことは良い考えですか?

Google AdSense の TOS やその他のポリシーで問題ないかどうかを尋ねているわけではありません。お世話になりました。

私が知りたいのは、これを行うために JavaScript を使用することの欠点はありますか? つまり、Adsense が提供する広告の品質が損なわれるのでしょうか? またはそれは問題ではありませんか?

質問 - 2:もっと良い方法はありますか?

  • (2a)必要なものを実現するための 2 つの異なるコード スニペットを見つけました。どちらがより信頼性が高く、優れているかはわかりません。

    これ:

    <script type="text/javascript"><!--
    google_ad_client = "ca-pub-3658299045266116";
    /* top */
    if ($(window).width()<728 ){
         google_ad_slot = "4414183254";
         google_ad_width = 320;
         google_ad_height = 50;
    }else{
         google_ad_slot = "1020377061";
         google_ad_width = 728;
         google_ad_height = 90;
    }
    //-->
    </script>
    <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>
    

    「ウィンドウの幅は不安定なので当てにならない。たとえば、一部の Android では、ブラウザが幅を確保するのに最大 500 ミリ秒かかるため、まったく当てにならない」と言う人もいます。それは本当ですか、そして懸念すべきですか?

  • (2b)またはこれ:

    <script type="text/javascript">
        google_ad_client = "ca-publisher-id";
        if (window.innerWidth >= 800) {
            google_ad_slot = "ad-unit-1";
            google_ad_width = 728;
            google_ad_height = 60;
        } else if (window.innerWidth < 400) {
            google_ad_slot = "ad-unit-2";
            google_ad_width = 300;
            google_ad_height = 250;
        } else {
            google_ad_slot = "ad-unit-3";
            google_ad_width = 468;
            google_ad_height = 60;
        }
    </script>
    <script type="text/javascript" 
     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>
    

    繰り返しになりますが、別の誰かが「あなたのソリューションは素晴らしいですが、古いバージョンの IE では壊れる可能性があります。最善の方法は、jQuery を使用してブラウザの幅を照会することですwidth = $(window).width();」と言っていますが、2 のコード スニペットで述べた理由で使用できません( a) .

それで、私が必要とすることをするための良い方法は何でしょうか? document.documentElement.clientWidth? しかし、デスクトップやモバイル デバイスでページをズームしたときの動作はどうなるでしょうか?

4

1 に答える 1

2

どうぞ:

<script type="text/javascript">

    var width = window.innerWidth || document.documentElement.clientWidth;
    google_ad_client = "ca-publisher-id";

    if (width >= 800) { 
       google_ad_slot = "ad-unit-1"; 
       google_ad_width = 728; 
       google_ad_height = 60; 
    } else if ((width < 800) && (width < 400)) { 
      google_ad_slot = "ad-unit-2"; 
      google_ad_width = 300; 
      google_ad_height = 250; 
    } else { 
      google_ad_slot = "ad-unit-3"; 
      google_ad_width = 468; 
      google_ad_height = 60; 
    } 
</script> 
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

ちなみにこれは「Googleアドセンスチーム承認」の方法です。

ソース: labnol.org

于 2013-02-22T13:36:08.140 に答える