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
@@ -0,0 +1,140 @@
1
+ # Overview
2
+
3
+ ```
4
+ Module Name: Dailymotion Bid Adapter
5
+ Module Type: Bidder Adapter
6
+ Maintainer: ad-leo-engineering@dailymotion.com
7
+ ```
8
+
9
+ # Description
10
+
11
+ Dailymotion prebid adapter.
12
+
13
+ # Configuration options
14
+
15
+ Before calling this adapter, you need to set at least the API key in the bid parameters:
16
+
17
+ ```javascript
18
+ const adUnits = [
19
+ {
20
+ bids: [{
21
+ bidder: 'dailymotion',
22
+ params: {
23
+ apiKey: 'fake_api_key'
24
+ }
25
+ }]
26
+ }
27
+ ];
28
+ ```
29
+
30
+ `apiKey` is your publisher API key. For testing purpose, you can use "dailymotion-testing".
31
+
32
+ # Test Parameters
33
+
34
+ By setting the following bid parameters, you'll get a constant response to any request, to validate your adapter integration:
35
+
36
+ ```javascript
37
+ const adUnits = [
38
+ {
39
+ bids: [{
40
+ bidder: 'dailymotion',
41
+ params: {
42
+ apiKey: 'dailymotion-testing'
43
+ }
44
+ }]
45
+ }
46
+ ];
47
+ ```
48
+
49
+ Please note that failing to set these will result in the adapter not bidding at all.
50
+
51
+ # Sample video AdUnit
52
+
53
+ To allow better targeting, you should provide as much context about the video as possible.
54
+ There are two ways of doing this depending on if you're using Dailymotion player or a third party one.
55
+
56
+ If you are using the Dailymotion player, you should only provide the video `xid` in your ad unit, example:
57
+
58
+ ```javascript
59
+ const adUnits = [
60
+ {
61
+ bids: [{
62
+ bidder: 'dailymotion',
63
+ params: {
64
+ apiKey: 'dailymotion-testing'
65
+ }
66
+ }],
67
+ code: 'test-ad-unit',
68
+ mediaTypes: {
69
+ video: {
70
+ api: [2, 7],
71
+ context: 'instream',
72
+ playerSize: [ [1280, 720] ],
73
+ startDelay: 0,
74
+ xid: 'x123456' // Dailymotion infrastructure unique video ID
75
+ },
76
+ }
77
+ }
78
+ ];
79
+ ```
80
+
81
+ This will automatically fetch the most up-to-date information about the video.
82
+ If you provide any other metadata in addition to the `xid`, they will be ignored.
83
+
84
+ If you are using a third party video player, you should not provide any `xid` and instead fill the following members:
85
+
86
+ ```javascript
87
+ const adUnits = [
88
+ {
89
+ bids: [{
90
+ bidder: 'dailymotion',
91
+ params: {
92
+ apiKey: 'dailymotion-testing',
93
+ video: {
94
+ description: 'overriden video description'
95
+ }
96
+ }
97
+ }],
98
+ code: 'test-ad-unit',
99
+ mediaTypes: {
100
+ video: {
101
+ api: [2, 7],
102
+ context: 'instream',
103
+ description: 'this is a video description',
104
+ duration: 556,
105
+ iabcat2: ['6', '17'],
106
+ id: '54321',
107
+ lang: 'FR',
108
+ playerSize: [ [1280, 720] ],
109
+ private: false,
110
+ startDelay: 0,
111
+ tags: 'tag_1,tag_2,tag_3',
112
+ title: 'test video',
113
+ topics: 'topic_1, topic_2',
114
+ },
115
+ }
116
+ }
117
+ ];
118
+ ```
119
+
120
+ Each of the following video metadata fields can be added in mediaTypes.video or bids.params.video.
121
+ If a field exists in both places, it will be overridden by bids.params.video.
122
+
123
+ * `description` - Video description
124
+ * `duration` - Video duration in seconds
125
+ * `iabcat2` - List of IAB category IDs from the [2.0 taxonomy](https://github.com/InteractiveAdvertisingBureau/Taxonomies/blob/main/Content%20Taxonomies/Content%20Taxonomy%202.0.tsv)
126
+ * `id` - Video unique ID in host video infrastructure
127
+ * `lang` - ISO 639-1 code for main language used in the video
128
+ * `private` - True if video is not publicly available
129
+ * `tags` - Tags for the video, comma separated
130
+ * `title` - Video title
131
+ * `topics` - Main topics for the video, comma separated
132
+ * `xid` - Dailymotion video identifier (only applicable if using the Dailymotion player)
133
+
134
+ # Integrating the adapter
135
+
136
+ To use the adapter with any non-test request, you first need to ask an API key from Dailymotion. Please contact us through **DailymotionPrebid.js@dailymotion.com**.
137
+
138
+ You will then be able to use it within the bid parameters before making a bid request.
139
+
140
+ This API key will ensure proper identification of your inventory and allow you to get real bids.
@@ -12,7 +12,7 @@ import { Renderer } from '../src/Renderer.js';
12
12
  import { registerBidder } from '../src/adapters/bidderFactory.js';
13
13
  import { createBid } from '../src/bidfactory.js';
14
14
  import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';
15
- import CONSTANTS from '../src/constants.json';
15
+ import { STATUS } from '../src/constants.js';
16
16
  import { OUTSTREAM, INSTREAM } from '../src/video.js';
17
17
 
18
18
  /**
@@ -416,7 +416,7 @@ function buildBannerResponse(bidRequest, bidResponse) {
416
416
  if (bidRequest) {
417
417
  let bidResponse = createBid(1);
418
418
  placementCode = bidRequest.placementCode;
419
- bidRequest.status = CONSTANTS.STATUS.GOOD;
419
+ bidRequest.status = STATUS.GOOD;
420
420
  responseCPM = parseFloat(bidderBid.price);
421
421
  if (responseCPM === 0 || isNaN(responseCPM)) {
422
422
  let bid = createBid(2);
@@ -457,7 +457,7 @@ function buildNativeResponse(bidRequest, response) {
457
457
  if (bidRequest) {
458
458
  let bidResponse = createBid(1);
459
459
  placementCode = bidRequest.placementCode;
460
- bidRequest.status = CONSTANTS.STATUS.GOOD;
460
+ bidRequest.status = STATUS.GOOD;
461
461
  responseCPM = parseFloat(bidderBid.price);
462
462
  if (responseCPM === 0 || isNaN(responseCPM)) {
463
463
  let bid = createBid(2);
@@ -506,7 +506,7 @@ function buildVideoResponse(bidRequest, response) {
506
506
  if (bidRequest) {
507
507
  let bidResponse = createBid(1);
508
508
  placementCode = bidRequest.placementCode;
509
- bidRequest.status = CONSTANTS.STATUS.GOOD;
509
+ bidRequest.status = STATUS.GOOD;
510
510
  responseCPM = parseFloat(bidderBid.price);
511
511
  if (responseCPM === 0 || isNaN(responseCPM)) {
512
512
  let bid = createBid(2);
@@ -1,5 +1,5 @@
1
1
  import {deepClone, delayExecution} from '../../src/utils.js';
2
- import CONSTANTS from '../../src/constants.json';
2
+ import { STATUS } from '../../src/constants.js';
3
3
 
4
4
  export function makePbsInterceptor({createBid}) {
5
5
  return function pbsBidInterceptor(next, interceptBids, s2sBidRequest, bidRequests, ajax, {
@@ -17,7 +17,7 @@ export function makePbsInterceptor({createBid}) {
17
17
  function addBid(bid, bidRequest) {
18
18
  onBid({
19
19
  adUnit: bidRequest.adUnitCode,
20
- bid: Object.assign(createBid(CONSTANTS.STATUS.GOOD, bidRequest), bid)
20
+ bid: Object.assign(createBid(STATUS.GOOD, bidRequest), bid)
21
21
  })
22
22
  }
23
23
  bidRequests = bidRequests
@@ -20,7 +20,7 @@ import {getHook, submodule} from '../src/hook.js';
20
20
  import {auctionManager} from '../src/auctionManager.js';
21
21
  import {gdprDataHandler} from '../src/adapterManager.js';
22
22
  import * as events from '../src/events.js';
23
- import CONSTANTS from '../src/constants.json';
23
+ import { EVENTS } from '../src/constants.js';
24
24
  import {getPPID} from '../src/adserver.js';
25
25
  import {getRefererInfo} from '../src/refererDetection.js';
26
26
  import {CLIENT_SECTIONS} from '../src/fpd/oneClient.js';
@@ -360,7 +360,7 @@ function getCustParams(bid, options, urlCustParams) {
360
360
  );
361
361
 
362
362
  // TODO: WTF is this? just firing random events, guessing at the argument, hoping noone notices?
363
- events.emit(CONSTANTS.EVENTS.SET_TARGETING, {[adUnit.code]: prebidTargetingSet});
363
+ events.emit(EVENTS.SET_TARGETING, {[adUnit.code]: prebidTargetingSet});
364
364
 
365
365
  // merge the prebid + publisher targeting sets
366
366
  const publisherTargetingSet = deepAccess(options, 'params.cust_params');
@@ -1,7 +1,7 @@
1
1
  import {config} from '../src/config.js';
2
2
  import {auctionManager} from '../src/auctionManager.js';
3
3
  import {timedBidResponseHook} from '../src/utils/perfMetrics.js';
4
- import CONSTANTS from '../src/constants.json';
4
+ import { REJECTION_REASON } from '../src/constants.js';
5
5
  import {getHook} from '../src/hook.js';
6
6
  import {logInfo, logWarn} from '../src/utils.js';
7
7
 
@@ -18,18 +18,18 @@ export const addBidResponseHook = timedBidResponseHook('dsa', function (fn, adUn
18
18
  if (!bid.meta?.dsa) {
19
19
  if (dsaRequest.dsarequired === 1) {
20
20
  // request says dsa is supported; response does not have dsa info; warn about it
21
- logWarn(`dsaControl: ${CONSTANTS.REJECTION_REASON.DSA_REQUIRED}; will still be accepted as regs.ext.dsa.dsarequired = 1`, bid);
21
+ logWarn(`dsaControl: ${REJECTION_REASON.DSA_REQUIRED}; will still be accepted as regs.ext.dsa.dsarequired = 1`, bid);
22
22
  } else if ([2, 3].includes(dsaRequest.dsarequired)) {
23
23
  // request says dsa is required; response does not have dsa info; reject it
24
- rejectReason = CONSTANTS.REJECTION_REASON.DSA_REQUIRED;
24
+ rejectReason = REJECTION_REASON.DSA_REQUIRED;
25
25
  }
26
26
  } else {
27
27
  if (dsaRequest.pubrender === 0 && bid.meta.dsa.adrender === 0) {
28
28
  // request says publisher can't render; response says advertiser won't; reject it
29
- rejectReason = CONSTANTS.REJECTION_REASON.DSA_MISMATCH;
29
+ rejectReason = REJECTION_REASON.DSA_MISMATCH;
30
30
  } else if (dsaRequest.pubrender === 2 && bid.meta.dsa.adrender === 1) {
31
31
  // request says publisher will render; response says advertiser will; reject it
32
- rejectReason = CONSTANTS.REJECTION_REASON.DSA_MISMATCH;
32
+ rejectReason = REJECTION_REASON.DSA_MISMATCH;
33
33
  }
34
34
  }
35
35
  }
@@ -2,7 +2,7 @@ import { 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
 
7
7
  const analyticsType = 'endpoint';
8
8
  const EPL_HOST = 'https://ads.us.e-planning.net/hba/1/';
@@ -64,18 +64,18 @@ function bidTimeoutHandler(args) {
64
64
  function callHandler(evtype, args) {
65
65
  let handler = null;
66
66
 
67
- if (evtype === CONSTANTS.EVENTS.AUCTION_INIT) {
67
+ if (evtype === EVENTS.AUCTION_INIT) {
68
68
  handler = auctionInitHandler;
69
69
  eplAnalyticsAdapter.context.events = [];
70
- } else if (evtype === CONSTANTS.EVENTS.AUCTION_END) {
70
+ } else if (evtype === EVENTS.AUCTION_END) {
71
71
  handler = auctionEndHandler;
72
- } else if (evtype === CONSTANTS.EVENTS.BID_REQUESTED) {
72
+ } else if (evtype === EVENTS.BID_REQUESTED) {
73
73
  handler = bidRequestedHandler;
74
- } else if (evtype === CONSTANTS.EVENTS.BID_RESPONSE) {
74
+ } else if (evtype === EVENTS.BID_RESPONSE) {
75
75
  handler = bidResponseHandler
76
- } else if (evtype === CONSTANTS.EVENTS.BID_TIMEOUT) {
76
+ } else if (evtype === EVENTS.BID_TIMEOUT) {
77
77
  handler = bidTimeoutHandler;
78
- } else if (evtype === CONSTANTS.EVENTS.BID_WON) {
78
+ } else if (evtype === EVENTS.BID_WON) {
79
79
  handler = bidWonHandler;
80
80
  }
81
81
 
@@ -95,7 +95,7 @@ var eplAnalyticsAdapter = Object.assign(adapter(
95
95
  callHandler(eventType, args);
96
96
  }
97
97
 
98
- if (eventType === CONSTANTS.EVENTS.AUCTION_END) {
98
+ if (eventType === EVENTS.AUCTION_END) {
99
99
  try {
100
100
  let strjson = JSON.stringify(eplAnalyticsAdapter.context.events);
101
101
  ajax(eplAnalyticsAdapter.context.host + eplAnalyticsAdapter.context.ci + '?d=' + encodeURIComponent(strjson));
@@ -3,7 +3,7 @@ import { ajax } 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
 
9
9
  const MODULE_CODE = 'finteza';
@@ -330,16 +330,16 @@ function prepareTrackData(evtype, args) {
330
330
  let prepareParams = null;
331
331
 
332
332
  switch (evtype) {
333
- case CONSTANTS.EVENTS.BID_REQUESTED:
333
+ case EVENTS.BID_REQUESTED:
334
334
  prepareParams = prepareBidRequestedParams;
335
335
  break;
336
- case CONSTANTS.EVENTS.BID_RESPONSE:
336
+ case EVENTS.BID_RESPONSE:
337
337
  prepareParams = prepareBidResponseParams;
338
338
  break;
339
- case CONSTANTS.EVENTS.BID_WON:
339
+ case EVENTS.BID_WON:
340
340
  prepareParams = prepareBidWonParams;
341
341
  break;
342
- case CONSTANTS.EVENTS.BID_TIMEOUT:
342
+ case EVENTS.BID_TIMEOUT:
343
343
  prepareParams = prepareBidTimeoutParams;
344
344
  break;
345
345
  }
@@ -6,7 +6,7 @@ import {deepAccess, logError, logWarn} from '../src/utils.js';
6
6
  import {config} from '../src/config.js';
7
7
  import adapterManager, {gdprDataHandler} from '../src/adapterManager.js';
8
8
  import * as events from '../src/events.js';
9
- import CONSTANTS from '../src/constants.json';
9
+ import { EVENTS } from '../src/constants.js';
10
10
  import {GDPR_GVLIDS, VENDORLESS_GVLID, FIRST_PARTY_GVLID} from '../src/consentHandler.js';
11
11
  import {
12
12
  MODULE_TYPE_ANALYTICS,
@@ -292,11 +292,11 @@ function emitTCF2FinalResults() {
292
292
  geoBlocked: formatSet(geoBlocked)
293
293
  };
294
294
 
295
- events.emit(CONSTANTS.EVENTS.TCF2_ENFORCEMENT, tcf2FinalResults);
295
+ events.emit(EVENTS.TCF2_ENFORCEMENT, tcf2FinalResults);
296
296
  [storageBlocked, biddersBlocked, analyticsBlocked, ufpdBlocked, eidsBlocked, geoBlocked].forEach(el => el.clear());
297
297
  }
298
298
 
299
- events.on(CONSTANTS.EVENTS.AUCTION_END, emitTCF2FinalResults);
299
+ events.on(EVENTS.AUCTION_END, emitTCF2FinalResults);
300
300
 
301
301
  /**
302
302
  * A configuration function that initializes some module variables, as well as adds hooks
@@ -19,7 +19,7 @@ import { submodule } from '../src/hook.js';
19
19
  import { ajax } from '../src/ajax.js';
20
20
  import { generateUUID, createInvisibleIframe, insertElement, isEmpty, logError } from '../src/utils.js';
21
21
  import * as events from '../src/events.js';
22
- import CONSTANTS from '../src/constants.json';
22
+ import { EVENTS } from '../src/constants.js';
23
23
  import { loadExternalScript } from '../src/adloader.js';
24
24
  import { auctionManager } from '../src/auctionManager.js';
25
25
  import { getRefererInfo } from '../src/refererDetection.js';
@@ -237,7 +237,7 @@ function fireBillableEventsForApplicableBids(params) {
237
237
  let data = message.data;
238
238
  if (isBillingMessage(data, params)) {
239
239
  let winningBid = auctionManager.findBidByAdId(data.adId);
240
- events.emit(CONSTANTS.EVENTS.BILLABLE_EVENT, {
240
+ events.emit(EVENTS.BILLABLE_EVENT, {
241
241
  vendor: SUBMODULE_NAME,
242
242
  billingId: data.impressionId,
243
243
  type: winningBid ? 'impression' : data.type,
@@ -1,23 +1,21 @@
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
- import {deepClone, generateUUID, logError, logInfo, logWarn} from '../src/utils.js';
5
+ import {deepClone, generateUUID, logError, logInfo, logWarn, getParameterByName} from '../src/utils.js';
6
6
 
7
7
  const analyticsType = 'endpoint';
8
8
 
9
- export const ANALYTICS_VERSION = '2.2.0';
9
+ export const ANALYTICS_VERSION = '2.2.1';
10
10
 
11
11
  const ANALYTICS_SERVER = 'https://a.greenbids.ai';
12
12
 
13
13
  const {
14
- EVENTS: {
15
- AUCTION_INIT,
16
- AUCTION_END,
17
- BID_TIMEOUT,
18
- BILLABLE_EVENT,
19
- }
20
- } = CONSTANTS;
14
+ AUCTION_INIT,
15
+ AUCTION_END,
16
+ BID_TIMEOUT,
17
+ BILLABLE_EVENT,
18
+ } = EVENTS;
21
19
 
22
20
  export const BIDDER_STATUS = {
23
21
  BID: 'bid',
@@ -28,6 +26,11 @@ export const BIDDER_STATUS = {
28
26
  const analyticsOptions = {};
29
27
 
30
28
  export const isSampled = function(greenbidsId, samplingRate, exploratorySamplingSplit) {
29
+ const isSamplingForced = getParameterByName('greenbids_force_sampling');
30
+ if (isSamplingForced) {
31
+ logInfo('Greenbids Analytics: sampling flag detected, forcing analytics');
32
+ return true;
33
+ }
31
34
  if (samplingRate < 0 || samplingRate > 1) {
32
35
  logWarn('Sampling rate must be between 0 and 1');
33
36
  return true;
@@ -2,7 +2,7 @@ import { logError, deepClone, generateUUID, deepSetValue, deepAccess } from '../
2
2
  import { ajax } from '../src/ajax.js';
3
3
  import { submodule } from '../src/hook.js';
4
4
  import * as events from '../src/events.js';
5
- import CONSTANTS from '../src/constants.json';
5
+ import { EVENTS } from '../src/constants.js';
6
6
 
7
7
  const MODULE_NAME = 'greenbidsRtdProvider';
8
8
  const MODULE_VERSION = '2.0.0';
@@ -28,7 +28,7 @@ function onAuctionInitEvent(auctionDetails) {
28
28
  let greenbidsId = deepAccess(auctionDetails.adUnits[0], 'ortb2Imp.ext.greenbids.greenbidsId', defaultId);
29
29
  /* greenbids was successfully called so we emit the event */
30
30
  if (greenbidsId !== defaultId) {
31
- events.emit(CONSTANTS.EVENTS.BILLABLE_EVENT, {
31
+ events.emit(EVENTS.BILLABLE_EVENT, {
32
32
  type: 'auction',
33
33
  billingId: generateUUID(),
34
34
  auctionId: auctionDetails.auctionId,
@@ -5,7 +5,7 @@ import { ajax } from '../src/ajax.js';
5
5
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
6
6
  import adapterManager from '../src/adapterManager.js';
7
7
  import * as utils from '../src/utils.js';
8
- import CONSTANTS from '../src/constants.json';
8
+ import { EVENTS } from '../src/constants.js';
9
9
  import {getStorageManager} from '../src/storageManager.js';
10
10
  import {getRefererInfo} from '../src/refererDetection.js';
11
11
  import {logError, logInfo} from '../src/utils.js';
@@ -35,70 +35,70 @@ let growthCodeAnalyticsAdapter = Object.assign(adapter({url: url, analyticsType}
35
35
  let data = {};
36
36
  if (!trackEvents.includes(eventType)) return;
37
37
  switch (eventType) {
38
- case CONSTANTS.EVENTS.AUCTION_INIT: {
38
+ case EVENTS.AUCTION_INIT: {
39
39
  data = eventData;
40
40
  startAuction = data.timestamp;
41
41
  bidRequestTimeout = data.timeout;
42
42
  break;
43
43
  }
44
44
 
45
- case CONSTANTS.EVENTS.AUCTION_END: {
45
+ case EVENTS.AUCTION_END: {
46
46
  data = eventData;
47
47
  data.start = startAuction;
48
48
  data.end = Date.now();
49
49
  break;
50
50
  }
51
51
 
52
- case CONSTANTS.EVENTS.BID_ADJUSTMENT: {
52
+ case EVENTS.BID_ADJUSTMENT: {
53
53
  data.bidders = eventData;
54
54
  break;
55
55
  }
56
56
 
57
- case CONSTANTS.EVENTS.BID_TIMEOUT: {
57
+ case EVENTS.BID_TIMEOUT: {
58
58
  data.bidders = eventData;
59
59
  data.duration = bidRequestTimeout;
60
60
  break;
61
61
  }
62
62
 
63
- case CONSTANTS.EVENTS.BID_REQUESTED: {
63
+ case EVENTS.BID_REQUESTED: {
64
64
  data = eventData;
65
65
  break;
66
66
  }
67
67
 
68
- case CONSTANTS.EVENTS.BID_RESPONSE: {
68
+ case EVENTS.BID_RESPONSE: {
69
69
  data = eventData;
70
70
  delete data.ad;
71
71
  break;
72
72
  }
73
73
 
74
- case CONSTANTS.EVENTS.BID_WON: {
74
+ case EVENTS.BID_WON: {
75
75
  data = eventData;
76
76
  delete data.ad;
77
77
  delete data.adUrl;
78
78
  break;
79
79
  }
80
80
 
81
- case CONSTANTS.EVENTS.BIDDER_DONE: {
81
+ case EVENTS.BIDDER_DONE: {
82
82
  data = eventData;
83
83
  break;
84
84
  }
85
85
 
86
- case CONSTANTS.EVENTS.SET_TARGETING: {
86
+ case EVENTS.SET_TARGETING: {
87
87
  data.targetings = eventData;
88
88
  break;
89
89
  }
90
90
 
91
- case CONSTANTS.EVENTS.REQUEST_BIDS: {
91
+ case EVENTS.REQUEST_BIDS: {
92
92
  data = eventData;
93
93
  break;
94
94
  }
95
95
 
96
- case CONSTANTS.EVENTS.ADD_AD_UNITS: {
96
+ case EVENTS.ADD_AD_UNITS: {
97
97
  data = eventData;
98
98
  break;
99
99
  }
100
100
 
101
- case CONSTANTS.EVENTS.NO_BID: {
101
+ case EVENTS.NO_BID: {
102
102
  data = eventData
103
103
  break;
104
104
  }
@@ -170,7 +170,7 @@ function sendEvent(event) {
170
170
  eventQueue.push(event);
171
171
  logInfo(MODULE_NAME + 'Analytics Event: ' + event);
172
172
 
173
- if ((event.eventType === CONSTANTS.EVENTS.AUCTION_END) || (event.eventType === CONSTANTS.EVENTS.BID_WON)) {
173
+ if ((event.eventType === EVENTS.AUCTION_END) || (event.eventType === EVENTS.BID_WON)) {
174
174
  logToServer();
175
175
  }
176
176
  }
@@ -2,7 +2,7 @@ import { ajax } from '../src/ajax.js';
2
2
  import adapter from '../libraries/analyticsAdapter/AnalyticsAdapter.js';
3
3
  import adapterManager from '../src/adapterManager.js';
4
4
  import * as utils from '../src/utils.js';
5
- import CONSTANTS from '../src/constants.json';
5
+ import { EVENTS } from '../src/constants.js';
6
6
  import {getStorageManager} from '../src/storageManager.js';
7
7
  import {getRefererInfo} from '../src/refererDetection.js';
8
8
  import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
@@ -57,70 +57,70 @@ let hadronAnalyticsAdapter = Object.assign(adapter({url: HADRON_ANALYTICS_URL, a
57
57
  var data = {};
58
58
  if (!eventsToTrack.includes(eventType)) return;
59
59
  switch (eventType) {
60
- case CONSTANTS.EVENTS.AUCTION_INIT: {
60
+ case EVENTS.AUCTION_INIT: {
61
61
  data = args;
62
62
  startAuction = data.timestamp;
63
63
  bidRequestTimeout = data.timeout;
64
64
  break;
65
65
  }
66
66
 
67
- case CONSTANTS.EVENTS.AUCTION_END: {
67
+ case EVENTS.AUCTION_END: {
68
68
  data = args;
69
69
  data.start = startAuction;
70
70
  data.end = Date.now();
71
71
  break;
72
72
  }
73
73
 
74
- case CONSTANTS.EVENTS.BID_ADJUSTMENT: {
74
+ case EVENTS.BID_ADJUSTMENT: {
75
75
  data.bidders = args;
76
76
  break;
77
77
  }
78
78
 
79
- case CONSTANTS.EVENTS.BID_TIMEOUT: {
79
+ case EVENTS.BID_TIMEOUT: {
80
80
  data.bidders = args;
81
81
  data.duration = bidRequestTimeout;
82
82
  break;
83
83
  }
84
84
 
85
- case CONSTANTS.EVENTS.BID_REQUESTED: {
85
+ case EVENTS.BID_REQUESTED: {
86
86
  data = args;
87
87
  break;
88
88
  }
89
89
 
90
- case CONSTANTS.EVENTS.BID_RESPONSE: {
90
+ case EVENTS.BID_RESPONSE: {
91
91
  data = args;
92
92
  delete data.ad;
93
93
  break;
94
94
  }
95
95
 
96
- case CONSTANTS.EVENTS.BID_WON: {
96
+ case EVENTS.BID_WON: {
97
97
  data = args;
98
98
  delete data.ad;
99
99
  delete data.adUrl;
100
100
  break;
101
101
  }
102
102
 
103
- case CONSTANTS.EVENTS.BIDDER_DONE: {
103
+ case EVENTS.BIDDER_DONE: {
104
104
  data = args;
105
105
  break;
106
106
  }
107
107
 
108
- case CONSTANTS.EVENTS.SET_TARGETING: {
108
+ case EVENTS.SET_TARGETING: {
109
109
  data.targetings = args;
110
110
  break;
111
111
  }
112
112
 
113
- case CONSTANTS.EVENTS.REQUEST_BIDS: {
113
+ case EVENTS.REQUEST_BIDS: {
114
114
  data = args;
115
115
  break;
116
116
  }
117
117
 
118
- case CONSTANTS.EVENTS.ADD_AD_UNITS: {
118
+ case EVENTS.ADD_AD_UNITS: {
119
119
  data = args;
120
120
  break;
121
121
  }
122
122
 
123
- case CONSTANTS.EVENTS.AD_RENDER_FAILED: {
123
+ case EVENTS.AD_RENDER_FAILED: {
124
124
  data = args;
125
125
  break;
126
126
  }
@@ -186,7 +186,7 @@ function sendEvent(event) {
186
186
  eventQueue.push(event);
187
187
  utils.logInfo(`HADRON_ANALYTICS_EVENT ${event.eventType} `, event);
188
188
 
189
- if (event.eventType === CONSTANTS.EVENTS.AUCTION_END) {
189
+ if (event.eventType === EVENTS.AUCTION_END) {
190
190
  flush();
191
191
  }
192
192
  }
@@ -6,7 +6,7 @@ import {
6
6
  triggerPixel,
7
7
  } from '../src/utils.js';
8
8
  import * as events from '../src/events.js';
9
- import CONSTANTS from '../src/constants.json';
9
+ import { EVENTS } from '../src/constants.js';
10
10
  import {BANNER} from '../src/mediaTypes.js';
11
11
 
12
12
  import {registerBidder} from '../src/adapters/bidderFactory.js';
@@ -19,7 +19,7 @@ const TIME_TO_LIVE = 300
19
19
  const TMAX = 500
20
20
  let wurlMap = {}
21
21
 
22
- events.on(CONSTANTS.EVENTS.BID_WON, bidWonHandler)
22
+ events.on(EVENTS.BID_WON, bidWonHandler)
23
23
 
24
24
  export const spec = {
25
25
  code: BIDDER_CODE,
@@ -1,5 +1,5 @@
1
1
  import buildAdapter 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 { ajax } from '../src/ajax.js';
5
5
  import { logInfo, logError } from '../src/utils.js';
@@ -7,14 +7,12 @@ import * as events from '../src/events.js';
7
7
  import {getGlobal} from '../src/prebidGlobal.js';
8
8
 
9
9
  const {
10
- EVENTS: {
11
- AUCTION_END,
12
- TCF2_ENFORCEMENT,
13
- BID_WON,
14
- BID_VIEWABLE,
15
- AD_RENDER_FAILED
16
- }
17
- } = CONSTANTS
10
+ AUCTION_END,
11
+ TCF2_ENFORCEMENT,
12
+ BID_WON,
13
+ BID_VIEWABLE,
14
+ AD_RENDER_FAILED
15
+ } = EVENTS
18
16
 
19
17
  const GVLID = 131;
20
18