Mit den IMA SDKs lassen sich Multimedia-Anzeigen ganz einfach in Ihre Websites und Apps einbinden. Mit IMA SDKs können Anzeigen von jedem VAST-konformen Ad-Server angefordert und die Anzeigenwiedergabe in Ihren Apps verwaltet werden. Mit IMA DAI SDKs senden Apps eine Streamanfrage für Anzeigen- und Contentvideos – entweder VOD- oder Liveinhalte. Das SDK gibt dann einen kombinierten Videostream zurück, sodass Sie das Umschalten zwischen Anzeigen- und Inhaltsvideo in Ihrer App nicht verwalten müssen.
Wählen Sie die DAI-Lösung aus, die Sie interessiert
Komplettservice für die dynamische Anzeigenbereitstellung
In dieser Anleitung wird gezeigt, wie Sie das IMA DAI SDK in eine einfache Videoplayer-App einbinden. Wenn Sie sich eine vollständige Beispielintegration ansehen oder ihr folgen möchten, laden Sie BasicExample von GitHub herunter.
IMA DAI – Übersicht
Die Implementierung von IMA DAI umfasst vier Haupt-SDK-Komponenten, wie in diesem Leitfaden beschrieben:
StreamDisplayContainer
: Ein 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 für Streamanfragen ausgelöst werden. Sie sollten nur einen Anzeigen-Loader instanziieren, der während der gesamten Lebensdauer der Anwendung wiederverwendet werden kann.StreamRequest
: Ein Objekt, das eine Streamanfrage definiert. Streamanfragen können entweder für Video-on-Demand- oder Livestreams erfolgen. In Livestream-Anfragen wird ein Asset-Schlüssel angegeben, in 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 die angegebenen Streams erforderlich ist, sowie einen Google Ad Manager-Netzwerkcode, damit das IMA SDK Anzeigen-IDs gemäß den Google Ad Manager-Einstellungen verarbeiten kann.StreamManager
: Ein Objekt, das Streams für die dynamische Anzeigenbereitstellung und Interaktionen mit dem Backend für die dynamische Anzeigenbereitstellung verarbeitet. Der Stream-Manager 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 enthält einen funktionierenden Videoplayer, der HLS-Videos abspielt. Dies ist ein guter Ausgangspunkt für die Integration der DAI-Funktionen des IMA DAI SDK.
Laden Sie die Beispiel-App für den Videoplayer herunter und extrahieren Sie sie.
Starten Sie Android Studio und wählen Sie Open an existing Android Studio project (Vorhandenes Android Studio-Projekt öffnen) aus. Wenn Android Studio bereits ausgeführt wird, wählen Sie File > New > Import Project (Datei > Neu > Projekt importieren) aus. Wählen Sie dann
SampleVideoPlayer/build.gradle
aus.Führen Sie eine Gradle-Synchronisierung aus, indem Sie Tools > Android > Sync Project with Gradle Files (Tools > Android > Projekt mit Gradle-Dateien synchronisieren) auswählen.
Achten Sie darauf, dass die Player-App auf einem physischen Android-Gerät oder einem virtuellen Android-Gerät mit Run > Run 'app' kompiliert und ausgeführt wird. Es ist normal, dass es einige Momente dauert, bis der Videostream geladen ist und die Wiedergabe beginnt.
Beispielvideoplayer ansehen
Der Beispielvideoplayer enthält noch keinen Code für die IMA DAI SDK-Integration. 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
: Mit dieser Aktivität wird der Videoplayer erstellt und einContext
und einmedia3.ui.PlayerView
werden an ihn übergeben.
IMA DAI SDK zur Player-App hinzufügen
Außerdem müssen Sie einen Verweis auf das IMA DAI SDK einfügen. Fügen Sie in Android Studio Folgendes in die build.gradle-Datei auf Anwendungsebene ein, die sich unter app/build.gradle befindet. Für das IMA SDK muss die Bibliothek „desugaring“ aktiviert sein. Dazu müssen Sie coreLibraryDesugaringEnabled true
festlegen und coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
als Abhängigkeit in der Datei build.gradle hinzufügen. Weitere Informationen finden Sie unter Java 11+ APIs available through desugaring with the nio specification.
IMA DAI SDK einbinden
Erstellen Sie im Paket
videoplayerapp
(inapp/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/
) eine neue Klasse namensSampleAdsWrapper
, um die vorhandeneSampleVideoPlayer
zu umschließen und Logik für die Implementierung von IMA DAI hinzuzufügen. Dazu müssen Sie zuerst einAdsLoader
erstellen, mit dem der DAI-Stream angefordert wird.Dieses Snippet enthält Beispielparameter für HLS- und DASH-Streams sowie für Livestreams und VOD-Streams. Wenn Sie festlegen möchten, welcher Stream wiedergegeben wird, aktualisieren Sie die Variable
CONTENT_TYPE
.Erstellen Sie eine
createSampleVideoPlayerCallback()
-Hilfsmethode, um eineSampleVideoPlayerCallback
-Schnittstelleninstanz zu erstellen, dieVideoStreamPlayer.VideoStreamPlayerCallback
erweitert.Damit DAI funktioniert, muss der Player ID3-Ereignisse an das IMA DAI SDK übergeben. Die Methode
callback.onUserTextReceived()
führt dies im folgenden Beispielcode aus.Fügen Sie eine
buildStreamRequest()
-Methode hinzu, um dieSteamRequest
zu erstellen. Mit dieser Methode wird zwischen verschiedenen Streams gewechselt, je nachdem, wie Sie die VariableCONTENT_TYPE
festlegen. Der in dieser Anleitung verwendete Standardstream ist der VOD-HLS-Beispielstream von IMA.Außerdem benötigen Sie ein
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 abgespielt werden können. Da sich Content und Anzeigen in einem Stream befinden, müssen Sie bereit sein, einen Fallback-Stream aufzurufen, wenn im DAI-Stream ein Fehler auftritt.Fügen Sie Code für das Logging hinzu.
Ändern Sie
MyActivity
invideoplayerapp
, umSampleAdsWrapper
zu instanziieren und aufzurufen. Rufen Sie hier auchImaSdkFactory.initialize()
auf. Verwenden Sie dazu eine Hilfsmethode, 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 Anmeldung hinzuzufügen.
Glückwunsch! Sie fordern jetzt Videoanzeigen in Ihrer Android-App an und präsentieren sie. Informationen zum Optimieren der Implementierung finden Sie unter Lesezeichen, Snapback und in der API-Dokumentation.
Fehlerbehebung
Wenn Sie Probleme bei der Wiedergabe einer Videoanzeige haben, laden Sie das vollständige BasicExample herunter. Wenn es im BasicExample richtig funktioniert, liegt wahrscheinlich ein Problem mit dem IMA-Integrationscode Ihrer App vor.
Sollten weiterhin Probleme auftreten, besuchen Sie das IMA SDK-Forum.