# Почему отрисовка баннеров - это нетривиальная задача?
Этот вопрос возникает постоянно и каждый раз чтобы на него ответить, приходиться вспоминать и показывать. Казалось бы, что сложного в том, чтобы нарисовать картинку с тайтлом и ценой?
Попробую пробежаться по верхам.
- Богатство форматов
Не многие понимают, какое разнообразие форматов рекламы умеет отрисовывать Яндекс. Есть несколько типов рекламы, которые нужно уметь рисовать. Нативная реклама, еком-ленты с несколькими товарами, медийная реклама, видеореклама, промо-реклама и другие...
Все эти типы рекламы нужно уметь рисовать в разных типах блоков: инстрим-видео, аутстрим-видео, веб-баннеры, мобильный фуллскрин, десктопный фуллскрин, стики-блоки и множество других...
Не забываем что все эти форматы нужно поддерживать как в вебе (прямые коды вставок, SSP, Prebid, AdFox, HeaderBidding), так и в мобилке (Android, iOS).
Под капотом Яндекс для отрисовки баннеров работает несколько механизмов. Есть достаточно простые, которые рисуют баннеры по определенному шаблону (постер, адаптив, ...).
Один из сложных форматов - конструктор баннеров. Смысл его в том, что в отдельном интерфейсе менеджер создает темплейт баннера, состоящий из ассетов (картинка, тайтл, сайт-линки, цена). Таких темплейтов больше тысячи и они выбираются с помощью ML при отрисовке в зависимости от наличия ассетов в самом баннере и других факторов.
Не нужно забывать, что бывают баннеры без картинок, без цены или сайтлинков, это все тоже нужно учитывать.
- Стандарты
Рынок рекламы сильно зарегулирован. В основном это стандарты, разработанный IAB (OpenRTB, Prebid, VAST). Стандарты подразумевают поддержку правильного формата HTTP запросов/ответов, JS интерфейсы.
Сюда же входит необходимость соблюдать региональные законы. В Европе - GDPR, в России - обязательно нужно помечать рекламу надписью "реклама" а также показать домен рекламодателя.
Также есть множество дополнительных сертификаций, которые нужно пройти, чтобы считаться на рынке "своим". Тогда ты можешь рассчитывать на то, что к тебе будут приходить крупные рекламодатели и площадки.
- Телеметрия
После отрисовки нужно понять, что происходит с баннером дальше. Видел ли его пользователь? Кликнул ли по нему пользователь?
Все это обрабатывается клиентским кодом. Продергиваются трекинговые пиксели. При необходимости вызывается код сторонних верификаторов, которые дополнительно промеряют видимость рекламы.
- Браузеры и окружения
Попробуй сделать фреймворк, который будет работать во всех популярных браузерах и окружениях. Учесть при этом все нюансы отрисовки и замеров видимости, обойти все баги.
- Адблок
Уже писал о нем выше https://t.me/c/1929981732/78
Это отдельная большая история. Нужно поддерживать шифрование данных на всех уровнях и отдельные интеграции с внутренними и внешними площадками, чтобы обойти ограничения адблока.
- Инфра и эксперименты
В Яндексе работает отдельная тех-команда. Ребята занимаются инструментарием и стабильностью работы всего богатства технологий и процессов, которые работают под капотом. Релизные циклы, эксперименты, настройка сети и распределение нагрузки, масштабирование, балансировка, мониторинги......