最近又用上了这个曾让我痛苦很久的广告发布系统——Openads。发现其升级到了最新的 2.4 版本,而这个版本解决了很多以前我在 2.0 时候遇到的 Bug。特意翻出以前写的注意事项和小帮助文档,供参考。另:2.3 及以上版本的中文包有问题,只能用英文版本。
关于系统的名词解释
客户 Advertiser, Client
可以理解为最高级别的目录层次,一般是广告公司,或者本站。
项目 Campaignid
一个客户下可能有不同的广告投放需求(时间、位置)。项目具有生效和失效时间,同一项目下的广告连接到相同的版位,将根据广告的尺寸和版位的尺寸自动匹配。
广告 Banner
最小单元,比如一个 Flash 广告或者一个 Gif 广告。广告的生效和失效时间、连接版位,都由所属项目控制。但是,在 delivery 选项里面可以设置早于或晚于某个日期显示,这样也相当于生效、失效时间,就是略显麻烦。也就是说广告可以具有单独的生效、失效时间,以及版位。
版位 Zone
本质上是一段用来显示广告的代码。版位的主要属性是尺寸,只有和版位尺寸匹配的广告,才会正常显示。一个版位上可以设置默认广告(显示相同尺寸的版位或者包含某关键词的广告),即没有其他广告的时候就显示默认广告。
还有一些属性:
- 生效时间:精确到天,比如8月1日,即8月1日 00:00 生效;
- 失效时间:精确到天,比如9月1日,即9月1日 00:00 失效;
- 展示数:原来是统计广告被展示的次数,即版位所在页面的 PV;
- 点击数:广告被点击的次数;
广告系统投放原理
1、通过广告系统创建一个固定大小的版位,然后选择一种方式获得代码后嵌入 HTML 页面。2.0 版本只能使用本地 PHP 模式或者 JS 模式,而 2.4 版本则增加了 img tag 模式(纯 img 标签)、不带缓存的 img tag 模式(即在 src 后面增加 Random Num)、XML-RPC 以及 iFrame 模式。根据具体情况可以选用不同的模式。
2、添加项目之后,连接到排期上指定的版位,再添加广告。在原 2.0 系统中项目下面的广告只能全匹配项目所链接的版位,而在 2.4 中,可以独立选择而不受项目影响。
3、只要项目在当前是处于生效状态,并且广告的尺寸和版位的尺寸一致,那么该版位上就会显示该广告。
4、版位代码在加载时,通过服务器查询连接了哪些广告,并判断哪些广告是生效状态,如有多个,则根据权重或其他设置安排显示。
2.0 版本中关于生效失效的一个bug
如果同一个版位,在同一天A广告要失效,B广告要生效,那么A广告的失效将会影响B广告的生效。即该版位将不显示B广告。这个在 2.4 版本中不知道是否已修正,未测试。
2.0 版本中关于 dest 参数的一个 bug
由于广告系统统计的原理就是对一个特定 URL 的请求,该 URL 中有一个参数叫做 dest,即点击广告的目的网址。在 2.0 中有一个恼人的 bug,因为所有的dest变量值都是由 http%3A%2F%2F
开始,表示 http://
。有些广告的链接可能带有很多参数,比如 http://www.example.com/go.php?a=1&b=2&c=3
,对于图片广告或文字广告,这种情况是支持的。
而对于 Flash 广告来说,如果链接中传递的变量前没有问号(比如进行了 URL rewrite 等),比如 http://www.example.com/aaa.php/a=1&b=2&c=3
,那么广告系统会将第一个“&”转为“?”,遇到这种情况,就需要手动将所有的“&”改为“%26”,如有需要的话,也可以将“?”可以改为“%3F”。不知道这个 bug 在新版本中有没有被修正。
总结下 2.4 版本比较大的更新
- 可以通过 Web 界面上传广告文件到服务器,而不用 FTP 那么麻烦了;
- 提供更多版位代码的选择;
- 项目和广告链接版位更加自由;
- 增加了广告的类型,可以很方便的添加比如 Google Adsense;
- 据称数据报表和整体效率上有很大提高;
其他
Openads 的使用体验并不是非常容易上手的那种,甚至还有很多难以理解的界面设计,但从技术层面讲 Openads 还是一个比较出色的广告管理系统,带有比较强大的广告发布、统计等功能,比较推荐大中型网站使用。既可以作为站长自己发布广告的工具,也可以用来管理商业广告。另外也可以在该系统基础上做一些拓展和效率上的优化。