Korzystając z platformy DAI od Google, możesz podać dane kierowania nadchodzącej przerwy na reklamę w transmisji na żywo lub linearnej transmisji na żywo. Wczesna przerwa na reklamę Interfejs Notification API (EABN) umożliwia wdrożenie kierowania reklam na przerwy za pomocą: par klucz-wartość, które zapewniają skalowalność przy podejmowaniu decyzji o dużej liczbie reklam strumienie.
Wywołania interfejsu EABN API muszą zawierać klucz zasobu, na który mają być kierowane reklamy, oraz oczekiwany czas trwania następnej przerwy. Czas trwania musi być jak najbardziej zbliżony do rzeczywistej reklamy jak największej długości przerwy. Jeśli oczekiwany czas trwania wysyłanego jest krótszy niż jeśli przerwa na reklamę, Niedostatecznie wypełniony typ wypełnienia przerwy na reklamę (wartość domyślna to pusta plansza) jest używana do końca przerwy. Jeśli że oczekiwany czas trwania jest dłuższy niż podana przerwa na reklamę, może ona przed zakończeniem wyświetlania reklamy.
Poza tymi wymaganymi polami możesz też wysyłać informacje o kierowaniu niestandardowym parametry, nazwę szablonu bloku reklamowego do zastosowania lub SCTE35 Cue Out, jeśli i dostępności informacji.
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 użyć modułu uprawnień do utworzenia konta usługi. Więcej informacji: Tworzenie kont usługi i zarządzanie nimi
- Jeśli nie masz konta Google Cloud, możesz je utworzyć
za pomocą Konsoli interfejsów API Google,
wykonując te czynności:
- Utwórz nowy projekt lub wybierz istniejący.
- Na stronie Credentials (Dane logowania) kliknij Manage service accounts (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 kod JSON który będzie używany do uwierzytelniania.
Włączanie interfejsu EABN API
Po utworzeniu konta usługi poproś menedżera konta o włączenie za pomocą interfejsu EABN API dla tego konta.
Włączanie interfejsu DAI API
Po włączeniu interfejsu EABN API na koncie usługi włącz interfejs DAI API na koncie:
W bibliotece interfejsów API Google wyszukaj „DAI API”.
Wybierz i włącz interfejs DAI API.
Używanie interfejsu EABN API
Możesz wywołać interfejs EABN API za pomocą żądań JSON/REST.
Uwierzytelnianie
Aby wykonywać uwierzytelnione wywołania interfejsu EABN API, musisz wygenerować usługę OAuth2
dane logowania na konto za pomocą klucza JSON z Twojego konta usługi i zakresu
https://www.googleapis.com/auth/video-ads
Więcej informacji:
Używanie protokołu OAuth 2.0 w aplikacjach międzyserwerowych.
Każdy token uwierzytelniania musi zawierać utworzony token uwierzytelniania jako nagłówek uwierzytelniania do interfejsu EABN API.
Wysyłanie wcześniejszego powiadomienia o przerwie na reklamę
Aby wysłać wcześniejsze powiadomienie o przerwie na reklamę, wyślij żądanie POST za pomocą tego kodu Adres URL i treść żądania:
POST dai.googleapis.com/v1/adBreaks
Treść żądania
Obiekt | ||
---|---|---|
adBreak |
Wymagane | Obiekt otoki właściwości adBreak |
assetKey |
Wymagane | Unikalny identyfikator obiektu LiveStreamEvent , dla którego parametr
utworzono przerwę |
expectedDuration |
Wymagane | Czas trwania tej przerwy na reklamę w standardowym formacie Google. (xx.xxxs, gdzie xx.xxx to liczba sekund) |
scte35CueOut |
Opcjonalnie | Dane zakodowane w standardzie Base-64 z sygnału SCTE35. Mogą obejmować
splice_insert() lub time_signal() .
Przykłady:
|
custParams |
Opcjonalnie | Pary klucz-wartość, które mają być uwzględniane w żądaniach reklamy w ramach tej przerwy w przypadku reklam niestandardowych
kryteria kierowania w AM360, rozdzielone znakiem = i połączone znakiem
& .Przykład: key=value&key2=value2,value3
Więcej informacji o kierowaniu reklam znajdziesz na stronie
Kierowanie na zasoby reklamowe
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
,
oraz dodatkowe pole daiBreakId
, które zawiera wewnętrzny DAI
identyfikator utworzonej przerwy na reklamę w strumieniu.
Przykład
Żądanie
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)