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.
Übersicht über die IMA-DAI
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 kann als Ausgangspunkt für die Integration der DAI-Funktionen des IMA DAI SDK 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 (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.gradleaus.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 einContextund einmedia3.ui.PlayerViewwerden an ihn ü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 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 '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. 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.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 dieSteamRequestzu erstellen. Bei dieser Methode wird zwischen verschiedenen Streams gewechselt, je nachdem, wie Sie die VariableCONTENT_TYPEfestlegen. Der in dieser Anleitung verwendete Standardstream ist der HLS-VOD-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, 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 abgespielt werden. Da sich Content und Anzeigen in einem Stream befinden, müssen Sie bereit sein, einen Fallback-Stream aufzurufen, wenn beim 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, um eineImaSdkSettings-Instanz zu erstellen.Fügen Sie die Hilfsmethode
getImaSdkSettings()hinzu, um eineImaSdkSettings-Instanz zu erstellen.Ändern Sie die Layoutdatei
activity_my.xmlder 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.