prebid.js 8.44.0 → 8.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 (521) 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/alkimiBidAdapter.js +1 -1
  33. package/dist/amxBidAdapter.js +1 -1
  34. package/dist/amxIdSystem.js +1 -1
  35. package/dist/analyticsAdapter.js +1 -1
  36. package/dist/appierAnalyticsAdapter.js +1 -1
  37. package/dist/appnexusBidAdapter.js +1 -1
  38. package/dist/asoBidAdapter.js +1 -1
  39. package/dist/asteriobidAnalyticsAdapter.js +1 -1
  40. package/dist/atsAnalyticsAdapter.js +1 -1
  41. package/dist/automatadAnalyticsAdapter.js +1 -1
  42. package/dist/axonixBidAdapter.js +1 -1
  43. package/dist/bidViewability.js +1 -1
  44. package/dist/bidViewabilityIO.js +1 -1
  45. package/dist/bidglassBidAdapter.js +1 -1
  46. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  47. package/dist/big-richmediaBidAdapter.js +1 -1
  48. package/dist/brandmetricsRtdProvider.js +1 -1
  49. package/dist/bridBidAdapter.js +1 -1
  50. package/dist/bridgewellBidAdapter.js +1 -1
  51. package/dist/brightMountainMediaBidAdapter.js +1 -1
  52. package/dist/browsiRtdProvider.js +1 -1
  53. package/dist/byDataAnalyticsAdapter.js +1 -1
  54. package/dist/carodaBidAdapter.js +1 -1
  55. package/dist/chtnwBidAdapter.js +1 -1
  56. package/dist/chunk-core.js +1 -1
  57. package/dist/chunk-paapi.js +1 -1
  58. package/dist/cleanioRtdProvider.js +1 -1
  59. package/dist/concertAnalyticsAdapter.js +1 -1
  60. package/dist/concertBidAdapter.js +1 -1
  61. package/dist/confiantRtdProvider.js +1 -1
  62. package/dist/connectadBidAdapter.js +1 -1
  63. package/dist/consentManagementUsp.js +1 -1
  64. package/dist/consumableBidAdapter.js +1 -1
  65. package/dist/conversantAnalyticsAdapter.js +1 -1
  66. package/dist/conversantBidAdapter.js +1 -1
  67. package/dist/craftBidAdapter.js +1 -1
  68. package/dist/creative-renderer-native.js +1 -1
  69. package/dist/criteoBidAdapter.js +1 -1
  70. package/dist/currency.js +1 -1
  71. package/dist/cwireBidAdapter.js +1 -1
  72. package/dist/dailymotionBidAdapter.js +1 -0
  73. package/dist/datablocksAnalyticsAdapter.js +1 -1
  74. package/dist/datawrkzBidAdapter.js +1 -1
  75. package/dist/debugging-standalone.js +1 -1
  76. package/dist/debugging.js +1 -1
  77. package/dist/dependencies.json +15 -6
  78. package/dist/dfpAdServerVideo.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/engageyaBidAdapter.js +1 -1
  83. package/dist/eplanningAnalyticsAdapter.js +1 -1
  84. package/dist/eplanningBidAdapter.js +1 -1
  85. package/dist/euidIdSystem.js +1 -1
  86. package/dist/feedadBidAdapter.js +1 -1
  87. package/dist/finativeBidAdapter.js +1 -1
  88. package/dist/fintezaAnalyticsAdapter.js +1 -1
  89. package/dist/freewheel-sspBidAdapter.js +1 -1
  90. package/dist/gdprEnforcement.js +1 -1
  91. package/dist/genericAnalyticsAdapter.js +1 -1
  92. package/dist/geoedgeRtdProvider.js +1 -1
  93. package/dist/gmosspBidAdapter.js +1 -1
  94. package/dist/goldbachBidAdapter.js +1 -1
  95. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  96. package/dist/greenbidsRtdProvider.js +1 -1
  97. package/dist/gridBidAdapter.js +1 -1
  98. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  99. package/dist/gumgumBidAdapter.js +1 -1
  100. package/dist/h12mediaBidAdapter.js +1 -1
  101. package/dist/hadronAnalyticsAdapter.js +1 -1
  102. package/dist/holidBidAdapter.js +1 -1
  103. package/dist/hypelabBidAdapter.js +1 -1
  104. package/dist/id5AnalyticsAdapter.js +1 -1
  105. package/dist/id5IdSystem.js +1 -1
  106. package/dist/illuminBidAdapter.js +1 -1
  107. package/dist/imdsBidAdapter.js +1 -1
  108. package/dist/improvedigitalBidAdapter.js +1 -1
  109. package/dist/insticatorBidAdapter.js +1 -1
  110. package/dist/instreamTracking.js +1 -1
  111. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  112. package/dist/ixBidAdapter.js +1 -1
  113. package/dist/jixieBidAdapter.js +1 -1
  114. package/dist/justpremiumBidAdapter.js +1 -1
  115. package/dist/jwplayerBidAdapter.js +1 -0
  116. package/dist/kargoAnalyticsAdapter.js +1 -1
  117. package/dist/kargoBidAdapter.js +1 -1
  118. package/dist/kimberliteBidAdapter.js +1 -1
  119. package/dist/konduitAnalyticsAdapter.js +1 -1
  120. package/dist/kueezBidAdapter.js +1 -1
  121. package/dist/kueezRtbBidAdapter.js +1 -1
  122. package/dist/lassoBidAdapter.js +1 -1
  123. package/dist/lifestreetBidAdapter.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/luceadBidAdapter.js +1 -1
  130. package/dist/magniteAnalyticsAdapter.js +1 -1
  131. package/dist/malltvAnalyticsAdapter.js +1 -1
  132. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  133. package/dist/marsmediaBidAdapter.js +1 -1
  134. package/dist/mediafilterRtdProvider.js +1 -1
  135. package/dist/mediafuseBidAdapter.js +1 -1
  136. package/dist/medianetAnalyticsAdapter.js +1 -1
  137. package/dist/medianetBidAdapter.js +1 -1
  138. package/dist/mediasquareBidAdapter.js +1 -1
  139. package/dist/mgidBidAdapter.js +1 -1
  140. package/dist/minutemediaBidAdapter.js +1 -1
  141. package/dist/minutemediaplusBidAdapter.js +1 -1
  142. package/dist/missenaBidAdapter.js +1 -1
  143. package/dist/multibid.js +1 -1
  144. package/dist/neuwoRtdProvider.js +1 -1
  145. package/dist/nextMillenniumBidAdapter.js +1 -1
  146. package/dist/nexx360BidAdapter.js +1 -1
  147. package/dist/nobidAnalyticsAdapter.js +1 -1
  148. package/dist/not-for-prod/prebid.js +245 -241
  149. package/dist/oguryBidAdapter.js +1 -1
  150. package/dist/onetagBidAdapter.js +1 -1
  151. package/dist/ooloAnalyticsAdapter.js +1 -1
  152. package/dist/openwebBidAdapter.js +1 -1
  153. package/dist/openxBidAdapter.js +1 -1
  154. package/dist/optableBidAdapter.js +1 -0
  155. package/dist/optidigitalBidAdapter.js +1 -1
  156. package/dist/optimonAnalyticsAdapter.js +1 -1
  157. package/dist/ortbConverter.js +1 -1
  158. package/dist/outbrainBidAdapter.js +1 -1
  159. package/dist/oxxionAnalyticsAdapter.js +1 -1
  160. package/dist/oxxionRtdProvider.js +1 -1
  161. package/dist/parrableIdSystem.js +1 -1
  162. package/dist/pbsExtensions.js +1 -1
  163. package/dist/permutiveRtdProvider.js +1 -1
  164. package/dist/pgamsspBidAdapter.js +1 -1
  165. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  166. package/dist/pirIdSystem.js +1 -0
  167. package/dist/pixfutureBidAdapter.js +1 -1
  168. package/dist/prebidServerBidAdapter.js +1 -1
  169. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  170. package/dist/priceFloors.js +1 -1
  171. package/dist/publinkIdSystem.js +1 -1
  172. package/dist/publirBidAdapter.js +1 -1
  173. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  174. package/dist/pubmaticBidAdapter.js +1 -1
  175. package/dist/pubperfAnalyticsAdapter.js +1 -1
  176. package/dist/pubstackAnalyticsAdapter.js +1 -1
  177. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  178. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  179. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  180. package/dist/pxyzBidAdapter.js +1 -1
  181. package/dist/qortexRtdProvider.js +1 -1
  182. package/dist/quantcastBidAdapter.js +1 -1
  183. package/dist/readpeakBidAdapter.js +1 -1
  184. package/dist/relaidoBidAdapter.js +1 -1
  185. package/dist/relevantAnalyticsAdapter.js +1 -1
  186. package/dist/retailspotBidAdapter.js +1 -1
  187. package/dist/rhythmoneBidAdapter.js +1 -1
  188. package/dist/riseBidAdapter.js +1 -1
  189. package/dist/rivrAnalyticsAdapter.js +1 -1
  190. package/dist/roxotAnalyticsAdapter.js +1 -1
  191. package/dist/rtdModule.js +1 -1
  192. package/dist/rubiconBidAdapter.js +1 -1
  193. package/dist/s2sTesting.js +1 -1
  194. package/dist/scaleableAnalyticsAdapter.js +1 -1
  195. package/dist/schain.js +1 -1
  196. package/dist/seedingAllianceBidAdapter.js +1 -1
  197. package/dist/seedtagBidAdapter.js +1 -1
  198. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  199. package/dist/sharethroughBidAdapter.js +1 -1
  200. package/dist/shinezBidAdapter.js +1 -1
  201. package/dist/shinezRtbBidAdapter.js +1 -1
  202. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  203. package/dist/sirdataRtdProvider.js +1 -1
  204. package/dist/sizeMapping.js +1 -1
  205. package/dist/smaatoBidAdapter.js +1 -1
  206. package/dist/smartadserverBidAdapter.js +1 -1
  207. package/dist/smartxBidAdapter.js +1 -1
  208. package/dist/smilewantedBidAdapter.js +1 -1
  209. package/dist/sonobiAnalyticsAdapter.js +1 -1
  210. package/dist/sonobiBidAdapter.js +1 -1
  211. package/dist/sovrnAnalyticsAdapter.js +1 -1
  212. package/dist/sovrnBidAdapter.js +1 -1
  213. package/dist/sspBCBidAdapter.js +1 -1
  214. package/dist/staqAnalyticsAdapter.js +1 -1
  215. package/dist/stnBidAdapter.js +1 -1
  216. package/dist/stroeerCoreBidAdapter.js +1 -1
  217. package/dist/stvBidAdapter.js +1 -1
  218. package/dist/sublimeBidAdapter.js +1 -1
  219. package/dist/taboolaBidAdapter.js +1 -1
  220. package/dist/tagorasBidAdapter.js +1 -1
  221. package/dist/targetVideoBidAdapter.js +1 -1
  222. package/dist/teadsBidAdapter.js +1 -1
  223. package/dist/terceptAnalyticsAdapter.js +1 -1
  224. package/dist/themoneytizerBidAdapter.js +1 -1
  225. package/dist/topicsFpdModule.js +1 -1
  226. package/dist/trionBidAdapter.js +1 -1
  227. package/dist/tripleliftBidAdapter.js +1 -1
  228. package/dist/ttdBidAdapter.js +1 -1
  229. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  230. package/dist/uid2IdSystem.js +1 -1
  231. package/dist/underdogmediaBidAdapter.js +1 -1
  232. package/dist/undertoneBidAdapter.js +1 -1
  233. package/dist/unrulyBidAdapter.js +1 -1
  234. package/dist/userId.js +1 -1
  235. package/dist/viantOrtbBidAdapter.js +1 -1
  236. package/dist/vidazooBidAdapter.js +1 -1
  237. package/dist/videoModule.js +1 -1
  238. package/dist/videobyteBidAdapter.js +1 -1
  239. package/dist/visxBidAdapter.js +1 -1
  240. package/dist/vuukleBidAdapter.js +1 -1
  241. package/dist/weboramaRtdProvider.js +1 -1
  242. package/dist/widespaceBidAdapter.js +1 -1
  243. package/dist/winrBidAdapter.js +1 -1
  244. package/dist/yahoosspBidAdapter.js +1 -1
  245. package/dist/yandexAnalyticsAdapter.js +1 -1
  246. package/dist/yieldmoBidAdapter.js +1 -1
  247. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  248. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  249. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  250. package/dist/zeta_global_sspBidAdapter.js +1 -1
  251. package/gulpfile.js +9 -1
  252. package/integrationExamples/gpt/adnuntius_example.html +7 -1
  253. package/integrationExamples/gpt/azerionedgeRtdProvider_example.html +3 -3
  254. package/integrationExamples/gpt/top-level-paapi/decisionLogic.js +57 -0
  255. package/integrationExamples/gpt/top-level-paapi/tl_paapi_example.html +188 -0
  256. package/integrationExamples/gpt/x-domain/creative.html +1 -1
  257. package/integrationExamples/noadserver/jwplayerBidAdapter_sample.html +75 -0
  258. package/integrationExamples/realTimeData/jwplayerRtdProvider_example.html +7 -0
  259. package/integrationExamples/videoModule/jwplayer/bidMarkedAsUsed.html +7 -0
  260. package/integrationExamples/videoModule/jwplayer/bidRequestScheduling.html +9 -4
  261. package/integrationExamples/videoModule/jwplayer/bidsBackHandlerOverride.html +7 -0
  262. package/integrationExamples/videoModule/jwplayer/eventListeners.html +7 -0
  263. package/integrationExamples/videoModule/jwplayer/eventsUI.html +7 -0
  264. package/integrationExamples/videoModule/jwplayer/gamAdServerMediation.html +7 -0
  265. package/integrationExamples/videoModule/jwplayer/mediaMetadata.html +7 -0
  266. package/integrationExamples/videoModule/jwplayer/playlist.html +7 -0
  267. package/integrationExamples/videoModule/videojs/bidMarkedAsUsed.html +7 -0
  268. package/integrationExamples/videoModule/videojs/bidRequestScheduling.html +7 -0
  269. package/integrationExamples/videoModule/videojs/bidsBackHandlerOverride.html +7 -0
  270. package/integrationExamples/videoModule/videojs/eventListeners.html +7 -0
  271. package/integrationExamples/videoModule/videojs/eventsUI.html +7 -0
  272. package/integrationExamples/videoModule/videojs/gamAdServerMediation.html +7 -0
  273. package/integrationExamples/videoModule/videojs/mediaMetadata.html +7 -0
  274. package/integrationExamples/videoModule/videojs/playlist.html +7 -0
  275. package/libraries/analyticsAdapter/AnalyticsAdapter.js +4 -4
  276. package/libraries/creative-renderer-native/renderer.js +1 -1
  277. package/libraries/ortbConverter/processors/banner.js +2 -2
  278. package/modules/33acrossAnalyticsAdapter.js +2 -4
  279. package/modules/33acrossIdSystem.js +1 -1
  280. package/modules/adWMGAnalyticsAdapter.js +9 -11
  281. package/modules/adagioAnalyticsAdapter.js +8 -8
  282. package/modules/adgenerationBidAdapter.js +6 -10
  283. package/modules/adkernelAdnAnalyticsAdapter.js +8 -8
  284. package/modules/adkernelBidAdapter.js +9 -3
  285. package/modules/adlooxAdServerVideo.js +2 -2
  286. package/modules/adlooxAnalyticsAdapter.js +4 -4
  287. package/modules/adnuntiusBidAdapter.js +54 -31
  288. package/modules/adomikAnalyticsAdapter.js +7 -7
  289. package/modules/adpod.js +3 -3
  290. package/modules/adxcgAnalyticsAdapter.js +10 -10
  291. package/modules/adxpremiumAnalyticsAdapter.js +8 -10
  292. package/modules/agmaAnalyticsAdapter.js +2 -6
  293. package/modules/alkimiBidAdapter.js +48 -8
  294. package/modules/appierAnalyticsAdapter.js +5 -7
  295. package/modules/asteriobidAnalyticsAdapter.js +14 -14
  296. package/modules/atsAnalyticsAdapter.js +4 -4
  297. package/modules/automatadAnalyticsAdapter.js +20 -20
  298. package/modules/azerionedgeRtdProvider.md +4 -2
  299. package/modules/bidViewability.js +3 -3
  300. package/modules/bidViewabilityIO.js +3 -3
  301. package/modules/bidwatchAnalyticsAdapter.js +7 -9
  302. package/modules/brandmetricsRtdProvider.js +6 -6
  303. package/modules/browsiRtdProvider.js +3 -3
  304. package/modules/byDataAnalyticsAdapter.js +3 -3
  305. package/modules/cleanioRtdProvider.js +3 -3
  306. package/modules/concertAnalyticsAdapter.js +5 -7
  307. package/modules/confiantRtdProvider.js +2 -2
  308. package/modules/conversantAnalyticsAdapter.js +2 -4
  309. package/modules/criteoBidAdapter.js +51 -8
  310. package/modules/currency.js +7 -7
  311. package/modules/dailymotionBidAdapter.js +139 -0
  312. package/modules/dailymotionBidAdapter.md +140 -0
  313. package/modules/datawrkzBidAdapter.js +4 -4
  314. package/modules/debugging/pbsInterceptor.js +2 -2
  315. package/modules/dfpAdServerVideo.js +2 -2
  316. package/modules/dsaControl.js +5 -5
  317. package/modules/engageyaBidAdapter.js +1 -1
  318. package/modules/eplanningAnalyticsAdapter.js +8 -8
  319. package/modules/fintezaAnalyticsAdapter.js +5 -5
  320. package/modules/gdprEnforcement.js +3 -3
  321. package/modules/geoedgeRtdProvider.js +2 -2
  322. package/modules/greenbidsAnalyticsAdapter.js +13 -10
  323. package/modules/greenbidsRtdProvider.js +2 -2
  324. package/modules/growthCodeAnalyticsAdapter.js +14 -14
  325. package/modules/gumgumBidAdapter.js +1 -1
  326. package/modules/hadronAnalyticsAdapter.js +14 -14
  327. package/modules/holidBidAdapter.js +2 -2
  328. package/modules/id5AnalyticsAdapter.js +7 -9
  329. package/modules/improvedigitalBidAdapter.js +2 -1
  330. package/modules/insticatorBidAdapter.js +137 -27
  331. package/modules/instreamTracking.js +4 -4
  332. package/modules/invisiblyAnalyticsAdapter.js +15 -17
  333. package/modules/ixBidAdapter.js +3 -3
  334. package/modules/jwplayerBidAdapter.js +412 -0
  335. package/modules/jwplayerBidAdapter.md +72 -0
  336. package/modules/kargoAnalyticsAdapter.js +3 -3
  337. package/modules/kargoBidAdapter.js +5 -11
  338. package/modules/konduitAnalyticsAdapter.js +13 -13
  339. package/modules/liveIntentAnalyticsAdapter.js +2 -2
  340. package/modules/livewrappedAnalyticsAdapter.js +10 -10
  341. package/modules/magniteAnalyticsAdapter.js +25 -23
  342. package/modules/malltvAnalyticsAdapter.js +4 -6
  343. package/modules/mediafilterRtdProvider.js +2 -2
  344. package/modules/medianetAnalyticsAdapter.js +12 -12
  345. package/modules/medianetBidAdapter.js +1 -1
  346. package/modules/multibid/index.js +2 -2
  347. package/modules/neuwoRtdProvider.js +2 -2
  348. package/modules/nextMillenniumBidAdapter.js +4 -4
  349. package/modules/nobidAnalyticsAdapter.js +9 -11
  350. package/modules/ooloAnalyticsAdapter.js +2 -2
  351. package/modules/optableBidAdapter.js +42 -0
  352. package/modules/optableBidAdapter.md +41 -0
  353. package/modules/optidigitalBidAdapter.js +20 -4
  354. package/modules/oxxionAnalyticsAdapter.js +7 -9
  355. package/modules/paapi.js +20 -6
  356. package/modules/permutiveRtdProvider.js +21 -2
  357. package/modules/pgamsspBidAdapter.js +26 -3
  358. package/modules/pirIdSystem.js +62 -0
  359. package/modules/pirIdSystem.md +27 -0
  360. package/modules/prebidServerBidAdapter/index.js +8 -8
  361. package/modules/prebidServerBidAdapter/ortbConverter.js +3 -3
  362. package/modules/prebidmanagerAnalyticsAdapter.js +14 -14
  363. package/modules/priceFloors.js +10 -5
  364. package/modules/pubmaticAnalyticsAdapter.js +32 -22
  365. package/modules/pubmaticBidAdapter.js +22 -18
  366. package/modules/pubwiseAnalyticsAdapter.js +11 -11
  367. package/modules/pubxaiAnalyticsAdapter.js +6 -6
  368. package/modules/qortexRtdProvider.js +2 -2
  369. package/modules/relaidoBidAdapter.js +70 -9
  370. package/modules/roxotAnalyticsAdapter.js +8 -10
  371. package/modules/rtdModule/index.js +7 -7
  372. package/modules/scaleableAnalyticsAdapter.js +5 -5
  373. package/modules/seedtagBidAdapter.js +12 -3
  374. package/modules/sigmoidAnalyticsAdapter.js +7 -7
  375. package/modules/sirdataRtdProvider.js +33 -43
  376. package/modules/smaatoBidAdapter.js +1 -2
  377. package/modules/sonobiAnalyticsAdapter.js +10 -12
  378. package/modules/sovrnAnalyticsAdapter.js +7 -9
  379. package/modules/sovrnBidAdapter.js +1 -1
  380. package/modules/staqAnalyticsAdapter.js +9 -9
  381. package/modules/stroeerCoreBidAdapter.js +7 -5
  382. package/modules/terceptAnalyticsAdapter.js +7 -7
  383. package/modules/topicsFpdModule.js +3 -0
  384. package/modules/topicsFpdModule.md +4 -0
  385. package/modules/ucfunnelAnalyticsAdapter.js +5 -7
  386. package/modules/userId/index.js +3 -3
  387. package/modules/viantOrtbBidAdapter.js +2 -0
  388. package/modules/videoModule/index.js +4 -4
  389. package/modules/yandexAnalyticsAdapter.js +8 -2
  390. package/modules/yieldoneAnalyticsAdapter.js +7 -7
  391. package/modules/yuktamediaAnalyticsAdapter.js +9 -9
  392. package/modules/zeta_global_sspAnalyticsAdapter.js +5 -5
  393. package/modules/zeta_global_sspBidAdapter.js +8 -1
  394. package/package.json +1 -1
  395. package/src/adRendering.js +15 -15
  396. package/src/adUnits.js +9 -21
  397. package/src/adapterManager.js +23 -13
  398. package/src/adapters/bidderFactory.js +8 -8
  399. package/src/auction.js +26 -28
  400. package/src/auctionManager.js +4 -4
  401. package/src/bidderSettings.js +2 -2
  402. package/src/config.js +2 -2
  403. package/src/constants.js +190 -0
  404. package/src/events.js +3 -3
  405. package/src/native.js +6 -8
  406. package/src/prebid.js +6 -10
  407. package/src/secureCreatives.js +5 -5
  408. package/src/targeting.js +13 -13
  409. package/src/utils.js +19 -6
  410. package/test/fixtures/fixtures.js +44 -44
  411. package/test/helpers/analytics.js +6 -6
  412. package/test/spec/AnalyticsAdapter_spec.js +3 -3
  413. package/test/spec/auctionmanager_spec.js +82 -82
  414. package/test/spec/modules/33acrossAnalyticsAdapter_spec.js +1 -2
  415. package/test/spec/modules/33acrossIdSystem_spec.js +3 -3
  416. package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +14 -14
  417. package/test/spec/modules/adagioAnalyticsAdapter_spec.js +26 -26
  418. package/test/spec/modules/adgenerationBidAdapter_spec.js +6 -6
  419. package/test/spec/modules/adkernelAdnAnalytics_spec.js +6 -6
  420. package/test/spec/modules/adkernelBidAdapter_spec.js +9 -4
  421. package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
  422. package/test/spec/modules/adnuntiusBidAdapter_spec.js +26 -6
  423. package/test/spec/modules/adomikAnalyticsAdapter_spec.js +7 -7
  424. package/test/spec/modules/adxcgAnalyticsAdapter_spec.js +7 -7
  425. package/test/spec/modules/adxpremiumAnalyticsAdapter_spec.js +7 -7
  426. package/test/spec/modules/agmaAnalyticsAdapter_spec.js +14 -14
  427. package/test/spec/modules/alkimiBidAdapter_spec.js +11 -5
  428. package/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  429. package/test/spec/modules/asteriobidAnalyticsAdapter_spec.js +2 -2
  430. package/test/spec/modules/atsAnalyticsAdapter_spec.js +8 -8
  431. package/test/spec/modules/automatadAnalyticsAdapter_spec.js +2 -2
  432. package/test/spec/modules/bidViewabilityIO_spec.js +2 -2
  433. package/test/spec/modules/bidViewability_spec.js +4 -4
  434. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +7 -6
  435. package/test/spec/modules/byDataAnalyticsAdapter_spec.js +5 -4
  436. package/test/spec/modules/cleanioRtdProvider_spec.js +6 -6
  437. package/test/spec/modules/concertAnalyticsAdapter_spec.js +7 -6
  438. package/test/spec/modules/confiantRtdProvider_spec.js +2 -2
  439. package/test/spec/modules/conversantAnalyticsAdapter_spec.js +61 -61
  440. package/test/spec/modules/criteoBidAdapter_spec.js +111 -5
  441. package/test/spec/modules/currency_spec.js +6 -6
  442. package/test/spec/modules/dailymotionBidAdapter_spec.js +369 -0
  443. package/test/spec/modules/dsaControl_spec.js +4 -4
  444. package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +20 -13
  445. package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +5 -5
  446. package/test/spec/modules/genericAnalyticsAdapter_spec.js +2 -2
  447. package/test/spec/modules/geoedgeRtdProvider_spec.js +37 -37
  448. package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +15 -2
  449. package/test/spec/modules/greenbidsRtdProvider_spec.js +2 -2
  450. package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +2 -2
  451. package/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
  452. package/test/spec/modules/hadronAnalyticsAdapter_spec.js +3 -3
  453. package/test/spec/modules/id5AnalyticsAdapter_spec.js +5 -5
  454. package/test/spec/modules/id5IdSystem_spec.js +2 -2
  455. package/test/spec/modules/improvedigitalBidAdapter_spec.js +3 -3
  456. package/test/spec/modules/insticatorBidAdapter_spec.js +275 -22
  457. package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +40 -40
  458. package/test/spec/modules/jwplayerBidAdapter_spec.js +412 -0
  459. package/test/spec/modules/kargoAnalyticsAdapter_spec.js +3 -3
  460. package/test/spec/modules/konduitAnalyticsAdapter_spec.js +13 -13
  461. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +1 -1
  462. package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -3
  463. package/test/spec/modules/liveIntentIdSystem_spec.js +13 -15
  464. package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +15 -20
  465. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +31 -15
  466. package/test/spec/modules/malltvAnalyticsAdapter_spec.js +3 -3
  467. package/test/spec/modules/mediafilterRtdProvider_spec.js +2 -2
  468. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +3 -3
  469. package/test/spec/modules/nobidAnalyticsAdapter_spec.js +23 -23
  470. package/test/spec/modules/ooloAnalyticsAdapter_spec.js +33 -33
  471. package/test/spec/modules/optableBidAdapter_spec.js +89 -0
  472. package/test/spec/modules/optidigitalBidAdapter_spec.js +34 -4
  473. package/test/spec/modules/optimonAnalyticsAdapter_spec.js +0 -1
  474. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +7 -7
  475. package/test/spec/modules/paapi_spec.js +40 -14
  476. package/test/spec/modules/permutiveRtdProvider_spec.js +29 -1
  477. package/test/spec/modules/pgamsspBidAdapter_spec.js +50 -4
  478. package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +9 -9
  479. package/test/spec/modules/pirIdSystem_spec.js +77 -0
  480. package/test/spec/modules/prebidServerBidAdapter_spec.js +7 -7
  481. package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -2
  482. package/test/spec/modules/priceFloors_spec.js +6 -5
  483. package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +12 -14
  484. package/test/spec/modules/pubmaticBidAdapter_spec.js +25 -2
  485. package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +0 -1
  486. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +14 -14
  487. package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +7 -7
  488. package/test/spec/modules/qortexRtdProvider_spec.js +2 -2
  489. package/test/spec/modules/realTimeDataModule_spec.js +9 -9
  490. package/test/spec/modules/relaidoBidAdapter_spec.js +62 -0
  491. package/test/spec/modules/relevantAnalyticsAdapter_spec.js +3 -3
  492. package/test/spec/modules/relevantdigitalBidAdapter_spec.js +2 -2
  493. package/test/spec/modules/rivrAnalyticsAdapter_spec.js +4 -4
  494. package/test/spec/modules/roxotAnalyticsAdapter_spec.js +25 -25
  495. package/test/spec/modules/scaleableAnalyticsAdapter_spec.js +5 -5
  496. package/test/spec/modules/seedtagBidAdapter_spec.js +56 -3
  497. package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +0 -1
  498. package/test/spec/modules/sonobiAnalyticsAdapter_spec.js +8 -7
  499. package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -2
  500. package/test/spec/modules/sovrnBidAdapter_spec.js +5 -5
  501. package/test/spec/modules/staqAnalyticsAdapter_spec.js +7 -7
  502. package/test/spec/modules/stroeerCoreBidAdapter_spec.js +21 -0
  503. package/test/spec/modules/terceptAnalyticsAdapter_spec.js +7 -7
  504. package/test/spec/modules/trionBidAdapter_spec.js +1 -1
  505. package/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  506. package/test/spec/modules/userId_spec.js +4 -4
  507. package/test/spec/modules/videoModule/pbVideo_spec.js +3 -3
  508. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +22 -21
  509. package/test/spec/modules/yuktamediaAnalyticsAdapter_spec.js +33 -32
  510. package/test/spec/modules/zeta_global_sspAnalyticsAdapter_spec.js +8 -8
  511. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +1 -1
  512. package/test/spec/native_spec.js +19 -19
  513. package/test/spec/unit/adRendering_spec.js +14 -14
  514. package/test/spec/unit/adUnits_spec.js +1 -1
  515. package/test/spec/unit/core/adapterManager_spec.js +99 -59
  516. package/test/spec/unit/core/bidderFactory_spec.js +6 -6
  517. package/test/spec/unit/core/targeting_spec.js +47 -47
  518. package/test/spec/unit/pbjs_api_spec.js +81 -81
  519. package/test/spec/unit/secureCreatives_spec.js +27 -27
  520. package/test/spec/utils_spec.js +19 -3
  521. package/src/constants.json +0 -196
@@ -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 = {};
@@ -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
  }
@@ -76,11 +76,13 @@ export const spec = {
76
76
  };
77
77
  }
78
78
 
79
- const DSA_KEY = 'ortb2.regs.ext.dsa';
80
- const dsa = deepAccess(bidderRequest, DSA_KEY);
81
- if (dsa) {
82
- deepSetValue(basePayload, DSA_KEY, dsa);
83
- }
79
+ const ORTB2_KEYS = ['regs.ext.dsa', 'device.ext.cdep'];
80
+ ORTB2_KEYS.forEach(key => {
81
+ const value = deepAccess(bidderRequest.ortb2, key);
82
+ if (value !== undefined) {
83
+ deepSetValue(basePayload, `ortb2.${key}`, value);
84
+ }
85
+ });
84
86
 
85
87
  const bannerBids = validBidRequests
86
88
  .filter(hasBanner)
@@ -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
  }
@@ -51,8 +51,10 @@ export const spec = {
51
51
  onBidWon: function (bid) {
52
52
  if (bid.burl) {
53
53
  utils.triggerPixel(bid.burl);
54
+ utils.replaceAuctionPrice(bid.burl, bid.price);
54
55
  } else if (bid.nurl) {
55
56
  utils.triggerPixel(bid.nurl);
57
+ utils.replaceAuctionPrice(bid.nurl, bid.price);
56
58
  }
57
59
  }
58
60
  }
@@ -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,10 @@ const {
32
32
  BIDDER_DONE,
33
33
  AUCTION_END,
34
34
  BID_TIMEOUT,
35
- } = CONSTANTS.EVENTS;
35
+ AD_RENDER_FAILED,
36
+ AD_RENDER_SUCCEEDED,
37
+ BIDDER_ERROR,
38
+ } = EVENTS;
36
39
 
37
40
  export const EVENTS_TO_TRACK = [
38
41
  BID_REQUESTED,
@@ -42,6 +45,9 @@ export const EVENTS_TO_TRACK = [
42
45
  BIDDER_DONE,
43
46
  AUCTION_END,
44
47
  BID_TIMEOUT,
48
+ AD_RENDER_FAILED,
49
+ AD_RENDER_SUCCEEDED,
50
+ BIDDER_ERROR,
45
51
  ];
46
52
 
47
53
  const yandexAnalytics = Object.assign(buildAdapter({ analyticsType: 'endpoint' }), {
@@ -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.44.0",
3
+ "version": "8.46.0",
4
4
  "description": "Header Bidding Management Library",
5
5
  "main": "src/prebid.js",
6
6
  "scripts": {
@@ -1,6 +1,6 @@
1
1
  import {createIframe, deepAccess, inIframe, insertElement, logError, logWarn, replaceMacros} from './utils.js';
2
2
  import * as events from './events.js';
3
- import CONSTANTS from './constants.json';
3
+ import { AD_RENDER_FAILED_REASON, BID_STATUS, EVENTS, MESSAGES } from './constants.js';
4
4
  import {config} from './config.js';
5
5
  import {executeRenderer, isRendererRequired} from './Renderer.js';
6
6
  import {VIDEO} from './mediaTypes.js';
@@ -9,14 +9,14 @@ import {getCreativeRenderer} from './creativeRenderers.js';
9
9
  import {hook} from './hook.js';
10
10
  import {fireNativeTrackers} from './native.js';
11
11
 
12
- const {AD_RENDER_FAILED, AD_RENDER_SUCCEEDED, STALE_RENDER, BID_WON} = CONSTANTS.EVENTS;
13
- const {EXCEPTION} = CONSTANTS.AD_RENDER_FAILED_REASON;
12
+ const { AD_RENDER_FAILED, AD_RENDER_SUCCEEDED, STALE_RENDER, BID_WON } = EVENTS;
13
+ const { EXCEPTION } = AD_RENDER_FAILED_REASON;
14
14
 
15
15
  /**
16
16
  * Emit the AD_RENDER_FAILED event.
17
17
  *
18
18
  * @param {Object} data
19
- * @param data.reason one of the values in CONSTANTS.AD_RENDER_FAILED_REASON
19
+ * @param data.reason one of the values in AD_RENDER_FAILED_REASON
20
20
  * @param data.message failure description
21
21
  * @param [data.bid] bid response object that failed to render
22
22
  * @param [data.id] adId that failed to render
@@ -52,7 +52,7 @@ export function emitAdRenderSucceeded({ doc, bid, id }) {
52
52
 
53
53
  export function handleCreativeEvent(data, bidResponse) {
54
54
  switch (data.event) {
55
- case CONSTANTS.EVENTS.AD_RENDER_FAILED:
55
+ case EVENTS.AD_RENDER_FAILED:
56
56
  emitAdRenderFail({
57
57
  bid: bidResponse,
58
58
  id: bidResponse.adId,
@@ -60,7 +60,7 @@ export function handleCreativeEvent(data, bidResponse) {
60
60
  message: data.info.message
61
61
  });
62
62
  break;
63
- case CONSTANTS.EVENTS.AD_RENDER_SUCCEEDED:
63
+ case EVENTS.AD_RENDER_SUCCEEDED:
64
64
  emitAdRenderSucceeded({
65
65
  doc: null,
66
66
  bid: bidResponse,
@@ -83,11 +83,11 @@ export function handleNativeMessage(data, bidResponse, {resizeFn, fireTrackers =
83
83
  }
84
84
 
85
85
  const HANDLERS = {
86
- [CONSTANTS.MESSAGES.EVENT]: handleCreativeEvent
86
+ [MESSAGES.EVENT]: handleCreativeEvent
87
87
  }
88
88
 
89
89
  if (FEATURES.NATIVE) {
90
- HANDLERS[CONSTANTS.MESSAGES.NATIVE] = handleNativeMessage;
90
+ HANDLERS[MESSAGES.NATIVE] = handleNativeMessage;
91
91
  }
92
92
 
93
93
  function creativeMessageHandler(deps) {
@@ -115,7 +115,7 @@ export const getRenderingData = hook('sync', function (bidResponse, options) {
115
115
  export const doRender = hook('sync', function({renderFn, resizeFn, bidResponse, options}) {
116
116
  if (FEATURES.VIDEO && bidResponse.mediaType === VIDEO) {
117
117
  emitAdRenderFail({
118
- reason: CONSTANTS.AD_RENDER_FAILED_REASON.PREVENT_WRITING_ON_MAIN_DOCUMENT,
118
+ reason: AD_RENDER_FAILED_REASON.PREVENT_WRITING_ON_MAIN_DOCUMENT,
119
119
  message: 'Cannot render video ad',
120
120
  bid: bidResponse,
121
121
  id: bidResponse.adId
@@ -145,13 +145,13 @@ doRender.before(function (next, args) {
145
145
  export function handleRender({renderFn, resizeFn, adId, options, bidResponse, doc}) {
146
146
  if (bidResponse == null) {
147
147
  emitAdRenderFail({
148
- reason: CONSTANTS.AD_RENDER_FAILED_REASON.CANNOT_FIND_AD,
148
+ reason: AD_RENDER_FAILED_REASON.CANNOT_FIND_AD,
149
149
  message: `Cannot find ad '${adId}'`,
150
150
  id: adId
151
151
  });
152
152
  return;
153
153
  }
154
- if (bidResponse.status === CONSTANTS.BID_STATUS.RENDERED) {
154
+ if (bidResponse.status === BID_STATUS.RENDERED) {
155
155
  logWarn(`Ad id ${adId} has been rendered before`);
156
156
  events.emit(STALE_RENDER, bidResponse);
157
157
  if (deepAccess(config.getConfig('auctionOptions'), 'suppressStaleRender')) {
@@ -162,7 +162,7 @@ export function handleRender({renderFn, resizeFn, adId, options, bidResponse, do
162
162
  doRender({renderFn, resizeFn, bidResponse, options, doc});
163
163
  } catch (e) {
164
164
  emitAdRenderFail({
165
- reason: CONSTANTS.AD_RENDER_FAILED_REASON.EXCEPTION,
165
+ reason: AD_RENDER_FAILED_REASON.EXCEPTION,
166
166
  message: e.message,
167
167
  id: adId,
168
168
  bid: bidResponse
@@ -198,7 +198,7 @@ export function renderAdDirect(doc, adId, options) {
198
198
  .then(
199
199
  () => emitAdRenderSucceeded({doc, bid, adId: bid.adId}),
200
200
  (e) => {
201
- fail(e?.reason || CONSTANTS.AD_RENDER_FAILED_REASON.EXCEPTION, e?.message)
201
+ fail(e?.reason || AD_RENDER_FAILED_REASON.EXCEPTION, e?.message)
202
202
  e?.stack && logError(e);
203
203
  }
204
204
  );
@@ -209,12 +209,12 @@ export function renderAdDirect(doc, adId, options) {
209
209
  }
210
210
  try {
211
211
  if (!adId || !doc) {
212
- fail(CONSTANTS.AD_RENDER_FAILED_REASON.MISSING_DOC_OR_ADID, `missing ${adId ? 'doc' : 'adId'}`);
212
+ fail(AD_RENDER_FAILED_REASON.MISSING_DOC_OR_ADID, `missing ${adId ? 'doc' : 'adId'}`);
213
213
  } else {
214
214
  bid = auctionManager.findBidByAdId(adId);
215
215
 
216
216
  if ((doc === document && !inIframe())) {
217
- fail(CONSTANTS.AD_RENDER_FAILED_REASON.PREVENT_WRITING_ON_MAIN_DOCUMENT, `renderAd was prevented from writing to the main document.`);
217
+ fail(AD_RENDER_FAILED_REASON.PREVENT_WRITING_ON_MAIN_DOCUMENT, `renderAd was prevented from writing to the main document.`);
218
218
  } else {
219
219
  handleRender({renderFn, resizeFn, adId, options: {clickUrl: options?.clickThrough}, bidResponse: bid, doc});
220
220
  }