IMA DAI SDK auf Android-Geräten verwenden

Mit der Google Cloud Video Stitcher API registrierte Livestreams abspielen

In dieser Anleitung wird gezeigt, wie du mit dem IMA DAI SDK für Android einen Livestream für ein mit der Google Cloud Video Stitcher API registriertes Ereignis anforderst und wiedergibst und wie du während der Wiedergabe eine Werbeunterbrechung einfügst.

In diesem Leitfaden wird das einfache Beispiel aus dem Einstiegsleitfaden für die dynamische Anzeigenbereitstellung in IMA erweitert.

Informationen zur Einbindung in andere Plattformen oder zur Verwendung der clientseitigen IMA SDKs finden Sie unter Interactive Media Ads SDKs.

Wenn Sie sich eine fertige Beispielintegration ansehen oder nachvollziehen möchten, laden Sie das Beispiel für den Cloud-Video-Stitcher herunter.

Google Cloud-Projekt einrichten

Gib die folgenden Variablen für die Verwendung im IMA SDK ein:

Standort
Die Google Cloud-Region, in der Ihre Livekonfiguration erstellt wurde: LOCATION
Projektnummer
Die Google Cloud-Projektnummer, in der die Video Stitcher API verwendet wird: PROJECT_NUMBER
OAuth-Token

Das kurzlebige OAuth-Token eines Dienstkontos mit der Nutzerrolle „Video Stitcher“:

OAUTH_TOKEN

Weitere Informationen zum Erstellen kurzlebiger Anmeldedaten für Dienstkonten Das OAuth-Token kann für mehrere Anfragen wiederverwendet werden, solange es nicht abgelaufen ist.

Netzwerkcode

Der Ad Manager-Netzwerkcode zum Anfordern von Anzeigen: NETWORK_CODE

ID der Live-Konfiguration
Die Live-Konfigurations-ID, die du beim Erstellen des Livestreamereignisses angegeben hast: LIVE_CONFIG_ID
Benutzerdefinierter Asset-Schlüssel
Der benutzerdefinierte Ad Manager-Asset-Schlüssel, der beim Erstellen einer Konfiguration für ein Livestream-Ereignis mit der Video Stitcher API generiert wurde: CUSTOM_ASSET_KEY

Einfaches Beispiel herunterladen

Lade das grundlegende Beispiel für die dynamische Anzeigenbereitstellung mit IMA auf Android-Geräten herunter und führe es aus. Klicken Sie im Videoplayer auf die Schaltfläche Wiedergabe, um den Kurzfilm „Tears of Steel“ zu starten. Dieser enthält alle 30 Sekunden Werbeunterbrechungen.

Livestream anfordern

Wenn du den Beispielstream durch deinen Livestream ersetzen möchtest, musst du mit der ImaSdkFactory.createVideoStitcherLiveStreamRequest() eine Anzeigensitzung mit Google Ad Manager erstellen. Über die Google Ad Manager-Benutzeroberfläche können Sie die generierten dynamischen Anzeigenaufrufe finden, um sie zu überwachen und zu beheben.

Im vorhandenen Beispiel gibt es bedingte Anweisungen zum Anfordern eines VOD-Streams oder eines Livestreams. Damit die Funktion mit der Google Cloud Video Stitcher API funktioniert, musst du einen neuen Pfad hinzufügen, um eine StreamRequest zurückzugeben, die mit ImaSdkFactory.createVideoStitcherLiveStreamRequest() erstellt wurde.

Beispiel:

videoplayerapp/SampleAdsWrapper.java

private sdkFactory ImaSdkFactory;
...
private enum ContentType {
  LIVE_HLS,
  LIVE_DASH,
// Add a Live HLS Google Cloud type.
  LIVE_HLS_GOOGLE_CLOUD,
  VOD_HLS,
  VOD_DASH,
}

// Set CONTENT_TYPE to the associated enum for the
// stream type you would like to test.
private static final ContentType CONTENT_TYPE =
    ContentType.LIVE_HLS_GOOGLE_CLOUD;
...

@Nullable
  private StreamRequest buildStreamRequest() {
    StreamRequest request;
    switch (CONTENT_TYPE) {
      ...
      case LIVE_HLS_GOOGLE_CLOUD:
        // Live HLS stream generated by the Google Cloud Video Stitcher API.
        request = sdkFactory.createVideoStitcherLiveStreamRequest(
          "NETWORK_CODE",
          "CUSTOM_ASSET_KEY",
          "LIVE_CONFIG_ID",
          "LOCATION",
          "PROJECT_NUMBER",
          "OAUTH_TOKEN"
        );
        request.setFormat(StreamFormat.HLS);
        return request;
    }
    // Content type not selected.
    return null;
  }
...

Lade die App neu, um deinen benutzerdefinierten Livestream anzufordern und abzuspielen.

(Optional) Optionen für die Streamingsitzung hinzufügen

Du kannst deine Streamanfrage anpassen, indem du Sitzungsoptionen hinzufügst, um die Standardkonfiguration der Cloud Video Stitcher API mit StreamRequest.setVideoStitcherSessionOptions() zu überschreiben. Wenn du eine nicht erkannte Option angibst, antwortet die Cloud Video Stitcher API mit einem HTTP-Fehler 400. Weitere Informationen finden Sie in der Anleitung zur Fehlerbehebung.

Du kannst die Manifest-Optionen beispielsweise mit dem folgenden Code-Snippet überschreiben. Dabei werden zwei Streammanifeste mit Darstellungen angefordert, die von der niedrigsten bis zur höchsten Bitrate sortiert sind.

public void requestAndPlayAds() {
  adsLoader.addAdErrorListener(this);
  adsLoader.addAdsLoadedListener(this);
  StreamRequest streamRequest = buildStreamRequest();

  // The following session options are examples. Use session options
  // that are compatible with your video stream.
  Map<String, Object> sessionOptions = Map.of(
    "manifestOptions", Map.of(
      "bitrateOrder", "ascending"
    )
  );

  /* sessionOptions JSON structure.
   * {
   *  "manifestOptions": {
   *    "bitrateOrder": "ascending"
   *  }
   * };
   */

  streamRequest.setVideoStitcherSessionOptions(sessionOptions);
  adsLoader.requestStream(streamRequest);
}

Werbeunterbrechung einfügen

Die Google Cloud Video Stitcher API fügt für jede Werbeunterbrechung Anzeigen ein, die aus dem Anzeigen-Tag abgerufen wurden. Werbeunterbrechungen werden im Manifest mit Anzeigenmarkierungen gekennzeichnet. Anzeigenmarkierungen werden vom Livestream-Encoder eingefügt.

Die Anzeige wird sofort nach dem Einfügen der Werbeunterbrechung wiedergegeben.

Bereinigen

Nachdem du einen Livestream mit der Google Cloud Video Stitcher API gehostet und über das IMA DAI SDK für Android angefordert hast, solltest du alle Bereitstellungsressourcen bereinigen.

Folge der Anleitung unter Livestreams bereinigen, um alle nicht benötigten Ressourcen und Assets zu entfernen.