prebid.js 7.44.0 → 7.46.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 (309) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/acuityAdsBidAdapter.js +1 -1
  4. package/dist/adagioBidAdapter.js +1 -1
  5. package/dist/adbookpspBidAdapter.js +1 -1
  6. package/dist/adgenerationBidAdapter.js +1 -1
  7. package/dist/admaticBidAdapter.js +1 -1
  8. package/dist/adnuntiusBidAdapter.js +1 -1
  9. package/dist/adrelevantisBidAdapter.js +1 -1
  10. package/dist/adtrgtmeBidAdapter.js +1 -1
  11. package/dist/adxcgBidAdapter.js +1 -1
  12. package/dist/adyoulikeBidAdapter.js +1 -1
  13. package/dist/ajaBidAdapter.js +1 -1
  14. package/dist/amxBidAdapter.js +1 -1
  15. package/dist/amxIdSystem.js +1 -1
  16. package/dist/appierAnalyticsAdapter.js +1 -1
  17. package/dist/appnexusBidAdapter.js +1 -1
  18. package/dist/appushBidAdapter.js +1 -1
  19. package/dist/asoBidAdapter.js +1 -1
  20. package/dist/axonixBidAdapter.js +1 -1
  21. package/dist/beyondmediaBidAdapter.js +1 -1
  22. package/dist/bidglassBidAdapter.js +1 -1
  23. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  24. package/dist/big-richmediaBidAdapter.js +1 -1
  25. package/dist/braveBidAdapter.js +1 -1
  26. package/dist/bridgewellBidAdapter.js +1 -1
  27. package/dist/brightMountainMediaBidAdapter.js +1 -1
  28. package/dist/brightcomBidAdapter.js +1 -1
  29. package/dist/brightcomSSPBidAdapter.js +1 -1
  30. package/dist/carodaBidAdapter.js +1 -1
  31. package/dist/chtnwBidAdapter.js +1 -1
  32. package/dist/coinzillaBidAdapter.js +1 -1
  33. package/dist/compassBidAdapter.js +1 -1
  34. package/dist/concertBidAdapter.js +1 -1
  35. package/dist/connectIdSystem.js +1 -1
  36. package/dist/connectadBidAdapter.js +1 -1
  37. package/dist/consumableBidAdapter.js +1 -1
  38. package/dist/contentexchangeBidAdapter.js +1 -1
  39. package/dist/conversantAnalyticsAdapter.js +1 -1
  40. package/dist/conversantBidAdapter.js +1 -1
  41. package/dist/craftBidAdapter.js +1 -1
  42. package/dist/criteoBidAdapter.js +1 -1
  43. package/dist/cwireBidAdapter.js +1 -1
  44. package/dist/debugging-standalone.js +1 -1
  45. package/dist/dependencies.json +15 -0
  46. package/dist/domainOverrideToRootDomain.js +1 -0
  47. package/dist/dspxBidAdapter.js +1 -1
  48. package/dist/eplanningBidAdapter.js +1 -1
  49. package/dist/eskimiBidAdapter.js +1 -0
  50. package/dist/feedadBidAdapter.js +1 -1
  51. package/dist/finativeBidAdapter.js +1 -1
  52. package/dist/freewheel-sspBidAdapter.js +1 -1
  53. package/dist/glimpseBidAdapter.js +1 -1
  54. package/dist/globalsunBidAdapter.js +1 -1
  55. package/dist/gmosspBidAdapter.js +1 -1
  56. package/dist/goldbachBidAdapter.js +1 -1
  57. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  58. package/dist/gridBidAdapter.js +1 -1
  59. package/dist/growthCodeIdSystem.js +1 -1
  60. package/dist/gumgumBidAdapter.js +1 -1
  61. package/dist/h12mediaBidAdapter.js +1 -1
  62. package/dist/id5IdSystem.js +1 -1
  63. package/dist/improvedigitalBidAdapter.js +1 -1
  64. package/dist/inmarBidAdapter.js +1 -1
  65. package/dist/insticatorBidAdapter.js +1 -1
  66. package/dist/iqzoneBidAdapter.js +1 -1
  67. package/dist/ivsBidAdapter.js +1 -0
  68. package/dist/ixBidAdapter.js +1 -1
  69. package/dist/justpremiumBidAdapter.js +1 -1
  70. package/dist/jwplayerVideoProvider.js +1 -1
  71. package/dist/kargoBidAdapter.js +1 -1
  72. package/dist/koblerBidAdapter.js +1 -1
  73. package/dist/konduitAnalyticsAdapter.js +1 -1
  74. package/dist/kueezBidAdapter.js +1 -1
  75. package/dist/kueezRtbBidAdapter.js +1 -1
  76. package/dist/kulturemediaBidAdapter.js +1 -1
  77. package/dist/lassoBidAdapter.js +1 -1
  78. package/dist/lifestreetBidAdapter.js +1 -1
  79. package/dist/liveIntentIdSystem.js +1 -1
  80. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  81. package/dist/logicadBidAdapter.js +1 -1
  82. package/dist/loglyliftBidAdapter.js +1 -1
  83. package/dist/luponmediaBidAdapter.js +1 -1
  84. package/dist/magniteAnalyticsAdapter.js +1 -1
  85. package/dist/malltvAnalyticsAdapter.js +1 -1
  86. package/dist/marsmediaBidAdapter.js +1 -1
  87. package/dist/mathildeadsBidAdapter.js +1 -1
  88. package/dist/mediafuseBidAdapter.js +1 -1
  89. package/dist/medianetBidAdapter.js +1 -1
  90. package/dist/mediasquareBidAdapter.js +1 -1
  91. package/dist/mgidBidAdapter.js +1 -1
  92. package/dist/minutemediaBidAdapter.js +1 -1
  93. package/dist/minutemediaplusBidAdapter.js +1 -1
  94. package/dist/nativoBidAdapter.js +1 -1
  95. package/dist/neuwoRtdProvider.js +1 -1
  96. package/dist/nexx360BidAdapter.js +1 -1
  97. package/dist/not-for-prod/prebid.js +165 -162
  98. package/dist/oguryBidAdapter.js +1 -1
  99. package/dist/onetagBidAdapter.js +1 -1
  100. package/dist/onomagicBidAdapter.js +1 -1
  101. package/dist/ooloAnalyticsAdapter.js +1 -1
  102. package/dist/openxBidAdapter.js +1 -1
  103. package/dist/openxOrtbBidAdapter.js +1 -1
  104. package/dist/operaadsBidAdapter.js +1 -1
  105. package/dist/optidigitalBidAdapter.js +1 -1
  106. package/dist/ortbConverter.js +1 -1
  107. package/dist/outbrainBidAdapter.js +1 -1
  108. package/dist/pairIdSystem.js +1 -0
  109. package/dist/parrableIdSystem.js +1 -1
  110. package/dist/pixfutureBidAdapter.js +1 -1
  111. package/dist/prebid-core.js +1 -1
  112. package/dist/publinkIdSystem.js +1 -1
  113. package/dist/pubmaticBidAdapter.js +1 -1
  114. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  115. package/dist/pubxBidAdapter.js +1 -1
  116. package/dist/pxyzBidAdapter.js +1 -1
  117. package/dist/quantcastBidAdapter.js +1 -1
  118. package/dist/readpeakBidAdapter.js +1 -1
  119. package/dist/relaidoBidAdapter.js +1 -1
  120. package/dist/rhythmoneBidAdapter.js +1 -1
  121. package/dist/riseBidAdapter.js +1 -1
  122. package/dist/rubiconAnalyticsAdapter.js +1 -1
  123. package/dist/rubiconBidAdapter.js +1 -1
  124. package/dist/seedingAllianceBidAdapter.js +1 -1
  125. package/dist/seedtagBidAdapter.js +1 -1
  126. package/dist/sharedIdSystem.js +1 -1
  127. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  128. package/dist/sharethroughBidAdapter.js +1 -1
  129. package/dist/shinezBidAdapter.js +1 -1
  130. package/dist/smaatoBidAdapter.js +1 -1
  131. package/dist/smartadserverBidAdapter.js +1 -1
  132. package/dist/smarthubBidAdapter.js +1 -1
  133. package/dist/smartxBidAdapter.js +1 -1
  134. package/dist/smilewantedBidAdapter.js +1 -1
  135. package/dist/sonobiBidAdapter.js +1 -1
  136. package/dist/sovrnAnalyticsAdapter.js +1 -1
  137. package/dist/sovrnBidAdapter.js +1 -1
  138. package/dist/sspBCBidAdapter.js +1 -1
  139. package/dist/stvBidAdapter.js +1 -1
  140. package/dist/sublimeBidAdapter.js +1 -1
  141. package/dist/synacormediaBidAdapter.js +1 -1
  142. package/dist/targetVideoBidAdapter.js +1 -1
  143. package/dist/teadsBidAdapter.js +1 -1
  144. package/dist/trionBidAdapter.js +1 -1
  145. package/dist/tripleliftBidAdapter.js +1 -1
  146. package/dist/truereachBidAdapter.js +1 -1
  147. package/dist/ttdBidAdapter.js +1 -1
  148. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  149. package/dist/uid2IdSystem.js +1 -1
  150. package/dist/underdogmediaBidAdapter.js +1 -1
  151. package/dist/undertoneBidAdapter.js +1 -1
  152. package/dist/userId.js +1 -1
  153. package/dist/vidazooBidAdapter.js +1 -1
  154. package/dist/videobyteBidAdapter.js +1 -1
  155. package/dist/videoheroesBidAdapter.js +1 -1
  156. package/dist/vidoomyBidAdapter.js +1 -1
  157. package/dist/visiblemeasuresBidAdapter.js +1 -1
  158. package/dist/visxBidAdapter.js +1 -1
  159. package/dist/vrtcalBidAdapter.js +1 -1
  160. package/dist/vuukleBidAdapter.js +1 -1
  161. package/dist/widespaceBidAdapter.js +1 -1
  162. package/dist/winrBidAdapter.js +1 -1
  163. package/dist/yahoosspBidAdapter.js +1 -1
  164. package/dist/yieldmoBidAdapter.js +1 -1
  165. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  166. package/dist/yieldoneBidAdapter.js +1 -1
  167. package/integrationExamples/gpt/fledge_example.html +103 -0
  168. package/integrationExamples/gpt/prebidServer_fledge_example.html +111 -0
  169. package/libraries/domainOverrideToRootDomain/index.js +39 -0
  170. package/libraries/ortbConverter/processors/video.js +1 -0
  171. package/modules/acuityAdsBidAdapter.js +1 -1
  172. package/modules/admaticBidAdapter.js +7 -2
  173. package/modules/adnuntiusBidAdapter.js +3 -1
  174. package/modules/amxBidAdapter.js +1 -1
  175. package/modules/amxIdSystem.js +23 -20
  176. package/modules/amxIdSystem.md +7 -7
  177. package/modules/appnexusBidAdapter.js +108 -102
  178. package/modules/appushBidAdapter.js +1 -1
  179. package/modules/beyondmediaBidAdapter.js +1 -1
  180. package/modules/bidwatchAnalyticsAdapter.js +2 -0
  181. package/modules/braveBidAdapter.js +1 -1
  182. package/modules/brightcomBidAdapter.js +1 -1
  183. package/modules/brightcomSSPBidAdapter.js +1 -1
  184. package/modules/coinzillaBidAdapter.js +1 -2
  185. package/modules/compassBidAdapter.js +1 -1
  186. package/modules/connectIdSystem.js +96 -21
  187. package/modules/connectIdSystem.md +6 -5
  188. package/modules/contentexchangeBidAdapter.js +1 -1
  189. package/modules/conversantBidAdapter.js +3 -0
  190. package/modules/criteoBidAdapter.js +5 -1
  191. package/modules/eskimiBidAdapter.js +72 -0
  192. package/modules/eskimiBidAdapter.md +34 -0
  193. package/modules/freewheel-sspBidAdapter.js +8 -0
  194. package/modules/glimpseBidAdapter.js +1 -2
  195. package/modules/globalsunBidAdapter.js +1 -1
  196. package/modules/gridBidAdapter.js +43 -20
  197. package/modules/growthCodeIdSystem.js +18 -15
  198. package/modules/gumgumBidAdapter.js +1 -1
  199. package/modules/iqzoneBidAdapter.js +1 -1
  200. package/modules/ivsBidAdapter.js +85 -0
  201. package/modules/ivsBidAdapter.md +34 -0
  202. package/modules/ixBidAdapter.js +72 -105
  203. package/modules/jwplayerVideoProvider.js +25 -32
  204. package/modules/kargoBidAdapter.js +473 -246
  205. package/modules/koblerBidAdapter.js +1 -2
  206. package/modules/kueezBidAdapter.js +1 -1
  207. package/modules/kueezRtbBidAdapter.js +16 -4
  208. package/modules/liveIntentIdSystem.js +8 -0
  209. package/modules/luponmediaBidAdapter.js +1 -1
  210. package/modules/magniteAnalyticsAdapter.js +76 -3
  211. package/modules/mathildeadsBidAdapter.js +1 -1
  212. package/modules/medianetBidAdapter.js +1 -1
  213. package/modules/mediasquareBidAdapter.js +2 -1
  214. package/modules/mgidBidAdapter.js +178 -26
  215. package/modules/minutemediaBidAdapter.js +1 -1
  216. package/modules/minutemediaplusBidAdapter.js +16 -4
  217. package/modules/nativoBidAdapter.js +110 -21
  218. package/modules/neuwoRtdProvider.js +0 -2
  219. package/modules/oguryBidAdapter.js +3 -2
  220. package/modules/onomagicBidAdapter.js +1 -2
  221. package/modules/openxBidAdapter.js +192 -563
  222. package/modules/openxBidAdapter.md +22 -20
  223. package/modules/openxOrtbBidAdapter.js +13 -11
  224. package/modules/openxOrtbBidAdapter.md +5 -3
  225. package/modules/operaadsBidAdapter.js +1 -1
  226. package/modules/pairIdSystem.js +79 -0
  227. package/modules/pubmaticBidAdapter.js +13 -10
  228. package/modules/pubxBidAdapter.js +5 -2
  229. package/modules/riseBidAdapter.js +1 -1
  230. package/modules/sharedIdSystem.js +4 -27
  231. package/modules/sharethroughBidAdapter.js +1 -1
  232. package/modules/shinezBidAdapter.js +1 -1
  233. package/modules/smarthubBidAdapter.js +1 -1
  234. package/modules/synacormediaBidAdapter.js +1 -3
  235. package/modules/truereachBidAdapter.js +1 -2
  236. package/modules/userId/eids.js +24 -0
  237. package/modules/userId/eids.md +16 -0
  238. package/modules/videoheroesBidAdapter.js +1 -1
  239. package/modules/vidoomyBidAdapter.js +33 -4
  240. package/modules/visiblemeasuresBidAdapter.js +1 -1
  241. package/modules/vrtcalBidAdapter.js +1 -1
  242. package/modules/yieldmoBidAdapter.js +15 -5
  243. package/modules/yieldoneBidAdapter.js +1 -1
  244. package/package.json +1 -1
  245. package/src/Renderer.js +2 -1
  246. package/src/config.js +78 -127
  247. package/src/native.js +5 -1
  248. package/test/spec/auctionmanager_spec.js +2 -2
  249. package/test/spec/libraries/domainOverrideToRootDomain/index_spec.js +77 -0
  250. package/test/spec/modules/1plusXRtdProvider_spec.js +8 -7
  251. package/test/spec/modules/acuityAdsBidAdapter_spec.js +2 -1
  252. package/test/spec/modules/adagioBidAdapter_spec.js +0 -25
  253. package/test/spec/modules/admaticBidAdapter_spec.js +1 -1
  254. package/test/spec/modules/adnuntiusBidAdapter_spec.js +2 -1
  255. package/test/spec/modules/amxIdSystem_spec.js +13 -26
  256. package/test/spec/modules/appnexusBidAdapter_spec.js +464 -448
  257. package/test/spec/modules/appushBidAdapter_spec.js +2 -1
  258. package/test/spec/modules/axonixBidAdapter_spec.js +0 -27
  259. package/test/spec/modules/beyondmediaBidAdapter_spec.js +2 -1
  260. package/test/spec/modules/big-richmediaBidAdapter_spec.js +68 -64
  261. package/test/spec/modules/compassBidAdapter_spec.js +2 -1
  262. package/test/spec/modules/connectIdSystem_spec.js +420 -242
  263. package/test/spec/modules/contentexchangeBidAdapter_spec.js +2 -1
  264. package/test/spec/modules/conversantBidAdapter_spec.js +1 -0
  265. package/test/spec/modules/criteoBidAdapter_spec.js +33 -1
  266. package/test/spec/modules/eids_spec.js +30 -0
  267. package/test/spec/modules/eskimiBidAdapter_spec.js +155 -0
  268. package/test/spec/modules/freewheel-sspBidAdapter_spec.js +37 -0
  269. package/test/spec/modules/globalsunBidAdapter_spec.js +2 -1
  270. package/test/spec/modules/gridBidAdapter_spec.js +8 -0
  271. package/test/spec/modules/iqzoneBidAdapter_spec.js +2 -1
  272. package/test/spec/modules/ivsBidAdapter_spec.js +197 -0
  273. package/test/spec/modules/ixBidAdapter_spec.js +141 -71
  274. package/test/spec/modules/kargoBidAdapter_spec.js +297 -140
  275. package/test/spec/modules/koblerBidAdapter_spec.js +0 -20
  276. package/test/spec/modules/kueezRtbBidAdapter_spec.js +22 -2
  277. package/test/spec/modules/liveIntentIdSystem_spec.js +10 -0
  278. package/test/spec/modules/luponmediaBidAdapter_spec.js +1 -1
  279. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +129 -1
  280. package/test/spec/modules/mathildeadsBidAdapter_spec.js +2 -1
  281. package/test/spec/modules/mgidBidAdapter_spec.js +184 -36
  282. package/test/spec/modules/minutemediaplusBidAdapter_spec.js +22 -2
  283. package/test/spec/modules/nativoBidAdapter_spec.js +101 -0
  284. package/test/spec/modules/neuwoRtdProvider_spec.js +0 -1
  285. package/test/spec/modules/oguryBidAdapter_spec.js +19 -4
  286. package/test/spec/modules/ooloAnalyticsAdapter_spec.js +1 -1
  287. package/test/spec/modules/openxBidAdapter_spec.js +1157 -1936
  288. package/test/spec/modules/openxOrtbBidAdapter_spec.js +12 -39
  289. package/test/spec/modules/pairIdSystem_spec.js +68 -0
  290. package/test/spec/modules/pubCommonId_spec.js +0 -17
  291. package/test/spec/modules/pubmaticBidAdapter_spec.js +868 -867
  292. package/test/spec/modules/pubxBidAdapter_spec.js +10 -2
  293. package/test/spec/modules/realvuAnalyticsAdapter_spec.js +0 -5
  294. package/test/spec/modules/sharedIdSystem_spec.js +0 -46
  295. package/test/spec/modules/sharethroughBidAdapter_spec.js +2 -1
  296. package/test/spec/modules/smarthubBidAdapter_spec.js +2 -1
  297. package/test/spec/modules/synacormediaBidAdapter_spec.js +0 -26
  298. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +17 -4
  299. package/test/spec/modules/vidoomyBidAdapter_spec.js +58 -0
  300. package/test/spec/modules/visiblemeasuresBidAdapter_spec.js +2 -1
  301. package/test/spec/modules/vrtcalBidAdapter_spec.js +3 -2
  302. package/test/spec/modules/yieldmoBidAdapter_spec.js +19 -1
  303. package/test/spec/renderer_spec.js +1 -2
  304. package/test/spec/unit/pbjs_api_spec.js +19 -3
  305. package/test/test_index.js +13 -3
  306. package/dist/gridNMBidAdapter.js +0 -1
  307. package/modules/gridNMBidAdapter.js +0 -422
  308. package/modules/gridNMBidAdapter.md +0 -39
  309. package/test/spec/modules/gridNMBidAdapter_spec.js +0 -636
@@ -1,6 +1,7 @@
1
1
  import { deepAccess, isEmpty } from '../src/utils.js'
2
2
  import { registerBidder } from '../src/adapters/bidderFactory.js'
3
3
  import { BANNER } from '../src/mediaTypes.js'
4
+ import { getGlobal } from '../src/prebidGlobal.js'
4
5
  // import { config } from 'src/config'
5
6
 
6
7
  const BIDDER_CODE = 'nativo'
@@ -14,6 +15,8 @@ const SUPPORTED_AD_TYPES = [BANNER]
14
15
  const FLOOR_PRICE_CURRENCY = 'USD'
15
16
  const PRICE_FLOOR_WILDCARD = '*'
16
17
 
18
+ const localPbjsRef = getGlobal()
19
+
17
20
  /**
18
21
  * Keep track of bid data by keys
19
22
  * @returns {Object} - Map of bid data that can be referenced by multiple keys
@@ -133,6 +136,9 @@ export const spec = {
133
136
  * @return ServerRequest Info describing the request to the server.
134
137
  */
135
138
  buildRequests: function (validBidRequests, bidderRequest) {
139
+ const requestData = new RequestData()
140
+ requestData.addBidRequestDataSource(new UserEIDs())
141
+
136
142
  // Parse values from bid requests
137
143
  const placementIds = new Set()
138
144
  const bidDataMap = BidDataMap()
@@ -166,6 +172,8 @@ export const spec = {
166
172
  if (bidRequestFloorPriceData) {
167
173
  floorPriceData[bidRequest.adUnitCode] = bidRequestFloorPriceData
168
174
  }
175
+
176
+ requestData.processBidRequestData(bidRequest, bidderRequest)
169
177
  })
170
178
  bidRequestMap[bidderRequest.bidderRequestId] = bidDataMap
171
179
 
@@ -174,6 +182,10 @@ export const spec = {
174
182
 
175
183
  // Build basic required QS Params
176
184
  let params = [
185
+ // Prebid version
186
+ {
187
+ key: 'ntv_pbv', value: localPbjsRef.version
188
+ },
177
189
  // Prebid request id
178
190
  { key: 'ntv_pb_rid', value: bidderRequest.bidderRequestId },
179
191
  // Ad unit data
@@ -255,9 +267,12 @@ export const spec = {
255
267
  params.unshift({ key: 'us_privacy', value: bidderRequest.uspConsent })
256
268
  }
257
269
 
270
+ const qsParamStrings = [requestData.getRequestDataQueryString(), arrayToQS(params)]
271
+ const requestUrl = buildRequestUrl(BIDDER_ENDPOINT, qsParamStrings)
272
+
258
273
  let serverRequest = {
259
274
  method: 'GET',
260
- url: BIDDER_ENDPOINT + arrayToQS(params),
275
+ url: requestUrl
261
276
  }
262
277
 
263
278
  return serverRequest
@@ -404,13 +419,6 @@ export const spec = {
404
419
  return syncs
405
420
  },
406
421
 
407
- /**
408
- * Will be called when an adpater timed out for an auction.
409
- * Adapter can fire a ajax or pixel call to register a timeout at thier end.
410
- * @param {Object} timeoutData - Timeout specific data
411
- */
412
- onTimeout: function (timeoutData) {},
413
-
414
422
  /**
415
423
  * Will be called when a bid from the adapter won the auction.
416
424
  * @param {Object} bid - The bid that won the auction
@@ -425,12 +433,6 @@ export const spec = {
425
433
  appendFilterData(campaignsToFilter, ext.campaignsToFilter)
426
434
  },
427
435
 
428
- /**
429
- * Will be called when the adserver targeting has been set for a bid from the adapter.
430
- * @param {Object} bidder - The bid of which the targeting has been set
431
- */
432
- onSetTargeting: function (bid) {},
433
-
434
436
  /**
435
437
  * Maps Prebid's bidId to Nativo's placementId values per unique bidderRequestId
436
438
  * @param {String} bidderRequestId - The unique ID value associated with the bidderRequest
@@ -451,6 +453,78 @@ export const spec = {
451
453
  registerBidder(spec)
452
454
 
453
455
  // Utils
456
+ export class RequestData {
457
+ constructor() {
458
+ this.bidRequestDataSources = []
459
+ }
460
+
461
+ addBidRequestDataSource(bidRequestDataSource) {
462
+ if (!(bidRequestDataSource instanceof BidRequestDataSource)) return
463
+
464
+ this.bidRequestDataSources.push(bidRequestDataSource)
465
+ }
466
+
467
+ processBidRequestData(bidRequest, bidderRequest) {
468
+ for (let bidRequestDataSource of this.bidRequestDataSources) {
469
+ bidRequestDataSource.processBidRequestData(bidRequest, bidderRequest)
470
+ }
471
+ }
472
+
473
+ getRequestDataQueryString() {
474
+ if (this.bidRequestDataSources.length == 0) return
475
+
476
+ const queryParams = this.bidRequestDataSources.map(dataSource => dataSource.getRequestQueryString()).filter(queryString => queryString !== '')
477
+ return queryParams.join('&')
478
+ }
479
+ }
480
+
481
+ export class BidRequestDataSource {
482
+ constructor() {
483
+ this.type = 'BidRequestDataSource'
484
+ }
485
+ processBidRequestData(bidRequest, bidderRequest) { }
486
+ getRequestQueryString() { return '' }
487
+ }
488
+
489
+ export class UserEIDs extends BidRequestDataSource {
490
+ constructor() {
491
+ super()
492
+ this.type = 'UserEIDs'
493
+ this.qsParam = new QueryStringParam('ntv_pb_eid')
494
+ this.eids = []
495
+ }
496
+
497
+ processBidRequestData(bidRequest, bidderRequest) {
498
+ if (bidRequest.userIdAsEids === undefined || this.eids.length > 0) return
499
+ this.eids = bidRequest.userIdAsEids
500
+ }
501
+
502
+ getRequestQueryString() {
503
+ if (this.eids.length === 0) return ''
504
+
505
+ const encodedValueArray = encodeToBase64(this.eids)
506
+ this.qsParam.value = encodedValueArray
507
+ return this.qsParam.toString()
508
+ }
509
+ }
510
+
511
+ export class QueryStringParam {
512
+ constructor(key, value) {
513
+ this.key = key
514
+ this.value = value
515
+ }
516
+ }
517
+
518
+ QueryStringParam.prototype.toString = function () {
519
+ return `${this.key}=${this.value}`
520
+ }
521
+
522
+ export function encodeToBase64(value) {
523
+ try {
524
+ return btoa(JSON.stringify(value))
525
+ } catch (err) { }
526
+ }
527
+
454
528
  export function parseFloorPriceData(bidRequest) {
455
529
  if (typeof bidRequest.getFloor !== 'function') return
456
530
 
@@ -589,12 +663,9 @@ function appendQSParamString(str, key, value) {
589
663
  * @returns
590
664
  */
591
665
  function arrayToQS(arr) {
592
- return (
593
- '?' +
594
- arr.reduce((value, obj) => {
595
- return appendQSParamString(value, obj.key, obj.value)
596
- }, '')
597
- )
666
+ return arr.reduce((value, obj) => {
667
+ return appendQSParamString(value, obj.key, obj.value)
668
+ }, '')
598
669
  }
599
670
 
600
671
  /**
@@ -615,6 +686,24 @@ function getLargestSize(sizes, method = area) {
615
686
  })
616
687
  }
617
688
 
689
+ /**
690
+ * Build the final request url
691
+ */
692
+ export function buildRequestUrl(baseUrl, qsParamStringArray = []) {
693
+ if (qsParamStringArray.length === 0 || !Array.isArray(qsParamStringArray)) return baseUrl
694
+
695
+ const nonEmptyQSParamStrings = qsParamStringArray.filter(qsParamString => qsParamString.trim() !== '')
696
+
697
+ if (nonEmptyQSParamStrings.length === 0) return baseUrl
698
+
699
+ let requestUrl = `${baseUrl}?${nonEmptyQSParamStrings[0]}`
700
+ for (let i = 1; i < nonEmptyQSParamStrings.length; i++) {
701
+ requestUrl += `&${nonEmptyQSParamStrings[i]}`
702
+ }
703
+
704
+ return requestUrl
705
+ }
706
+
618
707
  /**
619
708
  * Calculate the area
620
709
  * @param {Array} size - [width, height]
@@ -645,7 +734,7 @@ export function getPageUrlFromBidRequest(bidRequest) {
645
734
  try {
646
735
  const url = new URL(paramPageUrl)
647
736
  return url.href
648
- } catch (err) {}
737
+ } catch (err) { }
649
738
  }
650
739
 
651
740
  export function hasProtocol(url) {
@@ -7,7 +7,6 @@ import CONSTANTS from '../src/constants.json';
7
7
 
8
8
  export const DATA_PROVIDER = 'neuwo.ai';
9
9
  const SEGTAX_IAB = 6 // IAB - Content Taxonomy version 2
10
- const CATTAX_IAB = 6 // IAB Tech Lab Content Taxonomy 2.2
11
10
  const RESPONSE_IAB_TIER_1 = 'marketing_categories.iab_tier_1'
12
11
  const RESPONSE_IAB_TIER_2 = 'marketing_categories.iab_tier_2'
13
12
 
@@ -106,7 +105,6 @@ export function injectTopics(topics, bidsConfig) {
106
105
 
107
106
  // upgrade category taxonomy to IAB 2.2, inject result to page categories
108
107
  if (segment.length > 0) {
109
- addFragment(bidsConfig.ortb2Fragments.global, 'site.cattax', CATTAX_IAB)
110
108
  addFragment(bidsConfig.ortb2Fragments.global, 'site.pagecat', segment.map(s => s.id))
111
109
  }
112
110
 
@@ -11,7 +11,7 @@ const DEFAULT_TIMEOUT = 1000;
11
11
  const BID_HOST = 'https://mweb-hb.presage.io/api/header-bidding-request';
12
12
  const TIMEOUT_MONITORING_HOST = 'https://ms-ads-monitoring-events.presage.io';
13
13
  const MS_COOKIE_SYNC_DOMAIN = 'https://ms-cookie-sync.presage.io';
14
- const ADAPTER_VERSION = '1.4.0';
14
+ const ADAPTER_VERSION = '1.4.1';
15
15
 
16
16
  function getClientWidth() {
17
17
  const documentElementClientWidth = window.top.document.documentElement.clientWidth
@@ -90,7 +90,8 @@ function buildRequests(validBidRequests, bidderRequest) {
90
90
  },
91
91
  device: {
92
92
  w: getClientWidth(),
93
- h: getClientHeight()
93
+ h: getClientHeight(),
94
+ pxratio: window.devicePixelRatio
94
95
  }
95
96
  };
96
97
 
@@ -13,7 +13,6 @@ import {
13
13
  } from '../src/utils.js';
14
14
  import {registerBidder} from '../src/adapters/bidderFactory.js';
15
15
  import {BANNER} from '../src/mediaTypes.js';
16
- import {config} from '../src/config.js';
17
16
 
18
17
  const BIDDER_CODE = 'onomagic';
19
18
  const URL = 'https://bidder.onomagic.com/hb';
@@ -80,7 +79,7 @@ function buildRequests(bidReqs, bidderRequest) {
80
79
  w: screen.width,
81
80
  h: screen.height
82
81
  },
83
- tmax: config.getConfig('bidderTimeout')
82
+ tmax: bidderRequest?.timeout
84
83
  };
85
84
 
86
85
  return {