Mit IMA SDKs lassen sich Multimedia-Anzeigen ganz einfach in Websites und Apps einbinden. Mit IMA SDKs können Anzeigen von jedem VAST-kompatiblen Ad-Server angefordert und die Anzeigenwiedergabe in Ihren Apps verwaltet werden. Mit IMA DAI SDKs senden Apps eine Streamanfrage für Anzeigen- und Videoinhalte – entweder VOD- oder Liveinhalte. Das SDK gibt dann einen kombinierten Videostream zurück, sodass Sie nicht zwischen Anzeigen- und Inhaltsvideo in Ihrer App wechseln müssen.
Wählen Sie die gewünschte dynamische Anzeigenbereitstellungslösung aus.
Vollständige dynamische Anzeigenbereitstellung
In dieser Anleitung wird gezeigt, wie du das IMA DAI SDK in eine einfache Videoplayer-App einbindest. Wenn du dir eine fertige Beispielintegration ansehen oder ansehen möchtest, lade das BasicExample von GitHub herunter.
IMA DAI – Übersicht
Die Implementierung von IMA-DA umfasst vier Haupt-SDK-Komponenten, wie in diesem Leitfaden gezeigt:
StreamDisplayContainer
: Containerobjekt, das sich über dem Videowiedergabeelement befindet und die UI-Elemente der Anzeige enthält.AdsLoader
: Ein Objekt, das Streams anfordert und Ereignisse verarbeitet, die durch Antwortobjekte von Streamanfragen ausgelöst werden. Sie sollten nur einen Anzeigen-Lademechanismus instanziieren, der während der gesamten Lebensdauer der Anwendung wiederverwendet werden kann.StreamRequest
: Ein Objekt, das eine Streamanfrage definiert. Streamanfragen können sich auf Video-on-Demand- oder Livestreams beziehen. Bei Livestreamanfragen wird ein Asset-Schlüssel angegeben, bei VOD-Anfragen eine CMS-ID und eine Video-ID. Beide Anfragetypen können optional einen API-Schlüssel enthalten, der für den Zugriff auf bestimmte Streams erforderlich ist, sowie einen Google Ad Manager-Netzwerkcode für das IMA SDK, um Anzeigen-IDs gemäß den Google Ad Manager-Einstellungen zu verarbeiten.StreamManager
: Ein Objekt, das Streams für die dynamische Anzeigenbereitstellung und Interaktionen mit dem DAI-Backend verarbeitet. Der Streammanager verarbeitet auch Tracking-Pings und leitet Stream- und Anzeigenereignisse an den Publisher weiter.
Vorbereitung
- Android Studio
- Beispiel-Videoplayer-App für die SDK-Integration
Beispiel-Videoplayer-App herunterladen und ausführen
Die Beispiel-App bietet einen funktionierenden Videoplayer, der HLS-Videos wiedergibt. Verwende dies als Ausgangspunkt für die Integration der DAI-Funktionen des IMA DAI SDKs.
Laden Sie die Beispiel-Videoplayer-App herunter und extrahieren Sie sie.
Starten Sie Android Studio und wählen Sie Vorhandenes Android Studio-Projekt öffnen aus. Wenn Android Studio bereits geöffnet ist, wählen Sie Datei > Neu > Projekt importieren aus. Wählen Sie dann
SampleVideoPlayer/build.gradle
aus.Führen Sie eine Gradle-Synchronisierung aus, indem Sie Tools > Android > Projekt mit Gradle-Dateien synchronisieren auswählen.
Überprüfe, ob die Player-App mit Ausführen > App ausführen auf einem physischen Android-Gerät oder einem Android-virtuellen Gerät kompiliert und ausgeführt wird. Es ist normal, dass es einige Zeit dauert, bis der Videostream geladen und abgespielt wird.
Beispiel-Videoplayer ansehen
Der Beispielvideoplayer enthält noch keinen Code für die Integration des IMA DAI SDK. Die Beispiel-App besteht aus zwei Hauptteilen:
samplevideoplayer/SampleVideoPlayer.java
: Ein ExoPlayer-basierter HLS-Player, der als Grundlage für die IMA DAI-Integration dient.videoplayerapp/MyActivity.java
: Bei dieser Aktivität wird der Videoplayer erstellt und ihm werdenContext
undmedia3.ui.PlayerView
übergeben.
IMA DAI SDK zur Player-App hinzufügen
Außerdem muss eine Referenz auf das IMA DAI SDK enthalten sein. Fügen Sie in Android Studio der Datei build.gradle
auf Anwendungsebene unter app/build.gradle
Folgendes hinzu:
IMA DAI SDK einbinden
Erstelle im Paket
videoplayerapp
(inapp/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/
) eine neue Klasse namensSampleAdsWrapper
, um die vorhandeneSampleVideoPlayer
einzubinden und Logik zur Implementierung von IMA DAI hinzuzufügen. Dazu musst du zuerst eineAdsLoader
erstellen, mit der der DAI-Stream angefordert wird.Dieses Snippet enthält Beispielparameter für HLS und DASH, Livestreams und VOD-Streams. Wenn du festlegen möchtest, welcher Stream wiedergegeben wird, aktualisiere die Variable
CONTENT_TYPE
.Erstellen Sie eine
createSampleVideoPlayerCallback()
-Hilfsmethode zum Erstellen einerSampleVideoPlayerCallback
-Schnittstelleninstanz, dieVideoStreamPlayer.VideoStreamPlayerCallback
erweitert.Damit die dynamische Anzeigenbereitstellung funktioniert, muss der Player ID3-Ereignisse für Livestreams an das IMA DAI SDK übergeben. Im folgenden Beispielcode wird dies mit der Methode
callback.onUserTextReceived()
getan.Fügen Sie eine
buildStreamRequest()
-Methode hinzu, um dieSteamRequest
zu erstellen. Bei dieser Methode wird je nach Einstellung der VariablenCONTENT_TYPE
zwischen verschiedenen Streams gewechselt. Der in dieser Anleitung verwendete Standardstream ist der Beispiel-VOD-HLS-Stream von IMA.Außerdem benötigen Sie einen
VideoStreamPlayer
, um den Stream abzuspielen. Fügen Sie daher einecreateVideoStreamPlayer()
-Methode hinzu, die eine anonyme Klasse erstellt, dieVideoStreamPlayer
implementiert.Implementieren Sie die erforderlichen Listener und fügen Sie Unterstützung für die Fehlerbehandlung hinzu.
Beachten Sie die
AdErrorListener
-Implementierung, da eine Fallback-URL aufgerufen wird, wenn die Anzeigen nicht wiedergegeben werden. Da sich die Inhalte und Anzeigen in einem Stream befinden, musst du einen Fallback-Stream aufrufen können, wenn im DAI-Stream ein Fehler auftritt.Fügen Sie Code für die Protokollierung hinzu.
Ändern Sie
MyActivity
invideoplayerapp
, umSampleAdsWrapper
zu instanziieren und aufzurufen. Rufen Sie hier auchImaSdkFactory.initialize()
mit einer Hilfsmethode auf, um eineImaSdkSettings
-Instanz zu erstellen.Fügen Sie die Hilfsmethode
getImaSdkSettings()
hinzu, um eineImaSdkSettings
-Instanz zu erstellen.Ändern Sie die Layoutdatei
activity_my.xml
der Aktivität, um UI-Elemente für die Protokollierung hinzuzufügen.
Glückwunsch! Sie fordern jetzt Videoanzeigen in Ihrer Android-App an und schalten sie aus. Weitere Informationen zur Optimierung Ihrer Implementierung finden Sie unter Bookmarks, Snapback und in der API-Dokumentation.
Fehlerbehebung
Wenn bei der Wiedergabe einer Videoanzeige Probleme auftreten, laden Sie das fertige Beispiel BasicExample herunter. Wenn es im BasicExample richtig funktioniert, liegt wahrscheinlich ein Problem mit dem IMA-Integrationscode deiner App vor.
Sollten weiterhin Probleme auftreten, besuche das IMA SDK-Forum.