Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

The Tag entity connects a channel to a template. The tag also enables setting custom placement for the player on any site utilizing CSS selectors and customizing the player loading script.

1. Login

To log in - the general login API is used. Example - https://aniviewwiki.atlassian.net/wiki/spaces/HELP/pages/155975720/Reporting+API#Login-API


2. Logout

To log out - the general logout API is used. Example - https://aniviewwiki.atlassian.net/wiki/spaces/HELP/pages/155975720/Reporting+API#Logout-API


3. Tag entity API

3.1 Get Tags List

Retrieves a list of all Tags in the network.
Request URL:
https://manage.aniview.com/api/taggenerator/playertag?format=json&expand=null&filter={"$and":[{"status":{"$in":[1]}}]}

Request Method:
GET

Status Code:
200 OK

Filtering Parameters (Optional):

Parameter

Description

Values

Type

Player type

instream/outstream

Status

Player status

1:active,2:archived


3.2. Create Tag

Request URL:
Request URL:

https://manage.aniview.com/api/taggenerator/playertag?format=json

Request Method:
POST

3.2.1 Create Outstream Tag

Outstream tag is an ad only player.

Request Example Payload :

 

Main

Parameter

Type

Description

description

String

Player Tag description.

name

String

Player Tag Name.(Mandatory)

channel

String

Channel ID.

posDfp1x1

Boolean

Set true if there is a DFP pixel on the site.

posType

Boolean

Set true if you would like to set custom positioning using CSS selector.

type

0:ID, 1:Tag, 2:Class, 3:Selector

Select the CSS selector type.

value

String

Fill CSS Selector. Note that for ID and Class there is not need to use the # and . sings before the selector.

publisher

String

Publisher ID.

ref1

String

Use to pass one or more values for reporting and/or targeting purposes.
It needs to be built as a string (with an '&' sign connecting each value) and using Aniview's macros as placeholders.
For example: AV_APPNAME=appname_value&AV_CUSTOM1=custom1_value

template

String

Select from all templates including predefined templates with Template ID.

Mobile

Parameter

Type

Description

_id

String

Channel ID

posDfp1x1

Boolean

Select to add a DFP pixel for targeting as an override function.

posType

Boolean

Set true if you would like to set custom positioning using CSS selector.

type

0:ID, 1:Tag, 2:Class, 3:Selector

Select the CSS selector type.

value

String

Fill CSS Selector. Note that for ID and Class there is not need to use the # and . sings before the selector.

publisher

String

Publisher ID.

ref1

String

Use to pass one or more values for reporting and/or targeting purposes.
It needs to be built as a string (with an '&' sign connecting each value) and using Aniview's macros as placeholders.
For example: AV_APPNAME=appname_value&AV_CUSTOM1=custom1_value

template

String

Select from all templates including predefined templates with Template ID.

Override Functions

The override function feature enables users to access the code that loads the Player. We recommend updating only the preRun and postStart functions. The preRun can be used to modify the config object and all other actions that should occur before the player loads. The postStart function should be applied whenever adjustments are made after the player loads. Please note that the postStart function loads with the player parameter represented as p.

Override function name

Type

Base code

create

4

var d1 = document.createElement("div"); d1.style.width = "100%"; d1.style.margin = "0 auto"; d1.style.maxWidth = "" + a.maxWidth + "px"; var d2 = document.createElement("div"); d2.id = "aniBox"; d2.style.height = "1px"; var d3 = document.createElement("div"); d3.id = "" + a.position; if (p === this.doc || p === this.doc.head) { p = this.doc.body; } if (n) { p.insertBefore(d1, n); } else { p.appendChild(d1); } a.refDiv = p; d1.appendChild(d2); d2.appendChild(d3); this.postCreate(d1);

findWin

1

try { if ((!a.posDfp1x1 && !a.posClass && !a.posSelector && !a.posId && !a.posTag) || (w === top) || !w.frameElement) { this.doc = document; this.win = w; } else { if (a.posDfp1x1 && w.frameElement) { this.win = parent; this.doc = parent.document; } else { this.win = top; this.doc = top.document; } } } catch (f) { this.doc = document; this.win = w; }

getAttr

8

if (a.scriptId) { var s = document.getElementById(a.scriptId) || document.getElementById(a.scriptId + "-used"); if (s) { for (var i = 0, t = s.attributes; i < s.attributes.length; i++) { if (t[i].nodeName && t[i].nodeName.indexOf("data-") == 0) { var n = t[i].nodeName.replace("data-", ""); try { a[n] = t[i].nodeValue; } catch { } } } if (s.src) { var p = s.src.indexOf("?"); if (p > 10) { var r = (s.src.substring(p + 1, s.src.length)); a.ref1 = (a.ref1 || "") + "&" + (r || ""); } } } }

load

6

var that = this; var scp = this.doc.createElement("script"); scp.src = (a.baseJsUrl || "https://player.aniview.com/script/6.1/") + "player.js"; scp.onload = function () { that.start(); }; scp.async = true; this.doc.body.appendChild(scp);

position

5

var p = this.doc; var isScp = false; if (a.posSelector) { try { p = this.doc.querySelector(a.posSelector); } catch (e) { this.track("AV_M3", "&prbdres=badpos&sn=" + encodeURIComponent(location.href).slice(0, 400)); return; } if (!p) { this.retry(); return; } } if (a.posId) { p = this.doc.getElementById(a.posId); if (!p) { this.retry(); return; } } if (a.posTag) { var c = a.posTag.split("#"); if (c && c.length == 2) { var e = p.getElementsByTagName(c[0]); if (e.length == 0) { this.retry(); return; } p = e[Math.min(c[1] - 1, e.length - 1)]; } } if (a.posClass) { var c = a.posClass.split("#"); var e = 1; if (c.length == 2) { e = c[1]; } var f = p.getElementsByClassName(c[0]); if (f.length > 0) { p = f[Math.min(e - 1, f.length - 1)]; } if (!p) { this.retry(); return; } } if (a.posDfp1x1 && window.frameElement) { n = window.frameElement.parentNode.parentNode; p = n.parentNode; if (document.body.clientHeight > 5 && !a.nohideIframe) { frameElement.style.height = "0px"; } if (a.posType == "after") { n = n.nextElementSibling; } } var n; if (p === this.doc) { n = this.doc.getElementById(a.scriptId); if (n) { n.id += "-used"; p = n.parentNode; } } if (p === this.doc.head) { n = null; p = this.doc; } if (a.posType && a.posType !== "in" && !n) { if (a.posType === "after" && p.nextElementSibling) { p = p.nextElementSibling; } n = p; p = n.parentNode; } if (p) { if (!p.av_setpos) { p.av_setpos = {}; } if (!p.av_setpos[a.position]) { p.av_setpos[a.position] = true; a.position += "-" + Date.now(); this.create(p, n); this.load(); } else { this.track("AV_M3", "&prbdres=duppos&sn=" + encodeURIComponent(location.href).slice(0, 400)); } }

postCreate

2

Empty

postStart

7

Empty

preRun

10

Empty

retry

3

if (this.retryCnt++ > this.timeout) { this.track("AV_M3", "&prbdres=nopos&sn=" + encodeURIComponent(location.href).slice(0, 400)); return; } var that = this; setTimeout(function () { that.position(); }, 250);

run

11

if (b && b.length > 0) { st.target(); } this.a = a; this.preRun(); this.findWin(); if (!this.doc.body) { this.doc.addEventListener('DOMContentLoaded', function () { st.run(); }); if (this.bodyRetry > 0) { setTimeout(function () { st.run(); }, 250); this.domRetry--; } return; } if (this.unique() && !this.loaded) { this.loaded = true; this.track("playerLoaded"); this.retryCnt = 0; this.timeout = a.posTimeout || 40; this.pbjs = window.aniviewRenderer && window.aniviewRenderer.units && window.aniviewRenderer.units[a.scriptId]; if (this.pbjs) { this.pbjs.prepareConfig(a, st); } this.position(); }

start

9

var b; this.getAttr(); try { if (this.win.avPlayer) { b = new this.win.avPlayer(a); } else { if (window.avPlayer) { b = new avPlayer(a); } else { b = new top.avPlayer(a); } } } catch (exp) { b = new avPlayer(a); } this.p = b; if (this.pbjs) { this.pbjs.preparePlayer(b, st); } if (a.templateType != 0) { b.startTemplate(this.doc.getElementById(a.position).parentNode); } b.play(a); this.postStart(b);

target

12

var ua = navigator.userAgent || navigator.vendor || window.opera; var uav = navigator.appVersion ? navigator.appVersion.toLowerCase() : ""; var op = 2; if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(ua) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(ua.substr(0, 4))) { op = 1; } else { if (/web0s|webos|tizen/i.test(uav)) { op = 4; } } for (var i = 0; i < b.length; i++) { var b1 = b[i]; if (b1.t && b1.t.p && b1.t.p == op && b1.a) { a = b1.a; break; } }

track

13

if (!this.trackUrl) { this.trackUrl = "https://" + (a.trackDomain || "track1.aniview.com") + "/track?pid=" + a.publisherId + "&cid=" + a.channelId + "&cb=" + Date.now() + "&r=" + location.host + "&e="; } m = m ? m : ""; (new Image()).src = this.trackUrl + e + m;

unique

0

if (!this.win.aniplayerPos) { this.win.aniplayerPos = {}; } this.win.aniplayerPos[a.position] = true; return true;

3.2.2 Create Instream Tag

Instream tag is an ad and content player.

Minimal Request Example Payload :

 

Main

Parameter

Type

Description

Description

String

Player Tag description.

Name

String

Player Tag Name.(Mandatory)

publisherId

String

Publisher ID

Channel

String

Channel ID

posDfp1x1

Boolean

Set true if there is a DFP pixel on the site.

posType

Boolean

Set true if you would like to set custom positioning using CSS selector.

Type

0:ID, 1:Tag, 2:Class, 3:Selector

Select the CSS selector type.

Value

String

Fill CSS Selector. Note that for ID and Class there is not need to use the # and . sings before the selector.

ref1

String

Use to pass one or more values for reporting and/or targeting purposes.
It needs to be built as a string (with an '&' sign connecting each value) and using Aniview's macros as placeholders.
For example: AV_APPNAME=appname_value&AV_CUSTOM1=custom1_value

Template

String

Select from all templates including predefined templates with Template ID.

Mobile

Parameter

Type

Description

_id

String

Channel ID

posDfp1x1

Boolean

Select to add a DFP pixel for targeting as an override function.

posType

Boolean

Set true if you would like to set custom positioning using CSS selector.

type

0:ID, 1:Tag, 2:Class, 3:Selector

Select the CSS selector type.

value

String

Fill CSS Selector. Note that for ID and Class there is not need to use the # and . sings before the selector.

publisher

String

Publisher ID.

ref1

String

Use to pass one or more values for reporting and/or targeting purposes.
It needs to be built as a string (with an '&' sign connecting each value) and using Aniview's macros as placeholders.
For example: AV_APPNAME=appname_value&AV_CUSTOM1=custom1_value

template

String

Select from all templates including predefined templates with Template ID

Content

Parameter

Type

Description

breakingAds

Int

Time in seconds between waterfalls.

Field appears when Ads Mode: Breaking Ads is selected.

breakingAdsMode

Array

Select from Ads Mode Type (1=Slot, 2= Breaking Ads).

Define when ads are displayed.

firstAdTimeout

Int

Limit in seconds to find the first ad.

Field appears when first preroll session is selected.

maxAds

Int

Maximum number of ads player per slot.

Field appears when first preroll session is selected.

nextAdTimeout

Int

Time in seconds for the next ad.

Field appears when first preroll session is selected.

preloadAdTime

Int

Limit in seconds to find an ad.

Field appears when first preroll session is selected.

time

Int

Content time in seconds for an ad to start.

Field appears when first preroll session is selected.

firstPrerollSlot

Boolean

Select to configure the preroll session.

Field appears when Ad Mode: Slot is selected.

order

Array

Order Type (1=Sequence, 2=Random).

Preset to Sequence, toggle to select Random.

randomFrom

Int

Define from which content number the player will start to randomize.

Field appears when Order: Random is selected.

tagContent

 

Boolean

Select for the player to only show content from the tag and not merge content from the tag and template.

  • No labels