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,6 +1,6 @@
|
|
|
1
|
+
import { isFn, 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 = 'boldwin';
|
|
6
6
|
const AD_URL = 'https://ssp.videowalldirect.com/pbjs';
|
|
@@ -24,8 +24,8 @@ function isBidResponseValid(bid) {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
function getBidFloor(bid) {
|
|
27
|
-
if (!
|
|
28
|
-
return
|
|
27
|
+
if (!isFn(bid.getFloor)) {
|
|
28
|
+
return deepAccess(bid, 'params.bidfloor', 0);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
try {
|
|
@@ -56,7 +56,7 @@ export const spec = {
|
|
|
56
56
|
winTop = window.top;
|
|
57
57
|
} catch (e) {
|
|
58
58
|
location = winTop.location;
|
|
59
|
-
|
|
59
|
+
logMessage(e);
|
|
60
60
|
};
|
|
61
61
|
let placements = [];
|
|
62
62
|
let request = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { parseUrl, isEmpty, isStr, triggerPixel } from '../src/utils.js';
|
|
2
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
3
3
|
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
|
|
4
4
|
import { config } from '../src/config.js';
|
|
@@ -90,7 +90,7 @@ export const spec = {
|
|
|
90
90
|
ua: navigator.userAgent,
|
|
91
91
|
},
|
|
92
92
|
site: {
|
|
93
|
-
domain:
|
|
93
|
+
domain: parseUrl(page).hostname,
|
|
94
94
|
page: page,
|
|
95
95
|
},
|
|
96
96
|
tmax: bidderRequest.timeout || config.getConfig('bidderTimeout') || 500,
|
|
@@ -134,7 +134,7 @@ export const spec = {
|
|
|
134
134
|
* @return {Bid[]} An array of bids which were nested inside the server.
|
|
135
135
|
*/
|
|
136
136
|
interpretResponse: (serverResponse) => {
|
|
137
|
-
if (!serverResponse ||
|
|
137
|
+
if (!serverResponse || isEmpty(serverResponse.body)) return [];
|
|
138
138
|
|
|
139
139
|
let bids = [];
|
|
140
140
|
serverResponse.body.seatbid.forEach(response => {
|
|
@@ -173,8 +173,8 @@ export const spec = {
|
|
|
173
173
|
},
|
|
174
174
|
|
|
175
175
|
onBidWon: (bid) => {
|
|
176
|
-
if (
|
|
177
|
-
|
|
176
|
+
if (isStr(bid.nurl) && bid.nurl !== '') {
|
|
177
|
+
triggerPixel(bid.nurl);
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { _each, inIframe, deepSetValue } from '../src/utils.js';
|
|
2
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
3
3
|
import { BANNER, NATIVE } from '../src/mediaTypes.js';
|
|
4
4
|
import find from 'core-js-pure/features/array/find.js';
|
|
@@ -40,7 +40,7 @@ export const spec = {
|
|
|
40
40
|
var bidderUrl = REQUEST_ENDPOINT + Math.random();
|
|
41
41
|
var userIds;
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
_each(validBidRequests, function (bid) {
|
|
44
44
|
userIds = bid.userId;
|
|
45
45
|
|
|
46
46
|
if (bid.params.cid) {
|
|
@@ -83,7 +83,7 @@ export const spec = {
|
|
|
83
83
|
prebid: '$prebid.version$',
|
|
84
84
|
bridgewell: BIDDER_VERSION
|
|
85
85
|
},
|
|
86
|
-
inIframe:
|
|
86
|
+
inIframe: inIframe(),
|
|
87
87
|
url: topUrl,
|
|
88
88
|
referrer: getTopWindowReferrer(),
|
|
89
89
|
adUnits: adUnits,
|
|
@@ -104,7 +104,7 @@ export const spec = {
|
|
|
104
104
|
const bidResponses = [];
|
|
105
105
|
|
|
106
106
|
// map responses to requests
|
|
107
|
-
|
|
107
|
+
_each(bidRequest.validBidRequests, function (req) {
|
|
108
108
|
const bidResponse = {};
|
|
109
109
|
|
|
110
110
|
if (!serverResponse.body) {
|
|
@@ -168,7 +168,7 @@ export const spec = {
|
|
|
168
168
|
bidResponse.mediaType = matchedResponse.mediaType;
|
|
169
169
|
|
|
170
170
|
if (matchedResponse.adomain) {
|
|
171
|
-
|
|
171
|
+
deepSetValue(bidResponse, 'meta.advertiserDomains', Array.isArray(matchedResponse.adomain) ? matchedResponse.adomain : [matchedResponse.adomain]);
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
// check required parameters by matchedResponse.mediaType
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { generateUUID, deepAccess, logWarn, deepSetValue } from '../src/utils.js';
|
|
1
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
2
3
|
import { BANNER, VIDEO } from '../src/mediaTypes.js';
|
|
3
|
-
import * as utils from '../src/utils.js';
|
|
4
4
|
import { config } from '../src/config.js';
|
|
5
5
|
|
|
6
6
|
const BIDDER_CODE = 'bmtm';
|
|
@@ -38,7 +38,7 @@ export const spec = {
|
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
validBidRequests.forEach((bid) => {
|
|
41
|
-
oRTBRequest['id'] =
|
|
41
|
+
oRTBRequest['id'] = generateUUID();
|
|
42
42
|
oRTBRequest['imp'] = [
|
|
43
43
|
{
|
|
44
44
|
id: '1',
|
|
@@ -52,7 +52,7 @@ export const spec = {
|
|
|
52
52
|
},
|
|
53
53
|
];
|
|
54
54
|
|
|
55
|
-
if (
|
|
55
|
+
if (deepAccess(bid, 'mediaTypes.banner')) {
|
|
56
56
|
if (bid.mediaTypes.banner.sizes) {
|
|
57
57
|
size = bid.mediaTypes.banner.sizes[0];
|
|
58
58
|
}
|
|
@@ -106,7 +106,7 @@ export const spec = {
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
if (!response || !bid || !bid.adm || !bid.price) {
|
|
109
|
-
|
|
109
|
+
logWarn(`Bidder ${spec.code} no valid bid`);
|
|
110
110
|
return [];
|
|
111
111
|
}
|
|
112
112
|
|
|
@@ -117,7 +117,7 @@ export const spec = {
|
|
|
117
117
|
width: bid.w,
|
|
118
118
|
height: bid.h,
|
|
119
119
|
creativeId: bid.crid,
|
|
120
|
-
mediaType:
|
|
120
|
+
mediaType: deepAccess(bidRequest, 'mediaTypes.banner') ? BANNER : VIDEO,
|
|
121
121
|
ttl: 3000,
|
|
122
122
|
netRevenue: true,
|
|
123
123
|
meta: {
|
|
@@ -157,12 +157,12 @@ function buildSite(bidderRequest) {
|
|
|
157
157
|
};
|
|
158
158
|
|
|
159
159
|
if (bidderRequest && bidderRequest.refererInfo) {
|
|
160
|
-
|
|
160
|
+
deepSetValue(
|
|
161
161
|
site,
|
|
162
162
|
'page',
|
|
163
163
|
bidderRequest.refererInfo.referer.href ? bidderRequest.refererInfo.referer.href : '',
|
|
164
164
|
);
|
|
165
|
-
|
|
165
|
+
deepSetValue(
|
|
166
166
|
site,
|
|
167
167
|
'ref',
|
|
168
168
|
bidderRequest.refererInfo.referer ? bidderRequest.refererInfo.referer : '',
|
|
@@ -189,12 +189,12 @@ function buildRegs(bidderRequest) {
|
|
|
189
189
|
};
|
|
190
190
|
|
|
191
191
|
if (bidderRequest && bidderRequest.gdprConsent) {
|
|
192
|
-
|
|
192
|
+
deepSetValue(
|
|
193
193
|
regs,
|
|
194
194
|
'ext.gdpr',
|
|
195
195
|
bidderRequest.gdprConsent.gdprApplies ? 1 : 0,
|
|
196
196
|
);
|
|
197
|
-
|
|
197
|
+
deepSetValue(
|
|
198
198
|
regs,
|
|
199
199
|
'ext.gdprConsentString',
|
|
200
200
|
bidderRequest.gdprConsent.consentString || 'ALL',
|
|
@@ -202,7 +202,7 @@ function buildRegs(bidderRequest) {
|
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
if (bidderRequest && bidderRequest.uspConsent) {
|
|
205
|
-
|
|
205
|
+
deepSetValue(regs,
|
|
206
206
|
'ext.us_privacy',
|
|
207
207
|
bidderRequest.uspConsent);
|
|
208
208
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { getBidIdParameter, _each, isArray, getWindowTop, getUniqueIdentifierStr, parseUrl, deepSetValue, logError, logWarn, createTrackPixelHtml, getWindowSelf, isFn, isPlainObject } 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';
|
|
@@ -22,17 +22,17 @@ function buildRequests(bidReqs, bidderRequest) {
|
|
|
22
22
|
referrer = bidderRequest.refererInfo.referer;
|
|
23
23
|
}
|
|
24
24
|
const brightcomImps = [];
|
|
25
|
-
const publisherId =
|
|
26
|
-
|
|
25
|
+
const publisherId = getBidIdParameter('publisherId', bidReqs[0].params);
|
|
26
|
+
_each(bidReqs, function (bid) {
|
|
27
27
|
let bidSizes = (bid.mediaTypes && bid.mediaTypes.banner && bid.mediaTypes.banner.sizes) || bid.sizes;
|
|
28
|
-
bidSizes = ((
|
|
29
|
-
bidSizes = bidSizes.filter(size =>
|
|
28
|
+
bidSizes = ((isArray(bidSizes) && isArray(bidSizes[0])) ? bidSizes : [bidSizes]);
|
|
29
|
+
bidSizes = bidSizes.filter(size => isArray(size));
|
|
30
30
|
const processedSizes = bidSizes.map(size => ({w: parseInt(size[0], 10), h: parseInt(size[1], 10)}));
|
|
31
31
|
|
|
32
32
|
const element = document.getElementById(bid.adUnitCode);
|
|
33
33
|
const minSize = _getMinSize(processedSizes);
|
|
34
34
|
const viewabilityAmount = _isViewabilityMeasurable(element)
|
|
35
|
-
? _getViewability(element,
|
|
35
|
+
? _getViewability(element, getWindowTop(), minSize)
|
|
36
36
|
: 'na';
|
|
37
37
|
const viewabilityAmountRounded = isNaN(viewabilityAmount) ? viewabilityAmount : Math.round(viewabilityAmount);
|
|
38
38
|
|
|
@@ -53,10 +53,10 @@ function buildRequests(bidReqs, bidderRequest) {
|
|
|
53
53
|
brightcomImps.push(imp);
|
|
54
54
|
});
|
|
55
55
|
const brightcomBidReq = {
|
|
56
|
-
id:
|
|
56
|
+
id: getUniqueIdentifierStr(),
|
|
57
57
|
imp: brightcomImps,
|
|
58
58
|
site: {
|
|
59
|
-
domain:
|
|
59
|
+
domain: parseUrl(referrer).host,
|
|
60
60
|
page: referrer,
|
|
61
61
|
publisher: {
|
|
62
62
|
id: publisherId
|
|
@@ -71,8 +71,8 @@ function buildRequests(bidReqs, bidderRequest) {
|
|
|
71
71
|
};
|
|
72
72
|
|
|
73
73
|
if (bidderRequest && bidderRequest.gdprConsent) {
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
deepSetValue(brightcomBidReq, 'regs.ext.gdpr', +bidderRequest.gdprConsent.gdprApplies);
|
|
75
|
+
deepSetValue(brightcomBidReq, 'user.ext.consent', bidderRequest.gdprConsent.consentString);
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
return {
|
|
@@ -82,7 +82,7 @@ function buildRequests(bidReqs, bidderRequest) {
|
|
|
82
82
|
options: {contentType: 'text/plain', withCredentials: false}
|
|
83
83
|
};
|
|
84
84
|
} catch (e) {
|
|
85
|
-
|
|
85
|
+
logError(e, {bidReqs, bidderRequest});
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
|
|
@@ -100,7 +100,7 @@ function isBidRequestValid(bid) {
|
|
|
100
100
|
|
|
101
101
|
function interpretResponse(serverResponse) {
|
|
102
102
|
if (!serverResponse.body || typeof serverResponse.body != 'object') {
|
|
103
|
-
|
|
103
|
+
logWarn('Brightcom server returned empty/non-json response: ' + JSON.stringify(serverResponse.body));
|
|
104
104
|
return [];
|
|
105
105
|
}
|
|
106
106
|
const { body: {id, seatbid} } = serverResponse;
|
|
@@ -131,7 +131,7 @@ function interpretResponse(serverResponse) {
|
|
|
131
131
|
}
|
|
132
132
|
return brightcomBidResponses;
|
|
133
133
|
} catch (e) {
|
|
134
|
-
|
|
134
|
+
logError(e, {id, seatbid});
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
|
|
@@ -155,7 +155,7 @@ function _getDeviceType() {
|
|
|
155
155
|
function _getAdMarkup(bid) {
|
|
156
156
|
let adm = bid.adm;
|
|
157
157
|
if ('nurl' in bid) {
|
|
158
|
-
adm +=
|
|
158
|
+
adm += createTrackPixelHtml(bid.nurl);
|
|
159
159
|
}
|
|
160
160
|
return adm;
|
|
161
161
|
}
|
|
@@ -165,14 +165,14 @@ function _isViewabilityMeasurable(element) {
|
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
function _getViewability(element, topWin, { w, h } = {}) {
|
|
168
|
-
return
|
|
168
|
+
return getWindowTop().document.visibilityState === 'visible'
|
|
169
169
|
? _getPercentInView(element, topWin, { w, h })
|
|
170
170
|
: 0;
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
function _isIframe() {
|
|
174
174
|
try {
|
|
175
|
-
return
|
|
175
|
+
return getWindowSelf() !== getWindowTop();
|
|
176
176
|
} catch (e) {
|
|
177
177
|
return true;
|
|
178
178
|
}
|
|
@@ -252,7 +252,7 @@ function _getPercentInView(element, topWin, { w, h } = {}) {
|
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
function _getBidFloor(bid) {
|
|
255
|
-
if (!
|
|
255
|
+
if (!isFn(bid.getFloor)) {
|
|
256
256
|
return bid.params.bidFloor ? bid.params.bidFloor : null;
|
|
257
257
|
}
|
|
258
258
|
|
|
@@ -261,7 +261,7 @@ function _getBidFloor(bid) {
|
|
|
261
261
|
mediaType: '*',
|
|
262
262
|
size: '*'
|
|
263
263
|
});
|
|
264
|
-
if (
|
|
264
|
+
if (isPlainObject(floor) && !isNaN(floor.floor) && floor.currency === 'USD') {
|
|
265
265
|
return floor.floor;
|
|
266
266
|
}
|
|
267
267
|
return null;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @requires module:modules/userId
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import
|
|
8
|
+
import { isEmpty, triggerPixel, logError } from '../src/utils.js';
|
|
9
9
|
import {ajax} from '../src/ajax.js';
|
|
10
10
|
import {submodule} from '../src/hook.js';
|
|
11
11
|
const PIXEL = 'https://px.britepool.com/new?partner_id=t';
|
|
@@ -47,14 +47,14 @@ export const britepoolIdSubmodule = {
|
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
if (
|
|
51
|
-
|
|
50
|
+
if (isEmpty(params)) {
|
|
51
|
+
triggerPixel(PIXEL);
|
|
52
52
|
}
|
|
53
53
|
// Return for async operation
|
|
54
54
|
return {
|
|
55
55
|
callback: function(callback) {
|
|
56
56
|
if (errors.length > 0) {
|
|
57
|
-
errors.forEach(error =>
|
|
57
|
+
errors.forEach(error => logError(error));
|
|
58
58
|
callback();
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
@@ -65,7 +65,7 @@ export const britepoolIdSubmodule = {
|
|
|
65
65
|
callback(britepoolIdSubmodule.normalizeValue(response));
|
|
66
66
|
});
|
|
67
67
|
} catch (error) {
|
|
68
|
-
if (error !== '')
|
|
68
|
+
if (error !== '') logError(error);
|
|
69
69
|
callback();
|
|
70
70
|
}
|
|
71
71
|
} else {
|
|
@@ -75,7 +75,7 @@ export const britepoolIdSubmodule = {
|
|
|
75
75
|
callback(responseObj ? { primaryBPID: responseObj.primaryBPID } : null);
|
|
76
76
|
},
|
|
77
77
|
error: error => {
|
|
78
|
-
if (error !== '')
|
|
78
|
+
if (error !== '') logError(error);
|
|
79
79
|
callback();
|
|
80
80
|
}
|
|
81
81
|
}, JSON.stringify(params), { customHeaders: headers, contentType: 'application/json', method: 'POST', withCredentials: true });
|
|
@@ -132,7 +132,7 @@ export const britepoolIdSubmodule = {
|
|
|
132
132
|
try {
|
|
133
133
|
valueObj = JSON.parse(value);
|
|
134
134
|
} catch (error) {
|
|
135
|
-
|
|
135
|
+
logError(error);
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
return valueObj;
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* @property {?string} keyName
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import
|
|
18
|
+
import { deepClone, logError, isGptPubadsDefined } from '../src/utils.js';
|
|
19
19
|
import {submodule} from '../src/hook.js';
|
|
20
20
|
import {ajaxBuilder} from '../src/ajax.js';
|
|
21
21
|
import {loadExternalScript} from '../src/adloader.js';
|
|
@@ -43,7 +43,7 @@ export function addBrowsiTag(data) {
|
|
|
43
43
|
script.setAttribute('prebidbpt', 'true');
|
|
44
44
|
script.setAttribute('id', 'browsi-tag');
|
|
45
45
|
script.setAttribute('src', data.u);
|
|
46
|
-
script.prebidData =
|
|
46
|
+
script.prebidData = deepClone(data);
|
|
47
47
|
if (_moduleParams.keyName) {
|
|
48
48
|
script.prebidData.kn = _moduleParams.keyName;
|
|
49
49
|
}
|
|
@@ -61,7 +61,7 @@ export function collectData() {
|
|
|
61
61
|
try {
|
|
62
62
|
browsiData = storage.getDataFromLocalStorage('__brtd');
|
|
63
63
|
} catch (e) {
|
|
64
|
-
|
|
64
|
+
logError('unable to parse __brtd');
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
let predictorData = {
|
|
@@ -114,7 +114,7 @@ function sendDataToModule(adUnitsCodes) {
|
|
|
114
114
|
* @return {Object[]} slot GoogleTag slots
|
|
115
115
|
*/
|
|
116
116
|
function getAllSlots() {
|
|
117
|
-
return
|
|
117
|
+
return isGptPubadsDefined() && window.googletag.pubads().getSlots();
|
|
118
118
|
}
|
|
119
119
|
/**
|
|
120
120
|
* get prediction and return valid object for key value set
|
|
@@ -169,7 +169,7 @@ export function getMacroId(macro, slot) {
|
|
|
169
169
|
});
|
|
170
170
|
return macroResult;
|
|
171
171
|
} catch (e) {
|
|
172
|
-
|
|
172
|
+
logError(`failed to evaluate: ${macro}`);
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
return slot.getSlotElementId();
|
|
@@ -211,7 +211,7 @@ function getPredictionsFromServer(url) {
|
|
|
211
211
|
}
|
|
212
212
|
addBrowsiTag(data);
|
|
213
213
|
} catch (err) {
|
|
214
|
-
|
|
214
|
+
logError('unable to parse data');
|
|
215
215
|
setData({})
|
|
216
216
|
}
|
|
217
217
|
} else if (req.status === 204) {
|
|
@@ -221,7 +221,7 @@ function getPredictionsFromServer(url) {
|
|
|
221
221
|
},
|
|
222
222
|
error: function () {
|
|
223
223
|
setData({});
|
|
224
|
-
|
|
224
|
+
logError('unable to get prediction data');
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
);
|
|
@@ -259,7 +259,7 @@ function init(moduleConfig) {
|
|
|
259
259
|
if (_moduleParams && _moduleParams.siteKey && _moduleParams.pubKey && _moduleParams.url) {
|
|
260
260
|
collectData();
|
|
261
261
|
} else {
|
|
262
|
-
|
|
262
|
+
logError('missing params for Browsi provider');
|
|
263
263
|
}
|
|
264
264
|
return true;
|
|
265
265
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { logInfo } from '../src/utils.js';
|
|
1
2
|
import { registerBidder } from '../src/adapters/bidderFactory.js';
|
|
2
3
|
import { BANNER } from '../src/mediaTypes.js';
|
|
3
|
-
import * as utils from '../src/utils.js';
|
|
4
4
|
|
|
5
5
|
const WHO = 'BKSHBID-005';
|
|
6
6
|
const BIDDER_CODE = 'bucksense';
|
|
@@ -17,7 +17,7 @@ export const spec = {
|
|
|
17
17
|
* @return boolean True if this is a valid bid, and false otherwise.
|
|
18
18
|
*/
|
|
19
19
|
isBidRequestValid: function (bid) {
|
|
20
|
-
|
|
20
|
+
logInfo(WHO + ' isBidRequestValid() - INPUT bid:', bid);
|
|
21
21
|
if (bid.bidder !== BIDDER_CODE || typeof bid.params === 'undefined') {
|
|
22
22
|
return false;
|
|
23
23
|
}
|
|
@@ -34,7 +34,7 @@ export const spec = {
|
|
|
34
34
|
* @return ServerRequest Info describing the request to the server.
|
|
35
35
|
*/
|
|
36
36
|
buildRequests: function (validBidRequests, bidderRequest) {
|
|
37
|
-
|
|
37
|
+
logInfo(WHO + ' buildRequests() - INPUT validBidRequests:', validBidRequests, 'INPUT bidderRequest:', bidderRequest);
|
|
38
38
|
let requests = [];
|
|
39
39
|
const len = validBidRequests.length;
|
|
40
40
|
for (let i = 0; i < len; i++) {
|
|
@@ -64,7 +64,7 @@ export const spec = {
|
|
|
64
64
|
data: sendData
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
|
-
|
|
67
|
+
logInfo(WHO + ' buildRequests() - requests:', requests);
|
|
68
68
|
return requests;
|
|
69
69
|
},
|
|
70
70
|
|
|
@@ -75,7 +75,7 @@ export const spec = {
|
|
|
75
75
|
* @return {Bid[]} An array of bids which were nested inside the server.
|
|
76
76
|
*/
|
|
77
77
|
interpretResponse: function (serverResponse, request) {
|
|
78
|
-
|
|
78
|
+
logInfo(WHO + ' interpretResponse() - INPUT serverResponse:', serverResponse, 'INPUT request:', request);
|
|
79
79
|
|
|
80
80
|
const bidResponses = [];
|
|
81
81
|
if (serverResponse.body) {
|
|
@@ -93,12 +93,12 @@ export const spec = {
|
|
|
93
93
|
var sAdomains = oResponse.adomains || [];
|
|
94
94
|
|
|
95
95
|
if (request && sRequestID.length == 0) {
|
|
96
|
-
|
|
96
|
+
logInfo(WHO + ' interpretResponse() - use RequestID from Placments');
|
|
97
97
|
sRequestID = request.data.bid_id || '';
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
if (request && request.data.params.hasOwnProperty('testcpm')) {
|
|
101
|
-
|
|
101
|
+
logInfo(WHO + ' interpretResponse() - use Test CPM ');
|
|
102
102
|
nCPM = request.data.params.testcpm;
|
|
103
103
|
}
|
|
104
104
|
|
|
@@ -118,9 +118,9 @@ export const spec = {
|
|
|
118
118
|
};
|
|
119
119
|
bidResponses.push(bidResponse);
|
|
120
120
|
} else {
|
|
121
|
-
|
|
121
|
+
logInfo(WHO + ' interpretResponse() - serverResponse not valid');
|
|
122
122
|
}
|
|
123
|
-
|
|
123
|
+
logInfo(WHO + ' interpretResponse() - return', bidResponses);
|
|
124
124
|
return bidResponses;
|
|
125
125
|
},
|
|
126
126
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { deepAccess, deepClone } from '../src/utils.js';
|
|
2
2
|
import {registerBidder} from '../src/adapters/bidderFactory.js';
|
|
3
3
|
import {BANNER, VIDEO, NATIVE} from '../src/mediaTypes.js';
|
|
4
4
|
import {Renderer} from '../src/Renderer.js';
|
|
@@ -62,8 +62,8 @@ export const spec = {
|
|
|
62
62
|
|
|
63
63
|
return response.map(bid => {
|
|
64
64
|
let requestBid = requestBids[bid.requestId];
|
|
65
|
-
let context =
|
|
66
|
-
let validBid =
|
|
65
|
+
let context = deepAccess(requestBid, 'mediaTypes.video.context');
|
|
66
|
+
let validBid = deepClone(bid);
|
|
67
67
|
|
|
68
68
|
if (validBid.mediaType === VIDEO && context === OUTSTREAM) {
|
|
69
69
|
let renderer = Renderer.install({
|
|
@@ -88,7 +88,7 @@ export const spec = {
|
|
|
88
88
|
*/
|
|
89
89
|
function setOutstreamRenderer(bid) {
|
|
90
90
|
let adData = JSON.parse(bid.ad);
|
|
91
|
-
let unitSettings =
|
|
91
|
+
let unitSettings = deepAccess(adData, 'placement.unit_settings');
|
|
92
92
|
let extendedSettings = {
|
|
93
93
|
width: '' + bid.width,
|
|
94
94
|
height: '' + bid.height,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { deepClone, logInfo, logError } from '../src/utils.js';
|
|
1
2
|
import Base64 from 'crypto-js/enc-base64';
|
|
2
3
|
import hmacSHA512 from 'crypto-js/hmac-sha512';
|
|
3
4
|
import enc from 'crypto-js/enc-utf8';
|
|
@@ -5,7 +6,6 @@ import adapter from '../src/AnalyticsAdapter.js';
|
|
|
5
6
|
import CONSTANTS from '../src/constants.json';
|
|
6
7
|
import adapterManager from '../src/adapterManager.js';
|
|
7
8
|
import { ajax } from '../src/ajax.js';
|
|
8
|
-
import * as utils from '../src/utils.js';
|
|
9
9
|
|
|
10
10
|
const secretKey = 'bydata@123456';
|
|
11
11
|
const { EVENTS: { NO_BID, BID_TIMEOUT, AUCTION_END } } = CONSTANTS;
|
|
@@ -28,10 +28,10 @@ function onNoBidData(t) {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
function onAuctionEnd(t) {
|
|
31
|
-
|
|
31
|
+
_logInfo('onAuctionEnd', t);
|
|
32
32
|
const {isCorrectOption, logFrequency} = initOptions;
|
|
33
33
|
var value = Math.floor(Math.random() * 10000 + 1);
|
|
34
|
-
|
|
34
|
+
_logInfo(' value - frequency ', (value + '-' + logFrequency));
|
|
35
35
|
setTimeout(() => {
|
|
36
36
|
if (isCorrectOption && value < logFrequency) {
|
|
37
37
|
ascAdapter.dataProcess(t);
|
|
@@ -64,7 +64,7 @@ ascAdapter.originEnableAnalytics = ascAdapter.enableAnalytics;
|
|
|
64
64
|
// override enableAnalytics so we can get access to the config passed in from the page
|
|
65
65
|
ascAdapter.enableAnalytics = function(config) {
|
|
66
66
|
if (this.initConfig(config)) {
|
|
67
|
-
|
|
67
|
+
_logInfo('initiated:', initOptions);
|
|
68
68
|
initOptions.isCorrectOption && ascAdapter.getVisitorData();
|
|
69
69
|
ascAdapter.originEnableAnalytics(config);
|
|
70
70
|
}
|
|
@@ -73,12 +73,12 @@ ascAdapter.enableAnalytics = function(config) {
|
|
|
73
73
|
ascAdapter.initConfig = function (config) {
|
|
74
74
|
let isCorrectOption = true;
|
|
75
75
|
initOptions = {};
|
|
76
|
-
|
|
77
|
-
initOptions.options =
|
|
76
|
+
_logInfo('initConfig', config);
|
|
77
|
+
initOptions.options = deepClone(config.options);
|
|
78
78
|
initOptions.clientId = initOptions.options.clientId || null;
|
|
79
79
|
initOptions.logFrequency = initOptions.options.logFrequency;
|
|
80
80
|
if (!initOptions.clientId) {
|
|
81
|
-
|
|
81
|
+
_logError('"options.clientId" should not empty!!');
|
|
82
82
|
isCorrectOption = false;
|
|
83
83
|
}
|
|
84
84
|
initOptions.isCorrectOption = isCorrectOption;
|
|
@@ -264,7 +264,7 @@ ascAdapter.dataProcess = function(t) {
|
|
|
264
264
|
ascAdapter.sendPayload = function () {
|
|
265
265
|
var obj = { 'records': [ { 'value': payload } ] };
|
|
266
266
|
let strJSON = JSON.stringify(obj);
|
|
267
|
-
|
|
267
|
+
_logInfo(' sendPayload ', JSON.stringify(obj));
|
|
268
268
|
ajax(DEFAULT_EVENT_URL, undefined, strJSON, {
|
|
269
269
|
contentType: 'application/vnd.kafka.json.v2+json',
|
|
270
270
|
method: 'POST',
|
|
@@ -296,12 +296,12 @@ adapterManager.registerAnalyticsAdapter({
|
|
|
296
296
|
code: 'bydata'
|
|
297
297
|
});
|
|
298
298
|
|
|
299
|
-
function
|
|
300
|
-
|
|
299
|
+
function _logInfo(message, meta) {
|
|
300
|
+
logInfo(buildLogMessage(message), meta);
|
|
301
301
|
}
|
|
302
302
|
|
|
303
|
-
function
|
|
304
|
-
|
|
303
|
+
function _logError(message) {
|
|
304
|
+
logError(buildLogMessage(message));
|
|
305
305
|
}
|
|
306
306
|
|
|
307
307
|
function buildLogMessage(message) {
|