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
package/modules/ccxBidAdapter.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { deepAccess, isArray, _each, logWarn, isEmpty } from '../src/utils.js';
|
|
2
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js'
|
|
3
3
|
import { config } from '../src/config.js'
|
|
4
4
|
import { getStorageManager } from '../src/storageManager.js';
|
|
@@ -20,7 +20,7 @@ function _getDeviceObj () {
|
|
|
20
20
|
|
|
21
21
|
function _getSiteObj (bidderRequest) {
|
|
22
22
|
let site = {}
|
|
23
|
-
let url = config.getConfig('pageUrl') ||
|
|
23
|
+
let url = config.getConfig('pageUrl') || deepAccess(window, 'location.href');
|
|
24
24
|
if (url.length > 0) {
|
|
25
25
|
url = url.split('?')[0]
|
|
26
26
|
}
|
|
@@ -30,19 +30,19 @@ function _getSiteObj (bidderRequest) {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
function _validateSizes (sizeObj, type) {
|
|
33
|
-
if (!
|
|
33
|
+
if (!isArray(sizeObj) || typeof sizeObj[0] === 'undefined') {
|
|
34
34
|
return false
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
if (type === 'video' && (!
|
|
37
|
+
if (type === 'video' && (!isArray(sizeObj[0]) || sizeObj[0].length !== 2)) {
|
|
38
38
|
return false
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
let result = true
|
|
42
42
|
|
|
43
43
|
if (type === 'banner') {
|
|
44
|
-
|
|
45
|
-
if (!
|
|
44
|
+
_each(sizeObj, function (size) {
|
|
45
|
+
if (!isArray(size) || (size.length !== 2)) {
|
|
46
46
|
result = false
|
|
47
47
|
}
|
|
48
48
|
})
|
|
@@ -50,11 +50,11 @@ function _validateSizes (sizeObj, type) {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
if (type === 'old') {
|
|
53
|
-
if (!
|
|
53
|
+
if (!isArray(sizeObj[0]) && sizeObj.length !== 2) {
|
|
54
54
|
result = false
|
|
55
|
-
} else if (
|
|
56
|
-
|
|
57
|
-
if (!
|
|
55
|
+
} else if (isArray(sizeObj[0])) {
|
|
56
|
+
_each(sizeObj, function (size) {
|
|
57
|
+
if (!isArray(size) || (size.length !== 2)) {
|
|
58
58
|
result = false
|
|
59
59
|
}
|
|
60
60
|
})
|
|
@@ -70,22 +70,22 @@ function _buildBid (bid) {
|
|
|
70
70
|
placement.id = bid.bidId
|
|
71
71
|
placement.secure = 1
|
|
72
72
|
|
|
73
|
-
let sizes =
|
|
73
|
+
let sizes = deepAccess(bid, 'mediaTypes.banner.sizes') || deepAccess(bid, 'mediaTypes.video.playerSize') || deepAccess(bid, 'sizes')
|
|
74
74
|
|
|
75
|
-
if (
|
|
75
|
+
if (deepAccess(bid, 'mediaTypes.banner') || deepAccess(bid, 'mediaType') === 'banner' || (!deepAccess(bid, 'mediaTypes.video') && !deepAccess(bid, 'mediaType'))) {
|
|
76
76
|
placement.banner = {'format': []}
|
|
77
|
-
if (
|
|
78
|
-
|
|
77
|
+
if (isArray(sizes[0])) {
|
|
78
|
+
_each(sizes, function (size) {
|
|
79
79
|
placement.banner.format.push({'w': size[0], 'h': size[1]})
|
|
80
80
|
})
|
|
81
81
|
} else {
|
|
82
82
|
placement.banner.format.push({'w': sizes[0], 'h': sizes[1]})
|
|
83
83
|
}
|
|
84
|
-
} else if (
|
|
84
|
+
} else if (deepAccess(bid, 'mediaTypes.video') || deepAccess(bid, 'mediaType') === 'video') {
|
|
85
85
|
placement.video = {}
|
|
86
86
|
|
|
87
87
|
if (typeof sizes !== 'undefined') {
|
|
88
|
-
if (
|
|
88
|
+
if (isArray(sizes[0])) {
|
|
89
89
|
placement.video.w = sizes[0][0]
|
|
90
90
|
placement.video.h = sizes[0][1]
|
|
91
91
|
} else {
|
|
@@ -94,12 +94,12 @@ function _buildBid (bid) {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
placement.video.protocols =
|
|
98
|
-
placement.video.mimes =
|
|
99
|
-
placement.video.playbackmethod =
|
|
100
|
-
placement.video.skip =
|
|
101
|
-
if (placement.video.skip === 1 && (
|
|
102
|
-
placement.video.skipafter =
|
|
97
|
+
placement.video.protocols = deepAccess(bid, 'mediaTypes.video.protocols') || deepAccess(bid, 'params.video.protocols') || SUPPORTED_VIDEO_PROTOCOLS
|
|
98
|
+
placement.video.mimes = deepAccess(bid, 'mediaTypes.video.mimes') || deepAccess(bid, 'params.video.mimes') || SUPPORTED_VIDEO_MIMES
|
|
99
|
+
placement.video.playbackmethod = deepAccess(bid, 'mediaTypes.video.playbackmethod') || deepAccess(bid, 'params.video.playbackmethod') || SUPPORTED_VIDEO_PLAYBACK_METHODS
|
|
100
|
+
placement.video.skip = deepAccess(bid, 'mediaTypes.video.skip') || deepAccess(bid, 'params.video.skip') || 0
|
|
101
|
+
if (placement.video.skip === 1 && (deepAccess(bid, 'mediaTypes.video.skipafter') || deepAccess(bid, 'params.video.skipafter'))) {
|
|
102
|
+
placement.video.skipafter = deepAccess(bid, 'mediaTypes.video.skipafter') || deepAccess(bid, 'params.video.skipafter')
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
|
|
@@ -131,7 +131,7 @@ function _buildResponse (bid, currency, ttl) {
|
|
|
131
131
|
resp.ad = bid.adm
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
if (
|
|
134
|
+
if (deepAccess(bid, 'dealid')) {
|
|
135
135
|
resp.dealId = bid.dealid
|
|
136
136
|
}
|
|
137
137
|
|
|
@@ -143,30 +143,30 @@ export const spec = {
|
|
|
143
143
|
supportedMediaTypes: ['banner', 'video'],
|
|
144
144
|
|
|
145
145
|
isBidRequestValid: function (bid) {
|
|
146
|
-
if (!
|
|
147
|
-
|
|
146
|
+
if (!deepAccess(bid, 'params.placementId')) {
|
|
147
|
+
logWarn('placementId param is reqeuired.')
|
|
148
148
|
return false
|
|
149
149
|
}
|
|
150
|
-
if (
|
|
150
|
+
if (deepAccess(bid, 'mediaTypes.banner.sizes')) {
|
|
151
151
|
let isValid = _validateSizes(bid.mediaTypes.banner.sizes, 'banner')
|
|
152
152
|
if (!isValid) {
|
|
153
|
-
|
|
153
|
+
logWarn('Bid sizes are invalid.')
|
|
154
154
|
}
|
|
155
155
|
return isValid
|
|
156
|
-
} else if (
|
|
156
|
+
} else if (deepAccess(bid, 'mediaTypes.video.playerSize')) {
|
|
157
157
|
let isValid = _validateSizes(bid.mediaTypes.video.playerSize, 'video')
|
|
158
158
|
if (!isValid) {
|
|
159
|
-
|
|
159
|
+
logWarn('Bid sizes are invalid.')
|
|
160
160
|
}
|
|
161
161
|
return isValid
|
|
162
|
-
} else if (
|
|
162
|
+
} else if (deepAccess(bid, 'sizes')) {
|
|
163
163
|
let isValid = _validateSizes(bid.sizes, 'old')
|
|
164
164
|
if (!isValid) {
|
|
165
|
-
|
|
165
|
+
logWarn('Bid sizes are invalid.')
|
|
166
166
|
}
|
|
167
167
|
return isValid
|
|
168
168
|
} else {
|
|
169
|
-
|
|
169
|
+
logWarn('Bid sizes are required.')
|
|
170
170
|
return false
|
|
171
171
|
}
|
|
172
172
|
},
|
|
@@ -195,7 +195,7 @@ export const spec = {
|
|
|
195
195
|
};
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
-
|
|
198
|
+
_each(validBidRequests, function (bid) {
|
|
199
199
|
requestBody.imp.push(_buildBid(bid))
|
|
200
200
|
})
|
|
201
201
|
// Return the server request
|
|
@@ -210,9 +210,9 @@ export const spec = {
|
|
|
210
210
|
const bidResponses = []
|
|
211
211
|
|
|
212
212
|
// response is not empty (HTTP 204)
|
|
213
|
-
if (!
|
|
214
|
-
|
|
215
|
-
|
|
213
|
+
if (!isEmpty(serverResponse.body)) {
|
|
214
|
+
_each(serverResponse.body.seatbid, function (seatbid) {
|
|
215
|
+
_each(seatbid.bid, function (bid) {
|
|
216
216
|
bidResponses.push(_buildResponse(bid, serverResponse.body.cur, serverResponse.body.ext.ttl))
|
|
217
217
|
})
|
|
218
218
|
})
|
|
@@ -223,8 +223,8 @@ export const spec = {
|
|
|
223
223
|
getUserSyncs: function (syncOptions, serverResponses) {
|
|
224
224
|
const syncs = []
|
|
225
225
|
|
|
226
|
-
if (
|
|
227
|
-
|
|
226
|
+
if (deepAccess(serverResponses[0], 'body.ext.usersync') && !isEmpty(serverResponses[0].body.ext.usersync)) {
|
|
227
|
+
_each(serverResponses[0].body.ext.usersync, function (match) {
|
|
228
228
|
if ((syncOptions.iframeEnabled && match.type === 'iframe') || (syncOptions.pixelEnabled && match.type === 'image')) {
|
|
229
229
|
syncs.push({
|
|
230
230
|
type: match.type,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { getDNT, inIframe, isArray, isNumber, logError, deepAccess, logWarn } from '../src/utils.js';
|
|
2
2
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
3
3
|
import {config} from '../src/config.js';
|
|
4
4
|
import {Renderer} from '../src/Renderer.js';
|
|
@@ -76,7 +76,7 @@ export const spec = {
|
|
|
76
76
|
},
|
|
77
77
|
device: {
|
|
78
78
|
ua: navigator.userAgent,
|
|
79
|
-
dnt:
|
|
79
|
+
dnt: getDNT() ? 1 : 0,
|
|
80
80
|
h: screen.height,
|
|
81
81
|
w: screen.width,
|
|
82
82
|
language: navigator.language
|
|
@@ -129,7 +129,7 @@ export const spec = {
|
|
|
129
129
|
w: sizes.length ? sizes[0][0] : 300,
|
|
130
130
|
h: sizes.length ? sizes[0][1] : 250,
|
|
131
131
|
pos: params.pos || 0,
|
|
132
|
-
topframe:
|
|
132
|
+
topframe: inIframe() ? 0 : 1
|
|
133
133
|
}
|
|
134
134
|
});
|
|
135
135
|
rtbBidRequest.imp.push(bannerImp);
|
|
@@ -147,10 +147,10 @@ export const spec = {
|
|
|
147
147
|
};
|
|
148
148
|
|
|
149
149
|
let playerSize = mediaTypes.video.playerSize || sizes;
|
|
150
|
-
if (
|
|
150
|
+
if (isArray(playerSize[0])) {
|
|
151
151
|
videoImp.video.w = playerSize[0][0];
|
|
152
152
|
videoImp.video.h = playerSize[0][1];
|
|
153
|
-
} else if (
|
|
153
|
+
} else if (isNumber(playerSize[0])) {
|
|
154
154
|
videoImp.video.w = playerSize[0];
|
|
155
155
|
videoImp.video.h = playerSize[1];
|
|
156
156
|
} else {
|
|
@@ -179,7 +179,7 @@ export const spec = {
|
|
|
179
179
|
interpretResponse: function (serverResponse, bidRequest) {
|
|
180
180
|
const response = serverResponse && serverResponse.body;
|
|
181
181
|
if (!response) {
|
|
182
|
-
|
|
182
|
+
logError('empty response');
|
|
183
183
|
return [];
|
|
184
184
|
}
|
|
185
185
|
|
|
@@ -203,7 +203,7 @@ export const spec = {
|
|
|
203
203
|
};
|
|
204
204
|
|
|
205
205
|
if (
|
|
206
|
-
|
|
206
|
+
deepAccess(
|
|
207
207
|
bidRequest.bidRequest,
|
|
208
208
|
'mediaTypes.' + outBid.mediaType
|
|
209
209
|
)
|
|
@@ -211,7 +211,7 @@ export const spec = {
|
|
|
211
211
|
if (outBid.mediaType === BANNER) {
|
|
212
212
|
outBids.push(Object.assign({}, outBid, {ad: bid.adm}));
|
|
213
213
|
} else if (outBid.mediaType === VIDEO) {
|
|
214
|
-
const context =
|
|
214
|
+
const context = deepAccess(
|
|
215
215
|
bidRequest.bidRequest,
|
|
216
216
|
'mediaTypes.video.context'
|
|
217
217
|
);
|
|
@@ -287,7 +287,7 @@ function newRenderer(bidRequest, bid, rendererOptions = {}) {
|
|
|
287
287
|
try {
|
|
288
288
|
renderer.setRender(renderOutstream);
|
|
289
289
|
} catch (err) {
|
|
290
|
-
|
|
290
|
+
logWarn('Prebid Error calling setRender on renderer', err);
|
|
291
291
|
}
|
|
292
292
|
return renderer;
|
|
293
293
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { _each } from '../src/utils.js';
|
|
2
2
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
3
3
|
import {BANNER, NATIVE} from '../src/mediaTypes.js';
|
|
4
4
|
const BIDDER_CODE = 'clickforce';
|
|
@@ -25,7 +25,7 @@ export const spec = {
|
|
|
25
25
|
*/
|
|
26
26
|
buildRequests: function(validBidRequests) {
|
|
27
27
|
const bidParams = [];
|
|
28
|
-
|
|
28
|
+
_each(validBidRequests, function(bid) {
|
|
29
29
|
bidParams.push({
|
|
30
30
|
z: bid.params.zone,
|
|
31
31
|
bidId: bid.bidId
|
|
@@ -51,12 +51,12 @@ export const spec = {
|
|
|
51
51
|
const bidRequestList = [];
|
|
52
52
|
|
|
53
53
|
if (typeof bidRequest != 'undefined') {
|
|
54
|
-
|
|
54
|
+
_each(bidRequest.validBidRequests, function(req) {
|
|
55
55
|
bidRequestList[req.bidId] = req;
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
_each(serverResponse.body, function(response) {
|
|
60
60
|
if (response.requestId != null) {
|
|
61
61
|
// native ad size
|
|
62
62
|
if (response.width == 3) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { parseSizesInput, logError, isEmpty } from '../src/utils.js';
|
|
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'
|
|
@@ -34,14 +34,14 @@ export const spec = {
|
|
|
34
34
|
*/
|
|
35
35
|
buildRequests: function (validBidRequests, bidderRequest) {
|
|
36
36
|
return validBidRequests.map(bidRequest => {
|
|
37
|
-
const sizes =
|
|
37
|
+
const sizes = parseSizesInput(bidRequest.params.size || bidRequest.sizes);
|
|
38
38
|
const currency =
|
|
39
39
|
config.getConfig(`currency.bidderCurrencyDefault.${BIDDER_CODE}`) ||
|
|
40
40
|
config.getConfig('currency.adServerCurrency') ||
|
|
41
41
|
DEFAULT_CURRENCY;
|
|
42
42
|
|
|
43
43
|
if (ALLOWED_CURRENCIES.indexOf(currency) === -1) {
|
|
44
|
-
|
|
44
|
+
logError('Currency is not supported - ' + currency);
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -72,7 +72,7 @@ export const spec = {
|
|
|
72
72
|
const bidResponses = [];
|
|
73
73
|
const response = serverResponse.body;
|
|
74
74
|
|
|
75
|
-
if (
|
|
75
|
+
if (isEmpty(response)) {
|
|
76
76
|
return bidResponses;
|
|
77
77
|
}
|
|
78
78
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { parseSizesInput } from '../src/utils.js';
|
|
2
2
|
import {config} from '../src/config.js';
|
|
3
3
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
4
4
|
|
|
@@ -31,7 +31,7 @@ export const spec = {
|
|
|
31
31
|
return [];
|
|
32
32
|
}
|
|
33
33
|
return validBidRequests.map(bidRequest => {
|
|
34
|
-
const sizes =
|
|
34
|
+
const sizes = parseSizesInput(bidRequest.params.size || bidRequest.sizes)[0];
|
|
35
35
|
const width = sizes.split('x')[0];
|
|
36
36
|
const height = sizes.split('x')[1];
|
|
37
37
|
const payload = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { getWindowTop, deepAccess, logMessage } from '../src/utils.js';
|
|
1
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
2
3
|
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
|
|
3
|
-
import * as utils from '../src/utils.js';
|
|
4
4
|
|
|
5
5
|
const BIDDER_CODE = 'colossusssp';
|
|
6
6
|
const G_URL = 'https://colossusssp.com/?c=o&m=multi';
|
|
@@ -56,7 +56,7 @@ export const spec = {
|
|
|
56
56
|
* @return ServerRequest Info describing the request to the server.
|
|
57
57
|
*/
|
|
58
58
|
buildRequests: (validBidRequests, bidderRequest) => {
|
|
59
|
-
const winTop =
|
|
59
|
+
const winTop = getWindowTop();
|
|
60
60
|
const location = winTop.location;
|
|
61
61
|
let placements = [];
|
|
62
62
|
let request = {
|
|
@@ -106,6 +106,10 @@ export const spec = {
|
|
|
106
106
|
if (bid.schain) {
|
|
107
107
|
placement.schain = bid.schain;
|
|
108
108
|
}
|
|
109
|
+
let gpid = deepAccess(bid, 'ortb2Imp.ext.data.pbadslot');
|
|
110
|
+
if (gpid) {
|
|
111
|
+
placement.gpid = gpid;
|
|
112
|
+
}
|
|
109
113
|
if (bid.userId) {
|
|
110
114
|
getUserId(placement.eids, bid.userId.britepoolid, 'britepool.com');
|
|
111
115
|
getUserId(placement.eids, bid.userId.idl_env, 'identityLink');
|
|
@@ -161,7 +165,7 @@ export const spec = {
|
|
|
161
165
|
}
|
|
162
166
|
}
|
|
163
167
|
} catch (e) {
|
|
164
|
-
|
|
168
|
+
logMessage(e);
|
|
165
169
|
};
|
|
166
170
|
return response;
|
|
167
171
|
},
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { logMessage } from '../src/utils.js';
|
|
1
2
|
import {ajax} from '../src/ajax.js';
|
|
2
3
|
import adapter from '../src/AnalyticsAdapter.js';
|
|
3
4
|
import CONSTANTS from '../src/constants.json';
|
|
4
5
|
import adapterManager from '../src/adapterManager.js';
|
|
5
|
-
import * as utils from '../src/utils.js';
|
|
6
6
|
|
|
7
7
|
const analyticsType = 'endpoint';
|
|
8
8
|
|
|
@@ -90,7 +90,7 @@ function sendEvents() {
|
|
|
90
90
|
if (!queue.length) return;
|
|
91
91
|
|
|
92
92
|
if (!pageIncludedInSample) {
|
|
93
|
-
|
|
93
|
+
logMessage('Page not included in sample for Concert Analytics');
|
|
94
94
|
return;
|
|
95
95
|
}
|
|
96
96
|
|
|
@@ -100,7 +100,7 @@ function sendEvents() {
|
|
|
100
100
|
contentType: 'application/json',
|
|
101
101
|
method: 'POST'
|
|
102
102
|
});
|
|
103
|
-
} catch (err) {
|
|
103
|
+
} catch (err) { logMessage('Concert Analytics error') }
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
// save the base class function
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import * as utils from '../src/utils.js';
|
|
1
|
+
import { logWarn, logMessage, debugTurnedOn, generateUUID } from '../src/utils.js';
|
|
3
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
4
3
|
import { getStorageManager } from '../src/storageManager.js'
|
|
5
4
|
|
|
@@ -17,7 +16,7 @@ export const spec = {
|
|
|
17
16
|
*/
|
|
18
17
|
isBidRequestValid: function(bid) {
|
|
19
18
|
if (!bid.params.partnerId) {
|
|
20
|
-
|
|
19
|
+
logWarn('Missing partnerId bid parameter');
|
|
21
20
|
return false;
|
|
22
21
|
}
|
|
23
22
|
|
|
@@ -32,14 +31,14 @@ export const spec = {
|
|
|
32
31
|
* @return ServerRequest Info describing the request to the server.
|
|
33
32
|
*/
|
|
34
33
|
buildRequests: function(validBidRequests, bidderRequest) {
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
logMessage(validBidRequests);
|
|
35
|
+
logMessage(bidderRequest);
|
|
37
36
|
let payload = {
|
|
38
37
|
meta: {
|
|
39
38
|
prebidVersion: '$prebid.version$',
|
|
40
39
|
pageUrl: bidderRequest.refererInfo.referer,
|
|
41
40
|
screen: [window.screen.width, window.screen.height].join('x'),
|
|
42
|
-
debug:
|
|
41
|
+
debug: debugTurnedOn(),
|
|
43
42
|
uid: getUid(bidderRequest),
|
|
44
43
|
optedOut: hasOptedOutOfPersonalization(),
|
|
45
44
|
adapterVersion: '1.1.1',
|
|
@@ -64,7 +63,7 @@ export const spec = {
|
|
|
64
63
|
return slot;
|
|
65
64
|
});
|
|
66
65
|
|
|
67
|
-
|
|
66
|
+
logMessage(payload);
|
|
68
67
|
|
|
69
68
|
return {
|
|
70
69
|
method: 'POST',
|
|
@@ -79,8 +78,8 @@ export const spec = {
|
|
|
79
78
|
* @return {Bid[]} An array of bids which were nested inside the server.
|
|
80
79
|
*/
|
|
81
80
|
interpretResponse: function(serverResponse, bidRequest) {
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
logMessage(serverResponse);
|
|
82
|
+
logMessage(bidRequest);
|
|
84
83
|
|
|
85
84
|
const serverBody = serverResponse.body;
|
|
86
85
|
|
|
@@ -105,11 +104,11 @@ export const spec = {
|
|
|
105
104
|
}
|
|
106
105
|
});
|
|
107
106
|
|
|
108
|
-
if (
|
|
109
|
-
|
|
107
|
+
if (debugTurnedOn() && serverBody.debug) {
|
|
108
|
+
logMessage(`CONCERT`, serverBody.debug);
|
|
110
109
|
}
|
|
111
110
|
|
|
112
|
-
|
|
111
|
+
logMessage(bidResponses);
|
|
113
112
|
return bidResponses;
|
|
114
113
|
},
|
|
115
114
|
|
|
@@ -150,8 +149,8 @@ export const spec = {
|
|
|
150
149
|
* @param {data} Containing timeout specific data
|
|
151
150
|
*/
|
|
152
151
|
onTimeout: function(data) {
|
|
153
|
-
|
|
154
|
-
|
|
152
|
+
logMessage('concert bidder timed out');
|
|
153
|
+
logMessage(data);
|
|
155
154
|
},
|
|
156
155
|
|
|
157
156
|
/**
|
|
@@ -159,8 +158,8 @@ export const spec = {
|
|
|
159
158
|
* @param {Bid} The bid that won the auction
|
|
160
159
|
*/
|
|
161
160
|
onBidWon: function(bid) {
|
|
162
|
-
|
|
163
|
-
|
|
161
|
+
logMessage('concert bidder won bid');
|
|
162
|
+
logMessage(bid);
|
|
164
163
|
}
|
|
165
164
|
|
|
166
165
|
}
|
|
@@ -182,7 +181,7 @@ function getUid(bidderRequest) {
|
|
|
182
181
|
let uid = storage.getDataFromLocalStorage(CONCERT_UID_KEY);
|
|
183
182
|
|
|
184
183
|
if (!uid) {
|
|
185
|
-
uid =
|
|
184
|
+
uid = generateUUID();
|
|
186
185
|
storage.setDataInLocalStorage(CONCERT_UID_KEY, uid);
|
|
187
186
|
}
|
|
188
187
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { deepSetValue, convertTypes, tryAppendQueryString, logWarn } from '../src/utils.js';
|
|
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';
|
|
@@ -47,12 +47,12 @@ export const spec = {
|
|
|
47
47
|
|
|
48
48
|
// coppa compliance
|
|
49
49
|
if (config.getConfig('coppa') === true) {
|
|
50
|
-
|
|
50
|
+
deepSetValue(data, 'user.coppa', 1);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
// adding schain object
|
|
54
54
|
if (validBidRequests[0].schain) {
|
|
55
|
-
|
|
55
|
+
deepSetValue(data, 'source.ext.schain', validBidRequests[0].schain);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
// Attaching GDPR Consent Params
|
|
@@ -61,18 +61,18 @@ export const spec = {
|
|
|
61
61
|
if (typeof bidderRequest.gdprConsent.gdprApplies === 'boolean') {
|
|
62
62
|
gdprApplies = bidderRequest.gdprConsent.gdprApplies ? 1 : 0;
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
deepSetValue(data, 'user.ext.gdpr', gdprApplies);
|
|
65
|
+
deepSetValue(data, 'user.ext.consent', bidderRequest.gdprConsent.consentString);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
// CCPA
|
|
69
69
|
if (bidderRequest.uspConsent) {
|
|
70
|
-
|
|
70
|
+
deepSetValue(data, 'user.ext.us_privacy', bidderRequest.uspConsent);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
// EIDS Support
|
|
74
74
|
if (validBidRequests[0].userId) {
|
|
75
|
-
|
|
75
|
+
deepSetValue(data, 'user.ext.eids', createEidsArray(validBidRequests[0].userId));
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
validBidRequests.map(bid => {
|
|
@@ -139,7 +139,7 @@ export const spec = {
|
|
|
139
139
|
},
|
|
140
140
|
|
|
141
141
|
transformBidParams: function (params, isOpenRtb) {
|
|
142
|
-
return
|
|
142
|
+
return convertTypes({
|
|
143
143
|
'siteId': 'number',
|
|
144
144
|
'networkId': 'number'
|
|
145
145
|
}, params);
|
|
@@ -149,19 +149,19 @@ export const spec = {
|
|
|
149
149
|
let syncEndpoint = 'https://cdn.connectad.io/connectmyusers.php?';
|
|
150
150
|
|
|
151
151
|
if (gdprConsent) {
|
|
152
|
-
syncEndpoint =
|
|
152
|
+
syncEndpoint = tryAppendQueryString(syncEndpoint, 'gdpr', (gdprConsent.gdprApplies ? 1 : 0));
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
if (gdprConsent && typeof gdprConsent.consentString === 'string') {
|
|
156
|
-
syncEndpoint =
|
|
156
|
+
syncEndpoint = tryAppendQueryString(syncEndpoint, 'gdpr_consent', gdprConsent.consentString);
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
if (uspConsent) {
|
|
160
|
-
syncEndpoint =
|
|
160
|
+
syncEndpoint = tryAppendQueryString(syncEndpoint, 'us_privacy', uspConsent);
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
if (config.getConfig('coppa') === true) {
|
|
164
|
-
syncEndpoint =
|
|
164
|
+
syncEndpoint = tryAppendQueryString(syncEndpoint, 'coppa', 1);
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
if (syncOptions.iframeEnabled) {
|
|
@@ -170,7 +170,7 @@ export const spec = {
|
|
|
170
170
|
url: syncEndpoint
|
|
171
171
|
}];
|
|
172
172
|
} else {
|
|
173
|
-
|
|
173
|
+
logWarn('Bidder ConnectAd: Please activate iFrame Sync');
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
};
|