Mit den IMA SDKs lassen sich Multimediaanzeigen ganz einfach in Websites und Apps einbinden. IMA SDKs können Anzeigen von jedem VAST-konformen Ad-Server anfordern und die Anzeigenauslieferung in Ihren Apps verwalten. Mit den clientseitigen IMA SDKs, behalten Sie die Kontrolle über die Wiedergabe von Videoinhalten, während das SDK die Anzeigenauslieferung ü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 eine vollständige Beispielintegration ansehen oder nachvollziehen möchten, laden Sie das einfache Beispiel von GitHub herunter. Wenn Sie einen HTML5-Player mit vorintegriertem SDK verwenden möchten, sehen Sie sich das IMA SDK-Plug-in für Video.js an.
Übersicht über die clientseitige IMA-Implementierung
Die clientseitige IMA-Implementierung umfasst vier Hauptkomponenten des SDK, die in dieser Anleitung beschrieben 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 ein Anzeigenladeprogramm instanziieren, das 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 Anzeigengrößen angegeben.AdsManager: Ein Objekt, das die Antwort auf die Anzeigenanfrage enthält, die Anzeigenauslieferung steuert und auf Anzeigen ereignisse 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 für Tests
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 über die Befehlszeile im Verzeichnis mit der Datei „index.html“
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 in einem umschließenden
Element und eine Schaltfläche zum Auslösen der Wiedergabe zu erstellen. Im folgenden Beispiel wird das IMA SDK importiert und das
AdDisplayContainer Containerelement 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 Schaltfläche „Wiedergabe“ klicken.
Beachten Sie, dass das Code-Snippet ads.js einen Aufruf von setUpIMA() enthält, der im Abschnitt
Anzeigenladeprogramm initialisieren und Anzeigenanfrage senden
definiert ist.
3. IMA SDK importieren
Fügen Sie als Nächstes das IMA-Framework mit einem Skript-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
UI-Elemente für Anzeigen zu präsentieren. 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 vom
adsManager Objekt festgelegt. Sie müssen diese Werte also nicht manuell festlegen.
Um dieses Anzeigencontainerelement zu implementieren, erstellen Sie zuerst ein neues div im
video-container Element. Aktualisieren Sie dann das CSS, um das Element in der oberen linken
Ecke des video-element zu positionieren. Fügen Sie schließlich die createAdDisplayContainer()
Funktion hinzu, um das
AdDisplayContainer Objekt mit dem neuen Anzeigencontainer
div zu erstellen.
5. Anzeigenladeprogramm initialisieren und Anzeigenanfrage senden
Erstellen Sie eine
AdsLoader
Instanz, um Anzeigen anzufordern. Der AdsLoader Konstruktor verwendet ein
AdDisplayContainer
Objekt als Eingabe und kann zum Verarbeiten
AdsRequest
Objekte 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 andere Anzeigen-Tag-URL mit dem
IMA Video Suite Inspector testen.
Als Best Practice sollten Sie nur eine Instanz von AdsLoader für den gesamten
Lebenszyklus einer Seite verwenden. Wenn Sie weitere Anzeigenanfragen senden möchten, erstellen Sie ein neues AdsRequest
-Objekt, verwenden Sie aber dasselbe AdsLoader. Weitere Informationen finden Sie in den
IMA SDK-FAQs.
Verwenden Sie AdsLoader.addEventListener, um auf geladene Anzeigen und Fehlerereignisse zu warten und darauf zu reagieren.
Warten Sie auf die folgenden Ereignisse:
ADS_MANAGER_LOADEDAD_ERROR
Im folgenden Beispiel wird gezeigt, wie Sie die onAdsManagerLoaded() und onAdError() Listener erstellen:
6. Auf AdsLoader-Ereignisse reagieren
Wenn das AdsLoader Anzeigen erfolgreich lädt, wird ein
ADS_MANAGER_LOADED Ereignis ausgelöst. Analysieren Sie das an den Callback übergebene Ereignis, um das
AdsManager Objekt zu initialisieren. Der AdsManager lädt die einzelnen Anzeigen, wie in
der Antwort auf die Anzeigen-Tag-URL definiert.
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 nicht beim Ansehen der Inhalte gestört werden.
Weitere Informationen zu den in der onAdsManagerLoaded() Funktion festgelegten Listenern finden Sie in den folgenden Unterabschnitten:
AdsManager-Fehler behandeln
Der für AdsLoader erstellte Fehler-Handler kann auch als Fehler-Handler für
den AdsManager dienen. Sehen Sie sich den Ereignis-Handler an, der die Funktion onAdError() wiederverwendet.
Ereignisse für Wiedergabe und Pause behandeln
Wenn das AdsManager bereit ist, eine Anzeige einzufügen, wird das
CONTENT_PAUSE_REQUESTED Ereignis ausgelöst. Behandeln Sie dieses Ereignis, indem Sie die Wiedergabe im
zugrunde liegenden Videoplayer pausieren. Wenn eine Anzeige vollständig ausgeliefert wurde, löst das AdsManager das
CONTENT_RESUME_REQUESTED Ereignis aus. Behandeln Sie dieses Ereignis, indem Sie die Wiedergabe des
zugrunde liegenden Videoinhalts neu starten.
Definitionen der onContentPauseRequested() und
onContentResumeRequested() Funktionen finden Sie im folgenden Beispiel:
Wiedergabe von Inhalten während nicht linearer Anzeigen behandeln
Der AdsManager pausiert das Video mit den Inhalten, wenn eine Anzeige bereit zur Wiedergabe ist. Dieses
Verhalten berücksichtigt jedoch keine nicht linearen Anzeigen, bei denen die Wiedergabe der Inhalte fortgesetzt wird, während die Anzeige eingeblendet wird.
Wenn Sie nicht lineare Anzeigen unterstützen möchten, warten Sie darauf, dass das AdsManager das
LOADED Ereignis auslöst. Prüfen Sie, ob die Anzeige linear ist. Wenn nicht, setzen Sie die Wiedergabe des
Videoelements fort.
Die Definition der Funktion onAdLoaded() finden Sie im folgenden Beispiel.
7. Klick-to-Pause 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, da sie 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-Mobilbrowsern, da durch Klicken auf die Anzeige der
Klicklink geöffnet wird.
Um die Klick-to-Pause-Funktion zu implementieren, fügen Sie die adContainerClick() Klick-Handler-Funktion hinzu, die
im Listener für das Laden des Fensters aufgerufen wird.
8. `AdsManager` starten
Um die Anzeigenauslieferung zu starten, initialisieren und starten Sie AdsManager. Um mobile
Browser vollständig zu unterstützen, in denen Anzeigen nicht automatisch wiedergegeben werden können, lösen Sie die Anzeigenauslieferung durch Nutzerinteraktionen
auf der Seite aus, z. B. durch Klicken auf die Schaltfläche „Wiedergabe“.
9. Größenänderung des Players unterstützen
Damit die Größe von Anzeigen dynamisch angepasst wird und sie der Größe eines Videoplayers oder Änderungen der Bildschirm
ausrichtung entsprechen, rufen Sie adsManager.resize() als Reaktion auf Ereignisse zur Größenänderung des Fensters auf.
Jetzt weißt du Bescheid. 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.