Mit IMA SDKs können Sie Multimedia-Anzeigen ganz einfach in Ihre Websites und Apps einbinden. IMA SDKs können Anzeigen von beliebigen <ph type="x-smartling-placeholder"></ph> VAST-kompatiblen Ad-Server bereitstellen und die Anzeigenwiedergabe in Ihren Apps verwalten. Mit IMA SDKs für die dynamische Anzeigenbereitstellung Streamanfrage für Anzeigen- und Contentvideo (VOD- oder Livecontent) Das SDK gibt dann kombinierten Videostream, sodass Sie nicht zwischen Anzeige und Contentvideo wechseln müssen. in Ihrer App.
Gewünschte Lösung für die dynamische Anzeigenbereitstellung auswählen
Dynamische Anzeigenbereitstellung für die Pod-Auslieferung
Mit IMA SDKs können Sie Multimedia-Anzeigen ganz einfach in Ihre Websites und Apps einbinden. IMA SDKs können Anzeigen von beliebigen <ph type="x-smartling-placeholder"></ph> VAST-kompatiblen Ad-Server bereitstellen und die Anzeigenwiedergabe in Ihren Apps verwalten. Mit IMA SDKs für die dynamische Anzeigenbereitstellung Streamanfrage für Anzeigen- und Contentvideo (VOD- oder Livecontent) Das SDK gibt dann kombinierten Videostream, sodass Sie nicht zwischen Anzeige und Contentvideo wechseln müssen. in Ihrer App.
In dieser Anleitung wird gezeigt, wie Sie einen Pod-Auslieferungsstream für die dynamische Anzeigenbereitstellung mithilfe der dynamischen Anzeigenbereitstellung von IMA wiedergeben. SDK mit einem einfachen Videoplayer für die Wiedergabe von Live- und VOD-Streams Wenn Sie eine abgeschlossene Beispielintegration ansehen oder folgen möchten, laden Sie die Beispiel für die Pod-Auslieferung
Pod-Auslieferung mit der dynamischen Anzeigenbereitstellung von IMA – Übersicht
StreamRequest
: Ein Objekt, das eine Streamanfrage für die Werbeserver von Google. Muss mit einer der folgenden Methoden erstellt werden:ImaSdkFactory.createPodStreamRequest()
oderImaSdkFactory.createPodVodStreamRequest()
um die Pod-Auslieferung zu aktivieren. Für diese Methoden ist ein Netzwerkcode erforderlich.createPodStreamRequest
erfordert außerdem einen benutzerdefinierten Asset-Schlüssel und einen Optionaler API-Schlüssel. Beide enthalten andere optionale Parameter.StreamManager
: Ein Objekt, das die Kommunikation zwischen den Videostream und das IMA DAI SDK verwenden, z. B. durch das Auslösen von Tracking-Pings und Stream-Ereignisse an den Publisher weiterleiten.
Vorbereitung
Eine Android-App, für die das IMA DAI SDK bereits eingerichtet ist, um Videostreams wiederzugeben Anzeigen für die dynamische Anzeigenbereitstellung. Wenn Sie noch keine solche App haben, empfehlen wir die Verwendung des DAI für Android BasicExample als Parameter Ausgangspunkt ist. Im BasicExample wird die Codebasis verwendet, auf die in diesem Leitfaden verwiesen wird.
Es ist wichtig, dass Ihre App ID3-Ereignisse mit
VideoStreamPlayerCallback.onUserTextReceived()
damit die dynamische Anzeigenbereitstellung funktioniert. Beispiel für ein Code-Snippet für die dynamische Anzeigenbereitstellung mit Komplettservice
Variablen für die Pod-Auslieferung einrichten
Alle für die Pod-Auslieferung erforderlichen Änderungen werden in SampleAdsWrapper.java vorgenommen. Die besteht der erste Schritt darin, die konstanten Variablen zu aktualisieren.
Dies sind die Konstanten für die Ad-Pod-Stream-Anfragen, die hinzugefügt werden sollen:
STREAM_URL
: Nur für Livestreams verwendet: Die Videostream-URL, die von Ihre Manifestbearbeitung oder den Drittanbieter mit der Pod-Auslieferung. Er sollte müssen Sie die vom IMA DAI SDK bereitgestellte Stream-ID einfügen, bevor Sie eine Anfrage stellen. In diesem Fall enthält die Stream-URL einen Platzhalter,"[[STREAMID]]"
, die durch die Stream-ID ersetzt wird, bevor einNETWORK_CODE
: Der Netzwerkcode für Ihr Ad Manager 360-Konto.CUSTOM_ASSET_KEY
: Nur für Livestreams verwendet – der benutzerdefinierte Asset-Schlüssel, der das Pod-Auslieferungsereignis in Ad Manager 360 identifiziert. Dies kann erstellt werden, indem Ihren Partner für die Manifestbearbeitung oder den Pod-Auslieferungspartner.API_KEY
: Nur für Livestreams verwendet – ein optionaler API-Schlüssel, der erforderlich, um eine Stream-ID aus dem IMA DAI SDK abzurufen.
Das Basisbeispiel für die dynamische Anzeigenbereitstellung in Android ist für die Wiedergabe verschiedener Streams konzipiert aber für die Pod-Auslieferung wird nur ein einziger Stream abgespielt. Ändern Sie den Variablenabschnitt des Beispiels so, dass er wie folgt aussieht:
/** This class adds ad-serving support to Sample HlsVideoPlayer */
public class SampleAdsWrapper
implements AdEvent.AdEventListener, AdErrorEvent.AdErrorListener, AdsLoader.AdsLoadedListener {
// Podserving Stream Constants.
private static final String STREAM_URL =
"https://encodersim.sandbox.google.com/masterPlaylist/9c654d63-5373-4673-8c8d-6d92b66b9d46/" +
"master.m3u8?gen-seg-redirect=true&network=51636543&event=google-sample" +
"&pids=devrel4628000,devrel896000,devrel3528000,devrel1428000,devrel2628000,devrel1928000" +
"&seg-host=dai.google.com&stream_id=[[STREAMID]]";
private static final String NETWORK_CODE = "51636543";
private static final String CUSTOM_ASSET_KEY = "google-sample";
private static final String API_KEY = "";
private static final String PLAYER_TYPE = "DAISamplePlayer";
/** Log interface, so we can output the log commands to the UI or similar. */
public interface Logger {
...
Pod-Stream-Anfrage für Live- oder VOD-Streams erstellen, um die Pod-Auslieferung zu aktivieren
Pod-Auslieferung im Livestream
Entfernen Sie die Methode buildStreamRequest()
, die verwendet wurde, um zwischen
verschiedene Arten von Streams erstellen. Ändern Sie dann requestAndPlayAds()
zu „Anrufen“
ImaSdkFactory.createPodStreamRequest()
, um eine Anzeige für die Live-Pod-Auslieferung zu erstellen
Fordern Sie den Stream schließlich mit AdsLoader.requestStream()
an.
public void requestAndPlayAds() {
StreamRequest request =
sdkFactory.createPodStreamRequest(NETWORK_CODE, CUSTOM_ASSET_KEY, API_KEY);
request.setFormat(StreamFormat.HLS);
adsLoader.addAdErrorListener(this);
adsLoader.addAdsLoadedListener(this);
adsLoader.requestStream(request);
}
Pod-Auslieferung von VOD-Streams
Entfernen Sie die Methode buildStreamRequest()
, die verwendet wurde, um zwischen
verschiedene Arten von Streams erstellen. Ändern Sie dann requestAndPlayAds()
zu „Anrufen“
ImaSdkFactory.createPodVodStreamRequest()
, um eine VOD-Pod-Auslieferungsanzeige zu erstellen
Fordern Sie den Stream schließlich mit AdsLoader.requestStream()
an.
public void requestAndPlayAds() {
StreamRequest request =
sdkFactory.createPodVodStreamRequest(NETWORK_CODE);
request.setFormat(StreamFormat.HLS);
adsLoader.addAdErrorListener(this);
adsLoader.addAdsLoadedListener(this);
adsLoader.requestStream(request);
}
Stream-URL bearbeiten und festlegen
Pod-Auslieferung im Livestream
Rufe StreamManager.getStreamId()
auf, um die Stream-ID abzurufen. Dies muss dann
in STEAM_URL
eingefügt, wodurch "[[STREAMID]]"
ersetzt wird. Nach dieser Änderung
kann die neue Stream-URL mit videoPlayer.setStreamUrl()
festgelegt werden.
@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
streamManager = event.getStreamManager();
streamManager.addAdErrorListener(this);
streamManager.addAdEventListener(this);
// To enable streams
String streamID = streamManager.getStreamId();
String streamUrl = STREAM_URL.replace("[[STREAMID]]", streamID);
streamManager.init();
videoPlayer.setStreamUrl(streamUrl);
videoPlayer.play();
}
Pod-Auslieferung von VOD-Streams
Rufe StreamManager.getStreamId()
auf, um die Stream-ID abzurufen. Fordern Sie dann eine
Stream-URL von Ihrem Videotechnologiepartner. Rufen Sie dann
StreamManager.loadThirdPartyStream()
, damit die Stream-URL von IMA geladen wird, sowie
von deinem TVP zurückgegeben.
@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
streamManager = event.getStreamManager();
streamManager.addAdErrorListener(this);
streamManager.addAdEventListener(this);
// To enable streams
String streamID = streamManager.getStreamId();
// 'vtpInterface' is a place holder for your own video technology partner
// (VTP) API calls.
String streamUrl = vtpInterface.requestStreamURL(streamID);
streamManager.init();
// Pass any subtitles returned by your VTP in this step as well.
streamManager.loadThirdPartyStream(streamUrl, subtitles);
}
Wenn die Pod-Auslieferung aktiviert ist, sendet IMA keine Aufrufe an
VideoStreamPlayer.loadUrl()
, damit Sie alle Anrufe für
videoPlayer.setStreamUrl()
und videoPlayer.play()
davon.
Fertig! Sie fordern jetzt Anzeigen in einem Pod-Auslieferungsstream mit das IMA DAI SDK verwenden. Weitere Beispiele für das verwendete Android SDK: sieh dir die Beispiele auf GitHub