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

Updates from Prebid Master 20201015 #6

Merged
merged 102 commits into from
Oct 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
1704572
PubMatic BidAdapter: pass auctionId as default value for wiid param (…
pm-harshad-mane Sep 14, 2020
30a069c
Audigent HaloID User Id System Module (#5524)
antlauzon Sep 15, 2020
7da0521
Fix typo in TheMediaGrid Bid Adapter (#5589)
TheMediaGrid Sep 15, 2020
183ff52
Check localstorage availability before accessing it (#5616)
Swiiip Sep 15, 2020
f61be0c
Add Supply Supply Chain Object Module support for Yieldlab Adapter (#…
mirkorean Sep 15, 2020
cb733da
Livewrapped support for video (#5724)
bjorn-lw Sep 15, 2020
04ea603
Intentiq id value change (#5746)
yuvalgg Sep 16, 2020
298139f
add quantcast ID submodule (#5727)
mckurt Sep 16, 2020
bce32dc
upgrade ci resource (#5725)
Fawke Sep 16, 2020
140a67c
Rubicon analytics v2 (#5698)
robertrmartinez Sep 16, 2020
fd9a0d4
Add gdpr support to ablida bid adapter (#5741)
Sep 16, 2020
a3aa5f4
added onBidWon event (#5679)
adxpremium Sep 16, 2020
9452050
mapping spotx dealid to bid object (#5745)
khatibda Sep 16, 2020
bfb182a
fix broken unit tests for zeotap (#5758)
robertrmartinez Sep 16, 2020
a2c6128
Add guideline to check for GVL ID (#5757)
Fawke Sep 17, 2020
172980b
Added instream BID_WON tracking (#5481)
monis0395 Sep 17, 2020
db225e9
feat: add getEvents method to the public API (#5703)
gpolaert Sep 17, 2020
5911c6e
Prebid 4.8.0 Release
robertrmartinez Sep 17, 2020
cd4d0d8
Increment pre version
robertrmartinez Sep 17, 2020
89d829f
【MediaGoBidderAdapter】notify server if the page is secure and check m…
SylviaF Sep 18, 2020
6480715
ConnectAd Update: gvlid, better bidfloor support, transform type for …
rtuschkany Sep 19, 2020
743d6fc
No bid version 1.2.8 (#5630)
redaguermas Sep 21, 2020
f1793d3
adds support for zone and pubId params (#5728)
susyt Sep 21, 2020
e7501a9
Change the data type of gdpr and schain object in Payload (#5770)
thuyhq Sep 21, 2020
8ef4f9d
Update Openx analytics adapter (#5761)
kenan-gillet Sep 21, 2020
7c9c60d
Only set dimensions if can be resolved (#5769)
robertrmartinez Sep 21, 2020
b211409
Native support for Logicad adapter (#5742)
yuki-tsuchiya Sep 21, 2020
9297612
welect: update parameters to match backend specs of tcf2.0 (#5613)
nduitz Sep 22, 2020
52ff5e6
Initial checkin jixie adapter files (#5751)
jxdeveloper1 Sep 22, 2020
c210287
Rubicon Bid Adapter: Let host be configurable (#5779)
robertrmartinez Sep 22, 2020
4bddb0b
Rubicon Analytics Adapter: Custom Key Value reporting (#5778)
robertrmartinez Sep 22, 2020
b3e81e4
Prebid 4.9.0 Release
jsnellbaker Sep 22, 2020
540c7de
increment pre version
jsnellbaker Sep 22, 2020
1b932a0
Britepool user id module update (#5750)
bansawbanchee Sep 23, 2020
5f598b4
Add a new param cid to bridgewellBidAdapter (#5764)
rigelbibi Sep 23, 2020
8b9b86a
Refactor refererDetection to allow for URL discovery on AMP pages. (#…
mgriego Sep 23, 2020
6ea04f9
Intentiq id add url params (#5771)
yuvalgg Sep 24, 2020
7f2d81a
added instream video ad support (#5766)
drilon-kastrati Sep 24, 2020
80fc5b6
feat(sublimeBidAdapter): updating sublimeBidAdapter module (#5726)
fgcloutier Sep 24, 2020
27fe52a
Add GVL ID and bidder code to CriteoId module (#5781)
jesusalber1 Sep 24, 2020
3612308
Update BrightMountainMedia cookie sync URL (#5740)
Sep 24, 2020
f1ea594
Convert id5id to an object to support passing additional data points …
smenzer Sep 24, 2020
7aff389
Smaato: Support in-app use cases (#5765)
sbrosinski Sep 25, 2020
0fd7205
Added GVLID to Media.net Analytics Adapter (#5789)
monis0395 Sep 25, 2020
c8176d7
Add video ad support to ablida bid adapter (#5782)
Sep 25, 2020
05a5a96
Add adrelevantis adapter (#5735)
ghguo Sep 25, 2020
ecd05a3
Adnow bidder (#5738)
vingood Sep 25, 2020
b2f0c6d
Improve error and documentation for publisherId (#5788)
jsut Sep 25, 2020
280e957
SpotX bid adapter: add page parameter (#5784)
agdillon Sep 28, 2020
ebb51fb
Media.net Analytics improvements (#5755)
monis0395 Sep 28, 2020
c696e00
adagio Bid Adapter: add support for CCPA, COPPA (#5749)
osazos Sep 28, 2020
a054aa0
PubMatic analytics adapter: Not passing GDPR information (#5791)
pm-harshad-mane Sep 28, 2020
8168453
GumGum: adds support for new field - iriscat (#5790)
susyt Sep 29, 2020
eb9cf3f
fix a few id5 docs (#5793)
smenzer Sep 29, 2020
739bad8
New PubProvided Id UserId Submodule (#5767)
YerkovichM Sep 29, 2020
92e234c
standardize rubicon get config calls (#5780)
robertrmartinez Sep 29, 2020
242efdc
Prebid 4.10.0 Release
Sep 29, 2020
08e2bf2
Increment pre version
Sep 29, 2020
61e1485
Add Inmar bidder adapter (#5674)
zandree-owneriq Sep 30, 2020
083d76e
added detect referer (#5759)
ignat-one Sep 30, 2020
0c9bbf9
Qwarry bid adapter (#5662)
pro-nsk Sep 30, 2020
9573a42
Allow selection of supported default targeting keys at configuration …
mimenet Sep 30, 2020
1df6a22
cointrafficBidAdapter: added support responding in different currenci…
stsepelin Oct 1, 2020
303ccae
Send proper slot info in case of adUnitPath (#5810)
monis0395 Oct 1, 2020
c1c6aaa
Update to rubiconBidAdapter to include criteoId support (#5806)
mmoschovas Oct 1, 2020
804ff2f
appnexus bid adapter: criteo back to tpuids (#5808)
jsnellbaker Oct 1, 2020
907a9c7
Intentiq id add validation (#5797)
yuvalgg Oct 1, 2020
b5cf481
remove digitrust from rubicon bid adapter (#5798)
robertrmartinez Oct 5, 2020
ca22a45
add native preset handling and automatic price macro replacement (#5807)
mlequain Oct 5, 2020
664ec3b
fix some video request params (#5799)
robertrmartinez Oct 5, 2020
aa1e5e3
expose full user id config (including storage) to user id modules (#5…
smenzer Oct 6, 2020
ea498f9
Fix timeToFirstByte unit test (#5820)
Viewtiful Oct 6, 2020
8982e09
rubicon: adding pubcid support (#5824)
bretg Oct 6, 2020
16fabf4
Appnexus: Add omid support (#5821)
Fawke Oct 7, 2020
f907ee6
new userId module - neustar's fabrick (#5802)
andersonbd1 Oct 7, 2020
c57bab7
Integrate option to pass clickThrough urls to renderAd method (#5796)
renebaudisch Oct 7, 2020
ba1a35c
Add credentials and explicit options to CriteoIdSystem (#5822)
Swiiip Oct 7, 2020
e082c83
AdYouLike bidAdapter - Add information in bid request (#5828)
guiann Oct 7, 2020
84e7121
4.11.0 release
mkendall07 Oct 7, 2020
752bd27
4.12.0-pre
mkendall07 Oct 7, 2020
7d27095
IDx user id submodule (#5826)
rtoscani Oct 8, 2020
ab4f80a
Adding Test mode for the IronSource bidder (#5831)
liranbaruch Oct 8, 2020
32495f9
Adtelligent: Add new alias (#5825)
GeneGenie Oct 9, 2020
8449994
Add vuukle adapter (#5773)
Hamper Oct 9, 2020
b6bfbef
Handling video outstream in smartadserver adapter. (#5739)
tadam75 Oct 9, 2020
e39a812
add stroeerCoreBidAdapter (#5830)
Kubitini Oct 12, 2020
ad41a19
Added the ability to send multiple bids in one ad request for mediafo…
Niksok Oct 12, 2020
77293a4
Force refresh userId (#5819)
TLadd Oct 13, 2020
511e16a
Hybrid adapter. Added support In-Image format (#5754)
hybrid-ai Oct 13, 2020
a2c63e1
PubMatic Analytics: internal kgpv param support in analytics (#5849)
pm-harshad-mane Oct 13, 2020
666c82f
TrueReach Bidder Adapter: Added User Sync Support (#5846)
mmprebid Oct 13, 2020
1b76f45
Don't parse the querystring when extracting the protocolHost (#5851)
kero75 Oct 13, 2020
3bc0bf9
Add rubicon size 548 (#5853)
ACannuniRP Oct 13, 2020
c251ad5
PR Review Process: Adding RTD, UserId. General modernization. (#5829)
bretg Oct 13, 2020
916972b
ATS-analytics - add retry logic to not fire request for envelope ever…
mamatic Oct 14, 2020
c4d0f99
Add examples and tests for criteo User Id Module (#5838)
Swiiip Oct 14, 2020
681b4ea
Fix size validate (#5841)
r-ishigami Oct 14, 2020
e9d1fb5
fix adunit.bid undefined edge case (#5827)
Fawke Oct 14, 2020
4df3696
PubMatic Analytics: pass device platform related information (#5855)
pm-harshad-mane Oct 14, 2020
2c1cd89
Prebid 4.12.0 Release
robertrmartinez Oct 14, 2020
13a0425
git commit -m "Increment pre version"
robertrmartinez Oct 14, 2020
f545a56
add ooloAnalyticsAdapter (#5852)
roygiladi Oct 15, 2020
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
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ aliases:
docker:
# specify the version you desire here
- image: circleci/node:12.16.1
resource_class: xlarge
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
Expand Down Expand Up @@ -94,4 +94,4 @@ workflows:
- e2etest

experimental:
pipelines: true
pipelines: true
81 changes: 62 additions & 19 deletions PR_REVIEW.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,47 +6,90 @@ If the PR is for a standard bid adapter or a standard analytics adapter, just th
For modules and core platform updates, the initial reviewer should request an additional team member to review as a sanity check. Merge should only happen when the PR has 2 `LGTM` from the core team and a documentation PR if required.

### General PR review Process
- All required global and bidder-adapter rules defined in the [Module Rules](https://docs.prebid.org/dev-docs/module-rules.html) must be followed. Please review these rules often - we depend on reviewers to enforce them.
- Checkout the branch (these instructions are available on the github PR page as well).
- Verify PR is a single change type. Example, refactor OR bugfix. If more than 1 type, ask submitter to break out requests.
- Verify code under review has at least 80% unit test coverage. If legacy code has no unit test coverage, ask for unit tests to be included in the PR.
- Verify code under review has at least 80% unit test coverage. If legacy code doesn't have enough unit test coverage, require that additional unit tests to be included in the PR.
- Verify tests are green in Travis-ci + local build by running `gulp serve` | `gulp test`
- Verify no code quality violations are present from linting (should be reported in terminal)
- Make sure the code is not setting cookies or localstorage directly -- it must use the `StorageManager`.
- Review for obvious errors or bad coding practice / use best judgement here.
- If the change is a new feature / change to core prebid.js - review the change with a Tech Lead on the project and make sure they agree with the nature of change.
- If the change results in needing updates to docs (such as public API change, module interface etc), add a label for "needs docs" and inform the submitter they must submit a docs PR to update the appropriate area of Prebid.org **before the PR can merge**. Help them with finding where the docs are located on prebid.org if needed.
- Below are some examples of bidder specific updates that should require docs update (in their dev-docs/bidders/BIDDER.md file):
- If they support the GDPR consentManagement module and TCF1, add `gdpr_supported: true`
- If they support the GDPR consentManagement module and TCF2, add `tcf2_supported: true`
- If they support the US Privacy consentManagementUsp module, add `usp_supported: true`
- If they support one or more userId modules, add `userId: (list of supported vendors)`
- If they support video and/or native mediaTypes add `media_types: video, native`. Note that display is added by default. If you don't support display, add "no-display" as the first entry, e.g. `media_types: no-display, native`
- If they support COPPA, add `coppa_supported: true`
- If they support SChain, add `schain_supported: true`
- If their bidder doesn't work well with safeframed creatives, add `safeframes_ok: false`. This will alert publishers to not use safeframed creatives when creating the ad server entries for their bidder.
- If they're setting a deal ID in some scenarios, add `bidder_supports_deals: true`
- If all above is good, add a `LGTM` comment and request 1 additional core member to review.
- Once there is 2 `LGTM` on the PR, merge to master
- Ask the submitter to add a PR for documentation if applicable.
- If all above is good, add a `LGTM` comment and, if the change is in PBS-core or is an important module like the prebidServerBidAdapter, request 1 additional core member to review.
- Once there are 2 `LGTM` on the PR, merge to master
- Add a line into the [draft release](https://github.com/prebid/Prebid.js/releases) notes for this submission. If no draft release is available, create one using [this template]( https://gist.github.com/mkendall07/c3af6f4691bed8a46738b3675cb5a479)
- Add the PR to the appropriate project board (I.E. 1.23.0 Release) for the week, [see](https://github.com/prebid/Prebid.js/projects)

### New Adapter or updates to adapter process
- Follow steps above for general review process. In addition, please verify the following:
### Reviewing a New or Updated Bid Adapter
Documentation they're supposed to be following is https://docs.prebid.org/dev-docs/bidder-adaptor.html

Follow steps above for general review process. In addition, please verify the following:
- Verify that bidder has submitted valid bid params and that bids are being received.
- Verify that bidder is not manipulating the prebid.js auction in any way or doing things that go against the principles of the project. If unsure check with the Tech Lead.
- Verify that code re-use is being done properly and that changes introduced by a bidder don't impact other bidders.
- If the adapter being submitted is an alias type, check with the bidder contact that is being aliased to make sure it's allowed.
- All required global and bidder-adapter rules defined in the [Module Rules](https://docs.prebid.org/dev-docs/module-rules.html) must be followed. Please review these rules often - we depend on reviewers to enforce them.
- All bidder parameter conventions must be followed:
- Video params must be read from AdUnit.mediaTypes.video when available; however bidder config can override the ad unit.
- First party data must be read from [`fpd.context` and `fpd.user`](https://docs.prebid.org/dev-docs/publisher-api-reference.html#setConfig-fpd).
- 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 `getFloors()` function.
- Adapters cannot accept an schain parameter. Rather, they must look for the schain parameter at bidRequest.schain.
- The bidRequest page referrer must checked in addition to any bidder-specific parameter.
- If they're getting the COPPA flag, it must come from config.getConfig('coppa');

- Below are some examples of bidder specific updates that should require docs update (in their dev-docs/bidders/BIDDER.md file):
- If they support the GDPR consentManagement module and TCF1, add `gdpr_supported: true`
- If they support the GDPR consentManagement module and TCF2, add `tcf2_supported: true`
- If they support the US Privacy consentManagementUsp module, add `usp_supported: true`
- If they support one or more userId modules, add `userId: (list of supported vendors)`
- If they support video and/or native mediaTypes add `media_types: video, native`. Note that display is added by default. If you don't support display, add "no-display" as the first entry, e.g. `media_types: no-display, native`
- If they support COPPA, add `coppa_supported: true`
- If they support SChain, add `schain_supported: true`
- If their bidder doesn't work well with safeframed creatives, add `safeframes_ok: false`. This will alert publishers to not use safeframed creatives when creating the ad server entries for their bidder.
- If they're setting a deal ID in some scenarios, add `bidder_supports_deals: true`
- If they have an IAB Global Vendor List ID, add `gvl_id: ID`. There's no default.
- After a new adapter is approved, let the submitter know they may open a PR in the [headerbid-expert repository](https://github.com/prebid/headerbid-expert) to have their adapter recognized by the [Headerbid Expert extension](https://chrome.google.com/webstore/detail/headerbid-expert/cgfkddgbnfplidghapbbnngaogeldmop). The PR should be to the [bidder patterns file](https://github.com/prebid/headerbid-expert/blob/master/bidderPatterns.js), adding an entry with their adapter's name and the url the adapter uses to send and receive bid responses.

### Reviewing a New or Updated Analytics Adapter
Documentation they're supposed to be following is https://docs.prebid.org/dev-docs/integrate-with-the-prebid-analytics-api.html

No additional steps above the general review process and making sure it conforms to the [Module Rules](https://docs.prebid.org/dev-docs/module-rules.html).

### Reviewing a New or Updated User ID Sub-Module
Documentation they're supposed to be following is https://docs.prebid.org/dev-docs/modules/userId.html#id-providers

Follow steps above for general review process. In addition:
- Try running the new user ID module with a basic config and confirm it hits the endpoint and stores the results.
- the filename should be camel case ending with `IdSystem` (e.g. `myCompanyIdSystem.js`)
- the `const MODULE_NAME` value should be camel case ending with `Id` (e.g. `myCompanyId` )
- the response of the `decode` method should be an object with the key being ideally camel case similar to the module name and ending in `id` or `Id`, but in some cases this value is a shortened name and sometimes with the `id` part being all lowercase, provided there are no other uppercase letters. if there's no id or it's an invalid object, the response should be `undefined`. example "valid" values (although this is more style than a requirement)
- `mcid`
- `mcId`
- `myCompanyId`
- make sure they've added references of their new module everywhere required:
- modules/.submodules.json
- modules/userId/eids.js
- modules/userId/eids.md
- modules/userId/userId.md
- tests can go either within the userId_spec.js file or in their own _spec file if they wish
- GVLID is recommended in the *IdSystem file if they operate in EU
- make sure example configurations align to the actual code (some modules use the userId storage settings and allow pub configuration, while others handle reading/writing cookies on their own, so should not include the storage params in examples)
- the 3 available methods (getId, extendId, decode) should be used as they were intended
- decode (required method) should not be making requests to retrieve a new ID, it should just be decoding a response
- extendId (optional method) should not be making requests to retrieve a new ID, it should just be adding additional data to the id object
- getId (required method) should be the only method that gets a new ID (from ajax calls or a cookie/local storage). this ensures that decode and extend do not unnecessarily delay the auction in places where it is not expected.
- in the eids.js file, the source should be the actual domain of the provider, not a made up domain.
- in the eids.js file, the key in the array should be the same value as the key in the decode function
- make sure all supported config params align in the submodule js file and the docs / examples

### Reviewing a New or Updated Real-Time-Data Sub-Module
Documentation they're supposed to be following is https://docs.prebid.org/dev-docs/add-rtd-submodule.html

Follow steps above for general review process. In addition:
- The RTD Provider must include a `providerRtdProvider.md` file. This file must have example parameters and document a sense of what to expect: what should change in the bidrequest, or what targeting data should be added?
- Try running the new sub-module and confirm the provided test parameters.
- Make sure the sub-module is "phoning home" as early as possible, but not more often than needed.
- Consider whether the kind of data the module is obtaining could have privacy implications. If so, make sure they're utilizing the `consent` data passed to them.


## Ticket Coordinator

Each week, Prebid Org assigns one person to keep an eye on incoming issues and PRs. Every Monday morning a reminder is
Expand Down
52 changes: 46 additions & 6 deletions integrationExamples/gpt/userId_example.html
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,10 @@
var adUnits = [
{
code: 'test-div',
sizes: [[300,250],[300,600],[728,90]],
mediaTypes: {
banner: {}
banner: {
sizes: [[300,250],[300,600],[728,90]]
}
},
bids: [
{
Expand Down Expand Up @@ -133,6 +134,30 @@
// },
userSync: {
userIds: [{
name: "pubProvidedId",
params: {
eids: [{
source: "domain.com",
uids:[{
id: "value read from cookie or local storage",
atype: 1,
ext: {
stype: "ppuid" // allowable options are sha256email, DMP, ppuid for now
}
}]
},{
source: "3rdpartyprovided.com",
uids:[{
id: "value read from cookie or local storage",
atype: 3,
ext: {
stype: "sha256email"
}
}]
}],
eidsFunction: getHashedEmail // any user defined function that exists in the page
}
},{
name: "unifiedId",
params: {
partner: "prebid",
Expand Down Expand Up @@ -216,10 +241,10 @@
name: "sharedid",
expires: 28
}
},
},
{
name: 'lotamePanoramaId'
},
},
{
name: "liveIntentId",
params: {
Expand All @@ -232,8 +257,23 @@
}
},
{
name: "zeotapIdPlus"
}],
name: "zeotapIdPlus"
},
{
name: 'haloId',
storage: {
type: "cookie",
name: "haloId",
expires: 28
}
},
{
name: "quantcastId"
},
{
name: "criteo"
},
],
syncDelay: 5000,
auctionDelay: 1000
}
Expand Down
7 changes: 6 additions & 1 deletion modules/.submodules.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,19 @@
"identityLinkIdSystem",
"sharedIdSystem",
"intentIqIdSystem",
"zeotapIdPlusIdSystem"
"zeotapIdPlusIdSystem",
"haloIdSystem",
"quantcastIdSystem",
"idxIdSystem",
"fabrickIdSystem"
],
"adpod": [
"freeWheelAdserverVideo",
"dfpAdServerVideo"
],
"rtdModule": [
"browsiRtdProvider",
"audigentRtdProvider",
"jwplayerRtdProvider"
]
}
11 changes: 7 additions & 4 deletions modules/ablidaBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import * as utils from '../src/utils.js';
import {config} from '../src/config.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import { BANNER, NATIVE } from '../src/mediaTypes.js';
import { BANNER, NATIVE, VIDEO } from '../src/mediaTypes.js';

const BIDDER_CODE = 'ablida';
const ENDPOINT_URL = 'https://bidder.ablida.net/prebid';

export const spec = {
code: BIDDER_CODE,
supportedMediaTypes: [BANNER, NATIVE],
supportedMediaTypes: [BANNER, NATIVE, VIDEO],

/**
* Determines whether or not the given bid request is valid.
Expand All @@ -35,6 +35,8 @@ export const spec = {
let sizes = []
if (bidRequest.mediaTypes && bidRequest.mediaTypes[BANNER] && bidRequest.mediaTypes[BANNER].sizes) {
sizes = bidRequest.mediaTypes[BANNER].sizes;
} else if (bidRequest.mediaTypes[VIDEO] && bidRequest.mediaTypes[VIDEO].playerSize) {
sizes = bidRequest.mediaTypes[VIDEO].playerSize
}
const jaySupported = 'atob' in window && 'currentScript' in document;
const device = getDevice();
Expand All @@ -46,8 +48,9 @@ export const spec = {
referer: bidderRequest.refererInfo.referer,
jaySupported: jaySupported,
device: device,
adapterVersion: 3,
mediaTypes: bidRequest.mediaTypes
adapterVersion: 5,
mediaTypes: bidRequest.mediaTypes,
gdprConsent: bidderRequest.gdprConsent
};
return {
method: 'POST',
Expand Down
16 changes: 16 additions & 0 deletions modules/ablidaBidAdapter.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,22 @@ Module that connects to Ablida's bidder for bids.
}
}
]
}, {
code: 'video-ad',
mediaTypes: {
video: {
playerSize: [[640, 360]],
context: 'instream'
}
},
bids: [
{
bidder: 'ablida',
params: {
placementId: 'instream-demo'
}
}
]
}
];
```
21 changes: 19 additions & 2 deletions modules/adagioBidAdapter.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import find from 'core-js-pure/features/array/find.js';
import * as utils from '../src/utils.js';
import { config } from '../src/config.js';
import {registerBidder} from '../src/adapters/bidderFactory.js';
import { loadExternalScript } from '../src/adloader.js'
import JSEncrypt from 'jsencrypt/bin/jsencrypt.js';
Expand All @@ -9,7 +10,7 @@ import { getRefererInfo } from '../src/refererDetection.js';

export const BIDDER_CODE = 'adagio';
export const LOG_PREFIX = 'Adagio:';
export const VERSION = '2.3.0';
export const VERSION = '2.4.0';
export const FEATURES_VERSION = '1';
export const ENDPOINT = 'https://mp.4dex.io/prebid';
export const SUPPORTED_MEDIA_TYPES = ['banner'];
Expand Down Expand Up @@ -555,6 +556,16 @@ function _getGdprConsent(bidderRequest) {
return consent;
}

function _getCoppa() {
return {
required: config.getConfig('coppa') === true ? 1 : 0
};
}

function _getUspConsent(bidderRequest) {
return (utils.deepAccess(bidderRequest, 'uspConsent')) ? { uspConsent: bidderRequest.uspConsent } : false;
}

function _getSchain(bidRequest) {
if (utils.deepAccess(bidRequest, 'schain')) {
return bidRequest.schain;
Expand Down Expand Up @@ -643,6 +654,8 @@ export const spec = {
const site = internal.getSite(bidderRequest);
const pageviewId = internal.getPageviewId();
const gdprConsent = _getGdprConsent(bidderRequest) || {};
const uspConsent = _getUspConsent(bidderRequest) || {};
const coppa = _getCoppa();
const schain = _getSchain(validBidRequests[0]);
const adUnits = utils._map(validBidRequests, (bidRequest) => {
bidRequest.features = internal.getFeatures(bidRequest, bidderRequest);
Expand Down Expand Up @@ -672,7 +685,11 @@ export const spec = {
site: site,
pageviewId: pageviewId,
adUnits: groupedAdUnits[organizationId],
gdpr: gdprConsent,
regs: {
gdpr: gdprConsent,
coppa: coppa,
ccpa: uspConsent
},
schain: schain,
prebidVersion: '$prebid.version$',
adapterVersion: VERSION,
Expand Down
4 changes: 2 additions & 2 deletions modules/adheseBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -150,8 +150,8 @@ function getAccount(validBidRequests) {
}

function getId5Id(validBidRequests) {
if (validBidRequests[0] && validBidRequests[0].userId && validBidRequests[0].userId.id5id) {
return validBidRequests[0].userId.id5id;
if (validBidRequests[0] && validBidRequests[0].userId && validBidRequests[0].userId.id5id && validBidRequests[0].userId.id5id.uid) {
return validBidRequests[0].userId.id5id.uid;
}
}

Expand Down
Loading