В момент получения RTB блоков из файла с инструкцией по взаимодействию с ними, создаётся объект:
Ya.Context.AdvManager
У этого объекта есть 8 собственных методов для управления RTB-блоками:
Получить их названия можно командой:
Object.keys(Ya.Context.AdvManager) ['preload', 'render', 'renderWidget', 'getSkipToken', 'getCapturedCount', 'getAdSessionId', 'getBlocks', 'destroy']
В момент заргузки HTML-страницы, ПРЕЛОАДЕР считывает из разметки положения кодов RTB-блоков и добавляет эти объекты в свой массив. Это значит, что если в момент отрисовки браузер не увидел каких-то кодов блоков, то они не смогут участвовать в динамических отрисовках.
Метод preload() в Ya.Context.AdvManager
Метод render() в Ya.Context.AdvManager
Метод renderWidget() в Ya.Context.AdvManager
Команда:
Ya.Context.AdvManager.renderWidget(BLOCK_ID)
Принимает параметром идентификатор RTB-блока. Это объект, который имеет вид:
{blockId: 'R-A-321897-5', renderTo: 'yandex_rtb_R-A-321897-5'}
Метод renderWidget() занимается отрисовкой рекламных блоков на HTML-странице.
Метод renderWidget() помогает отрисовать конкретный RTB-блок в конкретном месте разметки HTML-страницы
Метод getSkipToken() в Ya.Context.AdvManager
Метод getCapturedCount() в Ya.Context.AdvManager
Метод getAdSessionId() в Ya.Context.AdvManager
Метод getBlocks() в Ya.Context.AdvManager
Команда:
Ya.Context.AdvManager.getBlocks()
Не принимает параметров. Возвращает массив объектов рекламных блоков вида:
{blockId: 'R-A-321897-5', renderTo: 'yandex_rtb_R-A-321897-5'}
Метод destroy() в Ya.Context.AdvManager
Как убрать все видимые RTB-блоки со страницы браузера?
Команда:
Ya.Context.AdvManager.destroy()
Вызов без параметров удаляет всю отрисованную в RTB-блоках рекламу. Но сами HTML-блоки разметки остаются на своих местах.
Метод destroy() может принимать один параметр, поэтому с его помощью можно точечно удалить рекламу нужного блока. Принимает объекты вида:
{blockId: 'R-A-321897-5', renderTo: 'yandex_rtb_R-A-321897-5'}
Команда:
Ya.Context.AdvManager.destroy({blockId: 'R-A-321897-5', renderTo: 'yandex_rtb_R-A-321897-5'})
После удаления блока, вызов Ya.Context.AdvManager.getBlocks() вернёт на один элемент меньше.