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
package/lib/players/index.cjs
CHANGED
|
@@ -1428,9 +1428,10 @@ function resolveScvpMacroValues(ctx) {
|
|
|
1428
1428
|
var deviceId = (_ctx_deviceId = ctx.deviceId) === null || _ctx_deviceId === void 0 ? void 0 : _ctx_deviceId.trim();
|
|
1429
1429
|
var deviceIdType = deviceId ? ((_ctx_deviceIdType = ctx.deviceIdType) === null || _ctx_deviceIdType === void 0 ? void 0 : _ctx_deviceIdType.trim()) || inferDeviceIdType() : void 0;
|
|
1430
1430
|
if (deviceId && deviceIdType) {
|
|
1431
|
+
var _toFlag;
|
|
1431
1432
|
set("RDID", deviceId);
|
|
1432
1433
|
set("IDTYPE", deviceIdType);
|
|
1433
|
-
set("IS-LAT", toFlag(ctx.limitAdTracking));
|
|
1434
|
+
set("IS-LAT", (_toFlag = toFlag(ctx.limitAdTracking)) !== null && _toFlag !== void 0 ? _toFlag : "0");
|
|
1434
1435
|
}
|
|
1435
1436
|
set("SID", ctx.sessionId);
|
|
1436
1437
|
set("DTH", ctx.deviceTypeHint);
|
|
@@ -1765,21 +1766,19 @@ function fetchConsentSignals() {
|
|
|
1765
1766
|
});
|
|
1766
1767
|
}
|
|
1767
1768
|
// src/player/FloorLadder.ts
|
|
1768
|
-
var
|
|
1769
|
+
var DISABLED_FLOOR_LADDER_CONFIG = Object.freeze({
|
|
1769
1770
|
enabled: false,
|
|
1770
|
-
targetingKey: "
|
|
1771
|
-
minFloorCents:
|
|
1772
|
-
maxFloorCents:
|
|
1773
|
-
stepCents:
|
|
1774
|
-
selectedFloorCents:
|
|
1775
|
-
fallbackFloorCents:
|
|
1771
|
+
targetingKey: "",
|
|
1772
|
+
minFloorCents: 0,
|
|
1773
|
+
maxFloorCents: 0,
|
|
1774
|
+
stepCents: 0,
|
|
1775
|
+
selectedFloorCents: 0,
|
|
1776
|
+
fallbackFloorCents: 0,
|
|
1776
1777
|
readyFloorCents: [],
|
|
1777
1778
|
mode: "fixed",
|
|
1778
|
-
allowedPositions: [
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
targetAdUnitPath: "/21821455290/airytvadx/airytv-web",
|
|
1782
|
-
configurationVersion: "2026-09-29.1"
|
|
1779
|
+
allowedPositions: [],
|
|
1780
|
+
targetAdUnitPath: "",
|
|
1781
|
+
configurationVersion: ""
|
|
1783
1782
|
});
|
|
1784
1783
|
var DEFAULT_FLOOR_LADDER_BOUNDS = Object.freeze({
|
|
1785
1784
|
minCents: 25,
|
|
@@ -1798,15 +1797,6 @@ function generateFloorLevels(minCents, maxCents, stepCents) {
|
|
|
1798
1797
|
}
|
|
1799
1798
|
return levels;
|
|
1800
1799
|
}
|
|
1801
|
-
function resolveFloorLadderBounds() {
|
|
1802
|
-
var overrides = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
1803
|
-
var _overrides_minCents, _overrides_maxCents, _overrides_stepCents;
|
|
1804
|
-
return {
|
|
1805
|
-
minCents: (_overrides_minCents = overrides.minCents) !== null && _overrides_minCents !== void 0 ? _overrides_minCents : DEFAULT_FLOOR_LADDER_BOUNDS.minCents,
|
|
1806
|
-
maxCents: (_overrides_maxCents = overrides.maxCents) !== null && _overrides_maxCents !== void 0 ? _overrides_maxCents : DEFAULT_FLOOR_LADDER_BOUNDS.maxCents,
|
|
1807
|
-
stepCents: (_overrides_stepCents = overrides.stepCents) !== null && _overrides_stepCents !== void 0 ? _overrides_stepCents : DEFAULT_FLOOR_LADDER_BOUNDS.stepCents
|
|
1808
|
-
};
|
|
1809
|
-
}
|
|
1810
1800
|
function validateFloorCents(value, config) {
|
|
1811
1801
|
var bounds = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : DEFAULT_FLOOR_LADDER_BOUNDS;
|
|
1812
1802
|
if (!isInteger(value)) return {
|
|
@@ -1938,7 +1928,6 @@ function resolveOpportunityFloor(config, context) {
|
|
|
1938
1928
|
if (!config.enabled) return skipped("disabled");
|
|
1939
1929
|
var positions = Array.isArray(config.allowedPositions) ? config.allowedPositions : [];
|
|
1940
1930
|
if (positions.indexOf(context.position) === -1) return skipped("position_not_allowed");
|
|
1941
|
-
if (context.isCtv) return skipped("ctv_excluded");
|
|
1942
1931
|
if (!config.targetingKey) return skipped("missing_targeting_key");
|
|
1943
1932
|
if (!config.targetAdUnitPath) return skipped("missing_target_ad_unit");
|
|
1944
1933
|
var result;
|
|
@@ -2092,15 +2081,80 @@ function mergeDefined(target, update) {
|
|
|
2092
2081
|
}
|
|
2093
2082
|
return copyConfig(next);
|
|
2094
2083
|
}
|
|
2084
|
+
var AD_POSITIONS = [
|
|
2085
|
+
"preroll",
|
|
2086
|
+
"midroll",
|
|
2087
|
+
"postroll"
|
|
2088
|
+
];
|
|
2089
|
+
function finiteNumber(value) {
|
|
2090
|
+
return typeof value === "number" && isFinite(value) ? value : void 0;
|
|
2091
|
+
}
|
|
2092
|
+
function parseApiFloorLadder(raw) {
|
|
2093
|
+
if (!raw || (typeof raw === "undefined" ? "undefined" : _type_of(raw)) !== "object" || Array.isArray(raw)) return void 0;
|
|
2094
|
+
var src = raw;
|
|
2095
|
+
var out = {};
|
|
2096
|
+
if (typeof src.enabled === "boolean") out.enabled = src.enabled;
|
|
2097
|
+
if (typeof src.targetingKey === "string") out.targetingKey = src.targetingKey;
|
|
2098
|
+
if (typeof src.targetAdUnitPath === "string") out.targetAdUnitPath = src.targetAdUnitPath;
|
|
2099
|
+
if (typeof src.configurationVersion === "string") out.configurationVersion = src.configurationVersion;
|
|
2100
|
+
if (typeof src.mode === "string") out.mode = src.mode;
|
|
2101
|
+
var min = finiteNumber(src.minFloorCents);
|
|
2102
|
+
var max = finiteNumber(src.maxFloorCents);
|
|
2103
|
+
var step = finiteNumber(src.stepCents);
|
|
2104
|
+
var selected = finiteNumber(src.selectedFloorCents);
|
|
2105
|
+
var fallback = finiteNumber(src.fallbackFloorCents);
|
|
2106
|
+
if (min !== void 0) out.minFloorCents = min;
|
|
2107
|
+
if (max !== void 0) out.maxFloorCents = max;
|
|
2108
|
+
if (step !== void 0) out.stepCents = step;
|
|
2109
|
+
if (selected !== void 0) out.selectedFloorCents = selected;
|
|
2110
|
+
if (fallback !== void 0) out.fallbackFloorCents = fallback;
|
|
2111
|
+
if (Array.isArray(src.readyFloorCents)) {
|
|
2112
|
+
out.readyFloorCents = src.readyFloorCents.filter(function(cents) {
|
|
2113
|
+
return finiteNumber(cents) !== void 0;
|
|
2114
|
+
});
|
|
2115
|
+
}
|
|
2116
|
+
if (Array.isArray(src.allowedPositions)) {
|
|
2117
|
+
out.allowedPositions = src.allowedPositions.filter(function(position) {
|
|
2118
|
+
return AD_POSITIONS.indexOf(position) !== -1;
|
|
2119
|
+
});
|
|
2120
|
+
}
|
|
2121
|
+
return out;
|
|
2122
|
+
}
|
|
2095
2123
|
var FloorLadderController = /*#__PURE__*/ function() {
|
|
2096
|
-
function FloorLadderController(
|
|
2097
|
-
var selector = arguments.length >
|
|
2124
|
+
function FloorLadderController() {
|
|
2125
|
+
var selector = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : fixedFloorSelector;
|
|
2098
2126
|
_class_call_check(this, FloorLadderController);
|
|
2099
|
-
this.
|
|
2100
|
-
this.
|
|
2127
|
+
this.bounds = DEFAULT_FLOOR_LADDER_BOUNDS;
|
|
2128
|
+
this.config = copyConfig(DISABLED_FLOOR_LADDER_CONFIG);
|
|
2101
2129
|
this.selector = selector;
|
|
2102
2130
|
}
|
|
2103
2131
|
_create_class(FloorLadderController, [
|
|
2132
|
+
{
|
|
2133
|
+
key: "isEnabled",
|
|
2134
|
+
value: function isEnabled() {
|
|
2135
|
+
return this.config.enabled === true;
|
|
2136
|
+
}
|
|
2137
|
+
},
|
|
2138
|
+
{
|
|
2139
|
+
key: "applyApiConfig",
|
|
2140
|
+
value: function applyApiConfig(raw) {
|
|
2141
|
+
var parsed = parseApiFloorLadder(raw);
|
|
2142
|
+
this.config = mergeDefined(copyConfig(DISABLED_FLOOR_LADDER_CONFIG), parsed);
|
|
2143
|
+
this.bounds = Object.freeze({
|
|
2144
|
+
minCents: this.config.minFloorCents,
|
|
2145
|
+
maxCents: this.config.maxFloorCents,
|
|
2146
|
+
stepCents: this.config.stepCents
|
|
2147
|
+
});
|
|
2148
|
+
return validateFloorLadderConfig(this.config, this.bounds);
|
|
2149
|
+
}
|
|
2150
|
+
},
|
|
2151
|
+
{
|
|
2152
|
+
key: "reset",
|
|
2153
|
+
value: function reset() {
|
|
2154
|
+
this.config = copyConfig(DISABLED_FLOOR_LADDER_CONFIG);
|
|
2155
|
+
this.bounds = DEFAULT_FLOOR_LADDER_BOUNDS;
|
|
2156
|
+
}
|
|
2157
|
+
},
|
|
2104
2158
|
{
|
|
2105
2159
|
key: "get",
|
|
2106
2160
|
value: function get() {
|
|
@@ -2113,13 +2167,6 @@ var FloorLadderController = /*#__PURE__*/ function() {
|
|
|
2113
2167
|
return _object_spread({}, this.bounds);
|
|
2114
2168
|
}
|
|
2115
2169
|
},
|
|
2116
|
-
{
|
|
2117
|
-
key: "update",
|
|
2118
|
-
value: function update(update) {
|
|
2119
|
-
this.config = mergeDefined(this.config, update);
|
|
2120
|
-
return validateFloorLadderConfig(this.config, this.bounds);
|
|
2121
|
-
}
|
|
2122
|
-
},
|
|
2123
2170
|
{
|
|
2124
2171
|
key: "validate",
|
|
2125
2172
|
value: function validate() {
|
|
@@ -6352,6 +6399,9 @@ function resolvePlayerIdentitySeed(clientInfo) {
|
|
|
6352
6399
|
}
|
|
6353
6400
|
return "fingerprint:".concat(JSON.stringify(clientInfo));
|
|
6354
6401
|
}
|
|
6402
|
+
function getCachedBrowserId() {
|
|
6403
|
+
return cachedBrowserId !== null && cachedBrowserId !== void 0 ? cachedBrowserId : void 0;
|
|
6404
|
+
}
|
|
6355
6405
|
function getBrowserID(clientInfo) {
|
|
6356
6406
|
return _async_to_generator(function() {
|
|
6357
6407
|
return _ts_generator(this, function(_state) {
|
|
@@ -8021,7 +8071,7 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
8021
8071
|
key: "fetchAdConfiguration",
|
|
8022
8072
|
value: function fetchAdConfiguration() {
|
|
8023
8073
|
return _async_to_generator(function() {
|
|
8024
|
-
var _data_response_ima_publisherdeskima, _data_response_ima,
|
|
8074
|
+
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;
|
|
8025
8075
|
return _ts_generator(this, function(_state) {
|
|
8026
8076
|
switch(_state.label){
|
|
8027
8077
|
case 0:
|
|
@@ -8081,7 +8131,21 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
8081
8131
|
];
|
|
8082
8132
|
case 4:
|
|
8083
8133
|
data = _state.sent();
|
|
8084
|
-
|
|
8134
|
+
apiEnableEdge = (_data_response = data.response) === null || _data_response === void 0 ? void 0 : _data_response.enableEdgePodRequest;
|
|
8135
|
+
apiEdgeUrl = (_data_response1 = data.response) === null || _data_response1 === void 0 ? void 0 : _data_response1.edgePodUrl;
|
|
8136
|
+
this.apiEnableEdgePodRequest = typeof apiEnableEdge === "boolean" ? apiEnableEdge : void 0;
|
|
8137
|
+
this.apiEdgePodUrl = typeof apiEdgeUrl === "string" ? apiEdgeUrl : void 0;
|
|
8138
|
+
if (this.debug) {
|
|
8139
|
+
console.log("[StormcloudVideoPlayer] Edge pod settings from API:", {
|
|
8140
|
+
enableEdgePodRequest: this.apiEnableEdgePodRequest,
|
|
8141
|
+
edgePodUrl: this.apiEdgePodUrl
|
|
8142
|
+
});
|
|
8143
|
+
}
|
|
8144
|
+
this.apiFloorLadder = (_data_response2 = data.response) === null || _data_response2 === void 0 ? void 0 : _data_response2.floorLadder;
|
|
8145
|
+
if (this.debug) {
|
|
8146
|
+
console.log(this.apiFloorLadder ? "[StormcloudVideoPlayer] Floor ladder from API:" : "[StormcloudVideoPlayer] No floorLadder block in /ads/web response", this.apiFloorLadder);
|
|
8147
|
+
}
|
|
8148
|
+
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;
|
|
8085
8149
|
if (imaPayload) {
|
|
8086
8150
|
decodedPayload = imaPayload;
|
|
8087
8151
|
try {
|
|
@@ -8099,7 +8163,7 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
8099
8163
|
console.warn("[StormcloudVideoPlayer] No VAST tag URL found in /ads/web response");
|
|
8100
8164
|
}
|
|
8101
8165
|
}
|
|
8102
|
-
numberAds = (
|
|
8166
|
+
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;
|
|
8103
8167
|
if (numberAds != null && numberAds > 0) {
|
|
8104
8168
|
this.apiNumberAds = numberAds;
|
|
8105
8169
|
if (this.debug) {
|
|
@@ -9933,7 +9997,23 @@ function resolveEdgePodBaseUrl(config) {
|
|
|
9933
9997
|
return void 0;
|
|
9934
9998
|
}
|
|
9935
9999
|
}
|
|
10000
|
+
function resolveEdgePodRequestContext(config) {
|
|
10001
|
+
var extra = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
10002
|
+
return {
|
|
10003
|
+
width: extra.width,
|
|
10004
|
+
height: extra.height,
|
|
10005
|
+
playerId: extra.playerId,
|
|
10006
|
+
contentNetwork: config.contentNetwork,
|
|
10007
|
+
contentChannel: config.channelName,
|
|
10008
|
+
contentTitle: config.programTitle
|
|
10009
|
+
};
|
|
10010
|
+
}
|
|
10011
|
+
function setOptionalParam(url, key, value) {
|
|
10012
|
+
var trimmed = value === null || value === void 0 ? void 0 : value.trim();
|
|
10013
|
+
if (trimmed) url.searchParams.set(key, trimmed);
|
|
10014
|
+
}
|
|
9936
10015
|
function buildEdgePodUrl(baseUrl, remainingMs, remainingAdLimit) {
|
|
10016
|
+
var context = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
|
|
9937
10017
|
var url = new URL(baseUrl);
|
|
9938
10018
|
var maxMs = Math.max(0, Math.floor(remainingMs));
|
|
9939
10019
|
var maxAds = Math.max(1, Math.min(EDGE_POD_MAX_ADS, Math.floor(remainingAdLimit)));
|
|
@@ -9941,6 +10021,16 @@ function buildEdgePodUrl(baseUrl, remainingMs, remainingAdLimit) {
|
|
|
9941
10021
|
url.searchParams.set("pmad", String(maxAds));
|
|
9942
10022
|
url.searchParams.set("duration", String(Math.floor(maxMs / 1e3)));
|
|
9943
10023
|
url.searchParams.set("count", String(maxAds));
|
|
10024
|
+
if (context.width != null && Number.isFinite(context.width) && context.width > 0) {
|
|
10025
|
+
url.searchParams.set("width", String(Math.round(context.width)));
|
|
10026
|
+
}
|
|
10027
|
+
if (context.height != null && Number.isFinite(context.height) && context.height > 0) {
|
|
10028
|
+
url.searchParams.set("height", String(Math.round(context.height)));
|
|
10029
|
+
}
|
|
10030
|
+
setOptionalParam(url, "pid", context.playerId);
|
|
10031
|
+
setOptionalParam(url, "cn", context.contentNetwork);
|
|
10032
|
+
setOptionalParam(url, "cc", context.contentChannel);
|
|
10033
|
+
setOptionalParam(url, "ct", context.contentTitle);
|
|
9944
10034
|
return url.toString();
|
|
9945
10035
|
}
|
|
9946
10036
|
function classifyEdgeVastResponse(result) {
|
|
@@ -10828,7 +10918,12 @@ var AdBreakOrchestrator = /*#__PURE__*/ function() {
|
|
|
10828
10918
|
return void 0;
|
|
10829
10919
|
}
|
|
10830
10920
|
try {
|
|
10831
|
-
|
|
10921
|
+
var playerId = getCachedBrowserId();
|
|
10922
|
+
return buildEdgePodUrl(baseUrl, remainingMs, remainingAds, resolveEdgePodRequestContext(this.host.config, {
|
|
10923
|
+
width: this.host.video.offsetWidth || this.host.video.clientWidth,
|
|
10924
|
+
height: this.host.video.offsetHeight || this.host.video.clientHeight,
|
|
10925
|
+
playerId: playerId
|
|
10926
|
+
}));
|
|
10832
10927
|
} catch (unused) {
|
|
10833
10928
|
this.markEdgeExhausted("invalid_edge_url");
|
|
10834
10929
|
return void 0;
|
|
@@ -12338,14 +12433,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12338
12433
|
this.config = _object_spread({}, browserOverrides, config);
|
|
12339
12434
|
this.video = config.videoElement;
|
|
12340
12435
|
logBrowserInfo(config.debugAdTiming);
|
|
12341
|
-
|
|
12342
|
-
if (this.config.adFloorMinCents != null) floorBounds.minCents = this.config.adFloorMinCents;
|
|
12343
|
-
if (this.config.adFloorMaxCents != null) floorBounds.maxCents = this.config.adFloorMaxCents;
|
|
12344
|
-
if (this.config.adFloorStepCents != null) floorBounds.stepCents = this.config.adFloorStepCents;
|
|
12345
|
-
this.floorLadder = new FloorLadderController(this.config.adFloorLadder, floorBounds);
|
|
12346
|
-
this.floorLadderEnabled = this.config.adFloorLadderEnabled === true;
|
|
12347
|
-
this.warnOnInvalidFloorLadder(this.floorLadder.validate());
|
|
12348
|
-
this.edgePodBaseUrl = resolveEdgePodBaseUrl(this.config);
|
|
12436
|
+
this.floorLadder = new FloorLadderController();
|
|
12349
12437
|
this.adPlayer = this.createAdPlayer(false);
|
|
12350
12438
|
this.palNonce = createPalNonceManager();
|
|
12351
12439
|
this.cueManager = new Scte35CueManager(!!this.config.debugAdTiming, {
|
|
@@ -12452,9 +12540,8 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12452
12540
|
return _this.edgePodBaseUrl;
|
|
12453
12541
|
},
|
|
12454
12542
|
getFloorSnapshot: function getFloorSnapshot(position) {
|
|
12455
|
-
return _this.
|
|
12456
|
-
position: position
|
|
12457
|
-
isCtv: _this.isCtvEnvironment()
|
|
12543
|
+
return _this.floorLadder.isEnabled() ? _this.floorLadder.snapshotFor({
|
|
12544
|
+
position: position
|
|
12458
12545
|
}) : void 0;
|
|
12459
12546
|
},
|
|
12460
12547
|
onAdClick: function onAdClick() {
|
|
@@ -12491,45 +12578,42 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12491
12578
|
}
|
|
12492
12579
|
},
|
|
12493
12580
|
{
|
|
12494
|
-
key: "
|
|
12495
|
-
value: function
|
|
12496
|
-
|
|
12497
|
-
|
|
12498
|
-
|
|
12499
|
-
|
|
12500
|
-
|
|
12501
|
-
|
|
12502
|
-
key: "setAdFloorLadder",
|
|
12503
|
-
value: function setAdFloorLadder(update) {
|
|
12504
|
-
var report = this.floorLadder.update(update);
|
|
12581
|
+
key: "applyFloorLadderFromApi",
|
|
12582
|
+
value: function applyFloorLadderFromApi() {
|
|
12583
|
+
var raw = this.adConfig.apiFloorLadder;
|
|
12584
|
+
if (raw == null) {
|
|
12585
|
+
this.floorLadder.reset();
|
|
12586
|
+
return;
|
|
12587
|
+
}
|
|
12588
|
+
var report = this.floorLadder.applyApiConfig(raw);
|
|
12505
12589
|
this.warnOnInvalidFloorLadder(report);
|
|
12506
|
-
|
|
12507
|
-
|
|
12508
|
-
|
|
12509
|
-
|
|
12510
|
-
|
|
12511
|
-
|
|
12512
|
-
|
|
12513
|
-
if (enabled) this.warnOnInvalidFloorLadder(this.floorLadder.validate());
|
|
12590
|
+
if (this.debug) {
|
|
12591
|
+
console.log("[AdBreak][FLOOR] configuration applied from API", {
|
|
12592
|
+
config: this.floorLadder.get(),
|
|
12593
|
+
bounds: this.floorLadder.getBounds(),
|
|
12594
|
+
validation: report
|
|
12595
|
+
});
|
|
12596
|
+
}
|
|
12514
12597
|
}
|
|
12515
12598
|
},
|
|
12516
12599
|
{
|
|
12517
12600
|
key: "isAdFloorLadderEnabled",
|
|
12518
12601
|
value: function isAdFloorLadderEnabled() {
|
|
12519
|
-
return this.
|
|
12602
|
+
return this.floorLadder.isEnabled();
|
|
12520
12603
|
}
|
|
12521
12604
|
},
|
|
12522
12605
|
{
|
|
12523
|
-
key: "
|
|
12524
|
-
value: function
|
|
12525
|
-
|
|
12526
|
-
|
|
12606
|
+
key: "applyEdgePodFromApi",
|
|
12607
|
+
value: function applyEdgePodFromApi() {
|
|
12608
|
+
this.edgePodBaseUrl = resolveEdgePodBaseUrl({
|
|
12609
|
+
enableEdgePodRequest: this.adConfig.apiEnableEdgePodRequest,
|
|
12610
|
+
edgePodUrl: this.adConfig.apiEdgePodUrl,
|
|
12611
|
+
licenseKey: this.config.licenseKey
|
|
12612
|
+
});
|
|
12613
|
+
if (this.debug) {
|
|
12614
|
+
var _this_edgePodBaseUrl;
|
|
12615
|
+
console.log("[AdBreak][EDGE] edge pod base URL from API:", (_this_edgePodBaseUrl = this.edgePodBaseUrl) !== null && _this_edgePodBaseUrl !== void 0 ? _this_edgePodBaseUrl : "(disabled; GAM only)");
|
|
12527
12616
|
}
|
|
12528
|
-
if (update.enableEdgePodRequest === void 0) delete this.config.enableEdgePodRequest;
|
|
12529
|
-
else this.config.enableEdgePodRequest = update.enableEdgePodRequest;
|
|
12530
|
-
if (update.edgePodUrl === void 0) delete this.config.edgePodUrl;
|
|
12531
|
-
else this.config.edgePodUrl = update.edgePodUrl;
|
|
12532
|
-
this.edgePodBaseUrl = resolveEdgePodBaseUrl(this.config);
|
|
12533
12617
|
}
|
|
12534
12618
|
},
|
|
12535
12619
|
{
|
|
@@ -12542,7 +12626,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12542
12626
|
key: "warnOnInvalidFloorLadder",
|
|
12543
12627
|
value: function warnOnInvalidFloorLadder(report) {
|
|
12544
12628
|
var config = this.floorLadder.get();
|
|
12545
|
-
if (report.ok || !
|
|
12629
|
+
if (report.ok || !config.enabled) return;
|
|
12546
12630
|
console.warn("[AdBreak][FLOOR] configuration has issues; invalid floors will not be sent", {
|
|
12547
12631
|
errors: report.errors,
|
|
12548
12632
|
configurationVersion: config.configurationVersion,
|
|
@@ -12617,6 +12701,8 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12617
12701
|
4
|
|
12618
12702
|
];
|
|
12619
12703
|
case 4:
|
|
12704
|
+
this.applyFloorLadderFromApi();
|
|
12705
|
+
this.applyEdgePodFromApi();
|
|
12620
12706
|
palDescriptionUrl = this.config.ctvAdRequest ? this.adConfig.getPalDescriptionUrl() : void 0;
|
|
12621
12707
|
fetchConsentSignals().catch(function() {
|
|
12622
12708
|
return {};
|