Способы размещения кодов сторонних систем через AdRiver
1. Типы кодов
1.1. Простая ссылка
Представляет собой изображение и ссылку для клика. Пример:
<a href="адрес перехода"><img src="адрес изображения" параметры></a>
1.2. IFrame-код
Общий вид iframe-кода:
<iframe src="http://ad.adriver.ru/cgi-bin/erle.cgi?sid=92926&target=blank&bt=41&pz=0&rnd=188265447" frameborder=0 vspace=0 hspace=0 width=970 height=90 marginwidth=0 marginheight=0 scrolling=no></iframe>
Здесь чётко разделяются адрес фрейма, размеры и другие параметры. Код именно такого вида бывает очень редко. Как правило, в код необходимо включать JavaScript, который генерирует случайное число, тем самым защищая запрос от кеширования браузером.
Пример IFrame-кода с защитой от кеширования:
<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=92926&target=top&bt=41&pz=0&rnd=' + RndNum4NoCash + '&tail256=' + ar_Tail + '" frameborder=0 vspace=0 hspace=0 width=970 height=90 marginwidth=0' + ' marginheight=0 scrolling=no></iframe>'); //--></script>
Обратите внимание, это не JavaScript-овый баннерный код, это именно IFrame-овый баннерный код, вставленный с помощью JavaScript.
IFrame-код имеет фиксированный размер и не влияет на загрузку страницы. Занимает определённое место на странице, независимо от того, что в него загружено. Поэтому, невозможно одному посетителю показывать баннер 600х90, а другому 800х40 на одном и том же IFrame-коде. Кроме того, баннер не может выходить за пределы фрейма. Если баннер размещен в левом верхнем углу сайта, он ничего не может показать в правом нижнем углу.
В AdRiver IFrame-коды — это коды, обозначенные в интерфейсе, как flash width x height, html width x height, img width x height.
Используются для показа баннеров фиксированных размеров, выполненных по различным технологиям (flash, html, gif).
1.3. Объектный код
Объектный код всегда вставляется с помощью JavaScript. С помощью JavaScript проверяется, например, наличие необходимой версии Flash-плагина у посетителя. Если версия Flash-плагина больше или равна заданной, в документ вставляется объект. Также, в адрес объекта с помощью JavaScript добавляется защита от кеширования.
Пример объектного кода с защитой от кеширования:
<!-- AdRiver code START Type: Redirect600x90 Site: primer PZ: 0 BN: 0--> <script language="javascript" type="text/javascript"><!-- var RndNum4NoCash = Math.round(Math.random() * 1000000000); var ar_flashver = 6; var ar_html = ''; var ar_metrics = ' width=600 height=90'; var ar_redirect = 'link1=' + escape('http://ad.adriver.ru/cgi-bin/click.cgi?sid=92926&bt=46&pz=0&rnd=' + RndNum4NoCash + '&target=top'); var ar_Tail='unknown'; if (document.referrer) ar_Tail = escape(document.referrer); ar_flashver = parseInt(ar_flashver);if(isNaN(ar_flashver)) ar_flashver = 0; function ar_flver(d,n,m,f){ n = navigator; f = 'Shockwave Flash'; if ((m = n.mimeTypes) && (m = m["application/x-shockwave-flash"]) && m.enabledPlugin && (n=n.plugins) && n[f]) {d = n[f].description;} else if(window.ActiveXObject) { try { d=(new ActiveXObject((f + '.' + f).replace(/ /g,''))).GetVariable('$version')}catch(e){}} return d ? d.replace(/D+/,'').split(/D+/)[0] : 0; } if(ar_flashver <= ar_flver()) { var ar_src = 'http://ad.adriver.ru/cgi-bin/erle.cgi?sid=92926&target=top&bt=46&pz=0&rnd=' + RndNum4NoCash + '&tail256=' + ar_Tail; ar_html = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + ar_metrics + '>' + '<param name=movie value="' + ar_src + '&' + ar_redirect + '">' + '<param name=play value=true>' + '<param name=loop value=true>' + '<param name=quality value=high>' + '<param name=menu value=false>' + '<param name=flashvars value="' + ar_redirect + '">' + '<param name=allowscriptaccess VALUE=always>' + '<embed type="application/x-shockwave-flash" src="' + ar_src + '"' + ar_metrics + ' play=true loop=true quality=high menu=false flashvars="' + ar_redirect + '"></embed>' + '</object>'; } else { ar_html = '<img src="http://mirror.adriver.ru/expelled.gif"' + ar_metrics + ' alt="You do not have a flash plugin" border=0>'; } document.write(ar_html); //--></script><script language="JavaScript" type="text/javascript" src="http://mirror.adriver.ru/ieupdate.js"></script> <!-- AdRiver code END -->
Обратите внимание на параметр <param name=movie value=”…”> (выделено красным). В данном коде переменная ar_redirect передаёт во flash-ролик адрес перехода, который используется при обработке клика. Внутри flash-ролика этот адрес будет находиться в переменной link1.
Объектный код в ответ на запрос возвращает сам flash-ролик. Поэтому на объектном коде можно показать только тот или иной flash-баннер. В AdRiver объектный код обозначается, как redirect_flash width x height.
Варианты использования объектного кода:
- Размещение баннера, загруженного в AdRiver через стороннюю систему
- Размещение Flash-баннера на Flash-сайте
- Размещение flv-видеоролика в видеоконтенте
1.4. Синхронный JavaScript-код
Общий вид синхронного JavaScript-кода:
<script language="JavaScript" type="text/javascript" src="http://ad.adriver.ru/cgi-bin/erle.cgi?sid=92926&target=top&bt=16&pz=0&rnd=14372653478"></script>
Пример JavaScript-кода с защитой от кеширования:
<!-- AdRiver code START Type: javascript Site: primer PZ: 0 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=92926&target=top&bt=16&pz=0&rnd=' + RndNum4NoCash + '&tail256=' + ar_Tail + '"></sc' + 'ript>'); //--></script> <!-- AdRiver code END -->
Недостаток синхронного JavaScript-кода заключается в том, что до тех пор, пока код баннера не будет загружен и выполнен, загрузка страницы дальше продолжаться не будет. Поэтому, если система недоступна, то страница не загрузится.
В AdRiver JavaScript-код используется для показа баннеров Pop-Under и Rich-media, а также для некоторых нестандартных баннеров. Рекомендуем ставить этот код в самый низ документа, чтобы он не мешал грузиться странице даже при плохой связи с AdRiver.
1.5. Асинхронный JavaScript-код
Пример асинхронного JavaScript-кода с защитой от кеширования:
<!-- AdRiver code START. Type:extension Site: example PZ: 0 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=94499&target=top&bt=43&pz=0&tail256='); </script><!-- AdRiver code END -->
Достоинство асинхронного JavaScript-кода по сравнению с синхронным JavaScript-кодом заключается в том, что загрузка страницы происходит независимо от того, загрузился код баннера или нет.
Разновидности асинхронного JavaScript-кода в AdRiver
Poster | Extension | AjaxJS |
Баннеры загружаются только в том случае, когда посетитель сайта «прокрутил» страницу до места расположения баннера. Если баннерное место сразу попадает в видимую часть страницы, то баннер загрузится только после загрузки всей страницы. Используется для баннеров, располагающихся в невидимой части страницы. | Загружается браузером быстрее, чем poster, обычно применяется для баннеров TopLine, расположенных в видимой части страницы. | Используется для реализации сложных многопанельных баннеров с анимацией и взаимодействием панелей друг с другом. Основной код для баннеров такого типа вынесен в отдельный файл (библиотеку). Таким образом, при подключении библиотек, код на сайте сокращается всего до одной строки. Баннеры на AjaxJS-коде отображаются только тогда, когда загрузка сайта завершена. Баннеры на коде extension и poster могут отобразиться в процессе загрузки сайта, так как они загружаются параллельно (во фрейме). |
Вы можете получить код poster, который будет загружать баннер сразу при загрузке страницы (а не когда посетитель сайта «прокрутил» страницу до места расположения баннера). Для этого выполните следующие действия.
- Сгенерируйте код extension
- В коде баннера измените параметр bt=43 на bt=49
Пример: часть кода extension без изменений:
http://ad.adriver.ru/cgi-bin/erle.cgi?sid=92926&target=blank&bt=43&pz=0&tail256= + ar_Tail
Часть кода extension (изменения выделены красным):
http://ad.adriver.ru/cgi-bin/erle.cgi?sid=92926&target=blank&bt=49&pz=0&tail256= + ar_Tail
Вы можете получить код extension, который будет загружать баннер только тогда, когда посетитель сайта «прокрутил» страницу до места расположения баннера. Для этого выполните следующие действия.
- Сгенерируйте код poster
- В коде баннера измените параметр bt=49 на bt=43
Пример: часть кода poster без изменений:
http://ad.adriver.ru/cgi-bin/erle.cgi?sid=92926&target=blank&bt=49&pz=0&tail256= + ar_Tail
Часть кода poster (изменения выделены красным):
http://ad.adriver.ru/cgi-bin/erle.cgi?sid=92926&target=blank&bt=43&pz=0&tail256= + ar_Tail
Подробнее о том, какие виды баннеров можно показать на каждом коде системы.
2. Размещение сторонних кодов через AdRiver
2.1. IFrame-код
Код AdRiver: iframe | ||
Код сторонней системы: | IFrame-код |
Способы размещения:
|
Объектный код | ||
Синхронный JavaScript | Не рекомендуется, так как размер баннера ограничен пределами IFrame. | |
Асинхронный JavaScript |
2.2. Объектный код
Код AdRiver: объектный код | ||
Код сторонней системы: | IFrame-код | Можно разместить только ссылку на flash-баннер. Способ размещения: загрузка стороннего кода через Location. |
Объектный код | ||
Синхронный JavaScript | ||
Асинхронный JavaScript |
2.3. Синхронный JavaScript
Код AdRiver: синхронный JavaScript | ||
Код сторонней системы: | IFrame-код |
Разместить можно любой код. Однако, особенность синхронного JavaScript-кода в том, что загрузка страницы не происходит, пока код баннера не будет загружен и выполнен. Поэтому рекомендуем ставить этот код в самый низ документа, чтобы он не мешал грузиться странице даже при плохой связи с AdRiver и использовать только для размещения баннеров, не имеющих определённого места на странице. Способы размещения:
|
Объектный код | ||
Синхронный JavaScript | ||
Асинхронный JavaScript |
2.4. Асинхронный JavaScript
Код AdRiver: асинхронный JavaScript | ||
Код сторонней системы: | IFrame-код | Способ размещения: средствами вашего собственного скрипта. Существует также возможность написать письмо с вашим вопросом в службу технической поддержки по адресу support@adriver.ru. |
Объектный код | ||
Синхронный JavaScript | ||
Асинхронный JavaScript |