mirror of
https://github.com/prebid/openrtb.git
synced 2026-06-14 14:06:38 +03:00
326 lines
8.8 KiB
Go
326 lines
8.8 KiB
Go
package adcom1
|
|
|
|
import (
|
|
"encoding/json"
|
|
)
|
|
|
|
// VideoPlacement object signals that the placement may be a video placement and provides additional detail about permitted video ads (e.g., VAST).
|
|
type VideoPlacement struct {
|
|
// Attribute:
|
|
// ptype
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Placement subtype.
|
|
// Refer to List: Placement Subtypes - Video.
|
|
PType VideoPlacementSubtype `json:"ptype,omitempty"`
|
|
|
|
// Attribute:
|
|
// pos
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Placement position on screen.
|
|
// Refer to List: Placement Positions.
|
|
Pos PlacementPosition `json:"pos,omitempty"`
|
|
|
|
// Attribute:
|
|
// delay
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll placements.
|
|
// For additional generic values, refer to List: Start Delay Modes.
|
|
Delay StartDelay `json:"delay,omitempty"`
|
|
|
|
// Attribute:
|
|
// skip
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Indicates if the placement imposes ad skippability, where 0 = no, 1 = yes.
|
|
Skip int8 `json:"skip,omitempty"`
|
|
|
|
// Attribute:
|
|
// skipmin
|
|
// Type:
|
|
// integer; default 0
|
|
// Definition:
|
|
// The placement allows creatives of total duration greater than this number of seconds to be skipped; only applicable if the ad is skippable.
|
|
SkipMin int64 `json:"skipmin,omitempty"`
|
|
|
|
// Attribute:
|
|
// skipafter
|
|
// Type:
|
|
// integer; default 0
|
|
// Definition:
|
|
// Number of seconds a creative must play before the placement enables skipping; only applicable if the ad is skippable.
|
|
SkipAfter int64 `json:"skipafter,omitempty"`
|
|
|
|
// Attribute:
|
|
// playmethod
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Playback method in use for this placement.
|
|
// Refer to List: Playback Methods.
|
|
PlayMethod PlaybackMethod `json:"playmethod,omitempty"`
|
|
|
|
// Attribute:
|
|
// playend
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// The event that causes playback to end for this placement.
|
|
// Refer to List: Playback Cessation Modes.
|
|
PlayEnd PlaybackCessationMode `json:"playend,omitempty"`
|
|
|
|
// Attribute:
|
|
// clktype
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Indicates the click type of the placement.
|
|
// Refer to List: Click Types.
|
|
ClkType ClickType `json:"clktype,omitempty"`
|
|
|
|
// Attribute:
|
|
// mime
|
|
// Type:
|
|
// string array; required
|
|
// Definition:
|
|
// Array of supported mime types (e.g., “video/mp4”).
|
|
// If omitted, all types are assumed.
|
|
MIME []string `json:"mime,omitempty"`
|
|
|
|
// Attribute:
|
|
// api
|
|
// Type:
|
|
// integer array
|
|
// Definition:
|
|
// List of supported APIs for this placement.
|
|
// If an API is not explicitly listed, it is assumed to be unsupported.
|
|
// Refer to List: API Frameworks.
|
|
API []APIFramework `json:"api,omitempty"`
|
|
|
|
// Attribute:
|
|
// ctype
|
|
// Type:
|
|
// integer array
|
|
// Definition:
|
|
// Creative subtypes permitted for this placement.
|
|
// Refer to List: Creative Subtypes - Audio/Video.
|
|
CType []MediaCreativeSubtype `json:"ctype,omitempty"`
|
|
|
|
// Attribute:
|
|
// w
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Width of the placement in units specified by unit.
|
|
W int64 `json:"w,omitempty"`
|
|
|
|
// Attribute:
|
|
// h
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Height of the placement in units specified by unit.
|
|
H int64 `json:"h,omitempty"`
|
|
|
|
// Attribute:
|
|
// unit
|
|
// Type:
|
|
// integer; default 1
|
|
// Definition:
|
|
// Units of size used for w and h attributes.
|
|
// Refer to List: Size Units.
|
|
Unit SizeUnit `json:"unit,omitempty"`
|
|
|
|
// Attribute:
|
|
// mindur
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Minimum creative duration in seconds.
|
|
MinDur int64 `json:"mindur,omitempty"`
|
|
|
|
// Attribute:
|
|
// maxdur
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Maximum creative duration in seconds.
|
|
MaxDur int64 `json:"maxdur,omitempty"`
|
|
|
|
// Attribute:
|
|
// rqddurs
|
|
// Type:
|
|
// integer array
|
|
// Definition:
|
|
// Precise acceptable durations for video creatives in seconds. This field specifically
|
|
// targets the Live TV use case where non-exact ad durations would result in undesirable
|
|
// 'dead air'. This field is mutually exclusive with mindur and maxdur; if rqddurs is
|
|
// specified, mindur and maxdur must not be specified and vice versa.
|
|
RqdDurs []int64 `json:"rqddurs,omitempty"`
|
|
|
|
// Attribute:
|
|
// maxext
|
|
// Type:
|
|
// integer; default 0
|
|
// Definition:
|
|
// Maximum extended creative duration if extension is allowed.
|
|
// If 0, extension is not allowed.
|
|
// If -1, extension is allowed and there is no time limit imposed.
|
|
// If greater than 0, then the value represents the number of seconds of extended play supported beyond the maxdur value.
|
|
MaxExt int64 `json:"maxext,omitempty"`
|
|
|
|
// Attribute:
|
|
// minbitr
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Minimum bit rate of the creative in Kbps.
|
|
MinBitR int64 `json:"minbitr,omitempty"`
|
|
|
|
// Attribute:
|
|
// maxbitr
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Maximum bit rate of the creative in Kbps.
|
|
MaxBitR int64 `json:"maxbitr,omitempty"`
|
|
|
|
// Attribute:
|
|
// delivery
|
|
// Type:
|
|
// integer array
|
|
// Definition:
|
|
// Array of supported creative delivery methods.
|
|
// If omitted, all can be assumed.
|
|
// Refer to List: Delivery Methods.
|
|
Delivery []DeliveryMethod `json:"delivery,omitempty"`
|
|
|
|
// Attribute:
|
|
// maxseq
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// The maximum number of ads that can be played in an ad pod.
|
|
MaxSeq int64 `json:"maxseq,omitempty"`
|
|
|
|
// Attribute:
|
|
// poddur
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Indicates the total amount of time in seconds that advertisers may fill
|
|
// for a “dynamic” video ad pod, or the dynamic portion of a “hybrid” ad pod.
|
|
// This field is required only for the dynamic portion(s) of video ad pods.
|
|
// This field refers to the length of the entire ad break, whereas
|
|
// mindur/maxdur/rqddurs are constraints relating to the slots that make up the pod.
|
|
PodDur int64 `json:"poddur,omitempty"`
|
|
|
|
// Attribute:
|
|
// podid
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Unique identifier indicating that an impression opportunity belongs to a
|
|
// video ad pod. If multiple impression opportunities within a bid request
|
|
// share the same podid, this indicates that those impression opportunities
|
|
// belong to the same video ad pod.
|
|
PodID int64 `json:"podid,omitempty"`
|
|
|
|
// Attribute:
|
|
// podseq
|
|
// Type:
|
|
// integer; default 0
|
|
// Definition:
|
|
// The sequence (position) of the video ad pod within a content stream.
|
|
// Refer to List: Pod Sequence for guidance on the use of this field.
|
|
PodSeq PodSequence `json:"podseq,omitempty"`
|
|
|
|
// Attribute:
|
|
// slotinpod
|
|
// Type:
|
|
// integer; default 0
|
|
// Definition:
|
|
// For video ad pods, this value indicates that the seller can guarantee delivery
|
|
// against the indicated slot position in the pod.
|
|
// Refer to List: Slot Position in Pod for guidance on the use of this field.
|
|
SlotInPod SlotPositionInPod `json:"slotinpod,omitempty"`
|
|
|
|
// Attribute:
|
|
// mincpmpersec
|
|
// Type:
|
|
// float
|
|
// Definition:
|
|
// Minimum CPM per second. This is a price floor for the “dynamic” portion of a
|
|
// video ad pod, relative to the duration of bids an advertiser may submit.
|
|
MinCPMPerSec float64 `json:"mincpmpersec,omitempty"`
|
|
|
|
// Attribute:
|
|
// linear
|
|
// Type:
|
|
// integer
|
|
// Definition:
|
|
// Indicates if the creative must be linear, nonlinear, etc.
|
|
// If none specified, no restrictions are assumed.
|
|
// Refer to List: Linearity Modes.
|
|
Linear LinearityMode `json:"linear,omitempty"`
|
|
|
|
// Attribute:
|
|
// boxing
|
|
// Type:
|
|
// integer; default 1
|
|
// Definition:
|
|
// Indicates if letterboxing of 4:3 creatives into a 16:9 window is allowed, where 0 = no, 1 = yes.
|
|
Boxing int8 `json:"boxing,omitempty"`
|
|
|
|
// Attribute:
|
|
// comp
|
|
// Type:
|
|
// object array
|
|
// Definition:
|
|
// Array of objects indicating that companion ads are available and providing the specifications thereof.
|
|
// Refer to Object: Companion.
|
|
Comp []Companion `json:"comp,omitempty"`
|
|
|
|
// Attribute:
|
|
// comptype
|
|
// Type:
|
|
// integer array
|
|
// Definition:
|
|
// Supported companion ad types; recommended if companion ads are specified in comp.
|
|
// Refer to List: Companion Types.
|
|
CompType []CompanionType `json:"comptype,omitempty"`
|
|
|
|
// Attribute:
|
|
// expdir
|
|
// Type:
|
|
// integer array
|
|
// Definition:
|
|
// Directions in which the creative (video placement) is permitted to expand.
|
|
// Refer to List: Expandable Directions.
|
|
ExpDir []ExpandableDirection `json:"expdir,omitempty"`
|
|
|
|
// Attribute:
|
|
// overlayexpdir
|
|
// Type:
|
|
// integer array
|
|
// Definition:
|
|
// Directions in which the creative (video overlay) is permitted to expand.
|
|
// This is primarily used for non-linear videos.
|
|
// Refer to List: Expandable Directions.
|
|
OverlayExpDir []ExpandableDirection `json:"overlayexpdir,omitempty"`
|
|
|
|
// Attribute:
|
|
// ext
|
|
// Type:
|
|
// object
|
|
// Definition:
|
|
// Optional vendor-specific extensions.
|
|
Ext json.RawMessage `json:"ext,omitempty"`
|
|
}
|