Уведомление

Доступно только в Google Менеджере рекламы 360.

Динамическая вставка объявлений с помощью DAI API

API для динамической вставки объявлений (DAI API) позволяет получать видеопотоки с монетизацией в случаях, когда не поддерживается IMA SDK (например, на телевизорах Smart TV). В то же время IMA SDK необходимо использовать везде, где это возможно. DAI API поддерживает все функции динамической вставки объявлений, но требуется настройка со стороны издателя.

Прежде чем выбирать тот или иной подход к динамической вставке объявлений, сравните списки поддерживаемых функций.

Требования к использованию API

Задачи, за выполнение которых при использовании API отвечает издатель

  • Предоставление доступа к потоку с динамически вставляемыми объявлениями через конечную точку HTTP, а также настройка обработки ответов JSON.
  • Указание параметров API и пар "ключ-значение" для таргетинга.
  • Добавление элементов, с которыми будут взаимодействовать пользователи (например, активных областей и значков).
  • Прослушивание событий ID3 в проигрывателе. Это нужно, чтобы реализовывать элементы управления проигрывателем и сбор статистики по объявлениям (как в прямых трансляциях, так и в видео по запросу).
  • Реализация таких функций, как прокрутка видео, возврат к началу рекламы и создание закладок.
  • Выбор формата потоковой передачи: HLS или DASH.
Ознакомьтесь с документацией по DAI API для разработчиков. Есть два отдельных руководства, посвященных версиям API для прямых трансляций и видео по запросу. Вы также можете посмотреть примеры кода.

Ниже описывается, как запрашивать и обрабатывать видеопотоки через API в зависимости от типа контента (видео по запросу или прямая трансляция).

Видео по запросу Видео по запросу

API для видео по запросу следует простой процедуре, в которой первая стадия – создание потока, а последняя – подтверждение воспроизведения рекламного ролика:

  1. Для получения потока отправляется HTTP-запрос POST, содержащий идентификатор источника контента (cmsid) и идентификатор видео (vid), ключ API или токен HMAC, а также параметры таргетинга объявлений.

    https://dai.google.com/ondemand/v1/hls/content/<contentId>/vid/<vid>/stream

  2. Обрабатываются включенные в ответ данные о манифесте воспроизведения контента, субтитрах, рекламных паузах и продолжительности видео без учета рекламы.

    {

        "content_duration": 123.451,

        "stream_manifest": "https://dai.google.com/.../master.m3u8",

        "media_verification_url": "https://dai.google.com/.../media/",

        "stream_id": "9ca0c62a-3291-4f95-986f-d1721f8b96f0",

        "total_duration": 163.451,

        "valid_for": "8h0m0s",

        "valid_until": "2018-05-16T23:21:16.558053292-07:00",

        "ad_breaks": [...]

    }

  3. Обрабатываются данные об элементах отдельных объявлений в каждой рекламной паузе, в частности о URL перехода по клику, сопутствующих креативах и продолжительности рекламной паузы. Эта информация используется для отрисовки интерфейса.

    {

      "clickthrough_url": "https://dai.google.com/.../videoclick/1835622921898938400",

      "description": "Example pre-roll ad",

      "duration": 10,

      "seq": 1,

      "title": "Example pre-roll"

    }

  4. При воспроизведении каждого объявления отправляется запрос на адрес media_verification_url с добавленным к этому URL значением ID3.

    https://dai.google.com/view/p/service/vod/stream/3647080d-c223-442e-a364-c456ee712ece/loc/CBF/network/124319096/content/2474148/vid/bbb-clear/media/

Не следует отправлять этой конечной точке запросы для событий ID3 типа Progress, поскольку в результате может произойти ошибка 404.

События Progress нужны, чтобы различать воспроизведение во время рекламной паузы и вне ее. В остальном они не используются для сбора статистики по объявлениям.

Чтобы выявить событие Progress, найдите в файле метаданных формата JSON идентификатор мультимедийного объекта. В поле type должно быть значение progress. С помощью событий ID3 типа Progress можно, например, блокировать элементы управления видео.

прямая трансляция Прямые трансляции

API для прямых трансляций следует простой процедуре, в которой первая стадия – создание потока, а последняя – подтверждение воспроизведения рекламного ролика:

  1. Для получения потока отправляется HTTP-запрос POST, содержащий идентификатор события, ключ API или токен HMAC, а также параметры таргетинга объявлений.

    https://dai.google.com/linear/v1/hls/event/<eventid>/stream
    https://dai.google.com/linear/v1/dash/event/<eventid>/stream

  2. Обрабатываются включенные в ответ данные о манифесте воспроизведения контента, субтитрах, рекламных паузах и продолжительности видео без учета рекламы.

    {

        "stream_manifest": "https://dai.google.com/linear/.../master.m3u8",

        "media_verification_url": "https://dai.google.com/linear/.../media/",

        "metadata_url": "https://dai.google.com/linear/.../metadata",

        "polling_frequency": 10,

        "stream_id": "793bf10c-2323-404d-b23b-0a529d96e651:MRN",

    }

  3. Запрашиваются метаданные объявлений – либо с заданной частотой (polling_frequency), либо отдельно для каждого идентификатора мультимедийного объекта ID3. Во втором случае такой идентификатор добавляется к URL метаданных как параметр запроса.

    {

        "ad_breaks": {

            "0001127859": {

                "ads": 3,

                "duration": 30,

                "type": "mid"

            }

        },

        "ads": {

            "0001127859_ad2": {

                "ad_break_id": "0001127859",

                "ad_id": "39135088",

                "ad_system": "GDFP",

                "clickthrough_url": "http://pubads.g.doubleclick.net/pcs/click?...",

                "creative_id": "103990016608",

                "description": "Example linear 10s ad",

                "duration": 10,

                "position": 2,

                "title": "Example linear ad"

            }

        },

        "tags": {

            "google_0028792773": {

                "ad": "0001127859_ad2",

                "ad_break_id": "0001127859",

                "type": "firstquartile"

            }, ...

        }

    }

  4. При воспроизведении каждого объявления отправляется запрос на адрес media_verification_url с добавленным к этому URL значением ID3.

    https://dai.google.com/view/p/service/linear/stream/f0b8970b-cacb-4a9f-83ee-2ef29db47129:CBF2/loc/CBF2/network/51636543/event/sN_IYUG8STe1ZzhIIE_ksA/media/

Не следует отправлять этой конечной точке запросы для событий ID3 типа Progress, поскольку в результате может произойти ошибка 404.

События Progress нужны, чтобы различать воспроизведение во время рекламной паузы и вне ее. В остальном они не используются для сбора статистики по объявлениям.

Чтобы выявить событие Progress, найдите в файле метаданных формата JSON идентификатор мультимедийного объекта. В поле type должно быть значение progress. С помощью событий ID3 типа Progress можно, например, блокировать элементы управления видео.

Как с помощью DAI API узнать, когда началась или закончилась рекламная пауза в трансляции

При динамической вставке объявлений метаданные ID3 для квартилей (начало, первый квартиль, середина, третий квартиль, завершение и т. д.) добавляются в сегменты объявлений, а метаданные ID3 для событий Progress (каждая секунда) – в сегменты объявлений и рекламных пауз. При первом появлении подобного тега ID3 может активироваться событие "началась рекламная пауза". Если после этого подобные теги ID3 не появляются в течение определенного времени (например, 2,5 секунд), может активироваться событие "закончилась рекламная пауза". Теги ID3, добавленные при динамической вставке объявлений, находятся в файле метаданных формата JSON. Распознать их можно по префиксу google_.

Динамическое обновление таргетинга и/или пар "ключ-значение" в трансляции для определенного пользователя

Поле session_update_url позволяет заменить все параметры тега объявления, чтобы последующие запросы объявлений для прямой трансляции отправлялись с новыми параметрами (такой же результат достигается при помощи метода replaceAdTagParameters). Это полезно в случаях, когда информацию о таргетинге нужно обновлять в зависимости от программы и пользователя, например во время трансляции спортивных мероприятий (критерии таргетинга могут быть неизвестны заранее).

Эта информация оказалась полезной?

Как можно улучшить эту статью?
Поиск
Очистить поле поиска
Закрыть поиск
Главное меню
873066526242186949
true
Поиск по Справочному центру
true
true
true
true
true
148
false
false