prebid.js 7.43.0 → 7.44.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/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
- package/dist/admixerIdSystem.js +1 -1
- package/dist/adnuntiusBidAdapter.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adqueryIdSystem.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adrinoBidAdapter.js +1 -1
- package/dist/adriverIdSystem.js +1 -1
- package/dist/adsinteractiveBidAdapter.js +1 -0
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/aidemBidAdapter.js +1 -1
- package/dist/airgridRtdProvider.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/akamaiDapRtdProvider.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/apstreamBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/atsAnalyticsAdapter.js +1 -1
- package/dist/audiencerunBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bedigitechBidAdapter.js +1 -0
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bluebillywigBidAdapter.js +1 -1
- package/dist/blueconicRtdProvider.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/brightcomBidAdapter.js +1 -1
- package/dist/brightcomSSPBidAdapter.js +1 -1
- package/dist/browsiRtdProvider.js +1 -1
- package/dist/byDataAnalyticsAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/conversantAnalyticsAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/criteoIdSystem.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/czechAdIdSystem.js +1 -1
- package/dist/dacIdSystem.js +1 -1
- package/dist/deepintentDpesIdSystem.js +1 -1
- package/dist/dependencies.json +3 -0
- package/dist/discoveryBidAdapter.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/fintezaAnalyticsAdapter.js +1 -1
- package/dist/fledgeForGpt.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/ftrackIdSystem.js +1 -1
- package/dist/gdprEnforcement.js +1 -1
- package/dist/glimpseBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/gnetBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/gravitoIdSystem.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -0
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gridNMBidAdapter.js +1 -1
- package/dist/growthCodeAnalyticsAdapter.js +1 -1
- package/dist/growthCodeIdSystem.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hadronAnalyticsAdapter.js +1 -1
- package/dist/hadronIdSystem.js +1 -1
- package/dist/hadronRtdProvider.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/idWardRtdProvider.js +1 -1
- package/dist/identityLinkIdSystem.js +1 -1
- package/dist/idxIdSystem.js +1 -1
- package/dist/imRtdProvider.js +1 -1
- package/dist/impactifyBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/imuIdSystem.js +1 -1
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/intentIqIdSystem.js +1 -1
- package/dist/invibesBidAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/kueezRtbBidAdapter.js +1 -1
- package/dist/kulturemediaBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/liveIntentIdSystem.js +1 -1
- package/dist/liveyieldAnalyticsAdapter.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/lotamePanoramaIdSystem.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/mediagoBidAdapter.js +1 -1
- package/dist/mediakeysBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/merkleIdSystem.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/mgidRtdProvider.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/minutemediaplusBidAdapter.js +1 -1
- package/dist/mwOpenLinkIdSystem.js +1 -1
- package/dist/naveggIdSystem.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/nobidBidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +205 -202
- package/dist/novatiqIdSystem.js +1 -1
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openxOrtbBidAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/ortbConverter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/permutiveRtdProvider.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +1 -1
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
- package/dist/pubCommonId.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/quantcastIdSystem.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/realvuAnalyticsAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/roxotAnalyticsAdapter.js +1 -1
- package/dist/rtbhouseBidAdapter.js +1 -1
- package/dist/rtdModule.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharedIdSystem.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/sigmoidAnalyticsAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/sonobiBidAdapter.js +1 -1
- package/dist/sovrnAnalyticsAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/staqAnalyticsAdapter.js +1 -1
- package/dist/stroeerCoreBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/synacormediaBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/teadsIdSystem.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/trustpidSystem.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/uid2IdSystem.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/validationFpdModule.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/vidoomyBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/weboramaRtdProvider.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/yuktamediaAnalyticsAdapter.js +1 -1
- package/dist/zeotapIdPlusIdSystem.js +1 -1
- package/dist/zeta_global_sspBidAdapter.js +1 -1
- package/libraries/ortbConverter/converter.js +3 -2
- package/modules/33acrossIdSystem.js +5 -2
- package/modules/adagioBidAdapter.js +3 -4
- package/modules/adkernelAdnAnalyticsAdapter.js +4 -2
- package/modules/admixerIdSystem.js +4 -2
- package/modules/adnuntiusBidAdapter.js +1 -1
- package/modules/adqueryBidAdapter.js +1 -1
- package/modules/adqueryIdSystem.js +2 -1
- package/modules/adrinoBidAdapter.js +24 -16
- package/modules/adriverIdSystem.js +3 -2
- package/modules/adsinteractiveBidAdapter.js +144 -0
- package/modules/adsinteractiveBidAdapter.md +31 -0
- package/modules/adyoulikeBidAdapter.js +2 -3
- package/modules/aidemBidAdapter.js +5 -0
- package/modules/airgridRtdProvider.js +4 -2
- package/modules/ajaBidAdapter.js +38 -16
- package/modules/akamaiDapRtdProvider.js +2 -1
- package/modules/amxBidAdapter.js +11 -9
- package/modules/appnexusBidAdapter.js +8 -8
- package/modules/apstreamBidAdapter.js +1 -1
- package/modules/atsAnalyticsAdapter.js +4 -2
- package/modules/audiencerunBidAdapter.js +9 -10
- package/modules/bedigitechBidAdapter.js +67 -0
- package/modules/bedigitechBidAdapter.md +32 -0
- package/modules/bluebillywigBidAdapter.js +2 -4
- package/modules/blueconicRtdProvider.js +2 -1
- package/modules/brightcomBidAdapter.js +0 -1
- package/modules/brightcomSSPBidAdapter.js +0 -1
- package/modules/browsiRtdProvider.js +4 -2
- package/modules/byDataAnalyticsAdapter.js +6 -3
- package/modules/concertBidAdapter.js +14 -7
- package/modules/connectadBidAdapter.js +2 -4
- package/modules/craftBidAdapter.js +29 -24
- package/modules/criteoBidAdapter.js +4 -2
- package/modules/criteoIdSystem.js +6 -2
- package/modules/czechAdIdSystem.js +3 -2
- package/modules/dacIdSystem.js +4 -3
- package/modules/deepintentDpesIdSystem.js +3 -2
- package/modules/discoveryBidAdapter.js +1 -1
- package/modules/dspxBidAdapter.js +223 -15
- package/modules/fintezaAnalyticsAdapter.js +5 -3
- package/modules/fledgeForGpt.js +54 -6
- package/modules/ftrackIdSystem.js +6 -6
- package/modules/gdprEnforcement.js +56 -68
- package/modules/glimpseBidAdapter.js +1 -4
- package/modules/gnetBidAdapter.js +1 -2
- package/modules/gravitoIdSystem.js +5 -3
- package/modules/greenbidsAnalyticsAdapter.js +181 -0
- package/modules/greenbidsAnalyticsAdapter.md +23 -0
- package/modules/gridBidAdapter.js +13 -7
- package/modules/growthCodeAnalyticsAdapter.js +3 -2
- package/modules/growthCodeIdSystem.js +3 -2
- package/modules/gumgumBidAdapter.js +7 -17
- package/modules/hadronAnalyticsAdapter.js +5 -3
- package/modules/hadronIdSystem.js +3 -1
- package/modules/hadronRtdProvider.js +4 -2
- package/modules/id5IdSystem.js +4 -2
- package/modules/idWardRtdProvider.js +2 -1
- package/modules/identityLinkIdSystem.js +5 -2
- package/modules/idxIdSystem.js +3 -2
- package/modules/imRtdProvider.js +3 -1
- package/modules/impactifyBidAdapter.js +2 -4
- package/modules/imuIdSystem.js +6 -3
- package/modules/insticatorBidAdapter.js +1 -1
- package/modules/intentIqIdSystem.js +3 -2
- package/modules/invibesBidAdapter.js +1 -1
- package/modules/ixBidAdapter.js +1 -1
- package/modules/jixieBidAdapter.js +3 -6
- package/modules/kargoBidAdapter.js +1 -1
- package/modules/kueezRtbBidAdapter.js +1 -1
- package/modules/liveIntentIdSystem.js +3 -2
- package/modules/lotamePanoramaIdSystem.js +3 -2
- package/modules/magniteAnalyticsAdapter.js +25 -6
- package/modules/mediafuseBidAdapter.js +1 -1
- package/modules/mediagoBidAdapter.js +1 -1
- package/modules/mediakeysBidAdapter.js +2 -3
- package/modules/merkleIdSystem.js +2 -1
- package/modules/mgidBidAdapter.js +1 -1
- package/modules/mgidRtdProvider.js +3 -1
- package/modules/minutemediaplusBidAdapter.js +1 -1
- package/modules/mwOpenLinkIdSystem.js +3 -2
- package/modules/naveggIdSystem.js +3 -2
- package/modules/nexx360BidAdapter.js +0 -1
- package/modules/nobidBidAdapter.js +1 -1
- package/modules/novatiqIdSystem.js +6 -3
- package/modules/onetagBidAdapter.js +1 -1
- package/modules/openxOrtbBidAdapter.js +19 -7
- package/modules/openxOrtbBidAdapter.md +6 -5
- package/modules/parrableIdSystem.js +4 -2
- package/modules/permutiveRtdProvider.js +2 -1
- package/modules/prebidServerBidAdapter/index.js +9 -3
- package/modules/prebidServerBidAdapter/ortbConverter.js +12 -2
- package/modules/prebidmanagerAnalyticsAdapter.js +3 -2
- package/modules/pubCommonId.js +6 -3
- package/modules/publinkIdSystem.js +2 -1
- package/modules/pubmaticAnalyticsAdapter.js +12 -1
- package/modules/pubmaticBidAdapter.js +192 -222
- package/modules/pubwiseAnalyticsAdapter.js +5 -3
- package/modules/quantcastBidAdapter.js +1 -1
- package/modules/quantcastIdSystem.js +5 -3
- package/modules/realvuAnalyticsAdapter.js +6 -3
- package/modules/roxotAnalyticsAdapter.js +5 -2
- package/modules/rtbhouseBidAdapter.js +5 -3
- package/modules/rtdModule/index.js +3 -0
- package/modules/rubiconAnalyticsAdapter.js +3 -2
- package/modules/rubiconBidAdapter.js +1 -0
- package/modules/sharedIdSystem.js +12 -9
- package/modules/sharethroughBidAdapter.js +1 -2
- package/modules/sigmoidAnalyticsAdapter.js +4 -2
- package/modules/smartadserverBidAdapter.js +2 -3
- package/modules/sovrnBidAdapter.js +2 -3
- package/modules/staqAnalyticsAdapter.js +5 -3
- package/modules/stroeerCoreBidAdapter.js +3 -2
- package/modules/taboolaBidAdapter.js +4 -2
- package/modules/teadsBidAdapter.js +1 -1
- package/modules/teadsIdSystem.js +2 -1
- package/modules/tripleliftBidAdapter.js +1 -1
- package/modules/trustpidSystem.js +3 -2
- package/modules/ttdBidAdapter.js +11 -5
- package/modules/uid2IdSystem.js +3 -2
- package/modules/undertoneBidAdapter.js +1 -0
- package/modules/userId/index.js +5 -2
- package/modules/validationFpdModule/index.js +3 -2
- package/modules/vidazooBidAdapter.js +14 -5
- package/modules/vidoomyBidAdapter.js +29 -1
- package/modules/weboramaRtdProvider.js +3 -1
- package/modules/yieldmoBidAdapter.js +2 -3
- package/modules/yuktamediaAnalyticsAdapter.js +4 -2
- package/modules/zeotapIdPlusIdSystem.js +3 -2
- package/modules/zeta_global_sspBidAdapter.js +3 -0
- package/package.json +1 -1
- package/plugins/eslint/validateImports.js +13 -14
- package/plugins/pbjsGlobals.js +3 -1
- package/src/activities/modules.js +5 -0
- package/src/adapterManager.js +4 -8
- package/src/adapters/bidderFactory.js +30 -16
- package/src/consentHandler.js +42 -0
- package/src/refererDetection.js +39 -21
- package/src/secureCreatives.js +2 -2
- package/src/storageManager.js +33 -47
- package/src/userSync.js +7 -4
- package/test/spec/modules/33acrossIdSystem_spec.js +1 -1
- package/test/spec/modules/adagioBidAdapter_spec.js +11 -17
- package/test/spec/modules/admixerIdSystem_spec.js +0 -3
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +6 -6
- package/test/spec/modules/adrinoBidAdapter_spec.js +65 -34
- package/test/spec/modules/adsinteractiveBidAdapter_spec.js +207 -0
- package/test/spec/modules/adyoulikeBidAdapter_spec.js +13 -11
- package/test/spec/modules/aidemBidAdapter_spec.js +72 -8
- package/test/spec/modules/amxBidAdapter_spec.js +4 -1
- package/test/spec/modules/atsAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/audiencerunBidAdapter_spec.js +8 -11
- package/test/spec/modules/bedigitechBidAdapter_spec.js +145 -0
- package/test/spec/modules/bluebillywigBidAdapter_spec.js +1 -3
- package/test/spec/modules/concertBidAdapter_spec.js +3 -8
- package/test/spec/modules/connectadBidAdapter_spec.js +11 -3
- package/test/spec/modules/criteoBidAdapter_spec.js +29 -0
- package/test/spec/modules/criteoIdSystem_spec.js +38 -0
- package/test/spec/modules/datablocksBidAdapter_spec.js +0 -1
- package/test/spec/modules/dspxBidAdapter_spec.js +184 -13
- package/test/spec/modules/fledge_spec.js +173 -2
- package/test/spec/modules/gdprEnforcement_spec.js +134 -164
- package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +418 -0
- package/test/spec/modules/gridBidAdapter_spec.js +9 -5
- package/test/spec/modules/growthCodeIdSystem_spec.js +2 -1
- package/test/spec/modules/id5IdSystem_spec.js +41 -4
- package/test/spec/modules/identityLinkIdSystem_spec.js +2 -2
- package/test/spec/modules/improvedigitalBidAdapter_spec.js +10 -3
- package/test/spec/modules/jixieBidAdapter_spec.js +42 -60
- package/test/spec/modules/mediakeysBidAdapter_spec.js +12 -16
- package/test/spec/modules/openxOrtbBidAdapter_spec.js +96 -11
- package/test/spec/modules/prebidServerBidAdapter_spec.js +68 -2
- package/test/spec/modules/publinkIdSystem_spec.js +3 -2
- package/test/spec/modules/pubmaticBidAdapter_spec.js +67 -10
- package/test/spec/modules/realTimeDataModule_spec.js +22 -0
- package/test/spec/modules/realvuAnalyticsAdapter_spec.js +0 -1
- package/test/spec/modules/relaidoBidAdapter_spec.js +5 -5
- package/test/spec/modules/rubiconBidAdapter_spec.js +2 -1
- package/test/spec/modules/sharethroughBidAdapter_spec.js +97 -21
- package/test/spec/modules/smartadserverBidAdapter_spec.js +74 -12
- package/test/spec/modules/sovrnBidAdapter_spec.js +25 -6
- package/test/spec/modules/stroeerCoreBidAdapter_spec.js +13 -18
- package/test/spec/modules/taboolaBidAdapter_spec.js +101 -0
- package/test/spec/modules/ttdBidAdapter_spec.js +25 -7
- package/test/spec/modules/userId_spec.js +68 -0
- package/test/spec/modules/vidazooBidAdapter_spec.js +13 -0
- package/test/spec/modules/vidoomyBidAdapter_spec.js +33 -0
- package/test/spec/modules/yieldmoBidAdapter_spec.js +18 -2
- package/test/spec/modules/zeotapIdPlusIdSystem_spec.js +3 -2
- package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +8 -0
- package/test/spec/refererDetection_spec.js +56 -1
- package/test/spec/unit/core/adapterManager_spec.js +21 -58
- package/test/spec/unit/core/bidderFactory_spec.js +28 -10
- package/test/spec/unit/core/consentHandler_spec.js +29 -1
- package/test/spec/unit/core/storageManager_spec.js +31 -21
- package/test/spec/userSync_spec.js +2 -1
|
@@ -24,8 +24,10 @@ import {find, includes} from '../src/polyfill.js';
|
|
|
24
24
|
import {getGlobal} from '../src/prebidGlobal.js';
|
|
25
25
|
import * as events from '../src/events.js';
|
|
26
26
|
import CONSTANTS from '../src/constants.json';
|
|
27
|
+
import {MODULE_TYPE_RTD} from '../src/activities/modules.js';
|
|
28
|
+
const MODULE_NAME = 'browsi';
|
|
27
29
|
|
|
28
|
-
const storage = getStorageManager();
|
|
30
|
+
const storage = getStorageManager({moduleType: MODULE_TYPE_RTD, moduleName: MODULE_NAME});
|
|
29
31
|
|
|
30
32
|
/** @type {ModuleParams} */
|
|
31
33
|
let _moduleParams = {};
|
|
@@ -336,7 +338,7 @@ export const browsiSubmodule = {
|
|
|
336
338
|
* used to link submodule with realTimeData
|
|
337
339
|
* @type {string}
|
|
338
340
|
*/
|
|
339
|
-
name:
|
|
341
|
+
name: MODULE_NAME,
|
|
340
342
|
/**
|
|
341
343
|
* get data and send back to realTimeData module
|
|
342
344
|
* @function
|
|
@@ -5,9 +5,10 @@ import enc from 'crypto-js/enc-utf8';
|
|
|
5
5
|
import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
|
|
6
6
|
import CONSTANTS from '../src/constants.json';
|
|
7
7
|
import adapterManager from '../src/adapterManager.js';
|
|
8
|
-
import {
|
|
8
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
9
9
|
import { auctionManager } from '../src/auctionManager.js';
|
|
10
10
|
import { ajax } from '../src/ajax.js';
|
|
11
|
+
import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
|
|
11
12
|
|
|
12
13
|
const versionCode = '4.4.1'
|
|
13
14
|
const secretKey = 'bydata@123456'
|
|
@@ -16,7 +17,9 @@ const DEFAULT_EVENT_URL = 'https://pbjs-stream.bydata.com/topics/prebid'
|
|
|
16
17
|
const analyticsType = 'endpoint'
|
|
17
18
|
const isBydata = isKeyInUrl('bydata_debug')
|
|
18
19
|
const adunitsMap = {}
|
|
19
|
-
const
|
|
20
|
+
const MODULE_CODE = 'bydata';
|
|
21
|
+
const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
|
|
22
|
+
|
|
20
23
|
let initOptions = {}
|
|
21
24
|
var payload = {}
|
|
22
25
|
var winPayload = {}
|
|
@@ -391,7 +394,7 @@ function sendDataOnKf(dataObj) {
|
|
|
391
394
|
|
|
392
395
|
adapterManager.registerAnalyticsAdapter({
|
|
393
396
|
adapter: ascAdapter,
|
|
394
|
-
code:
|
|
397
|
+
code: MODULE_CODE,
|
|
395
398
|
});
|
|
396
399
|
|
|
397
400
|
function _logInfo(message, meta) {
|
|
@@ -42,9 +42,9 @@ export const spec = {
|
|
|
42
42
|
pageUrl: bidderRequest.refererInfo.page,
|
|
43
43
|
screen: [window.screen.width, window.screen.height].join('x'),
|
|
44
44
|
debug: debugTurnedOn(),
|
|
45
|
-
uid: getUid(bidderRequest),
|
|
45
|
+
uid: getUid(bidderRequest, validBidRequests),
|
|
46
46
|
optedOut: hasOptedOutOfPersonalization(),
|
|
47
|
-
adapterVersion: '1.
|
|
47
|
+
adapterVersion: '1.2.0',
|
|
48
48
|
uspConsent: bidderRequest.uspConsent,
|
|
49
49
|
gdprConsent: bidderRequest.gdprConsent,
|
|
50
50
|
gppConsent: bidderRequest.gppConsent,
|
|
@@ -158,16 +158,23 @@ export const storage = getStorageManager({bidderCode: BIDDER_CODE});
|
|
|
158
158
|
/**
|
|
159
159
|
* Check or generate a UID for the current user.
|
|
160
160
|
*/
|
|
161
|
-
function getUid(bidderRequest) {
|
|
161
|
+
function getUid(bidderRequest, validBidRequests) {
|
|
162
162
|
if (hasOptedOutOfPersonalization() || !consentAllowsPpid(bidderRequest)) {
|
|
163
163
|
return false;
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
-
|
|
166
|
+
/**
|
|
167
|
+
* check for shareId or pubCommonId before generating a new one
|
|
168
|
+
* sharedId: @see https://docs.prebid.org/dev-docs/modules/userId.html
|
|
169
|
+
* pubCid (no longer supported): @see https://docs.prebid.org/dev-docs/modules/pubCommonId.html#adapter-integration
|
|
170
|
+
*/
|
|
171
|
+
const sharedId =
|
|
172
|
+
deepAccess(validBidRequests[0], 'userId.sharedid.id') ||
|
|
173
|
+
deepAccess(validBidRequests[0], 'userId.pubcid')
|
|
174
|
+
const pubCid = deepAccess(validBidRequests[0], 'crumbs.pubcid');
|
|
167
175
|
|
|
168
|
-
if (sharedId)
|
|
169
|
-
|
|
170
|
-
}
|
|
176
|
+
if (sharedId) return sharedId;
|
|
177
|
+
if (pubCid) return pubCid;
|
|
171
178
|
|
|
172
179
|
const LEGACY_CONCERT_UID_KEY = 'c_uid';
|
|
173
180
|
const CONCERT_UID_KEY = 'vmconcert_uid';
|
|
@@ -2,8 +2,6 @@ import { deepSetValue, convertTypes, tryAppendQueryString, logWarn } from '../sr
|
|
|
2
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
3
3
|
import { BANNER } from '../src/mediaTypes.js'
|
|
4
4
|
import {config} from '../src/config.js';
|
|
5
|
-
import {createEidsArray} from './userId/eids.js';
|
|
6
|
-
|
|
7
5
|
const BIDDER_CODE = 'connectad';
|
|
8
6
|
const BIDDER_CODE_ALIAS = 'connectadrealtime';
|
|
9
7
|
const ENDPOINT_URL = 'https://i.connectad.io/api/v2';
|
|
@@ -73,8 +71,8 @@ export const spec = {
|
|
|
73
71
|
}
|
|
74
72
|
|
|
75
73
|
// EIDS Support
|
|
76
|
-
if (validBidRequests[0].
|
|
77
|
-
deepSetValue(data, 'user.ext.eids',
|
|
74
|
+
if (validBidRequests[0].userIdAsEids) {
|
|
75
|
+
deepSetValue(data, 'user.ext.eids', validBidRequests[0].userIdAsEids);
|
|
78
76
|
}
|
|
79
77
|
|
|
80
78
|
validBidRequests.map(bid => {
|
|
@@ -33,9 +33,9 @@ export const spec = {
|
|
|
33
33
|
buildRequests: function(bidRequests, bidderRequest) {
|
|
34
34
|
// convert Native ORTB definition to old-style prebid native definition
|
|
35
35
|
bidRequests = convertOrtbRequestToProprietaryNative(bidRequests);
|
|
36
|
-
|
|
36
|
+
const bidRequest = bidRequests[0];
|
|
37
37
|
const tags = bidRequests.map(bidToTag);
|
|
38
|
-
const schain =
|
|
38
|
+
const schain = bidRequest.schain;
|
|
39
39
|
const payload = {
|
|
40
40
|
tags: [...tags],
|
|
41
41
|
ua: navigator.userAgent,
|
|
@@ -44,26 +44,31 @@ export const spec = {
|
|
|
44
44
|
},
|
|
45
45
|
schain: schain
|
|
46
46
|
};
|
|
47
|
-
if (bidderRequest
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
47
|
+
if (bidderRequest) {
|
|
48
|
+
if (bidderRequest.gdprConsent) {
|
|
49
|
+
payload.gdpr_consent = {
|
|
50
|
+
consent_string: bidderRequest.gdprConsent.consentString,
|
|
51
|
+
consent_required: bidderRequest.gdprConsent.gdprApplies
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
if (bidderRequest.uspConsent) {
|
|
55
|
+
payload.us_privacy = bidderRequest.uspConsent;
|
|
56
|
+
}
|
|
57
|
+
if (bidderRequest.refererInfo) {
|
|
58
|
+
let refererinfo = {
|
|
59
|
+
// TODO: this collects everything it finds, except for the canonical URL
|
|
60
|
+
rd_ref: bidderRequest.refererInfo.topmostLocation,
|
|
61
|
+
rd_top: bidderRequest.refererInfo.reachedTop,
|
|
62
|
+
rd_ifs: bidderRequest.refererInfo.numIframes,
|
|
63
|
+
};
|
|
64
|
+
if (bidderRequest.refererInfo.stack) {
|
|
65
|
+
refererinfo.rd_stk = bidderRequest.refererInfo.stack.join(',');
|
|
66
|
+
}
|
|
67
|
+
payload.referrer_detection = refererinfo;
|
|
68
|
+
}
|
|
69
|
+
if (bidRequest.userId) {
|
|
70
|
+
payload.userId = bidRequest.userId
|
|
65
71
|
}
|
|
66
|
-
payload.referrer_detection = refererinfo;
|
|
67
72
|
}
|
|
68
73
|
const request = formatRequest(payload, bidderRequest);
|
|
69
74
|
return request;
|
|
@@ -106,7 +111,7 @@ export const spec = {
|
|
|
106
111
|
params = convertTypes({
|
|
107
112
|
'sitekey': 'string',
|
|
108
113
|
'placementId': 'string',
|
|
109
|
-
'keywords': transformBidderParamKeywords
|
|
114
|
+
'keywords': transformBidderParamKeywords,
|
|
110
115
|
}, params);
|
|
111
116
|
if (isOpenRtb) {
|
|
112
117
|
if (isPopulatedArray(params.keywords)) {
|
|
@@ -148,11 +153,11 @@ function formatRequest(payload, bidderRequest) {
|
|
|
148
153
|
withCredentials: false
|
|
149
154
|
};
|
|
150
155
|
}
|
|
151
|
-
|
|
156
|
+
const baseUrl = payload.tags[0].url || URL_BASE;
|
|
152
157
|
const payloadString = JSON.stringify(payload);
|
|
153
158
|
return {
|
|
154
159
|
method: 'POST',
|
|
155
|
-
url: `${
|
|
160
|
+
url: `${baseUrl}/${payload.tags[0].sitekey}`,
|
|
156
161
|
data: payloadString,
|
|
157
162
|
bidderRequest,
|
|
158
163
|
options
|
|
@@ -16,7 +16,7 @@ const BIDDER_CODE = 'criteo';
|
|
|
16
16
|
const CDB_ENDPOINT = 'https://bidder.criteo.com/cdb';
|
|
17
17
|
const PROFILE_ID_INLINE = 207;
|
|
18
18
|
export const PROFILE_ID_PUBLISHERTAG = 185;
|
|
19
|
-
export const storage = getStorageManager({
|
|
19
|
+
export const storage = getStorageManager({ bidderCode: BIDDER_CODE });
|
|
20
20
|
const LOG_PREFIX = 'Criteo: ';
|
|
21
21
|
|
|
22
22
|
/*
|
|
@@ -418,7 +418,9 @@ function buildCdbRequest(context, bidRequests, bidderRequest) {
|
|
|
418
418
|
ext: bidderRequest.publisherExt,
|
|
419
419
|
},
|
|
420
420
|
regs: {
|
|
421
|
-
coppa: bidderRequest.coppa === true ? 1 : (bidderRequest.coppa === false ? 0 : undefined)
|
|
421
|
+
coppa: bidderRequest.coppa === true ? 1 : (bidderRequest.coppa === false ? 0 : undefined),
|
|
422
|
+
gpp: bidderRequest.ortb2?.regs?.gpp,
|
|
423
|
+
gpp_sid: bidderRequest.ortb2?.regs?.gpp_sid
|
|
422
424
|
},
|
|
423
425
|
slots: bidRequests.map(bidRequest => {
|
|
424
426
|
networkId = bidRequest.params.networkId || networkId;
|
|
@@ -9,11 +9,12 @@ import { timestamp, parseUrl, triggerPixel, logError } from '../src/utils.js';
|
|
|
9
9
|
import { ajax } from '../src/ajax.js';
|
|
10
10
|
import { getRefererInfo } from '../src/refererDetection.js';
|
|
11
11
|
import { submodule } from '../src/hook.js';
|
|
12
|
-
import {
|
|
12
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
13
|
+
import {MODULE_TYPE_UID} from '../src/activities/modules.js';
|
|
13
14
|
|
|
14
15
|
const gvlid = 91;
|
|
15
16
|
const bidderCode = 'criteo';
|
|
16
|
-
export const storage = getStorageManager({
|
|
17
|
+
export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: bidderCode});
|
|
17
18
|
|
|
18
19
|
const bididStorageKey = 'cto_bidid';
|
|
19
20
|
const bundleStorageKey = 'cto_bundle';
|
|
@@ -102,6 +103,9 @@ function callSyncPixel(domain, pixel) {
|
|
|
102
103
|
saveOnAllStorages(pixel.storageKeyName, jsonResponse[pixel.bundlePropertyName], domain);
|
|
103
104
|
}
|
|
104
105
|
}
|
|
106
|
+
},
|
|
107
|
+
error: error => {
|
|
108
|
+
logError(`criteoIdSystem: unable to sync user id`, error);
|
|
105
109
|
}
|
|
106
110
|
},
|
|
107
111
|
undefined,
|
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { submodule } from '../src/hook.js'
|
|
9
|
-
import {
|
|
9
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
10
|
+
import {MODULE_TYPE_UID} from '../src/activities/modules.js';
|
|
10
11
|
|
|
11
12
|
// Returns StorageManager
|
|
12
|
-
export const storage = getStorageManager({
|
|
13
|
+
export const storage = getStorageManager({ moduleType: MODULE_TYPE_UID, moduleName: 'czechAdId' })
|
|
13
14
|
|
|
14
15
|
// Returns the id string from either cookie or localstorage
|
|
15
16
|
const readId = () => { return storage.getCookie('czaid') || storage.getDataFromLocalStorage('czaid') }
|
package/modules/dacIdSystem.js
CHANGED
|
@@ -19,8 +19,9 @@ import {
|
|
|
19
19
|
import {
|
|
20
20
|
getStorageManager
|
|
21
21
|
} from '../src/storageManager.js';
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
import {MODULE_TYPE_UID} from '../src/activities/modules.js';
|
|
23
|
+
const MODULE_NAME = 'dacId';
|
|
24
|
+
export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
|
|
24
25
|
|
|
25
26
|
export const FUUID_COOKIE_NAME = '_a1_f';
|
|
26
27
|
export const AONEID_COOKIE_NAME = '_a1_d';
|
|
@@ -116,7 +117,7 @@ export const dacIdSystemSubmodule = {
|
|
|
116
117
|
* used to link submodule with config
|
|
117
118
|
* @type {string}
|
|
118
119
|
*/
|
|
119
|
-
name:
|
|
120
|
+
name: MODULE_NAME,
|
|
120
121
|
|
|
121
122
|
/**
|
|
122
123
|
* decode the stored id value for passing to bid requests
|
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { submodule } from '../src/hook.js';
|
|
9
|
-
import {
|
|
9
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
10
|
+
import {MODULE_TYPE_UID} from '../src/activities/modules.js';
|
|
10
11
|
|
|
11
12
|
const MODULE_NAME = 'deepintentId';
|
|
12
|
-
export const storage = getStorageManager({
|
|
13
|
+
export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
|
|
13
14
|
|
|
14
15
|
/** @type {Submodule} */
|
|
15
16
|
export const deepintentDpesSubmodule = {
|
|
@@ -6,7 +6,7 @@ import { BANNER, NATIVE } from '../src/mediaTypes.js';
|
|
|
6
6
|
const BIDDER_CODE = 'discovery';
|
|
7
7
|
const ENDPOINT_URL = 'https://rtb-jp.mediago.io/api/bid?tn=';
|
|
8
8
|
const TIME_TO_LIVE = 500;
|
|
9
|
-
const storage = getStorageManager();
|
|
9
|
+
const storage = getStorageManager({bidderCode: BIDDER_CODE});
|
|
10
10
|
let globals = {};
|
|
11
11
|
let itemMaps = {};
|
|
12
12
|
const MEDIATYPE = [BANNER, NATIVE];
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {deepAccess, getBidIdParameter, logError, logMessage, logWarn, isFn} from '../src/utils.js';
|
|
2
2
|
import {config} from '../src/config.js';
|
|
3
3
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
4
|
-
import {
|
|
4
|
+
import {BANNER, VIDEO} from '../src/mediaTypes.js';
|
|
5
|
+
import {Renderer} from '../src/Renderer.js';
|
|
6
|
+
import {includes} from '../src/polyfill.js';
|
|
5
7
|
|
|
6
8
|
const BIDDER_CODE = 'dspx';
|
|
7
9
|
const ENDPOINT_URL = 'https://buyer.dspx.tv/request/';
|
|
8
10
|
const ENDPOINT_URL_DEV = 'https://dcbuyer.dspx.tv/request/';
|
|
9
11
|
const GVLID = 602;
|
|
12
|
+
const VIDEO_ORTB_PARAMS = ['mimes', 'minduration', 'maxduration', 'protocols', 'w', 'h', 'startdelay', 'placement', 'linearity', 'skip', 'skipmin',
|
|
13
|
+
'skipafter', 'sequence', 'battr', 'maxextended', 'minbitrate', 'maxbitrate', 'boxingallowed', 'playbackmethod', 'playbackend', 'delivery', 'pos', 'companionad',
|
|
14
|
+
'api', 'companiontype', 'ext'];
|
|
10
15
|
|
|
11
16
|
export const spec = {
|
|
12
17
|
code: BIDDER_CODE,
|
|
@@ -17,24 +22,34 @@ export const spec = {
|
|
|
17
22
|
return !!(bid.params.placement);
|
|
18
23
|
},
|
|
19
24
|
buildRequests: function(validBidRequests, bidderRequest) {
|
|
25
|
+
let payload = {};
|
|
20
26
|
return validBidRequests.map(bidRequest => {
|
|
21
27
|
const params = bidRequest.params;
|
|
22
28
|
|
|
23
|
-
const placementId = params.placement;
|
|
24
29
|
const rnd = Math.floor(Math.random() * 99999999999);
|
|
25
30
|
const referrer = bidderRequest.refererInfo.page;
|
|
26
31
|
const bidId = bidRequest.bidId;
|
|
27
|
-
const isDev = params.devMode || false;
|
|
28
32
|
const pbcode = bidRequest.adUnitCode || false; // div id
|
|
29
33
|
const auctionId = bidRequest.auctionId || false;
|
|
34
|
+
const isDev = params.devMode || false;
|
|
30
35
|
|
|
31
36
|
let endpoint = isDev ? ENDPOINT_URL_DEV : ENDPOINT_URL;
|
|
37
|
+
let placementId = params.placement;
|
|
38
|
+
|
|
39
|
+
// dev config
|
|
40
|
+
if (isDev && params.dev) {
|
|
41
|
+
endpoint = params.dev.endpoint || endpoint;
|
|
42
|
+
placementId = params.dev.placement || placementId;
|
|
43
|
+
if (params.dev.pfilter !== undefined) {
|
|
44
|
+
params.pfilter = params.dev.pfilter;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
32
47
|
|
|
33
48
|
let mediaTypesInfo = getMediaTypesInfo(bidRequest);
|
|
34
49
|
let type = isBannerRequest(bidRequest) ? BANNER : VIDEO;
|
|
35
50
|
let sizes = mediaTypesInfo[type];
|
|
36
51
|
|
|
37
|
-
|
|
52
|
+
payload = {
|
|
38
53
|
_f: 'auto',
|
|
39
54
|
alternative: 'prebid_js',
|
|
40
55
|
inventory_item_id: placementId,
|
|
@@ -47,10 +62,6 @@ export const spec = {
|
|
|
47
62
|
pbver: '$prebid.version$'
|
|
48
63
|
};
|
|
49
64
|
|
|
50
|
-
if (mediaTypesInfo[VIDEO] !== undefined && params.vastFormat !== undefined) {
|
|
51
|
-
payload.vf = params.vastFormat;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
65
|
if (params.pfilter !== undefined) {
|
|
55
66
|
payload.pfilter = params.pfilter;
|
|
56
67
|
}
|
|
@@ -79,11 +90,49 @@ export const spec = {
|
|
|
79
90
|
payload.prebidDevMode = 1;
|
|
80
91
|
}
|
|
81
92
|
|
|
82
|
-
|
|
83
|
-
|
|
93
|
+
// fill userId params
|
|
94
|
+
if (bidRequest.userId) {
|
|
95
|
+
if (bidRequest.userId.netId) {
|
|
96
|
+
payload.did_netid = bidRequest.userId.netId;
|
|
97
|
+
}
|
|
98
|
+
if (bidRequest.userId.id5id) {
|
|
99
|
+
payload.did_id5 = bidRequest.userId.id5id.uid || '0';
|
|
100
|
+
if (bidRequest.userId.id5id.ext.linkType !== undefined) {
|
|
101
|
+
payload.did_id5_linktype = bidRequest.userId.id5id.ext.linkType;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
let uId2 = deepAccess(bidRequest, 'userId.uid2.id');
|
|
105
|
+
if (uId2) {
|
|
106
|
+
payload.did_uid2 = uId2;
|
|
107
|
+
}
|
|
108
|
+
let sharedId = deepAccess(bidRequest, 'userId.sharedid.id');
|
|
109
|
+
if (sharedId) {
|
|
110
|
+
payload.did_sharedid = sharedId;
|
|
111
|
+
}
|
|
112
|
+
let pubcId = deepAccess(bidRequest, 'userId.pubcid');
|
|
113
|
+
if (pubcId) {
|
|
114
|
+
payload.did_pubcid = pubcId;
|
|
115
|
+
}
|
|
116
|
+
let crumbsPubcid = deepAccess(bidRequest, 'crumbs.pubcid');
|
|
117
|
+
if (crumbsPubcid) {
|
|
118
|
+
payload.did_cpubcid = crumbsPubcid;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (bidRequest.schain) {
|
|
123
|
+
payload.schain = bidRequest.schain;
|
|
84
124
|
}
|
|
85
|
-
|
|
86
|
-
|
|
125
|
+
|
|
126
|
+
if (payload.pfilter === undefined || !payload.pfilter.floorprice) {
|
|
127
|
+
let bidFloor = getBidFloor(bidRequest);
|
|
128
|
+
if (bidFloor > 0) {
|
|
129
|
+
if (payload.pfilter !== undefined) {
|
|
130
|
+
payload.pfilter.floorprice = bidFloor;
|
|
131
|
+
} else {
|
|
132
|
+
payload.pfilter = { 'floorprice': bidFloor };
|
|
133
|
+
}
|
|
134
|
+
// payload.bidFloor = bidFloor;
|
|
135
|
+
}
|
|
87
136
|
}
|
|
88
137
|
|
|
89
138
|
if (auctionId) {
|
|
@@ -94,6 +143,17 @@ export const spec = {
|
|
|
94
143
|
}
|
|
95
144
|
|
|
96
145
|
payload.media_types = convertMediaInfoForRequest(mediaTypesInfo);
|
|
146
|
+
if (mediaTypesInfo[VIDEO] !== undefined) {
|
|
147
|
+
payload.vctx = getVideoContext(bidRequest);
|
|
148
|
+
if (params.vastFormat !== undefined) {
|
|
149
|
+
payload.vf = params.vastFormat;
|
|
150
|
+
}
|
|
151
|
+
payload.vpl = {};
|
|
152
|
+
let videoParams = deepAccess(bidRequest, 'mediaTypes.video');
|
|
153
|
+
Object.keys(videoParams)
|
|
154
|
+
.filter(key => includes(VIDEO_ORTB_PARAMS, key))
|
|
155
|
+
.forEach(key => payload.vpl[key] = videoParams[key]);
|
|
156
|
+
}
|
|
97
157
|
|
|
98
158
|
return {
|
|
99
159
|
method: 'GET',
|
|
@@ -103,6 +163,8 @@ export const spec = {
|
|
|
103
163
|
});
|
|
104
164
|
},
|
|
105
165
|
interpretResponse: function(serverResponse, bidRequest) {
|
|
166
|
+
logMessage('DSPx: serverResponse', serverResponse);
|
|
167
|
+
logMessage('DSPx: bidRequest', bidRequest);
|
|
106
168
|
const bidResponses = [];
|
|
107
169
|
const response = serverResponse.body;
|
|
108
170
|
const crid = response.crid || 0;
|
|
@@ -126,13 +188,33 @@ export const spec = {
|
|
|
126
188
|
advertiserDomains: response.adomain || []
|
|
127
189
|
}
|
|
128
190
|
};
|
|
191
|
+
|
|
192
|
+
if (response.vastUrl) {
|
|
193
|
+
bidResponse.vastUrl = response.vastUrl;
|
|
194
|
+
bidResponse.mediaType = 'video';
|
|
195
|
+
}
|
|
129
196
|
if (response.vastXml) {
|
|
130
197
|
bidResponse.vastXml = response.vastXml;
|
|
131
198
|
bidResponse.mediaType = 'video';
|
|
132
|
-
}
|
|
199
|
+
}
|
|
200
|
+
if (response.renderer) {
|
|
201
|
+
bidResponse.renderer = newRenderer(bidRequest, response);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
if (response.videoCacheKey) {
|
|
205
|
+
bidResponse.videoCacheKey = response.videoCacheKey;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
if (response.adTag) {
|
|
133
209
|
bidResponse.ad = response.adTag;
|
|
134
210
|
}
|
|
135
211
|
|
|
212
|
+
if (response.bid_appendix) {
|
|
213
|
+
Object.keys(response.bid_appendix).forEach(fieldName => {
|
|
214
|
+
bidResponse[fieldName] = response.bid_appendix[fieldName];
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
|
|
136
218
|
bidResponses.push(bidResponse);
|
|
137
219
|
}
|
|
138
220
|
return bidResponses;
|
|
@@ -217,12 +299,22 @@ function isVideoRequest(bid) {
|
|
|
217
299
|
* Get video sizes
|
|
218
300
|
*
|
|
219
301
|
* @param {BidRequest} bid - Bid request generated from ad slots
|
|
220
|
-
* @returns {object}
|
|
302
|
+
* @returns {object}
|
|
221
303
|
*/
|
|
222
304
|
function getVideoSizes(bid) {
|
|
223
305
|
return parseSizes(deepAccess(bid, 'mediaTypes.video.playerSize') || bid.sizes);
|
|
224
306
|
}
|
|
225
307
|
|
|
308
|
+
/**
|
|
309
|
+
* Get video context
|
|
310
|
+
*
|
|
311
|
+
* @param {BidRequest} bid - Bid request generated from ad slots
|
|
312
|
+
* @returns {object}
|
|
313
|
+
*/
|
|
314
|
+
function getVideoContext(bid) {
|
|
315
|
+
return deepAccess(bid, 'mediaTypes.video.context') || 'unknown';
|
|
316
|
+
}
|
|
317
|
+
|
|
226
318
|
/**
|
|
227
319
|
* Get banner sizes
|
|
228
320
|
*
|
|
@@ -296,4 +388,120 @@ function getMediaTypesInfo(bid) {
|
|
|
296
388
|
return mediaTypesInfo;
|
|
297
389
|
}
|
|
298
390
|
|
|
391
|
+
/**
|
|
392
|
+
* Get Bid Floor
|
|
393
|
+
* @param bid
|
|
394
|
+
* @returns {number|*}
|
|
395
|
+
*/
|
|
396
|
+
function getBidFloor(bid) {
|
|
397
|
+
if (!isFn(bid.getFloor)) {
|
|
398
|
+
return deepAccess(bid, 'params.bidfloor', 0);
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
try {
|
|
402
|
+
const bidFloor = bid.getFloor({
|
|
403
|
+
currency: 'EUR',
|
|
404
|
+
mediaType: '*',
|
|
405
|
+
size: '*',
|
|
406
|
+
});
|
|
407
|
+
return bidFloor.floor;
|
|
408
|
+
} catch (_) {
|
|
409
|
+
return 0
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
/**
|
|
414
|
+
* Create a new renderer
|
|
415
|
+
*
|
|
416
|
+
* @param bidRequest
|
|
417
|
+
* @param response
|
|
418
|
+
* @returns {Renderer}
|
|
419
|
+
*/
|
|
420
|
+
function newRenderer(bidRequest, response) {
|
|
421
|
+
logMessage('DSPx: newRenderer', bidRequest, response);
|
|
422
|
+
const renderer = Renderer.install({
|
|
423
|
+
id: response.renderer.id || response.bid_id,
|
|
424
|
+
url: (bidRequest.params && bidRequest.params.rendererUrl) || response.renderer.url,
|
|
425
|
+
config: response.renderer.options || deepAccess(bidRequest, 'renderer.options'),
|
|
426
|
+
loaded: false
|
|
427
|
+
});
|
|
428
|
+
|
|
429
|
+
try {
|
|
430
|
+
renderer.setRender(outstreamRender);
|
|
431
|
+
} catch (err) {
|
|
432
|
+
logWarn('Prebid Error calling setRender on renderer', err);
|
|
433
|
+
}
|
|
434
|
+
return renderer;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* Outstream Render Function
|
|
439
|
+
*
|
|
440
|
+
* @param bid
|
|
441
|
+
*/
|
|
442
|
+
function outstreamRender(bid) {
|
|
443
|
+
logMessage('DSPx: outstreamRender bid:', bid);
|
|
444
|
+
const embedCode = createOutstreamEmbedCode(bid);
|
|
445
|
+
try {
|
|
446
|
+
const inIframe = getBidIdParameter('iframe', bid.renderer.config);
|
|
447
|
+
if (inIframe && window.document.getElementById(inIframe).nodeName === 'IFRAME') {
|
|
448
|
+
const iframe = window.document.getElementById(inIframe);
|
|
449
|
+
let framedoc = iframe.contentDocument || (iframe.contentWindow && iframe.contentWindow.document);
|
|
450
|
+
framedoc.body.appendChild(embedCode);
|
|
451
|
+
if (typeof window.dspxRender === 'function') {
|
|
452
|
+
window.dspxRender(bid);
|
|
453
|
+
} else {
|
|
454
|
+
logError('[dspx][renderer] Error: dspxRender function is not found');
|
|
455
|
+
}
|
|
456
|
+
return;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
const slot = getBidIdParameter('slot', bid.renderer.config) || bid.adUnitCode;
|
|
460
|
+
if (slot && window.document.getElementById(slot)) {
|
|
461
|
+
window.document.getElementById(slot).appendChild(embedCode);
|
|
462
|
+
if (typeof window.dspxRender === 'function') {
|
|
463
|
+
window.dspxRender(bid);
|
|
464
|
+
} else {
|
|
465
|
+
logError('[dspx][renderer] Error: dspxRender function is not found');
|
|
466
|
+
}
|
|
467
|
+
} else if (slot) {
|
|
468
|
+
logError('[dspx][renderer] Error: slot not found');
|
|
469
|
+
}
|
|
470
|
+
} catch (err) {
|
|
471
|
+
logError('[dspx][renderer] Error:' + err.message)
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
/**
|
|
476
|
+
* create Outstream Embed Code Node
|
|
477
|
+
*
|
|
478
|
+
* @param bid
|
|
479
|
+
* @returns {DocumentFragment}
|
|
480
|
+
*/
|
|
481
|
+
function createOutstreamEmbedCode(bid) {
|
|
482
|
+
const fragment = window.document.createDocumentFragment();
|
|
483
|
+
let div = window.document.createElement('div');
|
|
484
|
+
div.innerHTML = deepAccess(bid, 'renderer.config.code', '');
|
|
485
|
+
fragment.appendChild(div);
|
|
486
|
+
|
|
487
|
+
// run scripts
|
|
488
|
+
var scripts = div.getElementsByTagName('script');
|
|
489
|
+
var scriptsClone = [];
|
|
490
|
+
for (var idx = 0; idx < scripts.length; idx++) {
|
|
491
|
+
scriptsClone.push(scripts[idx]);
|
|
492
|
+
}
|
|
493
|
+
for (var i = 0; i < scriptsClone.length; i++) {
|
|
494
|
+
var currentScript = scriptsClone[i];
|
|
495
|
+
var s = document.createElement('script');
|
|
496
|
+
for (var j = 0; j < currentScript.attributes.length; j++) {
|
|
497
|
+
var a = currentScript.attributes[j];
|
|
498
|
+
s.setAttribute(a.name, a.value);
|
|
499
|
+
}
|
|
500
|
+
s.appendChild(document.createTextNode(currentScript.innerHTML));
|
|
501
|
+
currentScript.parentNode.replaceChild(s, currentScript);
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
return fragment;
|
|
505
|
+
}
|
|
506
|
+
|
|
299
507
|
registerBidder(spec);
|
|
@@ -2,10 +2,12 @@ import { parseUrl, logError } from '../src/utils.js';
|
|
|
2
2
|
import { ajax } from '../src/ajax.js';
|
|
3
3
|
import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
|
|
4
4
|
import adapterManager from '../src/adapterManager.js';
|
|
5
|
-
import {
|
|
5
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
6
6
|
import CONSTANTS from '../src/constants.json';
|
|
7
|
+
import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
|
|
7
8
|
|
|
8
|
-
const
|
|
9
|
+
const MODULE_CODE = 'finteza';
|
|
10
|
+
const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
|
|
9
11
|
|
|
10
12
|
const ANALYTICS_TYPE = 'endpoint';
|
|
11
13
|
const FINTEZA_HOST = 'https://content.mql5.com/tr';
|
|
@@ -439,7 +441,7 @@ fntzAnalyticsAdapter.enableAnalytics = function (config) {
|
|
|
439
441
|
|
|
440
442
|
adapterManager.registerAnalyticsAdapter({
|
|
441
443
|
adapter: fntzAnalyticsAdapter,
|
|
442
|
-
code:
|
|
444
|
+
code: MODULE_CODE,
|
|
443
445
|
});
|
|
444
446
|
|
|
445
447
|
export default fntzAnalyticsAdapter;
|