Учёт кликов по баннеру одновременно AdRiver и сторонней системой
Примечание: Возможность учитывать клики описанным способом доступна только для рекламных агентств по коду баннера.
Чтобы учитывать клики по баннеру одновременно AdRiver и сторонней системой в код вызова баннера необходимо добавить параметр &pass= и вписать в него закодированную ссылку на сторонний счётчик. А также прописать кнопку на клик в flash-ролике особым образом.
1. Модификация кода вызова
1.1. IFrame-код
Пример кода:
<!-- AdRiver code START. Type:970x90 Site: primer PZ: 1 BN: 0 --> <script language="javascript" type="text/javascript"><!-- var RndNum4NoCash = Math.round(Math.random() * 1000000000); var ar_Tail='unknown'; if (document.referrer) ar_Tail = escape(document.referrer); document.write( '<iframe src="http://ad.adriver.ru/cgi-bin/erle.cgi?' + 'sid=1&ad=279793&pid=607191&&bid=1325793&bn=1325793&target=top&bt=41&rnd=' + RndNum4NoCash + '&tail256=' + ar_Tail + '" frameborder=0 vspace=0 hspace=0 width=970 height=90 marginwidth=0' + ' marginheight=0 scrolling=no></iframe>'); //--></script> <noscript> <a href="http://ad.adriver.ru/cgi-bin/click.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&bt=41&rnd=1266388962" target=_top> <img src="http://ad.adriver.ru/cgi-bin/rle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&bt=41&rnd=1266388962" alt="-AdRiver-" border=0 width=970 height=90></a> </noscript> <!-- AdRiver code END -->
Пример модифицированного кода (изменения выделены красным):
<!-- AdRiver code START. Type:970x90 Site: primer PZ: 1 BN: 0 --> <script language="javascript" type="text/javascript"><!-- var RndNum4NoCash = Math.round(Math.random() * 1000000000); var ar_Tail='unknown'; if (document.referrer) ar_Tail = escape(document.referrer); document.write( '<iframe src="http://ad.adriver.ru/cgi-bin/erle.cgi?' + 'sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=41&rnd=' + RndNum4NoCash + '&tail256=' + ar_Tail + '&pass=' + escape("ссылка на сторонний кликовый счётчик, должен начинаться с http://") + '" frameborder=0 vspace=0 hspace=0 width=970 height=90 marginwidth=0' + ' marginheight=0 scrolling=no></iframe>'); //--></script> <noscript> <a href="http://ad.adriver.ru/cgi-bin/click.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&bt=41&rnd=1266388962" target=_top> <img src="http://ad.adriver.ru/cgi-bin/rle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&bt=41&rnd=1266388962" alt="-AdRiver-" border=0 width=970 height=90></a> </noscript> <!-- AdRiver code END -->
1.2. Код Extension
Пример кода:
<!-- AdRiver code START. Type:extension Site: primer PZ: 1 BN: 0 --> <script type="text/javascript"> (function(L){if(typeof(ar_cn)=="undefined")ar_cn=1; var S='setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e);}},3000);', j=' type="text/javascript"',t=0,D=document,n=ar_cn;L+=escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999); function _(){if(t++<100){var F=D.getElementById('ar_container_'+n); if(F){try{var d=F.contentDocument||(window.ActiveXObject&&window.frames['ar_container_'+n].document); if(d){d.write('<sc'+'ript'+j+'>var ar_bnum='+n+';'+S+'</sc'+'ript><sc'+'ript'+j+' src="'+L+'"></sc'+'ript>');t=0} else setTimeout(_,100);}catch(e){try{F.src="javascript:{document.write('<sc'+'ript"+j+">var ar_bnum="+n+"; document.domain="" +D.domain+"";"+S+"</sc'+'ript>');document.write('<sc'+'ript"+j+" src=""+L+""></sc'+'ript>');}";return}catch(E){}}}else setTimeout(_,100);}} D.write('<div style="visibility:hidden;height:0px;left:-1000px;position:absolute;"><iframe id="ar_container_'+ar_cn +'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0></iframe></div><div id="ad_ph_'+ar_cn +'" style="display:none;"></div>');_();ar_cn++; })('http://ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=43&tail256='); </script><!-- AdRiver code END -->
Пример модифицированного кода (изменения выделены красным):
<!-- AdRiver code START. Type:extension Site: primer PZ: 1 BN: 0 --> <script type="text/javascript"> (function(L){if(typeof(ar_cn)=="undefined")ar_cn=1; var S='setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e);}},3000);', j=' type="text/javascript"',t=0,D=document,n=ar_cn;L+=escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999); function _(){if(t++<100){var F=D.getElementById('ar_container_'+n); if(F){try{var d=F.contentDocument||(window.ActiveXObject&&window.frames['ar_container_'+n].document); if(d){d.write('<sc'+'ript'+j+'>var ar_bnum='+n+';'+S+'</sc'+'ript><sc'+'ript'+j+' src="'+L+'"></sc'+'ript>');t=0} else setTimeout(_,100);}catch(e){try{F.src="javascript:{document.write('<sc'+'ript"+j+">var ar_bnum="+n+"; document.domain="" +D.domain+"";"+S+"</sc'+'ript>');document.write('<sc'+'ript"+j+" src=""+L+""></sc'+'ript>');}";return}catch(E){}}}else setTimeout(_,100);}} D.write('<div style="visibility:hidden;height:0px;left:-1000px;position:absolute;"><iframe id="ar_container_'+ar_cn +'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0></iframe></div><div id="ad_ph_'+ar_cn +'" style="display:none;"></div>');_();ar_cn++; })('http://ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=43&pass=' + escape("ссылка на сторонний кликовый счётчик, должен начинаться с http://") + '&tail256='); </script><!-- AdRiver code END -->
1.3. Код Poster
Пример кода:
<!-- AdRiver code START. Type:poster Site: primer PZ: 1 BN: 0 --> <script language="javascript" type="text/javascript"><!-- function adriverPoster(L){ if(typeof(ar_cn)=="undefined")ar_cn=1; var W=window,D=document,E=D.documentElement,T=0,N=ar_cn,P=0,C=D.compatMode=="CSS1Compat", X='<scr'+'ipt type="text/javascript">var ar_bnum='+N+';setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e)}},3000);', Y='</sc'+'ript><sc'+'ript type="text/javascript" src="'+L+'&tail256='+escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999)+'"></sc'+'ript>'; function G(){if(T++<100){var o=D.getElementById('ar_container_'+N);if(o){try{var d=o.contentDocument||(W.ActiveXObject&&W.frames['ar_container_'+N].document);if(d){d.write(X+Y)}else setTimeout(arguments.callee,100)}catch(e){try{o.src = "javascript:{document.write('"+X+'document.domain="'+D.domain+'";'+Y+"')}";return}catch(E){}}}else setTimeout(arguments.callee,100)}} function A(e,t,f){if(e.addEventListener)e.addEventListener(t,f,false);else if(e.attachEvent)e.attachEvent('on'+t,f)} function R(e,t,f){if(e.removeEventListener)e.removeEventListener(t,f,false);else if(e.detachEvent)e.detachEvent('on'+t,f)} function S(){var ch=self.innerHeight||C&&E.clientHeight||D.body.clientHeight,st=self.pageYOffset||C&&E.scrollTop||D.body.scrollTop;if(P>=st&&st+ch>=P){R(W,'scroll',S);G()}} A(W,'load',function(){var o=D.getElementById('ad_ph_'+N);if(o){while(o.offsetParent){P+=o.offsetTop;o=o.offsetParent}A(W,'scroll',S);S()}}); D.write('<div style="position:absolute;visibility:hidden;height:0px;"><iframe id="ar_container_'+N+'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0></iframe></div><div id="ad_ph_'+N+'"></div>'); ar_cn++; } adriverPoster("http://ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=49"); //--></script><!-- AdRiver code END -->
Пример модифицированного кода (изменения выделены красным):
<!-- AdRiver code START. Type:poster Site: primer PZ: 1 BN: 0 --> <script language="javascript" type="text/javascript"><!-- function adriverPoster(L){ if(typeof(ar_cn)=="undefined")ar_cn=1; var W=window,D=document,E=D.documentElement,T=0,N=ar_cn,P=0,C=D.compatMode=="CSS1Compat", X='<scr'+'ipt type="text/javascript">var ar_bnum='+N+';setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e)}},3000);', Y='</sc'+'ript><sc'+'ript type="text/javascript" src="'+L+'&tail256='+escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999)+'"></sc'+'ript>'; function G(){if(T++<100){var o=D.getElementById('ar_container_'+N);if(o){try{var d=o.contentDocument||(W.ActiveXObject&&W.frames['ar_container_'+N].document);if(d){d.write(X+Y)}else setTimeout(arguments.callee,100)}catch(e){try{o.src = "javascript:{document.write('"+X+'document.domain="'+D.domain+'";'+Y+"')}";return}catch(E){}}}else setTimeout(arguments.callee,100)}} function A(e,t,f){if(e.addEventListener)e.addEventListener(t,f,false);else if(e.attachEvent)e.attachEvent('on'+t,f)} function R(e,t,f){if(e.removeEventListener)e.removeEventListener(t,f,false);else if(e.detachEvent)e.detachEvent('on'+t,f)} function S(){var ch=self.innerHeight||C&&E.clientHeight||D.body.clientHeight,st=self.pageYOffset||C&&E.scrollTop||D.body.scrollTop;if(P>=st&&st+ch>=P){R(W,'scroll',S);G()}} A(W,'load',function(){var o=D.getElementById('ad_ph_'+N);if(o){while(o.offsetParent){P+=o.offsetTop;o=o.offsetParent}A(W,'scroll',S);S()}}); D.write('<div style="position:absolute;visibility:hidden;height:0px;"><iframe id="ar_container_'+N+'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0></iframe></div><div id="ad_ph_'+N+'"></div>'); ar_cn++; } adriverPoster("http://ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=49&pass=' + escape("ссылка на сторонний кликовый счётчик, должен начинаться с http://") + '"); //--></script><!-- AdRiver code END -->
1.4. JavaScript-код
Пример кода:
<!-- AdRiver code START. Type:javascript Site: primer PZ: 1 BN: 0 --> <script language="javascript" type="text/javascript"><!-- var RndNum4NoCash = Math.round(Math.random() * 1000000000); var ar_Tail='unknown'; if (document.referrer) ar_Tail = escape(document.referrer); document.write('<sc' + 'ript language="JavaScript" type="text/javascript" src="http://ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=16&rnd=' + RndNum4NoCash + '&tail256=' + ar_Tail + '"></sc' + 'ript>'); //--></script><!-- AdRiver code END -->
Пример модифицированного кода (изменения выделены красным):
<!-- AdRiver code START. Type:javascript Site: primer PZ: 1 BN: 0 --> <script language="javascript" type="text/javascript"><!-- var RndNum4NoCash = Math.round(Math.random() * 1000000000); var ar_Tail='unknown'; if (document.referrer) ar_Tail = escape(document.referrer); document.write('<sc' + 'ript language="JavaScript" type="text/javascript" src="http://ad.adriver.ru/cgi-bin/erle.cgi?sid=1&ad=279793&pid=607191&bid=1325793&bn=1325793&target=top&bt=16&pass=' + escape("ссылка на сторонний кликовый счётчик, должен начинаться с http://") + '&rnd=' + RndNum4NoCash + '&tail256=' + ar_Tail + '"></sc' + 'ript>'); //--></script><!-- AdRiver code END -->
1.5. Ajax-код
Пример кода:
<script type="text/javascript"> new adriver("adriver_banner", {sid:1, ad:243874, pid:634250, bid:951236, bn:951236, bt:52}); </script>
Пример модифицированного кода (изменения выделены красным):
<script type="text/javascript"> new adriver("adriver_banner", {sid:1, ad:243874, pid:634250, bid:951236, bn:951236, bt:52, pass: 'ссылка на сторонний кликовый счётчик, должен начинаться с http://'}); </script>
2. Прошивка кнопки на клик
Для элемента button в Flash-ролике пропишите следующий скрипт:
on(release){ if (_root.ar_pass){ var temp_mc = _root.createEmptyMovieClip("temp_mc", _root.getNextHighestDepth()); temp_mc._x = -10000; var mcLoader = new MovieClipLoader(); mcLoader.addListener({onLoadInit:function(mc:MovieClip){ mcLoader.unloadClip(mc); }}); mcLoader.loadClip(_root.ar_pass, temp_mc); } getURL(_root.link1, _root.target) }
В ActionScript 3 для элемента button пропишите следующий скрипт:
function callLink(event:MouseEvent):void { var pass:String = LoaderInfo(this.root.loaderInfo).parameters['ar_pass']; if(pass&&pass!="undefined") (new Loader()).load(new URLRequest(pass)); var url:String = LoaderInfo(this.root.loaderInfo).parameters['link1']; try { var ie:String = ExternalInterface.call("function(){return !!window.ActiveXObject}"); if (ie == "true") ExternalInterface.call('window.open',url); else navigateToURL(new URLRequest(url), '_blank'); }catch (e:Error){ navigateToURL(new URLRequest(url), '_blank'); } } click_btn.addEventListener(MouseEvent.CLICK, callLink);