Interfejs API Early Ad Break Notification API

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:
    1. Utwórz nowy projekt lub wybierz istniejący.
    2. Na stronie Credentials (Dane logowania) kliknij Manage service accounts (Zarządzaj kontami usługi).
    3. Na stronie Konta usługi kliknij UTWÓRZ KONTO USŁUGI.
    4. 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:

  1. W bibliotece interfejsów API Google wyszukaj „DAI API”.

  2. 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:
  • time_signal():
    /DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==
  • splice_insert(): /DAvAAAAAAAA///wFAVIAACPf+/+c2nALv4AUsz1AAAAAAAKAAhDVUVJAAABNWLbowo=
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&param2=value2",
    "ptpln": "podtemplate"
  }
}

Odpowiedź

HTTP/1.1 200 OK

{
  "assetKey": "asset1",
  "expectedDuration": "30s",
  "custParams": "param1=value1&param2=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&param2=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)