SideKick



1. Карточка баннера

Описание:
баннер, сдвигающий контент сайта по наведению на него курсора мыши.
Тип кода:
Ajax.
Подробнее:
SideKick представляет собой несколько Flash-роликов, взаимодействующих по определённому сценарию. На странице размещается Flash-ролик 240х400. По наведению на него курсора мыши появляется большой Flash-ролик, который сдвигает контент сайта влево. После того, как ролик проиграется, контент сайта возвращается на прежнее место. SideKick – это вариант баннера MPU. Мастер загружается первым и постоянно находится на экране, обеспечивая синхронизацию сценария ролика. Взаимодействие панелей происходит через мастер, относительно которого они позиционируются. В первом кадре панели проводится инициализация и отправка мастеру сообщения о том, что панель загружена и готова принимать команды. После этого панель останавливается. Панели взаимодействуют друг с другом только через мастера. Для этого используется команда sendSync (метка синхронизации). Диспетчер сценария мастера отслеживает команды от панелей и выполняет необходимые действия. Мастер имеет размер 240х400. Первая панель — это Flash-ролик 240х400. Вторая панель — это большой Flash-ролик, сдвигающий контент.
Обсчёт внешними системами:
пиксель-аудит в Flash-баннерах.

2. Подготовка Flash-ролика

2.1. Flash-ролик на ActionScript 2

2.1.1. Мастер


  1. Скачайте пример комплекта файлов для Flash-роликов.
  2. Сохраните в одну папку файл master1.as и исходники мастера.
  3. В первый фрейм мастера пропишите следующий код:
    #include "master1.as"
    
    function startScene(panel, sync) {
    	 switch (sync) {
    	    case "showPanel2":
    	      sendToJS("slide_up","panel2");
    	      sendToPanel("panel2","go","start");
    	      break;
    	    case "hidePanel2":
    	      sendToJS("slide_down","panel2");
    	      break;
        }
    }
    
    function initDone() {
    	 sendEvent(0);
    	 showPanel("panel1");
    	 sendToPanel("panel1","go","start");
    }
    
    registerMaster(initDone,startScene,["panel1", "panel2"]);
    stop();
    

    Описание:

function startScene(panel, sync)
диспетчер сценария. Реализует сценарий взаимодействия панелей
function initDone()
выполняет первичную инициализацию ролика. Выполняется автоматически, когда все панели загружены
sync
метка синхронизации, с помощью неё мастер получает отчёты от панелей. Панель, отправившая команду sync, может остановиться, а может продолжать выполнение команд
showPanel
открыть панель
hidePanel
закрыть панель
sendToPanel
отправить панели команду перейти к определённой метке
sendEvent
сообщить AdRiver о событии
sendToJS(“slide_up”,”panel2″)
поcлать команду “slide_up” в script.js и в качестве аргумента передать “panel2”
sendToJS(“slide_down”,”panel2″)
поcлать команду “slide_down” в script.js и в качестве аргумента передать “panel2”
registerMaster(initDone, startScene, [“panel1”, “panel2”])
регистрация мастера и ожидание подтверждения о загрузке панелей. В качестве аргументов указываются:
initDone
функция инициализации
startScene
функция диспетчера сценария
[“panel1”, “panel2”]
список панелей с идентификаторами

2.1.2. Панели


  1. Сохраните в одну папку файл panels1.as и исходники всех панелей.
  2. При начальной загрузке панелей слои, в которые они загружены, открыты (значение visible), поэтому первый кадр панели обычно делается пустым.
  3. В первом кадре Flash-ролика для каждой панели пропишите команды:
    #include "panels1.as"
    
    registerPanel("panel1");	// регистрируем панель, сообщая мастеру её id
    stop();				// останавливаемся и ждем дальнейших команд от мастера
    

    panel1 – это имя панели, которое указывается в script.js и в мастере для отправки команд этой панели.

  4. Для возвращения SideKick в исходное состояние в нужном месте необходимо вызвать команду sendSync(“hidePanel2”):
    sendSync("hidePanel2"); // закрыть вторую панель 
    stop();
    
  5. Для учёта клика создайте в нужном кадре Flash-ролика элемент button, для которого напишите следующий код:
    on (release) {
     makeClick()
    }
    

    Эта функция может также использоваться с параметром — альтернативным адресом перехода: makeClick(“http://www.example.com”). Подробнее см. Мультипанельные баннеры (MPU, FlyScreen, OverLay).

Если вы хотите подгружать в Flash-ролик дополнительные части, загруженные в баннер, то к имени подгружаемого компонента необходимо дописать перeменную _root.ar_comppath.

Например, гдя .swf файлов:

_root.ar_comppath + 'flash_name.swf'

Размер загружаемых файлов должен соответствовать спецификации.

2.2. Flash-ролик на ActionScript 3

2.2.1. Мастер


  1. Скачайте пример комплекта файлов.
  2. Сохраните в одну папку исходники всех Flash-роликов и папку adriver, содержащую две библиотеки (masterAS3.as и panelsAS3.as).
  3. В первый кадр мастера пропишите следующий код:
    import adriver.masterAS3;
    
    var my_adriver:masterAS3 = new masterAS3(this);
    my_adriver.startScene = function(panel, sync){
       with(this){
       switch (sync) {
           case "showPanel2" :
               sendToJS("slide_up","panel2");
               sendToPanel("panel2","go","start");   //просим второй элемент panel перейти к метке start
               break;
           case "hidePanel2" :
               sendToJS("slide_down","panel2");
               break;
           case "hidePanel1" :
               hidePanel("panel1");
               break;
       }
    }}
    
    my_adriver.initDone = function(){
       with(this){
       sendEvent(0);
    
       showPanel("panel1");
       sendToPanel("panel1","go","start");
       }
    } 

    Описание:

function startScene(panel, sync)
диспетчер сценария. Реализует сценарий взаимодействия панелей
function initDone()
выполняет первичную инициализацию ролика. Выполняется автоматически, когда все панели загружены
sync
метка синхронизации, с помощью неё мастер получает отчёты от панелей. Панель, отправившая команду sync, может остановиться, а может продолжать выполнение команд
showPanel
открыть панель
hidePanel
закрыть панель
sendToPanel
отправить панели команду перейти к определённой метке
sendEvent
сообщить AdRiver о событии

Для создания собственного сценария взаимодействия панелей, используйте команды showPanel, hidePanel, sendToPanel

Иногда требуется учитывать разные события в баннере, например, загрузку видео, открытие вкладки и т.д. Всего доступно 10 событий с номерами от 0 до 9. Событие ноль (0) является служебным и сообщает о том, что ролик готов к воспроизведению. Перед тем, как регистрировать события 1 — 9, необходимо зарегистрировать событие ноль (0). Обычно это делается в функции initDone. Для регистрации событий используется команда sendEvent(eventId). Если учитывать события не планируется, то команду sendEvent(0) в функции initDone можно не использовать.

Подробнее об учёте событий в баннерах.

2.2.2. Панели


  1. При начальной загрузке панелей слои, в которые они загружены, открыты (значение visible), поэтому первый кадр панели обычно делается прозрачным.
  2. В Flash-ролике для панели пропишите команды:
    import adriver.panelsAS3;
    var my_adriver:panelsAS3 = new panelsAS3('panel1', this);
    stop();
    

    panel1 – это имя панели, которое указывается в script.js и в мастере для отправки команд этой панели.

  3. В панелях вызов команд осуществляется следующим образом:
    my_adriver.sendSync("showPanel2");
    
  4. Для учёта клика создайте в нужном кадре Flash-ролика элемент button, для которого напишите следующий код:
    function cl(event:MouseEvent):void {
    	 my_adriver.makeClick();
    }
    _click.addEventListener(MouseEvent.CLICK, cl);
    

Если вы хотите подгружать в Flash-ролик дополнительные части, загруженные в баннер, то к имени подгружаемого компонента необходимо дописать перeменную ar_comppath следующим образом (пример для файлов .swf):

my_adriver.ar_comppath + 'flash_name.swf'

Вызов событий в панелях осуществляется следующим образом:

my_adriver.sendEvent(2);

Размер загружаемых файлов должен соответствовать спецификации.

3. Подготовка скрипта

  1. Откройте текстовым редактором файл script.js.
  2. При необходимости, внесите изменения в верхнюю часть скрипта, отмеченную как Editable block:
    var ar_gif	     = '0.gif';
    var ar_gif_href	 = ''; 
    var ar_pix	     = '';
    var ar_time	     = 2;

    Описание:

ar_gif
имя заглушки. Укажите ваше имя файла. Файл может быть загружен со стороннего сервера — в этом случае впишите полный адрес, начинающийся с «http://» или «https://»
ar_gif_href
альтернативный клик по заглушке. Если не нужен, оставьте пустым
ar_pix
вызов стороннего счётчика. Если не нужен, оставьте пустым
ar_time
время (в сек.), за которое сдвигается вторая панель
  1. Если необходимо, измените параметры панелей в соответствующих строках скрипта:
    var m_html  = a.makeFlash('master.swf'),
        p1_html = a.makeFlash('panel1.swf'),
        p2_html = a.makeFlash('panel2.swf');
    			
    a.MPU.addPanel("master", {width:"240px", height:"400px"}, m_html);
    a.MPU.addPanel("panel1", {width:"240px", height:"400px", position:"absolute", left:"0px", top:"0px", zIndex:2}, p1_html);
    a.MPU.addPanel("panel2", {width:"10px", height:"10px", position:"absolute", left:"0px", top: a.getScreenGeometry().st + 'px', zIndex:65000}, p2_html, document.body);
    			
    a.MPU.start();
    }
    else if (ar_gif) {
      a.p.innerHTML = a.makeImage(ar_gif, ar_gif_href, 240, 400);
    }
    

    Описание:

m_html
имя мастера (отмечено красным). Укажите ваше имя файла. Файл может быть загружен со стороннего сервера — в этом случае впишите полный адрес, начинающийся с «http://» или «https://»
p1_html
имя первой панели (отмечено красным). Укажите ваше имя файла. Файл может быть загружен со стороннего сервера — в этом случае впишите полный адрес, начинающийся с «http://» или «https://»
p2_html
имя второй панели (отмечено красным). Укажите ваше имя файла. Файл может быть загружен со стороннего сервера — в этом случае впишите полный адрес, начинающийся с «http://» или «https://»
width
ширина Flash-роликов. Укажите ваше значение
height
высота Flash-роликов. Укажите ваше значение
height
высота Flash-роликов. Укажите ваше значение

При необходимости, укажите другие параметры – position, left, top, zIndex.

  1. Сохраните файл script.js. Баннер готов к загрузке.

4. Загрузка баннера

  1. Подготовьте баннер согласно п. 2 и п. 3 инструкции.
  2. Добавьте баннер special—>AjaxJS—>Generic AjaxJS
  3. Укажите ссылку на сайт рекламодателя в поле Линк Баннера. При необходимости, укажите другие параметры.
  4. Нажмите на кнопку Добавить баннер. Вы попадете на страницу редактирования параметров баннера.
  5. Включите баннер (галочка Вкл.), укажите распределение в течение дня, задайте необходимые ограничения по количеству показов/кликов. При необходимости, настройте другие параметры. Для сохранения введенных настроек нажмите на кнопку Сохранить.
  6. Кликните по ссылке Загрузить баннер.
  7. Выберите с помощью кнопки Обзор все файлы баннера – подготовленный в п.4 файл script.js, флэш-файлы мастера и панелей, а также заглушку.
  8. Нажмите на кнопку Загрузить.

5. Полезные ссылки