При использовании платформы Google DAI вам может потребоваться предоставить данные таргетинга для следующей предстоящей прямой/линейной рекламной паузы в потоке. API раннего уведомления о рекламных паузах (EABN) позволяет реализовать таргетинг на конкретные паузы с использованием пар ключ-значение, что обеспечивает масштабируемость для принятия решений по рекламе в потоках большого объема.
Вызовы API EABN должны включать целевой ключ актива и ожидаемую продолжительность следующего перерыва. Продолжительность должна быть как можно ближе к фактической продолжительности рекламной паузы. Если ожидаемая продолжительность отправки короче предоставленной рекламной паузы, для оставшейся части рекламной паузы используется тип заполнения рекламной паузы « Неполное заполнение» (по умолчанию — «чистый лист»). Если ожидаемая продолжительность отправки превышает предоставленную рекламную паузу, ваша рекламная пауза может закончиться до того, как реклама будет завершена.
В дополнение к этим обязательным полям вы также можете отправить параметры пользовательского таргетинга, имя применяемого шаблона рекламного блока или данные SCTE35 Cue Out , если они доступны.
Предварительные условия
Создать учетную запись службы
Для доступа к API EABN вам понадобится учетная запись службы Google.
- Если у вас есть учетная запись Google Cloud, вы можете использовать модуль IAM для создания учетной записи службы. Дополнительную информацию см. в разделе Создание учетных записей служб и управление ими .
- Если у вас нет учетной записи Google Cloud, вы можете создать учетную запись службы из консоли Google API , выполнив следующие действия:
- Создайте новый проект или выберите существующий проект.
- На странице «Учетные данные» нажмите «Управление учетными записями служб» .
- На странице «Служебные учетные записи» нажмите «СОЗДАТЬ СЕРВИСНУЮ АККАУНТ» .
- На странице «Создать учетную запись службы» введите данные учетной записи. Затем нажмите СОЗДАТЬ .
После успешного создания учетной записи службы скопируйте ключ JSON учетной записи, который будет использоваться для аутентификации.
Включить API EABN
После создания учетной записи службы попросите своего менеджера по работе с клиентами включить API EABN для этой учетной записи.
Включить API DAI
После включения API EABN для вашей учетной записи службы включите API DAI в учетной записи:
В библиотеке Google API найдите «DAI API».
Выберите и включите DAI API.
Использование API ЕАБН
Вы можете вызвать API EABN, используя запросы JSON/REST.
Аутентификация
Чтобы выполнить аутентифицированные вызовы к API EABN, вам необходимо сгенерировать учетные данные учетной записи службы OAuth2, используя ключ JSON из вашей учетной записи службы и область действия https://www.googleapis.com/auth/video-ads
. Дополнительные сведения см. в разделе Использование OAuth 2.0 для межсерверных приложений .
Полученный токен аутентификации необходимо включать в качестве заголовка Auth для каждого вызова API EABN.
Отправка раннего уведомления о рекламной паузе
Чтобы отправить раннее уведомление о рекламной паузе, отправьте запрос POST, используя следующий URL-адрес и тело запроса:
POST dai.googleapis.com/v1/adBreaks
Тело запроса
Объект | ||
---|---|---|
adBreak | Необходимый | Объект-оболочка для свойств adBreak |
assetKey | Необходимый | Уникальный идентификатор LiveStreamEvent , для которого создается разрыв. |
expectedDuration | Необходимый | Продолжительность рекламной паузы в стандартном формате Google (xx.xxxs, где xx.xxx — количество секунд). |
scte35CueOut | Необязательный | Данные в кодировке Base-64 из сигнала scte35. Может включать команду splice_insert() или time_signal() .Примеры:
|
custParams | Необязательный | Пары «ключ-значение» будут включены в запросы объявлений в этот перерыв для таргетинга на специальные критерии в AM360, разделенные знаком = и соединенные знаком & .Пример: key=value&key2=value2,value3 Дополнительную информацию о таргетинге см. в разделе Добавление параметров таргетинга в ваш поток . |
ptpln | Необязательный | Название шаблона рекламного пакета |
Заголовок ответа
HTTP/1.1 200 OK
Тело ответа
Тело ответа содержит все параметры, отправленные в объекте adBreak
, а также дополнительное поле daiBreakId
, которое содержит внутренний идентификатор DAI для созданной рекламной паузы в потоке.
Пример
Запрос
POST /v1/adBreaks HTTP/1.1
Content-Type: application/json
{
"adBreak": {
"assetKey": "asset1",
"expectedDuration": "30s",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"custParams": "param1=value1¶m2=value2",
"ptpln": "podtemplate"
}
}
Ответ
HTTP/1.1 200 OK
{
"assetKey": "asset1",
"expectedDuration": "30s",
"custParams": "param1=value1¶m2=value2",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"ptpln": "podtemplate",
"daiBreakId": 1
}
Пример реализации (Python)
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from absl import app
from google.auth.transport.requests import AuthorizedSession
from google.oauth2 import service_account
SERVICE_ACCOUNT_KEY_FILE = "~/eabn_key.json"
ASSET_KEY = "asset1"
SCOPES = ['https://www.googleapis.com/auth/video-ads']
EABN_API_URL = 'https://dai.googleapis.com/v1/adBreaks'
def main():
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_KEY_FILE, scopes=SCOPES)
authed_session = AuthorizedSession(credentials)
data = {
'assetKey': ASSET_KEY,
'expectedDuration': '120s',
'custParams': 'param1=value1¶m2=value2',
'scte35CueOut': '/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==',
}
r = authed_session.post(EABN_API_URL, json={'adBreak': data})
print(r.status_code)
print(r.headers)
print(r.text)
if __name__ == '__main__':
app.run(main)