关于广告点击率的原理

在讨论这个问题之前,先来了解一下flash传值问题。

在论坛经常看到这样的提问,下面的效果是如何实现的,如下:
http://2008.ab12.cn:2008/arthur/21312/lover-6.swf?aa=欢迎参观我的空间!
即在网址上输入文本,在flash中就能够显示出来。

其实原理很简单。这用到的就是静态传值的知识。

1.先看看flash静态传值的简单实现:

首先新建一个名为myflash的flash文件

在舞台用文本工具建一个动态文本框,命名为aa,然后在第一桢输入mytxt.text=val,按enter测试,文本框显示为undefined,你开始纳闷了,不奇怪,因为你还没有赋值。

下面我们在地址栏输入http://localhost/myflash.swf?val=你好,世界!(注意:你要将动画上传到网页空间[那就要在你的文件绝对地址后增加‘val=你好,世界!了’]或是在自己机子上装有服务器,我是在自己机子上装要IIS), 奇迹发生了,怎么样,你的动画舞台上是不是也显示了” 你好,世界!”(改一改等于号后面的文字试试),这就是变量被传到了flash。

知道了运行的原理,上面的问题轻而易举就解决了,相信许多聪明的朋友就会使用这一知识来做比上面更加酷的效果,用来装饰自己的空间了(呵呵,我的QQ空间就使用了)。

其实我们还可以同时向flash传递多个值:在flash中如何使用这些变量和值,就在于你了(总不至于有多少个变量就设多少个文本框吧)。(注意:变量和值间必须使用值对的形式,如:company=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103)

2.也可以在网页<object>中赋予flash变量(为了观看,其他参数省略)

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs
/flash/swflash.cab#version=8,0,0,0
" width="550" height="400" id="myflash" align="middle">
<param name="movie" value="myflash.swf?val=你好,世界" />
</object>

(试试效果是不是一样)
当然,你也可以使用js设置你传入的值为变量,并根据你的要求而变化(这我就不做详细的讨论了)

知道了上面的原理,要对广告的点击进行统计也不是一件难事了(http://localhost/count.htm要根据你的主机地址相应地变化)。
那么就让我们来研究一下其中的原理(详细代码就不提供了,因为这其中要实现的功能各式各样,相信知道了其中的原理再想实现功能就只是编程高低的问题了,呵呵,申明一下,本人也是一菜鸟,所以还请高手不要取笑)

新建一个动画文件,存储为myflash,在舞台建一个按钮,赋予脚本:

on(release){getURL(”http://localhost/count.htm?clicktag”+clicktag+”detail.htm”);}

发布动画,打开其中的myflash.html文件,将参数<param name="movie" value="myflash.swf" />修改为<param name="movie" value="myflash.swf?clicktag=http://localhost" />

那么用户对广告的反应是如何被跟踪的呢?如图:

原来clicktag变量值定义的URL首先传递给http://localhost/count.htm这个负责跟踪统计的站点,此页面一般是使用动态页面如asp,jsp等,呵呵懂得jsp或者其他的动态语言的用户就有用武之地了, 只要截取clicktag变量,每传过来一次就加一次(废话:当然你也可以作弊,不妨多加几次来迷糊用户一下),这页面一般不会直接显示给用户(当然也可以拉),而后再由该站点设置一个称为“重定向“的技术转向http://localhost/ detail.htm页面(也就是你点击广告后打开的页面),IIS有设置重定向的功能.至于重定向,恰好我这有个经常用的,提供给大家参考下

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>myflash</title>
</head>
<body bgcolor="#ffffff">
<div align="center">
<font size="5"></font>
<script language="javascript">
<!--
function getvalue(r){
var countbegin;
var countend;
var count;
var s=location.search;
var d="?";
var index=s.indexOf(r);
if(index!=-1){
  countbegin=(s.indexOf("=",index)+1);
  countend=s.indexOf(d,index);
  if(countend==-1){
  countend=s.length;
  }
  count=s.substring(countbegin,countend);
  return (count);
  }
  }
  //记录clicktag的值
  document.write('点击的代码:'getvalue("clicktag");+'<br>');
  //新打开一个窗口,重定向到目标URL
  window.open(getvalue("clicktag")
  -->
</script>
</div>
</body>
</html>

哎,本来以为半小时能够完成的,结果花了差不多3个小时(而且只是简单地叙述了原理和过程,因为我写的那个实现过程比较长,又要考6级了,所以有时间才贴出来,其实只要学习过动态语言,知道了原理,编个计数器也不是很难事),明明知道的东西要表达清楚还真的不是很容易的事呀,原来写教程真的是件比较辛苦的事呀.......

[转自:蓝色理想]

Technorati 标签:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值