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

Gamoshi: Fix adaptor code to comply for Prebid.js v3.0 #4601

Merged
merged 455 commits into from
Dec 18, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
455 commits
Select commit Hold shift + click to select a range
335a5b5
Improve Digital adapter: adding bid floor, referrer, more native fiel…
jbartek25 Sep 3, 2019
86cde70
YIELDONE adapter - change urls to adapt https (#4139)
koji-eguchi Sep 3, 2019
e66af01
Added SupplyChain Object support and an onTimeout Callback (#4137)
telariaEng Sep 3, 2019
d38d571
Revert "Added SupplyChain Object support and an onTimeout Callback (#…
Sep 3, 2019
aa60b32
Nobid Prebid Adapter commit (#4050)
robdubois Sep 4, 2019
b32aed6
update outstream prod url (#4104)
sumit116 Sep 4, 2019
98a174c
support pubcid and uids (#4143)
nwlosinski Sep 4, 2019
82502b9
Fix misspelling and minor cleanup of schain docs (#4150)
Sep 4, 2019
b5dd3b1
Prebid 2.31.0 Release
bretg Sep 4, 2019
ae064ec
Increment pre version
bretg Sep 4, 2019
f720f1e
Rubicon: tuning logged messages (#4157)
bretg Sep 5, 2019
556f7ca
Rubicon Video COPPA fix (#4155)
umbrella-artem-seryak Sep 5, 2019
1abdbb6
Playground XYZ adapter - iframe usersync bug fix (#4141)
monofonik Sep 5, 2019
32a7f31
update nvmrc file (#4162)
jsnellbaker Sep 5, 2019
32b4fd5
update gulp-footer package (#4160)
jsnellbaker Sep 5, 2019
3801464
Datablocks bid/analytics adapter (#4128)
htang555 Sep 6, 2019
ba3071c
update logic of ad_types field in appnexusBidAdapter (#4065)
jsnellbaker Sep 6, 2019
f620a81
Shorten SomoAudience to just Somo (#4163)
SuprPhatAnon Sep 8, 2019
2e15b15
Quantcast: Fix for empty video parameters (#4145)
dpapworth-qc Sep 8, 2019
a6c43cb
One Video adding Rewarded Video Feature (#4142)
DeepthiNeeladri Sep 8, 2019
0308c52
Module to pass User Ids to DFP (#4140)
pm-harshad-mane Sep 9, 2019
b0124f2
Buzzoola bid adapter (#4127)
VanCyric Sep 10, 2019
2f76659
E2e tests for Native and Outstream video Ad formats. (#4116)
Fawke Sep 10, 2019
3bb7018
Update LockerDome adUnitId bid param (#4176)
margsliu Sep 10, 2019
d3f0971
fix several issues in appnexus video bids (#4154)
jsnellbaker Sep 10, 2019
9a8a143
S2s testing disable client side (#4123)
tjeastmond Sep 10, 2019
cfc6ee1
New option to Include deal KVPs when enableSendAllBids === false (#4136)
robertrmartinez Sep 10, 2019
db31a10
Prebid 2.32.0 Release
jsnellbaker Sep 10, 2019
a22c4aa
increment pre version
jsnellbaker Sep 10, 2019
ed6fe7a
Rubicon doc: changing video test zone (#4187)
bretg Sep 11, 2019
2cd63f8
added schain support to sonobi adapter (#4173)
JonGoSonobi Sep 12, 2019
bab3fd3
if schain config is not defined then error should not be thrown (#4165)
pm-harshad-mane Sep 13, 2019
8fd7bdb
Rubicon: updating test params (#4190)
bretg Sep 13, 2019
4e2b8dc
myTargetBidAdapter: support currency config (#4188)
vfedoseev Sep 16, 2019
b097cce
Update README.md (#4193)
djrosenbaum Sep 16, 2019
cde5c1f
cedato bid adapter instream video support (#4153)
alexkh13 Sep 16, 2019
6ff688a
Added adxpremium prebid analytics adapter (#4181)
adxpremium Sep 16, 2019
3a1dd33
feat(OAFLO-186): added support for schain (#4194)
jimee02 Sep 16, 2019
6eb129d
Sonobi - send entire userid payload (#4196)
JonGoSonobi Sep 16, 2019
d6d6f8b
OpenX Adapter fix: updating outdated video examples (#4198)
jimee02 Sep 16, 2019
f0c2426
userId - Add support for refreshing the cached user id (#4082)
padurgeat Sep 17, 2019
83dd50b
Prebid 2.33.0 Release
Sep 17, 2019
9f1b2c1
Increment pre version
Sep 17, 2019
af5ea8a
SupplyChainObject support and fires a pixel onTimeout (#4152)
telariaEng Sep 17, 2019
74e7be6
Feature/add profile parameter (#4185)
ujuettner Sep 17, 2019
1349b3f
EMXDigital Bid Adapter: Add video dimensions in request (#4174)
EMXDigital Sep 18, 2019
034c750
Added keywords parameter support in TrustX Bid Adapter (#4183)
PWyrembak Sep 18, 2019
425c567
rubicon: avoid passing unknown position (#4207)
bretg Sep 19, 2019
a2e9b8f
correctly reference bidrequest and determine mediatype of bidresponse…
EMXDigital Sep 20, 2019
92aec74
GumGum: only send gdprConsent when found (#4205)
susyt Sep 20, 2019
3409fd0
LKQD: Use refererInfo.referer as fallback pageurl (#4210)
mrcrawfo Sep 20, 2019
61aad24
[UserId] - ID5 - Fixed case when consentData is undefined (No CMP) (#…
padurgeat Sep 20, 2019
8aed9d4
create stubs for localStorage in widespaceBidAdapter test file (#4208)
jsnellbaker Sep 23, 2019
674e032
added adId property to adRenderFailed event (#4097)
Sep 23, 2019
fde2098
OpenX Adapter: Forcing https requests and adding UserID module suppor…
jimee02 Sep 23, 2019
258d100
PubMatic to support userId sub-modules (#4191)
pm-harshad-mane Sep 23, 2019
507d7b8
TripleLift support for UnifiedId and IdentityLink (#4197)
willchapin Sep 23, 2019
92b3093
Added lemma adapter (#4126)
lm-abhijit Sep 23, 2019
8a7ca6b
Adkernel adapter new alias (#4221)
ckbo3hrk Sep 24, 2019
c7fbfe8
Force https scheme for Criteo Bidder (#4227)
leonardlabat Sep 24, 2019
3f5124b
Add Video Support for Datablocks Bid Adapter (#4195)
htang555 Sep 24, 2019
50931b2
update adUnit, bidRequest and bidResponse object (#4180)
Fawke Sep 24, 2019
528e49c
3 display banner and video vast support for rads (#4209)
onlsol Sep 24, 2019
c5a9024
UserId - Add SameSite and server-side pubcid support (#3869)
pycnvr Sep 25, 2019
7ca5eba
added schain to appnexus bid adapter (#4229)
mkendall07 Sep 25, 2019
1520d22
update doubleclick url (#4179)
MikeSperone Sep 25, 2019
d6edbc3
Prebid 2.34.0 release
jsnellbaker Sep 25, 2019
bac615b
increment pre version
jsnellbaker Sep 25, 2019
37d7410
Rubi Analytics handles > 1 bidResponse per bidRequest (#4224)
robertrmartinez Sep 26, 2019
3c0c518
videoNow bid adapter (#4088)
sdbaron Sep 27, 2019
2356a0e
djax new bidder adapter (#4192)
djaxbidder Sep 27, 2019
2c5c938
Added Turk Telekom Bid Adapter (#4203)
turktelssp Sep 30, 2019
ebb342a
MicroAd: Use HTTPS in all requests (#4220)
strong-zero Sep 30, 2019
157bbae
Schain: avoiding Object.values as it is breaking on IE11 (#4238)
pm-harshad-mane Sep 30, 2019
8c8663f
3952 delay auction for ids (#4115)
mutdmour Sep 30, 2019
56e46d9
Feature: adUnitBidLimit (#3906)
Oct 1, 2019
2344b3c
Update Rubicon Adapter netRevenue default (#4242)
Oct 2, 2019
4cb6a83
Removed AdastaMadia from alias (#4255)
Adasta2019 Oct 3, 2019
aa87106
Update appnexusBidAdapter.js (#4251)
Adasta2019 Oct 3, 2019
b30a6cd
IdentityLink - change expiration time to 30 days (#4239)
mamatic Oct 3, 2019
cdd3d48
Add coppa support for AppNexus adapter (#4253)
mkendall07 Oct 3, 2019
b1f681a
add new longform e2e tests (#4206)
jsnellbaker Oct 7, 2019
8a72c09
Konduit module (#4184)
konduit-dev Oct 7, 2019
4c7459e
Circle CI runs e2e tests on every push (#4200)
Fawke Oct 7, 2019
2ab261f
Outcon bid adapter. (#4161)
TinchoF Oct 8, 2019
284467e
Adding workflow to run end to end tests (#4230)
jaiminpanchal27 Oct 8, 2019
ee81c9b
update prebid path for e2e test pages (#4274)
jaiminpanchal27 Oct 8, 2019
6fae7e6
Prebid 2.35.0 release
Oct 8, 2019
7ca34f9
Increment pre version
Oct 8, 2019
546179a
Add usersync to adpone adapter (#4245)
seergiioo6 Oct 10, 2019
e4cfeef
Revert GumGum Adapter 2.28 resizing changes (#4277)
WayneYang1 Oct 10, 2019
68ec997
SpotX Bid Adapter: Support schain, ID5 object, Google consent object,…
codybonney Oct 11, 2019
cf89c61
Update Rubicon Analytics Adapter `bidId` to match PBS (#4156)
Oct 11, 2019
b11f832
SmartRTB adapter update (#4246)
evanmsmrtb Oct 14, 2019
8e7bfde
Support Vast Track (#4276)
tjeastmond Oct 14, 2019
783304a
Added 1000x250 size (#4295)
hdeodhar Oct 14, 2019
333e55a
prepare vidazoo adapter for v3.0 (#4291)
thewizarodofoz Oct 14, 2019
5ac5ab2
Improve Digital adapter: support schain (#4286)
jbartek25 Oct 14, 2019
303461d
LiveIntent Identity Module. (#4178)
jankoulaga Oct 14, 2019
d50f629
updating liveintent eids source (#4300)
bretg Oct 14, 2019
69fc6b3
fix appnexusBidAdapter view-script regex (#4289)
jsnellbaker Oct 15, 2019
1ca4ed8
33Across adding bidder specific extension field (#4298)
thomas-33across Oct 15, 2019
05f2ab4
PubMatic to support LiveIntent User Id sub-module (#4306)
pm-harshad-mane Oct 15, 2019
c2eb7e4
Finteza Analytics Adapter: fix cookies (#4292)
finteza Oct 15, 2019
2d2c086
Update LockerDome adapter to support Prebid 3.0 (#4301)
margsliu Oct 15, 2019
c10a8b5
Returning the `IdResponse` type with an obj + callback. Fix for 4304…
jankoulaga Oct 15, 2019
d17ae0e
ShowHeroes adapter - expanded outstream support (#4222)
vadim-mazzherin Oct 15, 2019
cafbdc6
[Orbidder-Adapter] Add bidRequestCount and remove bid.params.keyValue…
Oct 15, 2019
2f68d35
PulsePoint: remove usage of deprecated utils method / prep for 3.0 (#…
anand-venkatraman Oct 15, 2019
3f727d6
Use isArray method (#4288)
jaiminpanchal27 Oct 15, 2019
f8fc865
Add Parrable ID submodule (#4266)
eyas-ranjous Oct 15, 2019
6c5ab71
Prebid 2.36.0 Release
bretg Oct 15, 2019
e46ad1a
Increment pre version
bretg Oct 15, 2019
0188864
Support schain module and send bidfloor param in Sharethrough adapter…
madma Oct 15, 2019
f2c4cfe
Platform One Analytics Adapter (#4233)
hbanalytics Oct 15, 2019
bbc9252
Fix parrable id integration example (#4317)
eyas-ranjous Oct 16, 2019
31d7895
Improve Digital adapter: support for video (#4318)
jbartek25 Oct 16, 2019
6ab0ade
Gamoshi: Update aliases list. Add support for userSync. (#4319)
Oct 16, 2019
8d9bcfd
fix for userSync endpoint getting called with bidder alias names, ins…
Fawke Oct 17, 2019
171c5a2
modify ixBidAdapater to always use the secure endpoint (#4323)
ix-prebid-support Oct 17, 2019
fb2bc78
PubMatic to support Parrable User Id sub-module (#4324)
pm-harshad-mane Oct 17, 2019
b41a716
VISX: currency validation & fix double escape of referer (#4299)
mk0x9 Oct 18, 2019
78b6ca3
PubMatic to support coppa (#4336)
pm-harshad-mane Oct 21, 2019
33b6890
vuble: outstream has fullscreen option (#4320)
Roffray Oct 21, 2019
5ac7f00
EMXDigital: hotfix to resolve URIError from decodeURIComponent (#4333)
EMXDigital Oct 21, 2019
98c95b0
Specify second parameter for parseInt for pubmaticBidAdapter (#4347)
rumesh Oct 21, 2019
c8f74e0
Remove usage of getTopWindowUrl in Prebid Adapter (#4341)
bmwcmw Oct 22, 2019
cab0fd5
Conversant Bid Adapter update for 3.0 (#4284)
pycnvr Oct 22, 2019
2e7cde2
Add cpmDistribution function for Google Analytics adapter (#4240)
muuki88 Oct 22, 2019
fe73e5d
fixing SRA p_pos (#4337)
robertrmartinez Oct 22, 2019
8678764
In Sonobi Adapter, only read sizes from bid.mediaTypes (#4311)
JonGoSonobi Oct 22, 2019
a24e76e
Fix mediaTypes (#4332)
TinchoF Oct 22, 2019
9b556d7
Prebid 2.37.0 release
jsnellbaker Oct 22, 2019
890121c
increment pre version
jsnellbaker Oct 22, 2019
15cca9a
Add vast xml support and other minor changes to Beachfront adapter (#…
jsalis Oct 23, 2019
b585eea
Update smartrtbBidAdapter (#4362)
evanmsmrtb Oct 23, 2019
290c265
Revert "Update smartrtbBidAdapter (#4362)" (#4368)
jsnellbaker Oct 23, 2019
0a7d59f
Add userSync in onetagBidAdapter (#4358)
onetag-dev Oct 23, 2019
8d85070
Sovrn adapter updates: schain, digitrust, pixel syncing, and 3.0 upgr…
aprakash-sovrn Oct 23, 2019
d50df46
Add bid adapter for ablida (#4256)
Oct 24, 2019
8769781
AdKernel: added waardex_ak alias (#4290)
romanantropov Oct 24, 2019
d3acc44
Revert "Sovrn adapter updates: schain, digitrust, pixel syncing, and …
msm0504 Oct 24, 2019
2bcde2b
Vrtcal Markets Inc. Bid Adapter Addition (#4259)
vrtcal-dev Oct 24, 2019
c4ba051
Update schain path in ORTB path for spotxBidAdapter (#4377)
codybonney Oct 25, 2019
2720a47
Update Grid Bid Adapter (#4379)
TheMediaGrid Oct 25, 2019
6f759ae
TripleLift: Sending schain (#4375)
colbertk Oct 25, 2019
e8448c3
DistrictmDMX: adding support for schain and remove content type to de…
stevealliance Oct 25, 2019
e221b51
Support for ID5 + receive meta data (#4352)
bjorn-lw Oct 25, 2019
d577822
Rubicon Adapter: Always make requests using HTTPS (#4380)
msm0504 Oct 28, 2019
5f8bb63
7xbid adapter (#4328)
7XBID00 Oct 28, 2019
e9e2b5c
- update 33across adapter cookie sync end point (#4345)
thomas-33across Oct 29, 2019
0400042
Adform adapter: add renderer for outstream bids (#4363)
bratrahim Oct 29, 2019
0ddb185
Prebid 2.38.0 Release
Oct 29, 2019
29c2249
Increment pre version
Oct 29, 2019
02df81f
Adagio: update with external js (#4217)
osazos Oct 29, 2019
381d885
add viewdeosDX whitelabel (#4231)
GeneGenie Oct 29, 2019
7ed2b87
One video display ad (#4344)
DeepthiNeeladri Oct 30, 2019
ae107a0
fix double-urlecoded referrer (#4386)
onlsol Oct 30, 2019
a6ab3a9
fix double-urlecoded referer (#4388)
onlsol Oct 30, 2019
aa6f599
PulsePoint Adapter - update for ttl logic (#4400)
anand-venkatraman Oct 30, 2019
648053a
IdentityLink - add logic for sending consent string (#4346)
mamatic Oct 30, 2019
82b4ec0
Fix adagio analytics adapter circleci (#4409)
Oct 31, 2019
f251f91
Feature/7xbid remove unneeded params (#4402)
7XBID00 Nov 1, 2019
15b3f5a
Remove none ssl (#4406)
stevealliance Nov 1, 2019
9f4654e
fixed reference to global object (#4412)
monofonik Nov 1, 2019
e152af7
ucfunnel adapter support supply chain (#4383)
Nov 1, 2019
9663520
LiveIntent support in RP Adapter and PBS Adapter update to pass segme…
Nov 1, 2019
ef02b31
Rubicon Adapter: Add multiple sizes to sizeMap (#4407)
ACannuniRP Nov 1, 2019
4baaf27
Add Utils to remove item in LocalStorage (#4355)
Swiiip Nov 4, 2019
f215991
Making originalCpm and originalCurrency fields in bid object always a…
pm-harshad-mane Nov 4, 2019
422ba3e
Placement and inventory (#4353)
DeepthiNeeladri Nov 4, 2019
80bbe53
Fixes for Platform One Analytics Adapter (#4359)
hbanalytics Nov 4, 2019
ab6af4c
Added protocol to url (#4395)
skazedo Nov 4, 2019
e5d0666
Update emoteev endpoints (#4329)
piotr-yuxuan Nov 4, 2019
353a3ce
JustPremium: Update to Prebid 3.0 (#4410)
Nov 4, 2019
b167c29
Update underdogmedia adapter for pbjs 3.0 (#4390)
mash-a Nov 5, 2019
8acb120
Update Consumable adapter for Prebid.js 3.0 (#4401)
djcsdy Nov 5, 2019
259b6e0
CriteoId User Module (#4287)
Swiiip Nov 5, 2019
09a09c4
2019/10/18 Create Mobsmart bidder adapter (#4339)
kpis-msa Nov 5, 2019
e30af26
Adpod deal support (#4389)
jaiminpanchal27 Nov 5, 2019
0bfd768
remove querystringify package (#4422)
jaiminpanchal27 Nov 5, 2019
94db31f
Browsi real time data module (#4114)
omerDotan Nov 6, 2019
96490e2
Prebid 2.39.0 Release
jsnellbaker Nov 6, 2019
4febd85
increment pre version
jsnellbaker Nov 6, 2019
5652dde
OpenX Adapter: Prebid 3.0 Compatibility Update (#4413)
jimee02 Nov 7, 2019
16fc707
GumGum: use mediaTypes.banner.sizes (#4416)
susyt Nov 7, 2019
065839d
RTBhouse Bid Adapter update for 3.0 (#4428)
Marcian123 Nov 7, 2019
bf94a0d
add viewable rendering format (#4201)
koji-eguchi Nov 7, 2019
bb4ae80
Feature/adapter (#4219)
sourabhg Nov 8, 2019
95dbc49
PulsePoint Bid Adapter: Support for schain (#4433)
anand-venkatraman Nov 8, 2019
a3e3aa9
Add supply chain support for Teads adapter (#4420)
aandrieu Nov 8, 2019
0b03505
Rubicon: support SupplyChain (schain) (#4315)
tjeastmond Nov 8, 2019
37cc90a
Add 1ad4good bidder (#4081)
vladgurgov Nov 11, 2019
31036a6
Improve Digital adapter fix: don't send sizes for instream video (#4427)
jbartek25 Nov 11, 2019
639eec8
Fix a typo in code comment (#4450)
dlackty Nov 11, 2019
bcd013d
Inventory id and schain support for display (#4426)
DeepthiNeeladri Nov 11, 2019
1a230f4
Update coinzillaBidAdapter.js (#4438)
arkan303 Nov 11, 2019
e8ff5c6
Support schain in ZEDO adapter (#4441)
skazedo Nov 11, 2019
7ba683c
PubMatic supporting updated Criteo User Id module (#4431)
pm-harshad-mane Nov 11, 2019
9a78e3c
Remove duplicate param to fix unit tests (#4459)
msm0504 Nov 12, 2019
4dd31af
Brightcom Bid Adapter update for 3.0 (#4343)
vyatsun Nov 12, 2019
e979093
add support for min_height field in pbs native requests (#4434)
jsnellbaker Nov 12, 2019
85c2f6d
Supporting Alias via Video Requests (#4460)
robertrmartinez Nov 12, 2019
9871fcd
New adapter Proxistore (#4365)
vincentproxistore Nov 12, 2019
e4490ce
Implementation of setBidderConfig and bidder-specific data (#4334)
snapwich Nov 13, 2019
cbb1b1f
Prebid 2.40.0 Release
Nov 14, 2019
15c5f12
Increment pre version
Nov 14, 2019
cd28151
Conversant Bid Adapter checks pubcid directly (#4430)
pycnvr Nov 14, 2019
57537ce
Cookie Sync functionality (#4457)
rade-popovic Nov 14, 2019
ff3c9f0
Staq Adapter: update with meta envelope (#4372)
mquirion Nov 15, 2019
7aa7dc4
Rhythmone Adapter - schain support (#4414)
Nov 18, 2019
d4fddd3
Media.net Adapter: Support Prebid 3.0 (#4378)
binoy-chitale Nov 18, 2019
4aeb454
Vi Adapter: Passes additional param in the bid request (#4134)
alpadotsh Nov 18, 2019
486056d
Sovrn adapter updates: schain, digitrust, pixel syncing, and 3.0 upgr…
aprakash-sovrn Nov 18, 2019
865869e
TheMediaGrid Bid Adapter update (#4447)
TheMediaGrid Nov 18, 2019
c21af85
Conversant Bid Adapter adds support for extended ids (#4462)
pycnvr Nov 18, 2019
35a332e
Adkernel 3.0 compatibility (#4477)
ckbo3hrk Nov 18, 2019
5a51011
Rubicon Adapter pchain support (#4480)
harpere Nov 19, 2019
a9e9b6e
Implemented changes required to provide support for video in the IX b…
ix-prebid-support Nov 19, 2019
4904963
Default size filter & KVP support (#4452)
stevealliance Nov 19, 2019
8f453cf
add id5id to prebid server bid adapter (#4468)
smenzer Nov 19, 2019
50bc26c
Added _pbjsGlobals for tracking renames. Resolves #4254 (#4419)
mkendall07 Nov 20, 2019
44fd3c0
Feature/smart video (#4367)
tadam75 Nov 20, 2019
7f7a84d
do not select element that gets removed after dfp render (#4423)
vkimcm Nov 20, 2019
6fd6af6
add smms adapter (#4439)
songtungmtp Nov 20, 2019
0cf481d
Prebid 2.41.0 release
Nov 20, 2019
9b8dee6
Increment pre version
Nov 20, 2019
8ebf2f0
adds schain param (#4442)
susyt Nov 21, 2019
e2615de
Create newborntownWeb adapter (#4455)
z-sunshine Nov 22, 2019
e3011f5
Provide criteoId to server by user.ext.eids (#4478)
bmwcmw Nov 25, 2019
95bc500
ucfunnel adapter fix error message in debug mode (#4338)
Nov 25, 2019
0c0fb18
explicitly check undefined to allow falsey values in getConfig (#4486)
snapwich Nov 25, 2019
201340e
Conversant Bid Adapter handles vast xml (#4492)
pycnvr Nov 25, 2019
c180628
[feature] Add a config list of submodules that require refreshing the…
eyas-ranjous Nov 26, 2019
25d06b3
Prebid 2.42.0 Release
bretg Nov 26, 2019
22962d1
Increment pre version
bretg Nov 26, 2019
9d7fec7
Make adhese adapter prebid 3.0 compatible (#4507)
sander-adhese Nov 27, 2019
1443e4c
BugFix: Site id missing (#4467)
DeepthiNeeladri Nov 28, 2019
7bca6f2
Merge branch 'master' of https://github.com/prebid/Prebid.js
Nov 30, 2019
f4e5979
Merge branch 'master' of https://github.com/prebid/Prebid.js
Dec 15, 2019
5cc8ba1
Fix code to comply for Prebid.js v3.0
Dec 15, 2019
c111737
Merge branch 'master' of https://github.com/prebid/Prebid.js
Dec 16, 2019
8d9425e
Merge branch 'master' into gamoshi_adaptor_v3_0
Dec 16, 2019
77eb20f
update Renderer default url to explicitly work with https
mmoses Dec 17, 2019
5c0cb04
Merge branch 'master' of https://github.com/prebid/Prebid.js
mmoses Dec 18, 2019
6a1398d
Merge branches 'gamoshi_adaptor_v3_0' and 'master' of https://github.…
mmoses Dec 18, 2019
8572fa4
Refactor video player sizes resolution
Dec 18, 2019
4e244e4
Merge remote-tracking branch 'origin/gamoshi_adaptor_v3_0' into gamos…
Dec 18, 2019
0b12d61
Refactor video player sizes resolution
Dec 18, 2019
b13267b
Update tests to not use exist property
Dec 18, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
293 changes: 293 additions & 0 deletions modules/gamoshiBidAdapter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,293 @@
import * as utils from '../src/utils';
import {registerBidder} from '../src/adapters/bidderFactory';
import {config} from '../src/config';
import {Renderer} from '../src/Renderer';
import {BANNER, VIDEO} from '../src/mediaTypes';

const ENDPOINTS = {
'gamoshi': 'https://rtb.gamoshi.io'
};

const DEFAULT_TTL = 360;

export const helper = {
getTopFrame: function () {
try {
return window.top === window ? 1 : 0;
} catch (e) {
}
return 0;
},
startsWith: function (str, search) {
return str.substr(0, search.length) === search;
},
getTopWindowDomain: function (url) {
const domainStart = url.indexOf('://') + '://'.length;
return url.substring(domainStart, url.indexOf('/', domainStart) < 0 ? url.length : url.indexOf('/', domainStart));
},

getMediaType: function (bid) {
if (bid.ext) {
if (bid.ext.media_type) {
return bid.ext.media_type.toLowerCase();
} else if (bid.ext.vast_url) {
return VIDEO;
} else {
return BANNER;
}
}
return BANNER;
}
};

export const spec = {
code: 'gamoshi',
aliases: ['gambid', 'cleanmedia', '9MediaOnline'],
supportedMediaTypes: ['banner', 'video'],

isBidRequestValid: function (bid) {
return !!bid.params.supplyPartnerId && utils.isStr(bid.params.supplyPartnerId) &&
(!bid.params['rtbEndpoint'] || utils.isStr(bid.params['rtbEndpoint'])) &&
(!bid.params.bidfloor || utils.isNumber(bid.params.bidfloor)) &&
(!bid.params['adpos'] || utils.isNumber(bid.params['adpos'])) &&
(!bid.params['protocols'] || Array.isArray(bid.params['protocols'])) &&
(!bid.params.instl || bid.params.instl === 0 || bid.params.instl === 1);
},

buildRequests: function (validBidRequests, bidderRequest) {
return validBidRequests.map(bidRequest => {
const {adUnitCode, auctionId, mediaTypes, params, sizes, transactionId} = bidRequest;
const baseEndpoint = params['rtbEndpoint'] || ENDPOINTS['gamoshi'];
const rtbEndpoint = `${baseEndpoint}/r/${params.supplyPartnerId}/bidr?rformat=open_rtb&reqformat=rtb_json&bidder=prebid` + (params.query ? '&' + params.query : '');
let url = config.getConfig('pageUrl') || bidderRequest.refererInfo.referer;

const rtbBidRequest = {
id: auctionId,
site: {
domain: helper.getTopWindowDomain(url),
page: url,
ref: bidderRequest.refererInfo.referer
},
device: {
ua: navigator.userAgent,
dnt: utils.getDNT() ? 1 : 0,
h: screen.height,
w: screen.width,
language: navigator.language
},
imp: [],
ext: {},
user: {
ext: {}
}
};
const gdprConsent = bidderRequest.gdprConsent;

if (gdprConsent && gdprConsent.consentString && gdprConsent.gdprApplies) {
rtbBidRequest.ext.gdpr_consent = {
consent_string: gdprConsent.consentString,
consent_required: gdprConsent.gdprApplies
};
rtbBidRequest.regs = {
ext: {
gdpr: gdprConsent.gdprApplies === true ? 1 : 0
}
};
rtbBidRequest.user = {
ext: {
consent: gdprConsent.consentString
}
}
}
const imp = {
id: transactionId,
instl: params.instl === 1 ? 1 : 0,
tagid: adUnitCode,
bidfloor: params.bidfloor || 0,
bidfloorcur: 'USD',
secure: 1
};

const hasFavoredMediaType =
params.favoredMediaType && this.supportedMediaTypes.includes(params.favoredMediaType);

if (!mediaTypes || mediaTypes.banner) {
if (!hasFavoredMediaType || params.favoredMediaType === BANNER) {
const bannerImp = Object.assign({}, imp, {
banner: {
w: sizes.length ? sizes[0][0] : 300,
h: sizes.length ? sizes[0][1] : 250,
pos: params.pos || 0,
topframe: utils.inIframe() ? 0 : 1
}
});
rtbBidRequest.imp.push(bannerImp);
}
}

if (mediaTypes && mediaTypes.video) {
if (!hasFavoredMediaType || params.favoredMediaType === VIDEO) {
const playerSize = mediaTypes.video.playerSize || sizes;
const videoImp = Object.assign({}, imp, {
video: {
protocols: params.protocols || [1, 2, 3, 4, 5, 6],
pos: params.pos || 0,
ext: {
context: mediaTypes.video.context
}
}
});

if (utils.isArray(playerSize[0])) {
videoImp.video.w = playerSize[0][0];
videoImp.video.h = playerSize[0][1];
} else if (utils.isNumber(playerSize[0])) {
videoImp.video.w = playerSize[0];
videoImp.video.h = playerSize[1];
} else {
videoImp.video.w = 300;
videoImp.video.h = 250;
}

rtbBidRequest.imp.push(videoImp);
}
}

let eids = [];
if (bidRequest && bidRequest.userId) {
addExternalUserId(eids, utils.deepAccess(bidRequest, `userId.id5id`), 'id5-sync.com', 'ID5ID');
addExternalUserId(eids, utils.deepAccess(bidRequest, `userId.tdid`), 'adserver.org', 'TDID');
}
if (eids.length > 0) {
rtbBidRequest.user.ext.eids = eids;
}

if (rtbBidRequest.imp.length === 0) {
return;
}

return {method: 'POST', url: rtbEndpoint, data: rtbBidRequest, bidRequest};
});
},

interpretResponse: function (serverResponse, bidRequest) {
const response = serverResponse && serverResponse.body;
if (!response) {
utils.logError('empty response');
return [];
}

const bids = response.seatbid.reduce((acc, seatBid) => acc.concat(seatBid.bid), []);
let outBids = [];

bids.forEach(bid => {
const outBid = {
requestId: bidRequest.bidRequest.bidId,
cpm: bid.price,
width: bid.w,
height: bid.h,
ttl: DEFAULT_TTL,
creativeId: bid.crid || bid.adid,
netRevenue: true,
currency: bid.cur || response.cur,
mediaType: helper.getMediaType(bid)
};

if (utils.deepAccess(bidRequest.bidRequest, 'mediaTypes.' + outBid.mediaType)) {
if (outBid.mediaType === BANNER) {
outBids.push(Object.assign({}, outBid, {ad: bid.adm}));
} else if (outBid.mediaType === VIDEO) {
const context = utils.deepAccess(bidRequest.bidRequest, 'mediaTypes.video.context');
outBids.push(Object.assign({}, outBid, {
vastUrl: bid.ext.vast_url,
vastXml: bid.adm,
renderer: context === 'outstream' ? newRenderer(bidRequest.bidRequest, bid) : undefined
}));
}
}
});
return outBids;
},

getUserSyncs: function (syncOptions, serverResponses, gdprConsent) {
const syncs = [];
const gdprApplies = gdprConsent && (typeof gdprConsent.gdprApplies === 'boolean') ? gdprConsent.gdprApplies : false;
const suffix = gdprApplies ? 'gc=' + encodeURIComponent(gdprConsent.consentString) : 'gc=missing';
serverResponses.forEach(resp => {
if (resp.body) {
const bidResponse = resp.body;
if (bidResponse.ext && Array.isArray(bidResponse.ext['utrk'])) {
bidResponse.ext['utrk'].forEach(pixel => {
const url = pixel.url + (pixel.url.indexOf('?') > 0 ? '&' + suffix : '?' + suffix);
return syncs.push({type: pixel.type, url});
});
}
if (Array.isArray(bidResponse.seatbid)) {
bidResponse.seatbid.forEach(seatBid => {
if (Array.isArray(seatBid.bid)) {
seatBid.bid.forEach(bid => {
if (bid.ext && Array.isArray(bid.ext['utrk'])) {
bid.ext['utrk'].forEach(pixel => {
const url = pixel.url + (pixel.url.indexOf('?') > 0 ? '&' + suffix : '?' + suffix);
return syncs.push({type: pixel.type, url});
});
}
});
}
});
}
}
});
return syncs;
}
};

function newRenderer(bidRequest, bid, rendererOptions = {}) {
const renderer = Renderer.install({
url: (bidRequest.params && bidRequest.params.rendererUrl) || (bid.ext && bid.ext.renderer_url) || 'https://s.gamoshi.io/video/latest/renderer.js',
config: rendererOptions,
loaded: false,
});
try {
renderer.setRender(renderOutstream);
} catch (err) {
utils.logWarn('Prebid Error calling setRender on renderer', err);
}
return renderer;
}

function renderOutstream(bid) {
bid.renderer.push(() => {
const unitId = bid.adUnitCode + '/' + bid.adId;
window['GamoshiPlayer'].renderAd({
id: unitId,
debug: window.location.href.indexOf('pbjsDebug') >= 0,
placement: document.getElementById(bid.adUnitCode),
width: bid.width,
height: bid.height,
events: {
ALL_ADS_COMPLETED: () => window.setTimeout(() => {
window['GamoshiPlayer'].removeAd(unitId);
}, 300)
},
vastUrl: bid.vastUrl,
vastXml: bid.vastXml
});
});
}

function addExternalUserId(eids, value, source, rtiPartner) {
if (utils.isStr(value)) {
eids.push({
source,
uids: [{
id: value,
ext: {
rtiPartner
}
}]
});
}
}

registerBidder(spec);
Loading