Smarty

  1. Домой
  2. Документы
  3. Smarty
  4. Конфигурация и обслуживание Smarty
  5. Настройка рекламы

Настройка рекламы

Реклама в платформе Smarty на данный момент представляет собой pre-roll-интерактивы для контента и рекламные баннеры.

Прероллы

Рекламные сущности

Рекламный ролик — видео-файл, который будет проигрываться в качестве преролла в сервисе оператора.

Форма создания рекламного ролика

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

Форма создания рекламного блока

Рекламный провайдер — внешняя система предоставления рекламных роликов, самостоятельно определяющая очередь и частоту показов роликов для тех или иных каналов.

Как настроить рекламу

Включить рекламу можно с помощью опции: TVMIDDLEWARE_ADS_ENABLED. Также дополнительно можно настроить временной интервал частоты показа рекламного блока опцией ADS_BLOCK_FREQUENCY_INTERVAL (вкладка «Настройки показа», поле «Максимальная частота отображения блока для одного аккаунта»). Значение указывается в секундах и по умолчанию имеет значение 3600 (1 час).

Максимальное количество возвращаемых рекламных блоков зависит от значения опции ADS_BLOCK_MAX_AMOUNT (по умолчанию 5). При использовании ограничения необходимо учитывать приоритет рекламных блоков, т.к. в начале списка всегда будут блоки с наивысшим приоритетом для показа.

Опции подключаются в конфигурационном файле Smarty (путь по умолчанию /etc/microimpuls/smarty/smarty.py, подробнее об опциях в разделе «Конфигурация и обслуживание Smarty» — «Системные параметры»). После этого необходимо перезагрузить Smarty командой service uwsgi restart.

Хранилище истории просмотра рекламных роликов

Начиная с версии Smarty 1.94 количество просмотров рекламных блоков хранится в redis-кеше (ранее эта информация хранилась в MongoDB). В связи с данным изменением появилась возможность очищать историю просмотров рекламных видеороликов с помощью служебной команды:

smarty_manage clean_old_ads

а также можно использовать команду

smarty_manage flushall

Но в таком случае во избежание непреднамеренной очистки данной информации рекомендуется добавить конфигурацию защищенного (protected) кеша — если в конфигурационном файле отсутствует массив CACHES, то этот пункт можно пропустить, иначе стоит проверить, прописаны ли в нем параметры конфигурации для параметра "protected". Настраивается по аналогии с "default" (обязательно должен отличаться адрес), например:

CACHES = {
           "default": {
                  "BACKEND": "core.cache.backends.RedisCache",
                  "LOCATION": "redis://127.0.0.1:6379/1",
                  "OPTIONS": {
                         'PICKLE_VERSION': 2
                  }
           },
           "protected": {
                  "BACKEND": "core.cache.backends.RedisCache",
                  "LOCATION": "redis://127.0.0.1:6379/2",
                  "OPTIONS": {
                          'PICKLE_VERSION': 2
                  }
           },
}

Записи по просмотру будут сохраняться в первую очередь в защищенную часть кеша, для того, чтобы избежать случайного его удаления.

Внутренняя реклама

1. Создать рекламные ролики, которые необходимо показывать абонентам.

2. Создать рекламный блок, настроив для него следующие параметры:

  • дни недели и время суток, в которые необходимо показывать ролики;
  • количество показов рекламного блока в день на одного абонента;
  • отметить каналы, для которых должны запускаться прероллы;
  • отметить тарифные пакеты, которые должны быть подключены у абонента, чтобы ему отображались ролики;
  • тарифные пакеты, наличие которых у абонента исключает показ рекламы для него.
  • выбрать тип рекламного провайдера «Smarty» и отметить рекламные ролики, входящие в данный рекламный блок.

Реклама от внешнего провайдера AdStream

1. Создать объект рекламного провайдера с помощью объекта External Ad Provider в служебной панели администрирования (ключ запрашивается у внешнего провайдера):

Форма создания рекламного провайдера

2. Создать рекламный блок по тому же принципу, что и для внутренней рекламы, но выбрав созданного рекламного провайдера.

3. Прописать хост для кеширования рекламных роликов с помощью опции ADS_ADSTREAM_HOST_REPLACE.

Реклама от внешнего провайдера Qvol

1. Создать объект рекламного провайдера с помощью объекта External Ad Provider в служебной панели администрирования (домен API запрашивается у рекламного провайдера или менеджера со стороны Microimpuls).

2. Создать рекламный блок по тому же принципу, что и для внутренней рекламы, но выбрав созданного рекламного провайдера.

3. Настроить опцию ADS_EPG_USE_CATEGORIES_AS_GENRES для указания что именно отправлять провайдеру о текущей передаче: жанр или категорию.

4. Прописать хост для кеширования рекламных роликов с помощью опции ADS_QVOL_HOST_REPLACE (в случае надобности, ролики могут также вещаться напрямую от провайдера).

Рекламные баннеры

Концептуально рекламные баннеры — это механизм показа рекламных изображений с текстом и кнопкой перехода к действию, которые можно таргетированно показывать той или иной аудитории внутри абонентской базы.

Настройка в админке

Рекламные баннеры настраиваются в панели администрирования в разделе «Настройки контента» -> «Рекламные баннеры».

Баннер

  • Название (обязательное) — служебное поле, не показывается абоненту.
  • Изображение — файл-картинка для рекламного баннера.
  • Маска текста — сообщение, которое будет показано вместе с рекламным баннером (расположение в зависимости от интерфейса). Сообщение можно таргетировать благодаря переменным.
  • Диплинк — действие для кнопки, расположенной на рекламном баннере (наличие таковой зависит от интерфейса).
  • Дополнительные атрибуты — опциональная возможность для задания дополнительных полей рекламным баннерам (в зависимости от интерфейса).

Аудитория

Фильтры:

  • Тарифные пакеты — если отметить тарифы, то баннер будет показан только тем абонентам, у которых подключен хотя бы один из отмеченных тарифов. Если ни один тариф не отмечен, фильтр по тарифу будет игнорироваться.
  • Доступен в городах — фильтр по геолокации абонента. Если не указан ни один город, фильтр по городу будет игнорироваться.

Список аккаунтов (приоритетнее, чем фильтры):

В подразделе «Список аккаунтов» можно загрузить CSV-файл с Ext ID абонентов, которым будет показан рекламный баннер. Формат файла:

Если у абонента несколько аккаунтов, то баннер будет показан всем аккаунтам абонента. Несуществующие в базе Ext ID абонентов будут проигнорированы. После загрузки CSV-файла и сохранения рекламного баннера в блоке отобразится таблица с перечнем акаунтов:

Настройки показа

  • Включено — рекламный баннер будет показываться только если установлен данный флаг.
  • Публикация с/до (обязательные) — период, в который будет показываться рекламный баннер. Период включает в себя указанные даты.
  • Позиция в списке после — определяет порядок (приоритет) рекламного баннера.
  • Показать только в день рождения абонента — если указан, рекламный баннер будет показываться абоненту в его день рождения (с учетом опции ADS_TARGET_BANNER_BIRTHDAY_OFFSET и полей «Публикация с/до»)

Опции конфигурации

ADS_TARGET_BANNER_BIRTHDAY_OFFSET = [2, 2] #cписок с количеством дней до и после дня рождения, когда будут доступны баннеры ко дню рождения. Формат: [дни_до, дни_после]. Например:[2, 2] означает, что баннер будет показываться в течение 2 дней перед днем рождения абонента и 2 дней после.

ADS_TARGET_BANNER_MAX_HEIGHT = 720 # максимальная высота рекламного баннера. 
ADS_TARGET_BANNER_MAX_WIDTH = 1280 # максимальная ширина рекламного баннера. Если изображение превышает указанные параметры, изображение будет уменьшено до максимальных параметров.

TVMW_TARGET_BANNER_BIRTHDAY_FORMAT = '%d %m %Y' # формат даты рождения в ответе TVMW API метода AccountTargetBannerList в поле message.

Реализация в интерфейсах

На данный момент поддержка баннеров реализована только в шаблоне Sibseti — баннер отображается в качестве фона главного экрана при выставлении опции show_target_banner.

Обновление баннера выполняется каждые 12 часов. Если баннер по какой-то причине недоступен, то для определения фона главного экрана используется стандартный механизм с баннером фильма или изображения из опции main_screen_banner.