Absender-Apps für das CAF DAI SDK schreiben

Im Gegensatz zu vorherigen Integrationen zwischen Chromecast und dynamischer Anzeigenbereitstellung ist das CAF-SDK für die dynamische Anzeigenbereitstellung in erster Linie auf die Aufrechterhaltung der Standards und Erwartungen des Cast-Anwendungsframeworks ausgerichtet. Sie müssen Ihre Absender-Apps nicht anpassen, um die bidirektionale Kommunikation zwischen IMA und Absender-App zu verwalten. Diese Kommunikation wird jetzt über die integrierte Funktion CAF-Werbeunterbrechungen verwaltet, sodass Sie nicht mehr zwischen benutzerdefinierten Nachrichtensystemen und Absender-App kommunizieren müssen.

Je nach Absender kann es jedoch erforderlich sein, dem Absender eingeschränkten Code hinzuzufügen, damit die Unterstützung für Werbeunterbrechungen in Anzeigen vollständig genutzt werden kann, z. B. beim Hinzufügen überspringbarer Anzeigen zu Web-Absendern.

Abgesehen von der Unterstützung von CAF-Werbeunterbrechungen werden lediglich die Streamdaten für die dynamische Anzeigenbereitstellung in das CAF-MediaInfo-Objekt aufgenommen, das vom Absender an den Empfänger gesendet wird. Sie können diese Daten auf viele verschiedene Arten senden, z. B. könnten Sie die contentSourceID auf Ihrem Empfänger hartcodieren und nur mit dem MediaInfo-Objekt eine videoID senden, oder Sie könnten eine beliebige ID an den Empfänger senden und von dort aus eine Onlinedatenbank für die tatsächlichen DAI-Parameter abfragen.

Der Einfachheit halber wird in allen Beispielen davon ausgegangen, dass Sie diese einfache Struktur und Namenskonvention für Ihre MediaInfo-Objekte verwenden:

contentId Eine eindeutige ID für dieses Medienelement
contentUrl Die URL des Fallback-Streams, die geladen wird, wenn StreamRequest für die dynamische Anzeigenbereitstellung aus irgendeinem Grund fehlschlägt
streamType Für Livestreams sollte dieser Wert auf „LIVE“ festgelegt werden. Für VOD-Streams sollte dieser Wert auf „BUFFERED“ festgelegt werden
customData Assetschlüssel Nur Livestreams Gibt den zu ladenden Livestream an
contentSourceId Nur VOD-Streams: Gibt den Medienfeed an, der den angeforderten Stream enthält.
videoId Nur VOD-Streams: Gibt den angeforderten Stream im angegebenen Medienfeed an.
API-Schlüssel Ein optionaler API-Schlüssel, der zum Abrufen der Stream-URL aus dem IMA DAI SDK erforderlich ist.
senderCanÜberspringen Boolescher Wert, der dem Empfänger signalisiert, ob das sendende Gerät die Möglichkeit hat, eine Schaltfläche zum Überspringen anzuzeigen, sodass überspringbare Anzeigen unterstützt werden

Beispiel für einen Livestream:

{
  "media": {
    "contentId": "bbb",
    "contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/bbb.m3u8",
    "streamType": "LIVE",
    "customData": {
      "assetKey": "sN_IYUG8STe1ZzhIIE_ksA",
      "ApiKey": "",
      "senderCanSkip": true
    }
  },
  "credentials": "testCredentials"
}

Beispiel für einen VOD-Stream:

{
  "media": {
    "contentId": "tos",
    "contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/tos.m3u8",
    "streamType": "BUFFERED",
    "customData": {
      "contentSourceId": "2528370",
      "videoId": "tears-of-steel",
      "ApiKey": "",
      "senderCanSkip": true
    }
  },
  "credentials": "testCredentials"
}