Вступление
Комплексное Django-приложение для управления и отображения рекламных блоков от Яндекса с широким спектром настроек.
Уже встроенные фичи:
- Различные типы рекламных блоков: Поддержка баннеров, полноэкранной рекламы, рекламы в нижней части экрана, рекламы в верхней части экрана, каруселей и рекламы в изображениях
- Таргетинг на платформу: показ рекламы на определенных платформах (настольных компьютерах, мобильных устройствах или кроссплатформенных).
- Гибкая настройка: управление местоположением, частотой показа и правилами размещения рекламы.
- Интеграция с промежуточным ПО: автоматическая вставка рекламы в шаблоны на основе правил представления и шаблонов.
- Настраиваемые шаблоны: расширяемая система шаблонов для различных форматов рекламы.
- Контекстная зависимость: интеллектуальное размещение рекламы с интеграцией контекстных данных.
- Поддержка пагинации: автоматическая вставка рекламы между страницами с контентом.
Обзор моделей
Это приложение работает с использованием четырёх моделей: модели для рекламных блоков (YandexAdBlock), модели для местоположения этих рекламных блоков (YandexAdLocation), модели для конфигурации блоков (YandexAdBlockConfiguration, которая определяет, какие единицы измерения использовать) и модели для текущей конфигурации (YandexCurrentAdBlockConfiguration, которая определяет, какую конфигурацию использовать на сайте).
Рассмотрим каждую модель отдельно.
YandexAdBlock
Определяет отдельные рекламные блоки со свойствами:
- Типы рекламных блоков:
- banner — адаптируется под размер обрамляющего контейнера. Один и тот же блок можно размещать одновременно на разных версиях сайта, и он будет показан на всех устройствах.
- fullscreen — отображается на весь экран. Для каждой версии сайта нужно создать отдельный блок.
- floorAd — фиксируется в нижней части экрана поверх содержимого сайта. Для каждой версии сайта нужно создать отдельный блок.
- topAd — фиксируется в верхней части экрана поверх содержимого сайта только на мобильных устройствах.
- feed — отображается в виде ленты объявлений. Один и тот же блок можно размещать одновременно на разных версиях сайта, и он будет показан на всех устройствах.
- inImage — отображается поверх изображений на сайте. Один и тот же блок можно размещать одновременно на разных версиях сайта, и он будет показан на всех устройствах.
- Триггеры запросов на отрисовку(То есть момент, когда нужно отрисовать рекламу)
- on-load значит при загрузке страницы
- on-intersection значит при первом вхождении на экран
- Platform Targeting:
- Desktop — только для десктопа
- Mobile — только для мобильных устройств
- Cross-platform — на обоих
Также, чтобы связать вновь созданную запись с блоком, созданным в РСЯ, необходимо скопировать и вставить предоставленный идентификатор, например, R-A-17293858-16.
YandexAdLocation
Привязывает блоки рекламного объявления к определённым местам на вашем сайте. Вы должны указать их самостоятельно. Например, вы решили разместить объявление на главной странице и вставляете следующее:
При создании новой записи в базе данных необходимо указать свое местоположение как HOME_FIRST_VISIBLE и выбрать блок для отображения.
YandexAdBlockConfiguration
Группирует места размещения рекламы и определяет частоту показа страниц пагинации, если таковые имеются.
YandexCurrentAdBlockConfiguration
Модель Singleton для управления текущей активной конфигурацией рекламы.
Installation
Это приложение Django доступно на PyPI и может быть загружено с помощью этой команды:
После установки приложения его необходимо подключить и настроить для корректной работы. Добавьте его в INSTALLED_APPS и MIDDLEWARE.
Поскольку это промежуточное ПО, необходимо предварительно указать, для каких шаблонов (и представлений) стоит провести работу по определению рекламных мест. Необходимо указать два массива:
Готово. Всё установлено и настроено. Осталось только применить миграции и собрать статические файлы.
Теперь мы точно всё сделали. Теперь осталось подготовить ваши Django-шаблоны для использования промежуточным программным обеспечением YandexAdManager.
Настройка шаблонов
Для начала нам нужно подключить шаблон заголовка. Добавьте его в раздел заголовка базового шаблона (тег <head>):
Затем включите скрипты и стили:
Настройка мест размещения рекламы
Осталось только решить, где мы хотим показывать рекламу. Для этого выберите место, где вы хотите разместить рекламу, и вставьте следующий код:
Одно рекламное место
При создании еще одной записи в базе данных через панель администратора вставьте в поле с названием локации — AD_LOCATION_NAME.
Несколько мест размещения рекламы
Если на одной странице размещено несколько рекламных мест, использующих один и тот же рекламный блок, вам необходимо использовать переменную-unificator, чтобы обеспечить корректную работу с API Яндекса и избежать путаницы.
Или так:
Расположение рекламы на страницах пагинации
Если вы хотите, чтобы реклама появлялась, например, на страницах пагинации между статьями, используйте этот шаблон:
Рекомендации
- Используйте описательные унификаторы для отслеживания эффективности рекламы в разных местах.
- Тестируйте на нескольких устройствах при использовании таргетинга на платформу.
- Отслеживайте плотность рекламы, чтобы избежать перегрузки пользователей.
- Используйте загрузку на основе пересечений для повышения эффективности.
- Настройте подходящие типы объявлений для разных контекстов контента.
Если реклама не показывается
- Проверьте правильность настройки промежуточного ПО.
- Убедитесь, что параметр isYandexAdManagerMiddlewareConnected имеет значение True в шаблонах.
- Убедитесь, что места размещения рекламы правильно настроены в панели администратора.
- Проверьте консоль браузера на наличие ошибок JavaScript.
Примечание: этот пакет официально не связан с Яндексом. Это поддерживаемая сообществом интеграция Django для Рекламной сети Яндекса.
Отзывы
(0)