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.
Dieser Leitfaden erweitert das grundlegende Beispiel aus dem Abschnitt Erste Schritte Leitfaden für die dynamische Anzeigenbereitstellung mit IMA-Werten.
Informationen zur Integration mit anderen Plattformen oder zur Verwendung des IMA clientseitige SDKs siehe Interactive Media Ads SDKs.
Google Cloud-Projekt einrichten
Gib die folgenden Variablen für die Verwendung im IMA SDK ein:
- Standort
- Google Cloud-Region
in dem die Live-Konfiguration 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
Ad Manager-Netzwerkcode für die Anzeigenanfrage:
NETWORK_CODE
- ID der Live-Konfiguration
- Die Live-Konfigurations-ID, die du beim Erstellen des Livestream-Ereignisses 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
IMA Android DAI Basic herunterladen und ausführen Beispiel: Klicken Sie auf im Videoplayer auf die Wiedergabeschaltfläche, um den Kurzfilm "Tears of Steel“, die alle 30 Sekunden Werbeunterbrechungen enthält.
Livestream anfordern
Wenn du den Beispielstream durch deinen Livestream ersetzen möchtest, musst du mit der ImaSdkFactory.createVideoStitcherLiveStreamRequest()
eine Anzeigensitzung in 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 Streamingsitzungen hinzufügen
Passen Sie Ihre Streamanfrage an, indem Sie Sitzungsoptionen hinzufügen, um die Standardeinstellung zu überschreiben
Konfiguration der Cloud Video Stitcher API mithilfe von
StreamRequest.setVideoStitcherSessionOptions()
Wenn du eine nicht erkannte Option angibst, antwortet die Cloud Video Stitcher API mit einem HTTP-Fehler 400. Informationen hierzu finden Sie in der
Anleitung zur Fehlerbehebung
um Unterstützung zu erhalten.
Beispielsweise können Sie den Parameter Manifestoptionen durch das folgende Code-Snippet, das zwei Streammanifeste mit Wiedergaben werden von der niedrigsten zur höchsten Bitrate sortiert.
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(
"includeRenditions", List.of(
Map.of(
"bitrateBps", 3000, "codecs",
"hvc1.1.4.L126.B0, mp4a.40.2"),
Map.of(
"bitrateBps", 2000,
"codecs", "avc1.64001f, mp4a.40.2")
),
"bitrateOrder", "ascending"
)
);
/* sessionOptions JSON structure.
* {
* "manifestOptions": {
* "includeRenditions": [
* {"bitrateBps": 3000, "codecs": "hvc1.1.4.L126.B0, mp4a.40.2"},
* {"bitrateBps": 2000, "codecs": "avc1.64001f, mp4a.40.2"},
* ],
* "bitrateOrder": "ascending"
* }
* };
*/
streamRequest.setVideoStitcherSessionOptions(sessionOptions);
adsLoader.requestStream(streamRequest);
}
Werbeunterbrechung einfügen
Die Google Cloud Video Stitcher API fügt die aus dem Anzeigen-Tag abgerufenen Anzeigen für jedes Werbeunterbrechung. Werbeunterbrechungen werden im Manifest mit Anzeigenmarkierungen gekennzeichnet. Anzeigenmarkierungen werden vom Livestream-Encoder eingefügt.
Wenn du deinen eigenen Livestream verwendest, musst du die Anzeigenmarkierung einfügen. Für Weitere Informationen zu den unterstützten HLS- und DASH-Anzeigenmarkierungen finden Sie in der Dokumentation zu Anzeigenmarkierungen.
Wenn Sie einen Livestream mit der Google Cloud Livestream API erstellt haben, ein Kanalereignis für eine Werbeunterbrechung einfügen.
Die Anzeige wird sofort nach dem Einfügen der Werbeunterbrechung wiedergegeben.
Bereinigen
Du hast jetzt erfolgreich einen Livestream über die Google Cloud Video Stitcher API und über das IMA DAI SDK angefordert. für Android ist es wichtig, alle bereitgestellten Ressourcen.
Folgen Sie Livestream bereinigen um nicht benötigte Ressourcen und Assets zu entfernen.