使用Google DFP异步加载Adsense广告

前段时间试用过百度广告管家,感觉很给力,还写了文章介绍《试用百度广告管家,给力啊!

但是百度广告管家无法实现所有广告异步加载,只能对图片、文章、flash异步加载,对于富媒体类型无法实现,而我插入的广告都是js这类富媒体的

最近发现Google也有同样的产品,之前还在想Google怎么没这类产品,我果然又后知后觉了

DFP貌似是Google收购的一个广告管理公司,没具体研究,地址是https://www.google.com/dfp

不过也得先说句,DFP的使用对于国人,至少对于我这样的人来说使用不是那么方便,设置太过复杂,记得用百度广告管家时,我都没看什么帮助,大概看了下就知道怎么用,马上设置完就搞定了,而DFP可能是功能实在太过强大,折腾了我好一会

而且由于广告类型的选择开始随便选,导致系统自动分配展示次数,害我博客不展示广告了

实在不想写一步一步怎么设置的教程,太费时了,我又是个很懒的人

简单说下怎么设置吧,看很多人都在想办法异步加载Adsense,Google自家的好东西不用用什么,这个是绝对不会被因为修改代码被惩罚的

进入DFP后先进入广告资源,新建广告单元,展示位置什么的可以不用设置,那个主要是为了方便管理的,然后新建一个订单,再在订单里新建一个订单项,订单项包含你建好的广告单元,类型建议选为赞助,这里功能非常多,我也没仔细研究

建好订单项后,添加广告,把你的adsense代码添加进去,然后把订单启用,回到广告资源,选择生成代码,把你的广告单元都包含了,选择异步模式

代码添加方式如下,在主题的head里加入广告单元定义

1
2
3
4
5
6
7
8
9
10
11
<script type='text/javascript'>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
</script>
<script type='text/javascript'>
googletag.cmd.push(function() {
googletag.defineSlot('/xxxxxxx/侧边栏广告位', [200, 200], 'div-gpt-ad-xxxxxxxxxxxxxxx-0').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>

然后在你需要显示广告的地方插入广告单元标签,例如在文章末插入,在你主题的single文件的the_content后加入如下代码

1
2
3
4
5
6
7
< ?php the_content(); ?>
<!-- 侧边栏广告 -->
<div id='div-gpt-ad-xxxxxxxxxx-0' style='width:200px; height:200px;'>
<script type='text/javascript'>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-xxxxxxxxxxxx-0'); });
</script>

</div>

最后再在footer里加入gtp.js的载入

1
2
3
4
5
6
7
8
9
10
11
12
<script type='text/javascript'>
(function() {
var gads = document.createElement('script');
gads.async = true;
gads.type = 'text/javascript';
var useSSL = 'https:' == document.location.protocol;
gads.src = (useSSL ? 'https:' : 'http:') +
'//www.googletagservices.com/tag/js/gpt.js';
var node = document.getElementsByTagName('script')[0];
node.parentNode.insertBefore(gads, node);
})();
</script>

通过HttpWatch可以看到,在我页面已经完全加载完毕后才开始加载gpt.js,然后开始加载广告的js,广告开始显示,由于广告显示位置之前已经用了div展位,在广告还未显示出来的时候是相同大小的空白方块,广告显示后页面不会发生变化
DFP异步加载
各位还在苦逼的研究如何异步加载Adsense代码,而又怕调用adsense的js方法有问题造成账户被禁用或者惩罚的博主,为啥不尝试下Google自家的东西

总不会自己打自己嘴巴吧,用DFP异步加载Adsens肯定不会被惩罚的,而且DFP可以异步加载所有类型的广告,百度、淘宝客都可以,当然漂浮和弹窗类应该不行,不过我也很讨厌那类广告

如果使用有疑问可以留言,DFP功能非常强大,欢迎蛋疼人士折腾

声明: 除非注明,小峰网络遨游记文章均为原创,转载请以链接形式标明本文地址

本博客原创文字只代表本人某一时间内的观点或结论,与本人所在公司没有任何关系。

本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。

第三方若用于商业用途的转载,须取得本人授权。

本文作者:

本文地址:http://xfeng.me/dfp-asyncronous-load-adsense/

你可能还对下面文章感兴趣: