Реклама в платформе Smarty на данный момент представляет собой pre-roll-интерактивы для каналов, которые концептуально могут быть 2-х видов:
- внутренняя реклама оператора;
- от рекламного провайдера (требуется интеграция с таковыми).
Рекламные сущности
Рекламный ролик — видео-файл, который будет проигрываться в качестве преролла в сервисе оператора.
Рекламный блок — совокупность параметров конфигурации показа рекламных роликов.
Рекламный провайдер — внешняя система предоставления рекламных роликов, самостоятельно определяющая очередь и частоту показов роликов для тех или иных каналов.
Как настроить рекламу
Включить рекламу можно с помощью опции: 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 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
(в случае надобности, ролики могут также вещаться напрямую от провайдера).