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:
Scott Kay
2023-04-12 08:54:55 -04:00
committed by GitHub
parent 49cfc483bd
commit 53ac1b9ca7
49 changed files with 226 additions and 70 deletions
+10 -10
View File
@@ -1,8 +1,8 @@
# openrtb [![Go Reference](https://pkg.go.dev/badge/github.com/prebid/openrtb/v18.svg)](https://pkg.go.dev/github.com/prebid/openrtb/v18) [![Test](https://github.com/prebid/openrtb/actions/workflows/test.yml/badge.svg)](https://github.com/prebid/openrtb/actions/workflows/test.yml)
# openrtb [![Go Reference](https://pkg.go.dev/badge/github.com/prebid/openrtb/v19.svg)](https://pkg.go.dev/github.com/prebid/openrtb/v19) [![Test](https://github.com/prebid/openrtb/actions/workflows/test.yml/badge.svg)](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
View File
@@ -1,3 +1,3 @@
# adcom1 [![GoDoc](https://godoc.org/github.com/prebid/openrtb/adcom1?status.svg)](https://pkg.go.dev/github.com/prebid/openrtb/v18/adcom1)
# adcom1 [![GoDoc](https://godoc.org/github.com/prebid/openrtb/adcom1?status.svg)](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/)
+1 -1
View File
@@ -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(
+12
View File
@@ -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 -6
View File
@@ -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
View File
@@ -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.
)
+1 -1
View File
@@ -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:
+8 -5
View File
@@ -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).
)
+37
View File
@@ -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 users
// 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 -3
View File
@@ -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
View File
@@ -1,4 +1,4 @@
# native1 [![GoDoc](https://godoc.org/github.com/prebid/openrtb/native1?status.svg)](https://pkg.go.dev/github.com/prebid/openrtb/v18/native1)
# native1 [![GoDoc](https://godoc.org/github.com/prebid/openrtb/native1?status.svg)](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 -1
View File
@@ -1,3 +1,3 @@
# native1/request [![GoDoc](https://godoc.org/github.com/prebid/openrtb/native1/request?status.svg)](https://pkg.go.dev/github.com/prebid/openrtb/v18/native1/request)
# native1/request [![GoDoc](https://godoc.org/github.com/prebid/openrtb/native1/request?status.svg)](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/)
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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 -1
View File
@@ -1,7 +1,7 @@
package request
import (
"github.com/prebid/openrtb/v18/openrtb2"
"github.com/prebid/openrtb/v19/openrtb2"
)
// 4.5 Video Object
+1 -1
View File
@@ -1,3 +1,3 @@
# native1/response [![GoDoc](https://godoc.org/github.com/prebid/openrtb/native1/response?status.svg)](https://pkg.go.dev/github.com/prebid/openrtb/v18/native1/response)
# native1/response [![GoDoc](https://godoc.org/github.com/prebid/openrtb/native1/response?status.svg)](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/)
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -1,3 +1,3 @@
# openrtb2 [![GoDoc](https://godoc.org/github.com/prebid/openrtb/openrtb2?status.svg)](https://pkg.go.dev/github.com/prebid/openrtb/v18/openrtb2)
# openrtb2 [![GoDoc](https://godoc.org/github.com/prebid/openrtb/openrtb2?status.svg)](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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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"`
}
+31
View File
@@ -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"`
}
+42
View File
@@ -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
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -1,3 +1,3 @@
# openrtb3 [![GoDoc](https://godoc.org/github.com/prebid/openrtb/openrtb3?status.svg)](https://pkg.go.dev/github.com/prebid/openrtb/v18/openrtb3)
# openrtb3 [![GoDoc](https://godoc.org/github.com/prebid/openrtb/openrtb3?status.svg)](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/)
+1 -1
View File
@@ -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"