Skip to content

Commit

Permalink
Merge branch 'prebid:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
jefftmahoney authored Jan 10, 2025
2 parents 93d24ef + baf8a17 commit 995334c
Show file tree
Hide file tree
Showing 119 changed files with 2,273 additions and 269 deletions.
2 changes: 2 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ Please give a short description and check the matching checkboxes to help us rev
Please make the PR writeable. This allows us to fix typos, grammar and linting errors ourselves, which makes
merging and reviewing a lot faster for everybody.
⚠️ The documentation is merged after the related code changes are merged and release ⚠️
-->

## 🏷 Type of documentation

Check failure on line 11 in .github/pull_request_template.md

View workflow job for this annotation

GitHub Actions / run markdownlint

First line in a file should be a top-level heading

.github/pull_request_template.md:11 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## 🏷 Type of documentation"] https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md041.md
Expand Down
40 changes: 33 additions & 7 deletions _data/sidebar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,14 @@
sectionTitle:
subgroup: 0

- sbSecId: 0
title: Statement on Sustainability
link: /overview/statement-on-sustainability.html
isHeader: 0
isSectionHeader: 0
sectionTitle:
subgroup: 0

- sbSecId: 0
title: Developers
link: /developers.html
Expand Down Expand Up @@ -1808,6 +1816,22 @@
sectionTitle:
subgroup: 0

- sbSecId: 7
title: FAQs
link: /faq/faq.html
isHeader: 0
isSectionHeader: 0
sectionTitle:
subgroup: 0

- sbSecId: 7
title: Blog
link: https://prebid.org/blog/
isHeader: 0
isSectionHeader: 0
sectionTitle:
subgroup: 0

- sbSecId: 7
title: Privacy Resources
link:
Expand Down Expand Up @@ -1839,20 +1863,22 @@
subgroup: 1

- sbSecId: 7
title: FAQs
link: /faq/faq.html
isHeader: 0
title: Sustainability Resources
link:
isHeader: 1
headerId: sustainability
isSectionHeader: 0
sectionTitle:
subgroup: 0
subgroup: 2

- sbSecId: 7
title: Blog
link: https://prebid.org/blog/
title: Sustainability Portal
link: /support/sustainability-portal.html
isHeader: 0
isSectionHeader: 0
sectionTitle:
subgroup: 0
subgroup: 2


#-------------- Tools --------------|

Expand Down
12 changes: 10 additions & 2 deletions _includes/code/mobile-sdk.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,17 @@
</ul>
<div class="tab-content" id="code-tab-content">
<div class="tab-pane fade show active" id="{{ include.id }}-kotlin" role="tabpanel" aria-labelledby="{{ include.id }}-kotlin-tab">
{{ include.kotlin | markdownify }}
<div class="highlight">
<pre class="highlight language-kotlin">
<code class="language-kotlin">{{ include.kotlin | xml_escape }}</code>
</pre>
</div>
</div>
<div class="tab-pane fade" id="{{ include.id }}-swift" role="tabpanel" aria-labelledby="{{ include.id }}-swift-tab">
{{ include.swift | markdownify }}
<div class="highlight">
<pre class="highlight language-swift">
<code class="language-swift">{{ include.swift | xml_escape }}</code>
</pre>
</div>
</div>
</div>
35 changes: 35 additions & 0 deletions _includes/mobile/adunit-config-android.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
Each ad unit in the Original API is a subclass of the `AdUnit` class, which provides the following properties and methods for additional configuration.

### Arbitrary OpenRTB

(requires SDK v2.3.1)

Prebid SDK allows the customization of the OpenRTB request on the impression level using the `setImpORTBConfig()` function:

``` kotlin
adUnit.setImpOrtbConfig(
"{" +
" \"bidfloor\": 0.01," +
" \"banner\": {" +
" \"battr\": [1,2,3,4]" +
" }" +
"}"
);
```

The parameter passed to `setImpOrtbConfig()` will be merged into the respective `imp` object for this Ad Unit. For instance, the above example will add the `$.imp[0].bidfloor` and `$.imp[0].banner.battr` parameters to the bid request.

To empty out a previously provided impression config, just set it to the empty string:

``` swift
adUnit.setImpOrtbConfig("")
```

### Auto Refresh

#### setAutoRefreshPeriodMillis
Expand Down Expand Up @@ -33,3 +58,13 @@ Using the following method, you can set the impression-level [GPID](https://docs
``` kotlin
adUnit?.gpid = "/36117602/hnp-sfgate.com/Homepage/AP300"
```

### Ad Position

The `adPosition` property allows developers to specify the position of the ad within the publisher's content. This property maps to the `pos` field in the OpenRTB specification under the `imp[].banner` or `imp[].video` objects, depending on the ad format. The possible values for this field could be found in the [respective specification](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list--placement-positions-).

You can set `adPosition` by using the following method:

```kotlin
adUnit.setAdPosition(AdPosition.FOOTER);
```
30 changes: 29 additions & 1 deletion _includes/mobile/adunit-config-ios.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,29 @@
Each ad unit in the original integration method is a subclass of the `AdUnit` class, which provides the following properties and methods for the additional configuration.

### Arbitrary OpenRTB

(requires SDK v2.3.1)

Prebid SDK allows the customization of the OpenRTB request on the ad unit level using the `setImpORTBConfig()` function:

``` swift
adUnit.setImpORTBConfig("{\"bidfloor\":0.01,\"banner\":{\"battr\":[1,2,3,4]}}")
```

The parameter passed to `setImpORTBConfig()` will be merged into the respective `imp` object for this Ad Unit. For instance, the above example will add the `$.imp[0].bidfloor` and `$.imp[0].banner.battr` parameters to the bid request.

To empty out a previously provided impression config, just set it to the empty string:

``` swift
adUnit.setImpORTBConfig("")
```

### Autorefresh

#### setAutoRefreshMillis
{:.no_toc}

If set on a given banner adunit, the `fetchDemand` function will be called every `periodMillis` until `stopAutoRefresh` is called. Each call to `fetchDemand` will invoke the `onComplete` function. This refresh only pertains to Prebid Mobile and not to any ad server refresh processes. It is suggested that the adServes refresh be turned off.
If set on a given banner ad unit, the `fetchDemand` function will be called every `periodMillis` until `stopAutoRefresh` is called. Each call to `fetchDemand` will invoke the `onComplete` function. This refresh only pertains to Prebid Mobile and not to any ad server refresh processes. It is suggested that the adServes refresh be turned off.

#### stopAutoRefresh
{:.no_toc}
Expand All @@ -29,3 +47,13 @@ Using the following method, you can set the impression-level [GPID](https://docs
``` swift
adUnit.setGPID("/36117602/hnp-sfgate.com/Homepage/AP300")
```

### Ad Position

The `adPosition` property allows developers to specify the position of the ad within the publisher's content. This property maps to the `pos` field in the OpenRTB specification under the `imp[].banner` or `imp[].video` objects, depending on the ad format. The possible values for this field could be found in the [respective specification](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list--placement-positions-).

You can set `adPosition` by using the following property:

```swift
adUnit.adPosition = .footer
```
9 changes: 9 additions & 0 deletions _includes/mobile/rendering-adunit-config-android.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
### Ad Position

The `adPosition` property allows developers to specify the position of the ad within the publisher's content. This property maps to the `pos` field in the OpenRTB specification under the `imp[].banner` or `imp[].video` objects, depending on the ad format. The possible values for this field could be found in the [respective specification](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list--placement-positions-).

You can set `adPosition` by using the following method:

```kotlin
adUnit.setAdPosition(AdPosition.FOOTER);
```
9 changes: 9 additions & 0 deletions _includes/mobile/rendering-adunit-config-ios.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
### Ad Position

The `adPosition` property allows developers to specify the position of the ad within the publisher's content. This property maps to the `pos` field in the OpenRTB specification under the `imp[].banner` or `imp[].video` objects, depending on the ad format. The possible values for this field could be found in the [respective specification](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list--placement-positions-).

You can set `adPosition` by using the following property:

```swift
adUnit.adPosition = .footer
```
Binary file modified assets/images/prebid-server/module-example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions dev-docs/analytics/yandex.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Disclosure: The adapter utilizes the Metrica Tag build based on [github.com/yand

2. **Insert Counter Initialization Code:**

Retrieve the counter initialization code from the Yandex Metrica settings page at `https://metrica.yandex.com/settings?id={counterId}`, where `{counterId}` is your counter ID, and embed it into your website's HTML.
Retrieve the counter initialization code from the Yandex Metrica settings page at [metrica.yandex.com/r/settings](https://metrica.yandex.com/r/settings), and embed it into your website's HTML.

3. **Initialize the Adapter in Prebid.js:**

Expand All @@ -43,4 +43,4 @@ Disclosure: The adapter utilizes the Metrica Tag build based on [github.com/yand

## Accessing Analytics Data

You can view the collected analytics data in the Yandex Metrica dashboard. Navigate to [metrika.yandex.com/dashboard](https://metrika.yandex.com/dashboard) and look for the Prebid Analytics section to analyze your data.
You can view the collected analytics data in the Yandex Metrica dashboard. Navigate to [metrika.yandex.com/r/stat/prebid_events](https://metrika.yandex.com/r/stat/prebid_events) to analyze your data.
2 changes: 2 additions & 0 deletions dev-docs/bidder-adaptor.md
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,7 @@ Here is a sample array entry for `validBidRequests[]`:
bidderRequestId: "15246a574e859f",
bidRequestsCount: 1,
bidderRequestsCount: 1,
auctionsCount: 1,
bidderWinsCount: 0,
userId: {...},
userIdAsEid: {...},
Expand All @@ -304,6 +305,7 @@ Other notes:
* **Transaction ID** (see [note](#tid-warning)) is unique for each ad unit within a call to `requestBids()`, but same across bidders. This is the ID that enables DSPs to recognize the same impression coming in from different supply sources.
* **Bid Request Count** is the number of times `requestBids()` has been called for this ad unit.
* **Bidder Request Count** is the number of times `requestBids()` has been called for this ad unit and bidder.
* **Auctions Count** is the number of times `requestBids()` has been called for this ad unit excluding the duplicates generated by twin adUnits.
* **userId** is where bidders can look for IDs offered by the various [User ID modules](/dev-docs/modules/userId.html#prebidjs-adapters).
* **userIdAsEid** is the EID-formatted version of `userId`.
* **ortb2** a copy of `bidderRequest.ortb2` (see below), provided here for convenience.
Expand Down
2 changes: 1 addition & 1 deletion dev-docs/bidders/admatic.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ coppa_supported: true
gpp_sids: tcfeu, tcfca, usnat, usstate_all, usp
schain_supported: true
dchain_supported: false
userIds: criteo, id5Id, sharedId, unifiedId
userIds: all
safeframes_ok: true
floors_supported: true
multiformat_supported: will-bid-on-any
Expand Down
2 changes: 1 addition & 1 deletion dev-docs/bidders/admaticde.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ coppa_supported: true
gpp_sids: tcfeu, tcfca, usnat, usstate_all, usp
schain_supported: true
dchain_supported: false
userIds: criteo, id5Id, sharedId, unifiedId
userIds: all
safeframes_ok: true
floors_supported: true
aliasCode: admatic
Expand Down
115 changes: 115 additions & 0 deletions dev-docs/bidders/adport.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
---
layout: bidder
title: AdPort
description: Prebid AdPort Bidder Adapter
aliasCode: adverxo
pbjs: true
pbs: false
pbs_app_supported: false
biddercode: adport
userIds:
media_types: banner, native, video
schain_supported: true
dchain_supported: false
ortb_blocking_supported: true
floors_supported: true
multiformat_supported: will-bid-on-any
tcfeu_supported: false
dsa_supported: false
gvl_id: none
usp_supported: false
coppa_supported: false
gpp_sids: none
userId: no
safeframes_ok: false
deals_supported: true
fpd_supported: true
prebid_member: false
privacy_sandbox: no
sidebarType: 1
---

### Note

The AdPort Bidding adapter requires setup and approval before beginning. Please reach out to <prebid@adport.com> for
more details.

### Bid Params

{: .table .table-bordered .table-striped }
| Name | Scope | Description | Example | Type |
|----------|----------|-----------------------|---------------------------|----------|
| `adUnitId` | required | Unique identifier for the ad unit in AdPort platform. | `1` | `integer` |
| `auth` | required | Authentication token provided by AdPort platform for the AdUnit. |`'61336e75e414c77c367eq5c47c2599ce80a8032b'` | `string` |

### Setting First Party Data (FPD)

Publishers should use the `ortb2` method of setting First Party Data. The following fields are supported:

- ortb2.site.\*
- ortb2.app.\*
- ortb2.user.\*

Example first party data:

```javascript
pbjs.setConfig({
ortb2: {
site: {
keywords: "kw1,kw2",
content: {
title: "title1",
series: "series1"
}
},
user: {
keywords: "a,b",
gender: "M",
yob: 1984
}
}
});
```

### ORTB Blocking

AdPort supports the next blocking parameters:

- Blocked advertisers list (`badv`) is an array of domains as strings.
- Blocked apps list (`bapp`) is an array of apps names as strings, for mobile apps in Google Play Store, these should be
bundle or package names (e.g. com.foo.mygame). For apps in Apple App Store, these should be a numeric ID.
- Blocked categories list (`bcat`) is an array of IAB categories as strings.
- Blocked attributes list (`battr`) is an array of integers. Refer to section 5.3 of the IAB specification for a list of
attributes.

#### Globally defined ORTB Blocking

```javascript
pbjs.setConfig({
ortb2: {
badv: ["domain1.com", "domain2.com"],
bapp: ["com.foo.mygame", "284708449"],
bcat: ["IAB23-1", "IAB23-5", "IAB25-3", "IAB25-2"]
}
});
```

#### ORTB Blocking specific only to the AdPort bidder

```javascript
pbjs.setBidderConfig({
bidders: ['adport'], // Or alias
config: {
ortb2: {
badv: ["domain1.com", "domain2.com"],
bapp: ["com.foo.mygame"],
bcat: ["IAB23-1", "IAB23-5", "IAB25-3", "IAB25-2"]
}
}
});
```

#### Media Type defined ORTB Blocking

Additionally `battr` ORTB blocking param may be set on media types to specify blocked creative
attributes. Refer to section 5.3 of the IAB specification for a list of attributes.
Loading

0 comments on commit 995334c

Please sign in to comment.