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,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { isEmpty, deepAccess, logError, logWarn, parseGPTSingleSizeArrayToRtbSize } from '../src/utils.js';
|
|
2
2
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
3
3
|
import { Renderer } from '../src/Renderer.js';
|
|
4
4
|
import { VIDEO, BANNER } from '../src/mediaTypes.js';
|
|
@@ -102,7 +102,7 @@ export const spec = {
|
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
104
|
|
|
105
|
-
if (!
|
|
105
|
+
if (!isEmpty(keywords)) {
|
|
106
106
|
if (!pageKeywords) {
|
|
107
107
|
pageKeywords = keywords;
|
|
108
108
|
}
|
|
@@ -188,8 +188,8 @@ export const spec = {
|
|
|
188
188
|
request.user = user;
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
-
const userKeywords =
|
|
192
|
-
const siteKeywords =
|
|
191
|
+
const userKeywords = deepAccess(config.getConfig('ortb2.user'), 'keywords') || null;
|
|
192
|
+
const siteKeywords = deepAccess(config.getConfig('ortb2.site'), 'keywords') || null;
|
|
193
193
|
|
|
194
194
|
if (userKeywords) {
|
|
195
195
|
pageKeywords = pageKeywords || {};
|
|
@@ -267,7 +267,7 @@ export const spec = {
|
|
|
267
267
|
_addBidResponse(_getBidFromResponse(respItem), bidRequest, bidResponses, RendererConst);
|
|
268
268
|
});
|
|
269
269
|
}
|
|
270
|
-
if (errorMessage)
|
|
270
|
+
if (errorMessage) logError(errorMessage);
|
|
271
271
|
return bidResponses;
|
|
272
272
|
},
|
|
273
273
|
getUserSyncs: function(syncOptions, responses, gdprConsent, uspConsent) {
|
|
@@ -302,11 +302,11 @@ export const spec = {
|
|
|
302
302
|
|
|
303
303
|
function _getBidFromResponse(respItem) {
|
|
304
304
|
if (!respItem) {
|
|
305
|
-
|
|
305
|
+
logError(LOG_ERROR_MESS.emptySeatbid);
|
|
306
306
|
} else if (!respItem.bid) {
|
|
307
|
-
|
|
307
|
+
logError(LOG_ERROR_MESS.hasNoArrayOfBids + JSON.stringify(respItem));
|
|
308
308
|
} else if (!respItem.bid[0]) {
|
|
309
|
-
|
|
309
|
+
logError(LOG_ERROR_MESS.noBid);
|
|
310
310
|
}
|
|
311
311
|
return respItem && respItem.bid && respItem.bid[0];
|
|
312
312
|
}
|
|
@@ -315,7 +315,7 @@ function _addBidResponse(serverBid, bidRequest, bidResponses, RendererConst) {
|
|
|
315
315
|
if (!serverBid) return;
|
|
316
316
|
let errorMessage;
|
|
317
317
|
if (!serverBid.auid) errorMessage = LOG_ERROR_MESS.noAuid + JSON.stringify(serverBid);
|
|
318
|
-
if (!serverBid.adm) errorMessage = LOG_ERROR_MESS.noAdm + JSON.stringify(serverBid);
|
|
318
|
+
if (!serverBid.adm && !serverBid.nurl) errorMessage = LOG_ERROR_MESS.noAdm + JSON.stringify(serverBid);
|
|
319
319
|
else {
|
|
320
320
|
const { bidsMap } = bidRequest;
|
|
321
321
|
const bid = bidsMap[serverBid.impid];
|
|
@@ -336,11 +336,15 @@ function _addBidResponse(serverBid, bidRequest, bidResponses, RendererConst) {
|
|
|
336
336
|
},
|
|
337
337
|
};
|
|
338
338
|
if (serverBid.content_type === 'video') {
|
|
339
|
-
|
|
339
|
+
if (serverBid.adm) {
|
|
340
|
+
bidResponse.vastXml = serverBid.adm;
|
|
341
|
+
bidResponse.adResponse = {
|
|
342
|
+
content: bidResponse.vastXml
|
|
343
|
+
};
|
|
344
|
+
} else if (serverBid.nurl) {
|
|
345
|
+
bidResponse.vastUrl = serverBid.nurl;
|
|
346
|
+
}
|
|
340
347
|
bidResponse.mediaType = VIDEO;
|
|
341
|
-
bidResponse.adResponse = {
|
|
342
|
-
content: bidResponse.vastXml
|
|
343
|
-
};
|
|
344
348
|
if (!bid.renderer && (!bid.mediaTypes || !bid.mediaTypes.video || bid.mediaTypes.video.context === 'outstream')) {
|
|
345
349
|
bidResponse.renderer = createRenderer(bidResponse, {
|
|
346
350
|
id: bid.bidId,
|
|
@@ -356,7 +360,7 @@ function _addBidResponse(serverBid, bidRequest, bidResponses, RendererConst) {
|
|
|
356
360
|
}
|
|
357
361
|
}
|
|
358
362
|
if (errorMessage) {
|
|
359
|
-
|
|
363
|
+
logError(errorMessage);
|
|
360
364
|
}
|
|
361
365
|
}
|
|
362
366
|
|
|
@@ -379,7 +383,7 @@ function createRenderer (bid, rendererParams, RendererConst) {
|
|
|
379
383
|
try {
|
|
380
384
|
rendererInst.setRender(outstreamRender);
|
|
381
385
|
} catch (err) {
|
|
382
|
-
|
|
386
|
+
logWarn('Prebid Error calling setRender on renderer', err);
|
|
383
387
|
}
|
|
384
388
|
|
|
385
389
|
return rendererInst;
|
|
@@ -390,7 +394,7 @@ function createVideoRequest(bid, mediaType) {
|
|
|
390
394
|
const size = (playerSize || bid.sizes || [])[0];
|
|
391
395
|
if (!size) return;
|
|
392
396
|
|
|
393
|
-
let result =
|
|
397
|
+
let result = parseGPTSingleSizeArrayToRtbSize(size);
|
|
394
398
|
|
|
395
399
|
if (mimes) {
|
|
396
400
|
result.mimes = mimes;
|
|
@@ -412,8 +416,8 @@ function createBannerRequest(bid, mediaType) {
|
|
|
412
416
|
const sizes = mediaType.sizes || bid.sizes;
|
|
413
417
|
if (!sizes || !sizes.length) return;
|
|
414
418
|
|
|
415
|
-
let format = sizes.map((size) =>
|
|
416
|
-
let result =
|
|
419
|
+
let format = sizes.map((size) => parseGPTSingleSizeArrayToRtbSize(size));
|
|
420
|
+
let result = parseGPTSingleSizeArrayToRtbSize(sizes[0]);
|
|
417
421
|
|
|
418
422
|
if (format.length) {
|
|
419
423
|
result.format = format
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { generateUUID, _each } from '../src/utils.js';
|
|
1
2
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
2
3
|
import {BANNER, VIDEO, NATIVE} from '../src/mediaTypes.js';
|
|
3
4
|
import { getStorageManager } from '../src/storageManager.js';
|
|
4
5
|
import { config } from '../src/config.js';
|
|
5
|
-
import * as utils from '../src/utils.js';
|
|
6
6
|
const storage = getStorageManager();
|
|
7
7
|
const COOKIE_NAME = 'ucf_uid';
|
|
8
8
|
const VER = 'ADGENT_PREBID-2018011501';
|
|
@@ -283,7 +283,7 @@ function getRequestData(bid, bidderRequest) {
|
|
|
283
283
|
ucfUid = storage.getCookie(COOKIE_NAME);
|
|
284
284
|
bidData.ucfUid = ucfUid;
|
|
285
285
|
} else {
|
|
286
|
-
ucfUid =
|
|
286
|
+
ucfUid = generateUUID();
|
|
287
287
|
bidData.ucfUid = ucfUid;
|
|
288
288
|
storage.setCookie(COOKIE_NAME, ucfUid);
|
|
289
289
|
}
|
|
@@ -335,7 +335,7 @@ function getRequestData(bid, bidderRequest) {
|
|
|
335
335
|
|
|
336
336
|
function addUserId(bidData, userId) {
|
|
337
337
|
bidData['eids'] = '';
|
|
338
|
-
|
|
338
|
+
_each(userId, (userIdObjectOrValue, userIdProviderKey) => {
|
|
339
339
|
switch (userIdProviderKey) {
|
|
340
340
|
case 'haloId':
|
|
341
341
|
if (userIdObjectOrValue.haloId) {
|
package/modules/uid2IdSystem.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @requires module:modules/userId
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import
|
|
8
|
+
import { logInfo } from '../src/utils.js';
|
|
9
9
|
import {submodule} from '../src/hook.js';
|
|
10
10
|
import { getStorageManager } from '../src/storageManager.js';
|
|
11
11
|
|
|
@@ -28,11 +28,11 @@ function getStorage() {
|
|
|
28
28
|
|
|
29
29
|
const storage = getStorage();
|
|
30
30
|
|
|
31
|
-
const
|
|
31
|
+
const _logInfo = createLogInfo(LOG_PRE_FIX);
|
|
32
32
|
|
|
33
33
|
function createLogInfo(prefix) {
|
|
34
34
|
return function (...strings) {
|
|
35
|
-
|
|
35
|
+
logInfo(prefix + ' ', ...strings);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -48,7 +48,7 @@ function encodeId(value) {
|
|
|
48
48
|
id: value
|
|
49
49
|
}
|
|
50
50
|
result.uid2 = bidIds;
|
|
51
|
-
|
|
51
|
+
_logInfo('Decoded value ' + JSON.stringify(result));
|
|
52
52
|
return result;
|
|
53
53
|
}
|
|
54
54
|
return undefined;
|
|
@@ -85,9 +85,9 @@ export const uid2IdSubmodule = {
|
|
|
85
85
|
* @returns {uid2Id}
|
|
86
86
|
*/
|
|
87
87
|
getId(config, consentData) {
|
|
88
|
-
|
|
88
|
+
_logInfo('Creating UID 2.0');
|
|
89
89
|
let value = readCookie() || readFromLocalStorage();
|
|
90
|
-
|
|
90
|
+
_logInfo('The advertising token: ' + value);
|
|
91
91
|
return {id: value}
|
|
92
92
|
},
|
|
93
93
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { logMessage, flatten, parseSizesInput } from '../src/utils.js';
|
|
2
2
|
import { config } from '../src/config.js';
|
|
3
3
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
4
4
|
const BIDDER_CODE = 'underdogmedia';
|
|
@@ -7,7 +7,7 @@ const UDM_VENDOR_ID = '159';
|
|
|
7
7
|
const prebidVersion = '$prebid.version$';
|
|
8
8
|
let USER_SYNCED = false;
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
logMessage(`Initializing UDM Adapter. PBJS Version: ${prebidVersion} with adapter version: ${UDM_ADAPTER_VERSION} Updated 20191028`);
|
|
11
11
|
|
|
12
12
|
// helper function for testing user syncs
|
|
13
13
|
export function resetUserSync() {
|
|
@@ -29,7 +29,7 @@ export const spec = {
|
|
|
29
29
|
|
|
30
30
|
validBidRequests.forEach(bidParam => {
|
|
31
31
|
let bidParamSizes = bidParam.mediaTypes && bidParam.mediaTypes.banner && bidParam.mediaTypes.banner.sizes ? bidParam.mediaTypes.banner.sizes : bidParam.sizes;
|
|
32
|
-
sizes =
|
|
32
|
+
sizes = flatten(sizes, parseSizesInput(bidParamSizes));
|
|
33
33
|
siteId = bidParam.params.siteId;
|
|
34
34
|
});
|
|
35
35
|
|
|
@@ -99,7 +99,7 @@ export const spec = {
|
|
|
99
99
|
|
|
100
100
|
var sizeNotFound = true;
|
|
101
101
|
const bidParamSizes = bidParam.mediaTypes && bidParam.mediaTypes.banner && bidParam.mediaTypes.banner.sizes ? bidParam.mediaTypes.banner.sizes : bidParam.sizes
|
|
102
|
-
|
|
102
|
+
parseSizesInput(bidParamSizes).forEach(size => {
|
|
103
103
|
if (size === mid.width + 'x' + mid.height) {
|
|
104
104
|
sizeNotFound = false;
|
|
105
105
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { logInfo, deepAccess, generateUUID } from '../src/utils.js';
|
|
2
2
|
import {BANNER} from '../src/mediaTypes.js';
|
|
3
3
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
4
4
|
import {getStorageManager} from '../src/storageManager.js';
|
|
@@ -8,7 +8,7 @@ const BIDDER_CODE = 'unicorn';
|
|
|
8
8
|
const UNICORN_ENDPOINT = 'https://ds.uncn.jp/pb/0/bid.json';
|
|
9
9
|
const UNICORN_DEFAULT_CURRENCY = 'JPY';
|
|
10
10
|
const UNICORN_PB_COOKIE_KEY = '__pb_unicorn_aud';
|
|
11
|
-
const UNICORN_PB_VERSION = '1.
|
|
11
|
+
const UNICORN_PB_VERSION = '1.1';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Placement ID and Account ID are required.
|
|
@@ -39,8 +39,8 @@ export const buildRequests = (validBidRequests, bidderRequest) => {
|
|
|
39
39
|
* @returns {string}
|
|
40
40
|
*/
|
|
41
41
|
function buildOpenRtbBidRequestPayload(validBidRequests, bidderRequest) {
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
logInfo('[UNICORN] buildOpenRtbBidRequestPayload.validBidRequests:', validBidRequests);
|
|
43
|
+
logInfo('[UNICORN] buildOpenRtbBidRequestPayload.bidderRequest:', bidderRequest);
|
|
44
44
|
const imp = validBidRequests.map(br => {
|
|
45
45
|
return {
|
|
46
46
|
id: br.bidId,
|
|
@@ -49,7 +49,7 @@ function buildOpenRtbBidRequestPayload(validBidRequests, bidderRequest) {
|
|
|
49
49
|
w: br.sizes[0][0],
|
|
50
50
|
h: br.sizes[0][1]
|
|
51
51
|
},
|
|
52
|
-
tagid:
|
|
52
|
+
tagid: deepAccess(br, 'params.placementId') || br.adUnitCode,
|
|
53
53
|
secure: 1,
|
|
54
54
|
bidfloor: parseFloat(0)
|
|
55
55
|
};
|
|
@@ -58,11 +58,11 @@ function buildOpenRtbBidRequestPayload(validBidRequests, bidderRequest) {
|
|
|
58
58
|
id: bidderRequest.auctionId,
|
|
59
59
|
at: 1,
|
|
60
60
|
imp,
|
|
61
|
-
cur: UNICORN_DEFAULT_CURRENCY,
|
|
61
|
+
cur: [UNICORN_DEFAULT_CURRENCY],
|
|
62
62
|
site: {
|
|
63
|
-
id:
|
|
63
|
+
id: deepAccess(validBidRequests[0], 'params.mediaId') || '',
|
|
64
64
|
publisher: {
|
|
65
|
-
id:
|
|
65
|
+
id: String(deepAccess(validBidRequests[0], 'params.publisherId') || 0)
|
|
66
66
|
},
|
|
67
67
|
domain: window.location.hostname,
|
|
68
68
|
page: window.location.href,
|
|
@@ -75,7 +75,7 @@ function buildOpenRtbBidRequestPayload(validBidRequests, bidderRequest) {
|
|
|
75
75
|
user: {
|
|
76
76
|
id: getUid()
|
|
77
77
|
},
|
|
78
|
-
bcat:
|
|
78
|
+
bcat: deepAccess(validBidRequests[0], 'params.bcat') || [],
|
|
79
79
|
source: {
|
|
80
80
|
ext: {
|
|
81
81
|
stype: 'prebid_uncn',
|
|
@@ -84,16 +84,16 @@ function buildOpenRtbBidRequestPayload(validBidRequests, bidderRequest) {
|
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
86
|
ext: {
|
|
87
|
-
accountId:
|
|
87
|
+
accountId: deepAccess(validBidRequests[0], 'params.accountId')
|
|
88
88
|
}
|
|
89
89
|
};
|
|
90
|
-
|
|
90
|
+
logInfo('[UNICORN] OpenRTB Formatted Request:', request);
|
|
91
91
|
return JSON.stringify(request);
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
const interpretResponse = (serverResponse, request) => {
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
logInfo('[UNICORN] interpretResponse.serverResponse:', serverResponse);
|
|
96
|
+
logInfo('[UNICORN] interpretResponse.request:', request);
|
|
97
97
|
const res = serverResponse.body;
|
|
98
98
|
var bids = []
|
|
99
99
|
if (res) {
|
|
@@ -119,7 +119,7 @@ const interpretResponse = (serverResponse, request) => {
|
|
|
119
119
|
})
|
|
120
120
|
});
|
|
121
121
|
}
|
|
122
|
-
|
|
122
|
+
logInfo('[UNICORN] interpretResponse bids:', bids);
|
|
123
123
|
return bids;
|
|
124
124
|
};
|
|
125
125
|
|
|
@@ -132,7 +132,7 @@ const getUid = () => {
|
|
|
132
132
|
return JSON.parse(ck)['uid'];
|
|
133
133
|
} else {
|
|
134
134
|
const newCk = {
|
|
135
|
-
uid:
|
|
135
|
+
uid: generateUUID()
|
|
136
136
|
};
|
|
137
137
|
const expireIn = new Date(Date.now() + 24 * 60 * 60 * 10000).toUTCString();
|
|
138
138
|
storage.setCookie(UNICORN_PB_COOKIE_KEY, JSON.stringify(newCk), expireIn);
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @requires module:modules/userId
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import
|
|
8
|
+
import { logError } from '../src/utils.js';
|
|
9
9
|
import {ajax} from '../src/ajax.js';
|
|
10
10
|
import {submodule} from '../src/hook.js'
|
|
11
11
|
|
|
@@ -40,7 +40,7 @@ export const unifiedIdSubmodule = {
|
|
|
40
40
|
getId(config) {
|
|
41
41
|
const configParams = (config && config.params) || {};
|
|
42
42
|
if (!configParams || (typeof configParams.partner !== 'string' && typeof configParams.url !== 'string')) {
|
|
43
|
-
|
|
43
|
+
logError('User ID - unifiedId submodule requires either partner or url to be defined');
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
46
|
// use protocol relative urls for http or https
|
|
@@ -54,13 +54,13 @@ export const unifiedIdSubmodule = {
|
|
|
54
54
|
try {
|
|
55
55
|
responseObj = JSON.parse(response);
|
|
56
56
|
} catch (error) {
|
|
57
|
-
|
|
57
|
+
logError(error);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
callback(responseObj);
|
|
61
61
|
},
|
|
62
62
|
error: error => {
|
|
63
|
-
|
|
63
|
+
logError(`${MODULE_NAME}: ID fetch encountered an error`, error);
|
|
64
64
|
callback();
|
|
65
65
|
}
|
|
66
66
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { deepAccess, logError } from '../src/utils.js';
|
|
2
2
|
import {Renderer} from '../src/Renderer.js'
|
|
3
3
|
import {registerBidder} from '../src/adapters/bidderFactory.js'
|
|
4
4
|
import {VIDEO, BANNER} from '../src/mediaTypes.js'
|
|
@@ -41,7 +41,7 @@ const addBidFloorInfo = (validBid) => {
|
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
const RemoveDuplicateSizes = (validBid) => {
|
|
44
|
-
let bannerMediaType =
|
|
44
|
+
let bannerMediaType = deepAccess(validBid, 'mediaTypes.banner');
|
|
45
45
|
if (bannerMediaType) {
|
|
46
46
|
let seenSizes = {};
|
|
47
47
|
let newSizesArray = [];
|
|
@@ -87,12 +87,12 @@ const handleBidResponseByMediaType = (bids) => {
|
|
|
87
87
|
|
|
88
88
|
bids.forEach((bid) => {
|
|
89
89
|
let parsedBidResponse;
|
|
90
|
-
let bidMediaType =
|
|
90
|
+
let bidMediaType = deepAccess(bid, 'meta.mediaType');
|
|
91
91
|
if (bidMediaType && bidMediaType.toLowerCase() === 'banner') {
|
|
92
92
|
bid.mediaType = BANNER;
|
|
93
93
|
parsedBidResponse = handleBannerBid(bid);
|
|
94
94
|
} else if (bidMediaType && bidMediaType.toLowerCase() === 'video') {
|
|
95
|
-
let context =
|
|
95
|
+
let context = deepAccess(bid, 'meta.videoContext');
|
|
96
96
|
bid.mediaType = VIDEO;
|
|
97
97
|
if (context === 'instream') {
|
|
98
98
|
parsedBidResponse = handleInStreamBid(bid);
|
|
@@ -111,7 +111,7 @@ const handleBidResponseByMediaType = (bids) => {
|
|
|
111
111
|
|
|
112
112
|
const handleBannerBid = (bid) => {
|
|
113
113
|
if (!bid.ad) {
|
|
114
|
-
|
|
114
|
+
logError(new Error('UnrulyBidAdapter: Missing ad config.'));
|
|
115
115
|
return;
|
|
116
116
|
}
|
|
117
117
|
|
|
@@ -120,7 +120,7 @@ const handleBannerBid = (bid) => {
|
|
|
120
120
|
|
|
121
121
|
const handleInStreamBid = (bid) => {
|
|
122
122
|
if (!(bid.vastUrl || bid.vastXml)) {
|
|
123
|
-
|
|
123
|
+
logError(new Error('UnrulyBidAdapter: Missing vastUrl or vastXml config.'));
|
|
124
124
|
return;
|
|
125
125
|
}
|
|
126
126
|
|
|
@@ -128,19 +128,19 @@ const handleInStreamBid = (bid) => {
|
|
|
128
128
|
};
|
|
129
129
|
|
|
130
130
|
const handleOutStreamBid = (bid) => {
|
|
131
|
-
const hasConfig = !!
|
|
132
|
-
const hasSiteId = !!
|
|
131
|
+
const hasConfig = !!deepAccess(bid, 'ext.renderer.config');
|
|
132
|
+
const hasSiteId = !!deepAccess(bid, 'ext.renderer.config.siteId');
|
|
133
133
|
|
|
134
134
|
if (!hasConfig) {
|
|
135
|
-
|
|
135
|
+
logError(new Error('UnrulyBidAdapter: Missing renderer config.'));
|
|
136
136
|
return;
|
|
137
137
|
}
|
|
138
138
|
if (!hasSiteId) {
|
|
139
|
-
|
|
139
|
+
logError(new Error('UnrulyBidAdapter: Missing renderer siteId.'));
|
|
140
140
|
return;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
const exchangeRenderer =
|
|
143
|
+
const exchangeRenderer = deepAccess(bid, 'ext.renderer');
|
|
144
144
|
|
|
145
145
|
configureUniversalTag(exchangeRenderer, bid.requestId);
|
|
146
146
|
configureRendererQueue();
|
|
@@ -152,7 +152,7 @@ const handleOutStreamBid = (bid) => {
|
|
|
152
152
|
bid,
|
|
153
153
|
{
|
|
154
154
|
renderer: rendererInstance,
|
|
155
|
-
adUnitCode:
|
|
155
|
+
adUnitCode: deepAccess(bid, 'ext.adUnitCode')
|
|
156
156
|
}
|
|
157
157
|
);
|
|
158
158
|
|
|
@@ -165,8 +165,8 @@ const handleOutStreamBid = (bid) => {
|
|
|
165
165
|
};
|
|
166
166
|
|
|
167
167
|
const isMediaTypesValid = (bid) => {
|
|
168
|
-
const mediaTypeVideoData =
|
|
169
|
-
const mediaTypeBannerData =
|
|
168
|
+
const mediaTypeVideoData = deepAccess(bid, 'mediaTypes.video');
|
|
169
|
+
const mediaTypeBannerData = deepAccess(bid, 'mediaTypes.banner');
|
|
170
170
|
let isValid = !!(mediaTypeVideoData || mediaTypeBannerData);
|
|
171
171
|
if (isValid && mediaTypeVideoData) {
|
|
172
172
|
isValid = isVideoMediaTypeValid(mediaTypeVideoData);
|
|
@@ -194,7 +194,7 @@ export const adapter = {
|
|
|
194
194
|
code: 'unruly',
|
|
195
195
|
supportedMediaTypes: [VIDEO, BANNER],
|
|
196
196
|
isBidRequestValid: function (bid) {
|
|
197
|
-
let siteId =
|
|
197
|
+
let siteId = deepAccess(bid, 'params.siteId');
|
|
198
198
|
let isBidValid = siteId && isMediaTypesValid(bid);
|
|
199
199
|
return !!isBidValid;
|
|
200
200
|
},
|
|
@@ -202,7 +202,7 @@ export const adapter = {
|
|
|
202
202
|
buildRequests: function (validBidRequests, bidderRequest) {
|
|
203
203
|
let endPoint = 'https://targeting.unrulymedia.com/unruly_prebid';
|
|
204
204
|
if (validBidRequests[0]) {
|
|
205
|
-
endPoint =
|
|
205
|
+
endPoint = deepAccess(validBidRequests[0], 'params.endpoint') || endPoint;
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
const url = endPoint;
|
package/modules/userId/eids.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { pick, isFn, isStr, isPlainObject, deepAccess } from '../../src/utils.js';
|
|
2
2
|
|
|
3
3
|
// Each user-id sub-module is expected to mention respective config here
|
|
4
4
|
const USER_IDS_CONFIG = {
|
|
@@ -64,7 +64,7 @@ const USER_IDS_CONFIG = {
|
|
|
64
64
|
return null;
|
|
65
65
|
},
|
|
66
66
|
getUidExt: function(parrableId) {
|
|
67
|
-
const extendedData =
|
|
67
|
+
const extendedData = pick(parrableId, [
|
|
68
68
|
'ibaOptout',
|
|
69
69
|
'ccpaOptout'
|
|
70
70
|
]);
|
|
@@ -248,11 +248,11 @@ function createEidObject(userIdData, subModuleKey) {
|
|
|
248
248
|
if (conf && userIdData) {
|
|
249
249
|
let eid = {};
|
|
250
250
|
eid.source = conf['source'];
|
|
251
|
-
const value =
|
|
252
|
-
if (
|
|
251
|
+
const value = isFn(conf['getValue']) ? conf['getValue'](userIdData) : userIdData;
|
|
252
|
+
if (isStr(value)) {
|
|
253
253
|
const uid = { id: value, atype: conf['atype'] };
|
|
254
254
|
// getUidExt
|
|
255
|
-
if (
|
|
255
|
+
if (isFn(conf['getUidExt'])) {
|
|
256
256
|
const uidExt = conf['getUidExt'](userIdData);
|
|
257
257
|
if (uidExt) {
|
|
258
258
|
uid.ext = uidExt;
|
|
@@ -260,7 +260,7 @@ function createEidObject(userIdData, subModuleKey) {
|
|
|
260
260
|
}
|
|
261
261
|
eid.uids = [uid];
|
|
262
262
|
// getEidExt
|
|
263
|
-
if (
|
|
263
|
+
if (isFn(conf['getEidExt'])) {
|
|
264
264
|
const eidExt = conf['getEidExt'](userIdData);
|
|
265
265
|
if (eidExt) {
|
|
266
266
|
eid.ext = eidExt;
|
|
@@ -297,11 +297,11 @@ export function createEidsArray(bidRequestUserId) {
|
|
|
297
297
|
*/
|
|
298
298
|
export function buildEidPermissions(submodules) {
|
|
299
299
|
let eidPermissions = [];
|
|
300
|
-
submodules.filter(i =>
|
|
300
|
+
submodules.filter(i => isPlainObject(i.idObj) && Object.keys(i.idObj).length)
|
|
301
301
|
.forEach(i => {
|
|
302
302
|
Object.keys(i.idObj).forEach(key => {
|
|
303
|
-
if (
|
|
304
|
-
|
|
303
|
+
if (deepAccess(i, 'config.bidders') && Array.isArray(i.config.bidders) &&
|
|
304
|
+
deepAccess(USER_IDS_CONFIG, key + '.source')) {
|
|
305
305
|
eidPermissions.push(
|
|
306
306
|
{
|
|
307
307
|
source: USER_IDS_CONFIG[key].source,
|