Синхронизация анимации в сессионных кампаниях
В некоторых сессионных кампаниях требуется, чтобы при загрузке страницы анимация в двух баннерах стартовала синхронно. Для этого выполните следующие действия:
Подготовка flash-роликов (далее flash-ролик №1 и flash-ролик №2)
- Требования к среде разработки:
- ActionScript 2.0
- FlashPlayer 8.0
-
1) Подготовка flash-ролика №1:
-
Если во flash-ролике анимация расположена на главном timeline, то скопируйте код и разместите его на первом кадре:
System.security.allowDomain("*");
import flash.external.ExternalInterface;
var adFoxChanel = "ads." + ExternalInterface.call("function(d){return 'adfox'+pr;}");
clientSender = new LocalConnection();
var intID = setInterval(function () {
clientSender.send(_root.adFoxChanel,"methodToExecute","verification");
}, 10);
clientSender.onStatus = function(infoObject:Object) {
if (infoObject.level == "status") {
clearInterval(intID);
_root.play();
clientSender.onStatus = null;
setTimeout(function(){
clientSender.send(_root.adFoxChanel,"methodToExecute","start");
},0);//при необходимости запустить анимацию во втором flash через определённый промежуток времени, ноль исправить на нужное число миллисекунд
}
};
stop();
-
Если во flash-ролике анимация расположена в каком-либо movieclip, то скопируйте следующий код, разместите его на первом кадре
Необходимо внести изменения в код. А именно: вместо InstanseName_вашего_movieclip подставьте значение InstansName movieclip, в котором расположена анимация.System.security.allowDomain("*");
import flash.external.ExternalInterface;
var adFoxChanel = "ads." + ExternalInterface.call("function(d){return 'adfox'+pr;}");
clientSender = new LocalConnection();
var intID = setInterval(function () {
clientSender.send(_root.adFoxChanel,"methodToExecute","verification");
}, 10);
clientSender.onStatus = function(infoObject:Object) {
if (infoObject.level == "status") {
clearInterval(intID);
_root.InstanseName_вашего_movieclip.play();
clientSender.onStatus = null;
setTimeout(function(){
clientSender.send(_root.adFoxChanel,"methodToExecute","start");
},0);//при необходимости запустить анимацию во втором flash через определённый промежуток времени, ноль исправить на нужное число миллисекунд
}
};
_root.InstanseName_вашего_movieclip.stop();
Если код изменен верно, то при запуске flash-ролика анимация стартовать не должна.
В данном коде был создан новый LocalConnection c каналом, имя которого равно значению переменной adFoxChannel. Через каждые 10 мс в этот канал отправляется параметр «start». Далее происходит проверка статуса отправки параметра в канал LocalConnection: если где-то есть приёмник с именем канала, равным значению переменной adFoxChannel, - обнуляется интервал (10 мс) и запускается анимация во flash. В данном случае запуск анимации во flash является прямым доказательством того, что оба flash’а загружены на страницу.
-
-
2) Подготовка flash-ролика №2:
-
Если необходимо запустить анимацию во flash-ролике №2, причем она находится на главном timeline, то скопируйте код и разместите код на первом кадре:
System.security.allowDomain("*");
import flash.external.ExternalInterface;
var adFoxChanel = "ads." + ExternalInterface.call("function(d){return 'adfox'+pr;}");
var serverName:LocalConnection = new LocalConnection();
serverName.methodToExecute = function(param) {
if (param == "start") {
_root.play();
}
};
serverName.connect(_root.adFoxChanel);
stop();
-
Если во flash-ролике анимация расположена в каком-либо movieclip, то скопируйте следующий код, разместите его на первом кадре
Необходимо внести изменения в код. А именно: вместо InstanseName_вашего_movieclip подставьте значение InstansName movieclip, в котором расположена анимация.System.security.allowDomain("*");
import flash.external.ExternalInterface;
var adFoxChanel = "ads." + ExternalInterface.call("function(d){return 'adfox'+pr;}");
var serverName:LocalConnection = new LocalConnection();
serverName.methodToExecute = function(param) {
if (param == "start") {
_root.InstanseName_вашего_movieclip.play();
}
};
serverName.connect(_root.adFoxChanel);
_root.InstanseName_вашего_movieclip.stop();
Если код изменен верно, то при запуске flash-ролика анимация стартовать не должна.
-
Добавление в AdFox
-
Добавьте сессионную (на одной странице) кампанию.
-
Далее добавьте баннеры и загрузите подготовленные по требованиям flash-ролики. Сохраните баннеры.
При добавлении баннеров используйте Безразмерные типы баннеров, в противном случае, не будет выполнена синхронизация анимации. Подробнее об отличиях между Стандартными и Безразмерными типами можете посмотреть здесь. -
Откройте параметры первого баннера:

и для flash-ролика измените banner.adfox.ru в ссылке на swf на один из следующих ip адресов:- 81.177.7.20
- 81.177.7.21
- 81.177.7.22
- 81.177.7.23
- 81.177.7.24
- 81.177.7.25
Например, была ссылка :
http://banners.adfox.ru/110318/adfox/144175/371336_1.swf,
а после изменения стала:
http://81.177.7.20/110318/adfox/144175/371336_1.swf
-
Откройте параметры второго баннера и измените в ссылке на swf для flash-ролика banner.adfox.ru на тот же ip адрес, который был указан для первого баннера.
-
Готово, теперь при загрузке станицы анимация во flash-роликах будет стартовать синхронно.
NB: ip должен быть одинаковым для обоих flash-роликов, иначе они не установят соединение.
Последнее обновление: 05.08.2011
См. также:
AdFox. Базовый курс
Видео-хелп
Пользователи
Сайты
Рекламные кампании
Баннеры
Таргетирование
Статистика
Частые вопросы
Требования к баннерам
Banner requirements
Глоссарий