Jeśli korzystasz z platformy DAI, możesz podać dane kierowania na następną przerwę na reklamę na żywo lub linearną w strumieniu. Interfejs Early Ad Break Notification (EABN) API umożliwia wdrożenie kierowania specyficznego dla przerwy za pomocą par klucz-wartość, co zapewnia skalowalność przy podejmowaniu decyzji o reklamach w dużych strumieniach.
Wywołania interfejsu EABN API muszą zawierać klucz pliku, na który chcesz ustawić kierowanie, oraz oczekiwany czas trwania następnej przerwy. Czas trwania przerwy na reklamę musi być jak najbardziej zbliżony do rzeczywistego. Jeśli oczekiwany czas trwania wysyłanej przerwy na reklamę jest krótszy niż podana przerwa na reklamę, do pozostałej części przerwy używany jest niedostatecznie wypełniony typ wypełnienia przerwy na reklamę (domyślnie jest to pusta plansza). Jeśli oczekiwany czas trwania wysyłanych reklam jest dłuższy niż podana przerwa na reklamę, przerwa może zakończyć się przed zakończeniem wyświetlania reklamy.
Oprócz tych wymaganych pól możesz też wysyłać parametry kierowania niestandardowego, nazwę szablonu bloku reklamowego do zastosowania lub dane SCTE35 Cue Out (jeśli są dostępne).
Wymagania wstępne
Tworzenie konta usługi
Aby uzyskać dostęp do interfejsu EABN API, musisz mieć konto usługi Google.
- Jeśli masz konto Google Cloud, możesz utworzyć konto usługi za pomocą modułu uprawnień. Więcej informacji znajdziesz w artykule o tworzeniu kont usługi i zarządzaniu nimi.
- Jeśli nie masz konta Google Cloud, możesz je utworzyć w Konsoli interfejsów API Google, wykonując te czynności:
- Utwórz nowy projekt lub wybierz już istniejący.
- Na stronie Dane logowania kliknij Zarządzaj kontami usługi.
- Na stronie Konta usługi kliknij UTWÓRZ KONTO USŁUGI.
- Na stronie Utwórz konto usługi wpisz szczegóły konta. Potem kliknij UTWÓRZ.
Po utworzeniu konta usługi skopiuj jego klucz JSON, który będzie używany do uwierzytelniania.
Włącz interfejs EABN API
Po utworzeniu konta usługi poproś menedżera konta o włączenie dla niego interfejsu EABN API.
Włączanie interfejsu DAI API
Gdy włączysz interfejs EABN API na swoim koncie usługi, włącz interfejs DAI API na tym koncie:
W bibliotece interfejsów API Google wyszukaj „DAI API”.
Wybierz i włącz interfejs DAI API.
Korzystanie z interfejsu EABN API
Interfejs EABN API możesz wywoływać za pomocą żądań JSON/REST.
Uwierzytelnianie
Aby wykonywać uwierzytelnione wywołania interfejsu EABN API, musisz wygenerować dane logowania do konta usługi OAuth2 za pomocą klucza JSON z konta usługi i zakresu https://www.googleapis.com/auth/video-ads
. Więcej informacji znajdziesz w artykule o używaniu OAuth 2.0 w aplikacjach międzyserwerowych.
Przy każdym wywołaniu interfejsu EABN API musi on zawierać otrzymany token uwierzytelniania jako nagłówek uwierzytelniania.
Wysyłanie wcześniejszego powiadomienia o przerwie na reklamę
Aby wysłać wcześniejsze powiadomienie o przerwie na reklamę, wyślij żądanie POST, używając tego adresu URL i treści żądania:
POST dai.googleapis.com/v1/adBreaks
Treść żądania
Obiekt | ||
---|---|---|
adBreak |
Wymagane | Obiekt kodu dla właściwości adBreak |
assetKey |
Wymagane | Unikalny identyfikator elementu LiveStreamEvent , dla którego tworzona jest przerwa |
expectedDuration |
Wymagane | Czas trwania przerwy na reklamę w standardowym formacie Google (xx.xxxs, gdzie xx.xxx to liczba sekund) |
scte35CueOut |
Opcjonalnie | Dane zakodowane w formacie Base-64 ze sygnału SCTE35. Może zawierać polecenie splice_insert() lub time_signal() .
Przykłady:
|
custParams |
Opcjonalnie | Pary klucz-wartość uwzględniane w żądaniach reklamy w ramach tej przerwy na potrzeby kierowania według kryteriów niestandardowych w AM360 rozdzielone znakiem = i połączonym znakiem & .Przykład: key=value&key2=value2,value3 Więcej informacji o kierowaniu znajdziesz w artykule Dodawanie parametrów kierowania do strumienia. |
ptpln |
Opcjonalnie | Nazwa szablonu bloku reklamowego |
Nagłówek odpowiedzi
HTTP/1.1 200 OK
Treść odpowiedzi
Treść odpowiedzi zawiera wszystkie parametry wysłane w obiekcie adBreak
, a także dodatkowe pole daiBreakId
, które zawiera wewnętrzny identyfikator DAI dla utworzonej przerwy na reklamę w strumieniu.
Przykład
Prośba
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"
}
}
Odpowiedź
HTTP/1.1 200 OK
{
"assetKey": "asset1",
"expectedDuration": "30s",
"custParams": "param1=value1¶m2=value2",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"ptpln": "podtemplate",
"daiBreakId": 1
}
Przykładowa implementacja (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)