Мультипанельные баннеры (MPU, FlyScreen, OverLay)
1. Карточка баннера
2. Подготовка баннера на ActionScript 2
2.1. Подготовка мастера
Скачайте пример комплекта файлов.
Сохраните в одну папку файл master1.as и исходники мастера (файлы master.fla, master.flv).
В первый фрейм мастера пропишите следующий код:
#include "master1.as"
function startScene(panel, sync) {
switch (sync) {
case "showPanel1" :
showPanel("panel1");
sendToPanel("panel1","go","start");
break;
case "showPanel2" :
showPanel("panel2");
sendToPanel("panel2","go","start");
break;
case "hidePanel1" :
hidePanel("panel1");
break;
case "hidePanel2" :
hidePanel("panel2");
break;
}
}
function initDone() {
sendEvent(0);
showPanel("panel1");
sendToPanel("panel1","go","start");
}
registerMaster(initDone,startScene,["panel1", "panel2"]);
stop();
Описание:
Для создания собственного сценария взаимодействия панелей используйте команды showPanel, hidePanel, sendToPanel.
Иногда требуется учитывать разные события в баннере, например, загрузку видео, открытие вкладки и т.д. Всего доступно 10 событий с номерами от 0 до 9. Событие ноль (0) является служебным и сообщает о том, что ролик готов к воспроизведению. Перед тем, как регистрировать события 1 — 9, необходимо зарегистрировать событие ноль (0). Обычно это делается в функции initDone. Для регистрации событий используется команда sendEvent(eventId). Если учитывать события не планируется, то команду sendEvent(0) в функции initDone можно не использовать.
Подробнее об учёте событий в баннерах.
2.2. Подготовка панелей
Сохраните в одну папку файл panels1.as и исходники всех панелей.
При начальной загрузке панелей слои, в которые они загружены, открыты (значение visible), поэтому первый кадр панели обычно делается прозрачным.
В первом кадре Flash-ролика каждой панели пропишите команды:
#include "panels1.as"
registerPanel("panel1"); // регистрируем панель, сообщая мастеру её id
stop(); // останавливаемся и ждем дальнейших команд от мастера
panel1 – это имя панели, которое указывается в управляющем файле script.js и в мастере для отправки команд этой панели.
Чтобы сообщить мастеру о том, что нужно переходить к следующему этапу, пропишите в нужном кадре панели следующий код:
_root.sendSync("hidePanel1");
_root.sendSync("showPanel2"); // перейти ко второй панели
stop();
Чтобы определить, сколько раз за демонстрацию всего баннера могут появляться панели, в первом кадре мастера пропишите следующий код:
#include "master1.as"
_root.deb.text = "";
var k=3; // количество показов
var i=0;
function debug(txt){
trace(txt);
_root.deb.text += txt + "n";
}
function startScene(panel, sync){
debug ("received: " + sync + " from: " + panel);
switch (sync){
case "showPanel2": //пришла метка showPanel2
if (i<k) {
showPanel("panel2"); //показать второй элемент panel
sendToPanel("panel2","go","start");
//просим второй элемент panel перейти к метке start
} i++;
break;
case "playPanel1":
sendToPanel("panel1", "go", "continue");
break;
case "hidePanel2": //пришла метка hidePanel2
hidePanel("panel2"); //прячем второй элемент panel
break;
}
}
function initDone(){
debug ("initDone");
sendEvent(0); //сообщить системе AdRiver, что ролик полностью загружен
hidePanel("panel2"); //спрятать элемент panel2
showPanel("panel1"); //открыть элемент panel1
sendToPanel("panel1","go","start");
//просим первый элемент panel перейти к метке start.
}
registerMaster(initDone, startScene, ["panel1", "panel2"]);
stop(); //Останавливаемся и ждем, пока все панели загрузятся
Для учёта клика создайте в нужном кадре Flash-ролика элемент button, для которого напишите следующий код:
on (release) {
_root.makeClick()
}
Эта функция может также использоваться с параметром – альтернативным адресом перехода: _root.makeClick(“http://www.example.com”) , где http://www.example.com – адрес перехода.
Если вы хотите подгружать в Flash-ролик дополнительные части, загруженные в баннер, то необходимо дописать к имени подгружаемого компонента перeменную _root.ar_comppath.
Например, для Flash-файлов:
_root.ar_comppath + 'flash_name.swf'
3. Подготовка баннера на ActionScript 32>
3.1. Подготовка мастера
Скачайте пример комплекта файлов.
Сохраните в одну папку исходники всех Flash-роликов и папку adriver, содержащую библиотеки masterAS3.as и panelsAS3.as.
В первый кадр мастера впишите следующий код:
import adriver.masterAS3;
var my_adriver:masterAS3 = new masterAS3(this);
my_adriver.startScene = function(panel, sync){
with(this){
switch(sync){
case "showPanel1":
showPanel("panel1");
sendToPanel("panel1", "go", "start");
break;
case "showPanel2":
showPanel("panel2");
sendToPanel("panel2", "go", "start");
break;
case "hidePanel1":
hidePanel("panel1");
break;
case "hidePanel2":
hidePanel("panel2");
break;
}
}
}
my_adriver.initDone = function(){
with(this){
sendEvent(0);
showPanel("panel1");
sendToPanel("panel1", "go", "start");
}
}
Описание:
Для создания собственного сценария взаимодействия панелей, используйте команды showPanel, hidePanel, sendToPanel.
Иногда требуется учитывать разные события в баннере, например, загрузку видео, открытие вкладки и т.д. Всего доступно 10 событий с номерами от 0 до 9. Событие ноль (0) является служебным и сообщает о том, что ролик готов к воспроизведению. Перед тем, как регистрировать события 1 — 9, необходимо зарегистрировать событие ноль (0). Обычно это делается в функции initDone. Для регистрации событий используется команда sendEvent(eventId). Если учитывать события не планируется, то команду sendEvent(0) в функции initDone можно не использовать.
Подробнее об учёте событий в баннерах.
3.2. Подготовка панелей
При начальной загрузке панелей слои, в которые они загружены, открыты (значение visible), поэтому первый кадр панели обычно делается прозрачным.
В первом кадре Flash-ролика каждой панели пропишите команды:
import adriver.panelsAS3;
var my_adriver:panelsAS3 = new panelsAS3('panel1', this);
stop();
panel1 – это имя панели, которое указывается в управляющем файле script.js и в мастере для отправки команд этой панели.
В панелях вызов команд осуществляется следующим образом:
my_adriver.sendSync("showPanel2");
Для учёта клика создайте в нужном кадре Flash-ролика элемент button, для которого напишите следующий код:
function cl(event:MouseEvent):void {
my_adriver.makeClick();
}
_click.addEventListener(MouseEvent.CLICK, cl);
Если вы хотите подгружать в Flash-ролик дополнительные части, загруженные в баннер, то необходимо дописать к имени подгружаемого компонента перeменную ar_comppath следующим образом (пример для Flash-файлов):
my_adriver.ar_comppath + 'flash_name.swf'
Вызов событий в панелях осуществляется следующим образом:
my_adriver.sendEvent(2);
где 2 – это пример отправляемого номера события.
4. Подготовка скрипта
Откройте текстовым редактором файл script.js.
Аккуратно внесите изменения в скрипт. Пример:
var ar_gif = '0.gif';
var ar_gif_href = '';
var ar_pix = '';
Переменные:
Дополнительные переменные, которые можно редактировать:
var m_html = a.makeFlash('master.swf'),
p1_html = a.makeFlash('panel1.swf', {wmode: 'transparent'}),
p2_html = a.makeFlash('panel2.swf');
a.MPU.addPanel("master", {width:"240px", height:"400px"}, m_html);
a.MPU.addPanel("panel1", {width:"800px", height:"400px", position:"absolute", left:"0px", top:"0px", zIndex:2}, p1_html);
a.MPU.addPanel("panel2", {width:"240px", height:"400px", position:"absolute", left:"0px", top:"0px", zIndex:1}, p2_html);
a.p.innerHTML = a.makeImage(ar_gif, ar_gif_href, 240, 400);
Переменные:
При необходимости, измените другие параметры отображения баннера: position, zIndex.
Размер загружаемых файлов должен соответствовать спецификации.
5. Загрузка баннера
- Подготовьте баннер согласно п. 2 или п. 3, а также п. 4 инструкции.
- Добавьте баннер special—>AjaxJS—>Generic AjaxJS
- Укажите ссылку на сайт рекламодателя в поле Линк Баннера. При необходимости, укажите другие параметры.
- Нажмите на кнопку Добавить баннер. Вы попадете на страницу редактирования параметров баннера.
- Включите баннер (галочка Вкл.), укажите распределение в течение дня, задайте необходимые ограничения по количеству показов/кликов. При необходимости, настройте другие параметры. Для сохранения введенных настроек нажмите на кнопку Сохранить.
- Кликните по ссылке Загрузить баннер.
- Выберите с помощью кнопки Обзор все файлы баннера – подготовленный в п.4 файл script.js, флэш-файлы мастера и панелей, а также заглушку.
- Нажмите на кнопку Загрузить.
6. Проверка работоспособности
- Скачайте страничку для тестирования на веб-сервере.
- Распакуйте LocalTest.zip и скопируйте в эту папку креативы баннера (все .swf файлы), а также заглушку .gif
- Откройте файл index.html через ваш локальный веб-сервер. Баннер должен показываться корректно, согласно задуманной логике взаимодействия, наложениям, таймингам, позиционированию панелей относительно друг друга и т.п.
- Кликните по баннеру, если происходит переход на сайт клиента или другой сайт, значит клик прописан неправильно.
Важно: В сложных связных панелях система AdRiver или рекламное агентство не имеют возможности проверять и/или исправлять логику, положенную в основу работы Flash-роликов. За корректность последовательности вызова разных панелей и проверку логики их работы отвечает дизайнер, разрабатывающий сложный креатив.