Werbung mit dem IMA3 Plugin

Dieses Thema behandelt die Verwendung des IMA-Plugins und wie es mit Studio und durch benutzerdefinierte Codierung implementiert werden kann.

Einleitung

Das IMA-Plugin integriert den Brightcove-Player in Googles Interactive Media Ads (IMA) für HTML5 Version 3. Auf diese Weise können Sie VAST-, VPAID- und VMAP-Anzeigen für Ihren Player anfordern und verfolgen. Einzelheiten zu Google IMA finden Sie unter Mit dem IMA HTML5 SDK Version 3 dokumentieren.

Spieler-Beispiel

Das folgende Beispielvideo zeigt die Verwendung des IMA-Plugins. Spielen Sie das Video ab, um einen Preroll zu sehen, einen überspringbaren Mid-Roll nach 5 Sekunden und schließlich einen Postroll.

Testen des Anzeigenservers

Das erste, was Sie tun sollten, ist die Gültigkeit des Anzeigen-Tags zu überprüfen, das Sie verwenden möchten. Stellen Sie sicher, dass Sie die URL kopiert haben und navigieren Sie auf die folgende Seite: Video Suite Inspector (wenn Sie auf diesen Link klicken, wird die Seite in einem neuen Fenster oder Tab geöffnet).

Fügen Sie Ihre Anzeigen-Tag-URL in die ein Input type Formular Eingabefeld. Klicken Test Ad und Sie werden sehen, wie Ihre Anzeigen abgespielt werden, wobei das von Google bereitgestellte Video eingestreut ist. Wenn Ihr Anzeigen-Tag in dieser Testumgebung nicht funktioniert, funktioniert es nicht mit Brightcove Player.

Implementieren mit dem Player-Modul - Bereich Werbung

In diesem Abschnitt des Dokuments verwenden Sie Studio zum Implementieren von Werbung mithilfe von Werbung Abschnitt. In diesem Fall sind Sie darauf beschränkt, welche Optionen das Formular bietet. Wenn Sie die Implementierung mit einigen der vielen verfügbaren Optionen anpassen möchten, die in diesem Abschnitt NICHT zur Verfügung stehen, verwenden Sie den Abschnitt Implementieren des Moduls Players - Plugins, der bietet die Möglichkeit, Optionen über JSON zu liefern.

 

Gehen Sie folgendermaßen vor, um das IMA-Plugin mit dem Player-Modul zu implementieren:

  1. Öffnen Sie das PLAYERS-Modul und erstellen Sie entweder einen neuen Player oder suchen Sie den Player, dem Sie Werbefunktionen hinzufügen möchten.
  2. Klicken Sie auf den Link für den Spieler, um die Eigenschaften des Spielers zu öffnen.
  3. Klicken Werbung im linken Navigationsmenü.
  4. Aktivieren Sie das Kontrollkästchen Clientseitig (IMA) aktivieren.
  5. Geben Sie die Server URL für den Ad-Server.
  6. Wähle aus Request Ads Rahmen.
    • On load- Anzeigen werden sofort beim Laden des Players angefordert (dies ist normalerweise die beste Erfahrung für DFP / VPAID).
    • On play- Die erste Anzeigenanforderung wird verzögert, bis die Wiedergabe gestartet wird.
    • On demand- Alle Anzeigenanfragen werden programmgesteuert mit dem initiiert player.ima3.adrequest() Methode. Dieser Modus unterstützt keine Preroll- oder Postroll-Anzeigen.
    • On cue point- Anzeigenanfragen werden an einem versendeten Anzeigen-Cue-Punkt initiiert. Siehe die Anzeige von Anzeigen mithilfe von Anzeigen-Cue-Points Dokument für vollständige Details.
  7. Wählen Sie die Anzeige aus VPAID Mode. Der VPAID-Modus wird verwendet, um die VPAID 2-Unterstützung in IMA-Anzeigen zu aktivieren.
    • Enabled- Spielen Sie VPAID-Anzeigen in einem Iframe mit einer anderen Domain ab
    • Insecure- Spielen Sie VPAID-Anzeigen in einem Iframe mit derselben Domain ab
    • Disabled- VPAID-Anzeigen werfen einen Fehler auf
  8. Stellen Sie die Timeout Wert. Dies ist die maximale Zeit, die in Millisekunden gewartet wird, bis eine Anzeige vor der Wiedergabe initialisiert wird.
  9. Treffen Sie eine Wahl für Hard Timeouts. Das Deaktivieren dieser Option kann dazu führen, dass eine langsame Werbung die Videowiedergabe unterbricht.
  10. Legen Sie die Maximale Anzahl von Weiterleitungen fest. Dies gibt die maximale Anzahl von Weiterleitungen an, bevor die nachfolgenden Weiterleitungen verweigert und die Anzeigenladung abgebrochen wird. Die Anzahl der Weiterleitungen wirkt sich direkt auf die Latenz und damit auf die Benutzererfahrung aus.
  11. Für die Plugin-Version wird dringend empfohlen, die neueste Version zu verwenden.
  12. Sehen Sie sich ein Beispiel an, ausgefülltes Formular:
    IMA3-Eigenschaften in Studio
  13. Klicken Sie auf Speichern.
  14. Um den Player zu veröffentlichen, klicken Sie auf Veröffentlichen & Einbetten > Änderungen veröffentlichen.
  15. Um das Dialogfeld „Öffnen“ zu schließen, klicken Sie auf Schließen.

Wenn die Änderungen an den Werbeeigenschaften gespeichert werden, wird das IMA-Plugin als Teil der Plugin-Einstellungen konfiguriert. JavaScript und CSS werden ausgeblendet, da Sie sie über das hinzugefügt haben Advertising Sektion.

Das IMA-Plugin unterstützt zusätzliche Eigenschaften, die in diesem Abschnitt der Benutzeroberfläche nicht verfügbar sind. Im nächsten Abschnitt dieses Dokuments finden Sie eine Möglichkeit, mehr Konfigurationsoptionen zu verwenden.

Implementieren mit dem Player-Modul - Abschnitt Plugins

Wenn Sie das IMA3-Plugin über die in der bereitgestellten Optionen hinaus konfigurieren möchten Werbung Abschnitt können Sie die verwenden Plugins Abschnitt, der eine Möglichkeit bietet, Optionen über JSON bereitzustellen.

Um das IMA3-Plugin zu implementieren, fügen Sie den Funktionsnamen des Plugins und die URLs zu den JavaScript- und CSS-Dateien des Plugins hinzu:

  1. Öffnen Sie das PLAYERS-Modul und erstellen Sie entweder einen neuen Player oder suchen Sie den Player, dem Sie das Plugin hinzufügen möchten.
  2. Klicken Sie auf den Link für den Spieler, um die Eigenschaften des Spielers zu öffnen.
  3. Klicken Plugins im linken Navigationsmenü.
  4. Wählen Sie im Dropdown-Menü Plugin hinzufügen die Option Benutzerdefiniertes Plugin aus.
    Wählen Sie Plugin
  5. Geben Sie für den Plugin-Namen ein ima3.
  6. Geben Sie für die JavaScript-URL ein:
    https://players.brightcove.net/videojs-ima3/4/videojs-ima3.min.js
  7. Geben Sie für die CSS-URL ein:
    https://players.brightcove.net/videojs-ima3/4/videojs-ima3.css
  8. Geben Sie die Konfigurationsoptionen im Optionen (JSON) Textfeld.
    {
      "serverUrl": "//pubads.g.doubleclick.net/gampad/ads?sz=400x300&iu=%2F6062...",
      "timeout": 5000,
      "debug": true
    }
  9. Klicken Sie auf Speichern.
  10. Um den Player zu veröffentlichen, klicken Sie auf Veröffentlichen & Einbetten > Änderungen veröffentlichen.
  11. Um das Dialogfeld „Öffnen“ zu schließen, klicken Sie auf Schließen.

IMA3-Plugin und Autoplay

Für Anzeigen, die über das IMA3-Plugin wiedergegeben werden, wird dieselbe Autoplay-Konfiguration verwendet, die für den Brightcove-Player festgelegt wurde. Es wird volle Kontrolle gewährt, und alle möglichen Autoplay-Werte des Brightcove-Players werden unterstützt.

JSON vs JavaScript-Notation

Wenn Sie den folgenden Options Abschnitt untersuchen, sehen Sie, dass die Konfigurationsinformationen im JSON-Format bereitgestellt werden. Wenn Sie Code verwenden, um Ihr IMA3-Plugin zu implementieren, unterscheidet sich die Notation zum Festlegen von Optionen mit JavaScript geringfügig.

Hier sehen Sie Optionen im JSON-Format, die Sie in Studio verwenden könnten:

{
  "requestMode": "onload",
  "serverUrl": "//solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap.xml?cust_params={mediainfo.ad_keys}",
  "timeout": 5000
}

Wenn Sie JavaScript verwenden, um Ihre Optionen zu konfigurieren, würde das JSON-Format funktionieren, aber Sie könnten auch die JavaScript-Syntax verwenden, wie hier gezeigt:

{
  requestMode: 'onload',
  serverUrl: '//solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap',
  timeout: 5000
}

Optionen

Das video.js IMA3-Plugin basiert auf dem Framework video.js ads und akzeptiert alle Optionen, die das Ad-Framework bietet. Einzelheiten finden Sie in der README des Anzeigen-Frameworks. Sowohl die IMA-Plug-in-spezifischen Optionen als auch Ad-Framework-Optionen sind hier dokumentiert.

Die Optionen sind:

ClickTrackingElement

Typ: HTMLElement
Standardwert: undefiniert

Wenn die HTML-Werbetechnik im benutzerdefinierten Anzeigenwiedergabemodus verwendet wird, gibt dies ein alternatives HTML-Element an, das verwendet wird, um Anzeigentipps auf Geräten zu verfolgen, die keine Eingabeereignisse über das Videoelement unterstützen. Weitere Details finden Sie in der Parameterdokumentation für den IMA AdDisplayContainer. Wenn Sie ein Klick-Tracking-Element angeben, liegt es in Ihrer Verantwortung, es zu den entsprechenden Zeiten auf den entsprechenden Plattformen ein- und auszublenden. In den meisten Fällen ist es am besten, diese Einstellung undefiniert zu lassen und dem Plugin und der IMA die Verwaltung der Anzeigeninteraktion zu ermöglichen.

debuggen

Typ: boolean
Standardwert: false

Wenn Debug auf True festgelegt ist, gibt das Ads Framework während der Wiedergabe zusätzliche Informationen über seinen aktuellen Status aus. Dies kann nützlich sein, um Probleme oder unerwartetes Verhalten in einer Anzeigenintegration zu diagnostizieren.

Diese Option ist Teil des Ad-Frameworks und ist wie folgt konfiguriert:

player.ima3({
  debug: true
});

Der folgende Screenshot zeigt einen Teil der umfangreichen Informationen, die angezeigt werden, wenn die Fehlersuche aktiviert ist.

Debug-Ausgabe in der Konsole

disableCustomPlaybackForios10Plus

Typ: boolean
Standardwert: false

Diese Eigenschaft ist Teil des ima3SdkSettings Objekts. Es fungiert als Getter und Setter, um zu steuern, ob die benutzerdefinierte Wiedergabe in iOS 10+-Browsern deaktiviert werden soll. Das Verhalten ist wie folgt:

  • Wenn dies zutrifft, werden Anzeigen inline abgespielt, wenn das Inhaltsvideo inline ist, was überspringbare Anzeigen ermöglicht. Die Anzeige bleibt jedoch inline und unterstützt nicht den nativen Vollbildmodus von iOS.
  • Wenn false, werden Anzeigen im selben Player wie Ihre Inhalte abgespielt.

Siehe die Überspringbare iOS-Anzeigen Abschnitt dieses Dokuments ein Beispiel für die Verwendung dieser Einstellung.

HardTimeouts

Typ: boolean
Standardwert: true

Verlassen Sie Anzeigen, die nach dem Timeout abgeschlossen sind. Dies verhindert, dass langsame Preroll-Anzeigen nach Ablauf des timeout verstrichen werden und das Inhaltsvideo mit der Wiedergabe begonnen hat.

Diese Option ist Teil des Ad-Frameworks und ist wie folgt konfiguriert:

player.ima3({
  hardTimeouts: true
});

Wenn Sie diese Option auf einstellen, false wird Content Flash vor Anzeigen angezeigt.

Ima3SDKSettings

Typ: object
Standardwert: undefiniert

Falls vorhanden, werden die Eigenschaften dieses Objekts verwendet, um die Ima3SDKSettings auf Seitenebene festzulegen, wenn das IMA-SDK geladen wurde. Es wird erwartet, dass die Eigenschaften dieses Objekts das Kamel-äquivalente Äquivalent der Setter-Methoden auf dem Objekt sind SDK Einstellungsobjekt abzüglich des Präfixes 'set'. Wenn Sie dieses Objekt beispielsweise bei der Initialisierung des Plugins angegeben haben:

player.ima3({
  ima3SdkSettings: {
    'numRedirects': 3,
    'ppid': 'publisher-provided-id'
  }
}

Dann würde das video.js IMA-Plugin Code ausführen, der in etwa so aussieht, als IMA geladen wurde:

window.google.ima.ImaSdkSettings.setNumRedirects(3);
window.google.ima.ImaSdkSettings.setPpid('publisher-provided-id');

omidAccessModeRules

Typ: Four access modes
Standardwert: undefined

Das OM SDK unterstützt die Ausführung von Verifikationsskripten in verschiedenen Zugriffsmodi, die steuern, auf wie viel das Verifikationsskript zugreifen kann. Die vier Zugriffsmodi sind:

  • VOLL: Das Verifizierungsskript hat direkten Zugriff auf das Kreativmaterial und die Verlagsseite.
  • KREATIV: Das Verifizierungsskript und das Kreativmaterial werden von der Verlagsseite aus in einer Sandbox gehalten. Das Drehbuch hat jedoch direkten Zugang zu den Kreativen.
  • DOMAIN: Das Verifizierungsskript befindet sich in einer Sandbox und hat keinen Zugriff auf die Kreativ- oder Verlagsseite. Das Skript wird jedoch so geladen, dass es direkt bestätigen kann, auf welcher Verlagsdomäne es sich befindet.
  • LIMITED: Das Verifizierungsskript ist in einer Sandbox untergebracht und hat keinen Zugriff auf die Kreativ- oder Verlagsseite und kann nicht direkt bestätigen, auf welcher Verlagsdomäne es sich befindet.

Verwenden Sie die Option omidAccessModeRules wie folgt:

{
  omidAccessModeRules: {
    "FULL": ["exampleRegexPattern1"],
    "DOMAIN": ["exampleRegexPattern2", "exampleRegexPattern3"],
    "LIMITED": []
  }
}

Beachten Sie, dass das Feature-Flag enableOmidBeta in den ima3SdkSettings auf true gesetzt werden muss, um omidAccessModeRules zu aktivieren, wie folgt:

{
  "featureFlags": {
    "enableOmidBeta": true
  }
}

Die Regeln für den Zugriffsmodus müssen auf der Ebene der Anzeigenanforderung festgelegt werden. Um verschiedene Zugriffsmodi für verschiedene Verifizierungsskriptanbieter festzulegen, übergeben Sie ein Wörterbuch, das jeden OmidVerificationVendor einem der oben aufgeführten Zugriffsmodi zuordnet. OmidVerificationVendor.OTHER wird verwendet, um den Standard-Zugriffsmodus für alle nicht ausdrücklich im Wörterbuch enthaltenen Anbieter festzulegen. Wenn keine Regeln für den Zugriffsmodus angegeben sind, werden die Prüfskripte im LIMITED-Zugriffsmodus für Anbieter ausgeführt.

Siehe das folgende Beispiel, in dem GOOGLE auf google.ima.OmidAccessMode.FULL gesetzt wird. Alle anderen Anbieter, einschließlich der in OmidVerificationVendor aufgeführten, sind standardmäßig so eingestellt, wie OmidVerificationVendor.OTHER eingestellt ist.

request.omidAccessModeRules = {};
request.omidAccessModeRules[google.ima.OmidVerificationVendor.GOOGLE] = google.ima.OmidAccessMode.FULL;
request.omidAccessModeRules[google.ima.OmidVerificationVendor.OTHER] = google.ima.OmidAccessMode.DOMAIN;

postrollTimeout

Typ: number
Standardwert: undefined

Steuert die postrollTimeout-Einstellung in videojs-contrib-ads. Falls angegeben, überschreibt er jeden für die Zeitüberschreitung festgelegten Wert.

prerollTimeout

Typ: number
Standardwert: undefined

Steuert die PrerollTimeout-Einstellung in videojs-contrib-ads. Falls angegeben, überschreibt er jeden für die Zeitüberschreitung festgelegten Wert.

RequestMode

Typ: string
Standardwert: onload

Diese Option ist Teil des Ad-Frameworks ist wie folgt konfiguriert:

player.ima3({
  requestMode: 'onplay'
});

Es gibt vier mögliche Werte für diese Option:

  • onload: Anzeigen werden sofort angefordert, wenn der Spieler geladen wird. Dies ist normalerweise die beste Erfahrung für DFP/VPAID.
  • onplay: Die erste Anzeigenanforderung verzögert sich, bis die Wiedergabe eingeleitet wird. Dies ist wichtig für Werbenetzwerke, die Anzeigenanfragen als Wiedergabe betrachten, sodass Sie keine Anzeigenanforderung vor einer Wiedergabeanfrage wünschen. Dies führt dazu, dass gehandelte Anzeigen schließlich fallen, oder der Kunde erhält weniger für die gezeigten Anzeigen.
  • ondemand: Anzeigen werden nur dann wiedergegeben, wenn sie mit der player.ima3.adrequest() Methode manuell initiiert werden. Dieser Modus unterstützt keine Preroll- oder Postroll-Anzeigen.
  • oncue:Diese Option verhält sich unterschiedlich, je nachdem, ob sie mit der useMediaCuePoints Option verwendet wird.

    Verwenden von Cue-Points mit Video Cloud

    Sie können Anzeigen-Cuepunkte für ein Video in Studio erstellen und dann eine Werbung abspielen lassen, wenn der Cue-Point ausgelöst wird. Ausführliche Informationen finden Sie unter Anzeigen mithilfe von Anzeigen-Cue-Points anzeigen dokumentieren.

    Cue-Points in einem Livestream verwenden

    Anzeigen werden basierend auf ID3-Cue-Points in einem Livestream angefordert. Damit diese Art von Anforderung ordnungsgemäß funktioniert, muss der empfangene ID3 TXXX-Frame JSON-Daten mit den folgenden Feldern enthalten:

    • name: Erforderlich; muss der String-Wert sein adCue
    • id: Erforderlich; Ein eindeutiger Wert zur Identifizierung der Anzeige, da die Zeiten in Live-Streams relativ sind
    • serverUrl: Optional; Als Unterbrechungslängenparameter an die Server-URL angehängt
    • duration: Optional; Anzeigendauer

    Beispiel:

    {"name": "adCue", "id": 123}

    Sie können ID3-Cue-Points auch in einem Livestream abbrechen, der von einem erstellt wurde, adCue indem Sie verwenden adCancel. Für das gesendete Objekt muss das folgende Format verwendet werden:

    {"name": "adCancel", "id": 123}

    name Sowohl die als auch id sind erforderlich.

    • Live ID3-Werbe-Cues werden auf Android nicht unterstützt.
    • Live-ID3-Hinweise zur Anzeigenstornierung werden unter iOS nicht unterstützt.

sdkurl

Typ: string
Standardwert:

//imasdk.googleapis.com/js/sdkloader/ima3.js

Legen Sie eine benutzerdefinierte URL für das IMA SDK-Skript fest. Dies ist in Produktionsumgebungen nicht erforderlich, kann aber für die Fehlersuche nützlich sein.

Wenn debug true ist, zeigt dies stattdessen auf ima3_debug.js .

Serverurl

Typ: string oder function
Standardwert (eine generische Google-Anzeige):

//pubads.g.doubleclick.net/gampad/ads?sz=400x300&iu=%2F6062%2Fiab_vast_samples&ciu_szs=300x250%2C728x90&gdfp_req=1&env=vp&output=xml_vast2&unviewed_position_start=1&url=[referrer_url]&correlator=[timestamp]&cust_params=iab_vast_samples%3Dlinear

Hier geben Sie die URL zu Ihrem Anzeigenserver an. Diese Option kann in Brightcove Studio wie oben gezeigt konfiguriert werden. Sie können den Wert auch im Code festlegen. Als nächstes werden zwei Beispiele gezeigt. (Denken Sie daran, Sie sollten Testen Sie das Anzeigen-Tag auf Ihrem Server, bevor Sie versuchen, es im Plugin zu verwenden.)

Wenn der Wert eine Zeichenfolge ist, stellt er die Anzeigenserver-URL dar, von der aus Anzeigen angefordert werden, und kann wie folgt im Code festgelegt werden:

player.ima3({
  serverUrl: 'your ad server'
});

Wenn der Wert eine Funktion ist, ist der Funktionsparameter eine callback Funktion, die mit Ihrer Server-URL als Argument aufgerufen werden sollte. Dies bietet Unterstützung für asynchrone Prozesse wie Header-Gebote. Im folgenden Beispiel sehen Sie Informationen aus dem mediainfo Objekt, mit dem bestimmt wird, welche Anzeigen-URL basierend auf einer Konto-ID verwendet werden soll:

// Initialize IMA plugin
myPlayer.ima3({
  serverUrl: function(callback) {
    if (myPlayer.mediainfo.id === '4034552795001') {
      callback('https://pubads.g.doubleclick.net/.../url1');
    } else {
      callback('https://pubads.g.doubleclick.net/.../url2');
    }
  },
  requestMode: 'onload',
  debug: true
});

showvpaidControls

Typ: boolean
Standardwert: false

Legen Sie fest true, dass benutzerdefinierte Brightcove-Steuerelemente für VPAID-Anzeigen angezeigt werden. Sie funktionieren möglicherweise oder auch nicht, abhängig von der VPAID-Implementierung, daher schlägt Brightcove vor, diese Funktion mit Ihren Anzeigen zu testen, bevor Sie sie in der Produktion aktivieren.

Timeout

Typ: number
Standardwert: 4000

Die maximale Zeit in Millisekunden, um darauf zu warten, dass Anzeigen abgespielt werden, bevor eine Werbeunterbrechung übersprungen wird.

Diese Option ist Teil des Ad-Frameworks ist wie folgt konfiguriert:

player.ima3({
  timeout: 5000
});

Bei internen Brightcove-Tests wurde festgestellt, dass vier Sekunden lang genug zu sein schienen, um in den meisten Fällen eine langsame Initialisierung zu ermöglichen, aber immer noch kurz genug, dass Initialisierungsfehler nicht wie Fehler des Players oder des Inhaltsvideos aussahen.

UseMediacuePoints

Typ: boolean
Standardwert: false

Aktiviert die Verwendung von ad Cue-Punkte (wie in Studio definiert), um die Wiedergabe einer Anzeige auszulösen.

Damit Video Cloud Ad Cuepoints zum Auslösen von Anzeigen verwendet werden können, ist in der Plugin-Konfiguration Folgendes erforderlich:

  • useMediaCuePoints: wahr
  • requestMode: Die Zeichenfolge oncue
  • serverUrl: Muss auf eine gültige VAST Ad verweisen

Wenn Sie Studio zum Einrichten von Werbung verwenden, wählen Sie bei der Auswahl von On Cue-Point die useMediaCuePoints und requestMode Optionen werden für Sie richtig eingestellt.

vpaidMode

Typ: string
Standardwert: ENABLED

Geben Sie den VPAID 2-Modus im IMA HTML5 SDK an.

Es gibt drei mögliche Werte für diese Option:

  • ENABLED: Spielen Sie VPAID-Anzeigen in einem Iframe mit einer anderen Domain ab.
  • INSECURE: Spielen Sie VPAID-Anzeigen in einem Iframe mit derselben Domain ab.
  • DISABLED: VPAID-Anzeigen werfen einen Fehler aus.

Diese Option ist wie folgt konfiguriert:

player.ima3({
  vpaidMode: 'DISABLED'
});

Immobilien

Für das Plugin existiert nur eine Eigenschaft:

  • html5: Dies ist die einzige Anzeigentechnologie, die geladen werden kann, wenn das Plugin initialisiert wird.

Ad-Makros und das SerVerUrl

Es stehen Werbemakros zur Verfügung, um Ihre Arbeit beim Erstellen der Anzeigenserver-URL zu erleichtern. Mit diesen Makros können Sie Variablen in der Server-URL verwenden, für die das IMA3-Plugin entsprechende Werte ersetzt. Die folgende Server-URL enthält beispielsweise einige der Variablen:

{"serverUrl": "//myadserver.com/ad?video={mediainfo.id}&duration={player.duration}"}

Die IMA3-Plugins würden die entsprechenden Werte ersetzen, und die tatsächlich verwendete Server-URL würde wie folgt aussehen:

{"serverUrl": "//myadserver.com/ad?video=12340001&duration=60"}

Im Folgenden finden Sie die vollständige Liste der Variablen, für die substituierte Werte verwendet werden:

Makro Beschreibung
{document.referrer} Verweisende Seiten-URL.
{mediainfo.ad_keys} Freiform-Textzeichenfolge, die im Medienmodul von Studio hinzugefügt und bearbeitet werden kann; Sie sollten den Abfrageparameter im Formular verwenden
cust_params={mediainfo.ad_keys}
{mediainfo.description} Kurzbeschreibung (250 Zeichen max)
{mediainfo.duration} Dauer des Videos, wie von Video Cloud berichtet
{mediainfo.id} Video-ID
{mediainfo.name} Video-Titel
{mediainfo.reference_id} Referenz ID
{mediainfo.tags} Tags (Metadaten), die mit dem Video verknüpft sind
{player.duration} Dauer des Videos, gemessen vom Player (möglicherweise etwas anders als mediainfo.duration und wahrscheinlich genauer). Beachten Sie, dass dies 0 zurückgibt, wenn kein Video geladen wird. Seien Sie vorsichtig, wenn Sie Ihre Anzeigenanfrage mit diesem Makro einstellen.
{player.height} Die aktuelle Spielerhöhe
{player.id} Spieler-ID
{player.pageUrl} Die Seiten-URL: Gibt den Dokumentverweis zurück, wenn er sich in einem Iframe befindet, andernfalls im Fenster.
{player.width} Die aktuelle Spielerbreite
{playlist.id} Aus dem Playlistinfo-Objekt gezogen
{playlist.name} Aus dem Playlistinfo-Objekt gezogen
{zufällig} Eine Zufallszahl 0-1 Billion (Wird verwendet, um einen eindeutigen Eindruck zu erzeugen. Dies verhindert, dass die Anzeige im Browser zwischengespeichert wird, und verhindert Abdruckabweichungen.)
{Zeitstempel} Aktuelle Ortszeit in Millisekunden seit 1.1.70
{window.location.href} Aktuelle Seiten-URL

Standardwerte und Anzeigenmakros

Sie können Anzeigenmakros Standardwerte angeben. In einem Makro kann ein Standardwert angegeben werden, in diesem Fall wird dieser Wert verwendet, wenn eine Variable nicht definiert ist. Die Syntax lautet:

{macro=default}

Zum Beispiel

http://example.com/ad/{pageVariable.adConf=1234}

würde auf Folgendes auflösen, wenn nicht definiert window.adConf ist:

http://example.com/ad/1234

Dynamische Makros

Dynamische Makros bieten Zugriff auf Werte im Folgenden:

  • Das customFields Objekt des Videos durch die mediainfo.customFields Variable.
  • Das window Objekt des DOM durch die pageVariable Variable.

Sie könnten beispielsweise Folgendes in Ihrer Anzeigenanfrage verwenden:

//myadserver.com/ad?l={pageVariable.navigator.language}&category={mediainfo.customFields.type}

Für die pageVariable Werte dürfen nur bestimmte Wertetypen verwendet werden, wie in dieser Tabelle dargestellt:

Typ Was passiert
String Verwenden Sie ohne Änderungen
Nummer Automatisch in String konvertiert
Boolescher Wert Automatisch in String konvertiert
Null Gibt die Zeichenfolge zurück null
Undefiniert Protokolliert Warnung und gibt leere Zeichenfolge zurück
Andere Protokolliert Warnung und gibt leere Zeichenfolge zurück

TCF-Makros

Wenn eine Einwilligungsmanagement-Plattform oder CMP (im Wesentlichen eine Reihe von Werbetechnologien, die alle auf einer benutzerfreundlichen Plattform zusammengefasst sind), die das DSGVO-Transparenz- und Einwilligungsrahmen (TCF) unterstützt, verwendet wird, werden zusätzliche Makros zur Verfügung gestellt. Die Syntax lautet {tcf.*}, wobei * eine Eigenschaft im tcData-Objekt ist.

Die am häufigsten verwendeten Makros sind:

Nennen Wert
{tcf.gdprApplies} Ob die DSGVO für die aktuelle Sitzung gilt
{tcf.tcString} Die Einwilligung String

Da gdprApplies ein boolescher Wert ist und viele Anzeigenserver den Wert als Ganzzahl erwarten, wird zusätzlich {tcf.gdprAppliesInt} bereitgestellt, der 1 oder 0 zurückgibt.

Wenn sich der Player in einem Iframe befindet, wird ein Proxy hinzugefügt, wenn die TCF-API in einem übergeordneten Frame erkannt wird, um die Zustimmung zur Postmessage-API zu erhalten. Der CMP muss vor dem Player geladen werden.

Standardwerte in Makros

In einem Makro kann ein Standardwert angegeben werden, in diesem Fall wird dieser Wert verwendet, wo er nicht auflösbar ist z.

http://example.com/ad/{pageVariable.adConf=1234}
wird
http://example.com/ad/1234

wenn window.adConf nicht definiert ist.

Benutzerdefinierte Werbemakros

Obwohl die Dynamic macros Die oben beschriebene Technik ist die am meisten bevorzugte Methode, um über Makros auf bestimmte Informationen zuzugreifen. Möglicherweise haben Sie benutzerdefinierte Werte definiert, die Sie verwenden, wenn Sie Anzeigen von Ihrem Ad-Server anfordern, die Sie nicht über dynamische Makros erreichen können. In diesem Fall können Sie Ihre Werte verwenden, indem Sie die adMacroReplacement() Methode überschreiben. Wenn Sie diese Methode überschreiben, können Sie Ihre speziellen Werte für die Anzeigenanforderung übergeben.

Im Folgenden finden Sie ein Beispiel für das Überschreiben der adMacroReplacement() Methode. In diesem Beispiel werden die benutzerdefinierten Werte als Teil des Seiten-DOM definiert, sodass Anzeigenanfragen pro Seite angepasst werden können. In diesem Beispiel mySite.category ist der Ort, an dem die Informationen zur Anzeigenanforderung gespeichert werden.

brightcovePlayer.ima3.adMacroReplacement = function (url) {
    var parameters = {
    '{category}': mySite.category
  };
  for (var i in parameters) {
    url = url.split(i).join(encodeURIComponent(parameters[i]));
  }
  return url;
}

Die Verwendung bestimmter Werte hilft, genau zu klären, was passiert. Angenommen, Ihre Anforderungs-URL zum Anzeigenserver lautet wie folgt:

//myadserver.com/myads?adWord={category}

Und nehmen Sie den dynamisch zugewiesenen Wert an mySite.category Auf der Seite befindet sich die Zeichenfolge fishing-pole. Nachdem Ihre Version der adMacroReplacement() Methode aufgerufen wurde, wird Ihre Anzeigenanforderungs-URL wie folgt angezeigt:

//myadserver.com/myads?adWord=fishing-pole

Zusammenfassend können Sie beim Überschreiben der adMacroReplacement() Methode benutzerdefinierte Werte als Anzeigenmakros verwenden und der URL-Anzeigenanforderung dynamisch Werte zuweisen.

Methoden

Wenn Sie mit dem IMA-SDK interagieren müssen, müssen Sie warten, bis das ima3-ready Ereignis ausgelöst wird, bevor eine erfolgreiche Verwendung des SDK stattfinden kann. Dies beinhaltet die folgenden zwei Methoden.

player.ima3.adrequest ()

Durch den Aufruf dieser Methode wird sofort nach Erhalt einer Anzeigenantwort eine On-Demand-Adrequest erstellt. Durch den Aufruf dieser Methode wird ein neuer IMA AdManager erstellt, was bedeutet, dass alle vorherigen Anzeigenantwortinformationen (z. B. eine Postroll-Anzeige, die in einer früheren VAST Antwort zurückgegeben wurde) verloren gehen. Brightcove empfiehlt, diese Methode nur in Fällen zu verwenden, in denen keine Vorkenntnisse über Anzeigenzeiten bekannt sind oder Sie alle Anzeigenanrufe auf Abruf tätigen. In allen anderen Fällen ist es sinnvoll, alle Anzeigendaten in den ersten VAST Call zur Plugin-Initialisierung einzusetzen.

Im Folgenden sind zwei wichtige Punkte aufgeführt, die bei der Verwendung berücksichtigt werden sollten player.ima3.adrequest( ):

  • Die Methode ist für die Verwendung mit dem ondemand Nur Anforderungsmodus.
  • Die Methode wird für Prerolls nicht empfohlen, da der Inhalt vor Abschluss der Anzeigenanforderung abgespielt wird, was zu einem Flash von Inhalten führt.
Parameter
  • adRequestUrl String Pfad zu einem VAST-Anzeigen-Tag. Sie können und sollten relative URLs übergeben. Dieser Parameter ist optional und der konfigurierte serverUrl wird verwendet, wenn kein Parameter übergeben wird.
Gibt zurück:
  • Nichts

Beispiel

player.ima3.adrequest('//pubads.g.doubleclick.net/gampad/ads?sz=640x360&iu=/6062/iab_vast_samples/skippable&ciu_szs=300x250,728x90&impl=s&gdfp_req=1&env=vp&output=xml_vast2&unviewed_position_start=1&url=[referrer_url]&correlator=[timestamp]');

Player.ima3.setAdsRenderingSettings ()

Mit dieser Methode können Sie Einstellungen für das Rendern von Anzeigen für das IMA SDK für HTML5 festlegen.

Wenn es noch keinen Ads Manager gibt, speichert diese Methode Ihre Einstellungen und verwendet beim Erstellen eines Ads Managers die von Ihnen angegebenen Einstellungen. Wenn ein Ads Manager bereits vorhanden ist, wird er aktualisiert, um Ihre Einstellungen zu verwenden. In jedem Fall verwenden neue Werbemanager, die in Zukunft erstellt wurden, auch die neuesten Einstellungen, die Sie bereitgestellt haben. Sie können ein AdsRenderingSettings Objekt erstellen, indem Sie direkt auf das IMA SDK zugreifen. Eine Vielzahl von Einstellungen ist verfügbar.

Parameter
  • google.ima.AdsRenderingSettings Objekt
Gibt zurück:
  • Nichts

Beispiel:

var adsRenderingSettings = new google.ima.AdsRenderingSettings();
adsRenderingSettings.bitrate = 2500;
adsRenderingSettings.enablePreloading = true;
player.ima3.setAdsRenderingSettings(adsRenderingSettings);

Googles AdsManager

Es gibt Methoden und Eigenschaften über Google.ima.AdsManager Interface von Google. Sie können die Eigenschaften/Methoden der Schnittstelle verwenden, die Informationen abrufen. Es wird nicht empfohlen, die Methoden zu verwenden, die Aktionen ausführen destroy, setAutoPlayAdBreaks wie stop. Zum Beispiel wird hier eine Methode angezeigt, die Sie verwenden können:

adsManager.getRemainingTime

Typ: google.ima.AdsManager.getRemainingTime

Verwendung: myPlayer.ima3.adsManager.getRemainingTime()

Der Aufruf dieser Methode gibt die verbleibende Zeit für die aktuelle Anzeige zurück. Wenn eine Anzeige nicht verfügbar ist oder die Wiedergabe beendet wurde, gibt sie -1 zurück. Weitere Informationen finden Sie in der Dokumentation von Google zur Methode.

Direkter Zugriff auf das IMA SDK

Zur Laufzeit stehen für das Plugin-Objekt eine Reihe von IMA-Einstellungen zur Verfügung. Um beispielsweise die Anzeigen-ID zu ermitteln, verwenden Sie:

var adId = player.ima3.currentAd.getAdId();

Seien Sie vorsichtig, wenn Sie direkt mit diesen Eigenschaften interagieren. Das Aufrufen der falschen Methode kann zu unerwarteten Ergebnissen und zum Ausfall der ordnungsgemäßen Wiedergabe von Werbung führen.

AdsLoader

Typ: google.ima.AdsLoader

Das zum Erstellen von Anzeigenanfragen verwendete Objekt. Siehe ima.AdsLoader. Der Ads-Loader ist möglicherweise erst verfügbar, wenn er vom Plugin ausgelöst adsready wurde.

AdsManager

Typ: google.ima.AdsManager

Das Objekt, das für die Wiedergabe von Anzeigen verantwortlich ist. Siehe ima.adsManager. Der Ads Manager ist erst verfügbar, wenn er vom Plugin ausgelöst adsready wurde.

AdDisplayContainer

Typ: google.ima.AdDisplayContainer

Das Objekt, das für die Verwaltung der Anzeigeelemente für Anzeigen verantwortlich ist. Siehe ima.adDisplayContainer. Der Ads Display-Container ist möglicherweise erst verfügbar, wenn er vom Plugin ausgelöst adsready wurde.

currentAd

Typ: google.ima.Ad

Wenn eine Anzeige abgespielt wird, ein Objekt, das Informationen über die aktuelle Anzeige einkapselt. Siehe Ima.ad.

Veranstaltungen

Das Plugin gibt während des Ladens, der Initialisierung und der Wiedergabe einige benutzerdefinierte Ereignistypen aus. Sie können sich wie bei jedem anderen Event auf IMA3- und Ad-Framework-Ereignisse anhören:

player.on('ima3-ready', function(event) {
  console.log('event', event);
});
Ereignis Wird versandt wenn:
ima3-bereit Der ima3-Plugin-Code wurde geladen und ist bereit, das IMA-SDK zu laden.
adserror Zeigt an, dass das SDK nicht geladen werden konnte, wird aber auch bei anderen SDK-bezogenen Fehlern ausgelöst. Zum Beispiel, wenn der AdsManager nicht richtig initialisiert oder gestartet wird.
ima3-ad-Fehler Im IMA3 SDK ist ein Fehler aufgetreten. Sie sollten Ihre Anzeigenkonfiguration und -einstellungen überprüfen, um sicherzustellen, dass Ihr DoubleClick-Konto korrekt konfiguriert ist. Sie finden häufig auftretende Aufgaben zur Fehlerbehebung auf der DoubleClick-Supportwebsite oder sprechen Sie mit Ihrem DoubleClick-Kontovertreter.
anzeigen-vor-anfrage Ereignis, das vor der Anzeigenanforderung ausgelöst wird, um eine Interaktion mit dem IMA-Objekt adrequest zu ermöglichen. Die Anwendungsfälle sind recht nischenartig, in den meisten Fällen sollten die Verleger sie nicht ändern und falsche Werte einstellen. Beispielsweise kann das Autoplay-Kennzeichen außer Kraft gesetzt werden, wenn der Player automatisch abgespielt wird.
ads-anfrage Auf Anfrage Anzeigendaten.
ads-load Wenn Anzeigendaten nach einer Anzeigenanforderung verfügbar sind.
ads-ad-startete Eine Anzeige hat angefangen zu spielen.
werbeendeten Eine Anzeige ist beendet.
ads-pausieren Eine Anzeige wird angehalten.
ads-play Eine Anzeige wird aus einer Pause wieder aufgenommen.
ads-ads-übersprungen Eine Anzeige wird übersprungen.
ads-erstes Quartil Die Anzeige hat 25% ihrer Gesamtdauer gespielt.
ads-mittelpunkt Die Anzeige hat 50% ihrer Gesamtdauer gespielt.
ads-dritt-Quartil Die Anzeige hat 75% ihrer Gesamtdauer gespielt.
ads-click Ein Zuschauer klickte auf die abspielende Anzeige.
ads-volumechange Die Lautstärke der wiedergespielten Anzeige wurde geändert.
ads-pod-startete Die erste Anzeige in einem linearen Ad-Pod (einer sequenzierten Gruppe von Anzeigen) wurde gestartet.
ads-pod-endend Die letzte Anzeige in einem linearen Ad-Pod (einer sequenzierten Gruppe von Anzeigen) ist abgeschlossen.
ads-allpods-abgeschlossen Alle linearen Anzeigen sind beendet.

ima3- Präfix-Ereignisse erneut ausgelöst

Wenn das IMA3-Plugin im HTML-Modus verwendet wird, alle AdErrorEvents , AdEvents und AdsManagerLoadedEvents werden erneut auf den Player gesendet. Wenn die Ereignisse erneut ausgelöst werden, wird ihnen das Präfix vorangestellt ima3-. Die folgende Tabelle zeigt die neu ausgelasteten Ereignisse:

Erneutes Ereignis
ima3-ad-Fehler
ima3-ads-manager-geladen
ima3-all-ads-abgeschlossen
ima3-Klick
ima3-abgeschlossen
ima3-inhalt-pause-angefordert
ima3-erstes Quartil
ima3-Hardtimeout
ima3 geladen
ima3-Mittelpunkt
ima3-pausiert
ima3-bereit
ima3-wieder aufgenommen
ima3 gestartet
ima3-dritt-Quartil
ima3-Volumen geändert

Live-Video und IMA3

Wenn Sie Version 3.1.0+ des IMA3-Plugins verwenden, können Sie Pre-Rolls mit einem Live-Event verwenden. Der Preroll wird abgespielt, wenn jeder Zuschauer beginnt, das Live-Event zu sehen, nicht das einzige Mal, wenn das Live-Event beginnt. Wenn Sie Ihr Event im Live-Modul konfigurieren, wie in der gezeigt Erstellen und Verwalten von Live-Events mit dem Live-Modul Dokuments werden Sie aufgefordert, einen Player auszuwählen. Sie möchten Werbung für den ausgewählten Spieler konfigurieren, wie im Schritt-für-Schritt gezeigt: Implementierung eines Werbedokuments.

Beachten Sie die folgenden Details der Implementierung:

  • Es werden nur Pre-Rolls gespielt. Mid-Rolls und Postrolls werden nicht unterstützt.
  • Das Request Ads Typ muss entweder sein On load oder On play.
  • Sie müssen die Version verwenden 3.1.0 or later des IMA3-Plugins, wie bereits erwähnt.

Spieler-Anzeigenbibliotheken

Die videojs/videojs-contrib-ads Das GitHub-Repository enthält ein Plugin, das allgemeine Funktionen bereitstellt, die von Videowerbebibliotheken benötigt werden, die mit Brightcove Player arbeiten. Das Plugin bietet gemeinsame Funktionen, die von Videoanzeigenintegrationen benötigt werden, und kümmert sich um eine Reihe von Bedenken für Anzeigenintegratoren, wodurch der Code reduziert wird, den Sie für Ihre Anzeigenintegration schreiben müssen. Das Plugin ist vollständig dokumentiert und eine Indexseite ist der beste Ausgangspunkt.

Es gibt Methoden, Ereignisse und Eigenschaften, die über das Plugin verwendet werden können. Ausführliche Details finden Sie in der API-Referenz für videojs-contrib-ads. Eine Auswahl der verfügbaren Tools wird hier bereitgestellt, beginnend mit Methoden:

Methode Beschreibung
isinadMode () Gibt zurück true, wenn sich der Spieler im Anzeigenmodus befindet.
isWaitingForadBreak () Diese Methode kehrt true im Anzeigenmodus zurück, wenn eine Werbeunterbrechung noch nicht begonnen hat.
isContentResuming () Diese Methode kehrt true im Anzeigenmodus zurück, nachdem eine Werbeunterbrechung beendet wurde, aber bevor der Inhalt wieder abgespielt wurde.

Das Plugin löst auch zahlreiche Ereignisse aus, einige sind hier aufgeführt:

Ereignis Beschreibung
adstart Direkt als Folge des Anrufs gefeuert startLinearAdMode().
hinzugeben direkt als Folge des Anrufs abgefeuert endLinearAdMode().
readyforpreroll Zeigt an, dass Ihr Anzeigen-Plugin möglicherweise einen Preroll-Anzeigenbruch durch Aufruf startet startLinearAdMode().

Das Plugin bietet auch zahlreiche Eigenschaften, einige sind hier aufgeführt:

Nennen Datentyp Beschreibung
ads.ad.id String Eindeutige Kennung für eine Anzeige, die abgespielt wird
ads.ad.index Nummer Der Index der Anzeige, die zu einem bestimmten Zeitpunkt abgespielt wird; der Index würde den Ordnungswert einer Anzeige in einem Ad-Pod identifizieren
ads.ad.duration Nummer Die Dauer der Anzeige in Sekunden
ads.ad.type String Entweder PREROLL , MIDROLL oder POSTROLL

Der folgende Code veranschaulicht die Verwendung der Eigenschaften:

var myPlayer,
  player = bc('myPlayerID');
player.ima3({
  serverUrl: '//solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap.xml'
});
player.ready(function () {
  myPlayer = this;
  myPlayer.on('ads-ad-started', function (evt) {
    console.log('ads-ad-started event passed to event handler', evt);
    console.log('myPlayer.ads.ad.id', myPlayer.ads.ad.id);
    console.log('myPlayer.ads.ad.index', myPlayer.ads.ad.index);
    console.log('myPlayer.ads.ad.duration', myPlayer.ads.ad.duration);
    console.log('myPlayer.ads.ad.type', myPlayer.ads.ad.type);
  });
});

Die Ausgabe in der Konsole aus dem obigen Code wird hier angezeigt:

Konsole der Contrib-Ads-Eigenschaften

Implementieren mit Code

Um das IMA3-Plugin zu implementieren, muss der Player den Speicherort des Plugin-Codes, ein Stylesheet, den Plugin-Namen und die Konfigurationsoptionen des Plugins kennen. Der Speicherort des Plugin-Codes und des Stylesheets lauten wie folgt:

https://players.brightcove.net/videojs-ima3/4/videojs-ima3.min.js
https://players.brightcove.net/videojs-ima3/4/videojs-ima3.css

Der Name des Plugins lautet ima3, und ein Beispielsatz von Optionen lautet:

{
  "serverUrl": "//pubads.g.doubleclick.net/gampad/ads?sz=400x300&iu=%2F6062...",
  "timeout": 5000
}

Im folgenden Beispiel wird die erweiterte Implementierung des Players verwendet, um das IMA-Plugin mit einer einzelnen Instanz eines Players zu verknüpfen.

  • Zeile 7: Verwendet ein link Tag, um das CSS des Plugins in die head der HTML-Seite aufzunehmen.
  • Zeile 12: Gibt dem video tag an id Attribut mit einem gewissen Wert in diesem Fall myPlayerID.
  • Zeile 21: Verwendet ein script Tag, um das JavaScript des Plugins in die body HTML-Seite aufzunehmen.
  • Zeilen 25-29: Initialisiert den Player mit der bc() Methode und ruft dann die ima3() Methode auf.
  • Zeilen 30-33: Auf Spieler ready wird ein Verweis auf den Spieler erstellt. Der Kommentar zeigt an, wo Sie Code platzieren können, um andere Spielerverhalten über die Einrichtung und Konfiguration des IMA3-Plugins hinaus hinzuzufügen.
<!doctype html>
<html>

<head>
  <meta charset="UTF-8">
  <title>IMA3 Plugin v4 Code Example</title>
  <link href="https://players.brightcove.net/videojs-ima3/4/videojs-ima3.css" rel="stylesheet">
</head>

<body>

  <video-js id="myPlayerID"
    data-account="1752604059001"
    data-player="JLvQcZgxxV"
    data-embed="default"
    controls=""
    data-video-id="5550679964001"
    data-playlist-id=""
    data-application-id=""
    width="960" height="540"></video-js>
  <script src="https://players.brightcove.net/1752604059001/JLvQcZgxxV_default/index.min.js"></script>

  <script src="https://players.brightcove.net/videojs-ima3/4/videojs-ima3.min.js"></script>
  <script>
    var myPlayer;
    var player = bc('myPlayerID');
    player.ima3({
      serverUrl: '//solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap.xml'
    });
    player.ready(function () {
      myPlayer = this;
      //Do something
    });
  </script>

</body>
</html>

Hybrid-Implementierung

Bisher haben Sie in diesem Dokument das in Studio implementierte IMA-Plugin gesehen, dann im Code. Einige Kunden führen gerne eine Hybrid-Implementierung durch, bei der das Basis-Plugin in Studio hinzugefügt wird, aber dann die Konfiguration im JavaScript der Seite erfolgt. Diese hybride Implementierung wird in diesem Abschnitt diskutiert.

Wie Sie gerade im vorherigen Abschnitt gesehen haben, manipulieren Sie das Plugin bei der Implementierung des IMA3-Plugins rein im Code im Funktionsformat. Wenn Sie das Plugin in Studio installieren und dann auf der Seite konfigurieren, müssen Sie das Plugin als Objekt behandeln. Angenommen, Sie haben das IMA3-Plugin mit Studio installiert, wie hier gezeigt, und beachten Sie, dass kein Anzeigen-Tag angegeben wird:

Teilweise Studio-Installation

Jetzt können Sie im JavaScript auf der Seite Eigenschaftswerte zuweisen (denken Sie daran, das Plugin jetzt als Objekt zu behandeln) wie hier gezeigt:

videojs.getPlayer('myPlayerID').ready(function() {
  var myPlayer = this;
  myPlayer.ima3.settings.serverUrl = 'http://solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap.xml';
});

Natürlich können anderen Eigenschaften auf diese Weise Werte zugewiesen werden.

Unterstützung beim Debuggen

Es gibt zwei Möglichkeiten zur Unterstützung beim Debuggen von Problemen mit der Anzeigenwiedergabe. Wenn Sie nichts tun, sehen Sie in der Konsole nur Informationen darüber, wann Anzeigen gestartet und beendet wurden:

Debug-Ausgabe in der Konsole

Die erste Option wird weiter oben in diesem Dokument in der erwähnt Optionen Abschnitt. Dies schaltet das Debuggen auf Plugin-Ebene ein. Sie werden zusätzliche Debugging-Informationen sehen:

Debug-Ausgabe in der Konsole

Die zweite Option verwendet ein von Google bereitgestelltes Tool. Sie geben a an sdkurl Option mit einem Wert, der auf eine von Google bereitgestellte JavaScript-Datei verweist. Eine Beispielkonfiguration wird hier gezeigt:

var myPlayer = bc('myPlayerID');
myPlayer.ima3({
  "serverUrl": "//solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap.xml",
  "debug": true,
  "sdkurl": "//imasdk.googleapis.com/js/sdkloader/ima3_debug.js"
});
myPlayer.ready(function() {
  myPlayer = this;
});

Die erweiterten Debugging-Informationen würden den folgenden ähnlich erscheinen. (Die gelb markierten Informationen stammen aus dem Debuggen des Plugins und die blau hervorgehobenen Informationen werden vom Google-Tool generiert.)

Debug-Ausgabe in der Konsole

Weitere Informationen zu IMA-Fehlern von Google finden Sie in der Klasse google.ima.AdError Abschnitt von Google Google IMA HTML5 SDK APIs Dokument.

Bekannte Probleme

Manuelles Weiterschalten von Videos in einer Wiedergabeliste, wenn Postroll-Anzeigen vorhanden sind

Wenn Sie manuell zum nächsten Video in einer Wiedergabeliste wechseln, wird die Postroll des vorherigen Videos, sofern vorhanden, möglicherweise gleichzeitig mit dem neuen Videoinhalt abgespielt. Auf mobilen Geräten kann das manuelle Weiterschalten der Wiedergabeliste auch dazu führen, dass überhaupt keine neuen Inhalte abgespielt werden.

Dies wird durch ein Problem eines Drittanbieters in der IMA-SDK-Bibliothek von Google verursacht. Dieses Problem sollte in einer der nächsten Google-Versionen behoben werden.

Safari's Einstellung "Medien mit Ton anhalten" und Autoplay: "abspielen" oder Autoplay: wahr

Safari verhält sich in Bezug auf Autoplay etwas anders als andere Browser. Wenn die Browsereinstellung Medien mit Ton anhalten lautet und die automatische Wiedergabe ohne Stummschaltung versucht wird, gibt das Medienelement weiterhin Wiedergabe- und Abspielereignisse aus, obwohl die automatische Wiedergabe abgelehnt wird. Derzeit verhindert dies ein reibungsloses Zurückschalten auf Click-to-Play und führt dazu, dass die Anzeigenwiedergabe fehlschlägt.

Dieses Problem wird in einer zukünftigen Version des Plugins 4.x behoben. Um dieses Problem in der Zwischenzeit zu vermeiden, empfehlen wir, für den Autoplay-Wert des Players entweder stumm oder beliebig zu wählen.

Overlays

Bei der Verwendung von Overlay-Anzeigen kann es vorkommen, dass die Position des gesuchten Miniaturbildes an der linken Seite des Fortschrittsbalkens hängen bleibt und der Fortschrittsbalken sich nicht ausdehnt, wenn der Mauszeiger darüber bewegt wird.

Dieses Problem wird in einer zukünftigen Version des Plugins 4.x behoben.

Livestream mit cuepoint-Anzeigen

Wenn cuepoint-ausgelöste Werbung in einem Livestream abgespielt wird, wird die Werbung stummgeschaltet, und wenn man sie ausschaltet, wird auch der Livestream hinter der Werbung ausgeschaltet.

Dieses Problem wird in einer zukünftigen Version des Plugins 4.x behoben.

Bild-in-Bild deaktiviert

Das Bild-in-Bild-Steuerelement wurde deaktiviert, wenn das IMA3-Plugin implementiert ist. Dies ist eine absichtliche Designentscheidung.

Autoplay in Studio einrichten

Stellen Sie NICHT Autoplay in Studio ein, wenn Sie das IMA3-Plugin verwenden, um Werbung anzuzeigen. Das Festlegen von Autoplay in Studio kann zu einem Fehler bei der Anzeigenwiedergabe führen. Siehe die Überlegungen zur automatischen Wiedergabe Dokument für weitere Informationen.

Erfahren Sie mehr und Anzeigen-Countdown-Timer wird nicht mehr standardmäßig angezeigt

Es besteht eine Work around, die die useStyledLinearAds Eigenschaft aus dem IMA SDK von Google verwendet. Stellen Sie diesen Wert auf true ein, wie hier gezeigt:

adsRenderingSettings.useStyledLinearAds=true;

Weitere Informationen finden Sie in der Google.ima.adsRenderingSettingSetting-Dokumentation von Google.

Chrome auf Android: Stummschaltung von Preroll aufheben, Video wird nicht Autoplay

Wenn Sie Chrome (neueste Version) auf Android verwenden und die Stummschaltung des Players aufheben, während der Preroll abgespielt wird, beginnt der Spieler nach dem Ende des Prerolls kein Video automatisch abzuspielen. Wenn Sie die Stummschaltung der Anzeige aufheben, wird die Lautstärkepersistenzfunktion von Brightcove Player auch die Stummschaltung des Inhalts aufheben, da der Betrachter beabsichtigt, das Audio zu hören. Bei neueren Versionen von Chrome Android können nicht stummgeschaltete Inhalte jedoch nicht automatisch wiedergegeben werden, und die Anforderung der Benutzergeste, um mit der Wiedergabe zu beginnen, wurde hinzugefügt. Dies ist eine Einstellung auf Betriebssystem-/Geräteebene und nichts, was Brightcove überschreiben kann.

Die aktuelle Zeitanzeige von Preroll ist möglicherweise nicht korrekt

Dieses Problem hat mit einer Einschränkung der Art und Weise zu tun, wie das IMA SDK die aktuelle Uhrzeit meldet. Derzeit gibt es keine dokumentierte Arbeit.

Nicht stummgeschaltete Midrolls werden möglicherweise nicht auf Safari 11 Desktop abgespielt

Nicht stummgeschaltete Midrolls werden aufgrund einer Änderung des IMA-SDK von Google möglicherweise nicht auf Safari 11 Desktop abgespielt. Ein neues Verhalten wurde eingeführt, um einen Fehler auszulösen und eine Anzeige abzubrechen, wenn das Autoplay von Safari 11 (Desktop und möglicherweise iOS) abgelehnt wird. Auf diese Weise betroffene Midrolls lösen einen Anzeigenfehler 400 aus, wobei der Fehlercode 1205 darauf hinweist, dass Autoplay verhindert wurde.

Unterstützte Umgebungen

Informationen zu unterstützten Kombinationen von Plattformen, Werbestandards und Videomedien finden Sie unter Google Videofunktion und SDK-Kompatibilität dokumentieren. Dieses Dokument und der Video Suite-Inspector helfen Ihnen bei der Diagnose versuchter IMA3-Anzeigenkonfigurationen, die einfach nicht funktionieren.

Overlays und Vollbild-Übergänge

video.js verwendet die Vollbild-API, sofern verfügbar. Verschiedene Browser implementieren den Übergang zum Vollbildmodus unterschiedlich und dies kann zu Diskrepanzen im Erscheinungsbild führen, wenn Sie in den Vollbildmodus wechseln und aus dem Vollbildmodus wechseln. In den meisten Implementierungen wird das Element, das in den Vollbildmodus aufgenommen wird, geometrisch von seinem Original auf die Zielgröße skaliert (d. h. gezoomt). Die meisten Overlay-Anzeigen sind jedoch so konzipiert, dass sie in einer festen Größe angezeigt werden, und erscheinen daher möglicherweise verzerrt, bis die Animation abgeschlossen ist.

Überspringbare Anzeigen auf iOS-Geräten

Mit dem IMA3-Plugin können überspringbare Anzeigen auf iPhones abgespielt werden, wenn die folgenden Bedingungen erfüllt sind:

  • Das playsinline Attribut ist auf dem video Element vorhanden
  • Die disableCustomPlaybackForIOS10Plus Einstellung wird an das Plugin übergeben und auf true

Fügen Sie es für das playsinline Attribut einfach als Attribut in das video Tag ein:

<video-js id="player"
  width="640"
  height="360"
  data-video-id="4524585416001"
  data-account="4360108595001"
  data-player="r12ukws9l"
  data-embed="default"
  playsinline
  controls></video-js>

Weisen Sie sie für die disableCustomPlaybackForIOS10Plus Einstellung als Eigenschaft zu ima3SdkSettings:

player.ima3({
  ima3SdkSettings: {
    "disableCustomPlaybackForIOS10Plus": true
  }
})

Wenn Sie Studio verwenden und die Einstellung dort verwenden möchten, fügen Sie diese Ihrer IMA3-Plugin-Konfiguration hinzu:

{
  "ima3SdkSettings": {
    "disableCustomPlaybackForIOS10Plus": true
  }
}

Ausführliche Informationen zu dieser Einstellung finden Sie unter Deaktivieren Sie CustomPlaybackForIOS10Plus Eintrag im ima3SdkSettings Abschnitt dieses Dokuments.

Skippable ad limitations:

  • Das Skip Ad Taste kann teilweise durch die Anzeigensteuerungsleiste abgedeckt werden auf einigen mobilen Geräten. Dies erschwert es Endbenutzern, die Anzeige tatsächlich zu überspringen. Der Benutzer kann zum Zoomen kneifen, um das zu machen Skip Ad Schaltfläche größer auf Mobilgeräten, um darauf klicken zu können.
  • iPhone ohne playsinline und disableCustomPlaybackForIOS10Plus - Überspringbare Anzeigen werden nicht abgespielt.
  • iPhone mit playsinline und disableCustomPlaybackForIOS10Plus - Anzeigen werden inline abgespielt. Wenn Sie jedoch den Vollbildmodus verwenden, werden Anzeigen nicht geschaltet, aber Audio für die Anzeige wird abgespielt. Mit anderen Worten, überspringbare Anzeigen im Vollbildmodus funktionieren nicht richtig.
  • iPad- Anzeigen werden inline abgespielt, aber im Vollbildmodus ist das Überspringen nicht möglich

iOS 10 iPad und iPhone: Preroll-Anzeigen funktionieren nicht, wenn Sie im Vollbildmodus verwenden playsinline und gehen

Wenn Sie es playsinline auf iOS 10 iPad und iPhone verwenden, um das Anzeigen eines Videos und nicht im Vollbildmodus zu ermöglichen, wird eine Preroll-Anzeige gestartet und die Vollbild-Schaltfläche wird angeklickt, die Anzeige wird NICHT weiter abgespielt. Dies ist eine Einschränkung der IMA-Implementierung von Google, und Google plant nicht, das Problem zu beheben.

Konflikt mit gpt_proxy.js

Bei Verwendung des GPT-Proxy-Skripts mit IMA3 und dem adTechOrder ist HTML5 Erstens können Wiedergabeprobleme auftreten. Das IMA3-Plugin ist betroffen, wenn ein verwendetes Skript verwendet wird window.google oder window.google.ima. Es wird empfohlen, zu überprüfen, ob Sie den Brightcove Player verwenden, und wenn ja, laden Sie den Proxy bei diesen Gelegenheiten nicht.

Größe ändern Skip Ad Taste

Es ist nicht möglich, die Größe des zu ändern Skip Ad Taste. Die Brightcove Player-API verfügt nicht über Methoden oder Eigenschaften, um die Größe der anzugeben Skip Ad Taste. Wenn ein Publisher auf Entwicklerebene VPAID-Anzeigen verwendet, können die Anzeigen eigene Anzeigen implementieren Skip Ad Schaltfläche und Logik, die in die Benutzeroberfläche und die Elementverteilung von Brightcove Player passen.

Anzeigen werden auf iOS nicht autotoplay

Obwohl dies nicht spezifisch für das IMA3-Plugin autoplay ist, wissen Sie, dass es sich um eingeschränkte iOS handelt, sodass Anzeigen erst gestartet werden, wenn eine Benutzergeste erstellt wurde.

Ad-Cue-Point-Probleme

Informationen zu Problemen bei der Verwendung von Ad-Cue-Punkten finden Sie in der Known issues Abschnitt der Anzeigen mit Ad Cue-Punkten anzeigen Dokument.

URL-Parameter des IMA3 SDK

Der URL-Parameter von Google Ad Manager ist die vollständige URL, von der die Anzeigenanforderung gesendet wird. Beachten Sie, dass dieser Wert automatisch vom IMA-SDK festgelegt wird und tatsächlich alle Werte überschreibt, die Sie möglicherweise angeben.

Änderungsliste

Siehe die Versionshinweise für das IMA3-Plugin.

Historische Versionshinweise finden Sie im Changelog hier.