prebid.js 8.43.0 → 8.45.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 (501) hide show
  1. package/README.md +7 -1
  2. package/creative/constants.js +7 -7
  3. package/creative/renderers/display/constants.js +2 -2
  4. package/creative/renderers/native/constants.js +2 -2
  5. package/dist/33acrossAnalyticsAdapter.js +1 -1
  6. package/dist/33acrossBidAdapter.js +1 -1
  7. package/dist/33acrossIdSystem.js +1 -1
  8. package/dist/BTBidAdapter.js +1 -1
  9. package/dist/adWMGAnalyticsAdapter.js +1 -1
  10. package/dist/adagioAnalyticsAdapter.js +1 -1
  11. package/dist/adagioBidAdapter.js +1 -1
  12. package/dist/adbookpspBidAdapter.js +1 -1
  13. package/dist/adgenerationBidAdapter.js +1 -1
  14. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  15. package/dist/adkernelBidAdapter.js +1 -1
  16. package/dist/adlooxAdServerVideo.js +1 -1
  17. package/dist/adlooxAnalyticsAdapter.js +1 -1
  18. package/dist/adlooxRtdProvider.js +1 -1
  19. package/dist/adnuntiusBidAdapter.js +1 -1
  20. package/dist/adomikAnalyticsAdapter.js +1 -1
  21. package/dist/adpod.js +1 -1
  22. package/dist/adqueryBidAdapter.js +1 -1
  23. package/dist/adrelevantisBidAdapter.js +1 -1
  24. package/dist/adstirBidAdapter.js +1 -1
  25. package/dist/adtrgtmeBidAdapter.js +1 -1
  26. package/dist/adxcgAnalyticsAdapter.js +1 -1
  27. package/dist/adxcgBidAdapter.js +1 -1
  28. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  29. package/dist/adyoulikeBidAdapter.js +1 -1
  30. package/dist/agmaAnalyticsAdapter.js +1 -1
  31. package/dist/ajaBidAdapter.js +1 -1
  32. package/dist/amxBidAdapter.js +1 -1
  33. package/dist/amxIdSystem.js +1 -1
  34. package/dist/analyticsAdapter.js +1 -1
  35. package/dist/appierAnalyticsAdapter.js +1 -1
  36. package/dist/appnexusBidAdapter.js +1 -1
  37. package/dist/asoBidAdapter.js +1 -1
  38. package/dist/asteriobidAnalyticsAdapter.js +1 -1
  39. package/dist/atsAnalyticsAdapter.js +1 -1
  40. package/dist/automatadAnalyticsAdapter.js +1 -1
  41. package/dist/axonixBidAdapter.js +1 -1
  42. package/dist/bidViewability.js +1 -1
  43. package/dist/bidViewabilityIO.js +1 -1
  44. package/dist/bidglassBidAdapter.js +1 -1
  45. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  46. package/dist/big-richmediaBidAdapter.js +1 -1
  47. package/dist/brandmetricsRtdProvider.js +1 -1
  48. package/dist/bridBidAdapter.js +1 -1
  49. package/dist/bridgewellBidAdapter.js +1 -1
  50. package/dist/brightMountainMediaBidAdapter.js +1 -1
  51. package/dist/browsiRtdProvider.js +1 -1
  52. package/dist/byDataAnalyticsAdapter.js +1 -1
  53. package/dist/carodaBidAdapter.js +1 -1
  54. package/dist/chtnwBidAdapter.js +1 -1
  55. package/dist/chunk-core.js +1 -1
  56. package/dist/chunk-paapi.js +1 -1
  57. package/dist/cleanioRtdProvider.js +1 -1
  58. package/dist/concertAnalyticsAdapter.js +1 -1
  59. package/dist/concertBidAdapter.js +1 -1
  60. package/dist/confiantRtdProvider.js +1 -1
  61. package/dist/connectadBidAdapter.js +1 -1
  62. package/dist/consentManagementUsp.js +1 -1
  63. package/dist/consumableBidAdapter.js +1 -1
  64. package/dist/conversantAnalyticsAdapter.js +1 -1
  65. package/dist/conversantBidAdapter.js +1 -1
  66. package/dist/craftBidAdapter.js +1 -1
  67. package/dist/creative-renderer-native.js +1 -1
  68. package/dist/criteoBidAdapter.js +1 -1
  69. package/dist/currency.js +1 -1
  70. package/dist/cwireBidAdapter.js +1 -1
  71. package/dist/dailymotionBidAdapter.js +1 -0
  72. package/dist/datablocksAnalyticsAdapter.js +1 -1
  73. package/dist/datawrkzBidAdapter.js +1 -1
  74. package/dist/debugging-standalone.js +1 -1
  75. package/dist/debugging.js +1 -1
  76. package/dist/dependencies.json +3 -3
  77. package/dist/dfpAdServerVideo.js +1 -1
  78. package/dist/discoveryBidAdapter.js +1 -1
  79. package/dist/dsaControl.js +1 -1
  80. package/dist/dspxBidAdapter.js +1 -1
  81. package/dist/dxkultureBidAdapter.js +1 -1
  82. package/dist/eplanningAnalyticsAdapter.js +1 -1
  83. package/dist/eplanningBidAdapter.js +1 -1
  84. package/dist/euidIdSystem.js +1 -1
  85. package/dist/feedadBidAdapter.js +1 -1
  86. package/dist/finativeBidAdapter.js +1 -1
  87. package/dist/fintezaAnalyticsAdapter.js +1 -1
  88. package/dist/freewheel-sspBidAdapter.js +1 -1
  89. package/dist/gdprEnforcement.js +1 -1
  90. package/dist/genericAnalyticsAdapter.js +1 -1
  91. package/dist/geoedgeRtdProvider.js +1 -1
  92. package/dist/gmosspBidAdapter.js +1 -1
  93. package/dist/goldbachBidAdapter.js +1 -1
  94. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  95. package/dist/greenbidsRtdProvider.js +1 -1
  96. package/dist/gridBidAdapter.js +1 -1
  97. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  98. package/dist/gumgumBidAdapter.js +1 -1
  99. package/dist/h12mediaBidAdapter.js +1 -1
  100. package/dist/hadronAnalyticsAdapter.js +1 -1
  101. package/dist/holidBidAdapter.js +1 -1
  102. package/dist/hypelabBidAdapter.js +1 -1
  103. package/dist/id5AnalyticsAdapter.js +1 -1
  104. package/dist/id5IdSystem.js +1 -1
  105. package/dist/illuminBidAdapter.js +1 -1
  106. package/dist/imdsBidAdapter.js +1 -1
  107. package/dist/improvedigitalBidAdapter.js +1 -1
  108. package/dist/insticatorBidAdapter.js +1 -1
  109. package/dist/instreamTracking.js +1 -1
  110. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  111. package/dist/ixBidAdapter.js +1 -1
  112. package/dist/jixieBidAdapter.js +1 -1
  113. package/dist/justpremiumBidAdapter.js +1 -1
  114. package/dist/jwplayerRtdProvider.js +1 -1
  115. package/dist/kargoAnalyticsAdapter.js +1 -1
  116. package/dist/kargoBidAdapter.js +1 -1
  117. package/dist/kimberliteBidAdapter.js +1 -1
  118. package/dist/konduitAnalyticsAdapter.js +1 -1
  119. package/dist/kueezBidAdapter.js +1 -1
  120. package/dist/kueezRtbBidAdapter.js +1 -1
  121. package/dist/lassoBidAdapter.js +1 -1
  122. package/dist/lifestreetBidAdapter.js +1 -1
  123. package/dist/limelightDigitalBidAdapter.js +1 -1
  124. package/dist/liveIntentAnalyticsAdapter.js +1 -1
  125. package/dist/liveIntentIdSystem.js +1 -1
  126. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  127. package/dist/logicadBidAdapter.js +1 -1
  128. package/dist/loglyliftBidAdapter.js +1 -1
  129. package/dist/loyalBidAdapter.js +1 -0
  130. package/dist/luceadBidAdapter.js +1 -1
  131. package/dist/magniteAnalyticsAdapter.js +1 -1
  132. package/dist/malltvAnalyticsAdapter.js +1 -1
  133. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  134. package/dist/marsmediaBidAdapter.js +1 -1
  135. package/dist/mediafilterRtdProvider.js +1 -1
  136. package/dist/mediafuseBidAdapter.js +1 -1
  137. package/dist/medianetAnalyticsAdapter.js +1 -1
  138. package/dist/medianetBidAdapter.js +1 -1
  139. package/dist/mediasquareBidAdapter.js +1 -1
  140. package/dist/mgidBidAdapter.js +1 -1
  141. package/dist/minutemediaBidAdapter.js +1 -1
  142. package/dist/minutemediaplusBidAdapter.js +1 -1
  143. package/dist/missenaBidAdapter.js +1 -1
  144. package/dist/multibid.js +1 -1
  145. package/dist/neuwoRtdProvider.js +1 -1
  146. package/dist/nextMillenniumBidAdapter.js +1 -1
  147. package/dist/nexx360BidAdapter.js +1 -1
  148. package/dist/nobidAnalyticsAdapter.js +1 -1
  149. package/dist/not-for-prod/prebid.js +242 -239
  150. package/dist/oguryBidAdapter.js +1 -1
  151. package/dist/onetagBidAdapter.js +1 -1
  152. package/dist/ooloAnalyticsAdapter.js +1 -1
  153. package/dist/openwebBidAdapter.js +1 -1
  154. package/dist/openxBidAdapter.js +1 -1
  155. package/dist/optidigitalBidAdapter.js +1 -1
  156. package/dist/optimonAnalyticsAdapter.js +1 -1
  157. package/dist/outbrainBidAdapter.js +1 -1
  158. package/dist/oxxionAnalyticsAdapter.js +1 -1
  159. package/dist/oxxionRtdProvider.js +1 -1
  160. package/dist/parrableIdSystem.js +1 -1
  161. package/dist/pbsExtensions.js +1 -1
  162. package/dist/permutiveRtdProvider.js +1 -1
  163. package/dist/pgamsspBidAdapter.js +1 -1
  164. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  165. package/dist/pirIdSystem.js +1 -0
  166. package/dist/pixfutureBidAdapter.js +1 -1
  167. package/dist/prebidServerBidAdapter.js +1 -1
  168. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  169. package/dist/priceFloors.js +1 -1
  170. package/dist/publinkIdSystem.js +1 -1
  171. package/dist/publirBidAdapter.js +1 -1
  172. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  173. package/dist/pubmaticBidAdapter.js +1 -1
  174. package/dist/pubperfAnalyticsAdapter.js +1 -1
  175. package/dist/pubstackAnalyticsAdapter.js +1 -1
  176. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  177. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  178. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  179. package/dist/pxyzBidAdapter.js +1 -1
  180. package/dist/qortexRtdProvider.js +1 -1
  181. package/dist/quantcastBidAdapter.js +1 -1
  182. package/dist/readpeakBidAdapter.js +1 -1
  183. package/dist/relaidoBidAdapter.js +1 -1
  184. package/dist/relevantAnalyticsAdapter.js +1 -1
  185. package/dist/retailspotBidAdapter.js +1 -1
  186. package/dist/rhythmoneBidAdapter.js +1 -1
  187. package/dist/riseBidAdapter.js +1 -1
  188. package/dist/rivrAnalyticsAdapter.js +1 -1
  189. package/dist/roxotAnalyticsAdapter.js +1 -1
  190. package/dist/rtdModule.js +1 -1
  191. package/dist/rubiconBidAdapter.js +1 -1
  192. package/dist/s2sTesting.js +1 -1
  193. package/dist/scaleableAnalyticsAdapter.js +1 -1
  194. package/dist/schain.js +1 -1
  195. package/dist/seedingAllianceBidAdapter.js +1 -1
  196. package/dist/seedtagBidAdapter.js +1 -1
  197. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  198. package/dist/sharethroughBidAdapter.js +1 -1
  199. package/dist/shinezBidAdapter.js +1 -1
  200. package/dist/shinezRtbBidAdapter.js +1 -1
  201. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  202. package/dist/sirdataRtdProvider.js +1 -1
  203. package/dist/sizeMapping.js +1 -1
  204. package/dist/smaatoBidAdapter.js +1 -1
  205. package/dist/smartadserverBidAdapter.js +1 -1
  206. package/dist/smartxBidAdapter.js +1 -1
  207. package/dist/smilewantedBidAdapter.js +1 -1
  208. package/dist/sonobiAnalyticsAdapter.js +1 -1
  209. package/dist/sonobiBidAdapter.js +1 -1
  210. package/dist/sovrnAnalyticsAdapter.js +1 -1
  211. package/dist/sovrnBidAdapter.js +1 -1
  212. package/dist/sspBCBidAdapter.js +1 -1
  213. package/dist/staqAnalyticsAdapter.js +1 -1
  214. package/dist/stnBidAdapter.js +1 -1
  215. package/dist/stvBidAdapter.js +1 -1
  216. package/dist/sublimeBidAdapter.js +1 -1
  217. package/dist/taboolaBidAdapter.js +1 -1
  218. package/dist/tagorasBidAdapter.js +1 -1
  219. package/dist/targetVideoBidAdapter.js +1 -1
  220. package/dist/teadsBidAdapter.js +1 -1
  221. package/dist/terceptAnalyticsAdapter.js +1 -1
  222. package/dist/themoneytizerBidAdapter.js +1 -1
  223. package/dist/topicsFpdModule.js +1 -1
  224. package/dist/trionBidAdapter.js +1 -1
  225. package/dist/tripleliftBidAdapter.js +1 -1
  226. package/dist/ttdBidAdapter.js +1 -1
  227. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  228. package/dist/uid2IdSystem.js +1 -1
  229. package/dist/underdogmediaBidAdapter.js +1 -1
  230. package/dist/undertoneBidAdapter.js +1 -1
  231. package/dist/unrulyBidAdapter.js +1 -1
  232. package/dist/userId.js +1 -1
  233. package/dist/vidazooBidAdapter.js +1 -1
  234. package/dist/videoModule.js +1 -1
  235. package/dist/videobyteBidAdapter.js +1 -1
  236. package/dist/visxBidAdapter.js +1 -1
  237. package/dist/vuukleBidAdapter.js +1 -1
  238. package/dist/weboramaRtdProvider.js +1 -1
  239. package/dist/widespaceBidAdapter.js +1 -1
  240. package/dist/winrBidAdapter.js +1 -1
  241. package/dist/yahoosspBidAdapter.js +1 -1
  242. package/dist/yandexAnalyticsAdapter.js +1 -1
  243. package/dist/yieldmoBidAdapter.js +1 -1
  244. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  245. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  246. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  247. package/dist/zeta_global_sspBidAdapter.js +1 -1
  248. package/gulpfile.js +9 -1
  249. package/integrationExamples/gpt/adnuntius_example.html +7 -1
  250. package/integrationExamples/gpt/azerionedgeRtdProvider_example.html +3 -3
  251. package/integrationExamples/gpt/top-level-paapi/decisionLogic.js +57 -0
  252. package/integrationExamples/gpt/top-level-paapi/tl_paapi_example.html +188 -0
  253. package/integrationExamples/gpt/x-domain/creative.html +1 -1
  254. package/integrationExamples/{gpt → realTimeData}/jwplayerRtdProvider_example.html +28 -42
  255. package/libraries/analyticsAdapter/AnalyticsAdapter.js +4 -4
  256. package/libraries/creative-renderer-native/renderer.js +1 -1
  257. package/modules/33acrossAnalyticsAdapter.js +2 -4
  258. package/modules/33acrossIdSystem.js +1 -1
  259. package/modules/adWMGAnalyticsAdapter.js +9 -11
  260. package/modules/adagioAnalyticsAdapter.js +49 -46
  261. package/modules/adkernelAdnAnalyticsAdapter.js +8 -8
  262. package/modules/adkernelBidAdapter.js +23 -102
  263. package/modules/adlooxAdServerVideo.js +2 -2
  264. package/modules/adlooxAnalyticsAdapter.js +4 -4
  265. package/modules/adnuntiusBidAdapter.js +50 -32
  266. package/modules/adomikAnalyticsAdapter.js +7 -7
  267. package/modules/adpod.js +3 -3
  268. package/modules/adxcgAnalyticsAdapter.js +10 -10
  269. package/modules/adxpremiumAnalyticsAdapter.js +8 -10
  270. package/modules/agmaAnalyticsAdapter.js +6 -7
  271. package/modules/appierAnalyticsAdapter.js +5 -7
  272. package/modules/appnexusBidAdapter.js +1 -0
  273. package/modules/asteriobidAnalyticsAdapter.js +14 -14
  274. package/modules/atsAnalyticsAdapter.js +4 -4
  275. package/modules/automatadAnalyticsAdapter.js +20 -20
  276. package/modules/azerionedgeRtdProvider.md +4 -2
  277. package/modules/bidViewability.js +3 -3
  278. package/modules/bidViewabilityIO.js +3 -3
  279. package/modules/bidwatchAnalyticsAdapter.js +7 -9
  280. package/modules/brandmetricsRtdProvider.js +6 -6
  281. package/modules/browsiRtdProvider.js +3 -3
  282. package/modules/byDataAnalyticsAdapter.js +3 -3
  283. package/modules/cleanioRtdProvider.js +3 -3
  284. package/modules/concertAnalyticsAdapter.js +5 -7
  285. package/modules/confiantRtdProvider.js +2 -2
  286. package/modules/conversantAnalyticsAdapter.js +2 -4
  287. package/modules/criteoBidAdapter.js +53 -10
  288. package/modules/currency.js +7 -7
  289. package/modules/dailymotionBidAdapter.js +139 -0
  290. package/modules/dailymotionBidAdapter.md +140 -0
  291. package/modules/datawrkzBidAdapter.js +4 -4
  292. package/modules/debugging/pbsInterceptor.js +2 -2
  293. package/modules/dfpAdServerVideo.js +2 -2
  294. package/modules/discoveryBidAdapter.js +21 -0
  295. package/modules/dsaControl.js +5 -5
  296. package/modules/eplanningAnalyticsAdapter.js +8 -8
  297. package/modules/fintezaAnalyticsAdapter.js +5 -5
  298. package/modules/gdprEnforcement.js +3 -3
  299. package/modules/geoedgeRtdProvider.js +2 -2
  300. package/modules/greenbidsAnalyticsAdapter.js +13 -10
  301. package/modules/greenbidsRtdProvider.js +2 -2
  302. package/modules/gridBidAdapter.js +2 -2
  303. package/modules/growthCodeAnalyticsAdapter.js +14 -14
  304. package/modules/gumgumBidAdapter.js +4 -1
  305. package/modules/hadronAnalyticsAdapter.js +14 -14
  306. package/modules/holidBidAdapter.js +2 -2
  307. package/modules/id5AnalyticsAdapter.js +7 -9
  308. package/modules/improvedigitalBidAdapter.js +2 -1
  309. package/modules/insticatorBidAdapter.js +137 -27
  310. package/modules/instreamTracking.js +4 -4
  311. package/modules/invisiblyAnalyticsAdapter.js +15 -17
  312. package/modules/ixBidAdapter.js +3 -3
  313. package/modules/jwplayerRtdProvider.js +93 -26
  314. package/modules/jwplayerRtdProvider.md +23 -2
  315. package/modules/kargoAnalyticsAdapter.js +3 -3
  316. package/modules/kargoBidAdapter.js +26 -31
  317. package/modules/konduitAnalyticsAdapter.js +13 -13
  318. package/modules/lassoBidAdapter.js +11 -2
  319. package/modules/limelightDigitalBidAdapter.js +2 -1
  320. package/modules/liveIntentAnalyticsAdapter.js +2 -2
  321. package/modules/livewrappedAnalyticsAdapter.js +10 -10
  322. package/modules/loyalBidAdapter.js +190 -0
  323. package/modules/loyalBidAdapter.md +79 -0
  324. package/modules/magniteAnalyticsAdapter.js +25 -23
  325. package/modules/malltvAnalyticsAdapter.js +4 -6
  326. package/modules/mediafilterRtdProvider.js +2 -2
  327. package/modules/medianetAnalyticsAdapter.js +12 -12
  328. package/modules/medianetBidAdapter.js +1 -1
  329. package/modules/multibid/index.js +2 -2
  330. package/modules/neuwoRtdProvider.js +2 -2
  331. package/modules/nextMillenniumBidAdapter.js +4 -4
  332. package/modules/nobidAnalyticsAdapter.js +9 -11
  333. package/modules/ooloAnalyticsAdapter.js +2 -2
  334. package/modules/oxxionAnalyticsAdapter.js +7 -9
  335. package/modules/paapi.js +20 -6
  336. package/modules/permutiveRtdProvider.js +21 -2
  337. package/modules/pgamsspBidAdapter.js +26 -3
  338. package/modules/pirIdSystem.js +62 -0
  339. package/modules/pirIdSystem.md +27 -0
  340. package/modules/prebidServerBidAdapter/index.js +8 -8
  341. package/modules/prebidServerBidAdapter/ortbConverter.js +3 -3
  342. package/modules/prebidmanagerAnalyticsAdapter.js +14 -14
  343. package/modules/priceFloors.js +10 -5
  344. package/modules/pubmaticAnalyticsAdapter.js +32 -22
  345. package/modules/pubmaticBidAdapter.js +1 -17
  346. package/modules/pubwiseAnalyticsAdapter.js +11 -11
  347. package/modules/pubxaiAnalyticsAdapter.js +6 -6
  348. package/modules/qortexRtdProvider.js +2 -2
  349. package/modules/roxotAnalyticsAdapter.js +8 -10
  350. package/modules/rtdModule/index.js +7 -7
  351. package/modules/scaleableAnalyticsAdapter.js +5 -5
  352. package/modules/seedtagBidAdapter.js +12 -3
  353. package/modules/sigmoidAnalyticsAdapter.js +7 -7
  354. package/modules/sirdataRtdProvider.js +2 -0
  355. package/modules/smaatoBidAdapter.js +1 -2
  356. package/modules/sonobiAnalyticsAdapter.js +10 -12
  357. package/modules/sonobiBidAdapter.js +2 -5
  358. package/modules/sovrnAnalyticsAdapter.js +7 -9
  359. package/modules/sovrnBidAdapter.js +1 -1
  360. package/modules/staqAnalyticsAdapter.js +9 -9
  361. package/modules/teadsBidAdapter.js +2 -0
  362. package/modules/terceptAnalyticsAdapter.js +7 -7
  363. package/modules/topicsFpdModule.js +3 -0
  364. package/modules/topicsFpdModule.md +4 -0
  365. package/modules/ucfunnelAnalyticsAdapter.js +5 -7
  366. package/modules/userId/index.js +3 -3
  367. package/modules/videoModule/index.js +4 -4
  368. package/modules/yandexAnalyticsAdapter.js +2 -2
  369. package/modules/yieldoneAnalyticsAdapter.js +7 -7
  370. package/modules/yuktamediaAnalyticsAdapter.js +9 -9
  371. package/modules/zeta_global_sspAnalyticsAdapter.js +5 -5
  372. package/modules/zeta_global_sspBidAdapter.js +8 -1
  373. package/package.json +1 -1
  374. package/src/adRendering.js +15 -15
  375. package/src/adUnits.js +9 -21
  376. package/src/adapterManager.js +23 -13
  377. package/src/adapters/bidderFactory.js +8 -8
  378. package/src/auction.js +26 -28
  379. package/src/auctionManager.js +4 -4
  380. package/src/bidderSettings.js +2 -2
  381. package/src/config.js +2 -2
  382. package/src/constants.js +190 -0
  383. package/src/events.js +3 -3
  384. package/src/native.js +6 -8
  385. package/src/prebid.js +6 -10
  386. package/src/secureCreatives.js +5 -5
  387. package/src/targeting.js +13 -13
  388. package/src/utils.js +4 -4
  389. package/test/fixtures/fixtures.js +44 -44
  390. package/test/helpers/analytics.js +6 -6
  391. package/test/spec/AnalyticsAdapter_spec.js +3 -3
  392. package/test/spec/auctionmanager_spec.js +82 -82
  393. package/test/spec/modules/33acrossAnalyticsAdapter_spec.js +1 -2
  394. package/test/spec/modules/33acrossIdSystem_spec.js +3 -3
  395. package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +14 -14
  396. package/test/spec/modules/adagioAnalyticsAdapter_spec.js +79 -55
  397. package/test/spec/modules/adkernelAdnAnalytics_spec.js +6 -6
  398. package/test/spec/modules/adkernelBidAdapter_spec.js +63 -24
  399. package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
  400. package/test/spec/modules/adnuntiusBidAdapter_spec.js +10 -7
  401. package/test/spec/modules/adomikAnalyticsAdapter_spec.js +7 -7
  402. package/test/spec/modules/adxcgAnalyticsAdapter_spec.js +7 -7
  403. package/test/spec/modules/adxpremiumAnalyticsAdapter_spec.js +7 -7
  404. package/test/spec/modules/agmaAnalyticsAdapter_spec.js +18 -14
  405. package/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  406. package/test/spec/modules/asteriobidAnalyticsAdapter_spec.js +2 -2
  407. package/test/spec/modules/atsAnalyticsAdapter_spec.js +8 -8
  408. package/test/spec/modules/automatadAnalyticsAdapter_spec.js +2 -2
  409. package/test/spec/modules/bidViewabilityIO_spec.js +2 -2
  410. package/test/spec/modules/bidViewability_spec.js +4 -4
  411. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +7 -6
  412. package/test/spec/modules/byDataAnalyticsAdapter_spec.js +5 -4
  413. package/test/spec/modules/cleanioRtdProvider_spec.js +6 -6
  414. package/test/spec/modules/concertAnalyticsAdapter_spec.js +7 -6
  415. package/test/spec/modules/confiantRtdProvider_spec.js +2 -2
  416. package/test/spec/modules/conversantAnalyticsAdapter_spec.js +61 -61
  417. package/test/spec/modules/criteoBidAdapter_spec.js +112 -6
  418. package/test/spec/modules/currency_spec.js +6 -6
  419. package/test/spec/modules/dailymotionBidAdapter_spec.js +369 -0
  420. package/test/spec/modules/discoveryBidAdapter_spec.js +35 -1
  421. package/test/spec/modules/dsaControl_spec.js +4 -4
  422. package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +20 -13
  423. package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +5 -5
  424. package/test/spec/modules/genericAnalyticsAdapter_spec.js +2 -2
  425. package/test/spec/modules/geoedgeRtdProvider_spec.js +37 -37
  426. package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +15 -2
  427. package/test/spec/modules/greenbidsRtdProvider_spec.js +2 -2
  428. package/test/spec/modules/gridBidAdapter_spec.js +3 -1
  429. package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +2 -2
  430. package/test/spec/modules/gumgumBidAdapter_spec.js +23 -0
  431. package/test/spec/modules/hadronAnalyticsAdapter_spec.js +3 -3
  432. package/test/spec/modules/id5AnalyticsAdapter_spec.js +5 -5
  433. package/test/spec/modules/id5IdSystem_spec.js +2 -2
  434. package/test/spec/modules/improvedigitalBidAdapter_spec.js +3 -3
  435. package/test/spec/modules/insticatorBidAdapter_spec.js +275 -22
  436. package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +40 -40
  437. package/test/spec/modules/jwplayerRtdProvider_spec.js +672 -29
  438. package/test/spec/modules/kargoAnalyticsAdapter_spec.js +3 -3
  439. package/test/spec/modules/kargoBidAdapter_spec.js +36 -0
  440. package/test/spec/modules/konduitAnalyticsAdapter_spec.js +13 -13
  441. package/test/spec/modules/lassoBidAdapter_spec.js +1 -0
  442. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +1 -1
  443. package/test/spec/modules/limelightDigitalBidAdapter_spec.js +16 -1
  444. package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -3
  445. package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +15 -20
  446. package/test/spec/modules/loyalBidAdapter_spec .js +375 -0
  447. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +31 -15
  448. package/test/spec/modules/malltvAnalyticsAdapter_spec.js +3 -3
  449. package/test/spec/modules/mediafilterRtdProvider_spec.js +2 -2
  450. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +3 -3
  451. package/test/spec/modules/nobidAnalyticsAdapter_spec.js +23 -23
  452. package/test/spec/modules/ooloAnalyticsAdapter_spec.js +33 -33
  453. package/test/spec/modules/optimonAnalyticsAdapter_spec.js +0 -1
  454. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +7 -7
  455. package/test/spec/modules/paapi_spec.js +40 -14
  456. package/test/spec/modules/permutiveRtdProvider_spec.js +29 -1
  457. package/test/spec/modules/pgamsspBidAdapter_spec.js +50 -4
  458. package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +9 -9
  459. package/test/spec/modules/pirIdSystem_spec.js +77 -0
  460. package/test/spec/modules/prebidServerBidAdapter_spec.js +7 -7
  461. package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -2
  462. package/test/spec/modules/priceFloors_spec.js +6 -5
  463. package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +12 -14
  464. package/test/spec/modules/pubmaticBidAdapter_spec.js +1 -1
  465. package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +0 -1
  466. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +14 -14
  467. package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +7 -7
  468. package/test/spec/modules/qortexRtdProvider_spec.js +2 -2
  469. package/test/spec/modules/realTimeDataModule_spec.js +9 -9
  470. package/test/spec/modules/relevantAnalyticsAdapter_spec.js +3 -3
  471. package/test/spec/modules/relevantdigitalBidAdapter_spec.js +2 -2
  472. package/test/spec/modules/rivrAnalyticsAdapter_spec.js +4 -4
  473. package/test/spec/modules/roxotAnalyticsAdapter_spec.js +25 -25
  474. package/test/spec/modules/scaleableAnalyticsAdapter_spec.js +5 -5
  475. package/test/spec/modules/seedtagBidAdapter_spec.js +56 -3
  476. package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +0 -1
  477. package/test/spec/modules/sonobiAnalyticsAdapter_spec.js +8 -7
  478. package/test/spec/modules/sonobiBidAdapter_spec.js +4 -6
  479. package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -2
  480. package/test/spec/modules/sovrnBidAdapter_spec.js +5 -5
  481. package/test/spec/modules/staqAnalyticsAdapter_spec.js +7 -7
  482. package/test/spec/modules/teadsBidAdapter_spec.js +35 -0
  483. package/test/spec/modules/terceptAnalyticsAdapter_spec.js +7 -7
  484. package/test/spec/modules/trionBidAdapter_spec.js +1 -1
  485. package/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  486. package/test/spec/modules/userId_spec.js +4 -4
  487. package/test/spec/modules/videoModule/pbVideo_spec.js +3 -3
  488. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +22 -21
  489. package/test/spec/modules/yuktamediaAnalyticsAdapter_spec.js +33 -32
  490. package/test/spec/modules/zeta_global_sspAnalyticsAdapter_spec.js +8 -8
  491. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +1 -1
  492. package/test/spec/native_spec.js +19 -19
  493. package/test/spec/unit/adRendering_spec.js +14 -14
  494. package/test/spec/unit/adUnits_spec.js +1 -1
  495. package/test/spec/unit/core/adapterManager_spec.js +99 -59
  496. package/test/spec/unit/core/bidderFactory_spec.js +6 -6
  497. package/test/spec/unit/core/targeting_spec.js +47 -47
  498. package/test/spec/unit/pbjs_api_spec.js +81 -81
  499. package/test/spec/unit/secureCreatives_spec.js +27 -27
  500. package/test/spec/utils_spec.js +2 -2
  501. package/src/constants.json +0 -196
@@ -1,7 +1,7 @@
1
- import { isArray, _map, triggerPixel } from '../src/utils.js';
2
1
  import { registerBidder } from '../src/adapters/bidderFactory.js';
3
- import { VIDEO, BANNER } from '../src/mediaTypes.js';
4
2
  import { config } from '../src/config.js';
3
+ import { BANNER, VIDEO } from '../src/mediaTypes.js';
4
+ import { _map, isArray, triggerPixel } from '../src/utils.js';
5
5
 
6
6
  /**
7
7
  * @typedef {import('../src/adapters/bidderFactory.js').BidRequest} BidRequest
@@ -125,7 +125,7 @@ function buildBidRequest(validBidRequest) {
125
125
  adUnitCode: validBidRequest.adUnitCode,
126
126
  geom: geom(validBidRequest.adUnitCode),
127
127
  placement: params.placement,
128
- requestCount: validBidRequest.bidderRequestsCount || 1, // FIXME : in unit test the parameter bidderRequestsCount is undefined
128
+ requestCount: validBidRequest.bidderRequestsCount || 1, // FIXME : in unit test the parameter bidderRequestsCount is undefinedt
129
129
  };
130
130
 
131
131
  if (hasVideoMediaType(validBidRequest)) {
@@ -284,6 +284,7 @@ export const spec = {
284
284
  auctionStart: bidderRequest.auctionStart || Date.now(),
285
285
  ttfb: ttfb(),
286
286
  bidRequests: _map(validBidRequests, buildBidRequest),
287
+ user: { topics: [], eids: [] }
287
288
  };
288
289
 
289
290
  if (payload.cmp) {
@@ -316,7 +317,15 @@ export const spec = {
316
317
  }
317
318
  }
318
319
 
320
+ if (bidderRequest.ortb2?.user?.data) {
321
+ payload.user.topics = bidderRequest.ortb2.user.data
322
+ }
323
+ if (validBidRequests[0] && validBidRequests[0].userIdAsEids) {
324
+ payload.user.eids = validBidRequests[0].userIdAsEids
325
+ }
326
+
319
327
  const payloadString = JSON.stringify(payload);
328
+
320
329
  return {
321
330
  method: 'POST',
322
331
  url: SEEDTAG_SSP_ENDPOINT,
@@ -2,7 +2,7 @@
2
2
  Updated : 2018-03-28 */
3
3
  import {includes} from '../src/polyfill.js';
4
4
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
5
- import CONSTANTS from '../src/constants.json';
5
+ import { EVENTS } from '../src/constants.js';
6
6
  import adapterManager from '../src/adapterManager.js';
7
7
  import {getStorageManager} from '../src/storageManager.js';
8
8
  import {generateUUID, logError, logInfo} from '../src/utils.js';
@@ -14,12 +14,12 @@ const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName
14
14
  const url = 'https://kinesis.us-east-1.amazonaws.com/';
15
15
  const analyticsType = 'endpoint';
16
16
 
17
- const auctionInitConst = CONSTANTS.EVENTS.AUCTION_INIT;
18
- const auctionEndConst = CONSTANTS.EVENTS.AUCTION_END;
19
- const bidWonConst = CONSTANTS.EVENTS.BID_WON;
20
- const bidRequestConst = CONSTANTS.EVENTS.BID_REQUESTED;
21
- const bidAdjustmentConst = CONSTANTS.EVENTS.BID_ADJUSTMENT;
22
- const bidResponseConst = CONSTANTS.EVENTS.BID_RESPONSE;
17
+ const auctionInitConst = EVENTS.AUCTION_INIT;
18
+ const auctionEndConst = EVENTS.AUCTION_END;
19
+ const bidWonConst = EVENTS.BID_WON;
20
+ const bidRequestConst = EVENTS.BID_REQUESTED;
21
+ const bidAdjustmentConst = EVENTS.BID_ADJUSTMENT;
22
+ const bidResponseConst = EVENTS.BID_RESPONSE;
23
23
 
24
24
  let initOptions = { publisherIds: [], utmTagData: [], adUnits: [] };
25
25
  let bidWon = {options: {}, events: []};
@@ -30,6 +30,7 @@ const partnerIds = {
30
30
  'appnexus': 27446,
31
31
  'appnexusAst': 27446,
32
32
  'brealtime': 27446,
33
+ 'emetriq': 27446,
33
34
  'emxdigital': 27446,
34
35
  'pagescience': 27446,
35
36
  'gourmetads': 33394,
@@ -353,6 +354,7 @@ export function addSegmentData(reqBids, data, moduleConfig, onDone) {
353
354
  case 'appnexus':
354
355
  case 'appnexusAst':
355
356
  case 'brealtime':
357
+ case 'emetriq':
356
358
  case 'emxdigital':
357
359
  case 'pagescience':
358
360
  case 'gourmetads':
@@ -3,7 +3,7 @@ import {find} from '../src/polyfill.js';
3
3
  import {registerBidder} from '../src/adapters/bidderFactory.js';
4
4
  import {config} from '../src/config.js';
5
5
  import {ADPOD, BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';
6
- import CONSTANTS from '../src/constants.json';
6
+ import { NATIVE_IMAGE_TYPES } from '../src/constants.js';
7
7
  import {getAdUnitSizes} from '../libraries/sizeUtils/sizeUtils.js';
8
8
  import {fill} from '../libraries/appnexusUtils/anUtils.js';
9
9
  import {chunk} from '../libraries/chunk/chunk.js';
@@ -16,7 +16,6 @@ import {chunk} from '../libraries/chunk/chunk.js';
16
16
  * @typedef {import('../src/adapters/bidderFactory.js').UserSync} UserSync
17
17
  */
18
18
 
19
- const { NATIVE_IMAGE_TYPES } = CONSTANTS;
20
19
  const BIDDER_CODE = 'smaato';
21
20
  const SMAATO_ENDPOINT = 'https://prebid.ad.smaato.net/oapi/prebid';
22
21
  const SMAATO_CLIENT = 'prebid_js_$prebid.version$_1.8'
@@ -1,6 +1,6 @@
1
1
  import { deepClone, logInfo, logError } from '../src/utils.js';
2
2
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
- import CONSTANTS from '../src/constants.json';
3
+ import { EVENTS } from '../src/constants.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
5
  import {ajaxBuilder} from '../src/ajax.js';
6
6
 
@@ -10,17 +10,15 @@ export const DEFAULT_EVENT_URL = 'apex.go.sonobi.com/keymaker';
10
10
  const analyticsType = 'endpoint';
11
11
  const QUEUE_TIMEOUT_DEFAULT = 200;
12
12
  const {
13
- EVENTS: {
14
- AUCTION_INIT,
15
- AUCTION_END,
16
- BID_REQUESTED,
17
- BID_ADJUSTMENT,
18
- BIDDER_DONE,
19
- BID_WON,
20
- BID_RESPONSE,
21
- BID_TIMEOUT
22
- }
23
- } = CONSTANTS;
13
+ AUCTION_INIT,
14
+ AUCTION_END,
15
+ BID_REQUESTED,
16
+ BID_ADJUSTMENT,
17
+ BIDDER_DONE,
18
+ BID_WON,
19
+ BID_RESPONSE,
20
+ BID_TIMEOUT
21
+ } = EVENTS;
24
22
 
25
23
  let initOptions = {};
26
24
  let auctionCache = {};
@@ -101,6 +101,8 @@ export const spec = {
101
101
  const fpd = bidderRequest.ortb2;
102
102
 
103
103
  if (fpd) {
104
+ delete fpd.experianRtidData; // Omit the experian data since we already pass this through a dedicated query param
105
+ delete fpd.experianRtidKey
104
106
  payload.fpd = JSON.stringify(fpd);
105
107
  }
106
108
 
@@ -156,11 +158,6 @@ export const spec = {
156
158
  payload.coppa = 0;
157
159
  }
158
160
 
159
- if (deepAccess(bidderRequest, 'ortb2.experianRtidData') && deepAccess(bidderRequest, 'ortb2.experianRtidKey')) {
160
- payload.expData = deepAccess(bidderRequest, 'ortb2.experianRtidData');
161
- payload.expKey = deepAccess(bidderRequest, 'ortb2.experianRtidKey');
162
- }
163
-
164
161
  // If there is no key_maker data, then don't make the request.
165
162
  if (isEmpty(data)) {
166
163
  return null;
@@ -1,7 +1,7 @@
1
1
  import {logError, timestamp} from '../src/utils.js';
2
2
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
3
  import adaptermanager from '../src/adapterManager.js';
4
- import CONSTANTS from '../src/constants.json';
4
+ import { EVENTS } from '../src/constants.js';
5
5
  import {ajaxBuilder} from '../src/ajax.js';
6
6
  import {config} from '../src/config.js';
7
7
  import {find, includes} from '../src/polyfill.js';
@@ -10,14 +10,12 @@ import {getRefererInfo} from '../src/refererDetection.js';
10
10
  const ajax = ajaxBuilder(0)
11
11
 
12
12
  const {
13
- EVENTS: {
14
- AUCTION_END,
15
- BID_REQUESTED,
16
- BID_ADJUSTMENT,
17
- BID_RESPONSE,
18
- BID_WON
19
- }
20
- } = CONSTANTS
13
+ AUCTION_END,
14
+ BID_REQUESTED,
15
+ BID_ADJUSTMENT,
16
+ BID_RESPONSE,
17
+ BID_WON
18
+ } = EVENTS;
21
19
 
22
20
  let pbaUrl = 'https://pba.aws.lijit.com/analytics'
23
21
  let currentAuctions = {};
@@ -271,7 +271,7 @@ export const spec = {
271
271
  params.push(['informer', iidArr[0]]);
272
272
  tracks.push({
273
273
  type: 'iframe',
274
- url: 'https://ap.lijit.com/beacon?' + params.map(p => p.join('=')).join('&')
274
+ url: 'https://ce.lijit.com/beacon?' + params.map(p => p.join('=')).join('&')
275
275
  });
276
276
  }
277
277
  }
@@ -1,6 +1,6 @@
1
1
  import { logInfo, logError, parseUrl, _each } from '../src/utils.js';
2
2
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
- import CONSTANTS from '../src/constants.json';
3
+ import { EVENTS } from '../src/constants.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
5
  import { getRefererInfo } from '../src/refererDetection.js';
6
6
  import { ajax } from '../src/ajax.js';
@@ -55,25 +55,25 @@ let analyticsAdapter = Object.assign(adapter({ analyticsType: 'endpoint' }), {
55
55
  }
56
56
  let handler = null;
57
57
  switch (eventType) {
58
- case CONSTANTS.EVENTS.AUCTION_INIT:
58
+ case EVENTS.AUCTION_INIT:
59
59
  if (analyticsAdapter.context.queue) {
60
60
  analyticsAdapter.context.queue.init();
61
61
  }
62
62
  handler = trackAuctionInit;
63
63
  break;
64
- case CONSTANTS.EVENTS.BID_REQUESTED:
64
+ case EVENTS.BID_REQUESTED:
65
65
  handler = trackBidRequest;
66
66
  break;
67
- case CONSTANTS.EVENTS.BID_RESPONSE:
67
+ case EVENTS.BID_RESPONSE:
68
68
  handler = trackBidResponse;
69
69
  break;
70
- case CONSTANTS.EVENTS.BID_WON:
70
+ case EVENTS.BID_WON:
71
71
  handler = trackBidWon;
72
72
  break;
73
- case CONSTANTS.EVENTS.BID_TIMEOUT:
73
+ case EVENTS.BID_TIMEOUT:
74
74
  handler = trackBidTimeout;
75
75
  break;
76
- case CONSTANTS.EVENTS.AUCTION_END:
76
+ case EVENTS.AUCTION_END:
77
77
  handler = trackAuctionEnd;
78
78
  break;
79
79
  }
@@ -81,11 +81,11 @@ let analyticsAdapter = Object.assign(adapter({ analyticsType: 'endpoint' }), {
81
81
  let events = handler(args);
82
82
  if (analyticsAdapter.context.queue) {
83
83
  analyticsAdapter.context.queue.push(events);
84
- if (eventType === CONSTANTS.EVENTS.BID_WON) {
84
+ if (eventType === EVENTS.BID_WON) {
85
85
  analyticsAdapter.context.queue.updateWithWins(events);
86
86
  }
87
87
  }
88
- if (eventType === CONSTANTS.EVENTS.AUCTION_END) {
88
+ if (eventType === EVENTS.AUCTION_END) {
89
89
  sendAll();
90
90
  }
91
91
  }
@@ -62,6 +62,8 @@ export const spec = {
62
62
  timeToFirstByte: getTimeToFirstByte(window),
63
63
  data: bids,
64
64
  deviceWidth: screen.width,
65
+ deviceHeight: screen.height,
66
+ devicePixelRatio: topWindow.devicePixelRatio,
65
67
  screenOrientation: screen.orientation?.type,
66
68
  historyLength: topWindow.history?.length,
67
69
  viewportHeight: topWindow.visualViewport?.height,
@@ -2,7 +2,7 @@ import { parseSizesInput, getWindowLocation, buildUrl } from '../src/utils.js';
2
2
  import { ajax } from '../src/ajax.js';
3
3
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
- import CONSTANTS from '../src/constants.json';
5
+ import { EVENTS } from '../src/constants.js';
6
6
  import {getGlobal} from '../src/prebidGlobal.js';
7
7
 
8
8
  const emptyUrl = '';
@@ -24,23 +24,23 @@ var terceptAnalyticsAdapter = Object.assign(adapter(
24
24
  }), {
25
25
  track({ eventType, args }) {
26
26
  if (typeof args !== 'undefined') {
27
- if (eventType === CONSTANTS.EVENTS.BID_TIMEOUT) {
27
+ if (eventType === EVENTS.BID_TIMEOUT) {
28
28
  args.forEach(item => { mapBidResponse(item, 'timeout'); });
29
- } else if (eventType === CONSTANTS.EVENTS.AUCTION_INIT) {
29
+ } else if (eventType === EVENTS.AUCTION_INIT) {
30
30
  events.auctionInit = args;
31
31
  auctionTimestamp = args.timestamp;
32
- } else if (eventType === CONSTANTS.EVENTS.BID_REQUESTED) {
32
+ } else if (eventType === EVENTS.BID_REQUESTED) {
33
33
  mapBidRequests(args).forEach(item => { events.bids.push(item) });
34
- } else if (eventType === CONSTANTS.EVENTS.BID_RESPONSE) {
34
+ } else if (eventType === EVENTS.BID_RESPONSE) {
35
35
  mapBidResponse(args, 'response');
36
- } else if (eventType === CONSTANTS.EVENTS.BID_WON) {
36
+ } else if (eventType === EVENTS.BID_WON) {
37
37
  send({
38
38
  bidWon: mapBidResponse(args, 'win')
39
39
  }, 'won');
40
40
  }
41
41
  }
42
42
 
43
- if (eventType === CONSTANTS.EVENTS.AUCTION_END) {
43
+ if (eventType === EVENTS.AUCTION_END) {
44
44
  send(events, 'auctionEnd');
45
45
  }
46
46
  }
@@ -44,6 +44,9 @@ const bidderIframeList = {
44
44
  }, {
45
45
  bidder: 'discovery',
46
46
  iframeURL: 'https://api.popin.cc/topic/prebid-topics-frame.html'
47
+ }, {
48
+ bidder: 'undertone',
49
+ iframeURL: 'https://creative-p.undertone.com/spk-public/topics_frame.html'
47
50
  }]
48
51
  }
49
52
 
@@ -64,6 +64,10 @@ pbjs.setConfig({
64
64
  bidder: 'discovery',
65
65
  iframeURL: 'https://api.popin.cc/topic/prebid-topics-frame.html',
66
66
  expiry: 7 // Configurable expiry days
67
+ }, {
68
+ bidder: 'undertone',
69
+ iframeURL: 'https://creative-p.undertone.com/spk-public/topics_frame.html',
70
+ expiry: 7 // Configurable expiry days
67
71
  }]
68
72
  }
69
73
  ....
@@ -1,6 +1,6 @@
1
1
  import {ajax} from '../src/ajax.js';
2
2
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
- import CONSTANTS from '../src/constants.json';
3
+ import { EVENTS } from '../src/constants.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
5
  import {getGlobal} from '../src/prebidGlobal.js';
6
6
  import {logError, logInfo, deepClone} from '../src/utils.js';
@@ -12,12 +12,10 @@ export const ANALYTICS_VERSION = '1.0.0';
12
12
  const ANALYTICS_SERVER = 'https://hbwa.aralego.com';
13
13
 
14
14
  const {
15
- EVENTS: {
16
- AUCTION_END,
17
- BID_WON,
18
- BID_TIMEOUT
19
- }
20
- } = CONSTANTS;
15
+ AUCTION_END,
16
+ BID_WON,
17
+ BID_TIMEOUT
18
+ } = EVENTS;
21
19
 
22
20
  export const BIDDER_STATUS = {
23
21
  BID: 'bid',
@@ -131,7 +131,7 @@ import {config} from '../../src/config.js';
131
131
  import * as events from '../../src/events.js';
132
132
  import {getGlobal} from '../../src/prebidGlobal.js';
133
133
  import adapterManager, {gdprDataHandler} from '../../src/adapterManager.js';
134
- import CONSTANTS from '../../src/constants.json';
134
+ import { EVENTS } from '../../src/constants.js';
135
135
  import {module, ready as hooksReady} from '../../src/hook.js';
136
136
  import {buildEidPermissions, createEidsArray, EID_CONFIG} from './eids.js';
137
137
  import {
@@ -538,8 +538,8 @@ function idSystemInitializer({delay = GreedyPromise.timeout} = {}) {
538
538
  if (auctionDelay > 0) {
539
539
  startCallbacks.resolve();
540
540
  } else {
541
- events.on(CONSTANTS.EVENTS.AUCTION_END, function auctionEndHandler() {
542
- events.off(CONSTANTS.EVENTS.AUCTION_END, auctionEndHandler);
541
+ events.on(EVENTS.AUCTION_END, function auctionEndHandler() {
542
+ events.off(EVENTS.AUCTION_END, auctionEndHandler);
543
543
  delay(syncDelay).then(startCallbacks.resolve);
544
544
  });
545
545
  }
@@ -3,7 +3,7 @@ import { find } from '../../src/polyfill.js';
3
3
  import * as events from '../../src/events.js';
4
4
  import {mergeDeep, logWarn, logError} from '../../src/utils.js';
5
5
  import { getGlobal } from '../../src/prebidGlobal.js';
6
- import CONSTANTS from '../../src/constants.json';
6
+ import { EVENTS } from '../../src/constants.js';
7
7
  import {
8
8
  videoEvents,
9
9
  AUCTION_AD_LOAD_ATTEMPT,
@@ -71,7 +71,7 @@ export function PbVideo(videoCore_, getConfig_, pbGlobal_, pbEvents_, videoEvent
71
71
 
72
72
  requestBids.before(beforeBidsRequested, 40);
73
73
 
74
- pbEvents.on(CONSTANTS.EVENTS.BID_ADJUSTMENT, function (bid) {
74
+ pbEvents.on(EVENTS.BID_ADJUSTMENT, function (bid) {
75
75
  videoImpressionVerifier.trackBid(bid);
76
76
  });
77
77
 
@@ -107,7 +107,7 @@ export function PbVideo(videoCore_, getConfig_, pbGlobal_, pbEvents_, videoEvent
107
107
 
108
108
  const bidsBackHandler = bidderRequest.bidsBackHandler;
109
109
  if (!bidsBackHandler || typeof bidsBackHandler !== 'function') {
110
- pbEvents.on(CONSTANTS.EVENTS.AUCTION_END, auctionEnd);
110
+ pbEvents.on(EVENTS.AUCTION_END, auctionEnd);
111
111
  }
112
112
 
113
113
  return nextFn.call(this, bidderRequest);
@@ -192,7 +192,7 @@ export function PbVideo(videoCore_, getConfig_, pbGlobal_, pbEvents_, videoEvent
192
192
  renderWinningBid(adUnit);
193
193
  }
194
194
  });
195
- pbEvents.off(CONSTANTS.EVENTS.AUCTION_END, auctionEnd);
195
+ pbEvents.off(EVENTS.AUCTION_END, auctionEnd);
196
196
  }
197
197
 
198
198
  function getAdServerConfig(adUnitVideoConfig) {
@@ -1,7 +1,7 @@
1
1
  import buildAdapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
2
2
  import adapterManager from '../src/adapterManager.js';
3
3
  import { logError, logInfo } from '../src/utils.js';
4
- import CONSTANTS from '../src/constants.json';
4
+ import { EVENTS } from '../src/constants.js';
5
5
  import * as events from '../src/events.js';
6
6
 
7
7
  const timeoutIds = {};
@@ -32,7 +32,7 @@ const {
32
32
  BIDDER_DONE,
33
33
  AUCTION_END,
34
34
  BID_TIMEOUT,
35
- } = CONSTANTS.EVENTS;
35
+ } = EVENTS;
36
36
 
37
37
  export const EVENTS_TO_TRACK = [
38
38
  BID_REQUESTED,
@@ -1,7 +1,7 @@
1
1
  import { isArray, deepClone } from '../src/utils.js';
2
2
  import {ajax} from '../src/ajax.js';
3
3
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
4
- import CONSTANTS from '../src/constants.json';
4
+ import { EVENTS } from '../src/constants.js';
5
5
  import adapterManager from '../src/adapterManager.js';
6
6
  import { targeting } from '../src/targeting.js';
7
7
  import { auctionManager } from '../src/auctionManager.js';
@@ -14,9 +14,9 @@ const requestedBidders = {};
14
14
  const requestedBids = {};
15
15
  const referrers = {};
16
16
  const ignoredEvents = {};
17
- ignoredEvents[CONSTANTS.EVENTS.BID_ADJUSTMENT] = true;
18
- ignoredEvents[CONSTANTS.EVENTS.BIDDER_DONE] = true;
19
- ignoredEvents[CONSTANTS.EVENTS.AUCTION_END] = true;
17
+ ignoredEvents[EVENTS.BID_ADJUSTMENT] = true;
18
+ ignoredEvents[EVENTS.BIDDER_DONE] = true;
19
+ ignoredEvents[EVENTS.AUCTION_END] = true;
20
20
 
21
21
  let currentAuctionId = '';
22
22
  let url = defaultUrl;
@@ -69,7 +69,7 @@ function addAdUnitName(params, map) {
69
69
  const yieldoneAnalytics = Object.assign(adapter({analyticsType}), {
70
70
  getUrl() { return url; },
71
71
  track({eventType, args = {}}) {
72
- if (eventType === CONSTANTS.EVENTS.BID_REQUESTED) {
72
+ if (eventType === EVENTS.BID_REQUESTED) {
73
73
  const reqBidderId = `${args.bidderCode}_${args.auctionId}`;
74
74
  requestedBidders[reqBidderId] = deepClone(args);
75
75
  requestedBidders[reqBidderId].bids = [];
@@ -77,7 +77,7 @@ const yieldoneAnalytics = Object.assign(adapter({analyticsType}), {
77
77
  requestedBids[`${bid.bidId}_${bid.auctionId}`] = bid;
78
78
  });
79
79
  }
80
- if (eventType === CONSTANTS.EVENTS.BID_TIMEOUT && isArray(args)) {
80
+ if (eventType === EVENTS.BID_TIMEOUT && isArray(args)) {
81
81
  const eventsStorage = yieldoneAnalytics.eventsStorage;
82
82
  const reqBidders = {};
83
83
  args.forEach((bid) => {
@@ -118,7 +118,7 @@ const yieldoneAnalytics = Object.assign(adapter({analyticsType}), {
118
118
  }
119
119
 
120
120
  if (
121
- eventType === CONSTANTS.EVENTS.AUCTION_END || eventType === CONSTANTS.EVENTS.BID_WON
121
+ eventType === EVENTS.AUCTION_END || eventType === EVENTS.BID_WON
122
122
  ) {
123
123
  params.adServerTargeting = targeting.getAllTargeting(
124
124
  auctionManager.getAdUnitCodes(),
@@ -2,7 +2,7 @@ import {buildUrl, generateUUID, getWindowLocation, logError, logInfo, parseSizes
2
2
  import {ajax} from '../src/ajax.js';
3
3
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
4
4
  import adapterManager from '../src/adapterManager.js';
5
- import CONSTANTS from '../src/constants.json';
5
+ import { EVENTS, STATUS } from '../src/constants.js';
6
6
  import {getStorageManager} from '../src/storageManager.js';
7
7
  import {getRefererInfo} from '../src/refererDetection.js';
8
8
  import {includes as strIncludes} from '../src/polyfill.js';
@@ -100,13 +100,13 @@ var yuktamediaAnalyticsAdapter = Object.assign(adapter({ analyticsType: 'endpoin
100
100
  track({ eventType, args }) {
101
101
  if (typeof args !== 'undefined') {
102
102
  switch (eventType) {
103
- case CONSTANTS.EVENTS.AUCTION_INIT:
103
+ case EVENTS.AUCTION_INIT:
104
104
  logInfo(localStoragePrefix + 'AUCTION_INIT:', JSON.stringify(args));
105
105
  if (typeof args.auctionId !== 'undefined' && args.auctionId.length) {
106
106
  events.auctions[args.auctionId] = { bids: {} };
107
107
  }
108
108
  break;
109
- case CONSTANTS.EVENTS.BID_REQUESTED:
109
+ case EVENTS.BID_REQUESTED:
110
110
  logInfo(localStoragePrefix + 'BID_REQUESTED:', JSON.stringify(args));
111
111
  if (typeof args.auctionId !== 'undefined' && args.auctionId.length) {
112
112
  if (typeof events.auctions[args.auctionId] === 'undefined') {
@@ -135,14 +135,14 @@ var yuktamediaAnalyticsAdapter = Object.assign(adapter({ analyticsType: 'endpoin
135
135
  });
136
136
  }
137
137
  break;
138
- case CONSTANTS.EVENTS.BID_RESPONSE:
138
+ case EVENTS.BID_RESPONSE:
139
139
  logInfo(localStoragePrefix + 'BID_RESPONSE:', JSON.stringify(args));
140
140
  if (typeof args.auctionId !== 'undefined' && args.auctionId.length) {
141
141
  if (typeof events.auctions[args.auctionId] === 'undefined') {
142
142
  events.auctions[args.auctionId] = { bids: {} };
143
143
  } else if (Object.keys(events.auctions[args.auctionId]['bids']).length) {
144
144
  let bidResponse = events.auctions[args.auctionId]['bids'][args.requestId];
145
- bidResponse.isBid = args.getStatusCode() === CONSTANTS.STATUS.GOOD;
145
+ bidResponse.isBid = args.getStatusCode() === STATUS.GOOD;
146
146
  bidResponse.cpm = args.cpm;
147
147
  bidResponse.currency = args.currency;
148
148
  bidResponse.netRevenue = args.netRevenue;
@@ -165,7 +165,7 @@ var yuktamediaAnalyticsAdapter = Object.assign(adapter({ analyticsType: 'endpoin
165
165
  }
166
166
  }
167
167
  break;
168
- case CONSTANTS.EVENTS.NO_BID:
168
+ case EVENTS.NO_BID:
169
169
  logInfo(localStoragePrefix + 'NO_BID:', JSON.stringify(args));
170
170
  if (typeof args.auctionId !== 'undefined' && args.auctionId.length) {
171
171
  if (typeof events.auctions[args.auctionId] === 'undefined') {
@@ -176,7 +176,7 @@ var yuktamediaAnalyticsAdapter = Object.assign(adapter({ analyticsType: 'endpoin
176
176
  }
177
177
  }
178
178
  break;
179
- case CONSTANTS.EVENTS.BID_WON:
179
+ case EVENTS.BID_WON:
180
180
  logInfo(localStoragePrefix + 'BID_WON:', JSON.stringify(args));
181
181
  if (typeof initOptions.enableSession !== 'undefined' && initOptions.enableSession) {
182
182
  updateSessionId();
@@ -192,7 +192,7 @@ var yuktamediaAnalyticsAdapter = Object.assign(adapter({ analyticsType: 'endpoin
192
192
  }
193
193
  }
194
194
  break;
195
- case CONSTANTS.EVENTS.BID_TIMEOUT:
195
+ case EVENTS.BID_TIMEOUT:
196
196
  logInfo(localStoragePrefix + 'BID_TIMEOUT:', JSON.stringify(args));
197
197
  if (args.length) {
198
198
  args.forEach(timeout => {
@@ -208,7 +208,7 @@ var yuktamediaAnalyticsAdapter = Object.assign(adapter({ analyticsType: 'endpoin
208
208
  });
209
209
  }
210
210
  break;
211
- case CONSTANTS.EVENTS.AUCTION_END:
211
+ case EVENTS.AUCTION_END:
212
212
  logInfo(localStoragePrefix + 'AUCTION_END:', JSON.stringify(args));
213
213
  if (typeof initOptions.enableSession !== 'undefined' && initOptions.enableSession) {
214
214
  updateSessionId();
@@ -1,7 +1,7 @@
1
1
  import {logInfo, logError} from '../src/utils.js';
2
2
  import { ajax } from '../src/ajax.js';
3
3
  import adapterManager from '../src/adapterManager.js';
4
- import CONSTANTS from '../src/constants.json';
4
+ import { EVENTS } from '../src/constants.js';
5
5
 
6
6
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
7
7
 
@@ -48,7 +48,7 @@ function getZetaParams(event) {
48
48
  /// /////////// ADAPTER EVENT HANDLER FUNCTIONS //////////////
49
49
 
50
50
  function adRenderSucceededHandler(args) {
51
- let eventType = CONSTANTS.EVENTS.AD_RENDER_SUCCEEDED
51
+ let eventType = EVENTS.AD_RENDER_SUCCEEDED
52
52
  logInfo(LOG_PREFIX + 'handle ' + eventType + ' event');
53
53
 
54
54
  const event = {
@@ -88,7 +88,7 @@ function adRenderSucceededHandler(args) {
88
88
  }
89
89
 
90
90
  function auctionEndHandler(args) {
91
- let eventType = CONSTANTS.EVENTS.AUCTION_END;
91
+ let eventType = EVENTS.AUCTION_END;
92
92
  logInfo(LOG_PREFIX + 'handle ' + eventType + ' event');
93
93
 
94
94
  const event = {
@@ -177,10 +177,10 @@ let zetaAdapter = Object.assign({}, baseAdapter, {
177
177
 
178
178
  track({ eventType, args }) {
179
179
  switch (eventType) {
180
- case CONSTANTS.EVENTS.AD_RENDER_SUCCEEDED:
180
+ case EVENTS.AD_RENDER_SUCCEEDED:
181
181
  adRenderSucceededHandler(args);
182
182
  break;
183
- case CONSTANTS.EVENTS.AUCTION_END:
183
+ case EVENTS.AUCTION_END:
184
184
  auctionEndHandler(args);
185
185
  break;
186
186
  }
@@ -272,7 +272,14 @@ export const spec = {
272
272
 
273
273
  onTimeout: function(timeoutData) {
274
274
  if (timeoutData) {
275
- ajax(TIMEOUT_URL, null, JSON.stringify(timeoutData), {
275
+ const payload = timeoutData.map(d => ({
276
+ bidder: d?.bidder,
277
+ shortname: d?.params?.map(p => p?.tags?.shortname).find(p => p),
278
+ sid: d?.params?.map(p => p?.sid).find(p => p),
279
+ country: d?.ortb2?.device?.geo?.country,
280
+ devicetype: d?.ortb2?.device?.devicetype
281
+ }));
282
+ ajax(TIMEOUT_URL, null, JSON.stringify(payload), {
276
283
  method: 'POST',
277
284
  options: {
278
285
  withCredentials: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prebid.js",
3
- "version": "8.43.0",
3
+ "version": "8.45.0",
4
4
  "description": "Header Bidding Management Library",
5
5
  "main": "src/prebid.js",
6
6
  "scripts": {