去年就曾经申请过 Google Adsense 的广告,但是貌似审核没通过,一直留有遗憾(没有尝试过好奇)。今年突然起了兴致重新申请,审核持续了将近一周,意外地竟然通过了。
在申请之前,需要在页面上加上一段代码。最好加到 head 里面,因为 Google Adsense 的代码片段加了 async 属性会后台异步加载,不会影响页面渲染。代码例如:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script> (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-xxxxxxxx", enable_page_level_ads: true }); </script>
其中 "ca-pub-xxxxxxxx"
是你的 publisher id(Adsense 账户里面看到的是没有 ca- 前缀的,搞不懂区别是什么)。
审核通过之后就是可以再 Adsense 网站创建广告单元,然后复制代码到你自己的网站上,不出意外很快就可以显示广告了。广告代码大概是这样子的:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- 侧栏自适应2 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-xxxxx" data-ad-slot="yyyyy" data-ad-format="horizontal"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script>
大功告成。不过还有一个比较尴尬的是,每次广告单元都重复执行了这段代码,有没有可能精简下呢?我自己试了下,这里是可以优化下,第一个 script 可以不用加载(前面已经做过了),第三个调用 push 的代码猜测是把广告内容填充到这个位置,可不可以放到一起呢?比如在网站上加一段 js:
$(".adsbygoogle").each(function () { (adsbygoogle = window.adsbygoogle || []).push({}); });
我自己验证确实是可行的。尝鲜之后我也把这个功能添加到 dangopress 主题了,不过目前还不支持在主题配置里面增加广告代码,这个还要研究下。