prebid.js 5.14.0 → 5.18.0
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/.devcontainer/Dockerfile +11 -0
- package/.devcontainer/devcontainer.json +27 -0
- package/.devcontainer/postCreate.sh +6 -0
- package/allowedModules.js +2 -1
- package/integrationExamples/gpt/afpExample.html +242 -0
- package/integrationExamples/gpt/afpGamExample.html +152 -0
- package/integrationExamples/gpt/weboramaRtdProvider_example.html +126 -0
- package/modules/.submodules.json +29 -27
- package/modules/33acrossBidAdapter.js +23 -20
- package/modules/a4gBidAdapter.js +3 -3
- package/modules/ablidaBidAdapter.js +2 -2
- package/modules/adWMGBidAdapter.js +4 -4
- package/modules/adagioAnalyticsAdapter.js +4 -4
- package/modules/adagioBidAdapter.js +85 -82
- package/modules/adbookpspBidAdapter.js +56 -54
- package/modules/adfBidAdapter.js +24 -16
- package/modules/adgenerationBidAdapter.js +42 -18
- package/modules/adhashBidAdapter.js +105 -0
- package/modules/adhashBidAdapter.md +1 -1
- package/modules/adkernelAdnAnalyticsAdapter.js +6 -6
- package/modules/adkernelAdnBidAdapter.js +23 -23
- package/modules/adkernelBidAdapter.js +49 -44
- package/modules/adlooxAdServerVideo.js +26 -26
- package/modules/adlooxAnalyticsAdapter.js +38 -35
- package/modules/adlooxRtdProvider.js +49 -46
- package/modules/admanBidAdapter.js +4 -4
- package/modules/admixerBidAdapter.js +13 -2
- package/modules/admixerIdSystem.js +4 -4
- package/modules/adnowBidAdapter.js +4 -4
- package/modules/adnuntiusBidAdapter.js +6 -5
- package/modules/adoceanBidAdapter.js +10 -10
- package/modules/adpartnerBidAdapter.js +3 -3
- package/modules/adpod.js +45 -42
- package/modules/adprimeBidAdapter.js +4 -4
- package/modules/adqueryBidAdapter.js +204 -0
- package/modules/adqueryBidAdapter.md +32 -0
- package/modules/adrelevantisBidAdapter.js +30 -27
- package/modules/adriverBidAdapter.js +13 -13
- package/modules/adtargetBidAdapter.js +24 -24
- package/modules/adtelligentBidAdapter.js +29 -29
- package/modules/adtrueBidAdapter.js +35 -35
- package/modules/aduptechBidAdapter.js +10 -10
- package/modules/advangelistsBidAdapter.js +14 -14
- package/modules/adxcgAnalyticsAdapter.js +5 -5
- package/modules/adxcgBidAdapter.js +56 -56
- package/modules/adxpremiumAnalyticsAdapter.js +17 -17
- package/modules/adyoulikeBidAdapter.js +11 -11
- package/modules/afpBidAdapter.js +166 -0
- package/modules/afpBidAdapter.md +348 -0
- package/modules/ajaBidAdapter.js +12 -12
- package/modules/akamaiDAPIdSystem.js +9 -9
- package/modules/aniviewBidAdapter.js +2 -2
- package/modules/aolBidAdapter.js +15 -14
- package/modules/apacdexBidAdapter.js +16 -16
- package/modules/appnexusBidAdapter.js +59 -59
- package/modules/apstreamBidAdapter.js +5 -5
- package/modules/asoBidAdapter.js +30 -30
- package/modules/astraoneBidAdapter.js +2 -2
- package/modules/atsAnalyticsAdapter.js +35 -30
- package/modules/audiencerunBidAdapter.js +15 -15
- package/modules/automatadBidAdapter.js +2 -2
- package/modules/axonixBidAdapter.js +7 -7
- package/modules/beachfrontBidAdapter.js +23 -23
- package/modules/beopBidAdapter.js +22 -22
- package/modules/bidViewabilityIO.js +7 -7
- package/modules/bidglassBidAdapter.js +8 -8
- package/modules/bidscubeBidAdapter.js +3 -3
- package/modules/bizzclickBidAdapter.js +10 -10
- package/modules/bliinkBidAdapter.js +58 -32
- package/modules/bliinkBidAdapter.md +29 -6
- package/modules/bluebillywigBidAdapter.js +30 -30
- package/modules/boldwinBidAdapter.js +4 -4
- package/modules/braveBidAdapter.js +5 -5
- package/modules/bridgewellBidAdapter.js +5 -5
- package/modules/brightMountainMediaBidAdapter.js +10 -10
- package/modules/brightcomBidAdapter.js +18 -18
- package/modules/britepoolIdSystem.js +7 -7
- package/modules/browsiRtdProvider.js +8 -8
- package/modules/bucksenseBidAdapter.js +9 -9
- package/modules/buzzoolaBidAdapter.js +4 -4
- package/modules/byDataAnalyticsAdapter.js +12 -12
- package/modules/ccxBidAdapter.js +38 -38
- package/modules/cleanmedianetBidAdapter.js +9 -9
- package/modules/clickforceBidAdapter.js +4 -4
- package/modules/cointrafficBidAdapter.js +4 -4
- package/modules/coinzillaBidAdapter.js +2 -2
- package/modules/colossussspBidAdapter.js +7 -3
- package/modules/concertAnalyticsAdapter.js +3 -3
- package/modules/concertBidAdapter.js +16 -17
- package/modules/connectadBidAdapter.js +13 -13
- package/modules/consentManagement.js +29 -28
- package/modules/consentManagementUsp.js +14 -14
- package/modules/consumableBidAdapter.js +3 -3
- package/modules/contentexchangeBidAdapter.js +5 -5
- package/modules/conversantBidAdapter.js +32 -31
- package/modules/cpmstarBidAdapter.js +8 -9
- package/modules/craftBidAdapter.js +10 -10
- package/modules/criteoBidAdapter.js +16 -16
- package/modules/criteoIdSystem.js +5 -5
- package/modules/currency.js +18 -18
- package/modules/cwireBidAdapter.js +272 -0
- package/modules/cwireBidAdapter.md +43 -0
- package/modules/datablocksBidAdapter.js +12 -12
- package/modules/deepintentBidAdapter.js +13 -13
- package/modules/dgkeywordRtdProvider.js +10 -11
- package/modules/districtmDMXBidAdapter.js +15 -15
- package/modules/dmdIdSystem.js +5 -5
- package/modules/docereeBidAdapter.js +9 -9
- package/modules/dspxBidAdapter.js +5 -5
- package/modules/ebdrBidAdapter.js +9 -9
- package/modules/emx_digitalBidAdapter.js +23 -23
- package/modules/enrichmentFpdModule.js +10 -9
- package/modules/eplanningAnalyticsAdapter.js +2 -2
- package/modules/eplanningBidAdapter.js +10 -10
- package/modules/etargetBidAdapter.js +4 -4
- package/modules/express.js +9 -10
- package/modules/fabrickIdSystem.js +6 -6
- package/modules/feedadBidAdapter.js +5 -5
- package/modules/fintezaAnalyticsAdapter.js +4 -4
- package/modules/flocIdSystem.js +5 -5
- package/modules/fluctBidAdapter.js +6 -5
- package/modules/freewheel-sspBidAdapter.js +6 -6
- package/modules/gamoshiBidAdapter.js +22 -22
- package/modules/gdprEnforcement.js +13 -14
- package/modules/getintentBidAdapter.js +3 -4
- package/modules/glimpseBidAdapter.js +160 -48
- package/modules/glimpseBidAdapter.md +11 -74
- package/modules/gmosspBidAdapter.js +17 -17
- package/modules/gnetBidAdapter.js +5 -5
- package/modules/googleAnalyticsAdapter.js +6 -6
- package/modules/gothamadsBidAdapter.js +9 -9
- package/modules/gptPreAuction.js +7 -7
- package/modules/gridBidAdapter.js +15 -16
- package/modules/gridNMBidAdapter.js +214 -63
- package/modules/growadvertisingBidAdapter.js +7 -8
- package/modules/gumgumBidAdapter.js +19 -13
- package/modules/h12mediaBidAdapter.js +12 -12
- package/modules/haloIdSystem.js +8 -8
- package/modules/hybridBidAdapter.js +7 -7
- package/modules/iasRtdProvider.js +79 -63
- package/modules/id5IdSystem.js +24 -24
- package/modules/idImportLibrary.js +35 -35
- package/modules/idxIdSystem.js +3 -3
- package/modules/impactifyBidAdapter.js +10 -10
- package/modules/improvedigitalBidAdapter.js +36 -36
- package/modules/imuIdSystem.js +6 -6
- package/modules/inmarBidAdapter.js +2 -2
- package/modules/innityBidAdapter.js +3 -3
- package/modules/inskinBidAdapter.js +14 -2
- package/modules/inskinBidAdapter.md +5 -4
- package/modules/instreamTracking.js +5 -5
- package/modules/integr8BidAdapter.js +4 -4
- package/modules/intentIqIdSystem.js +7 -7
- package/modules/interactiveOffersBidAdapter.js +5 -5
- package/modules/invibesBidAdapter.js +53 -19
- package/modules/invisiblyAnalyticsAdapter.js +5 -5
- package/modules/iqmBidAdapter.js +19 -19
- package/modules/iqzoneBidAdapter.js +5 -5
- package/modules/ixBidAdapter.js +73 -73
- package/modules/jixieBidAdapter.js +6 -6
- package/modules/justpremiumBidAdapter.js +5 -1
- package/modules/kargoBidAdapter.js +16 -9
- package/modules/kargoBidAdapter.md +20 -0
- package/modules/kinessoIdSystem.js +8 -8
- package/modules/koblerBidAdapter.js +12 -12
- package/modules/konduitAnalyticsAdapter.js +4 -4
- package/modules/konduitWrapper.js +14 -14
- package/modules/krushmediaBidAdapter.js +4 -4
- package/modules/kubientBidAdapter.js +5 -5
- package/modules/limelightDigitalBidAdapter.js +4 -4
- package/modules/liveIntentIdSystem.js +4 -5
- package/modules/livewrappedAnalyticsAdapter.js +27 -15
- package/modules/livewrappedBidAdapter.js +7 -7
- package/modules/liveyieldAnalyticsAdapter.js +13 -13
- package/modules/lockerdomeBidAdapter.js +2 -2
- package/modules/loganBidAdapter.js +4 -4
- package/modules/lotamePanoramaIdSystem.js +13 -13
- package/modules/lunamediahbBidAdapter.js +2 -2
- package/modules/madvertiseBidAdapter.js +3 -3
- package/modules/marsmediaBidAdapter.js +26 -26
- package/modules/mathildeadsBidAdapter.js +5 -5
- package/modules/mediaforceBidAdapter.js +11 -11
- package/modules/mediakeysBidAdapter.js +444 -53
- package/modules/mediakeysBidAdapter.md +108 -0
- package/modules/medianetAnalyticsAdapter.js +48 -125
- package/modules/medianetBidAdapter.js +38 -33
- package/modules/medianetRtdProvider.js +7 -7
- package/modules/merkleIdSystem.js +19 -19
- package/modules/mgidBidAdapter.js +50 -50
- package/modules/microadBidAdapter.js +3 -3
- package/modules/multibid/index.js +15 -13
- package/modules/mwOpenLinkIdSystem.js +7 -7
- package/modules/mytargetBidAdapter.js +112 -0
- package/modules/nativoBidAdapter.js +46 -31
- package/modules/nativoBidAdapter.md +0 -1
- package/modules/naveggIdSystem.js +3 -3
- package/modules/nextMillenniumBidAdapter.js +6 -6
- package/modules/nextrollBidAdapter.js +375 -0
- package/modules/nobidBidAdapter.js +12 -11
- package/modules/novatiqIdSystem.js +8 -8
- package/modules/oguryBidAdapter.js +22 -6
- package/modules/oneVideoBidAdapter.js +20 -20
- package/modules/onomagicBidAdapter.js +16 -16
- package/modules/ooloAnalyticsAdapter.js +13 -13
- package/modules/openwebBidAdapter.js +26 -26
- package/modules/openxAnalyticsAdapter.js +33 -33
- package/modules/openxBidAdapter.js +29 -29
- package/modules/operaadsBidAdapter.js +53 -53
- package/modules/optimeraRtdProvider.js +9 -9
- package/modules/optoutBidAdapter.js +3 -3
- package/modules/orbidderBidAdapter.js +3 -3
- package/modules/outbrainBidAdapter.js +13 -13
- package/modules/ozoneBidAdapter.js +131 -131
- package/modules/padsquadBidAdapter.js +4 -4
- package/modules/parrableIdSystem.js +17 -17
- package/modules/pixfutureBidAdapter.js +45 -25
- package/modules/pixfutureBidAdapter.md +127 -0
- package/modules/prebidServerBidAdapter/index.js +109 -105
- package/modules/prebidmanagerAnalyticsAdapter.js +7 -7
- package/modules/priceFloors.js +47 -47
- package/modules/proxistoreBidAdapter.js +6 -8
- package/modules/pubCommonId.js +11 -11
- package/modules/pubProvidedIdSystem.js +3 -3
- package/modules/publinkIdSystem.js +23 -7
- package/modules/publinkIdSystem.md +7 -2
- package/modules/pubmaticAnalyticsAdapter.js +16 -16
- package/modules/pubmaticBidAdapter.js +109 -93
- package/modules/pubmaticBidAdapter.md +1 -1
- package/modules/pubperfAnalyticsAdapter.js +3 -3
- package/modules/pubwiseAnalyticsAdapter.js +6 -6
- package/modules/pubwiseBidAdapter.js +23 -23
- package/modules/pubxBidAdapter.js +2 -2
- package/modules/pubxaiAnalyticsAdapter.js +7 -7
- package/modules/pulsepointBidAdapter.js +13 -13
- package/modules/pxyzBidAdapter.js +7 -7
- package/modules/quantcastBidAdapter.js +16 -16
- package/modules/radsBidAdapter.js +5 -5
- package/modules/realvuAnalyticsAdapter.js +5 -7
- package/modules/reconciliationRtdProvider.js +6 -6
- package/modules/relaidoBidAdapter.js +44 -38
- package/modules/resetdigitalBidAdapter.js +3 -4
- package/modules/revcontentBidAdapter.js +9 -9
- package/modules/rhythmoneBidAdapter.js +17 -16
- package/modules/richaudienceBidAdapter.js +9 -9
- package/modules/riseBidAdapter.js +26 -26
- package/modules/riseBidAdapter.md +1 -3
- package/modules/roxotAnalyticsAdapter.js +14 -14
- package/modules/rtbhouseBidAdapter.js +7 -7
- package/modules/rtbsapeBidAdapter.js +3 -4
- package/modules/rtdModule/index.js +3 -3
- package/modules/rubiconAnalyticsAdapter.js +82 -82
- package/modules/rubiconBidAdapter.js +72 -68
- package/modules/scaleableAnalyticsAdapter.js +2 -2
- package/modules/seedingAllianceBidAdapter.js +231 -0
- package/modules/seedtagBidAdapter.js +10 -10
- package/modules/sharedIdSystem.js +11 -11
- package/modules/sharethroughAnalyticsAdapter.js +8 -8
- package/modules/sharethroughBidAdapter.js +20 -27
- package/modules/showheroes-bsBidAdapter.js +23 -23
- package/modules/sigmoidAnalyticsAdapter.js +4 -5
- package/modules/sirdataRtdProvider.js +34 -34
- package/modules/sizeMappingV2.js +39 -39
- package/modules/slimcutBidAdapter.js +121 -0
- package/modules/smaatoBidAdapter.js +44 -44
- package/modules/smartadserverBidAdapter.js +7 -7
- package/modules/smartxBidAdapter.js +72 -72
- package/modules/smartyadsBidAdapter.js +2 -2
- package/modules/smilewantedBidAdapter.js +6 -6
- package/modules/sonobiAnalyticsAdapter.js +23 -23
- package/modules/sortableAnalyticsAdapter.js +5 -5
- package/modules/sortableBidAdapter.js +28 -28
- package/modules/sovrnAnalyticsAdapter.js +5 -5
- package/modules/sovrnBidAdapter.js +22 -22
- package/modules/spotxBidAdapter.js +97 -83
- package/modules/sspBCBidAdapter.js +216 -21
- package/modules/sspBCBidAdapter.md +1 -1
- package/modules/staqAnalyticsAdapter.js +9 -9
- package/modules/stroeerCoreBidAdapter.js +16 -16
- package/modules/sublimeBidAdapter.js +6 -6
- package/modules/talkadsBidAdapter.js +129 -0
- package/modules/talkadsBidAdapter.md +60 -0
- package/modules/tapadIdSystem.js +3 -3
- package/modules/tappxBidAdapter.js +63 -64
- package/modules/teadsBidAdapter.js +20 -20
- package/modules/telariaBidAdapter.js +17 -17
- package/modules/temedyaBidAdapter.js +4 -4
- package/modules/terceptAnalyticsAdapter.js +4 -4
- package/modules/theAdxBidAdapter.js +16 -16
- package/modules/timeoutRtdProvider.js +15 -15
- package/modules/tpmnBidAdapter.js +3 -3
- package/modules/trionBidAdapter.js +15 -15
- package/modules/tripleliftBidAdapter.js +27 -24
- package/modules/truereachBidAdapter.js +4 -4
- package/modules/trustxBidAdapter.js +22 -18
- package/modules/ucfunnelBidAdapter.js +3 -3
- package/modules/uid2IdSystem.js +6 -6
- package/modules/underdogmediaBidAdapter.js +4 -4
- package/modules/unicornBidAdapter.js +15 -15
- package/modules/unifiedIdSystem.js +4 -4
- package/modules/unrulyBidAdapter.js +16 -16
- package/modules/userId/eids.js +9 -9
- package/modules/userId/index.js +37 -35
- package/modules/validationFpdModule/index.js +15 -15
- package/modules/vdoaiBidAdapter.js +2 -2
- package/modules/verizonMediaIdSystem.js +5 -5
- package/modules/vidazooBidAdapter.js +5 -5
- package/modules/videobyteBidAdapter.js +24 -24
- package/modules/videoreachBidAdapter.js +7 -7
- package/modules/vidoomyBidAdapter.js +105 -22
- package/modules/viewdeosDXBidAdapter.js +17 -17
- package/modules/visxBidAdapter.js +21 -29
- package/modules/voxBidAdapter.js +7 -7
- package/modules/vuukleBidAdapter.js +2 -2
- package/modules/waardexBidAdapter.js +26 -26
- package/modules/weboramaRtdProvider.js +174 -0
- package/modules/weboramaRtdProvider.md +70 -0
- package/modules/winrBidAdapter.js +27 -27
- package/modules/wipesBidAdapter.js +2 -2
- package/modules/yahoosspBidAdapter.js +637 -0
- package/modules/yahoosspBidAdapter.md +795 -0
- package/modules/yieldlabBidAdapter.js +57 -12
- package/modules/yieldlabBidAdapter.md +16 -1
- package/modules/yieldliftBidAdapter.js +9 -9
- package/modules/yieldmoBidAdapter.js +64 -50
- package/modules/yieldoneAnalyticsAdapter.js +6 -6
- package/modules/yieldoneBidAdapter.js +11 -11
- package/modules/yuktamediaAnalyticsAdapter.js +15 -15
- package/modules/zeotapIdPlusIdSystem.js +2 -2
- package/modules/zetaBidAdapter.js +6 -6
- package/modules/zeta_global_sspBidAdapter.js +14 -14
- package/package.json +1 -1
- package/src/AnalyticsAdapter.js +6 -6
- package/src/Renderer.js +10 -8
- package/src/adapterManager.js +45 -42
- package/src/adloader.js +6 -6
- package/src/ajax.js +8 -9
- package/src/auction.js +26 -23
- package/src/bidfactory.js +2 -2
- package/src/config.js +52 -50
- package/src/cpmBucketManager.js +2 -2
- package/src/prebid.js +85 -81
- package/src/storageManager.js +5 -5
- package/src/targeting.js +25 -26
- package/src/userSync.js +35 -22
- package/src/videoCache.js +2 -2
- package/test/.eslintrc.js +2 -1
- package/test/spec/modules/adfBidAdapter_spec.js +55 -0
- package/test/spec/modules/adgenerationBidAdapter_spec.js +121 -50
- package/test/spec/modules/adhashBidAdapter_spec.js +155 -0
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +68 -0
- package/test/spec/modules/adqueryBidAdapter_spec.js +185 -0
- package/test/spec/modules/afpBidAdapter_spec.js +306 -0
- package/test/spec/modules/atsAnalyticsAdapter_spec.js +37 -2
- package/test/spec/modules/bliinkBidAdapter_spec.js +87 -36
- package/test/spec/modules/colossussspBidAdapter_spec.js +14 -6
- package/test/spec/modules/cwireBidAdapter_spec.js +246 -0
- package/test/spec/modules/eplanningBidAdapter_spec.js +3 -3
- package/test/spec/modules/glimpseBidAdapter_spec.js +302 -204
- package/test/spec/modules/gridBidAdapter_spec.js +38 -2
- package/test/spec/modules/gridNMBidAdapter_spec.js +121 -47
- package/test/spec/modules/gumgumBidAdapter_spec.js +27 -6
- package/test/spec/modules/iasRtdProvider_spec.js +71 -6
- package/test/spec/modules/inskinBidAdapter_spec.js +10 -1
- package/test/spec/modules/invibesBidAdapter_spec.js +114 -2
- package/test/spec/modules/justpremiumBidAdapter_spec.js +16 -2
- package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +33 -7
- package/test/spec/modules/mediakeysBidAdapter_spec.js +406 -51
- package/test/spec/modules/medianetAnalyticsAdapter_spec.js +39 -7
- package/test/spec/modules/medianetBidAdapter_spec.js +62 -1
- package/test/spec/modules/mytargetBidAdapter_spec.js +199 -0
- package/test/spec/modules/nativoBidAdapter_spec.js +50 -3
- package/test/spec/modules/nextrollBidAdapter_spec.js +290 -0
- package/test/spec/modules/nobidBidAdapter_spec.js +65 -1
- package/test/spec/modules/oguryBidAdapter_spec.js +120 -7
- package/test/spec/modules/publinkIdSystem_spec.js +42 -12
- package/test/spec/modules/pubmaticBidAdapter_spec.js +217 -1
- package/test/spec/modules/relaidoBidAdapter_spec.js +21 -20
- package/test/spec/modules/rubiconAnalyticsAdapter_spec.js +100 -81
- package/test/spec/modules/rubiconAnalyticsSchema.json +5 -2
- package/test/spec/modules/seedingAllianceAdapter_spec.js +186 -0
- package/test/spec/modules/sharethroughBidAdapter_spec.js +156 -136
- package/test/spec/modules/slimcutBidAdapter_spec.js +200 -0
- package/test/spec/modules/spotxBidAdapter_spec.js +36 -0
- package/test/spec/modules/sspBCBidAdapter_spec.js +210 -62
- package/test/spec/modules/talkadsBidAdapter_spec.js +231 -0
- package/test/spec/modules/tappxBidAdapter_spec.js +39 -3
- package/test/spec/modules/tripleliftBidAdapter_spec.js +2 -0
- package/test/spec/modules/trustxBidAdapter_spec.js +35 -2
- package/test/spec/modules/unicornBidAdapter_spec.js +4 -4
- package/test/spec/modules/visxBidAdapter_spec.js +48 -4
- package/test/spec/modules/weboramaRtdProvider_spec.js +288 -0
- package/test/spec/modules/yahoosspBidAdapter_spec.js +1332 -0
- package/test/spec/modules/yieldlabBidAdapter_spec.js +65 -1
- package/test/spec/modules/yieldmoBidAdapter_spec.js +30 -9
- package/test/spec/unit/pbjs_api_spec.js +4 -0
- package/test/spec/userSync_spec.js +30 -2
- package/modules/turktelekomBidAdapter.md +0 -49
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { parseUrl, getWindowTop, isArray, getGptSlotInfoForAdUnitCode, isStr, deepAccess, isEmpty, logError, triggerPixel, buildUrl, isEmptyStr, logInfo } from '../src/utils.js';
|
|
1
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
2
|
-
import * as utils from '../src/utils.js';
|
|
3
3
|
import { config } from '../src/config.js';
|
|
4
4
|
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
|
|
5
5
|
import { getRefererInfo } from '../src/refererDetection.js';
|
|
@@ -27,7 +27,7 @@ window.mnet = window.mnet || {};
|
|
|
27
27
|
window.mnet.queue = window.mnet.queue || [];
|
|
28
28
|
|
|
29
29
|
mnData.urlData = {
|
|
30
|
-
domain:
|
|
30
|
+
domain: parseUrl(refererInfo.referer).hostname,
|
|
31
31
|
page: refererInfo.referer,
|
|
32
32
|
isTop: refererInfo.reachedTop
|
|
33
33
|
}
|
|
@@ -78,7 +78,7 @@ function getUrlFromSelector(selector, attribute) {
|
|
|
78
78
|
|
|
79
79
|
function getAttributeFromSelector(selector, attribute) {
|
|
80
80
|
try {
|
|
81
|
-
let doc =
|
|
81
|
+
let doc = getWindowTop().document;
|
|
82
82
|
let element = doc.querySelector(selector);
|
|
83
83
|
if (element !== null && element[attribute]) {
|
|
84
84
|
return element[attribute];
|
|
@@ -87,7 +87,7 @@ function getAttributeFromSelector(selector, attribute) {
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
function getAbsoluteUrl(url) {
|
|
90
|
-
let aTag =
|
|
90
|
+
let aTag = getWindowTop().document.createElement('a');
|
|
91
91
|
aTag.href = url;
|
|
92
92
|
|
|
93
93
|
return aTag.href;
|
|
@@ -98,7 +98,7 @@ function filterUrlsByType(urls, type) {
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
function transformSizes(sizes) {
|
|
101
|
-
if (
|
|
101
|
+
if (isArray(sizes) && sizes.length === 2 && !isArray(sizes[0])) {
|
|
102
102
|
return [getSize(sizes)];
|
|
103
103
|
}
|
|
104
104
|
|
|
@@ -123,8 +123,8 @@ function getCoordinates(adUnitCode) {
|
|
|
123
123
|
let element = document.getElementById(adUnitCode);
|
|
124
124
|
if (!element && adUnitCode.indexOf('/') !== -1) {
|
|
125
125
|
// now it means that adUnitCode is GAM AdUnitPath
|
|
126
|
-
const {divId} =
|
|
127
|
-
if (
|
|
126
|
+
const {divId} = getGptSlotInfoForAdUnitCode(adUnitCode);
|
|
127
|
+
if (isStr(divId)) {
|
|
128
128
|
element = document.getElementById(divId);
|
|
129
129
|
}
|
|
130
130
|
}
|
|
@@ -145,11 +145,11 @@ function getCoordinates(adUnitCode) {
|
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
function extParams(bidRequest, bidderRequests) {
|
|
148
|
-
const params =
|
|
149
|
-
const gdpr =
|
|
150
|
-
const uspConsent =
|
|
151
|
-
const userId =
|
|
152
|
-
const sChain =
|
|
148
|
+
const params = deepAccess(bidRequest, 'params');
|
|
149
|
+
const gdpr = deepAccess(bidderRequests, 'gdprConsent');
|
|
150
|
+
const uspConsent = deepAccess(bidderRequests, 'uspConsent');
|
|
151
|
+
const userId = deepAccess(bidRequest, 'userId');
|
|
152
|
+
const sChain = deepAccess(bidRequest, 'schain') || {};
|
|
153
153
|
const windowSize = spec.getWindowSize();
|
|
154
154
|
const gdprApplies = !!(gdpr && gdpr.gdprApplies);
|
|
155
155
|
const uspApplies = !!(uspConsent);
|
|
@@ -165,7 +165,7 @@ function extParams(bidRequest, bidderRequests) {
|
|
|
165
165
|
windowSize.w !== -1 && windowSize.h !== -1 && { screen: windowSize },
|
|
166
166
|
userId && { user_id: userId },
|
|
167
167
|
$$PREBID_GLOBAL$$.medianetGlobals.analyticsEnabled && { analytics: true },
|
|
168
|
-
!
|
|
168
|
+
!isEmpty(sChain) && {schain: sChain}
|
|
169
169
|
);
|
|
170
170
|
}
|
|
171
171
|
|
|
@@ -179,13 +179,18 @@ function slotParams(bidRequest) {
|
|
|
179
179
|
},
|
|
180
180
|
all: bidRequest.params
|
|
181
181
|
};
|
|
182
|
-
let bannerSizes = utils.deepAccess(bidRequest, 'mediaTypes.banner.sizes') || [];
|
|
183
182
|
|
|
184
|
-
|
|
185
|
-
|
|
183
|
+
if (bidRequest.ortb2Imp) {
|
|
184
|
+
params.ortb2Imp = bidRequest.ortb2Imp;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
let bannerSizes = deepAccess(bidRequest, 'mediaTypes.banner.sizes') || [];
|
|
188
|
+
|
|
189
|
+
const videoInMediaType = deepAccess(bidRequest, 'mediaTypes.video') || {};
|
|
190
|
+
const videoInParams = deepAccess(bidRequest, 'params.video') || {};
|
|
186
191
|
const videoCombinedObj = Object.assign({}, videoInParams, videoInMediaType);
|
|
187
192
|
|
|
188
|
-
if (!
|
|
193
|
+
if (!isEmpty(videoCombinedObj)) {
|
|
189
194
|
params.video = videoCombinedObj;
|
|
190
195
|
}
|
|
191
196
|
|
|
@@ -196,7 +201,7 @@ function slotParams(bidRequest) {
|
|
|
196
201
|
try {
|
|
197
202
|
params.native = JSON.stringify(bidRequest.nativeParams);
|
|
198
203
|
} catch (e) {
|
|
199
|
-
|
|
204
|
+
logError((`${BIDDER_CODE} : Incorrect JSON : bidRequest.nativeParams`));
|
|
200
205
|
}
|
|
201
206
|
}
|
|
202
207
|
|
|
@@ -314,8 +319,8 @@ function isValidBid(bid) {
|
|
|
314
319
|
}
|
|
315
320
|
|
|
316
321
|
function fetchCookieSyncUrls(response) {
|
|
317
|
-
if (!
|
|
318
|
-
response[0].body.ext &&
|
|
322
|
+
if (!isEmpty(response) && response[0].body &&
|
|
323
|
+
response[0].body.ext && isArray(response[0].body.ext.csUrl)) {
|
|
319
324
|
return response[0].body.ext.csUrl;
|
|
320
325
|
}
|
|
321
326
|
|
|
@@ -323,15 +328,15 @@ function fetchCookieSyncUrls(response) {
|
|
|
323
328
|
}
|
|
324
329
|
|
|
325
330
|
function getLoggingData(event, data) {
|
|
326
|
-
data = (
|
|
331
|
+
data = (isArray(data) && data) || [];
|
|
327
332
|
|
|
328
333
|
let params = {};
|
|
329
334
|
params.logid = 'kfk';
|
|
330
335
|
params.evtid = 'projectevents';
|
|
331
336
|
params.project = 'prebid';
|
|
332
|
-
params.acid =
|
|
337
|
+
params.acid = deepAccess(data, '0.auctionId') || '';
|
|
333
338
|
params.cid = $$PREBID_GLOBAL$$.medianetGlobals.cid || '';
|
|
334
|
-
params.crid = data.map((adunit) =>
|
|
339
|
+
params.crid = data.map((adunit) => deepAccess(adunit, 'params.0.crid') || adunit.adUnitCode).join('|');
|
|
335
340
|
params.adunit_count = data.length || 0;
|
|
336
341
|
params.dn = mnData.urlData.domain || '';
|
|
337
342
|
params.requrl = mnData.urlData.page || '';
|
|
@@ -349,7 +354,7 @@ function logEvent (event, data) {
|
|
|
349
354
|
hostname: EVENT_PIXEL_URL,
|
|
350
355
|
search: getLoggingData(event, data)
|
|
351
356
|
};
|
|
352
|
-
|
|
357
|
+
triggerPixel(buildUrl(getParams));
|
|
353
358
|
}
|
|
354
359
|
|
|
355
360
|
function clearMnData() {
|
|
@@ -357,8 +362,8 @@ function clearMnData() {
|
|
|
357
362
|
}
|
|
358
363
|
|
|
359
364
|
function addRenderer(bid) {
|
|
360
|
-
const videoContext =
|
|
361
|
-
const vastTimeout =
|
|
365
|
+
const videoContext = deepAccess(bid, 'context') || '';
|
|
366
|
+
const vastTimeout = deepAccess(bid, 'vto');
|
|
362
367
|
/* Adding renderer only when the context is Outstream
|
|
363
368
|
and the provider has responded with a renderer.
|
|
364
369
|
*/
|
|
@@ -384,7 +389,7 @@ function newVideoRenderer(bid) {
|
|
|
384
389
|
mute: bid.mt
|
|
385
390
|
}
|
|
386
391
|
const adUnitCode = bid.dfp_id;
|
|
387
|
-
const divId =
|
|
392
|
+
const divId = getGptSlotInfoForAdUnitCode(adUnitCode).divId || adUnitCode;
|
|
388
393
|
window.mnet.mediaNetoutstreamPlayer(bid, divId, obj);
|
|
389
394
|
});
|
|
390
395
|
});
|
|
@@ -405,12 +410,12 @@ export const spec = {
|
|
|
405
410
|
*/
|
|
406
411
|
isBidRequestValid: function(bid) {
|
|
407
412
|
if (!bid.params) {
|
|
408
|
-
|
|
413
|
+
logError(`${BIDDER_CODE} : Missing bid parameters`);
|
|
409
414
|
return false;
|
|
410
415
|
}
|
|
411
416
|
|
|
412
|
-
if (!bid.params.cid || !
|
|
413
|
-
|
|
417
|
+
if (!bid.params.cid || !isStr(bid.params.cid) || isEmptyStr(bid.params.cid)) {
|
|
418
|
+
logError(`${BIDDER_CODE} : cid should be a string`);
|
|
414
419
|
return false;
|
|
415
420
|
}
|
|
416
421
|
|
|
@@ -445,13 +450,13 @@ export const spec = {
|
|
|
445
450
|
let validBids = [];
|
|
446
451
|
|
|
447
452
|
if (!serverResponse || !serverResponse.body) {
|
|
448
|
-
|
|
453
|
+
logInfo(`${BIDDER_CODE} : response is empty`);
|
|
449
454
|
return validBids;
|
|
450
455
|
}
|
|
451
456
|
|
|
452
457
|
let bids = serverResponse.body.bidList;
|
|
453
|
-
if (!
|
|
454
|
-
|
|
458
|
+
if (!isArray(bids) || bids.length === 0) {
|
|
459
|
+
logInfo(`${BIDDER_CODE} : no bids`);
|
|
455
460
|
return validBids;
|
|
456
461
|
}
|
|
457
462
|
validBids = bids.filter(bid => isValidBid(bid));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { isStr, isEmptyStr, logError, mergeDeep, isFn, insertElement } from '../src/utils.js';
|
|
1
2
|
import { submodule } from '../src/hook.js';
|
|
2
|
-
import * as utils from '../src/utils.js';
|
|
3
3
|
import { getGlobal } from '../src/prebidGlobal.js';
|
|
4
4
|
import includes from 'core-js-pure/features/array/includes.js';
|
|
5
5
|
|
|
@@ -15,8 +15,8 @@ window.mnjs.que = window.mnjs.que || [];
|
|
|
15
15
|
|
|
16
16
|
function init(config) {
|
|
17
17
|
const customerId = config.params && config.params.cid;
|
|
18
|
-
if (!customerId || !
|
|
19
|
-
|
|
18
|
+
if (!customerId || !isStr(customerId) || isEmptyStr(customerId)) {
|
|
19
|
+
logError(`${SOURCE}: cid should be a string`);
|
|
20
20
|
return false;
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -40,8 +40,8 @@ function getBidRequestData(requestBidsProps, callback, config, userConsent) {
|
|
|
40
40
|
const success = (adUnitProps, openRtbProps) => {
|
|
41
41
|
adUnits.forEach(adUnit => {
|
|
42
42
|
adUnit[OPEN_RTB_FIELD] = adUnit[OPEN_RTB_FIELD] || {};
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
mergeDeep(adUnit[OPEN_RTB_FIELD], openRtbProps[adUnit.code]);
|
|
44
|
+
mergeDeep(adUnit, adUnitProps[adUnit.code]);
|
|
45
45
|
});
|
|
46
46
|
callback();
|
|
47
47
|
};
|
|
@@ -61,7 +61,7 @@ function onAuctionInitEvent(auctionInit) {
|
|
|
61
61
|
function getTargetingData(adUnitCode) {
|
|
62
62
|
const adUnits = getAdUnits(undefined, adUnitCode);
|
|
63
63
|
let targetingData = {};
|
|
64
|
-
if (window.mnjs.loaded &&
|
|
64
|
+
if (window.mnjs.loaded && isFn(window.mnjs.getTargetingData)) {
|
|
65
65
|
targetingData = window.mnjs.getTargetingData(adUnitCode, adUnits, SOURCE) || {};
|
|
66
66
|
}
|
|
67
67
|
const targeting = {};
|
|
@@ -86,7 +86,7 @@ function loadRtdScript(customerId) {
|
|
|
86
86
|
script.type = 'text/javascript';
|
|
87
87
|
script.async = true;
|
|
88
88
|
script.src = getClientUrl(customerId, window.location.hostname);
|
|
89
|
-
|
|
89
|
+
insertElement(script, window.document, 'head');
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
function getAdUnits(adUnits, adUnitCodes) {
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @requires module:modules/userId
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import
|
|
8
|
+
import { logInfo, logError, logWarn } from '../src/utils.js';
|
|
9
9
|
import * as ajaxLib from '../src/ajax.js';
|
|
10
10
|
import {submodule} from '../src/hook.js'
|
|
11
11
|
import {getStorageManager} from '../src/storageManager.js';
|
|
@@ -34,7 +34,7 @@ function setCookie(name, value, expires) {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
function setSession(storage, response) {
|
|
37
|
-
|
|
37
|
+
logInfo('Merkle setting session ');
|
|
38
38
|
if (response && response.c && response.c.value && typeof response.c.value === 'string') {
|
|
39
39
|
setCookie(SESSION_COOKIE_NAME, response.c.value, storage.expires);
|
|
40
40
|
}
|
|
@@ -46,7 +46,7 @@ function constructUrl(configParams) {
|
|
|
46
46
|
if (session) {
|
|
47
47
|
url = `${url}&sv_session=${session}`;
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
logInfo('Merkle url :' + url);
|
|
50
50
|
return url;
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -62,19 +62,19 @@ function generateId(configParams, configStorage) {
|
|
|
62
62
|
try {
|
|
63
63
|
responseObj = JSON.parse(response);
|
|
64
64
|
setSession(configStorage, responseObj)
|
|
65
|
-
|
|
65
|
+
logInfo('Merkle responseObj ' + JSON.stringify(responseObj));
|
|
66
66
|
} catch (error) {
|
|
67
|
-
|
|
67
|
+
logError(error);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
const date = new Date().toUTCString();
|
|
72
72
|
responseObj.date = date;
|
|
73
|
-
|
|
73
|
+
logInfo('Merkle responseObj with date ' + JSON.stringify(responseObj));
|
|
74
74
|
callback(responseObj);
|
|
75
75
|
},
|
|
76
76
|
error => {
|
|
77
|
-
|
|
77
|
+
logError(`${MODULE_NAME}: merkleId fetch encountered an error`, error);
|
|
78
78
|
callback();
|
|
79
79
|
},
|
|
80
80
|
{method: 'GET', withCredentials: true}
|
|
@@ -98,7 +98,7 @@ export const merkleIdSubmodule = {
|
|
|
98
98
|
*/
|
|
99
99
|
decode(value) {
|
|
100
100
|
const id = (value && value.pam_id && typeof value.pam_id.id === 'string') ? value.pam_id : undefined;
|
|
101
|
-
|
|
101
|
+
logInfo('Merkle id ' + JSON.stringify(id));
|
|
102
102
|
return id ? {'merkleId': id} : undefined;
|
|
103
103
|
},
|
|
104
104
|
/**
|
|
@@ -109,31 +109,31 @@ export const merkleIdSubmodule = {
|
|
|
109
109
|
* @returns {IdResponse|undefined}
|
|
110
110
|
*/
|
|
111
111
|
getId(config, consentData) {
|
|
112
|
-
|
|
112
|
+
logInfo('User ID - merkleId generating id');
|
|
113
113
|
|
|
114
114
|
const configParams = (config && config.params) || {};
|
|
115
115
|
|
|
116
116
|
if (!configParams || typeof configParams.vendor !== 'string') {
|
|
117
|
-
|
|
117
|
+
logError('User ID - merkleId submodule requires a valid vendor to be defined');
|
|
118
118
|
return;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
if (typeof configParams.sv_cid !== 'string') {
|
|
122
|
-
|
|
122
|
+
logError('User ID - merkleId submodule requires a valid sv_cid string to be defined');
|
|
123
123
|
return;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
if (typeof configParams.sv_pubid !== 'string') {
|
|
127
|
-
|
|
127
|
+
logError('User ID - merkleId submodule requires a valid sv_pubid string to be defined');
|
|
128
128
|
return;
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
if (consentData && typeof consentData.gdprApplies === 'boolean' && consentData.gdprApplies) {
|
|
132
|
-
|
|
132
|
+
logError('User ID - merkleId submodule does not currently handle consent strings');
|
|
133
133
|
return;
|
|
134
134
|
}
|
|
135
135
|
if (typeof configParams.endpoint !== 'string') {
|
|
136
|
-
|
|
136
|
+
logWarn('User ID - merkleId submodule endpoint string is not defined');
|
|
137
137
|
configParams.endpoint = ID_URL
|
|
138
138
|
}
|
|
139
139
|
|
|
@@ -146,11 +146,11 @@ export const merkleIdSubmodule = {
|
|
|
146
146
|
return {callback: resp};
|
|
147
147
|
},
|
|
148
148
|
extendId: function (config = {}, consentData, storedId) {
|
|
149
|
-
|
|
149
|
+
logInfo('User ID - merkleId stored id ' + storedId);
|
|
150
150
|
const configParams = (config && config.params) || {};
|
|
151
151
|
|
|
152
152
|
if (consentData && typeof consentData.gdprApplies === 'boolean' && consentData.gdprApplies) {
|
|
153
|
-
|
|
153
|
+
logError('User ID - merkleId submodule does not currently handle consent strings');
|
|
154
154
|
return;
|
|
155
155
|
}
|
|
156
156
|
|
|
@@ -164,19 +164,19 @@ export const merkleIdSubmodule = {
|
|
|
164
164
|
let refreshInSeconds = DEFAULT_REFRESH;
|
|
165
165
|
if (configParams && configParams.refreshInSeconds && typeof configParams.refreshInSeconds === 'number') {
|
|
166
166
|
refreshInSeconds = configParams.refreshInSeconds;
|
|
167
|
-
|
|
167
|
+
logInfo('User ID - merkleId param refreshInSeconds' + refreshInSeconds);
|
|
168
168
|
}
|
|
169
169
|
const storedDate = new Date(storedId.date);
|
|
170
170
|
let refreshNeeded = false;
|
|
171
171
|
if (storedDate) {
|
|
172
172
|
refreshNeeded = storedDate && (Date.now() - storedDate.getTime() > refreshInSeconds * 1000);
|
|
173
173
|
if (refreshNeeded) {
|
|
174
|
-
|
|
174
|
+
logInfo('User ID - merkleId needs refreshing id');
|
|
175
175
|
const resp = generateId(configParams, configStorage)
|
|
176
176
|
return {callback: resp};
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
|
-
|
|
179
|
+
logInfo('User ID - merkleId not refreshed');
|
|
180
180
|
return {id: storedId};
|
|
181
181
|
}
|
|
182
182
|
|