Способы размещения кодов сторонних систем через 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 | ||