prebid.js 8.44.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 (472) 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/dsaControl.js +1 -1
  79. package/dist/dspxBidAdapter.js +1 -1
  80. package/dist/dxkultureBidAdapter.js +1 -1
  81. package/dist/eplanningAnalyticsAdapter.js +1 -1
  82. package/dist/eplanningBidAdapter.js +1 -1
  83. package/dist/euidIdSystem.js +1 -1
  84. package/dist/feedadBidAdapter.js +1 -1
  85. package/dist/finativeBidAdapter.js +1 -1
  86. package/dist/fintezaAnalyticsAdapter.js +1 -1
  87. package/dist/freewheel-sspBidAdapter.js +1 -1
  88. package/dist/gdprEnforcement.js +1 -1
  89. package/dist/genericAnalyticsAdapter.js +1 -1
  90. package/dist/geoedgeRtdProvider.js +1 -1
  91. package/dist/gmosspBidAdapter.js +1 -1
  92. package/dist/goldbachBidAdapter.js +1 -1
  93. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  94. package/dist/greenbidsRtdProvider.js +1 -1
  95. package/dist/gridBidAdapter.js +1 -1
  96. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  97. package/dist/gumgumBidAdapter.js +1 -1
  98. package/dist/h12mediaBidAdapter.js +1 -1
  99. package/dist/hadronAnalyticsAdapter.js +1 -1
  100. package/dist/holidBidAdapter.js +1 -1
  101. package/dist/hypelabBidAdapter.js +1 -1
  102. package/dist/id5AnalyticsAdapter.js +1 -1
  103. package/dist/id5IdSystem.js +1 -1
  104. package/dist/illuminBidAdapter.js +1 -1
  105. package/dist/imdsBidAdapter.js +1 -1
  106. package/dist/improvedigitalBidAdapter.js +1 -1
  107. package/dist/insticatorBidAdapter.js +1 -1
  108. package/dist/instreamTracking.js +1 -1
  109. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  110. package/dist/ixBidAdapter.js +1 -1
  111. package/dist/jixieBidAdapter.js +1 -1
  112. package/dist/justpremiumBidAdapter.js +1 -1
  113. package/dist/kargoAnalyticsAdapter.js +1 -1
  114. package/dist/kargoBidAdapter.js +1 -1
  115. package/dist/kimberliteBidAdapter.js +1 -1
  116. package/dist/konduitAnalyticsAdapter.js +1 -1
  117. package/dist/kueezBidAdapter.js +1 -1
  118. package/dist/kueezRtbBidAdapter.js +1 -1
  119. package/dist/lassoBidAdapter.js +1 -1
  120. package/dist/lifestreetBidAdapter.js +1 -1
  121. package/dist/liveIntentAnalyticsAdapter.js +1 -1
  122. package/dist/liveIntentIdSystem.js +1 -1
  123. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  124. package/dist/logicadBidAdapter.js +1 -1
  125. package/dist/loglyliftBidAdapter.js +1 -1
  126. package/dist/luceadBidAdapter.js +1 -1
  127. package/dist/magniteAnalyticsAdapter.js +1 -1
  128. package/dist/malltvAnalyticsAdapter.js +1 -1
  129. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  130. package/dist/marsmediaBidAdapter.js +1 -1
  131. package/dist/mediafilterRtdProvider.js +1 -1
  132. package/dist/mediafuseBidAdapter.js +1 -1
  133. package/dist/medianetAnalyticsAdapter.js +1 -1
  134. package/dist/medianetBidAdapter.js +1 -1
  135. package/dist/mediasquareBidAdapter.js +1 -1
  136. package/dist/mgidBidAdapter.js +1 -1
  137. package/dist/minutemediaBidAdapter.js +1 -1
  138. package/dist/minutemediaplusBidAdapter.js +1 -1
  139. package/dist/missenaBidAdapter.js +1 -1
  140. package/dist/multibid.js +1 -1
  141. package/dist/neuwoRtdProvider.js +1 -1
  142. package/dist/nextMillenniumBidAdapter.js +1 -1
  143. package/dist/nexx360BidAdapter.js +1 -1
  144. package/dist/nobidAnalyticsAdapter.js +1 -1
  145. package/dist/not-for-prod/prebid.js +237 -235
  146. package/dist/oguryBidAdapter.js +1 -1
  147. package/dist/onetagBidAdapter.js +1 -1
  148. package/dist/ooloAnalyticsAdapter.js +1 -1
  149. package/dist/openwebBidAdapter.js +1 -1
  150. package/dist/openxBidAdapter.js +1 -1
  151. package/dist/optidigitalBidAdapter.js +1 -1
  152. package/dist/optimonAnalyticsAdapter.js +1 -1
  153. package/dist/outbrainBidAdapter.js +1 -1
  154. package/dist/oxxionAnalyticsAdapter.js +1 -1
  155. package/dist/oxxionRtdProvider.js +1 -1
  156. package/dist/parrableIdSystem.js +1 -1
  157. package/dist/pbsExtensions.js +1 -1
  158. package/dist/permutiveRtdProvider.js +1 -1
  159. package/dist/pgamsspBidAdapter.js +1 -1
  160. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  161. package/dist/pirIdSystem.js +1 -0
  162. package/dist/pixfutureBidAdapter.js +1 -1
  163. package/dist/prebidServerBidAdapter.js +1 -1
  164. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  165. package/dist/priceFloors.js +1 -1
  166. package/dist/publinkIdSystem.js +1 -1
  167. package/dist/publirBidAdapter.js +1 -1
  168. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  169. package/dist/pubmaticBidAdapter.js +1 -1
  170. package/dist/pubperfAnalyticsAdapter.js +1 -1
  171. package/dist/pubstackAnalyticsAdapter.js +1 -1
  172. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  173. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  174. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  175. package/dist/pxyzBidAdapter.js +1 -1
  176. package/dist/qortexRtdProvider.js +1 -1
  177. package/dist/quantcastBidAdapter.js +1 -1
  178. package/dist/readpeakBidAdapter.js +1 -1
  179. package/dist/relaidoBidAdapter.js +1 -1
  180. package/dist/relevantAnalyticsAdapter.js +1 -1
  181. package/dist/retailspotBidAdapter.js +1 -1
  182. package/dist/rhythmoneBidAdapter.js +1 -1
  183. package/dist/riseBidAdapter.js +1 -1
  184. package/dist/rivrAnalyticsAdapter.js +1 -1
  185. package/dist/roxotAnalyticsAdapter.js +1 -1
  186. package/dist/rtdModule.js +1 -1
  187. package/dist/rubiconBidAdapter.js +1 -1
  188. package/dist/s2sTesting.js +1 -1
  189. package/dist/scaleableAnalyticsAdapter.js +1 -1
  190. package/dist/schain.js +1 -1
  191. package/dist/seedingAllianceBidAdapter.js +1 -1
  192. package/dist/seedtagBidAdapter.js +1 -1
  193. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  194. package/dist/sharethroughBidAdapter.js +1 -1
  195. package/dist/shinezBidAdapter.js +1 -1
  196. package/dist/shinezRtbBidAdapter.js +1 -1
  197. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  198. package/dist/sizeMapping.js +1 -1
  199. package/dist/smaatoBidAdapter.js +1 -1
  200. package/dist/smartadserverBidAdapter.js +1 -1
  201. package/dist/smartxBidAdapter.js +1 -1
  202. package/dist/smilewantedBidAdapter.js +1 -1
  203. package/dist/sonobiAnalyticsAdapter.js +1 -1
  204. package/dist/sonobiBidAdapter.js +1 -1
  205. package/dist/sovrnAnalyticsAdapter.js +1 -1
  206. package/dist/sovrnBidAdapter.js +1 -1
  207. package/dist/sspBCBidAdapter.js +1 -1
  208. package/dist/staqAnalyticsAdapter.js +1 -1
  209. package/dist/stnBidAdapter.js +1 -1
  210. package/dist/stvBidAdapter.js +1 -1
  211. package/dist/sublimeBidAdapter.js +1 -1
  212. package/dist/taboolaBidAdapter.js +1 -1
  213. package/dist/tagorasBidAdapter.js +1 -1
  214. package/dist/targetVideoBidAdapter.js +1 -1
  215. package/dist/teadsBidAdapter.js +1 -1
  216. package/dist/terceptAnalyticsAdapter.js +1 -1
  217. package/dist/themoneytizerBidAdapter.js +1 -1
  218. package/dist/topicsFpdModule.js +1 -1
  219. package/dist/trionBidAdapter.js +1 -1
  220. package/dist/tripleliftBidAdapter.js +1 -1
  221. package/dist/ttdBidAdapter.js +1 -1
  222. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  223. package/dist/uid2IdSystem.js +1 -1
  224. package/dist/underdogmediaBidAdapter.js +1 -1
  225. package/dist/undertoneBidAdapter.js +1 -1
  226. package/dist/unrulyBidAdapter.js +1 -1
  227. package/dist/userId.js +1 -1
  228. package/dist/vidazooBidAdapter.js +1 -1
  229. package/dist/videoModule.js +1 -1
  230. package/dist/videobyteBidAdapter.js +1 -1
  231. package/dist/visxBidAdapter.js +1 -1
  232. package/dist/vuukleBidAdapter.js +1 -1
  233. package/dist/weboramaRtdProvider.js +1 -1
  234. package/dist/widespaceBidAdapter.js +1 -1
  235. package/dist/winrBidAdapter.js +1 -1
  236. package/dist/yahoosspBidAdapter.js +1 -1
  237. package/dist/yandexAnalyticsAdapter.js +1 -1
  238. package/dist/yieldmoBidAdapter.js +1 -1
  239. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  240. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  241. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  242. package/dist/zeta_global_sspBidAdapter.js +1 -1
  243. package/gulpfile.js +9 -1
  244. package/integrationExamples/gpt/adnuntius_example.html +7 -1
  245. package/integrationExamples/gpt/azerionedgeRtdProvider_example.html +3 -3
  246. package/integrationExamples/gpt/top-level-paapi/decisionLogic.js +57 -0
  247. package/integrationExamples/gpt/top-level-paapi/tl_paapi_example.html +188 -0
  248. package/integrationExamples/gpt/x-domain/creative.html +1 -1
  249. package/libraries/analyticsAdapter/AnalyticsAdapter.js +4 -4
  250. package/libraries/creative-renderer-native/renderer.js +1 -1
  251. package/modules/33acrossAnalyticsAdapter.js +2 -4
  252. package/modules/33acrossIdSystem.js +1 -1
  253. package/modules/adWMGAnalyticsAdapter.js +9 -11
  254. package/modules/adagioAnalyticsAdapter.js +8 -8
  255. package/modules/adkernelAdnAnalyticsAdapter.js +8 -8
  256. package/modules/adkernelBidAdapter.js +9 -3
  257. package/modules/adlooxAdServerVideo.js +2 -2
  258. package/modules/adlooxAnalyticsAdapter.js +4 -4
  259. package/modules/adnuntiusBidAdapter.js +49 -31
  260. package/modules/adomikAnalyticsAdapter.js +7 -7
  261. package/modules/adpod.js +3 -3
  262. package/modules/adxcgAnalyticsAdapter.js +10 -10
  263. package/modules/adxpremiumAnalyticsAdapter.js +8 -10
  264. package/modules/agmaAnalyticsAdapter.js +2 -6
  265. package/modules/appierAnalyticsAdapter.js +5 -7
  266. package/modules/asteriobidAnalyticsAdapter.js +14 -14
  267. package/modules/atsAnalyticsAdapter.js +4 -4
  268. package/modules/automatadAnalyticsAdapter.js +20 -20
  269. package/modules/azerionedgeRtdProvider.md +4 -2
  270. package/modules/bidViewability.js +3 -3
  271. package/modules/bidViewabilityIO.js +3 -3
  272. package/modules/bidwatchAnalyticsAdapter.js +7 -9
  273. package/modules/brandmetricsRtdProvider.js +6 -6
  274. package/modules/browsiRtdProvider.js +3 -3
  275. package/modules/byDataAnalyticsAdapter.js +3 -3
  276. package/modules/cleanioRtdProvider.js +3 -3
  277. package/modules/concertAnalyticsAdapter.js +5 -7
  278. package/modules/confiantRtdProvider.js +2 -2
  279. package/modules/conversantAnalyticsAdapter.js +2 -4
  280. package/modules/criteoBidAdapter.js +51 -8
  281. package/modules/currency.js +7 -7
  282. package/modules/dailymotionBidAdapter.js +139 -0
  283. package/modules/dailymotionBidAdapter.md +140 -0
  284. package/modules/datawrkzBidAdapter.js +4 -4
  285. package/modules/debugging/pbsInterceptor.js +2 -2
  286. package/modules/dfpAdServerVideo.js +2 -2
  287. package/modules/dsaControl.js +5 -5
  288. package/modules/eplanningAnalyticsAdapter.js +8 -8
  289. package/modules/fintezaAnalyticsAdapter.js +5 -5
  290. package/modules/gdprEnforcement.js +3 -3
  291. package/modules/geoedgeRtdProvider.js +2 -2
  292. package/modules/greenbidsAnalyticsAdapter.js +13 -10
  293. package/modules/greenbidsRtdProvider.js +2 -2
  294. package/modules/growthCodeAnalyticsAdapter.js +14 -14
  295. package/modules/hadronAnalyticsAdapter.js +14 -14
  296. package/modules/holidBidAdapter.js +2 -2
  297. package/modules/id5AnalyticsAdapter.js +7 -9
  298. package/modules/improvedigitalBidAdapter.js +2 -1
  299. package/modules/insticatorBidAdapter.js +137 -27
  300. package/modules/instreamTracking.js +4 -4
  301. package/modules/invisiblyAnalyticsAdapter.js +15 -17
  302. package/modules/ixBidAdapter.js +3 -3
  303. package/modules/kargoAnalyticsAdapter.js +3 -3
  304. package/modules/kargoBidAdapter.js +5 -11
  305. package/modules/konduitAnalyticsAdapter.js +13 -13
  306. package/modules/liveIntentAnalyticsAdapter.js +2 -2
  307. package/modules/livewrappedAnalyticsAdapter.js +10 -10
  308. package/modules/magniteAnalyticsAdapter.js +25 -23
  309. package/modules/malltvAnalyticsAdapter.js +4 -6
  310. package/modules/mediafilterRtdProvider.js +2 -2
  311. package/modules/medianetAnalyticsAdapter.js +12 -12
  312. package/modules/medianetBidAdapter.js +1 -1
  313. package/modules/multibid/index.js +2 -2
  314. package/modules/neuwoRtdProvider.js +2 -2
  315. package/modules/nextMillenniumBidAdapter.js +4 -4
  316. package/modules/nobidAnalyticsAdapter.js +9 -11
  317. package/modules/ooloAnalyticsAdapter.js +2 -2
  318. package/modules/oxxionAnalyticsAdapter.js +7 -9
  319. package/modules/paapi.js +20 -6
  320. package/modules/permutiveRtdProvider.js +21 -2
  321. package/modules/pgamsspBidAdapter.js +26 -3
  322. package/modules/pirIdSystem.js +62 -0
  323. package/modules/pirIdSystem.md +27 -0
  324. package/modules/prebidServerBidAdapter/index.js +8 -8
  325. package/modules/prebidServerBidAdapter/ortbConverter.js +3 -3
  326. package/modules/prebidmanagerAnalyticsAdapter.js +14 -14
  327. package/modules/priceFloors.js +10 -5
  328. package/modules/pubmaticAnalyticsAdapter.js +32 -22
  329. package/modules/pubmaticBidAdapter.js +1 -17
  330. package/modules/pubwiseAnalyticsAdapter.js +11 -11
  331. package/modules/pubxaiAnalyticsAdapter.js +6 -6
  332. package/modules/qortexRtdProvider.js +2 -2
  333. package/modules/roxotAnalyticsAdapter.js +8 -10
  334. package/modules/rtdModule/index.js +7 -7
  335. package/modules/scaleableAnalyticsAdapter.js +5 -5
  336. package/modules/seedtagBidAdapter.js +12 -3
  337. package/modules/sigmoidAnalyticsAdapter.js +7 -7
  338. package/modules/smaatoBidAdapter.js +1 -2
  339. package/modules/sonobiAnalyticsAdapter.js +10 -12
  340. package/modules/sovrnAnalyticsAdapter.js +7 -9
  341. package/modules/sovrnBidAdapter.js +1 -1
  342. package/modules/staqAnalyticsAdapter.js +9 -9
  343. package/modules/terceptAnalyticsAdapter.js +7 -7
  344. package/modules/topicsFpdModule.js +3 -0
  345. package/modules/topicsFpdModule.md +4 -0
  346. package/modules/ucfunnelAnalyticsAdapter.js +5 -7
  347. package/modules/userId/index.js +3 -3
  348. package/modules/videoModule/index.js +4 -4
  349. package/modules/yandexAnalyticsAdapter.js +2 -2
  350. package/modules/yieldoneAnalyticsAdapter.js +7 -7
  351. package/modules/yuktamediaAnalyticsAdapter.js +9 -9
  352. package/modules/zeta_global_sspAnalyticsAdapter.js +5 -5
  353. package/modules/zeta_global_sspBidAdapter.js +8 -1
  354. package/package.json +1 -1
  355. package/src/adRendering.js +15 -15
  356. package/src/adUnits.js +9 -21
  357. package/src/adapterManager.js +23 -13
  358. package/src/adapters/bidderFactory.js +8 -8
  359. package/src/auction.js +26 -28
  360. package/src/auctionManager.js +4 -4
  361. package/src/bidderSettings.js +2 -2
  362. package/src/config.js +2 -2
  363. package/src/constants.js +190 -0
  364. package/src/events.js +3 -3
  365. package/src/native.js +6 -8
  366. package/src/prebid.js +6 -10
  367. package/src/secureCreatives.js +5 -5
  368. package/src/targeting.js +13 -13
  369. package/src/utils.js +4 -4
  370. package/test/fixtures/fixtures.js +44 -44
  371. package/test/helpers/analytics.js +6 -6
  372. package/test/spec/AnalyticsAdapter_spec.js +3 -3
  373. package/test/spec/auctionmanager_spec.js +82 -82
  374. package/test/spec/modules/33acrossAnalyticsAdapter_spec.js +1 -2
  375. package/test/spec/modules/33acrossIdSystem_spec.js +3 -3
  376. package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +14 -14
  377. package/test/spec/modules/adagioAnalyticsAdapter_spec.js +26 -26
  378. package/test/spec/modules/adkernelAdnAnalytics_spec.js +6 -6
  379. package/test/spec/modules/adkernelBidAdapter_spec.js +9 -4
  380. package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
  381. package/test/spec/modules/adnuntiusBidAdapter_spec.js +8 -5
  382. package/test/spec/modules/adomikAnalyticsAdapter_spec.js +7 -7
  383. package/test/spec/modules/adxcgAnalyticsAdapter_spec.js +7 -7
  384. package/test/spec/modules/adxpremiumAnalyticsAdapter_spec.js +7 -7
  385. package/test/spec/modules/agmaAnalyticsAdapter_spec.js +14 -14
  386. package/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  387. package/test/spec/modules/asteriobidAnalyticsAdapter_spec.js +2 -2
  388. package/test/spec/modules/atsAnalyticsAdapter_spec.js +8 -8
  389. package/test/spec/modules/automatadAnalyticsAdapter_spec.js +2 -2
  390. package/test/spec/modules/bidViewabilityIO_spec.js +2 -2
  391. package/test/spec/modules/bidViewability_spec.js +4 -4
  392. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +7 -6
  393. package/test/spec/modules/byDataAnalyticsAdapter_spec.js +5 -4
  394. package/test/spec/modules/cleanioRtdProvider_spec.js +6 -6
  395. package/test/spec/modules/concertAnalyticsAdapter_spec.js +7 -6
  396. package/test/spec/modules/confiantRtdProvider_spec.js +2 -2
  397. package/test/spec/modules/conversantAnalyticsAdapter_spec.js +61 -61
  398. package/test/spec/modules/criteoBidAdapter_spec.js +111 -5
  399. package/test/spec/modules/currency_spec.js +6 -6
  400. package/test/spec/modules/dailymotionBidAdapter_spec.js +369 -0
  401. package/test/spec/modules/dsaControl_spec.js +4 -4
  402. package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +20 -13
  403. package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +5 -5
  404. package/test/spec/modules/genericAnalyticsAdapter_spec.js +2 -2
  405. package/test/spec/modules/geoedgeRtdProvider_spec.js +37 -37
  406. package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +15 -2
  407. package/test/spec/modules/greenbidsRtdProvider_spec.js +2 -2
  408. package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +2 -2
  409. package/test/spec/modules/hadronAnalyticsAdapter_spec.js +3 -3
  410. package/test/spec/modules/id5AnalyticsAdapter_spec.js +5 -5
  411. package/test/spec/modules/id5IdSystem_spec.js +2 -2
  412. package/test/spec/modules/improvedigitalBidAdapter_spec.js +3 -3
  413. package/test/spec/modules/insticatorBidAdapter_spec.js +275 -22
  414. package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +40 -40
  415. package/test/spec/modules/kargoAnalyticsAdapter_spec.js +3 -3
  416. package/test/spec/modules/konduitAnalyticsAdapter_spec.js +13 -13
  417. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +1 -1
  418. package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -3
  419. package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +15 -20
  420. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +31 -15
  421. package/test/spec/modules/malltvAnalyticsAdapter_spec.js +3 -3
  422. package/test/spec/modules/mediafilterRtdProvider_spec.js +2 -2
  423. package/test/spec/modules/medianetAnalyticsAdapter_spec.js +3 -3
  424. package/test/spec/modules/nobidAnalyticsAdapter_spec.js +23 -23
  425. package/test/spec/modules/ooloAnalyticsAdapter_spec.js +33 -33
  426. package/test/spec/modules/optimonAnalyticsAdapter_spec.js +0 -1
  427. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +7 -7
  428. package/test/spec/modules/paapi_spec.js +40 -14
  429. package/test/spec/modules/permutiveRtdProvider_spec.js +29 -1
  430. package/test/spec/modules/pgamsspBidAdapter_spec.js +50 -4
  431. package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +9 -9
  432. package/test/spec/modules/pirIdSystem_spec.js +77 -0
  433. package/test/spec/modules/prebidServerBidAdapter_spec.js +7 -7
  434. package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -2
  435. package/test/spec/modules/priceFloors_spec.js +6 -5
  436. package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +12 -14
  437. package/test/spec/modules/pubmaticBidAdapter_spec.js +1 -1
  438. package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +0 -1
  439. package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +14 -14
  440. package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +7 -7
  441. package/test/spec/modules/qortexRtdProvider_spec.js +2 -2
  442. package/test/spec/modules/realTimeDataModule_spec.js +9 -9
  443. package/test/spec/modules/relevantAnalyticsAdapter_spec.js +3 -3
  444. package/test/spec/modules/relevantdigitalBidAdapter_spec.js +2 -2
  445. package/test/spec/modules/rivrAnalyticsAdapter_spec.js +4 -4
  446. package/test/spec/modules/roxotAnalyticsAdapter_spec.js +25 -25
  447. package/test/spec/modules/scaleableAnalyticsAdapter_spec.js +5 -5
  448. package/test/spec/modules/seedtagBidAdapter_spec.js +56 -3
  449. package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +0 -1
  450. package/test/spec/modules/sonobiAnalyticsAdapter_spec.js +8 -7
  451. package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -2
  452. package/test/spec/modules/sovrnBidAdapter_spec.js +5 -5
  453. package/test/spec/modules/staqAnalyticsAdapter_spec.js +7 -7
  454. package/test/spec/modules/terceptAnalyticsAdapter_spec.js +7 -7
  455. package/test/spec/modules/trionBidAdapter_spec.js +1 -1
  456. package/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  457. package/test/spec/modules/userId_spec.js +4 -4
  458. package/test/spec/modules/videoModule/pbVideo_spec.js +3 -3
  459. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +22 -21
  460. package/test/spec/modules/yuktamediaAnalyticsAdapter_spec.js +33 -32
  461. package/test/spec/modules/zeta_global_sspAnalyticsAdapter_spec.js +8 -8
  462. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +1 -1
  463. package/test/spec/native_spec.js +19 -19
  464. package/test/spec/unit/adRendering_spec.js +14 -14
  465. package/test/spec/unit/adUnits_spec.js +1 -1
  466. package/test/spec/unit/core/adapterManager_spec.js +99 -59
  467. package/test/spec/unit/core/bidderFactory_spec.js +6 -6
  468. package/test/spec/unit/core/targeting_spec.js +47 -47
  469. package/test/spec/unit/pbjs_api_spec.js +81 -81
  470. package/test/spec/unit/secureCreatives_spec.js +27 -27
  471. package/test/spec/utils_spec.js +2 -2
  472. package/src/constants.json +0 -196
@@ -15,7 +15,8 @@ const GVLID = 855;
15
15
  const DEFAULT_VAST_VERSION = 'vast4'
16
16
  const MAXIMUM_DEALS_LIMIT = 5;
17
17
  const VALID_BID_TYPES = ['netBid', 'grossBid'];
18
- const META_DATA_KEY = 'adn.metaData';
18
+ const METADATA_KEY = 'adn.metaData';
19
+ const METADATA_KEY_SEPARATOR = '@@@';
19
20
 
20
21
  export const misc = {
21
22
  getUnixTimestamp: function (addDays, asMinutes) {
@@ -28,23 +29,28 @@ const storageTool = (function () {
28
29
  const storage = getStorageManager({ bidderCode: BIDDER_CODE });
29
30
  let metaInternal;
30
31
 
31
- const getMetaInternal = function () {
32
+ const getMetaDataFromLocalStorage = function (pNetwork) {
32
33
  if (!storage.localStorageIsEnabled()) {
33
34
  return [];
34
35
  }
35
36
 
36
37
  let parsedJson;
37
38
  try {
38
- parsedJson = JSON.parse(storage.getDataFromLocalStorage(META_DATA_KEY));
39
+ parsedJson = JSON.parse(storage.getDataFromLocalStorage(METADATA_KEY));
39
40
  } catch (e) {
40
41
  return [];
41
42
  }
42
43
 
44
+ let network = pNetwork;
45
+ if (Array.isArray(pNetwork)) {
46
+ network = (pNetwork.find((p) => p.network) || {}).network;
47
+ }
48
+
43
49
  let filteredEntries = parsedJson ? parsedJson.filter((datum) => {
44
50
  if (datum.key === 'voidAuIds' && Array.isArray(datum.value)) {
45
51
  return true;
46
52
  }
47
- return datum.key && datum.value && datum.exp && datum.exp > misc.getUnixTimestamp();
53
+ return datum.key && datum.value && datum.exp && datum.exp > misc.getUnixTimestamp() && (!network || network === datum.network);
48
54
  }) : [];
49
55
  const voidAuIdsEntry = filteredEntries.find(entry => entry.key === 'voidAuIds');
50
56
  if (voidAuIdsEntry) {
@@ -57,7 +63,7 @@ const storageTool = (function () {
57
63
  return filteredEntries;
58
64
  };
59
65
 
60
- const setMetaInternal = function (apiResponse) {
66
+ const setMetaInternal = function (apiRespMetadata, network) {
61
67
  if (!storage.localStorageIsEnabled()) {
62
68
  return;
63
69
  }
@@ -74,41 +80,48 @@ const storageTool = (function () {
74
80
  return notNewExistingAuIds.concat(apiIdsArray) || [];
75
81
  }
76
82
 
77
- const metaAsObj = getMetaInternal().reduce((a, entry) => ({ ...a, [entry.key]: { value: entry.value, exp: entry.exp } }), {});
78
- for (const key in apiResponse) {
83
+ // use the metadata key separator to distinguish the same key for different networks.
84
+ const metaAsObj = getMetaDataFromLocalStorage().reduce((a, entry) => ({ ...a, [entry.key + METADATA_KEY_SEPARATOR + (entry.network ? entry.network : '')]: { value: entry.value, exp: entry.exp, network: entry.network } }), {});
85
+ for (const key in apiRespMetadata) {
79
86
  if (key !== 'voidAuIds') {
80
- metaAsObj[key] = {
81
- value: apiResponse[key],
82
- exp: misc.getUnixTimestamp(100)
87
+ metaAsObj[key + METADATA_KEY_SEPARATOR + network] = {
88
+ value: apiRespMetadata[key],
89
+ exp: misc.getUnixTimestamp(100),
90
+ network: network
83
91
  }
84
92
  }
85
93
  }
86
- const currentAuIds = updateVoidAuIds(metaAsObj.voidAuIds || [], apiResponse.voidAuIds);
94
+ const currentAuIds = updateVoidAuIds(metaAsObj.voidAuIds || [], apiRespMetadata.voidAuIds);
87
95
  if (currentAuIds.length > 0) {
88
96
  metaAsObj.voidAuIds = { value: currentAuIds };
89
97
  }
90
98
  const metaDataForSaving = Object.entries(metaAsObj).map((entrySet) => {
91
- if (entrySet[0] === 'voidAuIds') {
99
+ if (entrySet.length !== 2) {
100
+ return {};
101
+ }
102
+ const key = entrySet[0].split(METADATA_KEY_SEPARATOR)[0];
103
+ if (key === 'voidAuIds') {
92
104
  return {
93
- key: entrySet[0],
105
+ key: key,
94
106
  value: entrySet[1].value
95
107
  };
96
108
  }
97
109
  return {
98
- key: entrySet[0],
110
+ key: key,
99
111
  value: entrySet[1].value,
100
- exp: entrySet[1].exp
112
+ exp: entrySet[1].exp,
113
+ network: entrySet[1].network
101
114
  }
102
- });
103
- storage.setDataInLocalStorage(META_DATA_KEY, JSON.stringify(metaDataForSaving));
115
+ }).filter(entry => entry.key);
116
+ storage.setDataInLocalStorage(METADATA_KEY, JSON.stringify(metaDataForSaving));
104
117
  };
105
118
 
106
- const getUsi = function (meta, ortb2, bidderRequest) {
119
+ const getUsi = function (meta, ortb2, bidParams) {
107
120
  // Fetch user id from parameters.
108
- for (let i = 0; i < (bidderRequest.bids || []).length; i++) {
109
- const bid = bidderRequest.bids[i];
110
- if (bid.params && bid.params.userId) {
111
- return bid.params.userId;
121
+ for (let i = 0; i < bidParams.length; i++) {
122
+ const bidParam = bidParams[i];
123
+ if (bidParam.userId) {
124
+ return bidParam.userId;
112
125
  }
113
126
  }
114
127
  if (ortb2 && ortb2.user && ortb2.user.id) {
@@ -136,8 +149,11 @@ const storageTool = (function () {
136
149
  return {
137
150
  refreshStorage: function (bidderRequest) {
138
151
  const ortb2 = bidderRequest.ortb2 || {};
139
- metaInternal = getMetaInternal().reduce((a, entry) => ({ ...a, [entry.key]: entry.value }), {});
140
- metaInternal.usi = getUsi(metaInternal, ortb2, bidderRequest);
152
+ const bidParams = (bidderRequest.bids || []).map((b) => {
153
+ return b.params ? b.params : {};
154
+ });
155
+ metaInternal = getMetaDataFromLocalStorage(bidParams).reduce((a, entry) => ({ ...a, [entry.key]: entry.value }), {});
156
+ metaInternal.usi = getUsi(metaInternal, ortb2, bidParams);
141
157
  if (!metaInternal.usi) {
142
158
  delete metaInternal.usi;
143
159
  }
@@ -148,15 +164,17 @@ const storageTool = (function () {
148
164
  }
149
165
  metaInternal.segments = getSegmentsFromOrtb(ortb2);
150
166
  },
151
- saveToStorage: function (serverData) {
152
- setMetaInternal(serverData);
167
+ saveToStorage: function (serverData, network) {
168
+ setMetaInternal(serverData, network);
153
169
  },
154
170
  getUrlRelatedData: function () {
171
+ // getting the URL information is theoretically not network-specific
155
172
  const { segments, usi, voidAuIdsArray } = metaInternal;
156
173
  return { segments, usi, voidAuIdsArray };
157
174
  },
158
- getPayloadRelatedData: function () {
159
- const { segments, usi, userId, voidAuIdsArray, voidAuIds, ...payloadRelatedData } = metaInternal;
175
+ getPayloadRelatedData: function (network) {
176
+ // getting the payload data should be network-specific
177
+ const { segments, usi, userId, voidAuIdsArray, voidAuIds, ...payloadRelatedData } = getMetaDataFromLocalStorage(network).reduce((a, entry) => ({...a, [entry.key]: entry.value}), {});
160
178
  return payloadRelatedData;
161
179
  }
162
180
  };
@@ -223,7 +241,7 @@ export const spec = {
223
241
  networks[network].adUnits = networks[network].adUnits || [];
224
242
  if (bidderRequest && bidderRequest.refererInfo) networks[network].context = bidderRequest.refererInfo.page;
225
243
 
226
- const payloadRelatedData = storageTool.getPayloadRelatedData();
244
+ const payloadRelatedData = storageTool.getPayloadRelatedData(bid.params.network);
227
245
  if (Object.keys(payloadRelatedData).length > 0) {
228
246
  networks[network].metaData = payloadRelatedData;
229
247
  }
@@ -239,7 +257,7 @@ export const spec = {
239
257
  }
240
258
 
241
259
  const requests = [];
242
- const networkKeys = Object.keys(networks)
260
+ const networkKeys = Object.keys(networks);
243
261
  for (let j = 0; j < networkKeys.length; j++) {
244
262
  const network = networkKeys[j];
245
263
  if (network.indexOf('_video') > -1) { queryParamsAndValues.push('tt=' + DEFAULT_VAST_VERSION) }
@@ -257,7 +275,7 @@ export const spec = {
257
275
 
258
276
  interpretResponse: function (serverResponse, bidRequest) {
259
277
  if (serverResponse.body.metaData) {
260
- storageTool.saveToStorage(serverResponse.body.metaData);
278
+ storageTool.saveToStorage(serverResponse.body.metaData, serverResponse.body.network);
261
279
  }
262
280
  const adUnits = serverResponse.body.adUnits;
263
281
 
@@ -1,16 +1,16 @@
1
1
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
2
- import CONSTANTS from '../src/constants.json';
2
+ import {EVENTS} from '../src/constants.js';
3
3
  import adapterManager from '../src/adapterManager.js';
4
4
  import {logInfo} from '../src/utils.js';
5
5
  import {find, findIndex} from '../src/polyfill.js';
6
6
 
7
7
  // Events used in adomik analytics adapter.
8
- const auctionInit = CONSTANTS.EVENTS.AUCTION_INIT;
9
- const auctionEnd = CONSTANTS.EVENTS.AUCTION_END;
10
- const bidRequested = CONSTANTS.EVENTS.BID_REQUESTED;
11
- const bidResponse = CONSTANTS.EVENTS.BID_RESPONSE;
12
- const bidWon = CONSTANTS.EVENTS.BID_WON;
13
- const bidTimeout = CONSTANTS.EVENTS.BID_TIMEOUT;
8
+ const auctionInit = EVENTS.AUCTION_INIT;
9
+ const auctionEnd = EVENTS.AUCTION_END;
10
+ const bidRequested = EVENTS.BID_REQUESTED;
11
+ const bidResponse = EVENTS.BID_RESPONSE;
12
+ const bidWon = EVENTS.BID_WON;
13
+ const bidTimeout = EVENTS.BID_TIMEOUT;
14
14
  const ua = navigator.userAgent;
15
15
 
16
16
  var _sampled = true;
package/modules/adpod.js CHANGED
@@ -38,7 +38,7 @@ import {config} from '../src/config.js';
38
38
  import {ADPOD} from '../src/mediaTypes.js';
39
39
  import {find, arrayFrom as from} from '../src/polyfill.js';
40
40
  import {auctionManager} from '../src/auctionManager.js';
41
- import CONSTANTS from '../src/constants.json';
41
+ import { TARGETING_KEYS } from '../src/constants.js';
42
42
 
43
43
  const TARGETING_KEY_PB_CAT_DUR = 'hb_pb_cat_dur';
44
44
  const TARGETING_KEY_CACHE_ID = 'hb_cache_id';
@@ -454,10 +454,10 @@ export function callPrebidCacheAfterAuction(bids, callback) {
454
454
  * @param {Object} bid
455
455
  */
456
456
  export function sortByPricePerSecond(a, b) {
457
- if (a.adserverTargeting[CONSTANTS.TARGETING_KEYS.PRICE_BUCKET] / a.video.durationBucket < b.adserverTargeting[CONSTANTS.TARGETING_KEYS.PRICE_BUCKET] / b.video.durationBucket) {
457
+ if (a.adserverTargeting[TARGETING_KEYS.PRICE_BUCKET] / a.video.durationBucket < b.adserverTargeting[TARGETING_KEYS.PRICE_BUCKET] / b.video.durationBucket) {
458
458
  return 1;
459
459
  }
460
- if (a.adserverTargeting[CONSTANTS.TARGETING_KEYS.PRICE_BUCKET] / a.video.durationBucket > b.adserverTargeting[CONSTANTS.TARGETING_KEYS.PRICE_BUCKET] / b.video.durationBucket) {
460
+ if (a.adserverTargeting[TARGETING_KEYS.PRICE_BUCKET] / a.video.durationBucket > b.adserverTargeting[TARGETING_KEYS.PRICE_BUCKET] / b.video.durationBucket) {
461
461
  return -1;
462
462
  }
463
463
  return 0;
@@ -2,7 +2,7 @@ import { parseSizesInput, uniques, buildUrl, logError } 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
  /**
@@ -22,29 +22,29 @@ var adxcgAnalyticsAdapter = Object.assign(adapter(
22
22
  }), {
23
23
  track ({eventType, args}) {
24
24
  switch (eventType) {
25
- case CONSTANTS.EVENTS.AUCTION_INIT:
25
+ case EVENTS.AUCTION_INIT:
26
26
  adxcgAnalyticsAdapter.context.events.auctionInit = mapAuctionInit(args);
27
27
  adxcgAnalyticsAdapter.context.auctionTimestamp = args.timestamp;
28
28
  break;
29
- case CONSTANTS.EVENTS.BID_REQUESTED:
29
+ case EVENTS.BID_REQUESTED:
30
30
  adxcgAnalyticsAdapter.context.auctionId = args.auctionId;
31
31
  adxcgAnalyticsAdapter.context.events.bidRequests.push(mapBidRequested(args));
32
32
  break;
33
- case CONSTANTS.EVENTS.BID_ADJUSTMENT:
33
+ case EVENTS.BID_ADJUSTMENT:
34
34
  break;
35
- case CONSTANTS.EVENTS.BID_TIMEOUT:
35
+ case EVENTS.BID_TIMEOUT:
36
36
  adxcgAnalyticsAdapter.context.events.bidTimeout = args.map(item => item.bidder).filter(uniques);
37
37
  break;
38
- case CONSTANTS.EVENTS.BIDDER_DONE:
38
+ case EVENTS.BIDDER_DONE:
39
39
  break;
40
- case CONSTANTS.EVENTS.BID_RESPONSE:
40
+ case EVENTS.BID_RESPONSE:
41
41
  adxcgAnalyticsAdapter.context.events.bidResponses.push(mapBidResponse(args, eventType));
42
42
  break;
43
- case CONSTANTS.EVENTS.BID_WON:
43
+ case EVENTS.BID_WON:
44
44
  let outData2 = {bidWons: mapBidWon(args)};
45
45
  send(outData2);
46
46
  break;
47
- case CONSTANTS.EVENTS.AUCTION_END:
47
+ case EVENTS.AUCTION_END:
48
48
  send(adxcgAnalyticsAdapter.context.events);
49
49
  break;
50
50
  }
@@ -87,7 +87,7 @@ function mapBidResponse (bidResponse, eventType) {
87
87
  currency: bidResponse.currency,
88
88
  netRevenue: bidResponse.netRevenue,
89
89
  timeToRespond: bidResponse.timeToRespond,
90
- bidId: eventType === CONSTANTS.EVENTS.BID_TIMEOUT ? bidResponse.bidId : bidResponse.requestId,
90
+ bidId: eventType === EVENTS.BID_TIMEOUT ? bidResponse.bidId : bidResponse.requestId,
91
91
  dealId: bidResponse.dealId,
92
92
  status: bidResponse.status,
93
93
  creativeId: bidResponse.creativeId.toString()
@@ -2,7 +2,7 @@ import {deepClone, logError, logInfo} 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 {includes} from '../src/polyfill.js';
7
7
 
8
8
  const analyticsType = 'endpoint';
@@ -12,15 +12,13 @@ let reqCountry = window.reqCountry || null;
12
12
 
13
13
  // Events needed
14
14
  const {
15
- EVENTS: {
16
- AUCTION_INIT,
17
- BID_REQUESTED,
18
- BID_TIMEOUT,
19
- BID_RESPONSE,
20
- BID_WON,
21
- AUCTION_END
22
- }
23
- } = CONSTANTS;
15
+ AUCTION_INIT,
16
+ BID_REQUESTED,
17
+ BID_TIMEOUT,
18
+ BID_RESPONSE,
19
+ BID_WON,
20
+ AUCTION_END
21
+ } = EVENTS;
24
22
 
25
23
  let timeoutBased = false;
26
24
  let requestSent = false;
@@ -9,7 +9,7 @@ import {
9
9
  } from '../src/utils.js';
10
10
  import { getGlobal } from '../src/prebidGlobal.js';
11
11
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
12
- import CONSTANTS from '../src/constants.json';
12
+ import { EVENTS } from '../src/constants.js';
13
13
  import adapterManager, { gdprDataHandler } from '../src/adapterManager.js';
14
14
  import { getRefererInfo } from '../src/refererDetection.js';
15
15
  import { config } from '../src/config.js';
@@ -22,10 +22,6 @@ const batchDelayInMs = 1000;
22
22
  const agmaURL = 'https://pbc.agma-analytics.de/v1';
23
23
  const pageViewId = generateUUID();
24
24
 
25
- const {
26
- EVENTS: { AUCTION_INIT },
27
- } = CONSTANTS;
28
-
29
25
  // Helper functions
30
26
  const getScreen = () => {
31
27
  const w = window;
@@ -212,7 +208,7 @@ agmaAnalytics.enableAnalytics = function (config = {}) {
212
208
  }
213
209
 
214
210
  agmaAnalytics.options = {
215
- triggerEvent: AUCTION_INIT,
211
+ triggerEvent: EVENTS.AUCTION_INIT,
216
212
  ...options,
217
213
  };
218
214
 
@@ -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 DEFAULT_SERVER = 'https://prebid-analytics.c.appier.net/v1';
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',
@@ -3,7 +3,7 @@ import { ajaxBuilder } from '../src/ajax.js'
3
3
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js'
4
4
  import adapterManager from '../src/adapterManager.js'
5
5
  import { getStorageManager } from '../src/storageManager.js'
6
- import CONSTANTS from '../src/constants.json'
6
+ import { EVENTS } from '../src/constants.js'
7
7
  import { MODULE_TYPE_ANALYTICS } from '../src/activities/modules.js'
8
8
  import {getRefererInfo} from '../src/refererDetection.js';
9
9
 
@@ -203,7 +203,7 @@ function handleEvent(eventType, eventArgs) {
203
203
  pmEvent.eventType = eventType
204
204
 
205
205
  switch (eventType) {
206
- case CONSTANTS.EVENTS.AUCTION_INIT: {
206
+ case EVENTS.AUCTION_INIT: {
207
207
  pmEvent.auctionId = eventArgs.auctionId
208
208
  pmEvent.timeout = eventArgs.timeout
209
209
  pmEvent.adUnits = eventArgs.adUnits && eventArgs.adUnits.map(trimAdUnit)
@@ -212,7 +212,7 @@ function handleEvent(eventType, eventArgs) {
212
212
  auctionTimeouts[pmEvent.auctionId] = pmEvent.timeout
213
213
  break
214
214
  }
215
- case CONSTANTS.EVENTS.AUCTION_END: {
215
+ case EVENTS.AUCTION_END: {
216
216
  pmEvent.auctionId = eventArgs.auctionId
217
217
  pmEvent.end = eventArgs.end
218
218
  pmEvent.start = eventArgs.start
@@ -222,15 +222,15 @@ function handleEvent(eventType, eventArgs) {
222
222
  pmEvent.end = Date.now()
223
223
  break
224
224
  }
225
- case CONSTANTS.EVENTS.BID_ADJUSTMENT: {
225
+ case EVENTS.BID_ADJUSTMENT: {
226
226
  break
227
227
  }
228
- case CONSTANTS.EVENTS.BID_TIMEOUT: {
228
+ case EVENTS.BID_TIMEOUT: {
229
229
  pmEvent.bidders = eventArgs && eventArgs.map ? eventArgs.map(trimBid) : eventArgs
230
230
  pmEvent.duration = auctionTimeouts[pmEvent.auctionId]
231
231
  break
232
232
  }
233
- case CONSTANTS.EVENTS.BID_REQUESTED: {
233
+ case EVENTS.BID_REQUESTED: {
234
234
  pmEvent.auctionId = eventArgs.auctionId
235
235
  pmEvent.bidderCode = eventArgs.bidderCode
236
236
  pmEvent.doneCbCallCount = eventArgs.doneCbCallCount
@@ -241,7 +241,7 @@ function handleEvent(eventType, eventArgs) {
241
241
  pmEvent.timeout = eventArgs.timeout
242
242
  break
243
243
  }
244
- case CONSTANTS.EVENTS.BID_RESPONSE: {
244
+ case EVENTS.BID_RESPONSE: {
245
245
  pmEvent.bidderCode = eventArgs.bidderCode
246
246
  pmEvent.width = eventArgs.width
247
247
  pmEvent.height = eventArgs.height
@@ -260,7 +260,7 @@ function handleEvent(eventType, eventArgs) {
260
260
  pmEvent.adserverTargeting = eventArgs.adserverTargeting
261
261
  break
262
262
  }
263
- case CONSTANTS.EVENTS.BID_WON: {
263
+ case EVENTS.BID_WON: {
264
264
  pmEvent.auctionId = eventArgs.auctionId
265
265
  pmEvent.adId = eventArgs.adId
266
266
  pmEvent.adserverTargeting = eventArgs.adserverTargeting
@@ -278,7 +278,7 @@ function handleEvent(eventType, eventArgs) {
278
278
  pmEvent.bidder = eventArgs.bidder
279
279
  break
280
280
  }
281
- case CONSTANTS.EVENTS.BIDDER_DONE: {
281
+ case EVENTS.BIDDER_DONE: {
282
282
  pmEvent.auctionId = eventArgs.auctionId
283
283
  pmEvent.auctionStart = eventArgs.auctionStart
284
284
  pmEvent.bidderCode = eventArgs.bidderCode
@@ -291,16 +291,16 @@ function handleEvent(eventType, eventArgs) {
291
291
  pmEvent.src = eventArgs.src
292
292
  break
293
293
  }
294
- case CONSTANTS.EVENTS.SET_TARGETING: {
294
+ case EVENTS.SET_TARGETING: {
295
295
  break
296
296
  }
297
- case CONSTANTS.EVENTS.REQUEST_BIDS: {
297
+ case EVENTS.REQUEST_BIDS: {
298
298
  break
299
299
  }
300
- case CONSTANTS.EVENTS.ADD_AD_UNITS: {
300
+ case EVENTS.ADD_AD_UNITS: {
301
301
  break
302
302
  }
303
- case CONSTANTS.EVENTS.AD_RENDER_FAILED: {
303
+ case EVENTS.AD_RENDER_FAILED: {
304
304
  pmEvent.bid = eventArgs.bid
305
305
  pmEvent.message = eventArgs.message
306
306
  pmEvent.reason = eventArgs.reason
@@ -317,7 +317,7 @@ function sendEvent(event) {
317
317
  eventQueue.push(event)
318
318
  logInfo(`${analyticsName} Event ${event.eventType}:`, event)
319
319
 
320
- if (event.eventType === CONSTANTS.EVENTS.AUCTION_END) {
320
+ if (event.eventType === EVENTS.AUCTION_END) {
321
321
  flush()
322
322
  }
323
323
  }
@@ -1,6 +1,6 @@
1
1
  import { logError, logInfo } 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 {ajax} from '../src/ajax.js';
6
6
  import {getStorageManager} from '../src/storageManager.js';
@@ -346,12 +346,12 @@ atsAnalyticsAdapter.enableAnalytics = function (config) {
346
346
  };
347
347
 
348
348
  atsAnalyticsAdapter.callHandler = function (evtype, args) {
349
- if (evtype === CONSTANTS.EVENTS.BID_REQUESTED) {
349
+ if (evtype === EVENTS.BID_REQUESTED) {
350
350
  handlerRequest = handlerRequest.concat(bidRequestedHandler(args));
351
- } else if (evtype === CONSTANTS.EVENTS.BID_RESPONSE) {
351
+ } else if (evtype === EVENTS.BID_RESPONSE) {
352
352
  handlerResponse.push(bidResponseHandler(args));
353
353
  }
354
- if (evtype === CONSTANTS.EVENTS.AUCTION_END) {
354
+ if (evtype === EVENTS.AUCTION_END) {
355
355
  let bidWonTimeout = atsAnalyticsAdapter.context.bidWonTimeout ? atsAnalyticsAdapter.context.bidWonTimeout : 2000;
356
356
  let events = [];
357
357
  setTimeout(() => {
@@ -4,7 +4,7 @@ import {
4
4
  logMessage
5
5
  } from '../src/utils.js';
6
6
 
7
- import CONSTANTS from '../src/constants.json';
7
+ import { EVENTS } from '../src/constants.js';
8
8
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
9
9
  import adapterManager from '../src/adapterManager.js';
10
10
  import { config } from '../src/config.js'
@@ -57,49 +57,49 @@ const processEvents = () => {
57
57
 
58
58
  try {
59
59
  switch (eventType) {
60
- case CONSTANTS.EVENTS.AUCTION_INIT:
60
+ case EVENTS.AUCTION_INIT:
61
61
  if (window.atmtdAnalytics && window.atmtdAnalytics.auctionInitHandler) {
62
62
  window.atmtdAnalytics.auctionInitHandler(args);
63
63
  } else {
64
64
  shouldTryAgain = true
65
65
  }
66
66
  break;
67
- case CONSTANTS.EVENTS.BID_REQUESTED:
67
+ case EVENTS.BID_REQUESTED:
68
68
  if (window.atmtdAnalytics && window.atmtdAnalytics.bidRequestedHandler) {
69
69
  window.atmtdAnalytics.bidRequestedHandler(args);
70
70
  }
71
71
  break;
72
- case CONSTANTS.EVENTS.BID_RESPONSE:
72
+ case EVENTS.BID_RESPONSE:
73
73
  if (window.atmtdAnalytics && window.atmtdAnalytics.bidResponseHandler) {
74
74
  window.atmtdAnalytics.bidResponseHandler(args);
75
75
  }
76
76
  break;
77
- case CONSTANTS.EVENTS.BID_REJECTED:
77
+ case EVENTS.BID_REJECTED:
78
78
  if (window.atmtdAnalytics && window.atmtdAnalytics.bidRejectedHandler) {
79
79
  window.atmtdAnalytics.bidRejectedHandler(args);
80
80
  }
81
81
  break;
82
- case CONSTANTS.EVENTS.BIDDER_DONE:
82
+ case EVENTS.BIDDER_DONE:
83
83
  if (window.atmtdAnalytics && window.atmtdAnalytics.bidderDoneHandler) {
84
84
  window.atmtdAnalytics.bidderDoneHandler(args);
85
85
  }
86
86
  break;
87
- case CONSTANTS.EVENTS.BID_WON:
87
+ case EVENTS.BID_WON:
88
88
  if (window.atmtdAnalytics && window.atmtdAnalytics.bidWonHandler) {
89
89
  window.atmtdAnalytics.bidWonHandler(args);
90
90
  }
91
91
  break;
92
- case CONSTANTS.EVENTS.NO_BID:
92
+ case EVENTS.NO_BID:
93
93
  if (window.atmtdAnalytics && window.atmtdAnalytics.noBidHandler) {
94
94
  window.atmtdAnalytics.noBidHandler(args);
95
95
  }
96
96
  break;
97
- case CONSTANTS.EVENTS.BID_TIMEOUT:
97
+ case EVENTS.BID_TIMEOUT:
98
98
  if (window.atmtdAnalytics && window.atmtdAnalytics.bidderTimeoutHandler) {
99
99
  window.atmtdAnalytics.bidderTimeoutHandler(args);
100
100
  }
101
101
  break;
102
- case CONSTANTS.EVENTS.AUCTION_DEBUG:
102
+ case EVENTS.AUCTION_DEBUG:
103
103
  if (window.atmtdAnalytics && window.atmtdAnalytics.auctionDebugHandler) {
104
104
  window.atmtdAnalytics.auctionDebugHandler(args);
105
105
  }
@@ -173,7 +173,7 @@ const initializeQueue = () => {
173
173
  timer = null;
174
174
  }
175
175
 
176
- if (args[0] === CONSTANTS.EVENTS.AUCTION_INIT) {
176
+ if (args[0] === EVENTS.AUCTION_INIT) {
177
177
  const timeout = parseInt(config.getConfig('bidderTimeout')) + 1500
178
178
  timer = setTimeout(() => {
179
179
  self.processEvents()
@@ -198,7 +198,7 @@ let atmtdAdapter = Object.assign({}, baseAdapter, {
198
198
  track({eventType, args}) {
199
199
  const shouldNotPushToQueue = !self.qBeingUsed
200
200
  switch (eventType) {
201
- case CONSTANTS.EVENTS.AUCTION_INIT:
201
+ case EVENTS.AUCTION_INIT:
202
202
  if (window.atmtdAnalytics && window.atmtdAnalytics.auctionInitHandler && shouldNotPushToQueue) {
203
203
  self.prettyLog('status', 'Aggregator loaded, initialising auction through handlers');
204
204
  window.atmtdAnalytics.auctionInitHandler(args);
@@ -207,7 +207,7 @@ let atmtdAdapter = Object.assign({}, baseAdapter, {
207
207
  self.__atmtdAnalyticsQueue.push([eventType, args])
208
208
  }
209
209
  break;
210
- case CONSTANTS.EVENTS.BID_REQUESTED:
210
+ case EVENTS.BID_REQUESTED:
211
211
  if (window.atmtdAnalytics && window.atmtdAnalytics.bidRequestedHandler && shouldNotPushToQueue) {
212
212
  window.atmtdAnalytics.bidRequestedHandler(args);
213
213
  } else {
@@ -215,7 +215,7 @@ let atmtdAdapter = Object.assign({}, baseAdapter, {
215
215
  self.__atmtdAnalyticsQueue.push([eventType, args])
216
216
  }
217
217
  break;
218
- case CONSTANTS.EVENTS.BID_REJECTED:
218
+ case EVENTS.BID_REJECTED:
219
219
  if (window.atmtdAnalytics && window.atmtdAnalytics.bidRejectedHandler && shouldNotPushToQueue) {
220
220
  window.atmtdAnalytics.bidRejectedHandler(args);
221
221
  } else {
@@ -223,7 +223,7 @@ let atmtdAdapter = Object.assign({}, baseAdapter, {
223
223
  self.__atmtdAnalyticsQueue.push([eventType, args])
224
224
  }
225
225
  break;
226
- case CONSTANTS.EVENTS.BID_RESPONSE:
226
+ case EVENTS.BID_RESPONSE:
227
227
  if (window.atmtdAnalytics && window.atmtdAnalytics.bidResponseHandler && shouldNotPushToQueue) {
228
228
  window.atmtdAnalytics.bidResponseHandler(args);
229
229
  } else {
@@ -231,7 +231,7 @@ let atmtdAdapter = Object.assign({}, baseAdapter, {
231
231
  self.__atmtdAnalyticsQueue.push([eventType, args])
232
232
  }
233
233
  break;
234
- case CONSTANTS.EVENTS.BIDDER_DONE:
234
+ case EVENTS.BIDDER_DONE:
235
235
  if (window.atmtdAnalytics && window.atmtdAnalytics.bidderDoneHandler && shouldNotPushToQueue) {
236
236
  window.atmtdAnalytics.bidderDoneHandler(args);
237
237
  } else {
@@ -239,7 +239,7 @@ let atmtdAdapter = Object.assign({}, baseAdapter, {
239
239
  self.__atmtdAnalyticsQueue.push([eventType, args])
240
240
  }
241
241
  break;
242
- case CONSTANTS.EVENTS.BID_WON:
242
+ case EVENTS.BID_WON:
243
243
  if (window.atmtdAnalytics && window.atmtdAnalytics.bidWonHandler && shouldNotPushToQueue) {
244
244
  window.atmtdAnalytics.bidWonHandler(args);
245
245
  } else {
@@ -247,7 +247,7 @@ let atmtdAdapter = Object.assign({}, baseAdapter, {
247
247
  self.__atmtdAnalyticsQueue.push([eventType, args])
248
248
  }
249
249
  break;
250
- case CONSTANTS.EVENTS.NO_BID:
250
+ case EVENTS.NO_BID:
251
251
  if (window.atmtdAnalytics && window.atmtdAnalytics.noBidHandler && shouldNotPushToQueue) {
252
252
  window.atmtdAnalytics.noBidHandler(args);
253
253
  } else {
@@ -255,7 +255,7 @@ let atmtdAdapter = Object.assign({}, baseAdapter, {
255
255
  self.__atmtdAnalyticsQueue.push([eventType, args])
256
256
  }
257
257
  break;
258
- case CONSTANTS.EVENTS.AUCTION_DEBUG:
258
+ case EVENTS.AUCTION_DEBUG:
259
259
  if (window.atmtdAnalytics && window.atmtdAnalytics.auctionDebugHandler && shouldNotPushToQueue) {
260
260
  window.atmtdAnalytics.auctionDebugHandler(args);
261
261
  } else {
@@ -263,7 +263,7 @@ let atmtdAdapter = Object.assign({}, baseAdapter, {
263
263
  self.__atmtdAnalyticsQueue.push([eventType, args])
264
264
  }
265
265
  break;
266
- case CONSTANTS.EVENTS.BID_TIMEOUT:
266
+ case EVENTS.BID_TIMEOUT:
267
267
  if (window.atmtdAnalytics && window.atmtdAnalytics.bidderTimeoutHandler && shouldNotPushToQueue) {
268
268
  window.atmtdAnalytics.bidderTimeoutHandler(args);
269
269
  } else {