Erste Schritte mit SGAI

Die vom Server geführte Anzeigenbereitstellung bietet ein Manifest für den Anzeigen-Pod, Stitching auf Clientgeräten. Wenn Sie die dynamische Anzeigenbereitstellung für die Pod-Auslieferung in Ihrem Ad Manager-Netzwerk haben Sie Zugriff auf SGAI. Wenn Sie die Pod-Auslieferung nicht nutzen Die dynamische Anzeigenbereitstellung ist aktiviert. Wenden Sie sich an Ihren Account Manager.

Mit SGAI verwenden Sie die API-Endpunkte der Pod-Bereitstellung, um einen Stream zu erstellen. Anzeigenmetadaten und die Manifeste des Anzeigen-Pods abzurufen.

Wenn Sie einen Server für Manifestbearbeitung haben, können Sie den Anzeigen-Pod generieren. Manifest-URLs und Anzeigenmarkierungen einfügen, die die Manifestinformationen des Anzeigen-Pods enthalten gemäß Ihrer bevorzugten Spezifikation in Ihrem Contentstream.

Alternativ kannst du eine Werbeunterbrechung mit einem anderen Mechanismus planen, als die Anzeigenmarkierungen im Streammanifest. In diesen Fällen kann Ihre App auf andere Ereignisse, z. B. Nutzerinteraktionen mit dem Stream, die App selbst, oder Push-Benachrichtigungen. Nach diesen Ereignissen kann die App die Anzeige generieren. Pod-Manifest-URLs an und weisen Sie den Player an, mit dem Laden des Anzeigen-Pod-Manifests zu beginnen.

Vorbereitung

Bevor Sie fortfahren, benötigen Sie Folgendes:

Empfehlungen folgen

Bevor Sie die Manifest-URL des Anzeigen-Pods generieren, empfehlen wir, nennen Sie die Early Ad Break Notification (EABN) API die erwartete Dauer, Targeting-Informationen und andere -Parameter jeder Werbeunterbrechung.

Rufen Sie für Produktions- und Teststreams die EABN API auf, insbesondere wenn Ihre alle programmatischen Kampagnen enthält. Weitere Informationen finden Sie unter Funktionen und Richtlinien für Programmatic Direct

Anfrage für eine Streamregistrierung stellen

Wenn ein Nutzer in Ihrer Videoplayer-App einen Contentstream startet, erstellen Sie einen Stream. Registrierungsanfrage mit Targeting-Parametern, um eine Streaming-Sitzung zu erstellen in Ad Manager. Weitere Informationen dazu, wie du eine Registrierungsanfrage für einen Stream stellst, findest du unter Method:stream: Anschließend erhalten Sie Antwortdaten aus der Anfrage.

In den folgenden Beispielen wird eine Anfrage für eine Streamregistrierung gestellt:

Nur-Text-HTTP

  • Anfrage:
authority: dai.google.com
method: POST
path: /ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream
scheme: https
content-type: application/x-www-form-urlencoded

cust_params=customID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2
  • Response:
{
    "manifest_format": "hls",
    "media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
    "metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
    "polling_frequency": 10,
    "session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
    "stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}

Muschel

  • Befehlszeile:
curl \
-H "Host: dai.google.com" \
-H "content-type: application/x-www-form-urlencoded" \
  --data-binary "cust_params=channelID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2" \
  --compressed "https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream"
  • Ausgabe:
{
    "manifest_format": "hls",
    "media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
    "metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
    "pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
    "polling_frequency": 10,
    "session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
    "stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}

JavaScript

  • Mit Fetch API:
const response = await fetch("https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream", {
  "headers": {
    "content-type": "application/x-www-form-urlencoded",
  },
  "body": "cust_params=channelID%3D1543216789%26anotherKey%3Dvalue1%2Cvalue2",
  "method": "POST",
});

  const stream = await response.json();
  console.log(stream);
  • Konsolenprotokoll:
{
    "stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL",
    "media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
    "metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
    "session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
    "polling_frequency": 10,
    "pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
    "manifest_format": "hls"
}

Metadaten für Werbeunterbrechungen abfragen

Fragen Sie nach der Registrierungsanfrage für den Stream die Anzeigenmetadaten ab. Bis abfragen, stellen Sie einen Timer mit polling_frequence in der Stream-Antwort auf den Schritt der Registrierung, um die Anzeige metadata an. Für jede Umfrage erhalten Sie möglicherweise eine unvollständige Liste von Anzeigen mit Metadaten, verfügbar werden.

Manifest-URL des Anzeigen-Pods generieren

Erstellen Sie eine URL für die Pod-Ressource der Pod Serving API. Übergeben Sie anschließend die URL an einen Videoplayer, um Laden des Anzeigen-Pods.

Das folgende Beispiel zeigt die Struktur der Manifest-URL des Anzeigen-Pods:

https://dai.google.com/linear/pods/v1/hls/network/51636543/custom_asset/pod_serving_hls_manifest_mp4/pod/101.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db:TUL&pd=120000

Du kannst die URL-Parameter des Anzeigen-Pods basierend auf den Informationen zur Werbeunterbrechung berechnen, die aus dem Videoplayer oder einer Serverbenachrichtigung abgerufen werden. Für Anforderungen dieser Parameter, siehe Methode: pod-Manifest.

Manifest des Anzeigen-Pods wiedergeben

In der Videoplayer-App des Clients wird die Wiedergabe des Contentstreams mit einem primären Video-Player und befolgen Sie die entsprechende Dokumentation zur Beobachtung der Wiedergabe- und Werbezeitplaner ein, falls relevant.

Wenn Sie die Manifest-URLs des Anzeigen-Pods generieren und diese in das Manifest auf der Beobachten Sie die bevorstehenden Werbeunterbrechung des Videoplayers und achten Sie darauf, ID3-Ereignisse bei jeder Wiedergabe einer Werbeunterbrechung abonnieren. Wenn Sie die Anzeige die Ereignisse vom Client unterbrechen, die id3-Ereignisse bei der Erstellung abonnieren.

Berichte zu Impressionen und Anzeigenereignissen erstellen

Wenn ein Videoplayer den Anzeigen-Pod wiedergibt und auf zeitgesteuerte id3-Metadaten stößt, Anzeigenereignisse beobachten vom Videoplayer ausgelöst und verarbeitet werden, Pings zur Mediaüberprüfung senden.