谷歌adsense展示广告,即使我告诉它不要

时间:2015-03-16 12:33:45

标签: javascript adsense

我使用了几年以下的完美工作,直到我注意到一个小小的错误"在手机和平​​板电脑上:

<script type="text/javascript">
google_ad_client = "ca-pub-XXXX"; 
if (window.innerWidth >= 888) { 
google_ad_slot = "23813373"; 
google_ad_width = 728; 
google_ad_height = 90;
}</script>
<script type="text/javascript" src="//pagead2.googlesyndication.com/pagead/show_ads.js"></script>

如果您发现,我不想在设备宽度小于888像素时显示此广告。我在桌面上工作得很好,但在移动设备和平板电脑上,Adsense显示的是300x150广告。

我是否会遗漏某些内容或谷歌使用其代码来优化移动设备上的显示?你注意到同样的问题吗,bug?如何才能显示此300x150广告?

1 个答案:

答案 0 :(得分:0)

问题在于,无论条件如何评估,代码都会发出广告请求。

解决方案为create one responsive AdSense unit,并将其代码转换为&#34; advanced&#34;模式:

<style type="text/css">
.adslot_1 { display: inline-block; width: 728px; height: 90px; }
@media (max-width: 887px) { .adslot_1 { display: none; } }
</style>
<ins class="adsbygoogle adslot_1"
  data-ad-client="ca-pub-1234"
  data-ad-slot="5678"></ins>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>

我认为此代码段随时可用,您只需应用发布商ID和响应式单元的单元ID,我认为它应该如您所述:&#34 ; 我不想显示此广告的设备宽度小于888px &#34;。

编辑,澄清:display:none 响应式广告代码中的ins标记将阻止应用display:none时的广告请求,它是AdSense中唯一的officially supported way of "hiding" an ad unit。制作广告请求然后隐藏该广告是violation of the policies。)