mirror of
https://github.com/prebid/openrtb.git
synced 2026-06-14 05:56:34 +03:00
ORTB + AdCOM 202303 Updates (#8)
* ORTB + AdCOM 202303 Updates * Bump Major Version * Copy Paste Errors * Fix Mod File * Keep On 1.16 * Revert Go Mod Version * Rename plcmnt to plcmt To Align With Native * Final Spec Updates * Fix VideoPlcmtNoContent * Update Category Taxonomies
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# openrtb [](https://pkg.go.dev/github.com/prebid/openrtb/v18) [](https://github.com/prebid/openrtb/actions/workflows/test.yml)
|
||||
# openrtb [](https://pkg.go.dev/github.com/prebid/openrtb/v19) [](https://github.com/prebid/openrtb/actions/workflows/test.yml)
|
||||
|
||||
[OpenRTB](https://iabtechlab.com/standards/openrtb/), [AdCOM](https://iabtechlab.com/standards/openmedia) and [OpenRTB Dynamic Native Ads](https://iabtechlab.com/standards/openrtb-native/) types for [Go programming language](https://golang.org/)
|
||||
|
||||
- [openrtb2](openrtb2/) - [OpenRTB](https://iabtechlab.com/standards/openrtb/) [2.5](https://iabtechlab.com/wp-content/uploads/2016/07/OpenRTB-API-Specification-Version-2-5-FINAL.pdf), [2.6](https://iabtechlab.com/wp-content/uploads/2022/04/OpenRTB-2-6_FINAL.pdf)
|
||||
- [openrtb2](openrtb2/) - [OpenRTB](https://iabtechlab.com/standards/openrtb/) [2.5](https://iabtechlab.com/wp-content/uploads/2016/07/OpenRTB-API-Specification-Version-2-5-FINAL.pdf), [2.6](https://github.com/InteractiveAdvertisingBureau/openrtb2.x/blob/main/2.6.md)
|
||||
- [openrtb3](openrtb3/) - [OpenRTB](https://iabtechlab.com/standards/openrtb/) [3.0](https://github.com/InteractiveAdvertisingBureau/openrtb) (can lag behind because official spec is constantly updated without version bump, feel free to PR)
|
||||
- [adcom1](adcom1/) - [AdCOM](https://iabtechlab.com/standards/openmedia/) [1.0](https://github.com/InteractiveAdvertisingBureau/AdCOM) (can lag behind because official spec is constantly updated without version bump, feel free to PR)
|
||||
- [native1](native1/) - [OpenRTB Dynamic Native Ads API](https://iabtechlab.com/standards/openrtb-native/) [1.2](https://iabtechlab.com/wp-content/uploads/2016/07/OpenRTB-Native-Ads-Specification-Final-1.2.pdf)
|
||||
@@ -14,19 +14,19 @@ This library uses [Go modules](https://golang.org/ref/mod) ([tl;dr](https://blog
|
||||
# Using
|
||||
|
||||
```bash
|
||||
go get -u "github.com/prebid/openrtb/v18/..."
|
||||
go get -u "github.com/prebid/openrtb/v19/..."
|
||||
```
|
||||
|
||||
```go
|
||||
import (
|
||||
openrtb2 "github.com/prebid/openrtb/v18/openrtb2"
|
||||
openrtb2 "github.com/prebid/openrtb/v19/openrtb2"
|
||||
|
||||
openrtb3 "github.com/prebid/openrtb/v18/openrtb3"
|
||||
adcom1 "github.com/prebid/openrtb/v18/adcom1"
|
||||
openrtb3 "github.com/prebid/openrtb/v19/openrtb3"
|
||||
adcom1 "github.com/prebid/openrtb/v19/adcom1"
|
||||
|
||||
native1 "github.com/prebid/openrtb/v18/native1"
|
||||
nreq "github.com/prebid/openrtb/v18/native1/request"
|
||||
nres "github.com/prebid/openrtb/v18/native1/response"
|
||||
native1 "github.com/prebid/openrtb/v19/native1"
|
||||
nreq "github.com/prebid/openrtb/v19/native1/request"
|
||||
nres "github.com/prebid/openrtb/v19/native1/response"
|
||||
)
|
||||
```
|
||||
|
||||
@@ -63,7 +63,7 @@ Pointer | Omitempty | When to use
|
||||
|
||||
Using both pointer and `omitempty` is mostly just to save traffic / generate more "canonical" (strict) JSON.
|
||||
|
||||
## Documentation ([pkg.go.dev](https://pkg.go.dev/github.com/prebid/openrtb/v18))
|
||||
## Documentation ([pkg.go.dev](https://pkg.go.dev/github.com/prebid/openrtb/v19))
|
||||
- [Godoc: documenting Go code](http://blog.golang.org/godoc-documenting-go-code)
|
||||
- Each entity (type, struct key or constant) should be documented
|
||||
- Ideally, copy-paste descriptions as-is, but feel free to omit section numbers, so just `<GoTypeName> defines <copy-pasted description from spec>`
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
# adcom1 [](https://pkg.go.dev/github.com/prebid/openrtb/v18/adcom1)
|
||||
# adcom1 [](https://pkg.go.dev/github.com/prebid/openrtb/v19/adcom1)
|
||||
|
||||
[AdCOM](https://iabtechlab.com/standards/openmedia/) [1.0](https://github.com/InteractiveAdvertisingBureau/AdCOM) types for [Go programming language](https://golang.org/)
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
. "github.com/onsi/ginkgo/extensions/table"
|
||||
. "github.com/onsi/gomega"
|
||||
|
||||
. "github.com/prebid/openrtb/v18/adcom1"
|
||||
. "github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
var _ = DescribeTable(
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package adcom1
|
||||
|
||||
// AutoRefreshTrigger represents a list of triggers that result in an ad slot refreshing.
|
||||
type AutoRefreshTrigger int8
|
||||
|
||||
// Triggers support by a placement or required by an ad.
|
||||
const (
|
||||
AutoRefreshTriggerUnknown AutoRefreshTrigger = 0
|
||||
AutoRefreshTriggerUserAction AutoRefreshTrigger = 1 // Refresh triggered by user-initiated action such as scrolling.
|
||||
AutoRefreshTriggerEvent AutoRefreshTrigger = 2 // Event-driven content change. For example, ads refresh when the football game score changes on the page.
|
||||
AutoRefreshTriggerTime AutoRefreshTrigger = 3 // Time-based refresh. Ads refresh on a predefined time interval even without user activity.
|
||||
)
|
||||
@@ -7,10 +7,11 @@ type CategoryTaxonomy int64
|
||||
//
|
||||
// Values of 500+ hold vendor-specific codes.
|
||||
const (
|
||||
CatTaxIABContent10 CategoryTaxonomy = 1 // 1 IAB Content Category Taxonomy 1.0.
|
||||
CatTaxIABContent20 CategoryTaxonomy = 2 // 2 IAB Content Category Taxonomy 2.0: www.iab.com/guidelines/taxonomy
|
||||
CatTaxIABProduct10 CategoryTaxonomy = 3 // 3 IAB Ad Product Taxonomy 1.0.
|
||||
CatTaxIABAudience11 CategoryTaxonomy = 4 // 4 IAB Audience Taxonomy 1.1.
|
||||
CatTaxIABContent21 CategoryTaxonomy = 5 // 5 IAB Content Category Taxonomy 2.1.
|
||||
CatTaxIABContent22 CategoryTaxonomy = 6 // 6 IAB Content Category Taxonomy 2.2
|
||||
CatTaxIABContent10 CategoryTaxonomy = 1 // IAB Tech Lab Content Category Taxonomy 1.0: Deprecated, and recommend NOT be used since it does not have SCD flags.
|
||||
CatTaxIABContent20 CategoryTaxonomy = 2 // IAB Tech Lab Content Category Taxonomy 2.0: Deprecated, and recommend NOT be used since it does not have SCD flags.
|
||||
CatTaxIABProduct10 CategoryTaxonomy = 3 // IAB Tech Lab Ad Product Taxonomy 1.0.
|
||||
CatTaxIABAudience11 CategoryTaxonomy = 4 // IAB Tech Lab Audience Taxonomy 1.1.
|
||||
CatTaxIABContent21 CategoryTaxonomy = 5 // IAB Tech Lab Content Category Taxonomy 2.1.
|
||||
CatTaxIABContent22 CategoryTaxonomy = 6 // IAB Tech Lab Content Category Taxonomy 2.2.
|
||||
CatTaxIABContent30 CategoryTaxonomy = 7 // IAB Tech Lab Content Category Taxonomy 3.0.
|
||||
)
|
||||
|
||||
+9
-5
@@ -1,11 +1,15 @@
|
||||
package adcom1
|
||||
|
||||
// FeedType represents types of feeds, typically for audio.
|
||||
// FeedType represents types of feeds for audio.
|
||||
type FeedType int8
|
||||
|
||||
// Types of feeds, typically for audio.
|
||||
// Types of feeds for audio content.
|
||||
const (
|
||||
FeedMusicService FeedType = 1 // Music Service
|
||||
FeedRadioBroadcast FeedType = 2 // FM/AM Broadcast
|
||||
FeedPodcast FeedType = 3 // Podcast
|
||||
FeedMusicService FeedType = 1 // AOD - Music Streaming Service
|
||||
FeedRadioBroadcast FeedType = 2 // LIVE - FM/AM broadcast: Live content broadcast over the air but also available via online streaming.
|
||||
FeedPodcast FeedType = 3 // AOD - Podcast: Original, pre-recorded content distributed as episodes in a series.
|
||||
FeedCatchUpRadio FeedType = 4 // AOD - Catch-up Radio: recorded segment of a radio show that was originally broadcast live.
|
||||
FeedWebRadio FeedType = 5 // LIVE - Web Radio: Live content only available via online streaming, not as AM/FM broadcast.
|
||||
FeedVideoGame FeedType = 6 // MISC - Video Game: Background audio in video games.
|
||||
FeedTextToSpeech FeedType = 7 // MISC - Text To Speech: Audio books, website plugin that can read article.
|
||||
)
|
||||
|
||||
@@ -12,7 +12,7 @@ type VideoPlacement struct {
|
||||
// integer
|
||||
// Definition:
|
||||
// Placement subtype.
|
||||
// Refer to List: Placement Subtypes - Video.
|
||||
// Refer to List: Plcmt Subtypes - Video.
|
||||
PType VideoPlacementSubtype `json:"ptype,omitempty"`
|
||||
|
||||
// Attribute:
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
package adcom1
|
||||
|
||||
// VideoPlacementSubtype represents types of video placements derived largely from the IAB Digital Video Guidelines.
|
||||
// To be sent using the placement attribute in the Video object.
|
||||
// DEPRECATED AS OF OPENRTB 2.6-202303.
|
||||
// Proposed removal of this list and associated attribute in 2024.
|
||||
type VideoPlacementSubtype int8
|
||||
|
||||
// Types of video placements derived largely from the IAB Digital Video Guidelines.
|
||||
const (
|
||||
VideoInStream VideoPlacementSubtype = 1 // In-Stream: Played before, during or after the streaming video content that the consumer has requested (e.g., Pre-roll, Mid-roll, Post-roll).
|
||||
VideoInBanner VideoPlacementSubtype = 2 // In-Banner: Exists within a web banner that leverages the banner space to deliver a video experience as opposed to another static or rich media format. The format relies on the existence of display ad inventory on the page for its delivery.
|
||||
VideoInArticle VideoPlacementSubtype = 3 // In-Article: Loads and plays dynamically between paragraphs of editorial content; existing as a standalone branded message.
|
||||
VideoInFeed VideoPlacementSubtype = 4 // In-Feed: Found in content, social, or product feeds.
|
||||
VideoAlwaysVisible VideoPlacementSubtype = 5 // Interstitial/Slider/Floating: Covers the entire or a portion of screen area, but is always on screen while displayed (i.e. cannot be scrolled out of view).
|
||||
VideoPlacementInStream VideoPlacementSubtype = 1 // In-Stream: Played before, during or after the streaming video content that the consumer has requested (e.g., Pre-roll, Mid-roll, Post-roll).
|
||||
VideoPlacementInBanner VideoPlacementSubtype = 2 // In-Banner: Exists within a web banner that leverages the banner space to deliver a video experience as opposed to another static or rich media format. The format relies on the existence of display ad inventory on the page for its delivery.
|
||||
VideoPlacementInArticle VideoPlacementSubtype = 3 // In-Article: Loads and plays dynamically between paragraphs of editorial content; existing as a standalone branded message.
|
||||
VideoPlacementInFeed VideoPlacementSubtype = 4 // In-Feed: Found in content, social, or product feeds.
|
||||
VideoPlacementAlwaysVisible VideoPlacementSubtype = 5 // Interstitial/Slider/Floating: Covers the entire or a portion of screen area, but is always on screen while displayed (i.e. cannot be scrolled out of view).
|
||||
)
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package adcom1
|
||||
|
||||
// VideoPlacementSubtype represents the the various types of video placements in accordance with updated IAB Digital Video Guidelines.
|
||||
// To be sent using the plcmt attribute in Video object.
|
||||
type VideoPlcmtSubtype int8
|
||||
|
||||
// Types of video placements derived largely from the IAB Digital Video Guidelines.
|
||||
const (
|
||||
// VideoPlcmtInstream represents pre-roll, mid-roll, and post-roll ads that are played
|
||||
// before, during or after the streaming video content that the consumer has requested.
|
||||
// Instream video must be set to “sound on” by default at player start, or have
|
||||
// explicitly clear user intent to watch the video content. While there may be other
|
||||
// content surrounding the player, the video content must be the focus of the user’s
|
||||
// visit. It should remain the primary content on the page and the only video player
|
||||
// in-view capable of audio when playing. If the player converts to floating/sticky
|
||||
// subsequent ad calls should accurately convey the updated player size.
|
||||
VideoPlcmtInstream VideoPlcmtSubtype = 1
|
||||
|
||||
// VideoPlcmtAccompanyingContent represents pre-roll, mid-roll, and post-roll ads that
|
||||
// are played before, during, or after streaming video content. The video player loads
|
||||
// and plays before, between, or after paragraphs of text or graphical content, and
|
||||
// starts playing only when it enters the viewport. Accompanying content should only
|
||||
// start playback upon entering the viewport. It may convert to a floating/sticky player
|
||||
// as it scrolls off the page.
|
||||
VideoPlcmtAccompanyingContent VideoPlcmtSubtype = 2
|
||||
|
||||
// VideoPlcmtInterstitial represents video ads that are played without video content.
|
||||
// During playback, it must be the primary focus of the page and take up the majority
|
||||
// of the viewport and cannot be scrolled out of view. This can be in placements like
|
||||
// in-app video or slideshows.
|
||||
VideoPlcmtInterstitial VideoPlcmtSubtype = 3
|
||||
|
||||
// VideoPlcmtNoContext represents no content / standalone video ads that are played
|
||||
// without streaming video content. This can be in placements like slideshows, native
|
||||
// feeds, in-content or sticky/floating.
|
||||
VideoPlcmtNoContent VideoPlcmtSubtype = 4
|
||||
)
|
||||
@@ -1,9 +1,7 @@
|
||||
module github.com/prebid/openrtb/v18
|
||||
module github.com/prebid/openrtb/v19
|
||||
|
||||
go 1.16
|
||||
|
||||
retract v18.0.0 // Published with the wrong module version.
|
||||
|
||||
require (
|
||||
github.com/onsi/ginkgo v1.16.1
|
||||
github.com/onsi/gomega v1.11.0
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# native1 [](https://pkg.go.dev/github.com/prebid/openrtb/v18/native1)
|
||||
# native1 [](https://pkg.go.dev/github.com/prebid/openrtb/v19/native1)
|
||||
|
||||
[OpenRTB Dynamic Native Ads API](https://iabtechlab.com/standards/openrtb-native/) [1.2](https://iabtechlab.com/wp-content/uploads/2016/07/OpenRTB-Native-Ads-Specification-Final-1.2.pdf) section "7 Reference Lists/Enumerations" types for [Go programming language](https://golang.org/)
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# native1/request [](https://pkg.go.dev/github.com/prebid/openrtb/v18/native1/request)
|
||||
# native1/request [](https://pkg.go.dev/github.com/prebid/openrtb/v19/native1/request)
|
||||
|
||||
[OpenRTB Dynamic Native Ads API](https://iabtechlab.com/standards/openrtb-native/) [1.2](https://iabtechlab.com/wp-content/uploads/2016/07/OpenRTB-Native-Ads-Specification-Final-1.2.pdf) section "4 Native Ad Request Markup Details" types for [Go programming language](https://golang.org/)
|
||||
|
||||
@@ -3,7 +3,7 @@ package request
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/native1"
|
||||
"github.com/prebid/openrtb/v19/native1"
|
||||
)
|
||||
|
||||
// 4.6 Data Object
|
||||
|
||||
@@ -3,7 +3,7 @@ package request
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/native1"
|
||||
"github.com/prebid/openrtb/v19/native1"
|
||||
)
|
||||
|
||||
// 4.7 Event Trackers Request Object
|
||||
|
||||
@@ -3,7 +3,7 @@ package request
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/native1"
|
||||
"github.com/prebid/openrtb/v19/native1"
|
||||
)
|
||||
|
||||
// 4.4 Image Object
|
||||
|
||||
@@ -8,7 +8,7 @@ package request
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/native1"
|
||||
"github.com/prebid/openrtb/v19/native1"
|
||||
)
|
||||
|
||||
// 4.1 Native Markup Request Object
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"io/ioutil"
|
||||
"path/filepath"
|
||||
|
||||
. "github.com/prebid/openrtb/v18/native1/request"
|
||||
. "github.com/prebid/openrtb/v19/native1/request"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/ginkgo/extensions/table"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package request
|
||||
|
||||
import (
|
||||
"github.com/prebid/openrtb/v18/openrtb2"
|
||||
"github.com/prebid/openrtb/v19/openrtb2"
|
||||
)
|
||||
|
||||
// 4.5 Video Object
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# native1/response [](https://pkg.go.dev/github.com/prebid/openrtb/v18/native1/response)
|
||||
# native1/response [](https://pkg.go.dev/github.com/prebid/openrtb/v19/native1/response)
|
||||
|
||||
[OpenRTB Dynamic Native Ads API](https://iabtechlab.com/standards/openrtb-native/) [1.2](https://iabtechlab.com/wp-content/uploads/2016/07/OpenRTB-Native-Ads-Specification-Final-1.2.pdf) section "5 Native Ad Response Markup Details" types for [Go programming language](https://golang.org/)
|
||||
|
||||
@@ -3,7 +3,7 @@ package response
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/native1"
|
||||
"github.com/prebid/openrtb/v19/native1"
|
||||
)
|
||||
|
||||
// 5.5 Object: Data
|
||||
|
||||
@@ -3,7 +3,7 @@ package response
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/native1"
|
||||
"github.com/prebid/openrtb/v19/native1"
|
||||
)
|
||||
|
||||
// 5.8 Event Tracker Response Object
|
||||
|
||||
@@ -3,7 +3,7 @@ package response
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/native1"
|
||||
"github.com/prebid/openrtb/v19/native1"
|
||||
)
|
||||
|
||||
// 5.4 Object: Image
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"io/ioutil"
|
||||
"path/filepath"
|
||||
|
||||
. "github.com/prebid/openrtb/v18/native1/response"
|
||||
. "github.com/prebid/openrtb/v19/native1/response"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/ginkgo/extensions/table"
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
# openrtb2 [](https://pkg.go.dev/github.com/prebid/openrtb/v18/openrtb2)
|
||||
# openrtb2 [](https://pkg.go.dev/github.com/prebid/openrtb/v19/openrtb2)
|
||||
|
||||
[OpenRTB](https://iabtechlab.com/standards/openrtb/) [2.6](https://iabtechlab.com/wp-content/uploads/2022/04/OpenRTB-2-6_FINAL.pdf) types for [Go programming language](https://golang.org/)
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// Object: App
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// 3.2.8 Object: Audio
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// 3.2.6 Object: Banner
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// 4.3.3 Object: Bid
|
||||
|
||||
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// 3.2.1 Object: BidRequest
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"io/ioutil"
|
||||
"path/filepath"
|
||||
|
||||
. "github.com/prebid/openrtb/v18/openrtb2"
|
||||
. "github.com/prebid/openrtb/v19/openrtb2"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/ginkgo/extensions/table"
|
||||
|
||||
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/openrtb3"
|
||||
"github.com/prebid/openrtb/v19/openrtb3"
|
||||
)
|
||||
|
||||
// 4.3.1 Object: BidResponse
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"io/ioutil"
|
||||
"path/filepath"
|
||||
|
||||
. "github.com/prebid/openrtb/v18/openrtb2"
|
||||
. "github.com/prebid/openrtb/v19/openrtb2"
|
||||
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/ginkgo/extensions/table"
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// 3.2.16 Object: Content
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// 3.2.18 Object: Device
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// Object: DOOH
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// 3.2.19 Object: Geo
|
||||
|
||||
+9
-1
@@ -19,7 +19,7 @@ type Imp struct {
|
||||
// string; required
|
||||
// Description:
|
||||
// A unique identifier for this impression within the context of
|
||||
// the bid request (typically, starts with 1 and increments.
|
||||
// the bid request (typically, starts with 1 and increments).
|
||||
ID string `json:"id"`
|
||||
|
||||
// Attribute:
|
||||
@@ -218,6 +218,14 @@ type Imp struct {
|
||||
// the epoch).
|
||||
DT float64 `json:"dt,omitempty"`
|
||||
|
||||
// Attribute:
|
||||
// refresh
|
||||
// Type:
|
||||
// object
|
||||
// Description:
|
||||
// Details about ad slots being refreshed automatically. (Section 3.2.33)
|
||||
Refresh *Refresh `json:"refresh,omitempty"`
|
||||
|
||||
// Attribute:
|
||||
// ext
|
||||
// Type:
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// 3.2.9 Object: Native
|
||||
|
||||
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// 3.2.17 Object: Producer
|
||||
|
||||
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// 3.2.15 Object: Publisher
|
||||
|
||||
+13
-1
@@ -1,6 +1,10 @@
|
||||
package openrtb2
|
||||
|
||||
import "github.com/prebid/openrtb/v18/adcom1"
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// Object: Qty
|
||||
//
|
||||
@@ -36,4 +40,12 @@ type Qty struct {
|
||||
// The top level business domain name of the measurement vendor providing
|
||||
// the quantity measurement.
|
||||
Vendor string `json:"vendor,omitempty"`
|
||||
|
||||
// Attribute:
|
||||
// ext
|
||||
// Type:
|
||||
// object
|
||||
// Definition:
|
||||
// Placeholder for vendor specific extensions to this object.
|
||||
Ext json.RawMessage `json:"ext,omitempty"`
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package openrtb2
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
// Object: Refresh
|
||||
type Refresh struct {
|
||||
// Attribute:
|
||||
// refsettings
|
||||
// Type:
|
||||
// object array; recommended
|
||||
// Description:
|
||||
// A RefSettings object (see Section 3.2.34) describing the mechanics
|
||||
// of how an ad placement automatically refreshes.
|
||||
RefSettings []RefSettings `json:"refsettings,omitempty"`
|
||||
|
||||
// Attribute:
|
||||
// count
|
||||
// Type:
|
||||
// integer; recommended
|
||||
// Description:
|
||||
// The number of times this ad slot had been refreshed since last page load.
|
||||
Count int `json:"count,omitempty"`
|
||||
|
||||
// Attribute:
|
||||
// ext
|
||||
// Type:
|
||||
// object
|
||||
// Definition:
|
||||
// Placeholder for vendor specific extensions to this object.
|
||||
Ext json.RawMessage `json:"ext,omitempty"`
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package openrtb2
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// Object: RefSettings
|
||||
//
|
||||
// Information on how often and what triggers an ad slot being refreshed.
|
||||
type RefSettings struct {
|
||||
// Attribute:
|
||||
// reftype
|
||||
// Type:
|
||||
// integer; default 0; recommended
|
||||
// Description:
|
||||
// The type of the declared auto refresh.
|
||||
// Refer to List: Auto Refresh Triggers in AdCOM 1.0
|
||||
RefType adcom1.AutoRefreshTrigger `json:"reftype,omitempty"`
|
||||
|
||||
// Attribute:
|
||||
// minint
|
||||
// Type:
|
||||
// integer; recommended
|
||||
// Description:
|
||||
// The minimum refresh interval in seconds. This applies to all
|
||||
// refresh types. This is the (uninterrupted) time the ad creative
|
||||
// will be rendered before refreshing to the next creative. If
|
||||
// the field is absent, the exposure time is unknown. This field
|
||||
// does not account for viewability or external factors such as a
|
||||
// user leaving a page.
|
||||
MinInt int `json:"minint,omitempty"`
|
||||
|
||||
// Attribute:
|
||||
// ext
|
||||
// Type:
|
||||
// object
|
||||
// Definition:
|
||||
// Placeholder for vendor specific extensions to this object.
|
||||
Ext json.RawMessage `json:"ext,omitempty"`
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// Object: Site
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// 3.2.28 Object: UID
|
||||
|
||||
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// 3.2.29 Object: UserAgent
|
||||
|
||||
+10
-2
@@ -3,7 +3,7 @@ package openrtb2
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/prebid/openrtb/v18/adcom1"
|
||||
"github.com/prebid/openrtb/v19/adcom1"
|
||||
)
|
||||
|
||||
// 3.2.7 Object: Video
|
||||
@@ -160,12 +160,20 @@ type Video struct {
|
||||
// Attribute:
|
||||
// placement
|
||||
// Type:
|
||||
// integer
|
||||
// integer; DEPRECATED
|
||||
// Description:
|
||||
// Video placement type for the impression. Refer to List:
|
||||
// Placement Subtypes - Video in AdCOM 1.0.
|
||||
Placement adcom1.VideoPlacementSubtype `json:"placement,omitempty"`
|
||||
|
||||
// Attribute:
|
||||
// plcmt
|
||||
// Type:
|
||||
// integer
|
||||
// Description:
|
||||
// Video placement type for the impression. Refer to List: Plcmt Subtypes - Video in AdCOM 1.0.
|
||||
Plcmt adcom1.VideoPlcmtSubtype `json:"plcmt,omitempty"`
|
||||
|
||||
// Attribute:
|
||||
// linearity
|
||||
// Type:
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
# openrtb3 [](https://pkg.go.dev/github.com/prebid/openrtb/v18/openrtb3)
|
||||
# openrtb3 [](https://pkg.go.dev/github.com/prebid/openrtb/v19/openrtb3)
|
||||
|
||||
[OpenRTB](https://iabtechlab.com/standards/openrtb/) [3.0](https://github.com/InteractiveAdvertisingBureau/openrtb) types for [Go programming language](https://golang.org/)
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"io/ioutil"
|
||||
"path/filepath"
|
||||
|
||||
. "github.com/prebid/openrtb/v18/openrtb3"
|
||||
. "github.com/prebid/openrtb/v19/openrtb3"
|
||||
|
||||
. "github.com/onsi/ginkgo/extensions/table"
|
||||
. "github.com/onsi/gomega"
|
||||
|
||||
Reference in New Issue
Block a user