prebid.js 7.43.0 → 7.44.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 (401) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/adagioBidAdapter.js +1 -1
  4. package/dist/adbookpspBidAdapter.js +1 -1
  5. package/dist/adgenerationBidAdapter.js +1 -1
  6. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  7. package/dist/admixerIdSystem.js +1 -1
  8. package/dist/adnuntiusBidAdapter.js +1 -1
  9. package/dist/adqueryBidAdapter.js +1 -1
  10. package/dist/adqueryIdSystem.js +1 -1
  11. package/dist/adrelevantisBidAdapter.js +1 -1
  12. package/dist/adrinoBidAdapter.js +1 -1
  13. package/dist/adriverIdSystem.js +1 -1
  14. package/dist/adsinteractiveBidAdapter.js +1 -0
  15. package/dist/adtrgtmeBidAdapter.js +1 -1
  16. package/dist/adxcgBidAdapter.js +1 -1
  17. package/dist/adyoulikeBidAdapter.js +1 -1
  18. package/dist/aidemBidAdapter.js +1 -1
  19. package/dist/airgridRtdProvider.js +1 -1
  20. package/dist/ajaBidAdapter.js +1 -1
  21. package/dist/akamaiDapRtdProvider.js +1 -1
  22. package/dist/amxBidAdapter.js +1 -1
  23. package/dist/amxIdSystem.js +1 -1
  24. package/dist/appierAnalyticsAdapter.js +1 -1
  25. package/dist/appnexusBidAdapter.js +1 -1
  26. package/dist/apstreamBidAdapter.js +1 -1
  27. package/dist/asoBidAdapter.js +1 -1
  28. package/dist/atsAnalyticsAdapter.js +1 -1
  29. package/dist/audiencerunBidAdapter.js +1 -1
  30. package/dist/axonixBidAdapter.js +1 -1
  31. package/dist/bedigitechBidAdapter.js +1 -0
  32. package/dist/bidglassBidAdapter.js +1 -1
  33. package/dist/big-richmediaBidAdapter.js +1 -1
  34. package/dist/bluebillywigBidAdapter.js +1 -1
  35. package/dist/blueconicRtdProvider.js +1 -1
  36. package/dist/bridgewellBidAdapter.js +1 -1
  37. package/dist/brightMountainMediaBidAdapter.js +1 -1
  38. package/dist/brightcomBidAdapter.js +1 -1
  39. package/dist/brightcomSSPBidAdapter.js +1 -1
  40. package/dist/browsiRtdProvider.js +1 -1
  41. package/dist/byDataAnalyticsAdapter.js +1 -1
  42. package/dist/carodaBidAdapter.js +1 -1
  43. package/dist/chtnwBidAdapter.js +1 -1
  44. package/dist/concertBidAdapter.js +1 -1
  45. package/dist/connectadBidAdapter.js +1 -1
  46. package/dist/consumableBidAdapter.js +1 -1
  47. package/dist/conversantAnalyticsAdapter.js +1 -1
  48. package/dist/conversantBidAdapter.js +1 -1
  49. package/dist/craftBidAdapter.js +1 -1
  50. package/dist/criteoBidAdapter.js +1 -1
  51. package/dist/criteoIdSystem.js +1 -1
  52. package/dist/cwireBidAdapter.js +1 -1
  53. package/dist/czechAdIdSystem.js +1 -1
  54. package/dist/dacIdSystem.js +1 -1
  55. package/dist/deepintentDpesIdSystem.js +1 -1
  56. package/dist/dependencies.json +3 -0
  57. package/dist/discoveryBidAdapter.js +1 -1
  58. package/dist/dspxBidAdapter.js +1 -1
  59. package/dist/eplanningBidAdapter.js +1 -1
  60. package/dist/feedadBidAdapter.js +1 -1
  61. package/dist/finativeBidAdapter.js +1 -1
  62. package/dist/fintezaAnalyticsAdapter.js +1 -1
  63. package/dist/fledgeForGpt.js +1 -1
  64. package/dist/freewheel-sspBidAdapter.js +1 -1
  65. package/dist/ftrackIdSystem.js +1 -1
  66. package/dist/gdprEnforcement.js +1 -1
  67. package/dist/glimpseBidAdapter.js +1 -1
  68. package/dist/gmosspBidAdapter.js +1 -1
  69. package/dist/gnetBidAdapter.js +1 -1
  70. package/dist/goldbachBidAdapter.js +1 -1
  71. package/dist/gravitoIdSystem.js +1 -1
  72. package/dist/greenbidsAnalyticsAdapter.js +1 -0
  73. package/dist/gridBidAdapter.js +1 -1
  74. package/dist/gridNMBidAdapter.js +1 -1
  75. package/dist/growthCodeAnalyticsAdapter.js +1 -1
  76. package/dist/growthCodeIdSystem.js +1 -1
  77. package/dist/gumgumBidAdapter.js +1 -1
  78. package/dist/h12mediaBidAdapter.js +1 -1
  79. package/dist/hadronAnalyticsAdapter.js +1 -1
  80. package/dist/hadronIdSystem.js +1 -1
  81. package/dist/hadronRtdProvider.js +1 -1
  82. package/dist/id5IdSystem.js +1 -1
  83. package/dist/idWardRtdProvider.js +1 -1
  84. package/dist/identityLinkIdSystem.js +1 -1
  85. package/dist/idxIdSystem.js +1 -1
  86. package/dist/imRtdProvider.js +1 -1
  87. package/dist/impactifyBidAdapter.js +1 -1
  88. package/dist/improvedigitalBidAdapter.js +1 -1
  89. package/dist/imuIdSystem.js +1 -1
  90. package/dist/inmarBidAdapter.js +1 -1
  91. package/dist/insticatorBidAdapter.js +1 -1
  92. package/dist/intentIqIdSystem.js +1 -1
  93. package/dist/invibesBidAdapter.js +1 -1
  94. package/dist/ixBidAdapter.js +1 -1
  95. package/dist/jixieBidAdapter.js +1 -1
  96. package/dist/justpremiumBidAdapter.js +1 -1
  97. package/dist/kargoBidAdapter.js +1 -1
  98. package/dist/konduitAnalyticsAdapter.js +1 -1
  99. package/dist/kueezBidAdapter.js +1 -1
  100. package/dist/kueezRtbBidAdapter.js +1 -1
  101. package/dist/kulturemediaBidAdapter.js +1 -1
  102. package/dist/lassoBidAdapter.js +1 -1
  103. package/dist/lifestreetBidAdapter.js +1 -1
  104. package/dist/liveIntentIdSystem.js +1 -1
  105. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  106. package/dist/logicadBidAdapter.js +1 -1
  107. package/dist/loglyliftBidAdapter.js +1 -1
  108. package/dist/lotamePanoramaIdSystem.js +1 -1
  109. package/dist/magniteAnalyticsAdapter.js +1 -1
  110. package/dist/malltvAnalyticsAdapter.js +1 -1
  111. package/dist/marsmediaBidAdapter.js +1 -1
  112. package/dist/mediafuseBidAdapter.js +1 -1
  113. package/dist/mediagoBidAdapter.js +1 -1
  114. package/dist/mediakeysBidAdapter.js +1 -1
  115. package/dist/mediasquareBidAdapter.js +1 -1
  116. package/dist/merkleIdSystem.js +1 -1
  117. package/dist/mgidBidAdapter.js +1 -1
  118. package/dist/mgidRtdProvider.js +1 -1
  119. package/dist/minutemediaBidAdapter.js +1 -1
  120. package/dist/minutemediaplusBidAdapter.js +1 -1
  121. package/dist/mwOpenLinkIdSystem.js +1 -1
  122. package/dist/naveggIdSystem.js +1 -1
  123. package/dist/nexx360BidAdapter.js +1 -1
  124. package/dist/nobidBidAdapter.js +1 -1
  125. package/dist/not-for-prod/prebid.js +205 -202
  126. package/dist/novatiqIdSystem.js +1 -1
  127. package/dist/oguryBidAdapter.js +1 -1
  128. package/dist/onetagBidAdapter.js +1 -1
  129. package/dist/ooloAnalyticsAdapter.js +1 -1
  130. package/dist/openxOrtbBidAdapter.js +1 -1
  131. package/dist/optidigitalBidAdapter.js +1 -1
  132. package/dist/ortbConverter.js +1 -1
  133. package/dist/outbrainBidAdapter.js +1 -1
  134. package/dist/parrableIdSystem.js +1 -1
  135. package/dist/permutiveRtdProvider.js +1 -1
  136. package/dist/pixfutureBidAdapter.js +1 -1
  137. package/dist/prebid-core.js +1 -1
  138. package/dist/prebidServerBidAdapter.js +1 -1
  139. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  140. package/dist/pubCommonId.js +1 -1
  141. package/dist/publinkIdSystem.js +1 -1
  142. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  143. package/dist/pubmaticBidAdapter.js +1 -1
  144. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  145. package/dist/pxyzBidAdapter.js +1 -1
  146. package/dist/quantcastBidAdapter.js +1 -1
  147. package/dist/quantcastIdSystem.js +1 -1
  148. package/dist/readpeakBidAdapter.js +1 -1
  149. package/dist/realvuAnalyticsAdapter.js +1 -1
  150. package/dist/relaidoBidAdapter.js +1 -1
  151. package/dist/rhythmoneBidAdapter.js +1 -1
  152. package/dist/riseBidAdapter.js +1 -1
  153. package/dist/roxotAnalyticsAdapter.js +1 -1
  154. package/dist/rtbhouseBidAdapter.js +1 -1
  155. package/dist/rtdModule.js +1 -1
  156. package/dist/rubiconAnalyticsAdapter.js +1 -1
  157. package/dist/rubiconBidAdapter.js +1 -1
  158. package/dist/seedingAllianceBidAdapter.js +1 -1
  159. package/dist/seedtagBidAdapter.js +1 -1
  160. package/dist/sharedIdSystem.js +1 -1
  161. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  162. package/dist/sharethroughBidAdapter.js +1 -1
  163. package/dist/shinezBidAdapter.js +1 -1
  164. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  165. package/dist/smaatoBidAdapter.js +1 -1
  166. package/dist/smartadserverBidAdapter.js +1 -1
  167. package/dist/smartxBidAdapter.js +1 -1
  168. package/dist/smilewantedBidAdapter.js +1 -1
  169. package/dist/sonobiBidAdapter.js +1 -1
  170. package/dist/sovrnAnalyticsAdapter.js +1 -1
  171. package/dist/sovrnBidAdapter.js +1 -1
  172. package/dist/sspBCBidAdapter.js +1 -1
  173. package/dist/staqAnalyticsAdapter.js +1 -1
  174. package/dist/stroeerCoreBidAdapter.js +1 -1
  175. package/dist/stvBidAdapter.js +1 -1
  176. package/dist/sublimeBidAdapter.js +1 -1
  177. package/dist/synacormediaBidAdapter.js +1 -1
  178. package/dist/taboolaBidAdapter.js +1 -1
  179. package/dist/targetVideoBidAdapter.js +1 -1
  180. package/dist/teadsBidAdapter.js +1 -1
  181. package/dist/teadsIdSystem.js +1 -1
  182. package/dist/trionBidAdapter.js +1 -1
  183. package/dist/tripleliftBidAdapter.js +1 -1
  184. package/dist/trustpidSystem.js +1 -1
  185. package/dist/ttdBidAdapter.js +1 -1
  186. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  187. package/dist/uid2IdSystem.js +1 -1
  188. package/dist/underdogmediaBidAdapter.js +1 -1
  189. package/dist/undertoneBidAdapter.js +1 -1
  190. package/dist/userId.js +1 -1
  191. package/dist/validationFpdModule.js +1 -1
  192. package/dist/vidazooBidAdapter.js +1 -1
  193. package/dist/videobyteBidAdapter.js +1 -1
  194. package/dist/vidoomyBidAdapter.js +1 -1
  195. package/dist/visxBidAdapter.js +1 -1
  196. package/dist/vuukleBidAdapter.js +1 -1
  197. package/dist/weboramaRtdProvider.js +1 -1
  198. package/dist/widespaceBidAdapter.js +1 -1
  199. package/dist/winrBidAdapter.js +1 -1
  200. package/dist/yahoosspBidAdapter.js +1 -1
  201. package/dist/yieldmoBidAdapter.js +1 -1
  202. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  203. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  204. package/dist/zeotapIdPlusIdSystem.js +1 -1
  205. package/dist/zeta_global_sspBidAdapter.js +1 -1
  206. package/libraries/ortbConverter/converter.js +3 -2
  207. package/modules/33acrossIdSystem.js +5 -2
  208. package/modules/adagioBidAdapter.js +3 -4
  209. package/modules/adkernelAdnAnalyticsAdapter.js +4 -2
  210. package/modules/admixerIdSystem.js +4 -2
  211. package/modules/adnuntiusBidAdapter.js +1 -1
  212. package/modules/adqueryBidAdapter.js +1 -1
  213. package/modules/adqueryIdSystem.js +2 -1
  214. package/modules/adrinoBidAdapter.js +24 -16
  215. package/modules/adriverIdSystem.js +3 -2
  216. package/modules/adsinteractiveBidAdapter.js +144 -0
  217. package/modules/adsinteractiveBidAdapter.md +31 -0
  218. package/modules/adyoulikeBidAdapter.js +2 -3
  219. package/modules/aidemBidAdapter.js +5 -0
  220. package/modules/airgridRtdProvider.js +4 -2
  221. package/modules/ajaBidAdapter.js +38 -16
  222. package/modules/akamaiDapRtdProvider.js +2 -1
  223. package/modules/amxBidAdapter.js +11 -9
  224. package/modules/appnexusBidAdapter.js +8 -8
  225. package/modules/apstreamBidAdapter.js +1 -1
  226. package/modules/atsAnalyticsAdapter.js +4 -2
  227. package/modules/audiencerunBidAdapter.js +9 -10
  228. package/modules/bedigitechBidAdapter.js +67 -0
  229. package/modules/bedigitechBidAdapter.md +32 -0
  230. package/modules/bluebillywigBidAdapter.js +2 -4
  231. package/modules/blueconicRtdProvider.js +2 -1
  232. package/modules/brightcomBidAdapter.js +0 -1
  233. package/modules/brightcomSSPBidAdapter.js +0 -1
  234. package/modules/browsiRtdProvider.js +4 -2
  235. package/modules/byDataAnalyticsAdapter.js +6 -3
  236. package/modules/concertBidAdapter.js +14 -7
  237. package/modules/connectadBidAdapter.js +2 -4
  238. package/modules/craftBidAdapter.js +29 -24
  239. package/modules/criteoBidAdapter.js +4 -2
  240. package/modules/criteoIdSystem.js +6 -2
  241. package/modules/czechAdIdSystem.js +3 -2
  242. package/modules/dacIdSystem.js +4 -3
  243. package/modules/deepintentDpesIdSystem.js +3 -2
  244. package/modules/discoveryBidAdapter.js +1 -1
  245. package/modules/dspxBidAdapter.js +223 -15
  246. package/modules/fintezaAnalyticsAdapter.js +5 -3
  247. package/modules/fledgeForGpt.js +54 -6
  248. package/modules/ftrackIdSystem.js +6 -6
  249. package/modules/gdprEnforcement.js +56 -68
  250. package/modules/glimpseBidAdapter.js +1 -4
  251. package/modules/gnetBidAdapter.js +1 -2
  252. package/modules/gravitoIdSystem.js +5 -3
  253. package/modules/greenbidsAnalyticsAdapter.js +181 -0
  254. package/modules/greenbidsAnalyticsAdapter.md +23 -0
  255. package/modules/gridBidAdapter.js +13 -7
  256. package/modules/growthCodeAnalyticsAdapter.js +3 -2
  257. package/modules/growthCodeIdSystem.js +3 -2
  258. package/modules/gumgumBidAdapter.js +7 -17
  259. package/modules/hadronAnalyticsAdapter.js +5 -3
  260. package/modules/hadronIdSystem.js +3 -1
  261. package/modules/hadronRtdProvider.js +4 -2
  262. package/modules/id5IdSystem.js +4 -2
  263. package/modules/idWardRtdProvider.js +2 -1
  264. package/modules/identityLinkIdSystem.js +5 -2
  265. package/modules/idxIdSystem.js +3 -2
  266. package/modules/imRtdProvider.js +3 -1
  267. package/modules/impactifyBidAdapter.js +2 -4
  268. package/modules/imuIdSystem.js +6 -3
  269. package/modules/insticatorBidAdapter.js +1 -1
  270. package/modules/intentIqIdSystem.js +3 -2
  271. package/modules/invibesBidAdapter.js +1 -1
  272. package/modules/ixBidAdapter.js +1 -1
  273. package/modules/jixieBidAdapter.js +3 -6
  274. package/modules/kargoBidAdapter.js +1 -1
  275. package/modules/kueezRtbBidAdapter.js +1 -1
  276. package/modules/liveIntentIdSystem.js +3 -2
  277. package/modules/lotamePanoramaIdSystem.js +3 -2
  278. package/modules/magniteAnalyticsAdapter.js +25 -6
  279. package/modules/mediafuseBidAdapter.js +1 -1
  280. package/modules/mediagoBidAdapter.js +1 -1
  281. package/modules/mediakeysBidAdapter.js +2 -3
  282. package/modules/merkleIdSystem.js +2 -1
  283. package/modules/mgidBidAdapter.js +1 -1
  284. package/modules/mgidRtdProvider.js +3 -1
  285. package/modules/minutemediaplusBidAdapter.js +1 -1
  286. package/modules/mwOpenLinkIdSystem.js +3 -2
  287. package/modules/naveggIdSystem.js +3 -2
  288. package/modules/nexx360BidAdapter.js +0 -1
  289. package/modules/nobidBidAdapter.js +1 -1
  290. package/modules/novatiqIdSystem.js +6 -3
  291. package/modules/onetagBidAdapter.js +1 -1
  292. package/modules/openxOrtbBidAdapter.js +19 -7
  293. package/modules/openxOrtbBidAdapter.md +6 -5
  294. package/modules/parrableIdSystem.js +4 -2
  295. package/modules/permutiveRtdProvider.js +2 -1
  296. package/modules/prebidServerBidAdapter/index.js +9 -3
  297. package/modules/prebidServerBidAdapter/ortbConverter.js +12 -2
  298. package/modules/prebidmanagerAnalyticsAdapter.js +3 -2
  299. package/modules/pubCommonId.js +6 -3
  300. package/modules/publinkIdSystem.js +2 -1
  301. package/modules/pubmaticAnalyticsAdapter.js +12 -1
  302. package/modules/pubmaticBidAdapter.js +192 -222
  303. package/modules/pubwiseAnalyticsAdapter.js +5 -3
  304. package/modules/quantcastBidAdapter.js +1 -1
  305. package/modules/quantcastIdSystem.js +5 -3
  306. package/modules/realvuAnalyticsAdapter.js +6 -3
  307. package/modules/roxotAnalyticsAdapter.js +5 -2
  308. package/modules/rtbhouseBidAdapter.js +5 -3
  309. package/modules/rtdModule/index.js +3 -0
  310. package/modules/rubiconAnalyticsAdapter.js +3 -2
  311. package/modules/rubiconBidAdapter.js +1 -0
  312. package/modules/sharedIdSystem.js +12 -9
  313. package/modules/sharethroughBidAdapter.js +1 -2
  314. package/modules/sigmoidAnalyticsAdapter.js +4 -2
  315. package/modules/smartadserverBidAdapter.js +2 -3
  316. package/modules/sovrnBidAdapter.js +2 -3
  317. package/modules/staqAnalyticsAdapter.js +5 -3
  318. package/modules/stroeerCoreBidAdapter.js +3 -2
  319. package/modules/taboolaBidAdapter.js +4 -2
  320. package/modules/teadsBidAdapter.js +1 -1
  321. package/modules/teadsIdSystem.js +2 -1
  322. package/modules/tripleliftBidAdapter.js +1 -1
  323. package/modules/trustpidSystem.js +3 -2
  324. package/modules/ttdBidAdapter.js +11 -5
  325. package/modules/uid2IdSystem.js +3 -2
  326. package/modules/undertoneBidAdapter.js +1 -0
  327. package/modules/userId/index.js +5 -2
  328. package/modules/validationFpdModule/index.js +3 -2
  329. package/modules/vidazooBidAdapter.js +14 -5
  330. package/modules/vidoomyBidAdapter.js +29 -1
  331. package/modules/weboramaRtdProvider.js +3 -1
  332. package/modules/yieldmoBidAdapter.js +2 -3
  333. package/modules/yuktamediaAnalyticsAdapter.js +4 -2
  334. package/modules/zeotapIdPlusIdSystem.js +3 -2
  335. package/modules/zeta_global_sspBidAdapter.js +3 -0
  336. package/package.json +1 -1
  337. package/plugins/eslint/validateImports.js +13 -14
  338. package/plugins/pbjsGlobals.js +3 -1
  339. package/src/activities/modules.js +5 -0
  340. package/src/adapterManager.js +4 -8
  341. package/src/adapters/bidderFactory.js +30 -16
  342. package/src/consentHandler.js +42 -0
  343. package/src/refererDetection.js +39 -21
  344. package/src/secureCreatives.js +2 -2
  345. package/src/storageManager.js +33 -47
  346. package/src/userSync.js +7 -4
  347. package/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  348. package/test/spec/modules/adagioBidAdapter_spec.js +11 -17
  349. package/test/spec/modules/admixerIdSystem_spec.js +0 -3
  350. package/test/spec/modules/adnuntiusBidAdapter_spec.js +6 -6
  351. package/test/spec/modules/adrinoBidAdapter_spec.js +65 -34
  352. package/test/spec/modules/adsinteractiveBidAdapter_spec.js +207 -0
  353. package/test/spec/modules/adyoulikeBidAdapter_spec.js +13 -11
  354. package/test/spec/modules/aidemBidAdapter_spec.js +72 -8
  355. package/test/spec/modules/amxBidAdapter_spec.js +4 -1
  356. package/test/spec/modules/atsAnalyticsAdapter_spec.js +2 -2
  357. package/test/spec/modules/audiencerunBidAdapter_spec.js +8 -11
  358. package/test/spec/modules/bedigitechBidAdapter_spec.js +145 -0
  359. package/test/spec/modules/bluebillywigBidAdapter_spec.js +1 -3
  360. package/test/spec/modules/concertBidAdapter_spec.js +3 -8
  361. package/test/spec/modules/connectadBidAdapter_spec.js +11 -3
  362. package/test/spec/modules/criteoBidAdapter_spec.js +29 -0
  363. package/test/spec/modules/criteoIdSystem_spec.js +38 -0
  364. package/test/spec/modules/datablocksBidAdapter_spec.js +0 -1
  365. package/test/spec/modules/dspxBidAdapter_spec.js +184 -13
  366. package/test/spec/modules/fledge_spec.js +173 -2
  367. package/test/spec/modules/gdprEnforcement_spec.js +134 -164
  368. package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +418 -0
  369. package/test/spec/modules/gridBidAdapter_spec.js +9 -5
  370. package/test/spec/modules/growthCodeIdSystem_spec.js +2 -1
  371. package/test/spec/modules/id5IdSystem_spec.js +41 -4
  372. package/test/spec/modules/identityLinkIdSystem_spec.js +2 -2
  373. package/test/spec/modules/improvedigitalBidAdapter_spec.js +10 -3
  374. package/test/spec/modules/jixieBidAdapter_spec.js +42 -60
  375. package/test/spec/modules/mediakeysBidAdapter_spec.js +12 -16
  376. package/test/spec/modules/openxOrtbBidAdapter_spec.js +96 -11
  377. package/test/spec/modules/prebidServerBidAdapter_spec.js +68 -2
  378. package/test/spec/modules/publinkIdSystem_spec.js +3 -2
  379. package/test/spec/modules/pubmaticBidAdapter_spec.js +67 -10
  380. package/test/spec/modules/realTimeDataModule_spec.js +22 -0
  381. package/test/spec/modules/realvuAnalyticsAdapter_spec.js +0 -1
  382. package/test/spec/modules/relaidoBidAdapter_spec.js +5 -5
  383. package/test/spec/modules/rubiconBidAdapter_spec.js +2 -1
  384. package/test/spec/modules/sharethroughBidAdapter_spec.js +97 -21
  385. package/test/spec/modules/smartadserverBidAdapter_spec.js +74 -12
  386. package/test/spec/modules/sovrnBidAdapter_spec.js +25 -6
  387. package/test/spec/modules/stroeerCoreBidAdapter_spec.js +13 -18
  388. package/test/spec/modules/taboolaBidAdapter_spec.js +101 -0
  389. package/test/spec/modules/ttdBidAdapter_spec.js +25 -7
  390. package/test/spec/modules/userId_spec.js +68 -0
  391. package/test/spec/modules/vidazooBidAdapter_spec.js +13 -0
  392. package/test/spec/modules/vidoomyBidAdapter_spec.js +33 -0
  393. package/test/spec/modules/yieldmoBidAdapter_spec.js +18 -2
  394. package/test/spec/modules/zeotapIdPlusIdSystem_spec.js +3 -2
  395. package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +8 -0
  396. package/test/spec/refererDetection_spec.js +56 -1
  397. package/test/spec/unit/core/adapterManager_spec.js +21 -58
  398. package/test/spec/unit/core/bidderFactory_spec.js +28 -10
  399. package/test/spec/unit/core/consentHandler_spec.js +29 -1
  400. package/test/spec/unit/core/storageManager_spec.js +31 -21
  401. package/test/spec/userSync_spec.js +2 -1
@@ -0,0 +1,144 @@
1
+ import {
2
+ deepAccess,
3
+ } from '../src/utils.js';
4
+
5
+ import { registerBidder } from '../src/adapters/bidderFactory.js';
6
+ import { BANNER } from '../src/mediaTypes.js';
7
+
8
+ const ADSINTERACTIVE_CODE = 'adsinteractive';
9
+ const USER_SYNC_URL_IMAGE = 'https://pb.adsinteractive.com/img';
10
+ const USER_SYNC_URL_IFRAME = 'https://pb.adsinteractive.com/sync';
11
+
12
+ export const spec = {
13
+ code: ADSINTERACTIVE_CODE,
14
+ supportedMediaTypes: [BANNER],
15
+
16
+ isBidRequestValid: (bid) => {
17
+ return (
18
+ !!bid.params.adUnit && !!bid.bidId && bid.bidder === 'adsinteractive'
19
+ );
20
+ },
21
+
22
+ buildRequests: (bidRequests, bidderRequest) => {
23
+ return bidRequests.map((bid) => {
24
+ var gdprConsent;
25
+ if (bidderRequest && bidderRequest.gdprConsent) {
26
+ gdprConsent = {
27
+ consent_string: bidderRequest.gdprConsent.consentString,
28
+ consent_required: bidderRequest.gdprConsent.gdprApplies,
29
+ };
30
+
31
+ if (
32
+ bidderRequest.gdprConsent.addtlConsent &&
33
+ bidderRequest.gdprConsent.addtlConsent.indexOf('~') !== -1
34
+ ) {
35
+ let ac = bidderRequest.gdprConsent.addtlConsent;
36
+ let acStr = ac.substring(ac.indexOf('~') + 1);
37
+ gdprConsent.addtl_consent = acStr
38
+ .split('.')
39
+ .map((id) => parseInt(id, 10));
40
+ }
41
+ }
42
+
43
+ let url = 'https://pb.adsinteractive.com/prebid';
44
+ const data = {
45
+ id: bid.bidId,
46
+ at: 1,
47
+ source: { fd: 0 },
48
+ gdprConsent: gdprConsent,
49
+ site: {
50
+ page: bid.ortb2.site.page,
51
+ keywords: bid.ortb2.site.keywords,
52
+ domain: bid.ortb2.site.domain,
53
+ publisher: {
54
+ domain: bid.ortb2.site.domain,
55
+ },
56
+ ext: {
57
+ amp: Number(bidderRequest.refererInfo.isAmp),
58
+ },
59
+ },
60
+ regs: bid.ortb2.regs,
61
+ device: bid.ortb2.device,
62
+ user: bid.ortb2.user,
63
+ imp: [
64
+ {
65
+ id: bid.params.adUnit,
66
+ banner: {
67
+ format: bid.sizes.map((size) => ({
68
+ w: size[0],
69
+ h: size[1],
70
+ })),
71
+ },
72
+ ext: {
73
+ bidder: {
74
+ adUnit: bid.params.adUnit,
75
+ },
76
+ },
77
+ },
78
+ ],
79
+ tmax: bidderRequest.timeout,
80
+ };
81
+ const options = {
82
+ withCredentials: true,
83
+ };
84
+ return {
85
+ method: 'POST',
86
+ url,
87
+ data,
88
+ options,
89
+ };
90
+ });
91
+ },
92
+
93
+ interpretResponse: (serverResponse, bidRequest) => {
94
+ let answer = [];
95
+ if (serverResponse && serverResponse.body && serverResponse.body.seatbid) {
96
+ serverResponse.body.seatbid.forEach((seatbid) => {
97
+ if (seatbid.bid.length) {
98
+ answer = [
99
+ ...answer,
100
+ ...seatbid.bid
101
+ .filter((bid) => bid.price > 0)
102
+ .map((adsinteractiveBid) => {
103
+ const bid = {
104
+ id: adsinteractiveBid.id,
105
+ requestId: bidRequest.data.id,
106
+ cpm: adsinteractiveBid.price,
107
+ netRevenue: true,
108
+ ttl: 1000,
109
+ ad: adsinteractiveBid.adm,
110
+ meta: {advertiserDomains: adsinteractiveBid && adsinteractiveBid.adomain ? adsinteractiveBid.adomain : []},
111
+ width: adsinteractiveBid.w,
112
+ height: adsinteractiveBid.h,
113
+ currency: serverResponse.body.cur || 'USD',
114
+ creativeId: adsinteractiveBid.crid || 0,
115
+ };
116
+ return bid;
117
+ }),
118
+ ];
119
+ }
120
+ });
121
+ }
122
+ return answer;
123
+ },
124
+ getUserSyncs: (syncOptions, serverResponse, gdprConsent, uspConsent) => {
125
+ if (syncOptions.iframeEnabled) {
126
+ const auid = serverResponse.filter(resp => deepAccess(resp, 'body.ext.auid'))
127
+ .map(resp => resp.body.ext.auid);
128
+ return [
129
+ {
130
+ type: 'iframe',
131
+ url: USER_SYNC_URL_IFRAME + '?consent=' + gdprConsent.consentString + '&auid=' + auid,
132
+ },
133
+ ];
134
+ } else {
135
+ return [
136
+ {
137
+ type: 'image',
138
+ url: USER_SYNC_URL_IMAGE,
139
+ },
140
+ ];
141
+ }
142
+ },
143
+ };
144
+ registerBidder(spec);
@@ -0,0 +1,31 @@
1
+ # Overview
2
+
3
+ Module Name: AdsInteractive Bidder Adapter
4
+
5
+ Module Type: Bidder Adapter
6
+
7
+ Maintainer: it@adsinteractive.com
8
+
9
+ # Description
10
+
11
+ You can use this adapter to get a bid from adsinteractive.com.
12
+
13
+ About us : https://www.adsinteractive.com
14
+
15
+
16
+ # Test Parameters
17
+ ```javascript
18
+ var adUnits = [
19
+ {
20
+ sizes: [[300, 250]],
21
+ bids: [
22
+ {
23
+ bidder: "adsinteractive",
24
+ params: {
25
+ adUnit: "example_adunit_1"
26
+ }
27
+ }
28
+ ]
29
+ }
30
+ ];
31
+ ```
@@ -1,6 +1,5 @@
1
1
  import {buildUrl, deepAccess, parseSizesInput} from '../src/utils.js';
2
2
  import {registerBidder} from '../src/adapters/bidderFactory.js';
3
- import {createEidsArray} from './userId/eids.js';
4
3
  import {find} from '../src/polyfill.js';
5
4
  import {BANNER, NATIVE, VIDEO} from '../src/mediaTypes.js';
6
5
  import { convertOrtbRequestToProprietaryNative } from '../src/native.js';
@@ -122,8 +121,8 @@ export const spec = {
122
121
  payload.ortb2 = bidderRequest.ortb2;
123
122
  }
124
123
 
125
- if (deepAccess(bidderRequest, 'userId')) {
126
- payload.userId = createEidsArray(bidderRequest.userId);
124
+ if (deepAccess(bidderRequest, 'userIdAsEids')) {
125
+ payload.userId = bidderRequest.userIdAsEids;
127
126
  }
128
127
 
129
128
  payload.pbjs_version = '$prebid.version$';
@@ -152,6 +152,7 @@ function getPageUrl(bidderRequest) {
152
152
 
153
153
  function buildWinNotice(bid) {
154
154
  const params = bid.params[0];
155
+ const app = deepAccess(bid, 'meta.ext.app')
155
156
  return {
156
157
  publisherId: params.publisherId,
157
158
  siteId: params.siteId,
@@ -167,6 +168,9 @@ function buildWinNotice(bid) {
167
168
  ttl: bid.ttl,
168
169
  requestTimestamp: bid.requestTimestamp,
169
170
  responseTimestamp: bid.responseTimestamp,
171
+ mediatype: bid.mediaType,
172
+ environment: app ? 'app' : 'web',
173
+ ...app
170
174
  };
171
175
  }
172
176
 
@@ -348,6 +352,7 @@ function getPrebidResponseBidObject(openRTBResponseBidObject) {
348
352
  function setPrebidResponseBidObjectMeta(prebidResponseBidObject, openRTBResponseBidObject) {
349
353
  logInfo('AIDEM Bid Adapter meta', openRTBResponseBidObject);
350
354
  deepSetValue(prebidResponseBidObject, 'meta.advertiserDomains', deepAccess(openRTBResponseBidObject, 'meta.advertiserDomains'));
355
+ deepSetValue(prebidResponseBidObject, 'meta.ext', deepAccess(openRTBResponseBidObject, 'meta.ext'));
351
356
  if (openRTBResponseBidObject.cat && Array.isArray(openRTBResponseBidObject.cat)) {
352
357
  const primaryCatId = openRTBResponseBidObject.cat.shift();
353
358
  deepSetValue(prebidResponseBidObject, 'meta.primaryCatId', primaryCatId);
@@ -12,7 +12,8 @@ import {
12
12
  deepAccess,
13
13
  } from '../src/utils.js';
14
14
  import { getGlobal } from '../src/prebidGlobal.js';
15
- import { getStorageManager } from '../src/storageManager.js';
15
+ import {getStorageManager} from '../src/storageManager.js';
16
+ import {MODULE_TYPE_RTD} from '../src/activities/modules.js';
16
17
 
17
18
  const MODULE_NAME = 'realTimeData';
18
19
  const SUBMODULE_NAME = 'airgrid';
@@ -20,7 +21,7 @@ const AG_TCF_ID = 782;
20
21
  export const AG_AUDIENCE_IDS_KEY = 'edkt_matched_audience_ids';
21
22
 
22
23
  export const storage = getStorageManager({
23
- gvlid: AG_TCF_ID,
24
+ moduleType: MODULE_TYPE_RTD,
24
25
  moduleName: SUBMODULE_NAME,
25
26
  });
26
27
 
@@ -154,6 +155,7 @@ export const airgridSubmodule = {
154
155
  name: SUBMODULE_NAME,
155
156
  init: init,
156
157
  getBidRequestData: passAudiencesToBidders,
158
+ gvlid: AG_TCF_ID
157
159
  };
158
160
 
159
161
  submodule(MODULE_NAME, airgridSubmodule);
@@ -2,19 +2,28 @@ import { getBidIdParameter, tryAppendQueryString, createTrackPixelHtml, logError
2
2
  import { Renderer } from '../src/Renderer.js';
3
3
  import { registerBidder } from '../src/adapters/bidderFactory.js';
4
4
  import { VIDEO, BANNER, NATIVE } from '../src/mediaTypes.js';
5
- import { convertOrtbRequestToProprietaryNative } from '../src/native.js';
6
5
 
7
- const BIDDER_CODE = 'aja';
6
+ const BidderCode = 'aja';
8
7
  const URL = 'https://ad.as.amanad.adtdp.com/v2/prebid';
9
- const SDK_TYPE = 5;
10
- const AD_TYPE = {
11
- BANNER: 1,
12
- NATIVE: 2,
13
- VIDEO: 3,
8
+ const SDKType = 5;
9
+ const AdType = {
10
+ Banner: 1,
11
+ Native: 2,
12
+ Video: 3,
14
13
  };
15
14
 
15
+ const BannerSizeMap = {
16
+ '970x250': 1,
17
+ '300x250': 2,
18
+ '320x50': 3,
19
+ '728x90': 4,
20
+ '320x100': 6,
21
+ '336x280': 31,
22
+ '300x600': 32,
23
+ }
24
+
16
25
  export const spec = {
17
- code: BIDDER_CODE,
26
+ code: BidderCode,
18
27
  supportedMediaTypes: [VIDEO, BANNER, NATIVE],
19
28
 
20
29
  /**
@@ -36,9 +45,6 @@ export const spec = {
36
45
  * @returns {ServerRequest|ServerRequest[]}
37
46
  */
38
47
  buildRequests: function(validBidRequests, bidderRequest) {
39
- // convert Native ORTB definition to old-style prebid native definition
40
- validBidRequests = convertOrtbRequestToProprietaryNative(validBidRequests);
41
-
42
48
  const bidRequests = [];
43
49
  const pageUrl = bidderRequest?.refererInfo?.page || undefined;
44
50
 
@@ -48,7 +54,7 @@ export const spec = {
48
54
 
49
55
  const asi = getBidIdParameter('asi', bidRequest.params);
50
56
  queryString = tryAppendQueryString(queryString, 'asi', asi);
51
- queryString = tryAppendQueryString(queryString, 'skt', SDK_TYPE);
57
+ queryString = tryAppendQueryString(queryString, 'skt', SDKType);
52
58
  queryString = tryAppendQueryString(queryString, 'tid', bidRequest.transactionId)
53
59
  queryString = tryAppendQueryString(queryString, 'prebid_id', bidRequest.bidId);
54
60
  queryString = tryAppendQueryString(queryString, 'prebid_ver', '$prebid.version$');
@@ -57,11 +63,27 @@ export const spec = {
57
63
  queryString = tryAppendQueryString(queryString, 'page_url', pageUrl);
58
64
  }
59
65
 
66
+ const banner = deepAccess(bidRequest, `mediaTypes.${BANNER}`)
67
+ if (banner) {
68
+ const adFormatIDs = [];
69
+ for (const size of banner.sizes || []) {
70
+ if (size.length !== 2) {
71
+ continue
72
+ }
73
+
74
+ const adFormatID = BannerSizeMap[`${size[0]}x${size[1]}`];
75
+ if (adFormatID) {
76
+ adFormatIDs.push(adFormatID);
77
+ }
78
+ }
79
+ queryString = tryAppendQueryString(queryString, 'ad_format_ids', adFormatIDs.join(','));
80
+ }
81
+
60
82
  const eids = bidRequest.userIdAsEids;
61
83
  if (eids && eids.length) {
62
84
  queryString = tryAppendQueryString(queryString, 'eids', JSON.stringify({
63
85
  'eids': eids,
64
- }))
86
+ }));
65
87
  }
66
88
 
67
89
  const sua = deepAccess(bidRequest, 'ortb2.device.sua');
@@ -101,7 +123,7 @@ export const spec = {
101
123
  },
102
124
  }
103
125
 
104
- if (AD_TYPE.VIDEO === ad.ad_type) {
126
+ if (AdType.Video === ad.ad_type) {
105
127
  const videoAd = bidderResponseBody.ad.video;
106
128
  Object.assign(bid, {
107
129
  vastXml: videoAd.vtag,
@@ -113,7 +135,7 @@ export const spec = {
113
135
  });
114
136
 
115
137
  Array.prototype.push.apply(bid.meta.advertiserDomains, videoAd.adomain)
116
- } else if (AD_TYPE.BANNER === ad.ad_type) {
138
+ } else if (AdType.Banner === ad.ad_type) {
117
139
  const bannerAd = bidderResponseBody.ad.banner;
118
140
  Object.assign(bid, {
119
141
  width: bannerAd.w,
@@ -131,7 +153,7 @@ export const spec = {
131
153
  }
132
154
 
133
155
  Array.prototype.push.apply(bid.meta.advertiserDomains, bannerAd.adomain)
134
- } else if (AD_TYPE.NATIVE === ad.ad_type) {
156
+ } else if (AdType.Native === ad.ad_type) {
135
157
  const nativeAds = ad.native.template_and_ads.ads;
136
158
  if (nativeAds.length === 0) {
137
159
  return [];
@@ -10,6 +10,7 @@ import {getStorageManager} from '../src/storageManager.js';
10
10
  import {submodule} from '../src/hook.js';
11
11
  import {isPlainObject, mergeDeep, logMessage, logInfo, logError} from '../src/utils.js';
12
12
  import { loadExternalScript } from '../src/adloader.js';
13
+ import {MODULE_TYPE_RTD} from '../src/activities/modules.js';
13
14
 
14
15
  const MODULE_NAME = 'realTimeData';
15
16
  const SUBMODULE_NAME = 'dap';
@@ -23,7 +24,7 @@ export const DAP_DEFAULT_TOKEN_TTL = 3600; // in seconds
23
24
  export const DAP_MAX_RETRY_TOKENIZE = 1;
24
25
  export const DAP_CLIENT_ENTROPY = 'dap_client_entropy'
25
26
 
26
- export const storage = getStorageManager({gvlid: null, moduleName: SUBMODULE_NAME});
27
+ export const storage = getStorageManager({moduleType: MODULE_TYPE_RTD, moduleName: SUBMODULE_NAME});
27
28
  let dapRetryTokenize = 0;
28
29
 
29
30
  /**
@@ -1,21 +1,21 @@
1
- import { registerBidder } from '../src/adapters/bidderFactory.js';
2
- import { BANNER, VIDEO } from '../src/mediaTypes.js';
1
+ import {registerBidder} from '../src/adapters/bidderFactory.js';
2
+ import {BANNER, VIDEO} from '../src/mediaTypes.js';
3
3
  import {
4
- parseUrl,
5
- deepAccess,
6
4
  _each,
5
+ deepAccess,
7
6
  formatQS,
8
7
  getUniqueIdentifierStr,
9
- triggerPixel,
8
+ isArray,
10
9
  isFn,
11
10
  logError,
12
- isArray,
11
+ parseUrl,
12
+ triggerPixel,
13
13
  } from '../src/utils.js';
14
- import { config } from '../src/config.js';
15
- import { getStorageManager } from '../src/storageManager.js';
14
+ import {config} from '../src/config.js';
15
+ import {getStorageManager} from '../src/storageManager.js';
16
16
 
17
17
  const BIDDER_CODE = 'amx';
18
- const storage = getStorageManager({ gvlid: 737, bidderCode: BIDDER_CODE });
18
+ const storage = getStorageManager({ bidderCode: BIDDER_CODE });
19
19
  const SIMPLE_TLD_TEST = /\.com?\.\w{2,4}$/;
20
20
  const DEFAULT_ENDPOINT = 'https://prebid.a-mo.net/a/c';
21
21
  const VERSION = 'pba1.3.2';
@@ -194,6 +194,8 @@ function resolveSize(bid, request, bidId) {
194
194
  }
195
195
 
196
196
  function isSyncEnabled(syncConfigP, syncType) {
197
+ if (syncConfigP == null) return false;
198
+
197
199
  const syncConfig = syncConfigP[syncType];
198
200
  if (syncConfig == null) {
199
201
  return false;
@@ -94,7 +94,7 @@ const SCRIPT_TAG_START = '<script';
94
94
  const VIEWABILITY_URL_START = /\/\/cdn\.adnxs\.com\/v|\/\/cdn\.adnxs\-simple\.com\/v/;
95
95
  const VIEWABILITY_FILE_NAME = 'trk.js';
96
96
  const GVLID = 32;
97
- const storage = getStorageManager({gvlid: GVLID, bidderCode: BIDDER_CODE});
97
+ const storage = getStorageManager({bidderCode: BIDDER_CODE});
98
98
 
99
99
  export const spec = {
100
100
  code: BIDDER_CODE,
@@ -102,13 +102,13 @@ export const spec = {
102
102
  aliases: [
103
103
  { code: 'appnexusAst', gvlid: 32 },
104
104
  { code: 'emxdigital', gvlid: 183 },
105
- { code: 'pagescience' },
106
- { code: 'defymedia' },
107
- { code: 'gourmetads' },
108
- { code: 'matomy' },
109
- { code: 'featureforward' },
110
- { code: 'oftmedia' },
111
- { code: 'adasta' },
105
+ { code: 'pagescience', gvlid: 32 },
106
+ { code: 'defymedia', gvlid: 32 },
107
+ { code: 'gourmetads', gvlid: 32 },
108
+ { code: 'matomy', gvlid: 32 },
109
+ { code: 'featureforward', gvlid: 32 },
110
+ { code: 'oftmedia', gvlid: 32 },
111
+ { code: 'adasta', gvlid: 32 },
112
112
  { code: 'beintoo', gvlid: 618 },
113
113
  ],
114
114
  supportedMediaTypes: [BANNER, VIDEO, NATIVE],
@@ -9,7 +9,7 @@ const CONSTANTS = {
9
9
  BIDDER_CODE: 'apstream',
10
10
  GVLID: 394
11
11
  };
12
- const storage = getStorageManager({gvlid: CONSTANTS.GVLID, bidderCode: CONSTANTS.BIDDER_CODE});
12
+ const storage = getStorageManager({bidderCode: CONSTANTS.BIDDER_CODE});
13
13
 
14
14
  var dsuModule = (function() {
15
15
  'use strict';
@@ -6,7 +6,9 @@ import {ajax} from '../src/ajax.js';
6
6
  import {getStorageManager} from '../src/storageManager.js';
7
7
  import {getGlobal} from '../src/prebidGlobal.js';
8
8
 
9
- export const storage = getStorageManager();
9
+ import {MODULE_TYPE_ANALYTICS} from '../src/activities/modules.js';
10
+ const MODULE_CODE = 'atsAnalytics';
11
+ export const storage = getStorageManager({moduleType: MODULE_TYPE_ANALYTICS, moduleName: MODULE_CODE});
10
12
 
11
13
  /**
12
14
  * Analytics adapter for - https://liveramp.com
@@ -399,7 +401,7 @@ atsAnalyticsAdapter.callHandler = function (evtype, args) {
399
401
 
400
402
  adaptermanager.registerAnalyticsAdapter({
401
403
  adapter: atsAnalyticsAdapter,
402
- code: 'atsAnalytics',
404
+ code: MODULE_CODE,
403
405
  gvlid: 97
404
406
  });
405
407
 
@@ -1,18 +1,17 @@
1
1
  import {
2
+ _each,
2
3
  deepAccess,
3
- isFn,
4
- logError,
5
- getValue,
4
+ formatQS,
6
5
  getBidIdParameter,
7
- _each,
6
+ getValue,
8
7
  isArray,
8
+ isFn,
9
+ logError,
9
10
  triggerPixel,
10
- formatQS,
11
11
  } from '../src/utils.js';
12
- import { config } from '../src/config.js';
13
- import { registerBidder } from '../src/adapters/bidderFactory.js';
14
- import { BANNER } from '../src/mediaTypes.js';
15
- import { createEidsArray } from './userId/eids.js';
12
+ import {config} from '../src/config.js';
13
+ import {registerBidder} from '../src/adapters/bidderFactory.js';
14
+ import {BANNER} from '../src/mediaTypes.js';
16
15
 
17
16
  const BIDDER_CODE = 'audiencerun';
18
17
  const BASE_URL = 'https://d.audiencerun.com';
@@ -135,7 +134,7 @@ export const spec = {
135
134
 
136
135
  payload.uspConsent = deepAccess(bidderRequest, 'uspConsent');
137
136
  payload.schain = deepAccess(bidRequests, '0.schain');
138
- payload.userId = deepAccess(bidRequests, '0.userId') ? createEidsArray(bidRequests[0].userId) : [];
137
+ payload.userId = deepAccess(bidRequests, '0.userIdAsEids') || []
139
138
 
140
139
  if (bidderRequest && bidderRequest.gdprConsent) {
141
140
  payload.gdpr = {
@@ -0,0 +1,67 @@
1
+ import {BANNER, NATIVE} from '../src/mediaTypes.js';
2
+ import {registerBidder} from '../src/adapters/bidderFactory.js';
3
+ import { _each, isArray } from '../src/utils.js';
4
+
5
+ const BEDIGITECH_CODE = 'bedigitech';
6
+ const BEDIGITECH_ENDPOINT = 'https://bedigitalhb.s3.amazonaws.com/hb.js';
7
+ const BEDIGITECH_REQUEST_METHOD = 'GET';
8
+ const BEDIGITECH_CURRENCY = 'USD';
9
+
10
+ function interpretResponse(placementResponse, bidRequest, bids) {
11
+ const bid = {
12
+ id: placementResponse.id,
13
+ requestId: placementResponse.requestId,
14
+ cpm: placementResponse.cpm,
15
+ ad: decodeURIComponent(placementResponse.ad),
16
+ width: placementResponse.width || 0,
17
+ height: placementResponse.height || 0,
18
+ currency: placementResponse.currency || BEDIGITECH_CURRENCY,
19
+ ttl: placementResponse.ttl || 300,
20
+ creativeId: placementResponse.creativeId || 0,
21
+ meta: {
22
+ mediaType: BANNER,
23
+ },
24
+ };
25
+ bids.push(bid);
26
+ }
27
+
28
+ export const spec = {
29
+ code: BEDIGITECH_CODE,
30
+ supportedMediaTypes: [BANNER, NATIVE],
31
+ isBidRequestValid: bid => {
32
+ return !!bid.params.placementId && !!bid.bidId && bid.bidder === 'bedigitech'
33
+ },
34
+
35
+ buildRequests: (bidRequests, bidderRequest) => {
36
+ return bidRequests.map(bid => {
37
+ let url = BEDIGITECH_ENDPOINT;
38
+ const data = {'pid': bid.params.placementId};
39
+
40
+ return {
41
+ method: BEDIGITECH_REQUEST_METHOD,
42
+ url,
43
+ data,
44
+ options: {
45
+ contentType: 'application/json',
46
+ withCredentials: false,
47
+ crossOrigin: true,
48
+ },
49
+ };
50
+ });
51
+ },
52
+
53
+ interpretResponse: function(serverResponse, bidRequest) {
54
+ let bids = [];
55
+
56
+ if (isArray(serverResponse.body)) {
57
+ _each(serverResponse.body, function(placementResponse) {
58
+ interpretResponse(placementResponse, bidRequest, bids);
59
+ });
60
+ }
61
+
62
+ return bids;
63
+ },
64
+
65
+ };
66
+
67
+ registerBidder(spec);
@@ -0,0 +1,32 @@
1
+ # Overview
2
+
3
+ Module Name: Bedigitech Bidder Adapter
4
+
5
+ Module Type: Bidder Adapter
6
+
7
+ Maintainer: yogesh@thebeglobal.com
8
+
9
+ # Description
10
+
11
+ You can use this adapter to get a bid from bedigitech.com.
12
+
13
+ About us : https://www.bedigitech.com/
14
+
15
+
16
+ # Test Parameters
17
+ ```javascript
18
+ var adUnits = [
19
+ {
20
+ code: 'div-bedigitech-example',
21
+ sizes: [[300, 250]],
22
+ bids: [
23
+ {
24
+ bidder: "bedigitech",
25
+ params: {
26
+ placementId: "1234"
27
+ }
28
+ }
29
+ ]
30
+ }
31
+ ];
32
+ ```
@@ -4,7 +4,6 @@ import {registerBidder} from '../src/adapters/bidderFactory.js';
4
4
  import {VIDEO} from '../src/mediaTypes.js';
5
5
  import {config} from '../src/config.js';
6
6
  import {Renderer} from '../src/Renderer.js';
7
- import {createEidsArray} from './userId/eids.js';
8
7
 
9
8
  const DEV_MODE = window.location.search.match(/bbpbs_debug=true/);
10
9
 
@@ -52,10 +51,9 @@ const BB_HELPERS = {
52
51
  else if (Array.isArray(adServerCur) && adServerCur.length) request.cur = [adServerCur[0]];
53
52
  },
54
53
  addUserIds: function(request, validBidRequests) {
55
- const bidUserId = deepAccess(validBidRequests, '0.userId');
56
- const eids = createEidsArray(bidUserId);
54
+ const eids = deepAccess(validBidRequests, '0.userIdAsEids');
57
55
 
58
- if (eids.length) {
56
+ if (eids != null && eids.length) {
59
57
  deepSetValue(request, 'user.ext.eids', eids);
60
58
  }
61
59
  },
@@ -9,13 +9,14 @@
9
9
  import {getStorageManager} from '../src/storageManager.js';
10
10
  import {submodule} from '../src/hook.js';
11
11
  import {mergeDeep, isPlainObject, logMessage, logError} from '../src/utils.js';
12
+ import {MODULE_TYPE_RTD} from '../src/activities/modules.js';
12
13
 
13
14
  const MODULE_NAME = 'realTimeData';
14
15
  const SUBMODULE_NAME = 'blueconic';
15
16
 
16
17
  export const RTD_LOCAL_NAME = 'bcPrebidData';
17
18
 
18
- export const storage = getStorageManager({moduleName: SUBMODULE_NAME});
19
+ export const storage = getStorageManager({moduleType: MODULE_TYPE_RTD, moduleName: SUBMODULE_NAME});
19
20
 
20
21
  /**
21
22
  * Try parsing stringified array of data.
@@ -100,7 +100,6 @@ function buildRequests(bidReqs, bidderRequest) {
100
100
  method: 'POST',
101
101
  url: URL,
102
102
  data: JSON.stringify(brightcomBidReq),
103
- options: {contentType: 'text/plain', withCredentials: false}
104
103
  };
105
104
  } catch (e) {
106
105
  logError(e, {bidReqs, bidderRequest});
@@ -116,7 +116,6 @@ function buildRequests(bidReqs, bidderRequest) {
116
116
  method: 'POST',
117
117
  url: URL,
118
118
  data: JSON.stringify(payload),
119
- options: {contentType: 'text/plain', withCredentials: false}
120
119
  };
121
120
  } catch (e) {
122
121
  logError(e, {bidReqs, bidderRequest});