Configuration
Lura Configuration
Attribute | Type | Description | Updatable |
---|---|---|---|
appKey | string | AppKey generated in MCP based on the pre-adjusted play configuration | No |
assetId | string | AssetId of the VOD or the Live Stream | No |
token | string | (Optional) When specified the provided token will be used in entitlements requests. | No |
const config = {
...
lura: {
appKey: "<YOUR_APP_KEY>",
assetId: "<ASSET_ID>",
token: "<OPTIONAL_TOKEN>"
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Controls Configuration
Attribute | Type | Description | Updatable |
---|---|---|---|
enabled | boolean | Enable or disable the UI (Defaults to true) | Yes |
theme | "Default" | UI Theme of the Lura Player. | Yes |
platform | "desktop" | "tv" | The platform that the player is currently playing in. | Yes |
layout | "default" | "tv" | "vertical" | UI Layout of the Lura Player. | Yes |
autoplay | boolean | Autoplay attribute of the player. Defaults to false | No |
muted | boolean | Whether to start muted when the player autoplays. Defaults to false. | No |
volume | number | Initial volume of the player between 0.0 and 1.0. Defaults to 1.0 | No |
loop | boolean | Whether the video should play in a loop. Defaults to false | No |
const config = {
...
controls: {
enabled: true,
theme: "Default",
platform: "desktop",
layout: "default",
autoplay: true,
muted: true,
volume: 1.0,
loop: false,
},
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Ads Configuration
Macros
In order to add macros, you need to encapsulate your macro string by square brackets in the URLs that you've provided.
url: "https://example.com/adtag?macro1=[MACRO1]¯o2=[MACRO2]";
After specifying the macros, in your URLs, you can specify them using macros attribute.
const config = {
...
ads: {
macros: {
USER_ID: "1234567890",
SESSION_ID: "078a54ef-c45e-4356-b556-a99fdab158c1",
},
clientSide: {
provider: "generic",
generic: {
breaks: [
{ url: "https://example.com/adtag?userid=[USER_ID]&session_id=[SESSION_ID]"},
{ url: "https://example.com/adtag?pal_nonce=[LURA_PAL_NONCE]&correlator=[LURA_CORRELATOR]"},
],
},
},
},
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Custom Macros
Attribute | Type | Description | Updatable |
---|---|---|---|
macros | Object<[key:string]: string> | Your macros in key value pair as string. | Yes |
const config = {
...
ads: {
macros: {
USER_ID: "1234567890",
SESSION_ID: "078a54ef-c45e-4356-b556-a99fdab158c1",
},
clientSide: {
provider: "generic",
generic: {
breaks: [
{ url: "https://example.com/adtag?userid=[USER_ID]&session_id=[SESSION_ID]"},
{ url: "https://example.com/adtag?userid=[USER_ID]&session_id=[SESSION_ID]"},
],
},
},
},
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Reserved Macros
Attribute | Description | Updatable |
---|---|---|
LURA_PAL_NONCE | Nonce generated by PAL SDK if PAL Plugin is configured and enabled | No |
LURA_CORRELATOR | Randomly generated string | No |
const config = {
...
ads: {
clientSide: {
provider: "generic",
generic: {
breaks: [
{ url: "https://example.com/adtag?pal_nonce=[LURA_PAL_NONCE]&correlator=[LURA_CORRELATOR]"},
],
},
},
},
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Serverside Ads
Attribute | Type | Description | Updatable |
---|---|---|---|
provider | string | Serverside ad provider. | No |
const config = {
...
lura: {
appKey: "<APP_KEY_WITH_SSAI_ENABLED>",
assetId: "<ASSET_ID_YOU_WANT_TO_PLAY>"
}
ads: {
serverSide: {
provider: "lura",
}
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Clientside Ads
Attribute | Type | Description | Updatable |
---|---|---|---|
provider | "generic" | "gam" | "freewheel" | Provider of your client side ad | No |
generic | Object | LuraPlayer Ad Manager managed ads configuration | No |
gam | Object | IMA SDK managed ads configuration | No |
freewheel | Object | FreeWheel managed ads configuration | No |
Generic Configuration
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
breaks | Array<{url: string, offset?: string | number}> | yes | Ad breaks information | No |
breaks[i].url | string | yes | URL of the VAST or VMAP Ad Tag | No |
breaks[i].offset | string | number | only if vast url is provided | Offset of the VAST Ad Tag. The offset value can be provided in "preroll", "postroll", "NN%", "HH:MM:SS.mmm" and seconds as number format. | No |
LuraPlayer Ad Manager will assume that the entered URL is a VMAP URL if no offset is provided and will try to fetch the data from the provided URL. However, if the response is not a VMAP, LuraPlayer Ad Manager will ignore it.
const config = {
...
ads: {
clientSide: {
provider: "generic",
generic: {
breaks: [
{
// Ad will play before the content.
offset: "preroll",
url: "https://example.com/your_vast_url"
},
{
// Ad will play in the middle of the content.
offset: "50%",
url: "https://example.com/your_vast_url"
},
{
// Ad will play 1 minute 10 seconds from the beginning of the video.
offset: "00:01:10.000",
url: "https://example.com/your_vast_url"
},
{
// Ad will play 125 seconds from the beginning of the video.
offset: 125,
url: "https://example.com/your_vast_url"
},
{
// Ads will be aligned based on the time of the ads in the VMAP
url: "https://example.com/your_vmap_url"
},
{
// This will be ignored, since it is a VAST Url without an offset.
url: "https://example.com/your_vast_url"
}
],
}
}
},
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
GAM Configuration
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
enabled | boolean | Yes | Enable the plugin (Defaults to false if no value is given.) | No |
adTagUrl | string | No | Ad Tag URL of the advertisement. (VAST, VPAID, VMAP, SIMID) | No |
liveStreamPrefetchSeconds | number | No | Inform IMA about when the ad should start loading before the ad shows in live streams. | No |
const config = {
...
ads: {
clientSide: {
provider: "gam",
gam: {
enabled: true,
adTagUrl:
"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=[LURA_CORRELATOR]",
}
}
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
FreeWheel Configuration
Attribute | Type | Description | Updatable |
---|---|---|---|
enabled | boolean | Enable the plugin (Defaults to false if no value is given.) | No |
networkId | string | Network Id | No |
serverUrl | string | Server Url | No |
profileId | string | Profile Id | No |
siteSectionId | string | Site Section Id | No |
videoAssetId | string | Video Asset Id | No |
adSlots | Array | Positions for the ad slots | No |
adSlots.customId | string | Custom id for the ad slots | No |
adSlots.adUnit | "preroll" | "midroll" | "postroll" | Ad unit for the ad slots | No |
adSlots.timePosition | number | Time position for the ad slots | No |
adSlots.slotProfile | string | Slot profile for the ad slots | No |
adSlots.cuepointSequence | number | Cuepoint sequence for the ad slots | No |
adSlots.maxDuration | number | Max duration for the ad slots | No |
adSlots.minDuration | number | Min duration for the ad slots | No |
adSlots.acceptContentType | string | Accept content type for the ad slots | No |
adSlots.signalId | string | Signal id for the ad slots | No |
adSlots.maxAds | number | Max ads for the ad slots | No |
keyValueMap | {[key: string]: string} | Key value map to be passed to the Freewheel SDK | No |
parameters | Array<{name: string, value: any, level: any}> | Parameters to be passed to the Freewheel SDK | No |
const config = {
...
ads: {
clientSide:{
provider: "freewheel",
freewheel: {
enabled: true,
networkId: 42015,
serverUrl: "https://demo.v.fwmrm.net/ad/g/1",
profileId: "42015:js_allinone_profile",
videoAssetId: "js_allinone_demo_video",
siteSectionId: "js_allinone_demo_site_section",
adSlots: [
{ customId: "preroll1", adUnit: "preroll", timePosition: 0 },
{ customId: "midroll1", adUnit: "midroll", timePosition: 222 },
{ customId: "midroll2", adUnit: "midroll", timePosition: 444 },
{ customId: "midroll3", adUnit: "midroll", timePosition: 666 },
{ customId: "postroll1", adUnit: "postroll", timePosition: 888 },
],
},
},
},
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Non Linear Pause Ads
Attribute | Type | Description | Updatable |
---|---|---|---|
provider | "generic" | Provider of your client non linear ad | No |
generic | Object | LuraPlayer Ad Manager managed non linear ads configuration | No |
generic.url | string | URL for VAST tag that includes non linear ads | No |
generic.xPosition | "left" | "center" | "right" | Horizontal display box position of the non linear ads | No |
generic.yPosition | "top" | "center" | "bottom" | Vertical display box position of the non linear ads | No |
generic.backgroundOpacity | number | Background opacity of RGB(1,1,1) background when the ad is displayed | No |
generic.slideAnimation | Object | Configuration object for the transition animation for the non linear ad | No |
generic.slideAnimation.enabled | boolean | Whether the slide animation is enabled or not | No |
generic.slideAnimation.direction | "left" | "right" | "up" | "down" | Direction for the slide animation | No |
generic.slideAnimation.duration | number | Duration for the slide animation (in seconds) | No |
generic.padding | Object | Configuration object for the padding for the non linear ad display area | No |
generic.padding.top | string | Top padding in acceptable units | No |
generic.padding.bottom | string | Bottom padding in acceptable units | No |
generic.padding.left | string | Left padding in acceptable units | No |
generic.padding.right | string | Right padding in acceptable units | No |
const config = {
...
ads: {
nonLinear: {
pause: {
provider: "generic";
generic: {
url: "VAST_AD_TAG_URL_WITH_NON_LINEAR_ADS";
xPosition: "right",
yPosition: "center",
backgroundOpacity: 0.6,
slideAnimation: {
enabled: true,
direction: "left",
duration: 0.6,
},
padding: {
right: "5%",
},
};
};
};
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Cast Configuration
Airplay Configuration
Attribute | Type | Optional | Description | Updatable |
---|---|---|---|---|
enabled | boolean | true | Whether casting is enabled in available devices. (Defaults to false) | Yes |
const config = {
...
cast: {
airplay: {
enabled: true
}
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Chromecast Configuration
Attribute | Type | Optional | Description | Updatable |
---|---|---|---|---|
enabled | boolean | true | Whether casting is enabled in available devices. (Defaults to false) | Yes |
appId | string | false | Chromecast receiver application ID. | Yes |
const config = {
...
cast: {
chromecast: {
enabled: true,
appId: "12345678"
}
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Name Configuration
const config = {
...
name: "lorem-ipsum-dolor-sit-amet",
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Content Configuration
Providing a lura key will fill this field from MCP. You don't need to configure this part if you are using lura appKey and assetId. This part is only for manual media configuration and for overriding the data filled from mcp (e.g. title or description).
Title Configuration
Attribute | Type | Description | Updatable |
---|---|---|---|
title | string | Title of the content. | Yes |
const config = {
...
content: {
title: "Title of the video"
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Description Configuration
Attribute | Type | Description | Updatable |
---|---|---|---|
description | string | Description of the content. | Yes |
const config = {
...
content: {
description: "Lorem ipsum dolor sit amet, consectetur adespiscing elit"
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Language Configuration
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
language | string | no | Language of the content in ISO 639-1 format | Yes |
const config = {
...
content: {
language: "en"
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Start At Configuration
Attribute | Type | Description | Updatable |
---|---|---|---|
startAt | number | Starting position of the content in seconds. | No |
The startAt parameter is applicable exclusively to VOD (Video On Demand) assets and should not be utilized for live streams.
const config = {
...
content: {
startAt: 30
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Annotations Configuration
Attribute | Type | Required | Description |
---|---|---|---|
start | number | yes | Start time in seconds |
end | number | yes | End time in seconds |
type | string | yes | Type of the annotation |
label | string | no | Label of the annotation |
const config = {
...
content: {
...
annotations: [
...
{
start: 0,
end: 10,
type: "intro"
}
...
],
...
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Media Source
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
url | string | yes | Content URL | No |
type | string | yes | MIME type of the content | No |
licenseUrl | string | no | License URL of the content. (Only required for DRM Protected videos) | No |
Supported MIME types:
- application/dash+xml - For DASH streams
- application/x-mpegURL - For HLS streams
- video/mp4 - For MP4 videos
const config = {
...
content: {
media: [
...
{
url: "https://media.example.com/hls.m3u8",
type: "application/x-mpegURL",
licenseUrl: "https://license.example.com"
},
{
url: "https://media.example.com/dash.mpd",
type: "application/dash+xml",
licenseUrl: "https://license.example.com"
},
{
url: "https://media.example.com/mp4.mp4",
type: "video/mp4",
licenseUrl: "https://license.example.com"
},
...
]
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
DRM Configuration
Widevine and Playready
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
licenseUrl | string | yes | License URL of the content. | No |
const config = {
...
content: {
media: [
...
{
url: "YOUR_PROTECTED_MEDIA",
type: "application/dash+xml",
licenseUrl: "YOUR_DRM_LICENSE_SERVER_URL"
}
...
]
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
FairPlay
In media item:
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
licenseUrl | string | yes | License URL of the content. | No |
In clientCertificates:
Attribute | Type | Description | Updatable |
---|---|---|---|
data | string | FairPlay certificate data. | No |
url | string | URL to download the FairPlay certificate data by GET request. | No |
const config = {
...
content: {
media: [
...
{
url: "YOUR_PROTECTED_MEDIA",
type: "application/x-mpegURL",
licenseUrl: "YOUR_DRM_LICENSE_SERVER_URL"
}
...
],
clientCertificates: {
fairplay: {
// You can either provide the certificate data
data: "YOUR_FAIRPLAY_CERTIFICATE_DATA",
// Or the URL to get the certificate data
url: "https://example.com/path/to/certificate/data"
}
}
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Preferred DRM Systems
Attribute | Type | Description | Updatable |
---|---|---|---|
preferredDRMSystems | Array<"widevine" | "fairplay" | "playready"> | Preferred DRM Systems. | No |
Sidecar Caption Configuration
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
url | string | yes | URL of the caption that will be loaded | No |
type | string | yes | MIME type of the caption | No |
language | string | yes | Language of the caption in ISO 639-1 format | No |
Supported MIME types:
- text/vtt - Web Video Text Tracks Format (WebVTT)
- text/plain - SubRip Text (SRT)
- application/ttml+xml - Timed Text Markup Language (TTML)
- application/ttaf+xml - Distribution Format Exchange Profile (DFXP)
- application/smpte-tt+xml - Society of Motion Picture and Television Engineers - Timed Text (SMPTE-TT)
const config = {
...
content: {
media: [
...
{
url: "https://example.com/en.vtt",
type: "text/vtt",
language: "en"
},
{
url: "https://example.com/es.xml",
type: "application/ttml+xml",
language: "es"
},
...
]
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Poster Image Configuration
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
url | string | yes | Poster URL of the content. | No |
type | string | yes | MIME type of the content. | No |
width | number | no | Width of the content (not required for single poster image) | No |
height | number | no | Height of the content (not required for single poster image) | No |
Supported MIME types:
- image/jpg
- image/jpeg
- image/webp
- image/apng
- image/avif
const config = {
...
content: {
media: [
...
{
url: "https://picsum.photos/640/360",
type: "image/jpeg",
width: 640,
height: 360,
},
{
url: "https://picsum.photos/1920/1080",
type: "image/jpeg",
width: 1920,
height: 1080,
}
...
]
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Trick Play Configuration
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
url | string | yes | Trick play URL of the content. | No |
type | string | yes | MIME type of the content. | No |
width | number | no | Width of the content (not required for single trick play image) | No |
height | number | no | Height of the content (not required for single trick play image) | No |
Supported MIME types:
- image/bif
const config = {
...
content: {
media: [
...
{
url: "https://example.com/pvw.bif",
type: "image/bif",
width: 640,
height: 360,
},
{
url: "https://example.com/pvw2.bif",
type: "image/bif",
width: 1920,
height: 1080,
}
...
]
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Plugins
const config = {
...
plugins: {
...
PLUGIN_CONFIG_NAME: {
...
PLUGIN_PARAM : VALUE
...
}
...
},
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
PAL
To use PAL nonce, please use [LURA_PAL_NONCE]
reserved macro in url's under the ads section.
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
enabled | boolean | Yes | Enable the plugin (Defaults to false if no value is given.) | No |
allowStorageConsent | boolean | No | Whether PAL has purpose 1 consent to use identifiers and storage. The value needs to be determined by integrating with CMP (Consent Management Provider). This is set to false by default. If specified as true, PAL has consent from the user to use information like cookies, device IDs and advertising IDs. This value needs to be set to be IAB TCFv2 (Transparency and Consent Framework) compliant. (Defaults to false) | No |
ppid | string | No | The publisher provided identifier. (Defaults to empty string) | No |
descriptionUrl | string | No | The description URL of the content during which the ad will be played. (Defaults to the url that the video is playing) | No |
const config = {
...
plugins: {
pal: {
enabled: true,
allowStorageConsent: true,
ppid: "12DJD92J02KXVLS9D817DCJ078S8F1J2",
descriptionUrl: "https://docs4.lura.app/",
},
},
ads: {
...
clientSide:{
generic:{
breaks: [
{
url: "https://example.com?pal_nonce=[LURA_PAL_NONCE]"
}
]
}
}
...
}
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Conviva
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
enabled | boolean | Yes | Enable the plugin (Defaults to false if no value is given.) | No |
customerKey | string | Yes | Conviva customer key, it can be test or production key. | No |
gatewayUrl | string | No | Service URL of your conviva touchstone gateway. Don't fill this parameter in production. | No |
viewerId | string | No | Viewer ID of the session, if you don't fill this parameter, it will be filled automatically. | No |
contentInfo | Object<[key: string]: string> | No | The metadata to be sent to the conviva dashboard for current session. | Yes |
deviceMetadata | Object<[key: string]: string> | No | Device metadata to be sent to the conviva for current session. | No |
const config = {
...
plugins: {
...
conviva: {
enabled: true,
customerKey: "CUSTOMER_KEY",
gatewayUrl: "https://test.conviva.com",
viewerId: "test-viewer",
contentInfo: {
...
key: "value",
...
},
deviceMetadata: {
...
key: "value",
...
},
},
...
},
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Nielsen
Attribute | Type | Required | Description |
---|---|---|---|
enabled | boolean | Yes | Enable the plugin (Defaults to false if no value is given.) |
appId | string | Yes | Unique ID assigned to the player/site and configured by product provided by Nielsen |
initialization | Object<[key: string]: string> | No | The initialization parameters of the Nielsen SDK. |
metadata | Object<[key: string]: string> | No | The metadata to be sent to the Nielsen. |
const config = {
...
plugins: {
...
nielsen: {
enabled: true,
appId: "APP_ID_PROVIDED_BY_NIELSEN",
initialization: {
...
key: "value",
...
},
metadata: {
...
key: "value",
...
}
},
...
},
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Adobe Media Analytics
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
enabled | boolean | No | Enable the plugin (Defaults to false if no value is given.) | No |
appId | string | Yes | Application id used for configuration. | No |
griffonUrl | string | No | URL needed for starting assurance and inspect collected data on assurance server | No |
marketingCloudId | string | Yes | Marketing Cloud ID for getting the visitor. | No |
publisherId | string | Yes | ID of the publisher. | No |
trackingServer | string | Yes | AppMeasurement tracking server | No |
mediaTrackingServer | string | Yes | Media collection server endpoint to which all the media tracking data is sent | No |
channel | string | Yes | Channel name | No |
userId | string | Yes | User/Account ID to get app measurement instance. | No |
pageName | string | Yes | Name of the page. | No |
playerName | string | No | Name of the media player in use (defaults to Lura Player) | No |
debugLogging | boolean | No | A boolean to enable debug mode on adobe media analytics sdk | No |
contentInfo | object | No | Information related to content | No |
contentInfo.name | string | Yes | Name of the currently playing content | No |
contentInfo.id | string | Yes | ID of the currently playing content | No |
contentInfo.length | number | Yes | Length of the currently playing content in seconds | No |
contentInfo.streamType | "vod" | "live" | Yes | Type of the stream | No |
contentInfo.mediaType | "video" | "audio" | Yes | Type of the media | No |
contextData | {[key: string] : string} | No | Metadata that will be passed to adobe media analytics | No |
const config = {
...
plugins: {
...
adobeMediaAnalytics?: {
enabled?: true;
// For mobile sdks
appId?: "APP_ID";
griffonUrl?: "GRIFFON_URL";
// For web sdk
marketingCloudId?: "MARKETING_CLOUD_ID";
publisherId?: "PUBLISHER_ID";
trackingServer?: "TRACKING_SERVER";
mediaTrackingServer?: "MEDIA_TRACKING_SERVER";
channel?: "CHANNEL";
userId?: "USER_ID";
pageName?: "PAGE_NAME";
playerName?: "PLAYER_NAME";
// For both
debugLogging?: false;
contentInfo?: {
name: "NAME";
id: "ID";
length: 0;
streamType: "STREAM_TYPE";
mediaType: "MEDIA_TYPE";
};
contextData: {
[key: string]: string;
};
};
...
},
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Comscore
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
enabled | boolean | Yes | Enable the plugin (Defaults to false if no value is given.) | No |
publisherId | string | Yes | Provide your Publisher ID value. The Publisher ID is often also referred to as the Client ID or c2 value. | No |
publisherSecret | string | No | Provide a string with your Publisher Secret value. | No |
userHasConsent | boolean | No | If you are using a Consent Management Platform (CMP) which implements iAB Transparency and Consent Framework (TCF) version 2.0 then Comscore Publisher Tag integrates with the CMP to automatically collect user consent. No additional steps are necessary to enable this integration, however if you are not using a Consent Management Platform, you can manually ask user for consent and give here. | No |
appName | string | No | Title of the page that your video is playing. (Defaults to HTML title tag.) | No |
autoUpdateMode | "FOREGROUND_ONLY" | "FOREGROUND_AND_BACKGROUND" | "DISABLED" | No | This setting controls if the library will update application usage times at a regular interval. (Defaults to FOREGROUND_ONLY) | No |
autoUpdateInterval | number | No | The interval in seconds at which the library automatically updates usage times if the auto-update is enabled. (Defaults to 60, which is also the minimum value.) | No |
metadata | Object<[key: string]: string> | No | Metadata to be sent to comscore. | Yes |
const config = {
...
plugins: {
...
comscore: {
enabled: true,
publisherId: "PUBLISHER_ID_PROVIDED_BY_COMSCORE",
publisherSecret: "PUBLISHER_SECRET_PROVIDED_BY_COMSCORE",
userHasConsent: true,
appName: "Lura Player Included Application",
autoUpdateMode: "FOREGROUND_ONLY",
autoUpdateInterval: 60,
metadata: {
key: "value"
}
},
...
},
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Open Measurement
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
enabled | boolean | Yes | Enable the plugin (Defaults to false if no value is given.) | No |
const config = {
...
plugins: {
...
openMeasurement: {
enabled: true,
},
...
},
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Oracle Moat
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
enabled | boolean | No | Enable the plugin (Defaults to false if no value is given.) | No |
partnerCode | string | No | Partner code | No |
const config = {
...
plugins: {
...
moat: {
enabled: true,
partnerCode: "samplepartnercode123"
}
...
},
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);
Debug Configuration
Attribute | Type | Required | Description | Updatable |
---|---|---|---|---|
debug | boolean | No | Enable the debug mode (Defaults to false if no value is given.) | No |
const config = {
...
debug: true,
...
};
const player = new lura.Player(document.getElementById("player"));
player.setConfig(config);