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
|
@@ -5,10 +5,11 @@ import CONSTANTS from '../src/constants.json';
|
|
|
5
5
|
import { ajax } from '../src/ajax.js';
|
|
6
6
|
import { config } from '../src/config.js';
|
|
7
7
|
import { getGlobal } from '../src/prebidGlobal.js';
|
|
8
|
-
import {
|
|
8
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
9
|
+
import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
|
|
9
10
|
|
|
10
11
|
const RUBICON_GVL_ID = 52;
|
|
11
|
-
export const storage = getStorageManager({
|
|
12
|
+
export const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: 'rubicon'});
|
|
12
13
|
const COOKIE_NAME = 'rpaSession';
|
|
13
14
|
const LAST_SEEN_EXPIRE_TIME = 1800000; // 30 mins
|
|
14
15
|
const END_EXPIRE_TIME = 21600000; // 6 hours
|
|
@@ -465,6 +465,7 @@ export const spec = {
|
|
|
465
465
|
'rp_secure': '1',
|
|
466
466
|
'tk_flint': `${rubiConf.int_type || DEFAULT_INTEGRATION}_v$prebid.version$`,
|
|
467
467
|
'x_source.tid': bidRequest.transactionId,
|
|
468
|
+
'x_imp.ext.tid': bidRequest.transactionId,
|
|
468
469
|
'l_pb_bid_id': bidRequest.bidId,
|
|
469
470
|
'p_screen_res': _getScreenResolution(),
|
|
470
471
|
'tk_user_key': params.userId,
|
|
@@ -10,8 +10,9 @@ import {submodule} from '../src/hook.js';
|
|
|
10
10
|
import { coppaDataHandler } from '../src/adapterManager.js';
|
|
11
11
|
import {getStorageManager} from '../src/storageManager.js';
|
|
12
12
|
import {VENDORLESS_GVLID} from '../src/consentHandler.js';
|
|
13
|
+
import {MODULE_TYPE_UID} from '../src/activities/modules.js';
|
|
13
14
|
|
|
14
|
-
export const storage = getStorageManager({moduleName: 'pubCommonId'
|
|
15
|
+
export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: 'pubCommonId'});
|
|
15
16
|
const COOKIE = 'cookie';
|
|
16
17
|
const LOCAL_STORAGE = 'html5';
|
|
17
18
|
const OPTOUT_NAME = '_pubcid_optout';
|
|
@@ -38,12 +39,15 @@ function readValue(name, type) {
|
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
|
|
41
|
-
function getIdCallback(pubcid,
|
|
42
|
-
return function (callback) {
|
|
43
|
-
if (
|
|
44
|
-
|
|
42
|
+
function getIdCallback(pubcid, pixelUrl) {
|
|
43
|
+
return function (callback, getStoredId) {
|
|
44
|
+
if (pixelUrl) {
|
|
45
|
+
queuePixelCallback(pixelUrl, pubcid, () => {
|
|
46
|
+
callback(getStoredId() || pubcid);
|
|
47
|
+
})();
|
|
48
|
+
} else {
|
|
49
|
+
callback(pubcid);
|
|
45
50
|
}
|
|
46
|
-
callback(pubcid);
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
53
|
|
|
@@ -58,7 +62,7 @@ function queuePixelCallback(pixelUrl, id = '', callback) {
|
|
|
58
62
|
const targetUrl = buildUrl(urlInfo);
|
|
59
63
|
|
|
60
64
|
return function () {
|
|
61
|
-
triggerPixel(targetUrl);
|
|
65
|
+
triggerPixel(targetUrl, callback);
|
|
62
66
|
};
|
|
63
67
|
}
|
|
64
68
|
|
|
@@ -125,8 +129,7 @@ export const sharedIdSystemSubmodule = {
|
|
|
125
129
|
if (!newId) newId = (create && hasDeviceAccess()) ? generateUUID() : undefined;
|
|
126
130
|
}
|
|
127
131
|
|
|
128
|
-
|
|
129
|
-
return {id: newId, callback: getIdCallback(newId, pixelCallback)};
|
|
132
|
+
return {id: newId, callback: getIdCallback(newId, pixelUrl)};
|
|
130
133
|
},
|
|
131
134
|
/**
|
|
132
135
|
* performs action to extend an id. There are generally two ways to extend the expiration time
|
|
@@ -2,7 +2,6 @@ import { deepAccess, generateUUID, inIframe } from '../src/utils.js';
|
|
|
2
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
3
3
|
import { config } from '../src/config.js';
|
|
4
4
|
import { BANNER, VIDEO } from '../src/mediaTypes.js';
|
|
5
|
-
import { createEidsArray } from './userId/eids.js';
|
|
6
5
|
|
|
7
6
|
const VERSION = '4.3.0';
|
|
8
7
|
const BIDDER_CODE = 'sharethrough';
|
|
@@ -66,7 +65,7 @@ export const sharethroughAdapterSpec = {
|
|
|
66
65
|
|
|
67
66
|
req.user = nullish(firstPartyData.user, {});
|
|
68
67
|
if (!req.user.ext) req.user.ext = {};
|
|
69
|
-
req.user.ext.eids =
|
|
68
|
+
req.user.ext.eids = bidRequests[0].userIdAsEids || [];
|
|
70
69
|
|
|
71
70
|
if (bidderRequest.gdprConsent) {
|
|
72
71
|
const gdprApplies = bidderRequest.gdprConsent.gdprApplies === true;
|
|
@@ -6,8 +6,10 @@ import CONSTANTS from '../src/constants.json';
|
|
|
6
6
|
import adapterManager from '../src/adapterManager.js';
|
|
7
7
|
import {getStorageManager} from '../src/storageManager.js';
|
|
8
8
|
import {generateUUID, logError, logInfo} from '../src/utils.js';
|
|
9
|
+
import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
|
|
9
10
|
|
|
10
|
-
const
|
|
11
|
+
const MODULE_CODE = 'sigmoid';
|
|
12
|
+
const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
|
|
11
13
|
|
|
12
14
|
const url = 'https://kinesis.us-east-1.amazonaws.com/';
|
|
13
15
|
const analyticsType = 'endpoint';
|
|
@@ -285,7 +287,7 @@ function pushEvent(eventType, args) {
|
|
|
285
287
|
|
|
286
288
|
adapterManager.registerAnalyticsAdapter({
|
|
287
289
|
adapter: sigmoidAdapter,
|
|
288
|
-
code:
|
|
290
|
+
code: MODULE_CODE,
|
|
289
291
|
});
|
|
290
292
|
|
|
291
293
|
export default sigmoidAdapter;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { deepAccess, deepClone, logError, isFn, isPlainObject } from '../src/utils.js';
|
|
2
2
|
import { BANNER, VIDEO } from '../src/mediaTypes.js';
|
|
3
3
|
import { config } from '../src/config.js';
|
|
4
|
-
import { createEidsArray } from './userId/eids.js';
|
|
5
4
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
6
5
|
|
|
7
6
|
const BIDDER_CODE = 'smartadserver';
|
|
@@ -177,8 +176,8 @@ export const spec = {
|
|
|
177
176
|
}
|
|
178
177
|
}
|
|
179
178
|
|
|
180
|
-
if (bid && bid.
|
|
181
|
-
payload.eids =
|
|
179
|
+
if (bid && bid.userIdAsEids) {
|
|
180
|
+
payload.eids = bid.userIdAsEids;
|
|
182
181
|
}
|
|
183
182
|
|
|
184
183
|
if (bidderRequest && bidderRequest.uspConsent) {
|
|
@@ -15,7 +15,6 @@ import {
|
|
|
15
15
|
BANNER,
|
|
16
16
|
VIDEO
|
|
17
17
|
} from '../src/mediaTypes.js'
|
|
18
|
-
import {createEidsArray} from './userId/eids.js';
|
|
19
18
|
|
|
20
19
|
const ORTB_VIDEO_PARAMS = {
|
|
21
20
|
'mimes': (value) => Array.isArray(value) && value.length > 0 && value.every(v => typeof v === 'string'),
|
|
@@ -90,8 +89,8 @@ export const spec = {
|
|
|
90
89
|
let criteoId;
|
|
91
90
|
|
|
92
91
|
_each(bidReqs, function (bid) {
|
|
93
|
-
if (!eids && bid.
|
|
94
|
-
eids =
|
|
92
|
+
if (!eids && bid.userIdAsEids) {
|
|
93
|
+
eids = bid.userIdAsEids;
|
|
95
94
|
eids.forEach(function (id) {
|
|
96
95
|
if (id.uids && id.uids[0]) {
|
|
97
96
|
if (id.source === 'criteo.com') {
|
|
@@ -4,9 +4,11 @@ import CONSTANTS from '../src/constants.json';
|
|
|
4
4
|
import adapterManager from '../src/adapterManager.js';
|
|
5
5
|
import { getRefererInfo } from '../src/refererDetection.js';
|
|
6
6
|
import { ajax } from '../src/ajax.js';
|
|
7
|
-
import {
|
|
7
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
8
|
+
import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
|
|
8
9
|
|
|
9
|
-
const
|
|
10
|
+
const MODULE_CODE = 'staq';
|
|
11
|
+
const storageObj = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
|
|
10
12
|
|
|
11
13
|
const ANALYTICS_VERSION = '1.0.0';
|
|
12
14
|
const DEFAULT_QUEUE_TIMEOUT = 4000;
|
|
@@ -117,7 +119,7 @@ analyticsAdapter.enableAnalytics = (config) => {
|
|
|
117
119
|
|
|
118
120
|
adapterManager.registerAnalyticsAdapter({
|
|
119
121
|
adapter: analyticsAdapter,
|
|
120
|
-
code:
|
|
122
|
+
code: MODULE_CODE,
|
|
121
123
|
});
|
|
122
124
|
|
|
123
125
|
export default analyticsAdapter;
|
|
@@ -68,9 +68,10 @@ export const spec = {
|
|
|
68
68
|
|
|
69
69
|
const gdprConsent = bidderRequest.gdprConsent;
|
|
70
70
|
|
|
71
|
-
if (gdprConsent
|
|
71
|
+
if (gdprConsent) {
|
|
72
72
|
basePayload.gdpr = {
|
|
73
|
-
consent:
|
|
73
|
+
consent: gdprConsent.consentString,
|
|
74
|
+
applies: gdprConsent.gdprApplies
|
|
74
75
|
};
|
|
75
76
|
}
|
|
76
77
|
|
|
@@ -24,7 +24,7 @@ const COOKIE_KEY = 'trc_cookie_storage';
|
|
|
24
24
|
* 4. new user set it to 0
|
|
25
25
|
*/
|
|
26
26
|
export const userData = {
|
|
27
|
-
storageManager: getStorageManager({
|
|
27
|
+
storageManager: getStorageManager({bidderCode: BIDDER_CODE}),
|
|
28
28
|
getUserId: () => {
|
|
29
29
|
const {getFromLocalStorage, getFromCookie, getFromTRC} = userData;
|
|
30
30
|
|
|
@@ -278,7 +278,7 @@ function getBid(bids, currency, bidResponse) {
|
|
|
278
278
|
if (!bidResponse) {
|
|
279
279
|
return;
|
|
280
280
|
}
|
|
281
|
-
|
|
281
|
+
let {
|
|
282
282
|
price: cpm, nurl, crid: creativeId, adm: ad, w: width, h: height, exp: ttl, adomain: advertiserDomains, meta = {}
|
|
283
283
|
} = bidResponse;
|
|
284
284
|
let requestId = bids[bidResponse.impid - 1].bidId;
|
|
@@ -286,6 +286,8 @@ function getBid(bids, currency, bidResponse) {
|
|
|
286
286
|
meta.advertiserDomains = advertiserDomains
|
|
287
287
|
}
|
|
288
288
|
|
|
289
|
+
ad = replaceAuctionPrice(ad, cpm);
|
|
290
|
+
|
|
289
291
|
return {
|
|
290
292
|
requestId,
|
|
291
293
|
ttl,
|
|
@@ -12,7 +12,7 @@ const gdprStatus = {
|
|
|
12
12
|
CMP_NOT_FOUND_OR_ERROR: 22
|
|
13
13
|
};
|
|
14
14
|
const FP_TEADS_ID_COOKIE_NAME = '_tfpvi';
|
|
15
|
-
export const storage = getStorageManager({
|
|
15
|
+
export const storage = getStorageManager({bidderCode: BIDDER_CODE});
|
|
16
16
|
|
|
17
17
|
export const spec = {
|
|
18
18
|
code: BIDDER_CODE,
|
package/modules/teadsIdSystem.js
CHANGED
|
@@ -10,6 +10,7 @@ import {ajax} from '../src/ajax.js';
|
|
|
10
10
|
import {submodule} from '../src/hook.js';
|
|
11
11
|
import {getStorageManager} from '../src/storageManager.js';
|
|
12
12
|
import {uspDataHandler} from '../src/adapterManager.js';
|
|
13
|
+
import {MODULE_TYPE_UID} from '../src/activities/modules.js';
|
|
13
14
|
|
|
14
15
|
const MODULE_NAME = 'teadsId';
|
|
15
16
|
const GVL_ID = 132;
|
|
@@ -28,7 +29,7 @@ export const gdprReason = {
|
|
|
28
29
|
GDPR_APPLIES_PUBLISHER_CLASSIC: 120,
|
|
29
30
|
};
|
|
30
31
|
|
|
31
|
-
export const storage = getStorageManager({
|
|
32
|
+
export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
|
|
32
33
|
|
|
33
34
|
/** @type {Submodule} */
|
|
34
35
|
export const teadsIdSubmodule = {
|
|
@@ -11,7 +11,7 @@ const BANNER_TIME_TO_LIVE = 300;
|
|
|
11
11
|
const VIDEO_TIME_TO_LIVE = 3600;
|
|
12
12
|
let gdprApplies = true;
|
|
13
13
|
let consentString = null;
|
|
14
|
-
export const storage = getStorageManager({
|
|
14
|
+
export const storage = getStorageManager({bidderCode: BIDDER_CODE});
|
|
15
15
|
|
|
16
16
|
export const tripleliftAdapterSpec = {
|
|
17
17
|
gvlid: GVLID,
|
|
@@ -6,13 +6,14 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { logInfo } from '../src/utils.js';
|
|
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 = 'trustpid';
|
|
12
13
|
const LOG_PREFIX = 'Trustpid module'
|
|
13
14
|
let mnoDomain = '';
|
|
14
15
|
|
|
15
|
-
export const storage = getStorageManager({
|
|
16
|
+
export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
* Handle an event for an iframe.
|
package/modules/ttdBidAdapter.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as utils from '../src/utils.js';
|
|
2
2
|
import { config } from '../src/config.js';
|
|
3
|
-
import { createEidsArray } from './userId/eids.js';
|
|
4
3
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
5
4
|
import { BANNER, VIDEO } from '../src/mediaTypes.js';
|
|
6
5
|
|
|
@@ -125,8 +124,8 @@ function getUser(bidderRequest) {
|
|
|
125
124
|
user.buyeruid = bidderRequest.bids[0].userId.tdid;
|
|
126
125
|
}
|
|
127
126
|
|
|
128
|
-
var eids =
|
|
129
|
-
if (eids.length) {
|
|
127
|
+
var eids = utils.deepAccess(bidderRequest, 'bids.0.userIdAsEids')
|
|
128
|
+
if (eids && eids.length) {
|
|
130
129
|
utils.deepSetValue(user, 'ext.eids', eids);
|
|
131
130
|
}
|
|
132
131
|
|
|
@@ -165,15 +164,18 @@ function getImpression(bidRequest) {
|
|
|
165
164
|
|
|
166
165
|
const gpid = utils.deepAccess(bidRequest, 'ortb2Imp.ext.gpid');
|
|
167
166
|
const tid = utils.deepAccess(bidRequest, 'ortb2Imp.ext.tid');
|
|
167
|
+
const rwdd = utils.deepAccess(bidRequest, 'ortb2Imp.rwdd');
|
|
168
168
|
if (gpid || tid) {
|
|
169
169
|
impression.ext = {}
|
|
170
170
|
if (gpid) { impression.ext.gpid = gpid }
|
|
171
171
|
if (tid) { impression.ext.tid = tid }
|
|
172
172
|
}
|
|
173
|
-
|
|
173
|
+
if (rwdd) {
|
|
174
|
+
impression.rwdd = rwdd;
|
|
175
|
+
}
|
|
174
176
|
const tagid = gpid || bidRequest.params.placementId;
|
|
175
177
|
if (tagid) {
|
|
176
|
-
impression.tagid = tagid
|
|
178
|
+
impression.tagid = tagid;
|
|
177
179
|
}
|
|
178
180
|
|
|
179
181
|
const mediaTypesVideo = utils.deepAccess(bidRequest, 'mediaTypes.video');
|
|
@@ -252,6 +254,7 @@ function video(bid) {
|
|
|
252
254
|
const api = utils.deepAccess(bid, 'mediaTypes.video.api');
|
|
253
255
|
const mimes = utils.deepAccess(bid, 'mediaTypes.video.mimes');
|
|
254
256
|
const placement = utils.deepAccess(bid, 'mediaTypes.video.placement');
|
|
257
|
+
const plcmt = utils.deepAccess(bid, 'mediaTypes.video.plcmt');
|
|
255
258
|
const protocols = utils.deepAccess(bid, 'mediaTypes.video.protocols');
|
|
256
259
|
const playbackmethod = utils.deepAccess(bid, 'mediaTypes.video.playbackmethod');
|
|
257
260
|
const pos = utils.deepAccess(bid, 'mediaTypes.video.pos');
|
|
@@ -287,6 +290,9 @@ function video(bid) {
|
|
|
287
290
|
if (playbackmethod) {
|
|
288
291
|
video.playbackmethod = playbackmethod;
|
|
289
292
|
}
|
|
293
|
+
if (plcmt) {
|
|
294
|
+
video.plcmt = plcmt;
|
|
295
|
+
}
|
|
290
296
|
if (pos) {
|
|
291
297
|
video.pos = pos;
|
|
292
298
|
}
|
package/modules/uid2IdSystem.js
CHANGED
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
import { logInfo } from '../src/utils.js';
|
|
10
10
|
import {submodule} from '../src/hook.js';
|
|
11
|
-
import {
|
|
11
|
+
import {getStorageManager} from '../src/storageManager.js';
|
|
12
|
+
import {MODULE_TYPE_UID} from '../src/activities/modules.js';
|
|
12
13
|
|
|
13
14
|
const MODULE_NAME = 'uid2';
|
|
14
15
|
const MODULE_REVISION = `1.0`;
|
|
@@ -24,7 +25,7 @@ const UID2_PROD_URL = 'https://prod.uidapi.com';
|
|
|
24
25
|
const UID2_BASE_URL = UID2_PROD_URL;
|
|
25
26
|
|
|
26
27
|
function getStorage() {
|
|
27
|
-
return getStorageManager({
|
|
28
|
+
return getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: MODULE_NAME});
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
function createLogInfo(prefix) {
|
package/modules/userId/index.js
CHANGED
|
@@ -157,6 +157,8 @@ import {hasPurpose1Consent} from '../../src/utils/gpdr.js';
|
|
|
157
157
|
import {registerOrtbProcessor, REQUEST} from '../../src/pbjsORTB.js';
|
|
158
158
|
import {newMetrics, timedAuctionHook, useMetrics} from '../../src/utils/perfMetrics.js';
|
|
159
159
|
import {findRootDomain} from '../../src/fpd/rootDomain.js';
|
|
160
|
+
import {GDPR_GVLIDS} from '../../src/consentHandler.js';
|
|
161
|
+
import {MODULE_TYPE_UID} from '../../src/activities/modules.js';
|
|
160
162
|
|
|
161
163
|
const MODULE_NAME = 'User ID';
|
|
162
164
|
const COOKIE = STORAGE_TYPE_COOKIES;
|
|
@@ -413,7 +415,7 @@ function processSubmoduleCallbacks(submodules, cb) {
|
|
|
413
415
|
moduleDone();
|
|
414
416
|
}
|
|
415
417
|
try {
|
|
416
|
-
submodule.callback(callbackCompleted);
|
|
418
|
+
submodule.callback(callbackCompleted, getStoredValue.bind(null, submodule.config?.storage));
|
|
417
419
|
} catch (e) {
|
|
418
420
|
logError(`Error in userID module '${submodule.submodule.name}':`, e);
|
|
419
421
|
moduleDone();
|
|
@@ -982,7 +984,7 @@ function updateSubmodules() {
|
|
|
982
984
|
submodule: i,
|
|
983
985
|
config: submoduleConfig,
|
|
984
986
|
callback: undefined,
|
|
985
|
-
idObj: undefined
|
|
987
|
+
idObj: undefined,
|
|
986
988
|
} : null;
|
|
987
989
|
}).filter(submodule => submodule !== null)
|
|
988
990
|
.forEach((sm) => submodules.push(sm));
|
|
@@ -1019,6 +1021,7 @@ export function requestDataDeletion(next, ...args) {
|
|
|
1019
1021
|
export function attachIdSystem(submodule) {
|
|
1020
1022
|
if (!find(submoduleRegistry, i => i.name === submodule.name)) {
|
|
1021
1023
|
submoduleRegistry.push(submodule);
|
|
1024
|
+
GDPR_GVLIDS.register(MODULE_TYPE_UID, submodule.name, submodule.gvlid)
|
|
1022
1025
|
updateSubmodules();
|
|
1023
1026
|
// TODO: a test case wants this to work even if called after init (the setConfig({userId}))
|
|
1024
1027
|
// so we trigger a refresh. But is that even possible outside of tests?
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
import {deepAccess, isEmpty, isNumber, logWarn} from '../../src/utils.js';
|
|
6
6
|
import {ORTB_MAP} from './config.js';
|
|
7
7
|
import {submodule} from '../../src/hook.js';
|
|
8
|
-
import {
|
|
8
|
+
import {getCoreStorageManager} from '../../src/storageManager.js';
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
// TODO: do FPD modules need their own namespace?
|
|
11
|
+
const STORAGE = getCoreStorageManager('FPDValidation');
|
|
11
12
|
let optout;
|
|
12
13
|
|
|
13
14
|
/**
|
|
@@ -28,7 +28,7 @@ export const SUPPORTED_ID_SYSTEMS = {
|
|
|
28
28
|
'pubProvidedId': 1
|
|
29
29
|
};
|
|
30
30
|
export const webSessionId = 'wsid_' + parseInt(Date.now() * Math.random());
|
|
31
|
-
const storage = getStorageManager({
|
|
31
|
+
const storage = getStorageManager({bidderCode: BIDDER_CODE});
|
|
32
32
|
|
|
33
33
|
function getTopWindowQueryParams() {
|
|
34
34
|
try {
|
|
@@ -227,7 +227,7 @@ function interpretResponse(serverResponse, request) {
|
|
|
227
227
|
|
|
228
228
|
try {
|
|
229
229
|
results.forEach(result => {
|
|
230
|
-
const {creativeId, ad, price, exp, width, height, currency, advertiserDomains, mediaType = BANNER} = result;
|
|
230
|
+
const {creativeId, ad, price, exp, width, height, currency, advertiserDomains, metaData, mediaType = BANNER} = result;
|
|
231
231
|
if (!ad || !price) {
|
|
232
232
|
return;
|
|
233
233
|
}
|
|
@@ -241,11 +241,20 @@ function interpretResponse(serverResponse, request) {
|
|
|
241
241
|
currency: currency || CURRENCY,
|
|
242
242
|
netRevenue: true,
|
|
243
243
|
ttl: exp || TTL_SECONDS,
|
|
244
|
-
meta: {
|
|
245
|
-
advertiserDomains: advertiserDomains || []
|
|
246
|
-
}
|
|
247
244
|
};
|
|
248
245
|
|
|
246
|
+
if (metaData) {
|
|
247
|
+
Object.assign(response, {
|
|
248
|
+
meta: metaData
|
|
249
|
+
})
|
|
250
|
+
} else {
|
|
251
|
+
Object.assign(response, {
|
|
252
|
+
meta: {
|
|
253
|
+
advertiserDomains: advertiserDomains || []
|
|
254
|
+
}
|
|
255
|
+
})
|
|
256
|
+
}
|
|
257
|
+
|
|
249
258
|
if (mediaType === BANNER) {
|
|
250
259
|
Object.assign(response, {
|
|
251
260
|
ad: ad,
|
|
@@ -46,6 +46,34 @@ const isBidRequestValid = bid => {
|
|
|
46
46
|
return true;
|
|
47
47
|
};
|
|
48
48
|
|
|
49
|
+
/**
|
|
50
|
+
* Schain Object needed encodes URI Component with exlamation mark
|
|
51
|
+
* @param {String} str
|
|
52
|
+
* @returns {String}
|
|
53
|
+
*/
|
|
54
|
+
function encodeURIComponentWithExlamation(str) {
|
|
55
|
+
return encodeURIComponent(str).replace(/!/g, '%21');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Serializes the supply chain object based on IAB standards
|
|
60
|
+
* @see https://github.com/InteractiveAdvertisingBureau/openrtb/blob/master/supplychainobject.md
|
|
61
|
+
* @param {Object} schainObj supply chain object
|
|
62
|
+
* @returns {string} serialized supply chain value
|
|
63
|
+
*/
|
|
64
|
+
function serializeSupplyChainObj(schainObj) {
|
|
65
|
+
if (!schainObj || !schainObj.nodes) {
|
|
66
|
+
return '';
|
|
67
|
+
}
|
|
68
|
+
const nodeProps = ['asi', 'sid', 'hp', 'rid', 'name', 'domain'];
|
|
69
|
+
const serializedNodes = schainObj.nodes.map(node =>
|
|
70
|
+
nodeProps.map(prop => encodeURIComponentWithExlamation(node[prop] || '')).join(',')
|
|
71
|
+
).join('!');
|
|
72
|
+
|
|
73
|
+
const serializedSchain = `${schainObj.ver},${schainObj.complete}!${serializedNodes}`;
|
|
74
|
+
return serializedSchain;
|
|
75
|
+
}
|
|
76
|
+
|
|
49
77
|
const isBidResponseValid = bid => {
|
|
50
78
|
if (!bid || !bid.requestId || !bid.cpm || !bid.ttl || !bid.currency) {
|
|
51
79
|
return false;
|
|
@@ -91,7 +119,7 @@ const buildRequests = (validBidRequests, bidderRequest) => {
|
|
|
91
119
|
dt: /Mobi/.test(navigator.userAgent) ? 2 : 1,
|
|
92
120
|
pid: bid.params.pid,
|
|
93
121
|
requestId: bid.bidId,
|
|
94
|
-
schain: bid.schain || '',
|
|
122
|
+
schain: serializeSupplyChainObj(bid.schain) || '',
|
|
95
123
|
bidfloor,
|
|
96
124
|
d: getDomainWithoutSubdomain(hostname), // 'vidoomy.com',
|
|
97
125
|
// TODO: does the fallback make sense here?
|
|
@@ -122,6 +122,7 @@ import {
|
|
|
122
122
|
getStorageManager
|
|
123
123
|
} from '../src/storageManager.js';
|
|
124
124
|
import adapterManager from '../src/adapterManager.js';
|
|
125
|
+
import {MODULE_TYPE_RTD} from '../src/activities/modules.js';
|
|
125
126
|
|
|
126
127
|
/** @type {string} */
|
|
127
128
|
const MODULE_NAME = 'realTimeData';
|
|
@@ -153,7 +154,7 @@ const SFBX_LITE_DATA_SOURCE_LABEL = 'lite';
|
|
|
153
154
|
const GVLID = 284;
|
|
154
155
|
|
|
155
156
|
export const storage = getStorageManager({
|
|
156
|
-
|
|
157
|
+
moduleType: MODULE_TYPE_RTD,
|
|
157
158
|
moduleName: SUBMODULE_NAME
|
|
158
159
|
});
|
|
159
160
|
|
|
@@ -180,6 +181,7 @@ export const storage = getStorageManager({
|
|
|
180
181
|
class WeboramaRtdProvider {
|
|
181
182
|
#components;
|
|
182
183
|
name = SUBMODULE_NAME;
|
|
184
|
+
gvlid = GVLID;
|
|
183
185
|
/**
|
|
184
186
|
* @param {Components} components
|
|
185
187
|
*/
|
|
@@ -17,7 +17,6 @@ import {BANNER, VIDEO} from '../src/mediaTypes.js';
|
|
|
17
17
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
18
18
|
import {Renderer} from '../src/Renderer.js';
|
|
19
19
|
import {find, includes} from '../src/polyfill.js';
|
|
20
|
-
import {createEidsArray} from './userId/eids.js';
|
|
21
20
|
|
|
22
21
|
const BIDDER_CODE = 'yieldmo';
|
|
23
22
|
const GVLID = 173;
|
|
@@ -652,8 +651,8 @@ function shortcutProperty(extraCharacters, target, propertyName) {
|
|
|
652
651
|
* @return array of eids objects
|
|
653
652
|
*/
|
|
654
653
|
function getEids(bidRequest) {
|
|
655
|
-
if (deepAccess(bidRequest, '
|
|
656
|
-
return
|
|
654
|
+
if (deepAccess(bidRequest, 'userIdAsEids')) {
|
|
655
|
+
return bidRequest.userIdAsEids || [];
|
|
657
656
|
}
|
|
658
657
|
};
|
|
659
658
|
|
|
@@ -7,8 +7,10 @@ import {getStorageManager} from '../src/storageManager.js';
|
|
|
7
7
|
import {getRefererInfo} from '../src/refererDetection.js';
|
|
8
8
|
import {includes as strIncludes} from '../src/polyfill.js';
|
|
9
9
|
import {getGlobal} from '../src/prebidGlobal.js';
|
|
10
|
+
import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
|
|
10
11
|
|
|
11
|
-
const
|
|
12
|
+
const MODULE_CODE = 'yuktamedia';
|
|
13
|
+
const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
|
|
12
14
|
const yuktamediaAnalyticsVersion = 'v3.1.0';
|
|
13
15
|
|
|
14
16
|
let initOptions;
|
|
@@ -261,7 +263,7 @@ yuktamediaAnalyticsAdapter.enableAnalytics = function (config) {
|
|
|
261
263
|
|
|
262
264
|
adapterManager.registerAnalyticsAdapter({
|
|
263
265
|
adapter: yuktamediaAnalyticsAdapter,
|
|
264
|
-
code:
|
|
266
|
+
code: MODULE_CODE,
|
|
265
267
|
});
|
|
266
268
|
|
|
267
269
|
export default yuktamediaAnalyticsAdapter;
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { isStr, isPlainObject } from '../src/utils.js';
|
|
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 ZEOTAP_COOKIE_NAME = 'IDP';
|
|
12
13
|
const ZEOTAP_VENDOR_ID = 301;
|
|
@@ -21,7 +22,7 @@ function readFromLocalStorage() {
|
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
export function getStorage() {
|
|
24
|
-
return getStorageManager({
|
|
25
|
+
return getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: ZEOTAP_MODULE_NAME});
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
export const storage = getStorage();
|
package/package.json
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const _ = require('lodash');
|
|
4
|
+
const resolveFrom = require('resolve-from');
|
|
5
|
+
const MODULES_PATH = path.resolve(__dirname, '../../modules');
|
|
6
|
+
|
|
7
|
+
function isInDirectory(filename, dir) {
|
|
8
|
+
const rel = path.relative(dir, filename);
|
|
9
|
+
return rel && !rel.startsWith('..') && !path.isAbsolute(rel);
|
|
10
|
+
}
|
|
5
11
|
|
|
6
12
|
function flagErrors(context, node, importPath) {
|
|
7
13
|
let absFileDir = path.dirname(context.getFilename());
|
|
8
|
-
let absImportPath = path.resolve(absFileDir, importPath);
|
|
14
|
+
let absImportPath = importPath.startsWith('.') ? path.resolve(absFileDir, importPath) : require.resolve(importPath);
|
|
9
15
|
|
|
10
16
|
try {
|
|
11
17
|
resolveFrom(absFileDir, importPath);
|
|
@@ -20,16 +26,9 @@ function flagErrors(context, node, importPath) {
|
|
|
20
26
|
) {
|
|
21
27
|
context.report(node, `import "${importPath}" not in import whitelist`);
|
|
22
28
|
} else {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if (
|
|
27
|
-
path.dirname(absImportPath) === absModulePath || (
|
|
28
|
-
absImportPath.startsWith(absModulePath) &&
|
|
29
|
-
path.basename(absImportPath) === 'index.js'
|
|
30
|
-
)
|
|
31
|
-
) {
|
|
32
|
-
context.report(node, `import "${importPath}" cannot require module entry point`);
|
|
29
|
+
// do not allow cross-module imports
|
|
30
|
+
if (isInDirectory(absImportPath, MODULES_PATH) && (!isInDirectory(absImportPath, absFileDir) || absFileDir === MODULES_PATH)) {
|
|
31
|
+
context.report(node, `import "${importPath}": importing from modules is not allowed`);
|
|
33
32
|
}
|
|
34
33
|
|
|
35
34
|
// don't allow extension-less local imports
|
package/plugins/pbjsGlobals.js
CHANGED
|
@@ -42,9 +42,11 @@ module.exports = function(api, options) {
|
|
|
42
42
|
];
|
|
43
43
|
|
|
44
44
|
const PREBID_ROOT = path.resolve(__dirname, '..');
|
|
45
|
+
// on Windows, require paths are not filesystem paths
|
|
46
|
+
const SEP_PAT = new RegExp(path.sep.replace(/\\/g, '\\\\'), 'g')
|
|
45
47
|
|
|
46
48
|
function relPath(from, toRelToProjectRoot) {
|
|
47
|
-
return path.relative(path.dirname(from), path.join(PREBID_ROOT, toRelToProjectRoot));
|
|
49
|
+
return path.relative(path.dirname(from), path.join(PREBID_ROOT, toRelToProjectRoot)).replace(SEP_PAT, '/');
|
|
48
50
|
}
|
|
49
51
|
|
|
50
52
|
function getModuleName(filename) {
|