###Важно! Необходимо перед установкой данного кода, удалить наш старый код
<!-- подключаем загрузчик -->
<script async src="http://show.octobird.com/ob.js"></script>
<!-- первый рекламный блок: 320x50, без адалта -->
<div class="octobird-block"
data-site-id="3510"
data-ad-number="1"
data-ad-size="320x50"
data-ad-subs="0"
data-ad-adult="0"></div>
<script>
(adsoctobird = window.adsoctobird|| []).push({
'can_show_callback': function(blockId, block, params) {
console.log('can_show_callback', blockId, block, params);
return true;
},
'no_ads_callback': function(blockId) {
show_ads(0, 3510);
}
});
</script>
<!-- второй рекламный блок: 300x250 или 320x50, с адалтом -->
<div class="octobird-block"
data-site-id="3510"
data-ad-number="1"
data-ad-size="300x250,320x50"
data-ad-subs="1"
data-ad-adult="1"></div>
<script>
(adsoctobird = window.adsoctobird|| []).push({
'no_ads_callback': function(blockId) {
show_ads(0, 3510);
}
});
</script>
Чтобы включать/выключать адалт через код, он должен быть включен по умолчанию в настройках сайта
can_show_callback Решает, можно показать рекламу или нет. Должен возвращать true/false
data-ad-subs Включает/выключает подписки
Как воспроизвести баг - в приватном режиме браузера открыть сайт http://picsmo.ru
Вверху будет 2 рекламных блока (в нашем случае octobird и mobiads). Второй блок подгружается потому что вызывается
no_ads_callback
хотя реклама octo есть.Проблема возникает только при первом заходе пользователя на сайт где стоит код octobird (пустая кука "oid") и используется
no_ads_callback
Доп инфа
Получаю такой ответ от show.octobird.com
HTTP-запрос
Проблема похоже в параметре
"invisible": true
кусок из ob.js где видно что при invisible: true вызывается fireNoAdsCallback() и больше ничего.
В итоге мы на своей стороне ловим этот NoAdsCallback() и встраиваем другую рекламу, хотя ваша реклама показывается и invisible: true её как минимум не удаляет из DOM и не скрывает.
В итоге видим 2 рекламных блока на одной позиции octo + другая сетка.
