Mit IMA SDKs lassen sich Multimedia-Anzeigen ganz einfach in 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 clientseitigen IMA SDKs behalten Sie die Kontrolle über die Videowiedergabe von Inhalten, während das SDK die Anzeigenwiedergabe übernimmt. Anzeigen werden in einem separaten Videoplayer wiedergegeben, der über dem Videoplayer der App angezeigt wird.
In dieser Anleitung wird gezeigt, wie du das IMA SDK in eine einfache Videoplayer-App einbindest. Wenn du dir eine fertige Beispielintegration ansehen oder diese Schritt für Schritt nachvollziehen möchtest, lade das einfache Beispiel von GitHub herunter. Wenn du einen HTML5-Player mit vorinstalliertem SDK suchst, sieh dir das IMA SDK-Plug-in für Video.js an.
IMA-Client – Übersicht
Die clientseitige Implementierung von IMA umfasst vier Haupt-SDK-Komponenten, die in diesem Leitfaden veranschaulicht werden:
AdDisplayContainer
: Ein Containerobjekt, das angibt, wo IMA UI-Elemente 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-Lademechanismus instanziieren, der während der gesamten Lebensdauer der Anwendung wiederverwendet werden kann.AdsRequest
: Objekt, das eine Anzeigenanfrage definiert. In Anzeigenanfragen werden die URL für das VAST-Anzeigen-Tag sowie zusätzliche Parameter wie 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 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. Die einfachste Möglichkeit, einen lokalen Entwicklungsserver zu starten, ist die Verwendung des integrierten Servers von Python.
- Führen Sie in einer Befehlszeile im Verzeichnis, das die Datei index.html enthält, Folgendes 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 in einem Umschlagelement und eine Schaltfläche zum Starten der Wiedergabe zu erstellen. Im folgenden Beispiel wird das IMA SDK importiert und das Containerelement AdDisplayContainer
eingerichtet. Weitere Informationen finden Sie unter
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, um den Videoplayer für Mobilgeräte responsiv zu gestalten. Deklarieren Sie abschließend in ads.js Ihre Variablen und lösen Sie die Videowiedergabe aus, wenn auf die Wiedergabeschaltfläche geklickt wird.
Das Code-Snippet ads.js enthält einen Aufruf an setUpIMA()
, der im Abschnitt
AdsLoader initialisieren und Anzeigenanfrage stellen
definiert ist.
3. IMA SDK importieren
Füge als Nächstes das IMA-Framework mit einem Script-Tag in index.html vor dem Tag für ads.js
hinzu.
4. Anzeigencontainer erstellen
In den meisten Browsern verwendet das IMA SDK ein spezielles Anzeigencontainerelement, um sowohl Anzeigen als auch anzeigebezogene UI-Elemente anzuzeigen. Dieser Container muss so groß sein, dass er das Videoelement von der oberen linken Ecke aus überlagert. Höhe und Breite der Anzeigen, die in diesem Container platziert werden, werden vom adsManager
-Objekt festgelegt. Sie müssen diese Werte also nicht manuell festlegen.
Wenn Sie dieses Anzeigencontainerelement implementieren möchten, 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 der video-element
zu positionieren. Fügen Sie abschließend die Funktion createAdDisplayContainer()
hinzu, um das AdDisplayContainer
-Objekt mit dem neuen Anzeigencontainer div
zu erstellen.
5. AdsLoader initialisieren und Anzeigenanfrage senden
Wenn Sie Anzeigen anfordern möchten, erstellen Sie eine AdsLoader
-Instanz. Der Konstruktor AdsLoader
nimmt ein AdDisplayContainer
-Objekt als Eingabe an und kann zum Verarbeiten von AdsRequest
-Objekten verwendet werden, die mit einer bestimmten Anzeigen-Tag-URL verknüpft sind. Das in diesem Beispiel verwendete Anzeigen-Tag enthält eine 10-sekündige Pre-Roll-Anzeige. Sie können diese oder eine beliebige Anzeigen-Tag-URL mit dem IMA Video Suite Inspector testen.
Es empfiehlt sich, nur eine Instanz von AdsLoader
für den gesamten Lebenszyklus einer Seite zu verwalten. Wenn Sie weitere Anzeigenanfragen senden möchten, erstellen Sie ein neues AdsRequest
-Objekt, verwenden Sie aber dieselbe AdsLoader
. Weitere Informationen finden Sie in den häufig gestellten Fragen zum IMA SDK.
Mit AdsLoader.addEventListener
können Sie auf geladene Anzeigen und Fehlerereignisse reagieren.
Die folgenden Ereignisse können beobachtet werden:
ADS_MANAGER_LOADED
AD_ERROR
Weitere Informationen zum Erstellen der onAdsManagerLoaded()
- und onAdError()
-Listener findest du im folgenden Beispiel:
6. Auf AdsLoader-Ereignisse reagieren
Wenn die AdsLoader
Anzeigen erfolgreich geladen hat, wird das Ereignis ADS_MANAGER_LOADED
ausgegeben. Parse das an den Callback übergebene Ereignis, um das AdsManager
-Objekt zu initialisieren. Über das AdsManager
werden die einzelnen Anzeigen geladen, wie in der Antwort auf die Anzeigen-Tag-URL definiert.
Beheben Sie alle Fehler, die während des Ladevorgangs auftreten. Wenn Anzeigen nicht geladen werden, muss die Medienwiedergabe ohne Anzeigen fortgesetzt werden, damit die Nutzer die Inhalte ohne Unterbrechungen ansehen können.
Weitere Informationen zu den Listeners, die in der Funktion onAdsManagerLoaded()
festgelegt sind, finden Sie in den folgenden Unterabschnitten:
AdsManager
-Fehler behandeln
Der für die AdsLoader
erstellte Fehler-Handler kann auch als Fehler-Handler für die AdsManager
verwendet werden. Weitere Informationen finden Sie im Ereignis-Handler, in dem die Funktion onAdError()
wiederverwendet wird.
Wiedergabe- und Pausenereignisse verarbeiten
Wenn die AdsManager
bereit ist, eine Anzeige einzufügen, wird das Ereignis CONTENT_PAUSE_REQUESTED
ausgelöst. Hier kannst du eine Pause im zugrunde liegenden Videoplayer auslösen. Wenn eine Anzeige beendet wird, löst AdsManager
das Ereignis CONTENT_RESUME_REQUESTED
aus. Behandle dieses Ereignis, indem du die Wiedergabe des zugrunde liegenden Videocontents neu startest.
Definitionen der Funktionen onContentPauseRequested()
und onContentResumeRequested()
finden Sie im folgenden Beispiel:
Wiedergabe von Inhalten bei nicht linearen Anzeigen steuern
Das AdsManager
-Symbol pausiert das Video, wenn eine Anzeige wiedergegeben werden kann. Bei nicht linearen Anzeigen, bei denen der Inhalt weiter abgespielt wird, während die Anzeige eingeblendet wird, funktioniert das jedoch nicht.
Wenn du nicht lineare Anzeigen unterstützen möchtest, musst du das Ereignis AdsManager
überwachen, um das Ereignis LOADED
zu senden. Prüfen Sie, ob die Anzeige linear ist. Falls nicht, fahren Sie mit der Wiedergabe des Videoelements fort.
Die Definition der onAdLoaded()
-Funktion finden Sie im folgenden Beispiel.
7. „Anklicken 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, übergibt das IMA SDK alle Klicks, die nicht von IMA verarbeitet werden, vom Anzeigen-Overlay an das AdContainer
-Element, wo sie verarbeitet werden können. Dies gilt nicht für lineare Anzeigen in nicht mobilen Browsern, da durch Klicken auf die Anzeige der Klicklink geöffnet wird.
Wenn du die Funktion „Anklicken zum Pausieren“ implementieren möchtest, füge die adContainerClick()
-Click-Handler-Funktion in den „On Window Load“-Listener ein.
8. AdsManager starten
Wenn du die Wiedergabe der Anzeige starten möchtest, starte die AdsManager
. Damit mobile Browser vollständig unterstützt werden, in denen Anzeigen nicht automatisch abgespielt werden können, sollten Sie die Anzeigenwiedergabe über Nutzerinteraktionen mit der Seite auslösen, z. B. über das Klicken auf die Wiedergabeschaltfläche.
9. Größe des Players anpassen
Damit Anzeigen dynamisch die Größe eines Videoplayers annehmen oder sich an Änderungen der Bildschirmausrichtung anpassen, rufen Sie adsManager.resize()
als Reaktion auf Ereignisse zur Fenstergrößenänderung auf.
Geschafft! Sie fordern jetzt Anzeigen über das IMA SDK an und schalten sie. Weitere Informationen zu erweiterten SDK-Funktionen finden Sie in den anderen Anleitungen oder in den Beispielen auf GitHub.