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 Content-Videos – 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 bestimmte Streams erforderlich ist, sowie einen Google Ad Manager-Netzwerkcode für das IMA SDK, damit Anzeigenkennungen gemäß den Google Ad Manager-Einstellungen verarbeitet werden.StreamManager: Ein Objekt, das Streams für die dynamische Anzeigenbereitstellung und Interaktionen mit dem DAI-Backend 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 kann als Ausgangspunkt für die Integration der DAI-Funktionen des IMA DAI SDKs dienen.
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 aus. Wenn Android Studio bereits ausgeführt wird, wählen Sie File > New > Import Project aus. Wählen Sie dann
SampleVideoPlayer/build.gradleaus.Führen Sie eine Gradle-Synchronisierung aus, indem Sie Tools > Android > Sync Project with Gradle Files (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 kompiliert und ausgeführt wird. Verwenden Sie dazu Run > Run 'app' (Ausführen > „App“ ausführen). 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: Bei dieser Aktivität wird der Videoplayer erstellt und es werden einContextund einmedia3.ui.PlayerViewübergeben.
IMA DAI SDK zur Player-App hinzufügen
Sie müssen auch einen Verweis auf das IMA DAI SDK einfügen. Fügen Sie in Android Studio der Datei build.gradle auf Anwendungsebene (unter app/build.gradle) Folgendes hinzu. Für das IMA SDK muss die Bibliothek „desugaring“ aktiviert sein. Dazu müssen Sie coreLibraryDesugaringEnabled true festlegen und 'com.android.tools:desugar_jdk_libs' als Abhängigkeit in der Datei build.gradle hinzufügen. Weitere Informationen finden Sie unter Java 11+-APIs, die durch Desugaring mit der NIO-Spezifikation verfügbar sind.
IMA DAI SDK einbinden
Erstellen Sie im Paket
videoplayerapp(inapp/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/) eine neue Klasse mit dem NamenSampleAdsWrapper, um die vorhandeneSampleVideoPlayerzu umschließen und Logik für die Implementierung von IMA DAI hinzuzufügen. Dazu müssen Sie zuerst einAdsLoadererstellen, mit dem der DAI-Stream angefordert wird.Dieses Snippet enthält Beispielparameter für HLS- und DASH-Streams sowie für Live- und VOD-Streams. Um festzulegen, welcher Stream wiedergegeben wird, aktualisieren Sie die Variable
CONTENT_TYPE.Erstellen Sie eine
createSampleVideoPlayerCallback()-Hilfsmethode, um eineSampleVideoPlayerCallback-Schnittstelleninstanz zu erstellen, dieVideoStreamPlayer.VideoStreamPlayerCallbackerweitert.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 dasSteamRequestzu erstellen. Bei dieser Methode wird zwischen verschiedenen Streams gewechselt, je nachdem, wie Sie die VariableCONTENT_TYPEfestlegen. Der in dieser Anleitung verwendete Standardstream ist der VOD-HLS-Beispielstream von IMA.Sie benötigen auch ein
VideoStreamPlayer, um den Stream abzuspielen. Fügen Sie daher einecreateVideoStreamPlayer()-Methode hinzu, die eine anonyme Klasse erstellt, dieVideoStreamPlayerimplementiert.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 Inhalte 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
MyActivityinvideoplayerapp, umSampleAdsWrapperzu instanziieren und aufzurufen. Rufen Sie hier auchImaSdkFactory.initialize()auf und verwenden Sie dazu eine Hilfsmethode zum Erstellen einerImaSdkSettings-Instanz.Fügen Sie die Hilfsmethode
getImaSdkSettings()hinzu, um eineImaSdkSettings-Instanz zu erstellen.Ändern Sie die Layoutdatei der Aktivität
activity_my.xml, um UI-Elemente für die Protokollierung hinzuzufügen.
Glückwunsch! Sie fordern jetzt Videoanzeigen in Ihrer Android-App an und präsentieren sie. Informationen zur Optimierung Ihrer 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.
Wenn weiterhin Probleme auftreten, besuchen Sie das IMA SDK-Forum.