prebid.js 9.40.0 → 9.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/33acrossAnalyticsAdapter.js +1 -1
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/BTBidAdapter.js +1 -1
- package/dist/adagioAnalyticsAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adagioUtils.js +1 -1
- package/dist/addefendBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adlooxRtdProvider.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adstirBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgAnalyticsAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/agmaAnalyticsAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/aniviewBidAdapter.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/beopBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bitmediaBidAdapter.js +1 -1
- package/dist/braveUtils.js +1 -1
- package/dist/bridBidAdapter.js +1 -1
- package/dist/bridgeuppBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/chunk-core.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/contxtfulBidAdapter.js +1 -1
- package/dist/conversantAnalyticsAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/dailymotionBidAdapter.js +1 -1
- package/dist/dependencies.json +4 -0
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/dxkultureBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/epomDspBidAdapter.js +1 -0
- package/dist/equativBidAdapter.js +1 -1
- package/dist/eskimiBidAdapter.js +1 -1
- package/dist/euidIdSystem.js +1 -1
- package/dist/exadsBidAdapter.js +1 -1
- package/dist/excoBidAdapter.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/greenbidsBidAdapter.js +1 -1
- package/dist/greenbidsRtdProvider.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hypelabBidAdapter.js +1 -1
- package/dist/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/imdsBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/inmobiBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/intentIqAnalyticsAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/kimberliteBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/liveIntentId.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/luceadBidAdapter.js +1 -1
- package/dist/mabidderBidAdapter.js +1 -1
- package/dist/madsenseBidAdapter.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/medianetBidAdapter.js +1 -1
- package/dist/medianetUtils.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/missenaBidAdapter.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/nobidAnalyticsAdapter.js +1 -1
- package/dist/nobidBidAdapter.js +1 -1
- package/dist/nodalsAiRtdProvider.js +1 -1
- package/dist/not-for-prod/prebid.js +170 -168
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openxBidAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/orbidderBidAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/raveltechRtdProvider.js +1 -0
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/retailspotBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseUtils.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/showheroes-bsBidAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/snigelBidAdapter.js +1 -1
- package/dist/sonobiBidAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/sparteoBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/tappxBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/terceptAnalyticsAdapter.js +1 -1
- package/dist/themoneytizerBidAdapter.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/uid2IdSystem.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/unrulyBidAdapter.js +1 -1
- package/dist/vidazooUtils.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahooAdsBidAdapter.js +1 -1
- package/dist/yandexBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/yieldoneBidAdapter.js +1 -1
- package/gulpfile.js +2 -1
- package/integrationExamples/gpt/raveltechRtdProvider_example.html +379 -0
- package/libraries/braveUtils/index.js +1 -1
- package/libraries/riseUtils/index.js +1 -1
- package/modules/epomDspBidAdapter.js +177 -0
- package/modules/epomDspBidAdapter.md +170 -0
- package/modules/equativBidAdapter.js +14 -3
- package/modules/goldbachBidAdapter.js +160 -300
- package/modules/raveltechRtdProvider.js +131 -0
- package/modules/raveltechRtdProvider.md +61 -0
- package/modules/seedtagBidAdapter.js +1 -0
- package/modules/yandexBidAdapter.js +4 -0
- package/modules/yieldoneBidAdapter.js +6 -0
- package/package.json +2 -2
- package/test/spec/modules/epomDspBidAdapter_spec.js +73 -0
- package/test/spec/modules/equativBidAdapter_spec.js +19 -1
- package/test/spec/modules/goldbachBidAdapter_spec.js +227 -499
- package/test/spec/modules/raveltechRtdProvider_spec.js +108 -0
- package/test/spec/modules/seedtagBidAdapter_spec.js +56 -2
- package/test/spec/modules/yandexBidAdapter_spec.js +6 -0
- package/test/spec/modules/yieldoneBidAdapter_spec.js +40 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Overview
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
Module Name: Epom DSP Bid Adapter
|
|
5
|
+
Module Type: Bidder Adapter
|
|
6
|
+
Maintainer: support@epom.com
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
# Description
|
|
10
|
+
|
|
11
|
+
The **Epom DSP Bid Adapter** allows publishers to connect with the Epom DSP Exchange for programmatic advertising. It supports banner formats and adheres to the OpenRTB protocol.
|
|
12
|
+
|
|
13
|
+
## Supported Features
|
|
14
|
+
|
|
15
|
+
| Feature | Supported |
|
|
16
|
+
|---------------------|-----------|
|
|
17
|
+
| **TCF 2.0 Support** | ✅ Yes |
|
|
18
|
+
| **US Privacy (CCPA)** | ✅ Yes |
|
|
19
|
+
| **GPP Support** | ✅ Yes |
|
|
20
|
+
| **Media Types** | Banner |
|
|
21
|
+
| **Floors Module** | ✅ Yes |
|
|
22
|
+
| **User Sync** | iframe, image |
|
|
23
|
+
| **GDPR Compliance** | ✅ Yes |
|
|
24
|
+
|
|
25
|
+
# Integration Guide for Publishers
|
|
26
|
+
|
|
27
|
+
## Basic Configuration
|
|
28
|
+
|
|
29
|
+
Below is an example configuration for integrating the Epom DSP Bid Adapter into your Prebid.js setup.
|
|
30
|
+
|
|
31
|
+
### Sample Banner Ad Unit
|
|
32
|
+
|
|
33
|
+
```javascript
|
|
34
|
+
var adUnits = [
|
|
35
|
+
{
|
|
36
|
+
code: 'epom-banner-div',
|
|
37
|
+
mediaTypes: {
|
|
38
|
+
banner: {
|
|
39
|
+
sizes: [
|
|
40
|
+
[300, 250],
|
|
41
|
+
[728, 90],
|
|
42
|
+
[160, 600],
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
bids: [
|
|
47
|
+
{
|
|
48
|
+
bidder: 'epom_dsp',
|
|
49
|
+
params: {
|
|
50
|
+
endpoint: 'https://bidder.epommarket.com/bidder/v2_5/bid?key=d0b9fb9de9dfbba694dfe75294d8e45a'
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
];
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
# Params
|
|
61
|
+
|
|
62
|
+
The following parameters can be configured in the `params` object for the **Epom DSP Bid Adapter**.
|
|
63
|
+
|
|
64
|
+
| Parameter | Type | Required | Description |
|
|
65
|
+
|--------------|----------|----------|-------------------------------------------------------------------------|
|
|
66
|
+
| `endpoint` | string | Yes | The URL of the Epom DSP bidding endpoint. |
|
|
67
|
+
| `adUnitId` | string | No | Unique identifier for the Ad Unit. |
|
|
68
|
+
| `bidfloor` | number | No | Minimum CPM value for the bid in USD. |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
# Global Settings (Optional)
|
|
73
|
+
|
|
74
|
+
You can define **global configuration parameters** for the **Epom DSP Bid Adapter** using `pbjs.setBidderConfig`. This is **optional** and allows centralized control over bidder settings.
|
|
75
|
+
|
|
76
|
+
### Example Global Configuration
|
|
77
|
+
|
|
78
|
+
```javascript
|
|
79
|
+
pbjs.setBidderConfig({
|
|
80
|
+
bidders: ['epom_dsp'],
|
|
81
|
+
config: {
|
|
82
|
+
epomSettings: {
|
|
83
|
+
endpoint: 'https://bidder.epommarket.com/bidder/v2_5/bid?key=d0b9fb9de9dfbba694dfe75294d8e45a'
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
# Response Format
|
|
92
|
+
|
|
93
|
+
The **Epom DSP Bid Adapter** complies with the OpenRTB protocol and returns responses in the following format:
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"bids": [
|
|
98
|
+
{
|
|
99
|
+
"requestId": "12345",
|
|
100
|
+
"cpm": 1.50,
|
|
101
|
+
"currency": "USD",
|
|
102
|
+
"width": 300,
|
|
103
|
+
"height": 250,
|
|
104
|
+
"ad": "<div>Ad content</div>",
|
|
105
|
+
"creativeId": "abc123",
|
|
106
|
+
"ttl": 300,
|
|
107
|
+
"netRevenue": true
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Response Fields
|
|
114
|
+
|
|
115
|
+
| Field | Type | Description |
|
|
116
|
+
|--------------|----------|--------------------------------------------------|
|
|
117
|
+
| `requestId` | string | Unique identifier for the bid request. |
|
|
118
|
+
| `cpm` | number | Cost per thousand impressions (CPM) in USD. |
|
|
119
|
+
| `currency` | string | Currency of the bid (default: USD). |
|
|
120
|
+
| `width` | number | Width of the ad unit in pixels. |
|
|
121
|
+
| `height` | number | Height of the ad unit in pixels. |
|
|
122
|
+
| `ad` | string | HTML markup for rendering the ad. |
|
|
123
|
+
| `creativeId` | string | Identifier for the creative. |
|
|
124
|
+
| `ttl` | number | Time-to-live for the bid (in seconds). |
|
|
125
|
+
| `netRevenue` | boolean | Indicates whether the CPM is net revenue. |
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
# GDPR and Privacy Compliance
|
|
130
|
+
|
|
131
|
+
The **Epom DSP Bid Adapter** supports GDPR and CCPA compliance. Consent information can be passed via:
|
|
132
|
+
|
|
133
|
+
- `bidderRequest.gdprConsent`
|
|
134
|
+
- `bidderRequest.uspConsent`
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
# Support
|
|
139
|
+
|
|
140
|
+
For integration assistance, contact [Epom Support](mailto:support@epom.com).
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
# Examples
|
|
145
|
+
|
|
146
|
+
## Basic Banner Ad Unit
|
|
147
|
+
|
|
148
|
+
```javascript
|
|
149
|
+
var adUnits = [
|
|
150
|
+
{
|
|
151
|
+
code: 'epom-banner',
|
|
152
|
+
mediaTypes: {
|
|
153
|
+
banner: {
|
|
154
|
+
sizes: [
|
|
155
|
+
[300, 250],
|
|
156
|
+
[728, 90],
|
|
157
|
+
[160, 600],
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
bids: [
|
|
162
|
+
{
|
|
163
|
+
bidder: 'epom_dsp',
|
|
164
|
+
params: {
|
|
165
|
+
endpoint: 'https://bidder.epommarket.com/bidder/v2_5/bid?key=d0b9fb9de9dfbba694dfe75294d8e45a'
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
]
|
|
169
|
+
}
|
|
170
|
+
];
|
|
@@ -14,11 +14,11 @@ import { deepAccess, deepSetValue, logError, logWarn, mergeDeep } from '../src/u
|
|
|
14
14
|
const BIDDER_CODE = 'equativ';
|
|
15
15
|
const COOKIE_SYNC_ORIGIN = 'https://apps.smartadserver.com';
|
|
16
16
|
const COOKIE_SYNC_URL = `${COOKIE_SYNC_ORIGIN}/diff/templates/asset/csync.html`;
|
|
17
|
+
const DEFAULT_TTL = 300;
|
|
17
18
|
const LOG_PREFIX = 'Equativ:';
|
|
18
19
|
const PID_STORAGE_NAME = 'eqt_pid';
|
|
19
20
|
|
|
20
21
|
let nwid = 0;
|
|
21
|
-
|
|
22
22
|
let impIdMap = {};
|
|
23
23
|
|
|
24
24
|
/**
|
|
@@ -61,6 +61,14 @@ function getFloor(bid, mediaType, width, height, currency) {
|
|
|
61
61
|
.floor || bid.params.bidfloor || -1;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
+
/**
|
|
65
|
+
* Gets value of the local variable impIdMap
|
|
66
|
+
* @returns {*} Value of impIdMap
|
|
67
|
+
*/
|
|
68
|
+
export function getImpIdMap() {
|
|
69
|
+
return impIdMap;
|
|
70
|
+
};
|
|
71
|
+
|
|
64
72
|
/**
|
|
65
73
|
* Evaluates impressions for validity. The entry evaluated is considered valid if NEITHER of these conditions are met:
|
|
66
74
|
* 1) it has a `video` property defined for `mediaTypes.video` which is an empty object
|
|
@@ -135,7 +143,10 @@ export const spec = {
|
|
|
135
143
|
serverResponse.body.seatbid
|
|
136
144
|
.filter(seat => seat?.bid?.length)
|
|
137
145
|
.forEach(seat =>
|
|
138
|
-
seat.bid.forEach(bid =>
|
|
146
|
+
seat.bid.forEach(bid => {
|
|
147
|
+
bid.impid = impIdMap[bid.impid];
|
|
148
|
+
bid.ttl = typeof bid.exp === 'number' && bid.exp > 0 ? bid.exp : DEFAULT_TTL;
|
|
149
|
+
})
|
|
139
150
|
);
|
|
140
151
|
}
|
|
141
152
|
|
|
@@ -193,7 +204,7 @@ export const spec = {
|
|
|
193
204
|
export const converter = ortbConverter({
|
|
194
205
|
context: {
|
|
195
206
|
netRevenue: true,
|
|
196
|
-
ttl:
|
|
207
|
+
ttl: DEFAULT_TTL
|
|
197
208
|
},
|
|
198
209
|
|
|
199
210
|
imp(buildImp, bidRequest, context) {
|