stormcloud-video-player 0.8.74 → 0.8.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/stormcloud-vp.min.js +1 -1
- package/lib/Player.cjs +10 -12
- package/lib/Player.cjs.map +1 -1
- package/lib/StormcloudPlayer.cjs +165 -79
- package/lib/StormcloudPlayer.cjs.map +1 -1
- package/lib/index.cjs +176 -134
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +1 -1
- package/lib/index.d.ts +5 -19
- package/lib/index.js +170 -132
- package/lib/index.js.map +1 -1
- package/lib/player/AdBreakOrchestrator.cjs +45 -13
- package/lib/player/AdBreakOrchestrator.cjs.map +1 -1
- package/lib/player/AdConfigManager.cjs +19 -4
- package/lib/player/AdConfigManager.cjs.map +1 -1
- package/lib/player/AdConfigManager.d.cts +3 -0
- package/lib/player/EdgePodRequest.cjs +31 -1
- package/lib/player/EdgePodRequest.cjs.map +1 -1
- package/lib/player/EdgePodRequest.d.cts +21 -3
- package/lib/player/FloorLadder.cjs +86 -27
- package/lib/player/FloorLadder.cjs.map +1 -1
- package/lib/player/FloorLadder.d.cts +8 -7
- package/lib/player/StormcloudVideoPlayer.cjs +165 -79
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +3 -9
- package/lib/players/HlsPlayer.cjs +165 -79
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/index.cjs +165 -79
- package/lib/players/index.cjs.map +1 -1
- package/lib/props.cjs +10 -12
- package/lib/props.cjs.map +1 -1
- package/lib/types.d.cts +3 -7
- package/lib/ui/StormcloudVideoPlayer.cjs +169 -140
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/utils/tracking.cjs +7 -0
- package/lib/utils/tracking.cjs.map +1 -1
- package/lib/utils/tracking.d.cts +2 -1
- package/lib/utils/vastMacros.cjs +2 -1
- package/lib/utils/vastMacros.cjs.map +1 -1
- package/package.json +1 -1
|
@@ -1345,9 +1345,10 @@ function resolveScvpMacroValues(ctx) {
|
|
|
1345
1345
|
var deviceId = (_ctx_deviceId = ctx.deviceId) === null || _ctx_deviceId === void 0 ? void 0 : _ctx_deviceId.trim();
|
|
1346
1346
|
var deviceIdType = deviceId ? ((_ctx_deviceIdType = ctx.deviceIdType) === null || _ctx_deviceIdType === void 0 ? void 0 : _ctx_deviceIdType.trim()) || inferDeviceIdType() : void 0;
|
|
1347
1347
|
if (deviceId && deviceIdType) {
|
|
1348
|
+
var _toFlag;
|
|
1348
1349
|
set("RDID", deviceId);
|
|
1349
1350
|
set("IDTYPE", deviceIdType);
|
|
1350
|
-
set("IS-LAT", toFlag(ctx.limitAdTracking));
|
|
1351
|
+
set("IS-LAT", (_toFlag = toFlag(ctx.limitAdTracking)) !== null && _toFlag !== void 0 ? _toFlag : "0");
|
|
1351
1352
|
}
|
|
1352
1353
|
set("SID", ctx.sessionId);
|
|
1353
1354
|
set("DTH", ctx.deviceTypeHint);
|
|
@@ -1682,21 +1683,19 @@ function fetchConsentSignals() {
|
|
|
1682
1683
|
});
|
|
1683
1684
|
}
|
|
1684
1685
|
// src/player/FloorLadder.ts
|
|
1685
|
-
var
|
|
1686
|
+
var DISABLED_FLOOR_LADDER_CONFIG = Object.freeze({
|
|
1686
1687
|
enabled: false,
|
|
1687
|
-
targetingKey: "
|
|
1688
|
-
minFloorCents:
|
|
1689
|
-
maxFloorCents:
|
|
1690
|
-
stepCents:
|
|
1691
|
-
selectedFloorCents:
|
|
1692
|
-
fallbackFloorCents:
|
|
1688
|
+
targetingKey: "",
|
|
1689
|
+
minFloorCents: 0,
|
|
1690
|
+
maxFloorCents: 0,
|
|
1691
|
+
stepCents: 0,
|
|
1692
|
+
selectedFloorCents: 0,
|
|
1693
|
+
fallbackFloorCents: 0,
|
|
1693
1694
|
readyFloorCents: [],
|
|
1694
1695
|
mode: "fixed",
|
|
1695
|
-
allowedPositions: [
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
targetAdUnitPath: "/21821455290/airytvadx/airytv-web",
|
|
1699
|
-
configurationVersion: "2026-09-29.1"
|
|
1696
|
+
allowedPositions: [],
|
|
1697
|
+
targetAdUnitPath: "",
|
|
1698
|
+
configurationVersion: ""
|
|
1700
1699
|
});
|
|
1701
1700
|
var DEFAULT_FLOOR_LADDER_BOUNDS = Object.freeze({
|
|
1702
1701
|
minCents: 25,
|
|
@@ -1715,15 +1714,6 @@ function generateFloorLevels(minCents, maxCents, stepCents) {
|
|
|
1715
1714
|
}
|
|
1716
1715
|
return levels;
|
|
1717
1716
|
}
|
|
1718
|
-
function resolveFloorLadderBounds() {
|
|
1719
|
-
var overrides = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
1720
|
-
var _overrides_minCents, _overrides_maxCents, _overrides_stepCents;
|
|
1721
|
-
return {
|
|
1722
|
-
minCents: (_overrides_minCents = overrides.minCents) !== null && _overrides_minCents !== void 0 ? _overrides_minCents : DEFAULT_FLOOR_LADDER_BOUNDS.minCents,
|
|
1723
|
-
maxCents: (_overrides_maxCents = overrides.maxCents) !== null && _overrides_maxCents !== void 0 ? _overrides_maxCents : DEFAULT_FLOOR_LADDER_BOUNDS.maxCents,
|
|
1724
|
-
stepCents: (_overrides_stepCents = overrides.stepCents) !== null && _overrides_stepCents !== void 0 ? _overrides_stepCents : DEFAULT_FLOOR_LADDER_BOUNDS.stepCents
|
|
1725
|
-
};
|
|
1726
|
-
}
|
|
1727
1717
|
function validateFloorCents(value, config) {
|
|
1728
1718
|
var bounds = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : DEFAULT_FLOOR_LADDER_BOUNDS;
|
|
1729
1719
|
if (!isInteger(value)) return {
|
|
@@ -1855,7 +1845,6 @@ function resolveOpportunityFloor(config, context) {
|
|
|
1855
1845
|
if (!config.enabled) return skipped("disabled");
|
|
1856
1846
|
var positions = Array.isArray(config.allowedPositions) ? config.allowedPositions : [];
|
|
1857
1847
|
if (positions.indexOf(context.position) === -1) return skipped("position_not_allowed");
|
|
1858
|
-
if (context.isCtv) return skipped("ctv_excluded");
|
|
1859
1848
|
if (!config.targetingKey) return skipped("missing_targeting_key");
|
|
1860
1849
|
if (!config.targetAdUnitPath) return skipped("missing_target_ad_unit");
|
|
1861
1850
|
var result;
|
|
@@ -2009,15 +1998,80 @@ function mergeDefined(target, update) {
|
|
|
2009
1998
|
}
|
|
2010
1999
|
return copyConfig(next);
|
|
2011
2000
|
}
|
|
2001
|
+
var AD_POSITIONS = [
|
|
2002
|
+
"preroll",
|
|
2003
|
+
"midroll",
|
|
2004
|
+
"postroll"
|
|
2005
|
+
];
|
|
2006
|
+
function finiteNumber(value) {
|
|
2007
|
+
return typeof value === "number" && isFinite(value) ? value : void 0;
|
|
2008
|
+
}
|
|
2009
|
+
function parseApiFloorLadder(raw) {
|
|
2010
|
+
if (!raw || (typeof raw === "undefined" ? "undefined" : _type_of(raw)) !== "object" || Array.isArray(raw)) return void 0;
|
|
2011
|
+
var src = raw;
|
|
2012
|
+
var out = {};
|
|
2013
|
+
if (typeof src.enabled === "boolean") out.enabled = src.enabled;
|
|
2014
|
+
if (typeof src.targetingKey === "string") out.targetingKey = src.targetingKey;
|
|
2015
|
+
if (typeof src.targetAdUnitPath === "string") out.targetAdUnitPath = src.targetAdUnitPath;
|
|
2016
|
+
if (typeof src.configurationVersion === "string") out.configurationVersion = src.configurationVersion;
|
|
2017
|
+
if (typeof src.mode === "string") out.mode = src.mode;
|
|
2018
|
+
var min = finiteNumber(src.minFloorCents);
|
|
2019
|
+
var max = finiteNumber(src.maxFloorCents);
|
|
2020
|
+
var step = finiteNumber(src.stepCents);
|
|
2021
|
+
var selected = finiteNumber(src.selectedFloorCents);
|
|
2022
|
+
var fallback = finiteNumber(src.fallbackFloorCents);
|
|
2023
|
+
if (min !== void 0) out.minFloorCents = min;
|
|
2024
|
+
if (max !== void 0) out.maxFloorCents = max;
|
|
2025
|
+
if (step !== void 0) out.stepCents = step;
|
|
2026
|
+
if (selected !== void 0) out.selectedFloorCents = selected;
|
|
2027
|
+
if (fallback !== void 0) out.fallbackFloorCents = fallback;
|
|
2028
|
+
if (Array.isArray(src.readyFloorCents)) {
|
|
2029
|
+
out.readyFloorCents = src.readyFloorCents.filter(function(cents) {
|
|
2030
|
+
return finiteNumber(cents) !== void 0;
|
|
2031
|
+
});
|
|
2032
|
+
}
|
|
2033
|
+
if (Array.isArray(src.allowedPositions)) {
|
|
2034
|
+
out.allowedPositions = src.allowedPositions.filter(function(position) {
|
|
2035
|
+
return AD_POSITIONS.indexOf(position) !== -1;
|
|
2036
|
+
});
|
|
2037
|
+
}
|
|
2038
|
+
return out;
|
|
2039
|
+
}
|
|
2012
2040
|
var FloorLadderController = /*#__PURE__*/ function() {
|
|
2013
|
-
function FloorLadderController(
|
|
2014
|
-
var selector = arguments.length >
|
|
2041
|
+
function FloorLadderController() {
|
|
2042
|
+
var selector = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : fixedFloorSelector;
|
|
2015
2043
|
_class_call_check(this, FloorLadderController);
|
|
2016
|
-
this.
|
|
2017
|
-
this.
|
|
2044
|
+
this.bounds = DEFAULT_FLOOR_LADDER_BOUNDS;
|
|
2045
|
+
this.config = copyConfig(DISABLED_FLOOR_LADDER_CONFIG);
|
|
2018
2046
|
this.selector = selector;
|
|
2019
2047
|
}
|
|
2020
2048
|
_create_class(FloorLadderController, [
|
|
2049
|
+
{
|
|
2050
|
+
key: "isEnabled",
|
|
2051
|
+
value: function isEnabled() {
|
|
2052
|
+
return this.config.enabled === true;
|
|
2053
|
+
}
|
|
2054
|
+
},
|
|
2055
|
+
{
|
|
2056
|
+
key: "applyApiConfig",
|
|
2057
|
+
value: function applyApiConfig(raw) {
|
|
2058
|
+
var parsed = parseApiFloorLadder(raw);
|
|
2059
|
+
this.config = mergeDefined(copyConfig(DISABLED_FLOOR_LADDER_CONFIG), parsed);
|
|
2060
|
+
this.bounds = Object.freeze({
|
|
2061
|
+
minCents: this.config.minFloorCents,
|
|
2062
|
+
maxCents: this.config.maxFloorCents,
|
|
2063
|
+
stepCents: this.config.stepCents
|
|
2064
|
+
});
|
|
2065
|
+
return validateFloorLadderConfig(this.config, this.bounds);
|
|
2066
|
+
}
|
|
2067
|
+
},
|
|
2068
|
+
{
|
|
2069
|
+
key: "reset",
|
|
2070
|
+
value: function reset() {
|
|
2071
|
+
this.config = copyConfig(DISABLED_FLOOR_LADDER_CONFIG);
|
|
2072
|
+
this.bounds = DEFAULT_FLOOR_LADDER_BOUNDS;
|
|
2073
|
+
}
|
|
2074
|
+
},
|
|
2021
2075
|
{
|
|
2022
2076
|
key: "get",
|
|
2023
2077
|
value: function get() {
|
|
@@ -2030,13 +2084,6 @@ var FloorLadderController = /*#__PURE__*/ function() {
|
|
|
2030
2084
|
return _object_spread({}, this.bounds);
|
|
2031
2085
|
}
|
|
2032
2086
|
},
|
|
2033
|
-
{
|
|
2034
|
-
key: "update",
|
|
2035
|
-
value: function update(update) {
|
|
2036
|
-
this.config = mergeDefined(this.config, update);
|
|
2037
|
-
return validateFloorLadderConfig(this.config, this.bounds);
|
|
2038
|
-
}
|
|
2039
|
-
},
|
|
2040
2087
|
{
|
|
2041
2088
|
key: "validate",
|
|
2042
2089
|
value: function validate() {
|
|
@@ -6269,6 +6316,9 @@ function resolvePlayerIdentitySeed(clientInfo) {
|
|
|
6269
6316
|
}
|
|
6270
6317
|
return "fingerprint:".concat(JSON.stringify(clientInfo));
|
|
6271
6318
|
}
|
|
6319
|
+
function getCachedBrowserId() {
|
|
6320
|
+
return cachedBrowserId !== null && cachedBrowserId !== void 0 ? cachedBrowserId : void 0;
|
|
6321
|
+
}
|
|
6272
6322
|
function getBrowserID(clientInfo) {
|
|
6273
6323
|
return _async_to_generator(function() {
|
|
6274
6324
|
return _ts_generator(this, function(_state) {
|
|
@@ -7938,7 +7988,7 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
7938
7988
|
key: "fetchAdConfiguration",
|
|
7939
7989
|
value: function fetchAdConfiguration() {
|
|
7940
7990
|
return _async_to_generator(function() {
|
|
7941
|
-
var _data_response_ima_publisherdeskima, _data_response_ima,
|
|
7991
|
+
var _data_response, _data_response1, _data_response2, _data_response_ima_publisherdeskima, _data_response_ima, _data_response3, _data_response_options_vast_cue_tones, _data_response_options_vast, _data_response_options, _data_response4, apiUrl, headers, response, data, apiEnableEdge, apiEdgeUrl, imaPayload, decodedPayload, numberAds;
|
|
7942
7992
|
return _ts_generator(this, function(_state) {
|
|
7943
7993
|
switch(_state.label){
|
|
7944
7994
|
case 0:
|
|
@@ -7998,7 +8048,21 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
7998
8048
|
];
|
|
7999
8049
|
case 4:
|
|
8000
8050
|
data = _state.sent();
|
|
8001
|
-
|
|
8051
|
+
apiEnableEdge = (_data_response = data.response) === null || _data_response === void 0 ? void 0 : _data_response.enableEdgePodRequest;
|
|
8052
|
+
apiEdgeUrl = (_data_response1 = data.response) === null || _data_response1 === void 0 ? void 0 : _data_response1.edgePodUrl;
|
|
8053
|
+
this.apiEnableEdgePodRequest = typeof apiEnableEdge === "boolean" ? apiEnableEdge : void 0;
|
|
8054
|
+
this.apiEdgePodUrl = typeof apiEdgeUrl === "string" ? apiEdgeUrl : void 0;
|
|
8055
|
+
if (this.debug) {
|
|
8056
|
+
console.log("[StormcloudVideoPlayer] Edge pod settings from API:", {
|
|
8057
|
+
enableEdgePodRequest: this.apiEnableEdgePodRequest,
|
|
8058
|
+
edgePodUrl: this.apiEdgePodUrl
|
|
8059
|
+
});
|
|
8060
|
+
}
|
|
8061
|
+
this.apiFloorLadder = (_data_response2 = data.response) === null || _data_response2 === void 0 ? void 0 : _data_response2.floorLadder;
|
|
8062
|
+
if (this.debug) {
|
|
8063
|
+
console.log(this.apiFloorLadder ? "[StormcloudVideoPlayer] Floor ladder from API:" : "[StormcloudVideoPlayer] No floorLadder block in /ads/web response", this.apiFloorLadder);
|
|
8064
|
+
}
|
|
8065
|
+
imaPayload = (_data_response3 = data.response) === null || _data_response3 === void 0 ? void 0 : (_data_response_ima = _data_response3.ima) === null || _data_response_ima === void 0 ? void 0 : (_data_response_ima_publisherdeskima = _data_response_ima["publisherdesk.ima"]) === null || _data_response_ima_publisherdeskima === void 0 ? void 0 : _data_response_ima_publisherdeskima.payload;
|
|
8002
8066
|
if (imaPayload) {
|
|
8003
8067
|
decodedPayload = imaPayload;
|
|
8004
8068
|
try {
|
|
@@ -8016,7 +8080,7 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
8016
8080
|
console.warn("[StormcloudVideoPlayer] No VAST tag URL found in /ads/web response");
|
|
8017
8081
|
}
|
|
8018
8082
|
}
|
|
8019
|
-
numberAds = (
|
|
8083
|
+
numberAds = (_data_response4 = data.response) === null || _data_response4 === void 0 ? void 0 : (_data_response_options = _data_response4.options) === null || _data_response_options === void 0 ? void 0 : (_data_response_options_vast = _data_response_options.vast) === null || _data_response_options_vast === void 0 ? void 0 : (_data_response_options_vast_cue_tones = _data_response_options_vast.cue_tones) === null || _data_response_options_vast_cue_tones === void 0 ? void 0 : _data_response_options_vast_cue_tones.number_ads;
|
|
8020
8084
|
if (numberAds != null && numberAds > 0) {
|
|
8021
8085
|
this.apiNumberAds = numberAds;
|
|
8022
8086
|
if (this.debug) {
|
|
@@ -9850,7 +9914,23 @@ function resolveEdgePodBaseUrl(config) {
|
|
|
9850
9914
|
return void 0;
|
|
9851
9915
|
}
|
|
9852
9916
|
}
|
|
9917
|
+
function resolveEdgePodRequestContext(config) {
|
|
9918
|
+
var extra = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
9919
|
+
return {
|
|
9920
|
+
width: extra.width,
|
|
9921
|
+
height: extra.height,
|
|
9922
|
+
playerId: extra.playerId,
|
|
9923
|
+
contentNetwork: config.contentNetwork,
|
|
9924
|
+
contentChannel: config.channelName,
|
|
9925
|
+
contentTitle: config.programTitle
|
|
9926
|
+
};
|
|
9927
|
+
}
|
|
9928
|
+
function setOptionalParam(url, key, value) {
|
|
9929
|
+
var trimmed = value === null || value === void 0 ? void 0 : value.trim();
|
|
9930
|
+
if (trimmed) url.searchParams.set(key, trimmed);
|
|
9931
|
+
}
|
|
9853
9932
|
function buildEdgePodUrl(baseUrl, remainingMs, remainingAdLimit) {
|
|
9933
|
+
var context = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
|
|
9854
9934
|
var url = new URL(baseUrl);
|
|
9855
9935
|
var maxMs = Math.max(0, Math.floor(remainingMs));
|
|
9856
9936
|
var maxAds = Math.max(1, Math.min(EDGE_POD_MAX_ADS, Math.floor(remainingAdLimit)));
|
|
@@ -9858,6 +9938,16 @@ function buildEdgePodUrl(baseUrl, remainingMs, remainingAdLimit) {
|
|
|
9858
9938
|
url.searchParams.set("pmad", String(maxAds));
|
|
9859
9939
|
url.searchParams.set("duration", String(Math.floor(maxMs / 1e3)));
|
|
9860
9940
|
url.searchParams.set("count", String(maxAds));
|
|
9941
|
+
if (context.width != null && Number.isFinite(context.width) && context.width > 0) {
|
|
9942
|
+
url.searchParams.set("width", String(Math.round(context.width)));
|
|
9943
|
+
}
|
|
9944
|
+
if (context.height != null && Number.isFinite(context.height) && context.height > 0) {
|
|
9945
|
+
url.searchParams.set("height", String(Math.round(context.height)));
|
|
9946
|
+
}
|
|
9947
|
+
setOptionalParam(url, "pid", context.playerId);
|
|
9948
|
+
setOptionalParam(url, "cn", context.contentNetwork);
|
|
9949
|
+
setOptionalParam(url, "cc", context.contentChannel);
|
|
9950
|
+
setOptionalParam(url, "ct", context.contentTitle);
|
|
9861
9951
|
return url.toString();
|
|
9862
9952
|
}
|
|
9863
9953
|
function classifyEdgeVastResponse(result) {
|
|
@@ -10745,7 +10835,12 @@ var AdBreakOrchestrator = /*#__PURE__*/ function() {
|
|
|
10745
10835
|
return void 0;
|
|
10746
10836
|
}
|
|
10747
10837
|
try {
|
|
10748
|
-
|
|
10838
|
+
var playerId = getCachedBrowserId();
|
|
10839
|
+
return buildEdgePodUrl(baseUrl, remainingMs, remainingAds, resolveEdgePodRequestContext(this.host.config, {
|
|
10840
|
+
width: this.host.video.offsetWidth || this.host.video.clientWidth,
|
|
10841
|
+
height: this.host.video.offsetHeight || this.host.video.clientHeight,
|
|
10842
|
+
playerId: playerId
|
|
10843
|
+
}));
|
|
10749
10844
|
} catch (unused) {
|
|
10750
10845
|
this.markEdgeExhausted("invalid_edge_url");
|
|
10751
10846
|
return void 0;
|
|
@@ -12255,14 +12350,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12255
12350
|
this.config = _object_spread({}, browserOverrides, config);
|
|
12256
12351
|
this.video = config.videoElement;
|
|
12257
12352
|
logBrowserInfo(config.debugAdTiming);
|
|
12258
|
-
|
|
12259
|
-
if (this.config.adFloorMinCents != null) floorBounds.minCents = this.config.adFloorMinCents;
|
|
12260
|
-
if (this.config.adFloorMaxCents != null) floorBounds.maxCents = this.config.adFloorMaxCents;
|
|
12261
|
-
if (this.config.adFloorStepCents != null) floorBounds.stepCents = this.config.adFloorStepCents;
|
|
12262
|
-
this.floorLadder = new FloorLadderController(this.config.adFloorLadder, floorBounds);
|
|
12263
|
-
this.floorLadderEnabled = this.config.adFloorLadderEnabled === true;
|
|
12264
|
-
this.warnOnInvalidFloorLadder(this.floorLadder.validate());
|
|
12265
|
-
this.edgePodBaseUrl = resolveEdgePodBaseUrl(this.config);
|
|
12353
|
+
this.floorLadder = new FloorLadderController();
|
|
12266
12354
|
this.adPlayer = this.createAdPlayer(false);
|
|
12267
12355
|
this.palNonce = createPalNonceManager();
|
|
12268
12356
|
this.cueManager = new Scte35CueManager(!!this.config.debugAdTiming, {
|
|
@@ -12369,9 +12457,8 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12369
12457
|
return _this.edgePodBaseUrl;
|
|
12370
12458
|
},
|
|
12371
12459
|
getFloorSnapshot: function getFloorSnapshot(position) {
|
|
12372
|
-
return _this.
|
|
12373
|
-
position: position
|
|
12374
|
-
isCtv: _this.isCtvEnvironment()
|
|
12460
|
+
return _this.floorLadder.isEnabled() ? _this.floorLadder.snapshotFor({
|
|
12461
|
+
position: position
|
|
12375
12462
|
}) : void 0;
|
|
12376
12463
|
},
|
|
12377
12464
|
onAdClick: function onAdClick() {
|
|
@@ -12408,45 +12495,42 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12408
12495
|
}
|
|
12409
12496
|
},
|
|
12410
12497
|
{
|
|
12411
|
-
key: "
|
|
12412
|
-
value: function
|
|
12413
|
-
|
|
12414
|
-
|
|
12415
|
-
|
|
12416
|
-
|
|
12417
|
-
|
|
12418
|
-
|
|
12419
|
-
key: "setAdFloorLadder",
|
|
12420
|
-
value: function setAdFloorLadder(update) {
|
|
12421
|
-
var report = this.floorLadder.update(update);
|
|
12498
|
+
key: "applyFloorLadderFromApi",
|
|
12499
|
+
value: function applyFloorLadderFromApi() {
|
|
12500
|
+
var raw = this.adConfig.apiFloorLadder;
|
|
12501
|
+
if (raw == null) {
|
|
12502
|
+
this.floorLadder.reset();
|
|
12503
|
+
return;
|
|
12504
|
+
}
|
|
12505
|
+
var report = this.floorLadder.applyApiConfig(raw);
|
|
12422
12506
|
this.warnOnInvalidFloorLadder(report);
|
|
12423
|
-
|
|
12424
|
-
|
|
12425
|
-
|
|
12426
|
-
|
|
12427
|
-
|
|
12428
|
-
|
|
12429
|
-
|
|
12430
|
-
if (enabled) this.warnOnInvalidFloorLadder(this.floorLadder.validate());
|
|
12507
|
+
if (this.debug) {
|
|
12508
|
+
console.log("[AdBreak][FLOOR] configuration applied from API", {
|
|
12509
|
+
config: this.floorLadder.get(),
|
|
12510
|
+
bounds: this.floorLadder.getBounds(),
|
|
12511
|
+
validation: report
|
|
12512
|
+
});
|
|
12513
|
+
}
|
|
12431
12514
|
}
|
|
12432
12515
|
},
|
|
12433
12516
|
{
|
|
12434
12517
|
key: "isAdFloorLadderEnabled",
|
|
12435
12518
|
value: function isAdFloorLadderEnabled() {
|
|
12436
|
-
return this.
|
|
12519
|
+
return this.floorLadder.isEnabled();
|
|
12437
12520
|
}
|
|
12438
12521
|
},
|
|
12439
12522
|
{
|
|
12440
|
-
key: "
|
|
12441
|
-
value: function
|
|
12442
|
-
|
|
12443
|
-
|
|
12523
|
+
key: "applyEdgePodFromApi",
|
|
12524
|
+
value: function applyEdgePodFromApi() {
|
|
12525
|
+
this.edgePodBaseUrl = resolveEdgePodBaseUrl({
|
|
12526
|
+
enableEdgePodRequest: this.adConfig.apiEnableEdgePodRequest,
|
|
12527
|
+
edgePodUrl: this.adConfig.apiEdgePodUrl,
|
|
12528
|
+
licenseKey: this.config.licenseKey
|
|
12529
|
+
});
|
|
12530
|
+
if (this.debug) {
|
|
12531
|
+
var _this_edgePodBaseUrl;
|
|
12532
|
+
console.log("[AdBreak][EDGE] edge pod base URL from API:", (_this_edgePodBaseUrl = this.edgePodBaseUrl) !== null && _this_edgePodBaseUrl !== void 0 ? _this_edgePodBaseUrl : "(disabled; GAM only)");
|
|
12444
12533
|
}
|
|
12445
|
-
if (update.enableEdgePodRequest === void 0) delete this.config.enableEdgePodRequest;
|
|
12446
|
-
else this.config.enableEdgePodRequest = update.enableEdgePodRequest;
|
|
12447
|
-
if (update.edgePodUrl === void 0) delete this.config.edgePodUrl;
|
|
12448
|
-
else this.config.edgePodUrl = update.edgePodUrl;
|
|
12449
|
-
this.edgePodBaseUrl = resolveEdgePodBaseUrl(this.config);
|
|
12450
12534
|
}
|
|
12451
12535
|
},
|
|
12452
12536
|
{
|
|
@@ -12459,7 +12543,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12459
12543
|
key: "warnOnInvalidFloorLadder",
|
|
12460
12544
|
value: function warnOnInvalidFloorLadder(report) {
|
|
12461
12545
|
var config = this.floorLadder.get();
|
|
12462
|
-
if (report.ok || !
|
|
12546
|
+
if (report.ok || !config.enabled) return;
|
|
12463
12547
|
console.warn("[AdBreak][FLOOR] configuration has issues; invalid floors will not be sent", {
|
|
12464
12548
|
errors: report.errors,
|
|
12465
12549
|
configurationVersion: config.configurationVersion,
|
|
@@ -12534,6 +12618,8 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12534
12618
|
4
|
|
12535
12619
|
];
|
|
12536
12620
|
case 4:
|
|
12621
|
+
this.applyFloorLadderFromApi();
|
|
12622
|
+
this.applyEdgePodFromApi();
|
|
12537
12623
|
palDescriptionUrl = this.config.ctvAdRequest ? this.adConfig.getPalDescriptionUrl() : void 0;
|
|
12538
12624
|
fetchConsentSignals().catch(function() {
|
|
12539
12625
|
return {};
|