SSP HowTo

Наиболее часто встречающиеся вопросы при работе с SSP

Инструкция описывает части блоков и правила их установки.

Установка блоков

Код состоит из трех частей.

// скрипт
<script async type="text/javascript" src="//static.terratraf.com/engine/sniper/adsbyadsn.js"></script>

// разметка блока
<!-- baner_728_90 -->
<div class="adsbysniper"
    style="display:inline-block;width:728px;height:90px"
    adsn-data-id="sajbqwqcwXXX>" // переменная для доп.функционала
    adsn-data-client="adsn-pub-27300XXXX"
    adsn-data-spot="XXXX"
    adsn-data-status="none">
</div>

// скрипт заполнения
<script type="text/javascript">
    (adsbysniper = window.adsbysniper || []).push({});
    // здесь можно разместить функционал из дополнительных возможностей, описанных ниже
</script>
  1. Скрипт подключается только 1 раз независимо от количества блоков на странице.
  2. Разметка блока устанавливается в места, где должна отображаться реклама.
  3. Скрипт заполнения вызывается после того, как все блоки будут установлены на странице. Если необходимо выводить блоки последовательно с разрывом во времени, то скрипт заполнения должен вызываться каждый раз после вставки очередного блока.

Дополнительные возможности

В скрипт дополнительно можно добавить обработку некоторых событий.

Для этого в коде выше уже введена переменная:

...
adsn-data-id="sajbqwqcwXXX>" // переменная для доп.функционала
...

Заданное в переменной значение будет выдаваться в тексте сообщения при каждом срабатывании любого события, например, "Отсутствует вставка для блока 1378 id - sajbqwqcwXXX".
Обратите внимание, если вам не нужны дополнительные обработчики событий, то вы можете удалить данную переменную из кода установки блоков.

Далее настраивается обработка одного или нескольких событий из списка ниже.

  • Событие на баннер с пустым контентом

Иногда приходит баннер с пустым контентом, и вы хотите понять номер блока, для которого не было показа. В таком случае, в скрипт дополнительно можно добавить событие onEmptyContent, оно отрабатывает, когда приходит баннер с пустым контентом. Для добавления этой возможности в последнюю часть скрипта необходимо вставить код вида:

adsbysniper.onEmptyContent = (e)=>{
        console.log('event',e)
        const li = document.createElement('li');
        li.textContent = 'Отсутствует вставка для блока     '+e.s_subid + ' id - '+e.s_id;
        document.getElementById("log").appendChild(li)
    };

В примере выше будет выведено сообщение, что отсутствует вставка блока и дополнительно заданное id. Например: "Отсутствует вставка для блока XXXX id - sajbqwqcwXXX".
Таким образом, вы можете выявить появление баннеров с пустым контентом и, соответственно, отреагировать.

  • Событие на завершение загрузки баннера для блока

Иногда необходимо определить завершена ли загрузка баннера для блока. В таком случае, в скрипт дополнительно можно добавить событие onload. Настройка данного события поможет, когда в зависимости от результатов загрузки необходимо выполнить те или иные действия на странице. Для добавления этой возможности в последнюю часть скрипта необходимо вставить код вида:

adsbysniper.onload = (e)=>{
		    const li = document.createElement('li');
		    li.textContent = 'Завершена загрузка для блока '+e.s_subid + ' id - '+e.s_id;
		    document.getElementById("log").appendChild(li)
	  };

В примере выше будет выведено сообщение о том, был показан баннер или нет.
Например: "Завершена загрузка для блока XXXX id - sajbqwqcwXXX"
После добавления данной возможности в личном кабинете вам будет доступна информация со статистикой по проценту показа блока / заглушки.

  • Событие на завершение загрузки баннера с непустым контентом

Иногда необходимо точно определить была ли показана реклама. То есть завершилась ли загрузка баннера и при этом убедиться, что загрузилась не "заглушка" или пустой контент. В таком случае, в скрипт дополнительно можно добавить событие onloadAdContainer. Настройка данного события поможет, когда в зависимости от результатов загрузки необходимо выполнить те или иные действия на странице. Для добавления этой возможности в последнюю часть скрипта необходимо вставить код вида:

adsbysniper.onloadAdContainer = (e)=>{
    const li = document.createElement('li');
    li.textContent = 'Завершена загрузка c баннером для блока '+e.s_subid + ' id - '+e.s_id;
    document.getElementById("log").appendChild(li)
};

В примере выше будет выведено сообщение о том, был показан баннер или нет.
Например: "Завершена загрузка c баннером для блока XXXX id - sajbqwqcwXXX".