Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/jwplayer adapter #51

Draft
wants to merge 850 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
850 commits
Select commit Hold shift + click to select a range
f380912
Addition of ImproveDigital's Topics API iframe (#10986)
cciocov Feb 7, 2024
8931850
Core: use same transaction ID for twin ad units (#10962)
dgirardi Feb 7, 2024
6342942
snigel Bid Adapter : pass more information to backend (#10987)
snigelweb Feb 7, 2024
35eb3d4
rayn rtd provider module (#11054)
aleksandar-rayn Feb 7, 2024
d8c2ffd
mediasquare Bid Adapter: add DSA support (#11070)
matthieularere-msq Feb 7, 2024
9f5e205
PBjs Core : add ability to inject tracking in video (#10191)
matthieularere-msq Feb 7, 2024
9270339
Adform Bid Adapter: add DSA support (#11066)
braizhas Feb 7, 2024
796ad95
Vidazoo Bid Adapter: Implement onBidWon (#11057)
saar120 Feb 7, 2024
e410b28
Adquery Bid Adapter : IdSystem fix getId and decode method, added use…
adquery Feb 8, 2024
cd4717c
NextMillenium Bid Adapter : added support for the keywords parameter …
mhlm Feb 8, 2024
e41a174
Contentexchange Bid Adapter: add gvlid (#11079)
contentexchange Feb 8, 2024
fe4a2f6
Prebid 8.35.0 release
prebidjs-release Feb 8, 2024
61ba3fe
Increment version to 8.36.0-pre
prebidjs-release Feb 8, 2024
3548745
Core: fix missing AD_RENDER_SUCCEDED for outstream renderers (#11073)
dgirardi Feb 8, 2024
f31058c
IX Bid Adapter: support DSA fields [ADDR-2990] (#11069)
sajidbsk Feb 8, 2024
6eaae9d
PBjs Core Utils: fix deepEqual() to work correctly on sites where Arr…
samuel-palmer-relevant-digital Feb 8, 2024
e8426c7
Yieldlab Bid Adapter: Add Digital Services Act (DSA) handling (#10981)
nkloeber Feb 8, 2024
6fddf80
Fixed build and improved docs (#11078)
enovikov11 Feb 8, 2024
dbbbccd
Build system: add --no-lint-warnings option (#11082)
dgirardi Feb 8, 2024
43e3980
dsaControl module: Reject bids without meta.dsa when required (#10982)
dgirardi Feb 8, 2024
4047495
Prebid 8.36.0 release
prebidjs-release Feb 8, 2024
8bda2ce
Increment version to 8.37.0-pre
prebidjs-release Feb 8, 2024
f7163de
NoBid Analytics Adapter: added support for flag to control bidWon and…
redaguermas Feb 10, 2024
e13bd53
Microad Bid Adapter: send gpid and other to our request. (#11076)
kida-yuga Feb 12, 2024
55fa1a5
StroeerCore Bid Adapter: add DSA support (#11083)
philipwatson Feb 12, 2024
aa092c0
Teads adapter: add dsa info support in bid request & response (#11080)
github-christophe-oudar Feb 13, 2024
0862952
Richaudience Bid Adapter : add compatibility to GPP (#11022)
richaudience Feb 13, 2024
5e7b34b
add OpenX topics iframe (#11039)
bwschmidt Feb 13, 2024
6eeb99e
✨ add sellerCurrency to fledge auction config for criteo bid adapter …
vraybaud Feb 14, 2024
7fbe4e9
greenbids Analytics Adapter: fix double sampling bug (#11090)
jbogp Feb 14, 2024
8df7a80
mediasquare Bid Adapter: minor change with floors (#11100)
matthieularere-msq Feb 14, 2024
b627687
PAAPI/fledgeForGpt: make auction configs available independently from…
dgirardi Feb 14, 2024
24b6d71
Add Onetag topics iframe (#11091)
onetag-dev Feb 14, 2024
0b62955
Use built-in sampling (#11041)
3link Feb 14, 2024
5b4bfd9
Rubicon Bid Adapter: pass DSA fields (#10974)
apukh-magnite Feb 14, 2024
f9584c6
Fix build (#11098)
someden Feb 14, 2024
8e5a2b9
Lucead Bid Adapter: Add new adapter (#11068)
aymeric45 Feb 14, 2024
40e3f40
Adnuntius Bid Adapter: Allow user ID to be passed as parameter (#11029)
mikael-lundin Feb 14, 2024
13cbc7c
Adagio Bid Adapter: add DSA support (#11096)
osazos Feb 15, 2024
9379982
RTB House Bid Adapter: add DSA support (#11097)
piotrj-rtbh Feb 15, 2024
57325f2
The Moneytizer Bid Adapter: initial release (#11047)
themoneytizer Feb 15, 2024
4552111
Prebid 8.37.0 release
prebidjs-release Feb 15, 2024
11c77af
Increment version to 8.38.0-pre
prebidjs-release Feb 15, 2024
a0194cf
ZetaGlobalSsp Analytics Adapter: keep only needed fields in event (#1…
asurovenko-zeta Feb 18, 2024
cd328b6
Add AdButler bid adapter (#11011)
trevoradbutler Feb 19, 2024
aaf2951
define split between exploratory and non exploratory sides of the det…
jbogp Feb 19, 2024
67210fa
Taboola Bid Adapter: fix cookie look up logic and gpp extracting (#1…
ahmadlob Feb 19, 2024
969e417
add schain support (#11111)
0tarof Feb 20, 2024
8cce0b8
Readpeak Bid Adapter : remove click url encoding (#11120)
readpeak-user Feb 20, 2024
7995508
fix handling of default settings for rubiconBidAdapter (#11114)
smozhaiskyi-rubi Feb 20, 2024
be08dc8
Zeta Global Ssp Adapter: remove null values from payload (#11092)
asurovenko-zeta Feb 20, 2024
0606e77
Kimberlite Bidder Adapter: initial commit (#11032)
solta-dev Feb 20, 2024
6ecd4a9
Pass TTD cookie through prebid endpoint (#11119)
wi101 Feb 20, 2024
ff58535
Euid id module: cstg opt out enforcement (#11075)
ssundahlTTD Feb 20, 2024
f58100a
Conversant Adapter: fix response handling (#11122)
johnwier Feb 20, 2024
2505322
Yieldmo Bid Adapter: send topics as string for request (#11121)
desidiver Feb 21, 2024
708bc86
Bump ip from 1.1.8 to 1.1.9 (#11124)
dependabot[bot] Feb 21, 2024
f5b71cd
Core: rendering logic overhaul, PUC-less native rendering (#10819)
dgirardi Feb 21, 2024
adbcf71
33Across User ID sub-module: Introduce first-party ID support (#10714)
macinjosh32 Feb 21, 2024
11bbd29
New bidder adapter : RixEngine (#11035)
xiaochang Feb 22, 2024
b2ace9f
change expire recommendation from 90 to 30 (#11130)
carlosfelix Feb 22, 2024
6a8f2d5
add required version (#11127)
ryohamadaumt Feb 22, 2024
9485c6b
cleanup references to allowAuctionWithoutConsent (#11129)
bretg Feb 22, 2024
e3f03be
fix video object null in validate request (#11128)
shubhamc-ins Feb 22, 2024
2c7ae8a
Reset Digital Bid Adapter: updating users syncs (#11126)
jhon-reset Feb 22, 2024
de841da
Alkimi Bid Adapter: add custom user object (#11093)
kalidas-alkimi Feb 22, 2024
ce5c5aa
Unified ID 2.0 Module: Update documentation (#11105)
mcollins-ttd Feb 23, 2024
0906043
Prebid 8.38.0 release
prebidjs-release Feb 23, 2024
8c37489
Increment version to 8.39.0-pre
prebidjs-release Feb 23, 2024
f869118
GreenbidsAnalyticsAdapter: bump version following previous PR (#11135)
jbogp Feb 23, 2024
ecc3441
Rubicon Bid Adapter: Pass on carbon segtaxes (#10985)
spotxslagle Feb 24, 2024
ab7068e
Blockthrough Bid Adapter: initial release (#10870)
PavloMalashnyak Feb 24, 2024
d93032b
OMS Adapter: add new adapter (#10924)
prBigBrother Feb 24, 2024
f2eb49b
zMaticoo Bid Adapter : add onBidWon function (#11056)
lxj15398019970 Feb 24, 2024
d607309
Criteo bid adapter: add fledge timeout and group limits (#11125)
dzhang-criteo Feb 24, 2024
cd6934c
Reset Digital Bid Adapter: usersync url (#11138)
jhon-reset Feb 24, 2024
2e40035
Yandex: use ortb2 info & Core: add webdriver flag (#11110)
chernodub Feb 24, 2024
98162dc
Logicad Bid Adapter: Add paapi support (#11123)
naru-tsujine Feb 24, 2024
2a3b64f
Magnite Analytics: Check if prebid cache was called for video trackin…
robertrmartinez Feb 26, 2024
1ecfe8e
Taboola Bid Adapter - support topics handling (#11139)
aleskanderl Feb 26, 2024
5b6dd8c
Adagio Bid Adapter: fix ortb delivery video param validation (#11144)
osazos Feb 26, 2024
9fdc06a
JsDoc Lint Fix : multiple adapters and modules (#11103)
ChrisHuie Feb 26, 2024
c794435
Mediaimpact Bid Adapter: initial release (#11099)
nalexand Feb 27, 2024
37d368e
Lucead Adapter: update (#11143)
aymeric45 Feb 28, 2024
6669609
ZetaGlobalSsp Bid Adapter: provide dspId into bid (#11150)
asurovenko-zeta Feb 28, 2024
72e2ee6
Adspirit Bid Adapter: initial release (#10939)
carsten1980 Feb 28, 2024
b4d9197
fix hadron ID module name (#11151)
dgirardi Feb 29, 2024
6184940
Criteo bid adapter: raise Fledge timeout (#11152)
dzhang-criteo Feb 29, 2024
e97e700
Stn Bid Adapter: initial release (#11085)
lasloche Feb 29, 2024
9427cd3
Fixed use of adUnitId for analytics purpose (#11160)
pm-azhar-mulla Mar 1, 2024
0a0343b
adspiritBidAdapter - fix lint errors in unit test file (#11163)
jsnellbaker Mar 1, 2024
6347324
Prebid 8.39.0 release
prebidjs-release Mar 1, 2024
9da6ef0
Increment version to 8.40.0-pre
prebidjs-release Mar 1, 2024
99247d0
Opsco Bid Adapter : initial release (#11112)
ops-co Mar 3, 2024
eb08d22
ID5 User Id module - expose euid as a separate eid object (#11158)
abazylewicz-id5 Mar 4, 2024
94bb619
Triplelift Bid Adapter: Optimize EID Signals (#11168)
patrickloughrey Mar 4, 2024
37e91e7
Azerion Edge RTD Module: Initial release (#11134)
garciapuig Mar 5, 2024
b97b55a
feat: pangle multi format (#11175)
pangle-fe Mar 5, 2024
e873c71
NoBid Analytics Adapter: support for multiple currencies (#11171)
redaguermas Mar 5, 2024
2553471
Fix for bids without userId specified. (#11170)
antosarho Mar 5, 2024
9cb0df5
adstirBidAdapter support topic api (#11177)
ryohamadaumt Mar 6, 2024
1a3a6ed
inline ttd and refactor test (#11174)
wi101 Mar 6, 2024
06bf1e4
NextMillennium Bid Adapter: removed the use of the events module (#11…
mhlm Mar 6, 2024
0210d2e
Colossus Bid Adapter: Add GPP Support and Accept eids from publisher …
bhasker-ddh Mar 6, 2024
0bb0df1
Cwire adapter: Add gvl_id for tcfeu compliance  (c-wire/support#117) …
espen-j Mar 7, 2024
48e88f3
Vidazoo Bid Adapter : more ortb2 data and fledge support (#11182)
saar120 Mar 7, 2024
2b3a62b
[JW Player RTD Module] Deprecate playerID (#11179)
karimMourra Mar 7, 2024
e7eb2be
Delete test/spec/modules/enrichmentFpdModule_spec.js (#11188)
patmmccann Mar 8, 2024
8a92067
Prebid 8.40.0 release
prebidjs-release Mar 8, 2024
920a36d
Increment version to 8.41.0-pre
prebidjs-release Mar 8, 2024
edf27c8
Discovery Bid Adapter : Extend the expiration time of pmguid (#11154)
lhxx121 Mar 11, 2024
2da6055
ext.vastxml to adm (#11164)
gchicoye Mar 11, 2024
59466ad
fix kueezRtbBidAdapter timeout logic #9787 (#11193)
elad-yosifon Mar 11, 2024
a068355
HypeLab Bid Adapter: support floors and bugfixes (#11165)
Minebomber Mar 11, 2024
0756379
Sspbc Bid Adapter : add support for dsa and pass non standard ids (#1…
wojciech-bialy-wpm Mar 11, 2024
404caa4
Publir Bid Adapter : initial release (#10851)
mdghousesaqlain Mar 12, 2024
101ec94
Pstudio Bid Adapter: initial release (#10980)
cckowalewska Mar 12, 2024
691f159
Adkernel Bid Adapter: add digiad alias (#11199)
ckbo3hrk Mar 12, 2024
643cbd0
Update rtbhouseBidAdapter.js (#11185)
patmmccann Mar 12, 2024
6bd8ba6
Onetag Bid Adapter: add reading of addtlConsent GDPR field (#11202)
onetag-dev Mar 13, 2024
22d10dd
PubMatic Analytics Adapter : Logging price bucket value of the bid (#…
pm-azhar-mulla Mar 13, 2024
c9faa28
SmartyadsBidAdapter/add_SGP_region (#11205)
rishko00 Mar 13, 2024
b68759d
Automatad Analytics Adapter : expose queue as a global object (#11203)
shashankatd Mar 13, 2024
1c57789
Taboola Bid Adapter : providing visibility in case of bid error (#11195)
barRubi Mar 13, 2024
77254c2
Kargo Bid Adapter: floors and CreativeID update (#11153)
sj1815 Mar 14, 2024
b8a8031
fix mismatch (#11208)
ikagotso Mar 14, 2024
e939aee
Ras Bid Adapter : add support for native mediaType (#11180)
kzwolinskirasp Mar 14, 2024
e45e5ca
Weborama RTD Module : update gdpr purpose ids verification for TCF v2…
peczenyj Mar 14, 2024
fa8c030
Zeta Global SSP Bid Adapter: add gvlid. (#11211)
abermanov-zeta Mar 14, 2024
e5d87df
Sharethrough Bid Adapter : Support for dsa transparency (#11191)
pierreted90 Mar 14, 2024
5018b6b
Pstudio Bid Adapter: update endpoint to production (#11210)
cckowalewska Mar 14, 2024
4b4e83e
ZetaGlobalSsp Adapter: crop page (#11198)
asurovenko-zeta Mar 14, 2024
9a978bd
Userid module: allow postInstall (#11215)
olafbuitelaar Mar 15, 2024
44717bc
NextMillennium Bid Adapter : fix imp.video.mimes (#11216)
mhlm Mar 15, 2024
28cceb9
Prebid 8.41.0 release
prebidjs-release Mar 15, 2024
2ecfa99
Increment version to 8.42.0-pre
prebidjs-release Mar 15, 2024
90bc7f4
Bump follow-redirects from 1.15.4 to 1.15.6 (#11220)
dependabot[bot] Mar 15, 2024
a7a8f74
Removing protocol check (#11219)
desidiver Mar 15, 2024
d17c44b
jixie Bid Adapter : adding handling of userSync urls sent from server…
jxdeveloper1 Mar 15, 2024
ecdeb25
Update ssp endpoint (#11226)
mrsmoking Mar 18, 2024
40dd3b6
Connatix Bid Adapter: GPP Integration (#11229)
Sabau-Adrian-Cnx Mar 18, 2024
4b4648e
Taboola Bid Adapter : add for support fledge (#11192)
aleskanderl Mar 19, 2024
90822c6
Criteo Bid Adapter: use igi.igs to register fledge auction configs (…
vraybaud Mar 19, 2024
48113b1
setupad Bid Adapter: initial commit (#11008)
pashaGhub Mar 19, 2024
dfdf912
New Bidder Adapter: Adlive Plus (#11176)
aymeric45 Mar 19, 2024
1d66b92
Discovery Bid Adapter : support topics (#11209)
lhxx121 Mar 19, 2024
075abb7
Autoplay detection library: initial release && Teads Bid Adapter: det…
github-matthieu-wipliez Mar 20, 2024
91512b9
Adquery Bid Adapter: bidWon bugfix (#11227)
awiackiewicz Mar 20, 2024
b1d4679
Adf Bid Adapter: set vastUrl (#11243)
Pupis Mar 20, 2024
31f7581
Magnite Analytics Adapter: add indication of cookieless traffic (#11241)
apukh-magnite Mar 20, 2024
9648399
PubMatic Bid Adapter: Support for DSA (#11245)
jlquaccia Mar 21, 2024
2fbdf06
Kargo Bid Adapter: Adds ortb2 and ortb2Imp to request (#11248)
nickllerandi Mar 21, 2024
708a696
NextMillennium: Added some parameters for video (#11235)
mhlm Mar 21, 2024
9088112
Debugging module: add PAAPI support (#11240)
dgirardi Mar 22, 2024
d9245b0
AdMatic Bid Adapter : gvlid and video renderer feature added (#11212)
fatihkaya84 Mar 22, 2024
4bad7e4
Uid2 Token Gen Library: Allow EUID key prefixes (#11250)
ssundahlTTD Mar 25, 2024
e5da9e4
Update DM wrappers TTL default (#11255)
apukh-magnite Mar 25, 2024
af20eda
Aso Bid Adapter: refactoring to use ortb converter (#11249)
adserver-online Mar 25, 2024
c5e8af7
OMS Adapter: add gpid support (#11238)
prBigBrother Mar 25, 2024
e3789a6
Prebid 8.42.0 release
prebidjs-release Mar 26, 2024
b64724e
Increment version to 8.43.0-pre
prebidjs-release Mar 26, 2024
8e5b35c
Bump express from 4.18.2 to 4.19.2 (#11258)
dependabot[bot] Mar 26, 2024
673f44f
Smartyads Bid Adapter : add user id fields (#11221)
rishko00 Mar 26, 2024
0d681ef
Adkernel Bid Adapter: add monetix alias (#11264)
ckbo3hrk Mar 27, 2024
ec34fa4
Documentation : change day on release notes (#11257)
ChrisHuie Mar 27, 2024
af3e7fa
DeepIntent Bid Adapter : add gpp and coppa compliance support (#11239)
parthshah51999 Mar 27, 2024
f072634
OpenWeb adapter refactoring (#11115)
alexander-plotnikov-openweb Mar 28, 2024
74d63a4
Evolution Bid Adapter: add gvlid (#11272)
e-volution-tech Apr 1, 2024
3a808fe
Gamma Bid Adapter : Support multi endpoint by region (#11263)
gammassp Apr 1, 2024
cddb934
AppNexus Bid Adapter - add support for video plcmt field (#11244)
jsnellbaker Apr 2, 2024
c27f64b
Optimize splitChunk config; import paapi from fledgeFromGpt (#11269)
dgirardi Apr 3, 2024
74a404c
Smartadserver Bid Adapter: Update default value of startDelay video p…
krzysztofequativ Apr 3, 2024
b8786a9
core: allow bid adapters to return null fledgeAuctionConfigs (#11271)
dgirardi Apr 3, 2024
f63b3ad
Build system: fix e2e tests (#11287)
dgirardi Apr 4, 2024
32e952c
PXYZ Bid Adapter : add GumGum iframe url to usersync list (#11280)
giri-playgroundxyz Apr 4, 2024
0bcd57f
Anyclip Bid Adapter : initial release (#11200)
basil79 Apr 4, 2024
797adc1
GumGum Bid Adapter : add support for displaymanager and displaymanage…
ahzgg Apr 4, 2024
d1d1564
MediaImpact Bid Adapter : add custom size parameter to request (#11254)
nalexand Apr 4, 2024
af21c55
Yieldmo Bid Adapter : support for cookie deprecation label (#11294)
desidiver Apr 4, 2024
e405ca9
Build system: fix source maps (#11293)
dgirardi Apr 4, 2024
a76da0e
Core: fix build for node 12 (#11299)
dgirardi Apr 5, 2024
dc3b7c6
Prebid 8.43.0 release
prebidjs-release Apr 5, 2024
0aed5ce
Increment version to 8.44.0-pre
prebidjs-release Apr 5, 2024
eac5e04
Lasso Bid Adapter: add gpp support (#11256)
victorlassomarketing Apr 8, 2024
b37baca
Criteo Bid Adapter: Fix invalid DSA adrender field mapping (#11306)
leonardlabat Apr 8, 2024
7f93cb2
Agma Analytics Adapter: adds deviceHeight and deviceWidth to request …
steffenmllr Apr 8, 2024
668c7c7
Remove the sending of experian rtd data through the fpd object (#11307)
JonGoSonobi Apr 9, 2024
4577159
Appnexus Bid Adapter: added emetriq as an alias (#11302)
Pubstream Apr 9, 2024
ca5162b
Adkernel Bid Adapter: remove legacy native impl (#11291)
ckbo3hrk Apr 9, 2024
db0b1bd
refactors code for userIds; updates userId tests (#29) (#11298)
nickllerandi Apr 9, 2024
beeb901
Removed sending of experian data to Sonobi's bid endpoint (#11309)
JonGoSonobi Apr 9, 2024
de42f8d
Adagio Analytics: change bidder code for aliases and add bidder cpm (…
soupape34 Apr 10, 2024
7dbcb47
GumGum Bid Adapter : Add support for the DSA (#11311)
MartinGumGum Apr 10, 2024
458036a
JW Player RTD Module : populate content url, title and description (#…
karimMourra Apr 11, 2024
5e48d3b
Limelight Digital Bid Adapter : add page field (#11312)
imedvedko Apr 11, 2024
3aed8aa
Adnuntius Bid Adapter: change ad request format (#11321)
antosarho Apr 11, 2024
007a3b0
teads: Add more device information to payload (#11316)
github-mickael-leclerc Apr 11, 2024
e51046e
Grid Bid Adapter : fix invalid DSA adrender field mapping (#11313)
leonardlabat Apr 11, 2024
9aff4ad
Loyal Bid Adapter: initial release (#11253)
teqblaze Apr 11, 2024
19fce05
Discovery Bid Adapter : build UTM tag data (#11317)
ecoeco163 Apr 12, 2024
bee8ce7
Prebid 8.44.0 release
prebidjs-release Apr 12, 2024
eb9b407
Increment version to 8.45.0-pre
prebidjs-release Apr 12, 2024
2dd30b1
jwplayerBidAdapter module created
jorgeluisrocha Apr 19, 2022
18df888
created initial skeleton of jwplayerBidAdapter
jorgeluisrocha Apr 19, 2022
6a48b9c
cleaned up initial skeleton for jwplayerBidAdapter
jorgeluisrocha Apr 19, 2022
4978531
added description to jwplayerBidAdapter.md
jorgeluisrocha Apr 19, 2022
8f53929
created jwplayerBidAdapter unit test suite
jorgeluisrocha Apr 19, 2022
9d410f8
implemented isBidRequestValid with unit tests
jorgeluisrocha Apr 20, 2022
3480a19
initial creation of the buildRequests function
jorgeluisrocha May 9, 2022
30909e6
incorporated feedback from pr and refactored.
jorgeluisrocha May 13, 2022
e44c89b
added video object, impExt object, and site content object to jwplaye…
jorgeluisrocha May 19, 2022
1ffdf1b
added feedback from pr
jorgeluisrocha May 19, 2022
1806a93
fixed parameters for methods in jwplayerBidAdapter
jorgeluisrocha May 25, 2022
2ccf740
added feedback from pr and unit tests
jorgeluisrocha Jun 2, 2022
147170a
removed superfluous array
jorgeluisrocha Jun 2, 2022
2bc3a21
fixed nits
jorgeluisrocha Jun 7, 2022
6064e40
added feedback to jw adapter and tests for buildRequests
jorgeluisrocha Jun 8, 2022
b3092c1
added feedback
jorgeluisrocha Jun 10, 2022
13c3deb
one last feedback for request site
jorgeluisrocha Jun 10, 2022
adef057
added site object unit test
jorgeluisrocha Jun 10, 2022
c504d05
fixed buildRequestSite object
jorgeluisrocha Jun 20, 2022
d746cf4
added unit tests for site object
jorgeluisrocha Jun 20, 2022
8e54e50
fixed unit tests for buildRequestSite
jorgeluisrocha Jun 28, 2022
6b0ef47
skeleton of interpretResponse
jorgeluisrocha Jun 7, 2022
61a4705
initial attempt at interpretResponse
jorgeluisrocha Jun 13, 2022
9cd64d9
started unit test
jorgeluisrocha Jun 20, 2022
a361926
finished interpretResponse with unit test
jorgeluisrocha Jun 28, 2022
93a1fcf
populates schain as well as other params
karimMourra Jul 19, 2023
ac73525
reads schain from bidrequest
karimMourra Jul 19, 2023
3a36eaf
updates unit tests
karimMourra Jul 20, 2023
9a49f6a
improves tests
karimMourra Jul 20, 2023
7cbc23c
tests tmax
karimMourra Jul 21, 2023
22ba376
deletes obsolete comments
karimMourra Jul 21, 2023
fac8072
errors when url is missing
karimMourra Jul 24, 2023
ef51ebf
updates tests
karimMourra Jul 26, 2023
9e1ccbc
implements usersync
karimMourra Jul 26, 2023
fd93071
supports iframe sync
karimMourra Jul 26, 2023
32410de
registers user sync properly
karimMourra Jul 28, 2023
694c83b
tests user sync
karimMourra Jul 28, 2023
8ac50d9
uses boost email
karimMourra Jul 28, 2023
86414d3
improves ortb reqs
karimMourra Apr 4, 2024
be73c65
interprets response
karimMourra Apr 4, 2024
96f4527
updates tests
karimMourra Apr 5, 2024
1551e88
updates tests
karimMourra Apr 10, 2024
92430c9
removes playerSize official support
karimMourra Apr 10, 2024
432702f
adds md
karimMourra Apr 12, 2024
10f3226
updates demo
karimMourra Apr 12, 2024
491dc05
adds content url
karimMourra Apr 12, 2024
81e5dfc
adds jwplayer ssp
karimMourra Apr 12, 2024
1815c71
renames demo
karimMourra Apr 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ aliases:
- &environment
docker:
# specify the version you desire here
- image: circleci/node:12.16.1-browsers
- image: cimg/node:16.20-browsers
resource_class: xlarge
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
Expand Down
36 changes: 34 additions & 2 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,25 @@ module.exports = {
node: {
moduleDirectory: ['node_modules', './']
}
},
'jsdoc': {
mode: 'typescript',
tagNamePreference: {
'tag constructor': 'constructor',
extends: 'extends',
method: 'method',
return: 'return',
}
}
},
extends: 'standard',
extends: [
'standard',
'plugin:jsdoc/recommended'
],
plugins: [
'prebid',
'import'
'import',
'jsdoc'
],
globals: {
'BROWSERSTACK_USERNAME': false,
Expand All @@ -29,6 +42,7 @@ module.exports = {
sourceType: 'module',
ecmaVersion: 2018,
},
ignorePatterns: ['libraries/creative-renderer*'],

rules: {
'comma-dangle': 'off',
Expand All @@ -46,6 +60,24 @@ module.exports = {
'no-undef': 2,
'no-useless-escape': 'off',
'no-console': 'error',
'jsdoc/check-types': 'off',
'jsdoc/newline-after-description': 'off',
'jsdoc/require-jsdoc': 'off',
'jsdoc/require-param': 'off',
'jsdoc/require-param-description': 'off',
'jsdoc/require-param-name': 'off',
'jsdoc/require-param-type': 'off',
'jsdoc/require-property': 'off',
'jsdoc/require-property-description': 'off',
'jsdoc/require-property-name': 'off',
'jsdoc/require-property-type': 'off',
'jsdoc/require-returns': 'off',
'jsdoc/require-returns-check': 'off',
'jsdoc/require-returns-description': 'off',
'jsdoc/require-returns-type': 'off',
'jsdoc/require-yields': 'off',
'jsdoc/require-yields-check': 'off',
'jsdoc/tag-lines': 'off'
},
overrides: Object.keys(allowedModules).map((key) => ({
files: key + '/**/*.js',
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
config-file: ./.github/codeql/codeql-config.yml
Expand All @@ -57,7 +57,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
Expand All @@ -70,4 +70,4 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
2 changes: 1 addition & 1 deletion .github/workflows/issue_tracker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
steps:
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
with:
app_id: ${{ secrets.ISSUE_APP_ID }}
private_key: ${{ secrets.ISSUE_APP_PEM }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
# Drafts your next Release notes as Pull Requests are merged into "master"
- uses: release-drafter/release-drafter@v5
- uses: release-drafter/release-drafter@v6
with:
config-name: release-drafter.yml
env:
Expand Down
1 change: 0 additions & 1 deletion PR_REVIEW.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ Follow steps above for general review process. In addition, please verify the fo
- Adapters that accept a floor parameter must also support the [floors module](https://docs.prebid.org/dev-docs/modules/floors.html) -- look for a call to the `getFloor()` function.
- Adapters cannot accept an schain parameter. Rather, they must look for the schain parameter at bidRequest.schain.
- The bidderRequest.refererInfo.referer must be checked in addition to any bidder-specific parameter.
- If they're getting the COPPA flag, it must come from config.getConfig('coppa');
- Page position must come from bidrequest.mediaTypes.banner.pos or bidrequest.mediaTypes.video.pos
- Global OpenRTB fields should come from [getConfig('ortb2');](https://docs.prebid.org/dev-docs/publisher-api-reference/setConfig.html#setConfig-fpd):
- bcat, battr, badv
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,12 @@ gulp test-coverage
gulp view-coverage
```

Local end-to-end testing can be done with:

```bash
gulp e2e-test --local
```

For Prebid.org members with access to BrowserStack, additional end-to-end testing can be done with:

```bash
Expand Down
2 changes: 1 addition & 1 deletion RELEASE_SCHEDULE.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

## Release Schedule

We aim to push a new release of Prebid.js every week on Tuesday.
We aim to push a new release of Prebid.js each week barring any unforseen circumstances or in observance of holidays.

While the releases will be available immediately for those using direct Git access,
it will be about a week before the Prebid Org [Download Page](https://docs.prebid.org/download.html) will be updated.
Expand Down
8 changes: 2 additions & 6 deletions allowedModules.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,18 @@

const sharedWhiteList = [
];

module.exports = {
'modules': [
...sharedWhiteList,
'criteo-direct-rsa-validate',
'crypto-js',
'live-connect' // Maintained by LiveIntent : https://github.com/liveintent-berlin/live-connect/
],
'src': [
...sharedWhiteList,
'fun-hooks/no-eval',
'just-clone',
'dlv',
'dset'
],
'libraries': [
...sharedWhiteList // empty for now, but keep it to enable linting
],
'creative': [
]
};
44 changes: 44 additions & 0 deletions creative/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
## Dynamic creative renderers

The contents of this directory are compiled separately from the rest of Prebid, and intended to be dynamically injected
into creative frames:

- `crossDomain.js` (compiled into `build/creative/creative.js`, also exposed in `integrationExamples/gpt/x-domain/creative.html`)
is the logic that should be statically set up in the creative.
- At build time, each folder under 'renderers' is compiled into a source string made available from a corresponding
`creative-renderer-*` library. These libraries are committed in source so that they are available to NPM consumers.
- At render time, Prebid passes the appropriate renderer's source string to the remote creative, which then runs it.

The goal is to have a creative script that is as simple, lightweight, and unchanging as possible, but still allow the possibility
of complex or frequently updated rendering logic. Compared to the approach taken by [PUC](https://github.com/prebid/prebid-universal-creative), this:

- should perform marginally better: the creative only runs logic that is pertinent (for example, it sees native logic only on native bids);
- avoids the problem of synchronizing deployments when the rendering logic is updated (see https://github.com/prebid/prebid-universal-creative/issues/187), since it's bundled together with the rest of Prebid;
- is easier to embed directly in the creative (saving a network call), since the static "shell" is designed to change as infrequently as possible;
- allows the same rendering logic to be used both in remote (cross-domain) and local (`pbjs.renderAd`) frames, since it's directly available to Prebid;
- requires Prebid.js - meaning it does not support AMP/App/Mobile (but it's still possible for something like PUC to run the same dynamic renderers
when it receives them from Prebid, and fall back to separate AMP/App/Mobile logic otherwise).

### Renderer interface

A creative renderer (not related to other types of renderers in the codebase) is a script that exposes a global `window.render` function:

```javascript
window.render = function(data, {mkFrame, sendMessage}, win) { ... }
```

where:

- `data` is rendering data about the winning bid, and varies depending on the bid type - see `getRenderingData` in `adRendering.js`;
- `mkFrame(document, attributes)` is a utility that creates a frame with the given attributes and convenient defaults (no border, margin, and scrolling);
- `sendMessage(messageType, payload)` is the mechanism by which the renderer/creative can communicate back with Prebid - see `creativeMessageHandler` in `adRendering.js`;
- `win` is the window to render into; note that this is not the same window that runs the renderer.

The function may return a promise; if it does and the promise rejects, or if the function throws, an AD_RENDER_FAILED event is emitted in Prebid. Otherwise an AD_RENDER_SUCCEEDED is fired
when the promise resolves (or when `render` returns anything other than a promise).

### Renderer development

Since renderers are compiled into source, they use production settings even during development builds. You can toggle this with
the `--creative-dev` CLI option (e.g., `gulp serve-fast --creative-dev`), which disables the minifier and generates source maps; if you do, take care
to not commit the resulting `creative-renderer-*` libraries (or run a normal build before you do).
9 changes: 9 additions & 0 deletions creative/constants.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// eslint-disable-next-line prebid/validate-imports
import CONSTANTS from '../src/constants.json';

export const MESSAGE_REQUEST = CONSTANTS.MESSAGES.REQUEST;
export const MESSAGE_RESPONSE = CONSTANTS.MESSAGES.RESPONSE;
export const MESSAGE_EVENT = CONSTANTS.MESSAGES.EVENT;
export const EVENT_AD_RENDER_FAILED = CONSTANTS.EVENTS.AD_RENDER_FAILED;
export const EVENT_AD_RENDER_SUCCEEDED = CONSTANTS.EVENTS.AD_RENDER_SUCCEEDED;
export const ERROR_EXCEPTION = CONSTANTS.AD_RENDER_FAILED_REASON.EXCEPTION;
92 changes: 92 additions & 0 deletions creative/crossDomain.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
import {
ERROR_EXCEPTION,
EVENT_AD_RENDER_FAILED, EVENT_AD_RENDER_SUCCEEDED,
MESSAGE_EVENT,
MESSAGE_REQUEST,
MESSAGE_RESPONSE
} from './constants.js';

const mkFrame = (() => {
const DEFAULTS = {
frameBorder: 0,
scrolling: 'no',
marginHeight: 0,
marginWidth: 0,
topMargin: 0,
leftMargin: 0,
allowTransparency: 'true',
};
return (doc, attrs) => {
const frame = doc.createElement('iframe');
Object.entries(Object.assign({}, attrs, DEFAULTS))
.forEach(([k, v]) => frame.setAttribute(k, v));
return frame;
};
})();

export function renderer(win) {
return function ({adId, pubUrl, clickUrl}) {
const pubDomain = new URL(pubUrl, window.location).origin;

function sendMessage(type, payload, responseListener) {
const channel = new MessageChannel();
channel.port1.onmessage = guard(responseListener);
win.parent.postMessage(JSON.stringify(Object.assign({message: type, adId}, payload)), pubDomain, [channel.port2]);
}

function onError(e) {
sendMessage(MESSAGE_EVENT, {
event: EVENT_AD_RENDER_FAILED,
info: {
reason: e?.reason || ERROR_EXCEPTION,
message: e?.message
}
});
// eslint-disable-next-line no-console
e?.stack && console.error(e);
}

function guard(fn) {
return function () {
try {
return fn.apply(this, arguments);
} catch (e) {
onError(e);
}
};
}

function onMessage(ev) {
let data;
try {
data = JSON.parse(ev.data);
} catch (e) {
return;
}
if (data.message === MESSAGE_RESPONSE && data.adId === adId) {
const renderer = mkFrame(win.document, {
width: 0,
height: 0,
style: 'display: none',
srcdoc: `<script>${data.renderer}</script>`
});
renderer.onload = guard(function () {
const W = renderer.contentWindow;
// NOTE: on Firefox, `Promise.resolve(P)` or `new Promise((resolve) => resolve(P))`
// does not appear to work if P comes from another frame
W.Promise.resolve(W.render(data, {sendMessage, mkFrame}, win)).then(
() => sendMessage(MESSAGE_EVENT, {event: EVENT_AD_RENDER_SUCCEEDED}),
onError
)
});
win.document.body.appendChild(renderer);
}
}

sendMessage(MESSAGE_REQUEST, {
options: {clickUrl}
}, onMessage);
};
}

window.pbRender = renderer(window);
4 changes: 4 additions & 0 deletions creative/renderers/display/constants.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// eslint-disable-next-line prebid/validate-imports
import CONSTANTS from '../../../src/constants.json';

export const ERROR_NO_AD = CONSTANTS.AD_RENDER_FAILED_REASON.NO_AD;
21 changes: 21 additions & 0 deletions creative/renderers/display/renderer.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import {ERROR_NO_AD} from './constants.js';

export function render({ad, adUrl, width, height}, {mkFrame}, win) {
if (!ad && !adUrl) {
throw {
reason: ERROR_NO_AD,
message: 'Missing ad markup or URL'
};
} else {
const doc = win.document;
const attrs = {width, height};
if (adUrl && !ad) {
attrs.src = adUrl;
} else {
attrs.srcdoc = ad;
}
doc.body.appendChild(mkFrame(doc, attrs));
}
}

window.render = render;
14 changes: 14 additions & 0 deletions creative/renderers/native/constants.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// eslint-disable-next-line prebid/validate-imports
import CONSTANTS from '../../../src/constants.json';

export const MESSAGE_NATIVE = CONSTANTS.MESSAGES.NATIVE;
export const ACTION_RESIZE = 'resizeNativeHeight';
export const ACTION_CLICK = 'click';
export const ACTION_IMP = 'fireNativeImpressionTrackers';

export const ORTB_ASSETS = {
title: 'text',
data: 'value',
img: 'url',
video: 'vasttag'
}
Loading