我正在研究我的响应式设计,但在使用 AdSense 时遇到了问题。

我有一个广告应该出现在桌面设计上,而不是移动设计上。
因此,只有在桌面上查看网站时,才应将广告代码放置在 html 中。
css 可以使用 display: none,但这违反了 Adsense TOS,因此不是解决方案。

我认为使用像 http://mobiledetect.net 这样的 PHP 类是可能的,但我更喜欢检查浏览器宽度,然后决定要做什么。

Adsense 有一个已批准的示例,如下所示,但我可以将其用于我的目标吗?

<script type="text/javascript">
google_ad_client = "ca-publisher-id";
width = document.documentElement.clientWidth;
google_ad_slot = "1234567890";
google_ad_width = 320;
google_ad_height = 50;
if (width > 500) {
    google_ad_slot = "3456789012";
    google_ad_width = 468;
    google_ad_height = 60;
}
if (width > 800) {
    google_ad_slot = "2345678901";
    google_ad_width = 728;
    google_ad_height = 90;
}
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

我希望有人能指出我正确的方向。

最佳答案

我联系了荷兰 AdSense 支持团队并得到了一个令人惊讶的答案,但我还没有在互联网上找到。

显然, 允许 在使用响应式 Adsense 代码时使用 display:none。
这是支持团队的某人发送给我的代码:

<style>
  .responsive-test { display: block;}
  @media(max-width: 480px) { .responsive-test { display: none; } }
</style>

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Resposive_TEST -->
<ins class="adsbygoogle responsive-test"
  data-ad-client="ca-pub-3086914080036003"
  data-ad-slot="1408862175"
  data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

请注意,仅在使用 响应式 Adsense 代码 时才允许!

我表达了我对他发给我的方法的担忧,因为 ad implementation policies ,它清楚地表明 display:none 必须避免。他认为这篇文章对于新的响应式广告来说已经过时了。

他问了他的一位同事,也确认了上面的代码是允许的。尽管如此,我仍然希望社区或其他 AdSense 支持团队的人员进行确认,只是为了确保! :D

关于javascript - 在移动设备上删除 AdSense,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22410370/

10-12 00:19