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

refactor using ORTB conversion library #29

Open
wants to merge 115 commits into
base: master
Choose a base branch
from

Conversation

ahmadlob
Copy link
Contributor

@ahmadlob ahmadlob commented Jan 2, 2024

Type of change

  • Bugfix

  • Feature

  • New bidder adapter

  • Code style update (formatting, local variables)

  • Refactoring (no functional changes, no api changes)

  • Build related changes

  • CI related changes

  • Does this change affect user-facing APIs or examples documented on http://prebid.org?

  • Other

Description of change

Other information

mamatic and others added 30 commits November 27, 2023 09:00
* identityLinkIdSystem - liveramp - include gpp in 3p envelope retrieval

* identityLinkIdSystem - liveramp - adjust test description
* adxcgBidAdapter: fix convertTypes util import

* adxcgBidAdapter: remove previous import
* new boldwin bid adapter

* fix

* Restarting ci / circleci

* changes

* fixed conflicts

* added endpointId param

* kick off CircleCI tests

* gpp

* update sync url

---------

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>
Co-authored-by: Vladislav Isaiko <vladis@smartyads.com>
Co-authored-by: Mykhailo Yaremchuk <m.yaremchuk@smartyads.com>
Co-authored-by: Chris Huie <phoenixtechnerd@gmail.com>
Co-authored-by: federico <f.liccione@onetag.com>
* cookie deprecation label

* reverted unneeded changes made during development

* addressed feedback

* removed unnecessary else statement

* added comment for FIRST_PARTY_GVLID param

* ensure promise resolves when label is falsey

* addressed feedback

* removed async/await from getCookieDeprecationLabel

* updating tests

* more changes

* addressed feedback

* Small improvements

---------

Co-authored-by: Demetrio Girardi <dgirardi@prebid.org>
…and no conversion is done (#10736)

* Currency module: Don't block 'responsesReady' when rates are present and no conversion is needed

* Add test case for currency unnecessarily blocking auctions

* Update currency_spec.js

---------

Co-authored-by: Demetrio Girardi <dgirardi@prebid.org>
…n build (#10749)

* New adapter: concepx

* Syntax change

* Revert syntax change

* Defensive check for response from bidder server

* Add better validation for the request

* Merge branch 'master' of https://github.com/prebid/Prebid.js

* Don't append url on every buildrequest
Co-authored-by: v.raybaud <v.raybaud@criteo.com>
* Remove use of local storage

As requested, we remove the use of local storage.
prebid/Prebid.js#8689

* Update impactifyBidAdapter.js

* Add differents mediatypes to Impactify bidder

* Add differents mediatypes to Impactify bidder

* Add differents mediatypes to Impactify bidder

* Add format parameter for banner

* add getFloor

* add getFloor

* add getFloor

* add parsing of local storage

* delete unused var

* fix spacing with import

* Add local storage key management

* Adjustments

* Fix eids object

* Fix eids object

* Fix eids object

* Fix tests

* Remove check on the request banner size parameter

* Few adjustments

---------

Co-authored-by: Thomas De Stefano <thomas.destefano@impactify.io>
Co-authored-by: Pang Ronnie <pangronnie@Pangs-MacBook-Pro.local>
* Unruly Protected Audience Support

* Unruly Conditional Protected Audience Support

* Unruly map bidIds to AuctionConfigs

* Unruly: Update Protected Audience origin and descision logic URL.

* Unruly: Fix lint error

---------

Co-authored-by: Brian Haines <bhaines@tremorvideo.com>
…#10762)

* add relaido adapter

* remove event listener

* fixed UserSyncs and e.data

* fix conflicts

* add response placementID

* add bidrequest some param

---------

Co-authored-by: ishigami_shingo <s.ishigami@relaido.co.jp>
Co-authored-by: cmertv-sishigami <s.ishigami@cmertv.com>
Co-authored-by: t_bun <t.bun@cmertv.com>
Co-authored-by: n.maeura <n.maeura@cmertv.com>
* Missena Bid Adapter: add capping support

* Switch to safeJSONParse

* Update tests to cover capping
- invalid ad units are put into a voidAuIds array from
the ad server.
- this stores those ad units into local storage and prevents
calling to those ad units.
- also handles any values from metaData from the adserver response.
* TPMN Support Video

* add video param plcmt

* update ortb bcat,badv,bapp

* instream video is sound on default, outstream video sound off default

* remove VIDEO_ORTB_PARAMS, BANNER_ORTB_PARAMS

* fixed incorrect placement default format & update example

* update test case (Your tests failed on CircleCI)

* Revert "remove VIDEO_ORTB_PARAMS, BANNER_ORTB_PARAMS"

This reverts commit 2699115a76ed891ec7f911ad924206b399790ad9.

* Remove unnecessary code to meet guidelines.

* Remove unnecessary code to meet guidelines.

* fix Build fail

* delete logging code

* Remove OptionsObject(Credentials information needs to be sent.)

---------

Co-authored-by: changjun <changjun@tpmn.io>
Co-authored-by: yeongjaeju <yeongjae@tpmn.co.kr>
* Add dynamicAdBoost Module

* Add dynamicAdBoost spec file

* dynamicAdBoost: fix ES Lint

* dynamicAdBoost: ESLint fix

* dynamicAdBoost: ESLint fix

* dynamicAdBoost: fix ESLint

* dynamicAdBoost: removed unused log warn

* dynamicAdBoost: Fixed tests

* dynamicAdBoost: export init() function

* Delete dynamicAdBoost.md

* Delete dynamicAdBoost.js

* Delete dynamicAdBoost_spec.js

* Rename dynamicAdBoost to dynamicAdBoostRtdProvider

dynamicAdBoost is now submodule of the rtd

* dynamicAdBoost tests

* Added disconnect() and IO support check

* dynamicAdBoostRtdProvider: markViewad added

* dynamicAdBoostRtdProvider: markViewed added

* dynamicAdBoostRtdProvider.js: observer fix

* dynamicAdBoostRtdProvider.js: observer fix

* dynamicAdBoostRtdProvider.js: ESLint fix

* dynamicAdBoostRtdProvider.js: var to let

* dynamicAdBoostRtdProvider.js: moved timers

* dynamicAdBoostRtdProvider_spec.js: using clock

* dynamicAdBoostRtdProvider_spec.js: fakeTimer

* Update adloader.js

Adding dynamicAdBoost module to approved list
* Flipp Bid Adapter: initial release

* Added flippBidAdapter

* OFF-372 Support DTX/Hero in flippBidAdapter (#2)

* support creativeType

* OFF-422 flippBidAdapter handle AdTypes

---------

Co-authored-by: Jairo Panduro <jpanduro@blackbird-lab.com>

* OFF-465 Add getUserKey logic to prebid.js adapter (#3)

* Support cookie sync and uid

* address pr feedback

* remove redundant check

* OFF-500 Support "startCompact" param for Prebid.JS #4

* set startCompact default value (#5)

* fix docs

* use client bidding endpoint

* update unit testing endpoint

* OFF-876 [Prebid Adapter] Check userKey for empty string (#6)

* add more checks to userKey

* update document

* add uuid format statement

* modify docs

* fix network id

---------

Co-authored-by: Jairo Panduro <jpanduro@blackbird-lab.com>
* Add EID translation for sovrn

* Review comments: fix test
* Unruly Protected Audience Support

* Unruly Conditional Protected Audience Support

* Unruly map bidIds to AuctionConfigs

* Unruly: Update Protected Audience origin and descision logic URL.

* Unruly: Fix lint error

* Unruly: report Prebid.js version

* Unruly: Fix tests

* Unruly: Remove Extra Comma

* Unruly: Switch to strings to see if tests pass on Prebid.js

---------

Co-authored-by: Brian Haines <bhaines@tremorvideo.com>
* new adapter - MgidX

* add new required param host

* Revert "add new required param host"

This reverts commit 3bafe782a492d5d4b35476f8117260b08a237f2f.

* refactoring generating request.gdpr object

* fix test

---------

Co-authored-by: Evgeny Nagorny <evjman@gmail.com>
Co-authored-by: xmgiddev <>
…ecat`, `site.content.cat` and `site.content.language` (#10761)

* added support for gpp consent string

* changed test for nextMillenniumBidAdapter

* added some tests

* added site.pagecat, site.content.cat and site.content.language to request

* lint fix

* formated code

* formated code

* formated code

* pachage-lock with prebid

* pachage-lock with prebid

* formatted code
const converter = ortbConverter({
context: {
netRevenue: true,
ttl: 60
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check the value in viper

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

netRevenue and ttl are required properties of bid responses - provide a default for them,
default bidResponse.ttl (when not specified in ORTB response.seatbid[].bid[].exp)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the value in viper is different per exchange, but it looks default should be "300"
check in viper:
com.taboola.model.common.CommonConfigProvider#getIntegerProxy
@barRubi

return imp;
},
request(buildRequest, imps, bidderRequest, context) {
const req = buildRequest(imps, bidderRequest, context);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

call helper method "buildTaboolaRequest" for example

pageType: ortb2?.ext?.data?.pageType || ortb2?.ext?.data?.section || bidRequest.params.pageType
}
};
data.id = bidderRequest.bidderRequestId;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all lines here related to the request within the new helper function "buildTaboolaRequest"

function getImps(validBidRequests) {
return validBidRequests.map((bid, id) => {
function getImps(bidRequest, imp) {
return bidRequest.map((bid, id) => {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bidRequest is a single element

imp(buildImp, bidRequest, context) {
let imp = buildImp(bidRequest, context);
const imps = getImps([bidRequest], imp);
deepSetValue(bidRequest, 'imp', imps);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no need for this line

banner: getBanners(bid, position),
tagid: tagId
}
deepSetValue(imp, 'banner', getBanners(bid, position));
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

deepSetValue is for inner object

return [];
}

const {bidResponses, cur: currency} = getBidResponses(serverResponse);
if (!serverResponse || !serverResponse.body) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

null check for:
!serverResponse.body.seatbid

}
]
}
const multiRequest = spec.buildRequests([defaultBidRequest, defaultBidRequest], bidderRequest);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

adding new test checking that the convertor passed any not specific new field into imp/req

bev-devops and others added 23 commits January 2, 2024 12:35
* Initial implementation of kulturemedia bid adapter

* Changing outstream to instream

* Enriching md file with test examples

* Changing nId to networkId

* Cleaning up md file

* Submitting rebranded dxkultureBidAdapter

* dxkultureBidAdapter - Improve UserSyncs

* Include gdpr/usp params in iframe usersync url

* Add gdpr/usp data to iframe usync urls

* Cleaning up testing html file

* Adding outstream support

* Updating exchange endpoint

* Resolve requests test

* Resolving iframe/pixel priority when iframeEnabled/pixelEnabled

* Improving userSync filtering condition

* Prioritize iframe user syncing

---------

Co-authored-by: Danijel Predarski <danijel.p@whitecitysoft.com>
Co-authored-by: dani-nova <73398187+dani-nova@users.noreply.github.com>
Co-authored-by: Slavisa Petkovic <trpeze@gmail.com>
Co-authored-by: Slavisa Petkovic <32300768+spetkovic@users.noreply.github.com>
Added a test case for native ads
…(#10849)

* initial commit

* adapted buildRequests function

* refinement pfilter and bcat

* refinement

* adapted tests for isBidRequestValid,buildRequests

* adaptations for test

* finished building stvBidAdapter.js

* finished: ran tests, coverage 99%

* update: rename w->srw, h->srh

* adapt stvBidAdapter.md

* remove dspx from stv adapters

* some changes (missing: getUserSyncs, but is the same as in
radsBidAdapter)

* added checks in getUserSyncs; ran tests

* added schain support (94.8% coverage)

* correct schain encoding

* added serializeUids and adapted serializeSChain

---------

Co-authored-by: theo_ <theo_@IDEA3>
* Update skipRate handling in priceFloors.js and add unit tests for the changes.

* Update wording on tests and remove unecessary spread.
…de tracker for pubmatic 3.Skipped adding pubmatic bid in logger (#10897)
* Removed linting issues

* Fixed merge issues.

* Bugfix on storageTool.

* Adnuntius Bid Adapter: bugfix handling ad response

Handle no voidAuIds better.

---------

Co-authored-by: Mikael Lundin <mikael@coil.se>
Co-authored-by: Mikael Lundin <mikael-lundin@users.noreply.github.com>
…sampling and improve transparency (#10792)

* track billing events and modify sampling pattern

* review updates
* feat: pangle multi format

* feat: multi format
…912)

Those checks are no longer useful so we decided to remove them.
ahmadlob pushed a commit that referenced this pull request Feb 18, 2024
* add Rise adapter

* fixes

* change param isOrg to org

* Rise adapter

* change email for rise

* fix circle failed

* bump

* bump

* bump

* remove space

* Upgrade Rise adapter to 5.0

* added isWrapper param

* addes is_wrapper parameter to documentation

* added is_wrapper to test

* removed isWrapper

* Rise Bid Adapter: support Coppa param (#24)

* MinuteMedia Bid Adapter: support Coppa param (#25)

* Revert "MinuteMedia Bid Adapter: support Coppa param (#25)" (#26)

This reverts commit 66c4e7b46121afc5331c8bca6e2fc972fc55f090.

* bump

* update coppa fetch

* setting coppa param update

* update Coppa tests

* update test naming

* Rise Bid Adapter: support plcmt and sua (#27)

* update minuteMediaBidAdapter - support missing params (#29)

* support gpp for minutemedia adapter

* removed spaces

* removed extra character

---------

Co-authored-by: Noam Tzuberi <noam.tzuberi@ironsrc.com>
Co-authored-by: noamtzu <noamtzu@gmail.com>
Co-authored-by: Noam Tzuberi <noamtzu@users.noreply.github.com>
Co-authored-by: Laslo Chechur <laslo.chechur@ironsrc.com>
Co-authored-by: OronW <41260031+OronW@users.noreply.github.com>
Co-authored-by: lasloche <62240785+lasloche@users.noreply.github.com>
Co-authored-by: YakirLavi <73641910+YakirLavi@users.noreply.github.com>
Co-authored-by: YakirLavi <yakir.lavi@risecodes.com>
Co-authored-by: Inna Yaretsky <>
ahmadlob pushed a commit that referenced this pull request May 19, 2024
Co-authored-by: “Nick <“nick.llerandi”@kargo.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.