2011-05-01 95 views
7

我有游戏社区论坛,我安装了一些谷歌广告,但人们正在滥用它(出于他们的良好意愿ofcourse),并不断点击它们...现在我不想生成任何非法点击到网站,但有些人只是不听。检测谷歌广告点击

有没有什么办法来检测是否有人点击了谷歌广告...所以我可以禁用他们的使用谁点击了他们一天左右。

感谢您的帮助。

回答

2

Google广告是iframes,如果它位于不同的域名然后是父网站(请参阅iframes的法则here),则无法访问内容或向其添加事件。

但是,您可以在iframe上放置清晰的div(visibility: hidden,而不是display: none),并以某种方式拦截对其的点击。唯一的问题是,你要么拦截点击,要么你没有。所以当用户第一次点击时,你可以运行你的逻辑关于是否允许它,如果你想允许它,display: none你的div并提示用户再次点击。

这几乎是你能做到的唯一方法。

+0

谢谢,虽然为我工作,肮脏的方式。 – 2011-05-10 08:27:42

0

您可以使用jQuery .click()事件与某些存储(cookie或数据库)的组合。然后,您只需找到包含广告的元素,在其上附加该点击事件并执行您的业务逻辑(检查用户是否已经点击过)。您还可以操纵广告的点击进度(如果获得注册与否),当然会如何。

+2

这是不可能的,因为Google广告位于不同域中的iFrame中。 – 2011-05-10 21:03:37

4

如果我记得正确 - 违反Google广告规则,您会跟踪广告点击,因为这会导致您点击广告。 (如禁用它们)。我意识到你正试图解决非法点击问题,但你实际上正在挖掘自己的坟墓。

但是,要纯粹的web-dev兴趣回答你的问题 - 你可以在window.onbeforeunload中检测鼠标X Y位置(+页面滚动偏移量)并快速ping你的服务器。通常这是通过创建一个new Image();来完成的,源代码是一个php文件。

无论iframe的用法如何,这对所有浏览器都是准确的。

祝你好运!

1

这里有一些官方的答案来自谷歌有关:

http://adwords.blogspot.com.ar/2006/03/about-invalid-clicks.html

这不是很难检测出重复的IP地址,他们也可以使用Cookie来跟踪用户。除非使用很多代理(假计算机)来进行有意识的欺诈行为,否则不应该有任何问题。

将工作交给Adsense,他们有多种数据来源来检测。如果你安装了谷歌分析,你还可以给他们足够的信息来放弃技巧。

1

你可以使用iframetracker插件。

<script src="jquery.min.js"></script> 
<script src="jquery.iframetracker.js"></script> 

$('iframe').iframeTracker({ 
    blurCallback: function(){ 
     // Do something when clicked on ad 
    } 
}); 

了解更多信息和演示检查here

+0

感谢您的解决方案:) – Harsha 2016-06-16 15:36:53