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-kompatiblen 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
Full-Service-DAI
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 – Übersicht über die dynamische Anzeigenbereitstellung
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 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
: 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 die dynamische Anzeigenbereitstellung funktioniert, muss der Player ID3-Ereignisse für Livestreams 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. 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.