Overview: The Context Script gives publishers the ability to retrieve context and IAB category information Context Data Segments on a given asset. This is mean meant to be used as a part of your ad workflow to send context data through your ad server. This documentation will walk through how clients using the Adaptive Plugin can add the Context Script and retrieve context or IAB category for the initial asset and IRIS.TV recommendations.
See example implementation page here: https://ovp.iris.tv/demos/context/iris-context-api-autoplay.html
Prerequisites
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
...
platform_id: The reference ID for the video asset from the publisher’s CMS.
...
IRIS.TV Context Script is loaded with the page.
The context script is initialized.
Call script getVideoInfo route to retrieve the context and IAB data segments for the initial asset ID.
Add either the context or IAB category information segment to the pre-roll ad tag for the initial asset ID. Please confirm with your account manager which field will be used for your integration.
Call script method to retrieve context or IAB data segments for all Adaptive Plugin recommendations and store data on the client-side.
Add context or IAB category information segments to the pre-roll for 1st recommendation.
...
If you do not want to load the script as a high-priority, there is an event that you can listen to at the global-changes level to ensure that the context methods are available. An example of setting up that event listener:
...
To initialize the script, provide your client token the following to the IrisContextAPI Object:
...
...
client_token
...
If you are using the
global
Adaptive Plugin option, add the value for theglobal
option to the initialize:
Code Block | ||
---|---|---|
| ||
var IrisContext = window.IrisContextAPI({ client_token: '<your client token here>', global: 'IrisInstance', // <<<< Same value as Iris Plugin global option }) |
Details on the global
option can be found here: Adaptive Plugin Customization Options
; |
Using the Script
Once the script is initialized, you can send in the video ID of the initial video to retrieve context and IAB category informationsegments.
Please confirm with your IRIS.TV Account Manager:
If your integration is using context or IAB category information.
Where the field context segments should be added within the ad tag (i.e. in the “cust_params” field in a DFP tag).
Initial Video: Using the getVideoInfo route to retrieve context
...
segments
Parameters for this getVideoInfo route
...
platform_id: reference ID of the video. Required
Steps
...
Send platform_id to getVideoInfo route.
Retrieve context or IAB categories segments from getVideoInfo,.
Send context or IAB categories segments in the pre-roll ad call for the initial video.
Sample formatting of the getVideoInfo request
...
Code Block |
---|
IrisContext.getVideoInfo('<platform_id of the videoinitial here>video>', function(data) { // data is ready to be used // where data is an object of the form { context: [‘context-value’], categoriesplatform_id: [‘iab-value’]'platform-id-value' } console.log(data.context); console.log(data.categories); }); |
Example of response for getVideoInfo
...
Code Block |
---|
{ platform_id: '6026440620001', iab: ["IAB17-26"], context: ["e883d22ce29c85f9e910281d2a410c5bad77a098"] } |
Recommended Videos: Using the getRecommendationInfo route to retrieve context
...
segments
Steps
...
Call
getRecommendationsInfo
route as a part of callbacks for IRIS.TV /watch and /next API routes, which are exposed through the irisResponseReady event.You only need to create this event along with the getRecommendationsInfo route once
You need to send the e.detail.platform_id value as shown below
Store data returned from
getRecommendationsInfo
so it can be used to retrieve data each recommended video.On video load, query player for ID of the video and then query stored platform_id values for context or IAB categoriessegments.
Send context of IAB category segments data in the pre-roll ad call for the video.
Sample formatting of the getRecommendationInfo request
...
Code Block |
---|
window.addEventListener('iris_watchirisResponseReady', function (e) { IrisContext.getRecommendationsInfo().then(function(data) { // <data> will contain the information in the form of: /* { <platform_id>: { context: <value>, iab: <vlaue> }, <platform_id>: { context: <value> }, } */ }); }); |
Sample formatting of the getRecommendationInfo request (/next call):
Code Block |
---|
window.addEventListener('iris_next', function (e) { IrisContext.getRecommendationsInfo().e.detail.platform_id).then(function(data) { // <data> will contain the information in the form of: /* { <platform_id>: { context: <value>, iab: <vlaue> }, <platform_id>: { context: <value> }, } */ }); }); |