prebid.js 8.3.0 → 8.5.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.
Files changed (354) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/a1MediaRtdProvider.js +1 -0
  4. package/dist/adagioBidAdapter.js +1 -1
  5. package/dist/adbookpspBidAdapter.js +1 -1
  6. package/dist/adfBidAdapter.js +1 -1
  7. package/dist/adgenerationBidAdapter.js +1 -1
  8. package/dist/adkernelAdnBidAdapter.js +1 -1
  9. package/dist/adkernelBidAdapter.js +1 -1
  10. package/dist/admanBidAdapter.js +1 -1
  11. package/dist/admixerIdSystem.js +1 -1
  12. package/dist/adnuntiusBidAdapter.js +1 -1
  13. package/dist/adqueryBidAdapter.js +1 -1
  14. package/dist/adqueryIdSystem.js +1 -1
  15. package/dist/adrelevantisBidAdapter.js +1 -1
  16. package/dist/adtelligentIdSystem.js +1 -1
  17. package/dist/adtrgtmeBidAdapter.js +1 -1
  18. package/dist/adxcgBidAdapter.js +1 -1
  19. package/dist/adyoulikeBidAdapter.js +1 -1
  20. package/dist/ajaBidAdapter.js +1 -1
  21. package/dist/amxBidAdapter.js +1 -1
  22. package/dist/amxIdSystem.js +1 -1
  23. package/dist/appierAnalyticsAdapter.js +1 -1
  24. package/dist/appnexusBidAdapter.js +1 -1
  25. package/dist/asoBidAdapter.js +1 -1
  26. package/dist/axonixBidAdapter.js +1 -1
  27. package/dist/beachfrontBidAdapter.js +1 -1
  28. package/dist/bidglassBidAdapter.js +1 -1
  29. package/dist/big-richmediaBidAdapter.js +1 -1
  30. package/dist/brandmetricsRtdProvider.js +1 -1
  31. package/dist/bridBidAdapter.js +1 -1
  32. package/dist/bridgewellBidAdapter.js +1 -1
  33. package/dist/brightMountainMediaBidAdapter.js +1 -1
  34. package/dist/britepoolIdSystem.js +1 -1
  35. package/dist/carodaBidAdapter.js +1 -1
  36. package/dist/chtnwBidAdapter.js +1 -1
  37. package/dist/concertBidAdapter.js +1 -1
  38. package/dist/connectIdSystem.js +1 -1
  39. package/dist/connectadBidAdapter.js +1 -1
  40. package/dist/consentManagementGpp.js +1 -1
  41. package/dist/consumableBidAdapter.js +1 -1
  42. package/dist/conversantAnalyticsAdapter.js +1 -1
  43. package/dist/conversantBidAdapter.js +1 -1
  44. package/dist/craftBidAdapter.js +1 -1
  45. package/dist/criteoBidAdapter.js +1 -1
  46. package/dist/criteoIdSystem.js +1 -1
  47. package/dist/cwireBidAdapter.js +1 -1
  48. package/dist/czechAdIdSystem.js +1 -1
  49. package/dist/dacIdSystem.js +1 -1
  50. package/dist/deepintentDpesIdSystem.js +1 -1
  51. package/dist/dependencies.json +6 -0
  52. package/dist/dmdIdSystem.js +1 -1
  53. package/dist/dspxBidAdapter.js +1 -1
  54. package/dist/eplanningBidAdapter.js +1 -1
  55. package/dist/euidIdSystem.js +1 -1
  56. package/dist/fabrickIdSystem.js +1 -1
  57. package/dist/feedadBidAdapter.js +1 -1
  58. package/dist/finativeBidAdapter.js +1 -1
  59. package/dist/freewheel-sspBidAdapter.js +1 -1
  60. package/dist/ftrackIdSystem.js +1 -1
  61. package/dist/gdprEnforcement.js +1 -1
  62. package/dist/geolocationRtdProvider.js +1 -0
  63. package/dist/gmosspBidAdapter.js +1 -1
  64. package/dist/goldbachBidAdapter.js +1 -1
  65. package/dist/gravitoIdSystem.js +1 -1
  66. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  67. package/dist/greenbidsRtdProvider.js +1 -1
  68. package/dist/gridBidAdapter.js +1 -1
  69. package/dist/growthCodeIdSystem.js +1 -1
  70. package/dist/gumgumBidAdapter.js +1 -1
  71. package/dist/h12mediaBidAdapter.js +1 -1
  72. package/dist/hadronIdSystem.js +1 -1
  73. package/dist/hypelabBidAdapter.js +1 -1
  74. package/dist/id5IdSystem.js +1 -1
  75. package/dist/identityLinkIdSystem.js +1 -1
  76. package/dist/idxIdSystem.js +1 -1
  77. package/dist/imdsBidAdapter.js +1 -1
  78. package/dist/improvedigitalBidAdapter.js +1 -1
  79. package/dist/imuIdSystem.js +1 -1
  80. package/dist/insticatorBidAdapter.js +1 -1
  81. package/dist/intentIqIdSystem.js +1 -1
  82. package/dist/invibesBidAdapter.js +1 -1
  83. package/dist/ixBidAdapter.js +1 -1
  84. package/dist/justIdSystem.js +1 -1
  85. package/dist/justpremiumBidAdapter.js +1 -1
  86. package/dist/kargoBidAdapter.js +1 -1
  87. package/dist/kinessoIdSystem.js +1 -1
  88. package/dist/konduitAnalyticsAdapter.js +1 -1
  89. package/dist/kueezBidAdapter.js +1 -1
  90. package/dist/kueezRtbBidAdapter.js +1 -1
  91. package/dist/kulturemediaBidAdapter.js +1 -1
  92. package/dist/lassoBidAdapter.js +1 -1
  93. package/dist/lifestreetBidAdapter.js +1 -1
  94. package/dist/liveIntentIdSystem.js +1 -1
  95. package/dist/logicadBidAdapter.js +1 -1
  96. package/dist/loglyliftBidAdapter.js +1 -1
  97. package/dist/lotamePanoramaIdSystem.js +1 -1
  98. package/dist/magniteAnalyticsAdapter.js +1 -1
  99. package/dist/malltvAnalyticsAdapter.js +1 -1
  100. package/dist/marsmediaBidAdapter.js +1 -1
  101. package/dist/mediafuseBidAdapter.js +1 -1
  102. package/dist/mediasquareBidAdapter.js +1 -1
  103. package/dist/merkleIdSystem.js +1 -1
  104. package/dist/mgidBidAdapter.js +1 -1
  105. package/dist/minutemediaBidAdapter.js +1 -1
  106. package/dist/minutemediaplusBidAdapter.js +1 -1
  107. package/dist/mwOpenLinkIdSystem.js +1 -1
  108. package/dist/naveggIdSystem.js +1 -1
  109. package/dist/netIdSystem.js +1 -1
  110. package/dist/nexx360BidAdapter.js +1 -1
  111. package/dist/not-for-prod/prebid.js +185 -182
  112. package/dist/novatiqIdSystem.js +1 -1
  113. package/dist/oguryBidAdapter.js +1 -1
  114. package/dist/oneKeyIdSystem.js +1 -1
  115. package/dist/onetagBidAdapter.js +1 -1
  116. package/dist/ooloAnalyticsAdapter.js +1 -1
  117. package/dist/optidigitalBidAdapter.js +1 -1
  118. package/dist/outbrainBidAdapter.js +1 -1
  119. package/dist/ozoneBidAdapter.js +1 -1
  120. package/dist/pairIdSystem.js +1 -1
  121. package/dist/parrableIdSystem.js +1 -1
  122. package/dist/pixfutureBidAdapter.js +1 -1
  123. package/dist/prebid-core.js +2 -2
  124. package/dist/publinkIdSystem.js +1 -1
  125. package/dist/pubmaticBidAdapter.js +1 -1
  126. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  127. package/dist/pulsepointBidAdapter.js +1 -1
  128. package/dist/pxyzBidAdapter.js +1 -1
  129. package/dist/quantcastBidAdapter.js +1 -1
  130. package/dist/quantcastIdSystem.js +1 -1
  131. package/dist/readpeakBidAdapter.js +1 -1
  132. package/dist/relaidoBidAdapter.js +1 -1
  133. package/dist/retailspotBidAdapter.js +1 -1
  134. package/dist/rhythmoneBidAdapter.js +1 -1
  135. package/dist/riseBidAdapter.js +1 -1
  136. package/dist/rubiconBidAdapter.js +1 -1
  137. package/dist/seedingAllianceBidAdapter.js +1 -1
  138. package/dist/seedtagBidAdapter.js +1 -1
  139. package/dist/sharedIdSystem.js +1 -1
  140. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  141. package/dist/sharethroughBidAdapter.js +1 -1
  142. package/dist/shinezBidAdapter.js +1 -1
  143. package/dist/silverpushBidAdapter.js +1 -1
  144. package/dist/smaatoBidAdapter.js +1 -1
  145. package/dist/smartadserverBidAdapter.js +1 -1
  146. package/dist/smartxBidAdapter.js +1 -1
  147. package/dist/smilewantedBidAdapter.js +1 -1
  148. package/dist/sonobiBidAdapter.js +1 -1
  149. package/dist/sovrnAnalyticsAdapter.js +1 -1
  150. package/dist/sovrnBidAdapter.js +1 -1
  151. package/dist/ssmasBidAdapter.js +1 -0
  152. package/dist/sspBCBidAdapter.js +1 -1
  153. package/dist/stroeerCoreBidAdapter.js +1 -1
  154. package/dist/stvBidAdapter.js +1 -1
  155. package/dist/sublimeBidAdapter.js +1 -1
  156. package/dist/tapadIdSystem.js +1 -1
  157. package/dist/targetVideoBidAdapter.js +1 -1
  158. package/dist/teadsBidAdapter.js +1 -1
  159. package/dist/tncIdSystem.js +1 -1
  160. package/dist/topicsFpdModule.js +1 -1
  161. package/dist/trionBidAdapter.js +1 -1
  162. package/dist/tripleliftBidAdapter.js +1 -1
  163. package/dist/ttdBidAdapter.js +1 -1
  164. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  165. package/dist/uid2IdSystem.js +1 -1
  166. package/dist/underdogmediaBidAdapter.js +1 -1
  167. package/dist/undertoneBidAdapter.js +1 -1
  168. package/dist/unifiedIdSystem.js +1 -1
  169. package/dist/userId.js +1 -1
  170. package/dist/utiqSystem.js +1 -1
  171. package/dist/verizonMediaIdSystem.js +1 -1
  172. package/dist/vidazooBidAdapter.js +1 -1
  173. package/dist/videobyteBidAdapter.js +1 -1
  174. package/dist/visxBidAdapter.js +1 -1
  175. package/dist/voxBidAdapter.js +1 -1
  176. package/dist/vrtcalBidAdapter.js +1 -1
  177. package/dist/vuukleBidAdapter.js +1 -1
  178. package/dist/widespaceBidAdapter.js +1 -1
  179. package/dist/winrBidAdapter.js +1 -1
  180. package/dist/yahoosspBidAdapter.js +1 -1
  181. package/dist/yandexBidAdapter.js +1 -1
  182. package/dist/yieldmoBidAdapter.js +1 -1
  183. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  184. package/dist/zeotapIdPlusIdSystem.js +1 -1
  185. package/integrationExamples/gpt/adUnitFloors.html +0 -1
  186. package/integrationExamples/videoModule/jwplayer/bidMarkedAsUsed.html +1 -1
  187. package/integrationExamples/videoModule/jwplayer/eventListeners.html +2 -2
  188. package/integrationExamples/videoModule/jwplayer/eventsUI.html +1 -1
  189. package/integrationExamples/videoModule/jwplayer/gamAdServerMediation.html +1 -1
  190. package/integrationExamples/videoModule/jwplayer/mediaMetadata.html +1 -1
  191. package/integrationExamples/videoModule/jwplayer/playlist.html +1 -1
  192. package/integrationExamples/videoModule/videojs/bidMarkedAsUsed.html +1 -1
  193. package/integrationExamples/videoModule/videojs/bidRequestScheduling.html +1 -1
  194. package/integrationExamples/videoModule/videojs/eventListeners.html +1 -1
  195. package/integrationExamples/videoModule/videojs/eventsUI.html +1 -1
  196. package/integrationExamples/videoModule/videojs/gamAdServerMediation.html +1 -1
  197. package/integrationExamples/videoModule/videojs/mediaMetadata.html +1 -1
  198. package/integrationExamples/videoModule/videojs/playlist.html +1 -1
  199. package/modules/.submodules.json +1 -0
  200. package/modules/33acrossBidAdapter.js +24 -14
  201. package/modules/33acrossIdSystem.js +24 -4
  202. package/modules/a1MediaRtdProvider.js +92 -0
  203. package/modules/a1MediaRtdProvider.md +46 -0
  204. package/modules/adagioBidAdapter.js +0 -1
  205. package/modules/adfBidAdapter.js +4 -1
  206. package/modules/adkernelAdnBidAdapter.js +1 -1
  207. package/modules/adkernelBidAdapter.js +10 -3
  208. package/modules/admanBidAdapter.js +4 -0
  209. package/modules/admixerIdSystem.js +6 -0
  210. package/modules/adnuntiusBidAdapter.js +5 -13
  211. package/modules/adqueryIdSystem.js +6 -0
  212. package/modules/adtelligentIdSystem.js +6 -0
  213. package/modules/adyoulikeBidAdapter.js +6 -3
  214. package/modules/amxIdSystem.js +6 -0
  215. package/modules/beachfrontBidAdapter.js +32 -6
  216. package/modules/brandmetricsRtdProvider.js +36 -2
  217. package/modules/brandmetricsRtdProvider.md +17 -2
  218. package/modules/britepoolIdSystem.js +6 -0
  219. package/modules/connectIdSystem.js +6 -0
  220. package/modules/consentManagementGpp.js +10 -1
  221. package/modules/consumableBidAdapter.js +9 -1
  222. package/modules/criteoIdSystem.js +6 -0
  223. package/modules/czechAdIdSystem.js +6 -0
  224. package/modules/dacIdSystem.js +6 -0
  225. package/modules/deepintentDpesIdSystem.js +7 -2
  226. package/modules/dmdIdSystem.js +6 -0
  227. package/modules/euidIdSystem.js +9 -0
  228. package/modules/fabrickIdSystem.js +6 -0
  229. package/modules/ftrackIdSystem.js +16 -0
  230. package/modules/gdprEnforcement.js +27 -22
  231. package/modules/geolocationRtdProvider.js +65 -0
  232. package/modules/gravitoIdSystem.js +6 -0
  233. package/modules/greenbidsRtdProvider.js +1 -1
  234. package/modules/gridBidAdapter.js +19 -0
  235. package/modules/growthCodeIdSystem.js +20 -1
  236. package/modules/hadronIdSystem.js +6 -0
  237. package/modules/id5IdSystem.js +34 -8
  238. package/modules/identityLinkIdSystem.js +6 -0
  239. package/modules/idxIdSystem.js +6 -0
  240. package/modules/imdsBidAdapter.js +38 -14
  241. package/modules/imuIdSystem.js +10 -0
  242. package/modules/intentIqIdSystem.js +6 -0
  243. package/modules/invibesBidAdapter.js +5 -5
  244. package/modules/ixBidAdapter.js +56 -2
  245. package/modules/justIdSystem.js +6 -0
  246. package/modules/kargoBidAdapter.js +4 -0
  247. package/modules/kinessoIdSystem.js +7 -2
  248. package/modules/liveIntentIdSystem.js +53 -0
  249. package/modules/lotamePanoramaIdSystem.js +6 -0
  250. package/modules/merkleIdSystem.js +24 -0
  251. package/modules/minutemediaBidAdapter.js +17 -2
  252. package/modules/mwOpenLinkIdSystem.js +6 -0
  253. package/modules/naveggIdSystem.js +6 -0
  254. package/modules/netIdSystem.js +6 -0
  255. package/modules/novatiqIdSystem.js +12 -0
  256. package/modules/oguryBidAdapter.js +29 -16
  257. package/modules/oneKeyIdSystem.js +26 -0
  258. package/modules/ozoneBidAdapter.js +65 -18
  259. package/modules/ozoneBidAdapter.md +3 -1
  260. package/modules/pairIdSystem.js +6 -0
  261. package/modules/parrableIdSystem.js +38 -2
  262. package/modules/publinkIdSystem.js +7 -1
  263. package/modules/pubmaticBidAdapter.js +16 -1
  264. package/modules/pulsepointBidAdapter.js +63 -424
  265. package/modules/pulsepointBidAdapter.md +39 -45
  266. package/modules/quantcastIdSystem.js +6 -0
  267. package/modules/rubiconBidAdapter.js +9 -0
  268. package/modules/sharedIdSystem.js +7 -1
  269. package/modules/silverpushBidAdapter.js +2 -2
  270. package/modules/sovrnBidAdapter.js +5 -1
  271. package/modules/ssmasBidAdapter.js +126 -0
  272. package/modules/ssmasBidAdapter.md +35 -0
  273. package/modules/sspBCBidAdapter.js +36 -13
  274. package/modules/stroeerCoreBidAdapter.js +2 -3
  275. package/modules/tapadIdSystem.js +6 -0
  276. package/modules/teadsBidAdapter.js +2 -0
  277. package/modules/tncIdSystem.js +6 -0
  278. package/modules/topicsFpdModule.js +4 -1
  279. package/modules/topicsFpdModule.md +4 -0
  280. package/modules/tripleliftBidAdapter.js +5 -0
  281. package/modules/uid2IdSystem.js +14 -0
  282. package/modules/unifiedIdSystem.js +11 -0
  283. package/modules/userId/eids.js +6 -445
  284. package/modules/userId/index.js +38 -26
  285. package/modules/utiqSystem.js +9 -0
  286. package/modules/verizonMediaIdSystem.js +6 -0
  287. package/modules/vidazooBidAdapter.js +5 -7
  288. package/modules/voxBidAdapter.js +16 -5
  289. package/modules/vrtcalBidAdapter.js +10 -6
  290. package/modules/yahoosspBidAdapter.js +38 -33
  291. package/modules/yahoosspBidAdapter.md +96 -95
  292. package/modules/yandexBidAdapter.js +12 -15
  293. package/modules/zeotapIdPlusIdSystem.js +6 -0
  294. package/package.json +1 -1
  295. package/src/activities/redactor.js +1 -1
  296. package/src/adapters/bidderFactory.js +15 -6
  297. package/src/adloader.js +2 -1
  298. package/src/auction.js +24 -2
  299. package/src/constants.json +3 -1
  300. package/src/fpd/sua.js +8 -2
  301. package/test/spec/auctionmanager_spec.js +29 -1
  302. package/test/spec/fpd/enrichment_spec.js +7 -1
  303. package/test/spec/fpd/sua_spec.js +12 -0
  304. package/test/spec/modules/33acrossBidAdapter_spec.js +188 -35
  305. package/test/spec/modules/33acrossIdSystem_spec.js +122 -27
  306. package/test/spec/modules/a1MediaRtdProvider_spec.js +105 -0
  307. package/test/spec/modules/adagioBidAdapter_spec.js +0 -1
  308. package/test/spec/modules/adfBidAdapter_spec.js +47 -0
  309. package/test/spec/modules/adkernelAdnBidAdapter_spec.js +1 -2
  310. package/test/spec/modules/adkernelBidAdapter_spec.js +7 -2
  311. package/test/spec/modules/adnuntiusBidAdapter_spec.js +116 -64
  312. package/test/spec/modules/adyoulikeBidAdapter_spec.js +13 -24
  313. package/test/spec/modules/beachfrontBidAdapter_spec.js +35 -2
  314. package/test/spec/modules/brandmetricsRtdProvider_spec.js +69 -7
  315. package/test/spec/modules/consentManagementGpp_spec.js +16 -0
  316. package/test/spec/modules/consumableBidAdapter_spec.js +15 -0
  317. package/test/spec/modules/freewheel-sspBidAdapter_spec.js +5 -5
  318. package/test/spec/modules/gdprEnforcement_spec.js +43 -2
  319. package/test/spec/modules/geolocationRtdProvider_spec.js +119 -0
  320. package/test/spec/modules/greenbidsRtdProvider_spec.js +1 -1
  321. package/test/spec/modules/gridBidAdapter_spec.js +42 -0
  322. package/test/spec/modules/id5IdSystem_spec.js +18 -0
  323. package/test/spec/modules/imdsBidAdapter_spec.js +98 -17
  324. package/test/spec/modules/invibesBidAdapter_spec.js +123 -32
  325. package/test/spec/modules/ixBidAdapter_spec.js +95 -5
  326. package/test/spec/modules/kargoBidAdapter_spec.js +121 -106
  327. package/test/spec/modules/medianetBidAdapter_spec.js +117 -0
  328. package/test/spec/modules/minutemediaBidAdapter_spec.js +36 -5
  329. package/test/spec/modules/oguryBidAdapter_spec.js +208 -108
  330. package/test/spec/modules/outbrainBidAdapter_spec.js +3 -5
  331. package/test/spec/modules/ozoneBidAdapter_spec.js +27 -1
  332. package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -20
  333. package/test/spec/modules/priceFloors_spec.js +14 -0
  334. package/test/spec/modules/pubmaticBidAdapter_spec.js +125 -373
  335. package/test/spec/modules/pulsepointBidAdapter_spec.js +225 -486
  336. package/test/spec/modules/rubiconBidAdapter_spec.js +220 -9
  337. package/test/spec/modules/smaatoBidAdapter_spec.js +4 -6
  338. package/test/spec/modules/sovrnBidAdapter_spec.js +24 -4
  339. package/test/spec/modules/ssmasBidAdapter_spec.js +244 -0
  340. package/test/spec/modules/sspBCBidAdapter_spec.js +18 -19
  341. package/test/spec/modules/stroeerCoreBidAdapter_spec.js +8 -5
  342. package/test/spec/modules/teadsBidAdapter_spec.js +70 -21
  343. package/test/spec/modules/topicsFpdModule_spec.js +10 -4
  344. package/test/spec/modules/tripleliftBidAdapter_spec.js +40 -0
  345. package/test/spec/modules/userId_spec.js +116 -7
  346. package/test/spec/modules/vidazooBidAdapter_spec.js +0 -5
  347. package/test/spec/modules/voxBidAdapter_spec.js +93 -0
  348. package/test/spec/modules/vrtcalBidAdapter_spec.js +12 -4
  349. package/test/spec/modules/xeBidAdapter_spec.js +366 -368
  350. package/test/spec/modules/yahoosspBidAdapter_spec.js +405 -330
  351. package/test/spec/modules/yandexBidAdapter_spec.js +21 -3
  352. package/test/spec/unit/core/bidderFactory_spec.js +61 -14
  353. package/integrationExamples/gpt/inskin_example.html +0 -100
  354. package/integrationExamples/gpt/pbjs_video_adUnit.html +0 -109
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Module Name**: PulsePoint Bidder Adapter
4
4
  **Module Type**: Bidder Adapter
5
- **Maintainer**: ExchangeTeam@pulsepoint.com
5
+ **Maintainer**: ExchangeTeam@pulsepoint.com
6
6
 
7
7
  # Description
8
8
 
@@ -18,55 +18,49 @@ Please use ```pulsepoint``` as the bidder code.
18
18
  sizes: [[300, 250]],
19
19
  bids: [{
20
20
  bidder: 'pulsepoint',
21
- params: {
22
- cf: '300X250',
21
+ params: {
23
22
  cp: 512379,
24
23
  ct: 486653
25
24
  }
26
25
  }]
27
26
  },{
28
- code: 'native-ad-div',
29
- sizes: [[1, 1]],
30
- nativeParams: {
31
- title: { required: true, len: 75 },
32
- image: { required: true },
33
- body: { len: 200 },
34
- sponsoredBy: { len: 20 }
35
- },
36
- bids: [{
37
- bidder: 'pulsepoint',
38
- params: {
39
- cp: 512379,
40
- ct: 505642
41
- }
42
- }]
43
- },{
44
- code: 'outstream-div',
45
- mediaTypes: {
46
- video: {
47
- playerSize: [640, 480],
48
- context: 'outstream',
49
- h: 300,
50
- w: 400,
51
- minduration: 1,
52
- maxduration: 210,
53
- linearity: 1,
54
- mimes: ["video/mp4", "video/ogg", "video/webm"],
55
- pos: 3
56
- }
57
- },
58
- bids: [{
59
- bidder: 'pulsepoint',
60
- params: {
61
- cp: 512379,
62
- ct: 505642
63
- }
64
- }],
65
- renderer: {
66
- options: {
67
- text: "PulsePoint Outstream"
68
- }
69
- }
27
+ code: 'native-1-slot',
28
+ mediaTypes: {
29
+ native: {
30
+ ortb: {
31
+ assets: [{
32
+ id: 1,
33
+ required: 1,
34
+ img: {
35
+ type: 3,
36
+ w: 150,
37
+ h: 50,
38
+ }
39
+ },
40
+ {
41
+ id: 2,
42
+ required: 1,
43
+ title: {
44
+ len: 80
45
+ }
46
+ },
47
+ {
48
+ id: 3,
49
+ required: 1,
50
+ data: {
51
+ type: 1
52
+ }
53
+ }]
54
+ }
55
+ }
56
+ },
57
+ bids: [{
58
+ bidder: 'pulsepoint',
59
+ params: {
60
+ cp: 512379,
61
+ ct: 694973
62
+ }
63
+ }]
70
64
  },{
71
65
  code: 'instream',
72
66
  mediaTypes: {
@@ -214,6 +214,12 @@ export const quantcastIdSubmodule = {
214
214
  }
215
215
 
216
216
  return { id: fpa ? { quantcastId: fpa } : undefined };
217
+ },
218
+ eids: {
219
+ 'quantcastId': {
220
+ source: 'quantcast.com',
221
+ atype: 1
222
+ },
217
223
  }
218
224
  };
219
225
 
@@ -200,6 +200,10 @@ export const converter = ortbConverter({
200
200
  bidRequest.params.position === 'btf' && (imp.video.pos = 3);
201
201
  delete imp.ext?.prebid?.storedrequest;
202
202
 
203
+ if (bidRequest.params.bidonmultiformat === true && bidRequestType.length > 1) {
204
+ deepSetValue(imp, 'ext.prebid.bidder.rubicon.formats', bidRequestType);
205
+ }
206
+
203
207
  setBidFloors(bidRequest, imp);
204
208
 
205
209
  return imp;
@@ -497,6 +501,11 @@ export const spec = {
497
501
  data['rp_hard_floor'] = typeof floorInfo === 'object' && floorInfo.currency === 'USD' && !isNaN(parseInt(floorInfo.floor)) ? floorInfo.floor : undefined;
498
502
  }
499
503
 
504
+ // Send multiformat data if requested
505
+ if (params.bidonmultiformat === true && deepAccess(bidRequest, 'mediaTypes') && Object.keys(bidRequest.mediaTypes).length > 1) {
506
+ data['p_formats'] = Object.keys(bidRequest.mediaTypes).join(',');
507
+ }
508
+
500
509
  // add p_pos only if specified and valid
501
510
  // For SRA we need to explicitly put empty semi colons so AE treats it as empty, instead of copying the latter value
502
511
  let posMapping = {1: 'atf', 3: 'btf'};
@@ -13,7 +13,7 @@ import {VENDORLESS_GVLID} from '../src/consentHandler.js';
13
13
  import {MODULE_TYPE_UID} from '../src/activities/modules.js';
14
14
  import {domainOverrideToRootDomain} from '../libraries/domainOverrideToRootDomain/index.js';
15
15
 
16
- export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: 'pubCommonId'});
16
+ export const storage = getStorageManager({moduleType: MODULE_TYPE_UID, moduleName: 'sharedId'});
17
17
  const COOKIE = 'cookie';
18
18
  const LOCAL_STORAGE = 'html5';
19
19
  const OPTOUT_NAME = '_pubcid_optout';
@@ -174,6 +174,12 @@ export const sharedIdSystemSubmodule = {
174
174
  },
175
175
 
176
176
  domainOverride: domainOverrideToRootDomain(storage, 'sharedId'),
177
+ eids: {
178
+ 'pubcid': {
179
+ source: 'pubcid.org',
180
+ atype: 1
181
+ },
182
+ }
177
183
  };
178
184
 
179
185
  submodule('userId', sharedIdSystemSubmodule);
@@ -12,7 +12,7 @@ const bidderConfig = 'sp_pb_ortb';
12
12
  const bidderVersion = '1.0.0';
13
13
  const DEFAULT_CURRENCY = 'USD';
14
14
 
15
- export const REQUEST_URL = 'https://apac.chocolateplatform.com/bidder/?identifier=prebidchoc';
15
+ export const REQUEST_URL = 'https://prebid.chocolateplatform.co/bidder/?identifier=prebidchoc';
16
16
  export const SP_OUTSTREAM_PLAYER_URL = 'https://xaido.sgp1.cdn.digitaloceanspaces.com/prebid/spoutstream.min.js';
17
17
 
18
18
  const VIDEO_ORTB_PARAMS = [
@@ -110,7 +110,7 @@ export const CONVERTER = ortbConverter({
110
110
  bidResponse.meta.paf.content_id = utils.deepAccess(bid, 'ext.paf.content_id');
111
111
  }
112
112
 
113
- bidResponse = buildVideoVastResponse(bidResponse)
113
+ bidResponse = buildVideoVastResponse(bidResponse);
114
114
  bidResponse = buildVideoOutstreamResponse(bidResponse, context)
115
115
 
116
116
  return bidResponse;
@@ -248,7 +248,7 @@ export const spec = {
248
248
  }
249
249
  },
250
250
 
251
- getUserSyncs: function(syncOptions, serverResponses, gdprConsent, uspConsent) {
251
+ getUserSyncs: function(syncOptions, serverResponses, gdprConsent, uspConsent, gppConsent) {
252
252
  try {
253
253
  const tracks = []
254
254
  if (serverResponses && serverResponses.length !== 0) {
@@ -262,6 +262,10 @@ export const spec = {
262
262
  if (uspConsent) {
263
263
  params.push(['us_privacy', uspConsent]);
264
264
  }
265
+ if (gppConsent) {
266
+ params.push(['gpp', gppConsent.gppString]);
267
+ params.push(['gpp_sid', gppConsent.applicableSections])
268
+ }
265
269
 
266
270
  if (iidArr[0]) {
267
271
  params.push(['informer', iidArr[0]]);
@@ -0,0 +1,126 @@
1
+ import { BANNER } from '../src/mediaTypes.js';
2
+ import { registerBidder } from '../src/adapters/bidderFactory.js';
3
+ import { triggerPixel, deepSetValue } from '../src/utils.js';
4
+ import { ortbConverter } from '../libraries/ortbConverter/converter.js';
5
+ import {config} from '../src/config.js';
6
+
7
+ export const SSMAS_CODE = 'ssmas';
8
+ const SSMAS_SERVER = 'ads.ssmas.com';
9
+ export const SSMAS_ENDPOINT = `http://${SSMAS_SERVER}/ortb`;
10
+ const SYNC_URL = `http://sync.ssmas.com/user_sync`;
11
+ export const SSMAS_REQUEST_METHOD = 'POST';
12
+ const GDPR_VENDOR_ID = 1183;
13
+
14
+ export const ssmasOrtbConverter = ortbConverter({
15
+ context: {
16
+ netRevenue: true,
17
+ ttl: 300,
18
+ mediaType: BANNER,
19
+ },
20
+ imp(buildImp, bidRequest, context) {
21
+ const imp = buildImp(bidRequest, context);
22
+ deepSetValue(imp, 'ext.placementId', bidRequest.params.placementId);
23
+ return imp;
24
+ },
25
+ });
26
+
27
+ export const spec = {
28
+ code: SSMAS_CODE,
29
+ supportedMediaTypes: [BANNER],
30
+ gvlid: GDPR_VENDOR_ID,
31
+
32
+ isBidRequestValid: (bid) => {
33
+ return !!bid.params.placementId && !!bid.bidId && bid.bidder === SSMAS_CODE;
34
+ },
35
+
36
+ buildRequests: (bidRequests, bidderRequest) => {
37
+ const data = ssmasOrtbConverter.toORTB({ bidRequests, bidderRequest });
38
+
39
+ const options = {
40
+ contentType: 'application/json',
41
+ withCredentials: false,
42
+ };
43
+
44
+ data.imp && data.imp.forEach(imp => {
45
+ if (imp.ext && imp.ext.placementId) {
46
+ imp.tagId = imp.ext.placementId;
47
+ }
48
+ });
49
+
50
+ data.regs = data.regs || {};
51
+ data.regs.ext = data.regs.ext || {};
52
+
53
+ if (bidderRequest.gdprConsent) {
54
+ data.regs.ext.consent = bidderRequest.gdprConsent.consentString;
55
+ data.regs.ext.gdpr = bidderRequest.gdprConsent.gdprApplies ? 1 : 0;
56
+ }
57
+ if (bidderRequest.uspConsent) {
58
+ data.regs.ext.consent = bidderRequest.uspConsent.consentString;
59
+ data.regs.ext.ccpa = 1;
60
+ }
61
+ if (config.getConfig('coppa') === true) {
62
+ data.regs.coppa = 1;
63
+ }
64
+
65
+ return [
66
+ {
67
+ method: SSMAS_REQUEST_METHOD,
68
+ url: SSMAS_ENDPOINT,
69
+ data,
70
+ options,
71
+ },
72
+ ];
73
+ },
74
+
75
+ interpretResponse: (serverResponse, bidRequest) => {
76
+ const bids = ssmasOrtbConverter.fromORTB({
77
+ response: serverResponse.body,
78
+ request: bidRequest.data,
79
+ }).bids;
80
+
81
+ return bids.filter((bid) => {
82
+ return bid.cpm > 0;
83
+ });
84
+ },
85
+
86
+ onBidWon: (bid) => {
87
+ if (bid.burl) {
88
+ triggerPixel(bid.burl);
89
+ }
90
+ },
91
+
92
+ getUserSyncs: (
93
+ syncOptions,
94
+ serverResponses,
95
+ gdprConsent,
96
+ uspConsent
97
+ ) => {
98
+ const syncs = [];
99
+
100
+ let params = ['pbjs=1'];
101
+
102
+ if (gdprConsent) {
103
+ if (typeof gdprConsent.gdprApplies === 'boolean') {
104
+ params.push(`gdpr=${Boolean(gdprConsent.gdprApplies)}&gdpr_consent=${
105
+ gdprConsent.consentString
106
+ }`);
107
+ } else {
108
+ params.push(`gdpr_consent=${gdprConsent.consentString}`);
109
+ }
110
+ }
111
+
112
+ if (uspConsent && uspConsent.consentString) {
113
+ params.push(`ccpa_consent=${uspConsent.consentString}`);
114
+ }
115
+
116
+ if (syncOptions.pixelEnabled && serverResponses.length > 0) {
117
+ syncs.push({
118
+ type: 'image',
119
+ url: `${SYNC_URL}?${params.join('&')}`
120
+ });
121
+ }
122
+ return syncs;
123
+ },
124
+ };
125
+
126
+ registerBidder(spec);
@@ -0,0 +1,35 @@
1
+ # Overview
2
+
3
+ Module Name: SSMas Bidder Adapter
4
+ Module Type: Bidder Adapter
5
+ Maintainer: hzchen.work@gmail.com
6
+
7
+ # Description
8
+
9
+ Module that connects to Sem Seo & Mas header bidding endpoint to fetch bids.
10
+ Supports Banner
11
+ Supported currencies: EUR
12
+
13
+ Required parameters:
14
+ - placement id
15
+
16
+ # Test Parameters
17
+ ```
18
+ var adUnits = [
19
+ // Banner adUnit
20
+ {
21
+ code: 'banner-div',
22
+ mediaTypes: {
23
+ banner: {
24
+ sizes: [[300, 250]]
25
+ }
26
+ },
27
+ bids: [{
28
+ bidder: 'ssmas',
29
+ params: {
30
+ placementId: "10336"
31
+ }
32
+ }]
33
+ }
34
+ ];
35
+ ```
@@ -12,13 +12,14 @@ const SYNC_URL = 'https://ssp.wp.pl/bidder/usersync';
12
12
  const NOTIFY_URL = 'https://ssp.wp.pl/bidder/notify';
13
13
  const GVLID = 676;
14
14
  const TMAX = 450;
15
- const BIDDER_VERSION = '5.8';
15
+ const BIDDER_VERSION = '5.9';
16
16
  const DEFAULT_CURRENCY = 'PLN';
17
17
  const W = window;
18
18
  const { navigator } = W;
19
19
  const oneCodeDetection = {};
20
20
  const adUnitsCalled = {};
21
21
  const adSizesCalled = {};
22
+ const bidderRequestsMap = {};
22
23
  const pageView = {};
23
24
  var consentApiVersion;
24
25
 
@@ -93,19 +94,17 @@ const getNotificationPayload = bidData => {
93
94
  const bids = isArray(bidData) ? bidData : [bidData];
94
95
  if (bids.length > 0) {
95
96
  let result = {
96
- requestId: undefined,
97
97
  siteId: [],
98
98
  slotId: [],
99
99
  tagid: [],
100
100
  }
101
101
  bids.forEach(bid => {
102
- const { adUnitCode, auctionId, cpm, creativeId, meta, params: bidParams, requestId, timeout } = bid;
102
+ const { adUnitCode, cpm, creativeId, meta, mediaType, params: bidParams, bidderRequestId, requestId, timeout } = bid;
103
103
  const params = unpackParams(bidParams);
104
104
 
105
105
  // basic notification data
106
106
  const bidBasicData = {
107
- // TODO: fix auctionId leak: https://github.com/prebid/Prebid.js/issues/9781
108
- requestId: auctionId || result.requestId,
107
+ requestId: bidderRequestId || bidderRequestsMap[requestId],
109
108
  timeout: timeout || result.timeout,
110
109
  pvid: pageView.id,
111
110
  }
@@ -127,12 +126,14 @@ const getNotificationPayload = bidData => {
127
126
 
128
127
  if (cpm) {
129
128
  // non-empty bid data
129
+ const { advertiserDomains = [], networkName, pricepl } = meta;
130
130
  const bidNonEmptyData = {
131
131
  cpm,
132
- cpmpl: meta && meta.pricepl,
132
+ cpmpl: pricepl,
133
133
  creativeId,
134
- adomain: meta && meta.advertiserDomains && meta.advertiserDomains[0],
135
- networkName: meta && meta.networkName,
134
+ adomain: advertiserDomains[0],
135
+ adtype: mediaType,
136
+ networkName,
136
137
  }
137
138
  result = { ...result, ...bidNonEmptyData }
138
139
  }
@@ -447,10 +448,15 @@ var mapVideo = (slot, videoFromBid) => {
447
448
  };
448
449
 
449
450
  const mapImpression = slot => {
450
- const { adUnitCode, bidId, params = {}, ortb2Imp = {} } = slot;
451
+ const { adUnitCode, bidderRequestId, bidId, params = {}, ortb2Imp = {} } = slot;
451
452
  const { id, siteId, video } = params;
452
453
  const { ext = {} } = ortb2Imp;
453
454
 
455
+ /*
456
+ store bidId <-> bidderRequestId mapping for bidWon notification
457
+ */
458
+ bidderRequestsMap[bidId] = bidderRequestId;
459
+
454
460
  /*
455
461
  check max size for this imp, and check/store number this size was called (for current view)
456
462
  send this info as ext.pbsize
@@ -494,15 +500,20 @@ const isNativeAd = bid => {
494
500
  return bid.admNative || (bid.adm && bid.adm.match(xmlTester));
495
501
  }
496
502
 
497
- const parseNative = (nativeData) => {
503
+ const parseNative = (nativeData, adUnitCode) => {
498
504
  const { link = {}, imptrackers: impressionTrackers, jstracker } = nativeData;
499
505
  const { url: clickUrl, clicktrackers: clickTrackers = [] } = link;
506
+ const macroReplacer = tracker => tracker.replace(new RegExp('%native_dom_id%', 'g'), adUnitCode);
507
+ let javascriptTrackers = isArray(jstracker) ? jstracker : jstracker && [jstracker];
508
+
509
+ // replace known macros in js trackers
510
+ javascriptTrackers = javascriptTrackers && javascriptTrackers.map(macroReplacer);
500
511
 
501
512
  const result = {
502
513
  clickUrl,
503
514
  clickTrackers,
504
515
  impressionTrackers,
505
- javascriptTrackers: isArray(jstracker) ? jstracker : jstracker && [jstracker],
516
+ javascriptTrackers,
506
517
  };
507
518
 
508
519
  nativeData.assets.forEach(asset => {
@@ -627,6 +638,8 @@ const spec = {
627
638
  return true;
628
639
  },
629
640
  buildRequests(validBidRequests, bidderRequest) {
641
+ logWarn('DEBUG: buildRequests', bidderRequest.auctionId, bidderRequest.bidderRequestId);
642
+
630
643
  // convert Native ORTB definition to old-style prebid native definition
631
644
  validBidRequests = convertOrtbRequestToProprietaryNative(validBidRequests);
632
645
 
@@ -644,7 +657,7 @@ const spec = {
644
657
  const ref = bidderRequest.refererInfo.ref;
645
658
 
646
659
  const payload = {
647
- id: bidderRequest.auctionId,
660
+ id: bidderRequest.bidderRequestId,
648
661
  site: {
649
662
  id: siteId ? `${siteId}` : undefined,
650
663
  publisher: publisherId ? { id: publisherId } : undefined,
@@ -725,6 +738,7 @@ const spec = {
725
738
 
726
739
  if (bidRequest && site.id && !strIncludes(site.id, 'bidid')) {
727
740
  // found a matching request; add this bid
741
+ const { adUnitCode } = bidRequest;
728
742
 
729
743
  // store site data for future notification
730
744
  oneCodeDetection[bidId] = [site.id, site.slot];
@@ -760,7 +774,7 @@ const spec = {
760
774
  // check native object
761
775
  try {
762
776
  const nativeData = serverBid.admNative || JSON.parse(serverBid.adm).native;
763
- bid.native = parseNative(nativeData);
777
+ bid.native = parseNative(nativeData, adUnitCode);
764
778
  bid.width = 1;
765
779
  bid.height = 1;
766
780
  } catch (err) {
@@ -807,6 +821,15 @@ const spec = {
807
821
  }
808
822
  },
809
823
 
824
+ onBidViewable(bid) {
825
+ const payload = getNotificationPayload(bid);
826
+ if (payload) {
827
+ payload.event = 'bidViewable';
828
+ sendNotification(payload);
829
+ return payload;
830
+ }
831
+ },
832
+
810
833
  onBidWon(bid) {
811
834
  const payload = getNotificationPayload(bid);
812
835
  if (payload) {
@@ -1,4 +1,4 @@
1
- import {buildUrl, deepAccess, getWindowSelf, getWindowTop, isEmpty, isStr, logWarn} from '../src/utils.js';
1
+ import { buildUrl, deepAccess, generateUUID, getWindowSelf, getWindowTop, isEmpty, isStr, logWarn } from '../src/utils.js';
2
2
  import {registerBidder} from '../src/adapters/bidderFactory.js';
3
3
  import {BANNER, VIDEO} from '../src/mediaTypes.js';
4
4
  import {find} from '../src/polyfill.js';
@@ -50,8 +50,7 @@ export const spec = {
50
50
  const refererInfo = bidderRequest.refererInfo;
51
51
 
52
52
  const basePayload = {
53
- // TODO: fix auctionId leak: https://github.com/prebid/Prebid.js/issues/9781
54
- id: bidderRequest.auctionId,
53
+ id: generateUUID(),
55
54
  ref: refererInfo.ref,
56
55
  ssl: isSecureWindow(),
57
56
  mpa: isMainPageAccessible(),
@@ -56,6 +56,12 @@ export const tapadIdSubmodule = {
56
56
  );
57
57
  }
58
58
  }
59
+ },
60
+ eids: {
61
+ 'tapadId': {
62
+ source: 'tapad.com',
63
+ atype: 1
64
+ },
59
65
  }
60
66
  }
61
67
  submodule('userId', tapadIdSubmodule);
@@ -220,6 +220,7 @@ function buildRequestObject(bid) {
220
220
  let placementId = getValue(bid.params, 'placementId');
221
221
  let pageId = getValue(bid.params, 'pageId');
222
222
  const gpid = deepAccess(bid, 'ortb2Imp.ext.gpid');
223
+ const videoPlcmt = deepAccess(bid, 'mediaTypes.video.plcmt');
223
224
 
224
225
  reqObj.sizes = getSizes(bid);
225
226
  reqObj.bidId = getBidIdParameter('bidId', bid);
@@ -229,6 +230,7 @@ function buildRequestObject(bid) {
229
230
  reqObj.adUnitCode = getBidIdParameter('adUnitCode', bid);
230
231
  reqObj.transactionId = bid.ortb2Imp?.ext?.tid || '';
231
232
  if (gpid) { reqObj.gpid = gpid; }
233
+ if (videoPlcmt) { reqObj.videoPlcmt = videoPlcmt; }
232
234
  return reqObj;
233
235
  }
234
236
 
@@ -57,6 +57,12 @@ export const tncidSubModule = {
57
57
  return {
58
58
  callback: function (cb) { return tncCallback(cb); }
59
59
  }
60
+ },
61
+ eids: {
62
+ 'tncid': {
63
+ source: 'thenewco.it',
64
+ atype: 3
65
+ },
60
66
  }
61
67
  }
62
68
 
@@ -15,10 +15,13 @@ let LOAD_TOPICS_INITIALISE = false;
15
15
  const HAS_DEVICE_ACCESS = hasDeviceAccess();
16
16
 
17
17
  const bidderIframeList = {
18
- maxTopicCaller: 1,
18
+ maxTopicCaller: 2,
19
19
  bidders: [{
20
20
  bidder: 'pubmatic',
21
21
  iframeURL: 'https://ads.pubmatic.com/AdServer/js/topics/topics_frame.html'
22
+ }, {
23
+ bidder: 'rtbhouse',
24
+ iframeURL: 'https://topics.authorizedvault.com/topicsapi.html'
22
25
  }]
23
26
  }
24
27
  export const coreStorage = getCoreStorageManager(MODULE_NAME);
@@ -36,6 +36,10 @@ pbjs.setConfig({
36
36
  bidder: 'pubmatic',
37
37
  iframeURL: 'https://ads.pubmatic.com/AdServer/js/topics/topics_frame.html',
38
38
  expiry: 7 // Configurable expiry days
39
+ },{
40
+ bidder: 'rtbhouse',
41
+ iframeURL: 'https://topics.authorizedvault.com/topicsapi.html',
42
+ expiry: 7 // Configurable expiry days
39
43
  },{
40
44
  bidder: 'rubicon',
41
45
  iframeURL: 'https://rubicon.com:8080/topics/fpd/topic.html', // dummy URL
@@ -189,6 +189,11 @@ function _buildPostBody(bidRequests, bidderRequest) {
189
189
  if (bidderRequest?.ortb2?.regs?.gpp) {
190
190
  data.regs = Object.assign({}, bidderRequest.ortb2.regs);
191
191
  }
192
+
193
+ if (bidderRequest?.ortb2) {
194
+ data.ext.ortb2 = Object.assign({}, bidderRequest.ortb2);
195
+ }
196
+
192
197
  return data;
193
198
  }
194
199
 
@@ -83,6 +83,20 @@ export const uid2IdSubmodule = {
83
83
  _logInfo(`UID2 getId returned`, result);
84
84
  return result;
85
85
  },
86
+ eids: {
87
+ 'uid2': {
88
+ source: 'uidapi.com',
89
+ atype: 3,
90
+ getValue: function(data) {
91
+ return data.id;
92
+ },
93
+ getUidExt: function(data) {
94
+ if (data.ext) {
95
+ return data.ext;
96
+ }
97
+ }
98
+ },
99
+ },
86
100
  };
87
101
 
88
102
  function decodeImpl(value) {
@@ -67,6 +67,17 @@ export const unifiedIdSubmodule = {
67
67
  ajax(url, callbacks, undefined, {method: 'GET', withCredentials: true});
68
68
  };
69
69
  return {callback: resp};
70
+ },
71
+ eids: {
72
+ 'tdid': {
73
+ source: 'adserver.org',
74
+ atype: 1,
75
+ getUidExt: function() {
76
+ return {
77
+ rtiPartner: 'TDID'
78
+ };
79
+ }
80
+ },
70
81
  }
71
82
  };
72
83