我有一个wordpress网站,我想显示1谷歌Adsense横幅广告(320 px x 50 px)在页面的最底部只给移动的用户。当我说在页面的底部,我真的应该说可视屏幕的底部,所以无论用户在页面上的任何位置,它总是可见的。
我已经计算出,我需要使用媒体查询,我已经找出了使用该网站的主要移动的设备的大小是320 px或360 px宽。
我为此编写并放置在标准style.css文件中的css是;
@media only screen
and (min-device-width : 320px)
and (max-device-width : 360px) {
.mobileadunit {
width:320px;
height:50px;
position:fixed;
bottom:0px;
}
}
然后,我将div放在wordpress的footer.php文件中标记之前
<div class="mobileadunit">
ADSENSE CODE
</div>
但是尽管我尽了最大的努力,我还是不能让它显现出来。我是不是做错了什么非常明显的事情?
3条答案
按热度按时间wtlkbnrh1#
km0tfn4u2#
事实证明,css“@media queries”本身可能无法提供您想要的结果或最佳用户体验。
首先,我不是Maven,但我更像是一个初学者。无论如何,就目前而言,谷歌的AdSense广告似乎是固定大小的,在不同的设备上观看时,不适应不同的屏幕宽度。在较小的设备上,当浏览响应网站时,AdSense广告会扩展到容器之外,而且经常会扩展到屏幕之外--破坏布局,降低用户体验。甚至阻止移动的访问者点击你的广告。
那么,有什么变通办法吗?
是的,如果你在网上搜索,你会发现一些解决方案,包括谷歌的官方建议,改变AdSense代码。我已经通过这个问题一次,经过真正快速的研究,我知道2个非常好的插件,显示在响应WordPress网站的AdSense广告。见Google AdSense for Responsive Design Plugin(免费选项)和Easy Responsive AdSense Plugin(付费选项)以及。
如前所述,Google Adsense program's policies涵盖了他们自己的方法和指令更改Adsense代码,虽然他们接受的修改准则是相当直接和强烈建议,只要一个不修改Adsense代码的方式是有害的程序,那么谷歌不接受轻微修改Adsense代码,而不适用于任何处罚用户的帐户。
无论是否使用插件,javascript + css媒体查询都是根据你的问题获得更好的预期结果的最佳方法。如果你不想依赖插件,你可以按照下面的步骤让它与一些css和js一起工作。
解决方案:
因此,基于前面提到的插件解决方案,我构建了一个快速的demonstration(实时测试网站),以便您可以在移动的上访问/测试它。演示网站显示AdSense移动横幅(320 × 50 px),以及具有不同尺寸格式的其它广告单元,通过借助于媒体查询检测它们的屏幕尺寸,仅在普通移动设备上显示,然后用一个非常简单的javascript指令/告诉谷歌选择最佳的广告大小在页面加载时显示。
请记住,此代码在页面首次加载时会做出响应,但不会对窗口大小或设备方向的任何后续更改做出响应。浏览演示网站时,请考虑在每次窗口大小更改时刷新页面。
此外,您也可以在CODEPEN上使用它,但请记住,为了使它工作,您应该将AdSense客户端编号和广告位编号替换为您自己的. Here's a few screenshots,它在iOS 7移动的Safari iPhone 5上工作。
我们把它分成几部分:
首先,让我们设置HTML标记:
AdSense移动的横幅和其他不同大小的广告单元将根据**
<div>
withid="responsive-adsense
“的当前宽度进行渲染,该宽度位于<div>
withid="adcontainer"
**内,而我们将使用该宽度来定位横幅,使其始终固定在底部。然后立即嵌入AdSense javascript:
在这里,我已经注解掉了好的提示。
上面的javascript代码涵盖了4个特定的广告单元。谷歌建议不要为了在同一页面上显示3个以上的广告单元而修改AdSense代码。因此,建议在一个单独页面中只设置3个广告单元。只要我们根据设备的屏幕大小在一个单独页面中只显示1个广告,我们就可以开始了。请务必花些时间阅读Google'的AdSense策略here。
我们用上面的javascript代码覆盖了4个不同大小的广告单元,如下所示:
现在,借助css进行媒体查询,我们将锁定最常见的小屏幕尺寸
我们将介绍一种扩展方法,在下面的css媒体查询的帮助下,在各种屏幕尺寸上显示AdSense广告,这反过来又会针对大多数移动的设备,如智能手机和平板电脑。我们在这里没有严格针对任何特定的移动设备,因此,您可以随时建立自己的定位方案或简单地坚持与Adsense移动的横幅(320 x50)部分的代码只,因为它是显示在这种方法...
根据你的问题,你不想在桌面浏览器上显示这个,所以我们会开始设置
display: none;
的一切时,在桌面上浏览网站。最后但同样重要的是,您可以始终遵循谷歌的响应方式在您的网站上设置Adsense广告,并作出自己的更改,只要你不违反他们的政策禁止的任何条款。https://support.google.com/adsense/answer/1354736?hl=en&topic=1271508
这可能不是最好的解决方案,但即使谷歌指出,他们的尝试还不是完美的,并接受您自己的修改时,你认为这是必要的,再次,任何修改AdSense代码应始终符合谷歌Adsense的政策的良好做法。
其他参考文献:
下面的文章指出了两种不同的方法,以正确的方式显示AdSense广告在响应网站。这里的答案大多来自这些来源,也是谷歌的官方建议。
看看吧,它可能真的对你的需求很有帮助:
http://www.labnol.org/internet/google-adsense-responsive-design/25252/
http://www.akshitsethi.me/google-adsense-responsive-ads-explained/
我希望这对你和社区里的其他一些人有帮助。任何改进都是受欢迎的。
cnjp1d6j3#
所以我切换了媒体查询,使其使用min/max-width而不是min/max-device-width,这样它就可以在计算机屏幕上工作,但下面是它工作的一个jsfidle:
http://jsfiddle.net/hm3Cj/
这是一篇很棒的文章,介绍了最小/最大宽度和最小/最大设备宽度之间的区别:http://www.javascriptkit.com/dhtmltutors/cssmediaqueries2.shtml(如果你感兴趣的话)。而且它有所有常见的设备/屏幕尺寸。目前你正在使用的是一个相当小的空间显示。320 x 480可能是一个更有用的比例为移动的电话。