Flash广告点击率的深入研究

在讨论这个问题之前,先来了解一下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级了,所以有时间才贴出来,其实只要学习过动态语言,知道了原理,编个计数器也不是很难事),明明知道的东西要表达清楚还真的不是很容易的事呀,原来写教程真的是件比较辛苦的事呀.......
申明一下:
我不是职业的写家(允许发表不同的意见,但是别说不雅的话,谢谢了)。
发表这样的帖子也是由于我曾经也有过这样疑惑,也是看了那些许多热心人的帖子(如寂寞火山,帮打个广告,),学了很多东西,也对flash的后台产生了兴趣,才对FLASH产生兴趣,才会去研究其它相关的动态语言,所以在论坛看到许多人提出这样的疑惑,就用自己所掌握的,尽量为大家解析一下。这是我初次写教程(费了不少的心血,也许是打字太慢吧,真的比较累哦),也许在高手眼中不是很专业,但是我是很用心的。


IT时代网(关注微信公众号ITtime2000,定时推送,互动有福利惊喜)所有原创文章版权所有,未经授权,转载必究。
创客100创投基金成立于2015年,直通硅谷,专注于TMT领域早期项目投资。LP均来自政府、互联网IT、传媒知名企业和个人。创客100创投基金对IT、通信、互联网、IP等有着自己独特眼光和丰富的资源。决策快、投资快是创客100基金最显著的特点。

相关文章
中芯国际联手国家队斥500亿投建12吋晶圆制造 什么信号?
中芯国际等被美列黑名单 外交部:坚决反对美方无端打压中国企业
中芯国际遭“断粮”背后:芯片产业链加速国产化
被美国列入“黑名单”?中芯国际:未收到此类官方消息

精彩评论