@folklore/ads 0.0.35 → 0.0.36
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/cjs.js +53 -22
- package/dist/es.js +52 -21
- package/package.json +2 -2
package/dist/cjs.js
CHANGED
|
@@ -11,8 +11,8 @@ var isArray = require('lodash/isArray');
|
|
|
11
11
|
var sortBy = require('lodash/sortBy');
|
|
12
12
|
var uniqBy = require('lodash/uniqBy');
|
|
13
13
|
var debounce = require('lodash/debounce');
|
|
14
|
-
var EventEmitter = require('wolfy87-eventemitter');
|
|
15
14
|
var createDebug = require('debug');
|
|
15
|
+
var EventEmitter = require('wolfy87-eventemitter');
|
|
16
16
|
var jsxRuntime = require('react/jsx-runtime');
|
|
17
17
|
var hooks = require('@folklore/hooks');
|
|
18
18
|
var tracking = require('@folklore/tracking');
|
|
@@ -28,8 +28,8 @@ var isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);
|
|
|
28
28
|
var sortBy__default = /*#__PURE__*/_interopDefaultLegacy(sortBy);
|
|
29
29
|
var uniqBy__default = /*#__PURE__*/_interopDefaultLegacy(uniqBy);
|
|
30
30
|
var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
|
|
31
|
-
var EventEmitter__default = /*#__PURE__*/_interopDefaultLegacy(EventEmitter);
|
|
32
31
|
var createDebug__default = /*#__PURE__*/_interopDefaultLegacy(createDebug);
|
|
32
|
+
var EventEmitter__default = /*#__PURE__*/_interopDefaultLegacy(EventEmitter);
|
|
33
33
|
|
|
34
34
|
const adPath = PropTypes__default["default"].string;
|
|
35
35
|
const adSize = PropTypes__default["default"].oneOfType([PropTypes__default["default"].arrayOf(PropTypes__default["default"].number), PropTypes__default["default"].arrayOf(PropTypes__default["default"].string), PropTypes__default["default"].string, PropTypes__default["default"].arrayOf(PropTypes__default["default"].oneOfType([PropTypes__default["default"].arrayOf(PropTypes__default["default"].number), PropTypes__default["default"].arrayOf(PropTypes__default["default"].string), PropTypes__default["default"].string]))]);
|
|
@@ -321,7 +321,9 @@ class AdsManager extends EventEmitter__default["default"] {
|
|
|
321
321
|
this.options = {
|
|
322
322
|
disabled: false,
|
|
323
323
|
disablePersonnalizedAds: false,
|
|
324
|
-
|
|
324
|
+
disableSingleRequest: false,
|
|
325
|
+
disableLazyLoad: false,
|
|
326
|
+
disableVideoAds: false,
|
|
325
327
|
autoInit: false,
|
|
326
328
|
...opts
|
|
327
329
|
};
|
|
@@ -352,30 +354,39 @@ class AdsManager extends EventEmitter__default["default"] {
|
|
|
352
354
|
personnalizedAdsDisabled
|
|
353
355
|
} = this;
|
|
354
356
|
const {
|
|
355
|
-
|
|
357
|
+
disableSingleRequest = false,
|
|
358
|
+
disableLazyLoad = false,
|
|
359
|
+
disableVideoAds = false,
|
|
360
|
+
mobileScaling = 1.0,
|
|
361
|
+
renderMarginPercent = 100,
|
|
362
|
+
fetchMarginPercent = 300
|
|
356
363
|
} = this.options;
|
|
357
364
|
if (disabled) {
|
|
358
365
|
debug('Disable initial load');
|
|
359
366
|
googletag.pubads().disableInitialLoad();
|
|
360
367
|
}
|
|
361
|
-
if (
|
|
368
|
+
if (!disableSingleRequest) {
|
|
362
369
|
debug('Enable single request');
|
|
363
|
-
googletag.pubads().
|
|
370
|
+
googletag.pubads().disableSingleRequest();
|
|
364
371
|
}
|
|
365
372
|
if (personnalizedAdsDisabled) {
|
|
366
373
|
debug('Disable personalized ads');
|
|
367
374
|
googletag.pubads().setRequestNonPersonalizedAds(1);
|
|
368
375
|
}
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
376
|
+
if (!disableLazyLoad) {
|
|
377
|
+
googletag.pubads().enableLazyLoad({
|
|
378
|
+
// Fetch slots within 5 viewports.
|
|
379
|
+
fetchMarginPercent,
|
|
380
|
+
// Render slots within 2 viewports.
|
|
381
|
+
renderMarginPercent,
|
|
382
|
+
// Double the above values on mobile, where viewports are smaller
|
|
383
|
+
// and users tend to scroll faster.
|
|
384
|
+
mobileScaling
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
if (!disableVideoAds) {
|
|
388
|
+
googletag.pubads().enableVideoAds();
|
|
389
|
+
}
|
|
379
390
|
googletag.pubads().addEventListener('slotRenderEnded', this.onSlotRenderEnded);
|
|
380
391
|
googletag.pubads().addEventListener('impressionViewable', this.onSlotImpressionViewable);
|
|
381
392
|
googletag.enableServices();
|
|
@@ -634,10 +645,15 @@ const propTypes$2 = {
|
|
|
634
645
|
children: PropTypes__default["default"].node.isRequired,
|
|
635
646
|
defaultSlotPath: PropTypes__default["default"].string,
|
|
636
647
|
slotsPath: PropTypes__default["default"].objectOf(PropTypes__default["default"].string),
|
|
637
|
-
|
|
648
|
+
disableSingleRequest: PropTypes__default["default"].bool,
|
|
649
|
+
disableVideoAds: PropTypes__default["default"].bool,
|
|
650
|
+
disableLazyLoad: PropTypes__default["default"].bool,
|
|
638
651
|
autoInit: PropTypes__default["default"].bool,
|
|
639
652
|
resizeDebounceDelay: PropTypes__default["default"].number,
|
|
640
653
|
refreshOnResize: PropTypes__default["default"].bool,
|
|
654
|
+
mobileScaling: PropTypes__default["default"].number,
|
|
655
|
+
renderMarginPercent: PropTypes__default["default"].number,
|
|
656
|
+
fetchMarginPercent: PropTypes__default["default"].number,
|
|
641
657
|
slots: adSlots,
|
|
642
658
|
viewports: adViewports,
|
|
643
659
|
disabled: PropTypes__default["default"].bool,
|
|
@@ -646,10 +662,15 @@ const propTypes$2 = {
|
|
|
646
662
|
const defaultProps$2 = {
|
|
647
663
|
defaultSlotPath: null,
|
|
648
664
|
slotsPath: null,
|
|
649
|
-
|
|
665
|
+
disableSingleRequest: false,
|
|
666
|
+
disableVideoAds: false,
|
|
667
|
+
disableLazyLoad: false,
|
|
650
668
|
autoInit: true,
|
|
651
669
|
resizeDebounceDelay: 500,
|
|
652
670
|
refreshOnResize: false,
|
|
671
|
+
mobileScaling: 1.0,
|
|
672
|
+
renderMarginPercent: 100,
|
|
673
|
+
fetchMarginPercent: 300,
|
|
653
674
|
slots: slots,
|
|
654
675
|
viewports: viewports,
|
|
655
676
|
disabled: false,
|
|
@@ -660,10 +681,15 @@ function AdsProvider(_ref) {
|
|
|
660
681
|
children,
|
|
661
682
|
defaultSlotPath,
|
|
662
683
|
slotsPath,
|
|
663
|
-
|
|
684
|
+
disableSingleRequest,
|
|
685
|
+
disableVideoAds,
|
|
686
|
+
disableLazyLoad,
|
|
664
687
|
autoInit,
|
|
665
688
|
resizeDebounceDelay,
|
|
666
689
|
refreshOnResize,
|
|
690
|
+
mobileScaling,
|
|
691
|
+
renderMarginPercent,
|
|
692
|
+
fetchMarginPercent,
|
|
667
693
|
viewports,
|
|
668
694
|
slots,
|
|
669
695
|
disabled,
|
|
@@ -674,15 +700,20 @@ function AdsProvider(_ref) {
|
|
|
674
700
|
const ads = React.useMemo(() => {
|
|
675
701
|
if (adsRef.current === null) {
|
|
676
702
|
adsRef.current = new AdsManager({
|
|
677
|
-
enableSingleRequest,
|
|
678
703
|
autoInit,
|
|
679
|
-
disabled
|
|
704
|
+
disabled,
|
|
705
|
+
disableSingleRequest,
|
|
706
|
+
disableVideoAds,
|
|
707
|
+
disableLazyLoad,
|
|
708
|
+
mobileScaling,
|
|
709
|
+
renderMarginPercent,
|
|
710
|
+
fetchMarginPercent
|
|
680
711
|
});
|
|
681
712
|
} else {
|
|
682
713
|
adsRef.current.setDisabled(disabled);
|
|
683
714
|
}
|
|
684
715
|
return adsRef.current;
|
|
685
|
-
}, [
|
|
716
|
+
}, [autoInit, disabled, disableSingleRequest, disableVideoAds, disableLazyLoad, mobileScaling, renderMarginPercent, fetchMarginPercent]);
|
|
686
717
|
React.useEffect(() => {
|
|
687
718
|
let onReady = null;
|
|
688
719
|
if (!ads.isReady()) {
|
package/dist/es.js
CHANGED
|
@@ -7,8 +7,8 @@ import isArray from 'lodash/isArray';
|
|
|
7
7
|
import sortBy from 'lodash/sortBy';
|
|
8
8
|
import uniqBy from 'lodash/uniqBy';
|
|
9
9
|
import debounce from 'lodash/debounce';
|
|
10
|
-
import EventEmitter from 'wolfy87-eventemitter';
|
|
11
10
|
import createDebug from 'debug';
|
|
11
|
+
import EventEmitter from 'wolfy87-eventemitter';
|
|
12
12
|
import { jsx } from 'react/jsx-runtime';
|
|
13
13
|
import { useIntersectionObserver, useWindowEvent } from '@folklore/hooks';
|
|
14
14
|
import { useTracking } from '@folklore/tracking';
|
|
@@ -303,7 +303,9 @@ class AdsManager extends EventEmitter {
|
|
|
303
303
|
this.options = {
|
|
304
304
|
disabled: false,
|
|
305
305
|
disablePersonnalizedAds: false,
|
|
306
|
-
|
|
306
|
+
disableSingleRequest: false,
|
|
307
|
+
disableLazyLoad: false,
|
|
308
|
+
disableVideoAds: false,
|
|
307
309
|
autoInit: false,
|
|
308
310
|
...opts
|
|
309
311
|
};
|
|
@@ -334,30 +336,39 @@ class AdsManager extends EventEmitter {
|
|
|
334
336
|
personnalizedAdsDisabled
|
|
335
337
|
} = this;
|
|
336
338
|
const {
|
|
337
|
-
|
|
339
|
+
disableSingleRequest = false,
|
|
340
|
+
disableLazyLoad = false,
|
|
341
|
+
disableVideoAds = false,
|
|
342
|
+
mobileScaling = 1.0,
|
|
343
|
+
renderMarginPercent = 100,
|
|
344
|
+
fetchMarginPercent = 300
|
|
338
345
|
} = this.options;
|
|
339
346
|
if (disabled) {
|
|
340
347
|
debug('Disable initial load');
|
|
341
348
|
googletag.pubads().disableInitialLoad();
|
|
342
349
|
}
|
|
343
|
-
if (
|
|
350
|
+
if (!disableSingleRequest) {
|
|
344
351
|
debug('Enable single request');
|
|
345
|
-
googletag.pubads().
|
|
352
|
+
googletag.pubads().disableSingleRequest();
|
|
346
353
|
}
|
|
347
354
|
if (personnalizedAdsDisabled) {
|
|
348
355
|
debug('Disable personalized ads');
|
|
349
356
|
googletag.pubads().setRequestNonPersonalizedAds(1);
|
|
350
357
|
}
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
358
|
+
if (!disableLazyLoad) {
|
|
359
|
+
googletag.pubads().enableLazyLoad({
|
|
360
|
+
// Fetch slots within 5 viewports.
|
|
361
|
+
fetchMarginPercent,
|
|
362
|
+
// Render slots within 2 viewports.
|
|
363
|
+
renderMarginPercent,
|
|
364
|
+
// Double the above values on mobile, where viewports are smaller
|
|
365
|
+
// and users tend to scroll faster.
|
|
366
|
+
mobileScaling
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
if (!disableVideoAds) {
|
|
370
|
+
googletag.pubads().enableVideoAds();
|
|
371
|
+
}
|
|
361
372
|
googletag.pubads().addEventListener('slotRenderEnded', this.onSlotRenderEnded);
|
|
362
373
|
googletag.pubads().addEventListener('impressionViewable', this.onSlotImpressionViewable);
|
|
363
374
|
googletag.enableServices();
|
|
@@ -616,10 +627,15 @@ const propTypes$2 = {
|
|
|
616
627
|
children: PropTypes.node.isRequired,
|
|
617
628
|
defaultSlotPath: PropTypes.string,
|
|
618
629
|
slotsPath: PropTypes.objectOf(PropTypes.string),
|
|
619
|
-
|
|
630
|
+
disableSingleRequest: PropTypes.bool,
|
|
631
|
+
disableVideoAds: PropTypes.bool,
|
|
632
|
+
disableLazyLoad: PropTypes.bool,
|
|
620
633
|
autoInit: PropTypes.bool,
|
|
621
634
|
resizeDebounceDelay: PropTypes.number,
|
|
622
635
|
refreshOnResize: PropTypes.bool,
|
|
636
|
+
mobileScaling: PropTypes.number,
|
|
637
|
+
renderMarginPercent: PropTypes.number,
|
|
638
|
+
fetchMarginPercent: PropTypes.number,
|
|
623
639
|
slots: adSlots,
|
|
624
640
|
viewports: adViewports,
|
|
625
641
|
disabled: PropTypes.bool,
|
|
@@ -628,10 +644,15 @@ const propTypes$2 = {
|
|
|
628
644
|
const defaultProps$2 = {
|
|
629
645
|
defaultSlotPath: null,
|
|
630
646
|
slotsPath: null,
|
|
631
|
-
|
|
647
|
+
disableSingleRequest: false,
|
|
648
|
+
disableVideoAds: false,
|
|
649
|
+
disableLazyLoad: false,
|
|
632
650
|
autoInit: true,
|
|
633
651
|
resizeDebounceDelay: 500,
|
|
634
652
|
refreshOnResize: false,
|
|
653
|
+
mobileScaling: 1.0,
|
|
654
|
+
renderMarginPercent: 100,
|
|
655
|
+
fetchMarginPercent: 300,
|
|
635
656
|
slots: slots,
|
|
636
657
|
viewports: viewports,
|
|
637
658
|
disabled: false,
|
|
@@ -642,10 +663,15 @@ function AdsProvider(_ref) {
|
|
|
642
663
|
children,
|
|
643
664
|
defaultSlotPath,
|
|
644
665
|
slotsPath,
|
|
645
|
-
|
|
666
|
+
disableSingleRequest,
|
|
667
|
+
disableVideoAds,
|
|
668
|
+
disableLazyLoad,
|
|
646
669
|
autoInit,
|
|
647
670
|
resizeDebounceDelay,
|
|
648
671
|
refreshOnResize,
|
|
672
|
+
mobileScaling,
|
|
673
|
+
renderMarginPercent,
|
|
674
|
+
fetchMarginPercent,
|
|
649
675
|
viewports,
|
|
650
676
|
slots,
|
|
651
677
|
disabled,
|
|
@@ -656,15 +682,20 @@ function AdsProvider(_ref) {
|
|
|
656
682
|
const ads = useMemo(() => {
|
|
657
683
|
if (adsRef.current === null) {
|
|
658
684
|
adsRef.current = new AdsManager({
|
|
659
|
-
enableSingleRequest,
|
|
660
685
|
autoInit,
|
|
661
|
-
disabled
|
|
686
|
+
disabled,
|
|
687
|
+
disableSingleRequest,
|
|
688
|
+
disableVideoAds,
|
|
689
|
+
disableLazyLoad,
|
|
690
|
+
mobileScaling,
|
|
691
|
+
renderMarginPercent,
|
|
692
|
+
fetchMarginPercent
|
|
662
693
|
});
|
|
663
694
|
} else {
|
|
664
695
|
adsRef.current.setDisabled(disabled);
|
|
665
696
|
}
|
|
666
697
|
return adsRef.current;
|
|
667
|
-
}, [
|
|
698
|
+
}, [autoInit, disabled, disableSingleRequest, disableVideoAds, disableLazyLoad, mobileScaling, renderMarginPercent, fetchMarginPercent]);
|
|
668
699
|
useEffect(() => {
|
|
669
700
|
let onReady = null;
|
|
670
701
|
if (!ads.isReady()) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@folklore/ads",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.36",
|
|
4
4
|
"description": "Ads library",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"publishConfig": {
|
|
51
51
|
"access": "public"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "95d101938ccd8aa13a418623d38f30793191e0a7",
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@folklore/hooks": "^0.0.44",
|
|
56
56
|
"@folklore/tracking": "^0.0.23",
|