现在的位置: 首页 > 综合 > 正文

Google广告的显示原理

2013年08月30日 ⁄ 综合 ⁄ 共 2484字 ⁄ 字号 评论关闭

Google广告的显示原理

 

 

如果做过google的广告发布商,都知道如何发布googleadAdSense广告。但是这个放在页面上的一段代码是如何做到 AdSense的并且灵活的显示同页面相匹配的广告呢?

 

首先,我们把放置了Google AD 的页面称为“广告宿主页”。

在广告宿主页上,存在一段由广告发布商发布的代码,通常如下:

<script type="text/javascript"><!--

google_ad_client = "pub-95331612639xxxxx";       这是串数字,标识一个广告发布商

google_ad_width = 300;

google_ad_height = 250;

google_ad_format = "300x250_as";

google_ad_type = "text_image";

google_ad_channel = "";

google_color_border = "FFFFFF";

google_color_bg = "FFFFFF";

google_color_link = "000063";

google_color_text = "000000";

google_color_url = "008000";

//--></script>

<script type="text/javascript"

  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

</script>

 

显然,如果你亲自申请过google的广告代码,那么就知道,这里的google_ad_开头的javascript变量是属于你在google的广告后台通过填写表单获得的,它决定了你显示的广告的外观和展示方式。几乎,根据变量名就可大致知道这些参量代表的意义。

 

细节存在于http://pagead2.googlesyndication.com/pagead/show_ads.js

这个文件是一个静态文件,大家可以下载来看分析,但是唯一不明白是以下片段:

 

function O(c,a)

{

if(c!="html")            //如果输出格式不是html那么 返回false

       {return false}

      var b={};

      b["ca-pub-8954402009499768"]=true;   //当前数组赋值 ?

      return b[a]!=null         //实际上这个函数判断 a 是不是请求的 ca-pub-8954402009499768

 }

我猜想,这个 ca-pub-8954402009499768 是不是属于特别的合作发布商 ?

 

show_ads.js是一个“间谍”js文件,它获取了客户端的众多参数,以及当前广告位置页面父元素的各类属性,然后结合用户从google广告后台设定的参数,通过 http://pagead2.googlesyndication.com/pagead/pagead/ads?….. 发回给google的服务器,然后由该服务器发回相应的代码。

 

为什么是相应?因为,如果是允许在div中显示,那么就结合所谓页面keywords Ad AdSense的技术,返回匹配的广告 和广告外观,并在用户点击的时候,访问类似:= http://pagead2.googlesyndication.com/pagead /iclk?

sa=l&ai=BV6Vt90OkRqa9GYuCuQOUyLFo9KiuKuiZp9sCwI23AcCaDBACGAIgzpbSBigCOABQ45PF0wdgncHegdgFmAHUo9IBsgENd3d3LjYxYmF5LmNvbboBCjMwMHgyNTBfYXPIAQHaARVodHRwOi8vd3d3LjYxYmF5LmNvbS-pAggnD6rVu4E-yAKAutkCqAMByAMH6ANK6AOnBegDhQXoA5ED&num=2&adurl=http://YYYYY.com/ZZZ/index.htm%3FbannerID%3D30292%

26kw%3D%25D0%25A1%25BA%25A3%25B9%25EA%26fz%3D31&client=ca-pub-XXXXXXXXXXX&nm=0 之类的链接地址反映广告的浏览、点击情况。

系统会记录:哪一个广告发布商的哪一个宿主页上显示了一次广告(ads?就是记录显示的),并被点击(iclk?是记录点击的)。

 

通常,show_ads会显示一个嵌入帧,通过嵌入帧来显示广告,这样不影响当前宿主页的显示,及时google广告服务器存在访问故障也不至于影响当前宿主页的显示,这是为广告发布商考虑的。

 

http://pagead2.googlesyndication.com/pagead 服务器会作如下反映:

1、  在第一次获取新的宿主页的时候,进行匹配,如果没匹配,就启动独立的分析线程分析宿主页的url 和页面关键字,寻找适合在此宿主页上显示的广告。

2、  ads?下载的广告会进入本地宿主页的存储槽,这样的目的是支持一个宿主页支持多个googleAd AdSense广告发布,并可以防止同一个页面出现重复的广告主的广告。

3、  通过输出<div>或者<ifram>等元素,或者js等元素,将会在宿主页的代码位置显示特定的广告显示内容。通过googl_ad_前缀的javascript变量来控制显示规则和位置。

 

 

 

如果要做类似的,需要考虑:

1、  一个工具类的js文件,相当于 show_ads,js

2、  一个下载广告的ads?,这个ads完全相信 show_ads根据客户端情况发回的参数信息。

3、  定义好广告的控制参数,或者定义好参数控制的规则

4、  一个iclck?程序,用于统计点击,参数是加密的,这里面的原理可能还需要通过破解类base64编码后获得吧。

5、  至于  /pagead/pageclick? 类程序是用于统计页面点击的情况,就是 Google提供的广告那个位置的链接的

抱歉!评论已关闭.