@highfivve/ad-tag 5.10.2 → 5.10.4

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.
@@ -32,18 +32,18 @@ export const createRewardedAdContext = (config, window__, logger, assetLoaderSer
32
32
  };
33
33
  const attemptGam = (gamConfig) => new Promise(resolve => {
34
34
  window__.googletag.cmd.push(() => {
35
- const googletagRef = window__.googletag;
36
- const pubads = googletagRef.pubads();
35
+ const pubads = window__.googletag.pubads();
37
36
  const adUnitPath = gamAdUnitPath ?? gamConfig.adUnitPath;
38
- const slot = googletagRef.defineOutOfPageSlot(adUnitPath, googletagRef.enums.OutOfPageFormat.REWARDED);
37
+ const slot = window__.googletag.defineOutOfPageSlot(adUnitPath, window__.googletag.enums.OutOfPageFormat.REWARDED);
39
38
  if (!slot) {
40
39
  logger.error('rewardedAd', `failed to define rewarded slot for ${adUnitPath}`);
41
40
  resolve({ outcome: 'no-fill' });
42
41
  return;
43
42
  }
43
+ slot.addService(window__.googletag.pubads());
44
44
  let settled = false;
45
45
  let timeoutId;
46
- const destroySlot = () => googletagRef.destroySlots([slot]);
46
+ const destroySlot = () => window__.googletag.destroySlots([slot]);
47
47
  const removeListeners = () => {
48
48
  pubads.removeEventListener('slotRenderEnded', onSlotRenderEnded);
49
49
  pubads.removeEventListener('rewardedSlotReady', onRewardedSlotReady);
@@ -59,7 +59,7 @@ export const createRewardedAdContext = (config, window__, logger, assetLoaderSer
59
59
  resolve(attempt);
60
60
  };
61
61
  const onSlotRenderEnded = (event) => {
62
- if (event.slot !== slot) {
62
+ if (event.slot.getAdUnitPath() !== slot.getAdUnitPath()) {
63
63
  return;
64
64
  }
65
65
  if (event.isEmpty) {
@@ -70,7 +70,7 @@ export const createRewardedAdContext = (config, window__, logger, assetLoaderSer
70
70
  }
71
71
  };
72
72
  const onRewardedSlotReady = (event) => {
73
- if (event.slot !== slot) {
73
+ if (event.slot.getAdUnitPath() !== slot.getAdUnitPath()) {
74
74
  return;
75
75
  }
76
76
  window__.clearTimeout(timeoutId);
@@ -78,7 +78,7 @@ export const createRewardedAdContext = (config, window__, logger, assetLoaderSer
78
78
  event.makeRewardedVisible();
79
79
  };
80
80
  const onRewardedSlotGranted = (event) => {
81
- if (event.slot !== slot) {
81
+ if (event.slot.getAdUnitPath() !== slot.getAdUnitPath()) {
82
82
  return;
83
83
  }
84
84
  const payload = event.payload ?? defaultRewardPayload;
@@ -86,7 +86,7 @@ export const createRewardedAdContext = (config, window__, logger, assetLoaderSer
86
86
  settle({ outcome: 'granted', payload });
87
87
  };
88
88
  const onRewardedSlotClosed = (event) => {
89
- if (event.slot !== slot) {
89
+ if (event.slot.getAdUnitPath() !== slot.getAdUnitPath()) {
90
90
  return;
91
91
  }
92
92
  logger.debug('rewardedAd', 'gam rewarded slot closed');
@@ -104,8 +104,8 @@ export const createRewardedAdContext = (config, window__, logger, assetLoaderSer
104
104
  destroySlot();
105
105
  settle({ outcome: 'no-fill' });
106
106
  }, config.timeoutMs);
107
- slot.addService(pubads);
108
- googletagRef.display(slot);
107
+ window__.googletag.display(slot);
108
+ window__.googletag.pubads().refresh([slot]);
109
109
  });
110
110
  });
111
111
  const hasValidWelectToken = (welectConfig) => new Promise(resolve => {
package/lib/ads/moli.js CHANGED
@@ -417,6 +417,17 @@ export const createMoliTag = (window) => {
417
417
  .then(config => {
418
418
  const validation = config.spa?.validateLocation ?? 'href';
419
419
  if (!allowRequestAds(validation, href, window.location)) {
420
+ state = {
421
+ state: 'spa-finished',
422
+ config: config,
423
+ initialized,
424
+ modules,
425
+ href: window.location.href,
426
+ runtimeConfig: currentState.runtimeConfig,
427
+ nextRuntimeConfig: newEmptyRuntimeConfig(state.runtimeConfig, {
428
+ keepTargeting: true
429
+ })
430
+ };
420
431
  return Promise.reject(`You are trying to refresh ads on the same page, which is not allowed. Using ${validation} for validation.`);
421
432
  }
422
433
  return adService.requestAds(config, nextRuntimeConfig).then(() => config);
@@ -1,3 +1,3 @@
1
1
  export const packageJson = {
2
- version: '5.10.2'
2
+ version: '5.10.4'
3
3
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@highfivve/ad-tag",
3
- "version": "5.10.2",
3
+ "version": "5.10.4",
4
4
  "license": "Apache-2.0",
5
5
  "description": "An ad tag implementation called moli",
6
6
  "main": "./lib/index.js",