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 den clientseitigen IMA SDKs behalten Sie die Kontrolle über die Wiedergabe von Videoinhalten, während das SDK die Anzeigenwiedergabe übernimmt. Anzeigen werden in einem separaten Videoplayer wiedergegeben, der über dem Videoplayer für die Inhalte der App positioniert ist.
In dieser Anleitung wird gezeigt, wie Sie das IMA SDK in eine einfache Videoplayer-App einbinden. Wenn Sie sich eine vollständige Beispielintegration ansehen oder ihr folgen möchten, laden Sie das einfache Beispiel von GitHub herunter. Wenn Sie einen HTML5-Player mit vorab integriertem SDK verwenden möchten, sehen Sie sich das IMA SDK-Plug-in für Video.js an.
IMA-Clientseite – Übersicht
Die clientseitige Implementierung von IMA umfasst vier Haupt-SDK-Komponenten, die in diesem Leitfaden beschrieben werden:
AdDisplayContainer
: Ein Containerobjekt, das angibt, wo IMA Benutzeroberflächenelemente für Anzeigen rendert und die Sichtbarkeit misst, einschließlich Active View und Open Measurement.AdsLoader
: Ein Objekt, das Anzeigen anfordert und Ereignisse aus Antworten auf Anzeigenanfragen verarbeitet. Sie sollten nur einen Anzeigen-Loader instanziieren, der während der gesamten Lebensdauer der Anwendung wiederverwendet werden kann.AdsRequest
: Ein Objekt, das eine Anzeigenanfrage definiert. In Anzeigenanfragen wird die URL für das VAST-Anzeigen-Tag sowie zusätzliche Parameter wie die Anzeigendimensionen angegeben.AdsManager
: Ein Objekt, das die Antwort auf die Anzeigenanfrage enthält, die Anzeigenwiedergabe steuert und auf Anzeigenereignisse wartet, die vom SDK ausgelöst werden.
Vorbereitung
Für den Start ist Folgendes erforderlich:
- Drei leere Dateien:
- index.html
- style.css
- ads.js
- Python auf Ihrem Computer installiert oder ein Webserver zum Testen
1. Entwicklungsserver starten
Da das IMA SDK Abhängigkeiten mit demselben Protokoll wie die Seite lädt, von der es geladen wird, müssen Sie einen Webserver verwenden, um Ihre App zu testen. Am einfachsten starten Sie einen lokalen Entwicklungsserver mit dem integrierten Server von Python.
- Führen Sie über die Befehlszeile im Verzeichnis, das Ihre Datei „index.html“ enthält, folgenden Befehl aus:
python -m http.server 8000
- Rufen Sie in einem Webbrowser
http://localhost:8000/
auf.
Sie können auch einen anderen Webserver verwenden, z. B. den Apache HTTP Server.
2. Einfachen Videoplayer erstellen
Ändern Sie zuerst index.html, um ein einfaches HTML5-Videoelement zu erstellen, das in einem umschließenden Element enthalten ist, sowie eine Schaltfläche zum Starten der Wiedergabe. Im folgenden Beispiel wird das IMA SDK importiert und das Containerelement AdDisplayContainer
eingerichtet. Weitere Informationen finden Sie in den Schritten
IMA SDK importieren
und
Anzeigencontainer erstellen
.
Fügen Sie die erforderlichen Tags hinzu, um die Dateien style.css und ads.js zu laden. Ändern Sie dann styles.css, damit der Videoplayer auf Mobilgeräten responsiv ist. Deklarieren Sie schließlich in ads.js Ihre Variablen und lösen Sie die Videowiedergabe aus, wenn Sie auf die Wiedergabeschaltfläche klicken.
Das Code-Snippet ads.js enthält einen Aufruf von setUpIMA()
, der im Abschnitt
Initialize the AdsLoader and make an ads request
definiert ist.
3. IMA SDK importieren
Fügen Sie als Nächstes das IMA-Framework mit einem Script-Tag in index.html vor dem Tag für ads.js
ein.
4. Anzeigencontainer erstellen
In den meisten Browsern verwendet das IMA SDK ein spezielles Anzeigencontainer-Element, um sowohl Anzeigen als auch UI-Elemente im Zusammenhang mit Anzeigen darzustellen. Dieser Container muss so dimensioniert sein, dass er das Videoelement von der oberen linken Ecke aus überlagert. Die Höhe und Breite der Anzeigen, die in diesem Container platziert werden, werden durch das adsManager
-Objekt festgelegt. Sie müssen diese Werte also nicht manuell festlegen.
Um dieses Anzeigencontainer-Element zu implementieren, erstellen Sie zuerst ein neues div
-Element innerhalb des video-container
-Elements. Aktualisieren Sie dann das CSS, um das Element in der linken oberen Ecke des video-element
zu positionieren. Fügen Sie zum Schluss die Funktion createAdDisplayContainer()
hinzu, um das AdDisplayContainer
-Objekt mit dem neuen Anzeigencontainer div
zu erstellen.
5. AdsLoader initialisieren und Anzeigenanfrage stellen
Wenn Sie Anzeigen anfordern möchten, erstellen Sie eine AdsLoader
-Instanz. Der AdsLoader
-Konstruktor akzeptiert ein AdDisplayContainer
-Objekt als Eingabe und kann verwendet werden, um AdsRequest
-Objekte zu verarbeiten, die einer bestimmten Ad-Tag-URL zugeordnet sind. Das in diesem Beispiel verwendete Anzeigen-Tag enthält eine 10-sekündige Pre-Roll-Anzeige. Sie können diese oder eine beliebige andere Anzeigen-Tag-URL mit dem IMA Video Suite Inspector testen.
Es hat sich bewährt, nur eine Instanz von AdsLoader
für den gesamten Lebenszyklus einer Seite zu verwenden. Wenn Sie zusätzliche Anzeigenanfragen stellen möchten, erstellen Sie ein neues AdsRequest
-Objekt, verwenden Sie aber dieselbe AdsLoader
. Weitere Informationen finden Sie in den IMA SDK-FAQs.
Mit AdsLoader.addEventListener
können Sie auf Ereignisse wie „Anzeigen geladen“ und „Fehler“ reagieren.
Die folgenden Ereignisse können beobachtet werden:
ADS_MANAGER_LOADED
AD_ERROR
So erstellen Sie die Listener onAdsManagerLoaded()
und onAdError()
:
6. Auf AdsLoader-Ereignisse reagieren
Wenn das AdsLoader
Anzeigen erfolgreich lädt, wird das Ereignis ADS_MANAGER_LOADED
ausgegeben. Parst das an den Callback übergebene Ereignis, um das AdsManager
-Objekt zu initialisieren. Mit AdsManager
werden die einzelnen Anzeigen geladen, die durch die Antwort auf die Anzeigen-Tag-URL definiert sind.
Behandeln Sie alle Fehler, die während des Ladevorgangs auftreten. Wenn Anzeigen nicht geladen werden, muss die Medienwiedergabe ohne Anzeigen fortgesetzt werden, damit die Nutzer den Content ansehen können.
Weitere Informationen zu den in der Funktion onAdsManagerLoaded()
festgelegten Listenern finden Sie in den folgenden Unterabschnitten:
AdsManager
-Fehler beheben
Der für AdsLoader
erstellte Fehler-Handler kann auch als Fehler-Handler für AdsManager
dienen. Hier sehen Sie den Ereignishandler, der die Funktion onAdError()
wiederverwendet.
Wiedergabe- und Pause-Ereignisse verarbeiten
Wenn das AdsManager
bereit ist, eine Anzeige einzufügen, wird das CONTENT_PAUSE_REQUESTED
-Ereignis ausgelöst. Behandle dieses Ereignis, indem du eine Pause im zugrunde liegenden Videoplayer auslöst. Wenn eine Anzeige ausgeliefert wurde, löst AdsManager
das Ereignis CONTENT_RESUME_REQUESTED
aus. Reagiere auf dieses Ereignis, indem du die Wiedergabe des zugrunde liegenden Inhaltsvideos neu startest.
Definitionen der Funktionen onContentPauseRequested()
und onContentResumeRequested()
finden Sie im folgenden Beispiel:
Wiedergabe von Inhalten während nicht linearer Anzeigen
Der AdsManager
pausiert das Video, wenn eine Anzeige abgespielt werden soll. Dieses Verhalten wird jedoch nicht bei nicht linearen Anzeigen berücksichtigt, bei denen der Inhalt während der Anzeigenschaltung weiter abgespielt wird.
Um nicht lineare Anzeigen zu unterstützen, müssen Sie auf das LOADED
-Ereignis warten, das von AdsManager
ausgegeben wird. Prüfen Sie, ob die Anzeige linear ist. Wenn nicht, setzen Sie die Wiedergabe im Videoelement fort.
Die Definition der Funktion onAdLoaded()
finden Sie im folgenden Beispiel.
7. Klick zum Pausieren auf Mobilgeräten auslösen
Da das AdContainer
das Videoelement überlagert, können Nutzer nicht direkt mit dem zugrunde liegenden Player interagieren. Das kann Nutzer auf Mobilgeräten verwirren, die erwarten, dass sie auf einen Videoplayer tippen können, um die Wiedergabe zu pausieren. Um dieses Problem zu beheben, leitet das IMA SDK alle Klicks, die nicht von IMA verarbeitet werden, vom Anzeigen-Overlay an das AdContainer
-Element weiter, wo sie verarbeitet werden können. Dies gilt nicht für lineare Anzeigen in Browsern, die nicht auf Mobilgeräten verwendet werden, da durch Klicken auf die Anzeige der Klicklink geöffnet wird.
Wenn Sie die Funktion „Klicken, um zu pausieren“ implementieren möchten, fügen Sie dem Listener für das Laden des Fensters die adContainerClick()
-Klick-Handler-Funktion hinzu.
8. AdsManager starten
Um die Anzeigenwiedergabe zu starten, müssen Sie die AdsManager
initiieren und starten. Um mobile Browser vollständig zu unterstützen, in denen Anzeigen nicht automatisch abgespielt werden können, müssen Sie die Anzeigenwiedergabe über Nutzerinteraktionen mit der Seite auslösen, z. B. durch Klicken auf die Schaltfläche „Wiedergabe“.
9. Ändern der Größe des Players unterstützen
Damit Anzeigen dynamisch an die Größe eines Videoplayers oder an Änderungen der Bildschirmausrichtung angepasst werden, rufen Sie adsManager.resize()
als Reaktion auf Ereignisse zur Fenstergrößenänderung auf.
Geschafft! Sie fordern jetzt Anzeigen mit dem IMA SDK an und präsentieren sie. Weitere Informationen zu erweiterten SDK-Funktionen finden Sie in den anderen Anleitungen oder in den Beispielen auf GitHub.