Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
VAST-Anfrage
Wann sollte dies verwendet werden?
VAST_REQUESTWird verwendet, wenn Ihre Funktion Anzeigen von einem VAST-Endpunkt (Video Ad Serving Template) abrufen muss. MediaTailor sendet die Anfrage, analysiert die Antwort als VAST, wobei die Wrapper-Weiterleitungen aufgelöst werden, und stellt die analysierten Anzeigen für Ihre Ausgabeausdrücke zur Verfügung. Zu den häufigsten Anwendungsfällen gehören das Abrufen von Anzeigen von einem sekundären Anzeigenserver, um eine kurze primäre Antwort zu ergänzen, und das Abrufen von Hausanzeigen oder Werbeaktionen, um sie in unterfüllte Werbeblöcke einzufügen.
VAST_REQUESTFunktionen werden am Anfang POST_ADS_RESPONSE und am PRE_MANIFEST_INSERTION Lifecycle-Hook unterstützt, entweder für sich allein oder als Schritte innerhalb eines Executors. Anzeigen, die von einer VAST_REQUEST Funktion analysiert werden, werden mit voller Genauigkeit in die Ausgaben dieser Hooks integriert. Details hierzu finden Sie unter Wie werden geparste Anzeigen in Hook-Ausgaben integriert.
Felder für die Konfiguration
Eine VAST_REQUEST Funktion hat die folgenden Felder:
-
Runtime — Die Ausdruckssprache. Stellen Sie dies auf ein
JSONATA. -
MethodType— Die HTTP-Methode. Unterstützte Werte sind
GET(die Standardeinstellung) undPOST. -
Url — Der VAST-Endpunkt, an den die Anfrage gesendet werden soll. Sie können eine statische URL oder einen JSONata-Ausdruck verwenden, der die URL dynamisch erstellt. Eine statische URL muss das
httpsSchema verwenden. -
Header — Die HTTP-Header, die in die Anfrage aufgenommen werden sollen, angegeben als Header-Name- und Wertepaare. Verwenden Sie die
{%...%}Ausdruckssyntax für dynamische Header-Werte. -
Text — Der zu sendende Anforderungstext. Wird bei
POSTAnfragen verwendet, z. B. um eine OpenRTB-Gebotsanfrage zu senden. Sie können einen JSONata-Ausdruck verwenden, um den Körper dynamisch aufzubauen. -
RequestTimeoutMilliseconds(erforderlich) — Wie lange soll auf eine Antwort gewartet werden?
-
Ausgabe — Definiert die Werte, die nach Abschluss des Aufrufs ausgegeben werden sollen. Jeder Eintrag ordnet einen Ausgabeschlüssel einem Ausdruck zu, der auf das
responseObjekt verweisen kann, einschließlichresponse.parsedAds.
Die HTTP-Anforderungslimits, die für HTTP_REQUEST Funktionen gelten, gelten auch hier. Details hierzu finden Sie unter Einschränkungen.
Wie wird die Anfrage bearbeitet
-
Anfrage erstellen — MediaTailor wertet die
BodyAusdrückeUrlHeaders, und anhand des aktuellen Sitzungsstatus aus und sendet dann die Anfrage.POSTAnfragen werden mit demapplication/jsonInhaltstyp gesendet. -
Analysiert die Antwort — MediaTailor analysiert den Antworttext als VAST. Wenn es sich bei einer Anzeige um einen VAST-Wrapper handelt, MediaTailor folgt er der Weiterleitungskette und löst sie in die endgültige Inline-Anzeige auf. Anfragen zur Wrapper-Weiterleitung werden immer mit gesendet
GET, wie es die VAST-Spezifikation vorschreibt. Wenn Ihr Endpunkt ein Dokument zurückgibt, das eine VAST-URL statt VAST selbst enthält (wie es einige Bieter tun), verketten Sie einenHTTP_REQUESTSchritt, der die URL abruft, gefolgt von einemVAST_REQUESTSchritt, der sie abruft. -
Verarbeitet die analysierten Anzeigen — MediaTailor wertet die Ausdrücke im Ausgabeblock aus. Diese Ausdrücke können auf den ursprünglichen Sitzungsstatus und das
responseObjekt verweisen.
Antwortfelder
Nach Abschluss des Aufrufs können Sie in Ihren Output-Ausdrücken auf die folgenden Felder verweisen:
| Feld | Typ | Description |
|---|---|---|
response.parsedAds |
Array | Die analysierten Anzeigen, wobei die Wrapper-Weiterleitungen aufgelöst wurden. Jede Anzeige hat dieselbe Form wie die adsResponse.ads Einträge am POST_ADS_RESPONSE Haken:adId,,durationSeconds,adSystem,adTitle, creativeId sequencemediaFiles, und. trackingEvents Wird auf ein leeres Array gesetzt, wenn der Aufruf fehlschlägt oder die Antwort kein gültiges VAST ist. |
response.statusCode |
Ganzzahl | Der vom Endpunkt zurückgegebene HTTP-Statuscode. nullAuf bei Netzwerkausfall gesetzt. |
Da geparste Anzeigen dieselbe Form wie verwendenadsResponse.ads, können Sie Ausdrücke zwischen den beiden Oberflächen verschieben, ohne die Feldverweise neu schreiben zu müssen.
Wie werden geparste Anzeigen in Hook-Ausgaben integriert
Jede Anzeige, die eine VAST_REQUEST Funktion analysiert MediaTailor, wird für die Dauer des Hook-Aufrufs intern von gespeichert und anhand der VAST-Anzeigen-ID der Anzeige eingegeben. Dadurch werden geparste Anzeigen in Hook-Ausgaben erstklassig behandelt:
-
Wenn Sie eine geparste Anzeige an
adsResponse.adsbyits anhängenPOST_ADS_RESPONSE, werden die vollständigen geparsten VAST-Daten der AnzeigeadIdwiederhergestellt, einschließlich der vollständigen Mediendateiliste und der Tracking-Ereignisse. -
Wenn Sie eine Anzeige nur mit ihren Ziffern einfügen
PRE_MANIFEST_INSERTION, MediaTailor wählenvastAdIdwir die beste Mediendatei aus und führen die Registrierung beim Transcodieren automatisch durch.
Wichtig
Die beibehaltenen Anzeigen werden nicht zwischen Hook-Aufrufen übertragen. Ein VAST_REQUEST Aufruf unter POST_ADS_RESPONSE ist für einen späteren PRE_MANIFEST_INSERTION Aufruf nicht verfügbar. Rufen Sie VAST_REQUEST die Funktionskette desselben Hooks auf, in der Sie die Ergebnisse verwenden.
Verhalten bei Fehlern
Wenn der Aufruf aufgrund eines Netzwerkfehlers oder einer Zeitüberschreitung fehlschlägt, wenn der Endpunkt einen HTTP-Fehler zurückgibt oder wenn die Antwort nicht als VAST analysiert werden kann, response.parsedAds handelt es sich um ein leeres Array und die Funktionskette wird fortgesetzt. Prüfen Sieresponse.statusCode, ob ein HTTP-Fehler von einer VAST-Antwort, die wirklich keine Werbung enthält, unterschieden werden kann.
Tipp
Halte dich RequestTimeoutMilliseconds fest. Die VAST-Wrapper-Auflösung kann mehrere Netzwerk-Roundtrips beinhalten, und alle werden auf das Timeout des Hooks und das gemeinsame Hook-Budget angerechnet.
Beispiel: Anzeigen von einem sekundären Anzeigenserver abrufen
Die folgende Funktion ruft Anzeigen von einem Backup-Anzeigenserver ab und speichert die analysierten Anzeigen in temporären Daten. Einen CUSTOM_OUTPUT Schritt später in derselben Reihenfolge können sie angehängt werden. adsResponse.ads Es ist für den POST_ADS_RESPONSE Lifecycle-Hook konzipiert.
{ "FunctionId": "fetchBackupAds", "FunctionType": "VAST_REQUEST", "VastRequestConfiguration": { "Runtime": "JSONATA", "MethodType": "GET", "Url": "{%'https://backup-ads.example.com/vast?sid=' & session.uuid%}", "Headers": { "Accept": "application/xml" }, "RequestTimeoutMilliseconds": 1000, "Output": { "temp.backupAds": "{%response.parsedAds%}" } } }
Um stattdessen eine OpenRTB-Gebotsanfrage zu senden, setzen Sie MethodType auf POST und geben Sie die Gebotsanfrage in ein. Body Der Bieter muss im Antworttext VAST zurückgeben.
Eine vollständige exemplarische Vorgehensweise für ein ähnliches Beispiel finden Sie unter. Beispiele für Funktionen