Files
openrtb/openrtb2/audio.go
T
2022-05-12 21:59:35 -04:00

257 lines
7.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package openrtb2
import "encoding/json"
// 3.2.8 Object: Audio
//
// This object represents an audio type impression.
// Many of the fields are non-essential for minimally viable transactions, but are included to offer fine control when needed.
// Audio in OpenRTB generally assumes compliance with the DAAST standard.
// As such, the notion of companion ads is supported by optionally including an array of Banner objects (refer to the Banner object in Section 3.2.6) that define these companion ads.
//
// The presence of a Audio as a subordinate of the Imp object indicates that this impression is offered as an audio type impression.
// At the publishers discretion, that same impression may also be offered as banner, video, and/or native by also including as Imp subordinates objects of those types.
// However, any given bid for the impression must conform to one of the offered types.
type Audio struct {
// Attribute:
// mimes
// Type:
// string array; required
// Description:
// Content MIME types supported (e.g., “audio/mp4”).
MIMEs []string `json:"mimes"`
// Attribute:
// minduration
// Type:
// integer; default 0; recommended
// Description:
// Minimum audio ad duration in seconds.
MinDuration int64 `json:"minduration,omitempty"`
// Attribute:
// maxduration
// Type:
// integer; recommended
// Description:
// Maximum audio ad duration in seconds.
MaxDuration int64 `json:"maxduration,omitempty"`
// Attribute:
// poddur
// Type:
// integer; recommended
// Description:
// Indicates the total amount of time that advertisers may fill for a
// "dynamic" audio ad pod, or the dynamic portion of a "hybrid"
// ad pod. This field is required only for the dynamic portion(s) of
// audio ad pods. This field refers to the length of the entire ad
// break, whereas minduration/maxduration/rqddurs are
// constraints relating to the slots that make up the pod.
PodDur int64 `json:"poddur,omitempty"`
// Attribute:
// protocols
// Type:
// integer array; recommended
// Description:
// Array of supported audio protocols. Refer to List: Creative
// Subtypes - Audio/Video in AdCOM 1.0.
Protocols []int8 `json:"protocols,omitempty"`
// Attribute:
// startdelay
// Type:
// integer; recommended
// Description:
// Indicates the start delay in seconds for pre-roll, mid-roll, or
// post-roll ad placements. Refer to List: Start Delay Modes in
// AdCOM 1.0.
StartDelay *int8 `json:"startdelay,omitempty"`
// Attribute:
// rqddurs
// Type:
// integer array
// Description:
// Precise acceptable durations for audio creatives in seconds. This
// field specifically targets the live audio/radio use case where
// non-exact ad durations would result in undesirable dead air.
// This field is mutually exclusive with minduration and
// maxduration; if rqddurs is specified, minduration and
// maxduration must not be specified and vice versa.
RqdDurs []int64 `json:"rqddurs,omitempty"`
// Attribute:
// podid
// Type:
// integer
// Description:
// Unique identifier indicating that an impression opportunity
// belongs to an audioad pod. If multiple impression opportunities
// within a bid request share the same podid, this indicates that
// those impression opportunities belong to the same audio ad
// pod.
PodID int64 `json:"podid,omitempty"`
// Attribute:
// podid
// Type:
// integer; default 0
// Description:
// The sequence (position) of the audio ad pod within a
// content stream. Refer to List: Pod Sequence in AdCOM 1.0
// for guidance on the use of this field.
PodSeq int8 `json:"podseq,omitempty"`
// Attribute:
// sequence
// Type:
// integer; default 0; DEPRECATED
// Description:
// If multiple ad impressions are offered in the same bid request,
// the sequence number will allow for the coordinated delivery
// of multiple creatives.
Sequence int64 `json:"sequence,omitempty"`
// Attribute:
// slotinpod
// Type:
// integer; default 0
// Description:
// For audio ad pods, this value indicates that the seller can
// guarantee delivery against the indicated sequence. Refer to
// List: Slot Position in Pod in AdCOM 1.0 for guidance on the
// use of this field.
SlotInPod *int8 `json:"slotinpod,omitempty"`
// Attribute:
// mincpmpersec
// Type:
// float
// Description:
// Minimum CPM per second. This is a price floor for the
// "dynamic" portion of an audio ad pod, relative to the duration
// of bids an advertiser may submit.
MinCPMPerSec float64 `json:"mincpmpersec,omitempty"`
// Attribute:
// battr
// Type:
// integer array
// Description:
// Blocked creative attributes. Refer to List: Creative Attributes in
// AdCOM 1.0.
BAttr []int64 `json:"battr,omitempty"`
// Attribute:
// maxextended
// Type:
// integer
// Description:
// Maximum extended ad duration if extension is allowed. If
// blank or 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 maxduration value.
MaxExtended int64 `json:"maxextended,omitempty"`
// Attribute:
// minbitrate
// Type:
// integer
// Description:
// Minimum bit rate in Kbps.
MinBitrate int64 `json:"minbitrate,omitempty"`
// Attribute:
// maxbitrate
// Type:
// integer
// Description:
// Maximum bit rate in Kbps.
MaxBitrate int64 `json:"maxbitrate,omitempty"`
// Attribute:
// delivery
// Type:
// integer array
// Description:
// Supported delivery methods (e.g., streaming, progressive). If
// none specified, assume all are supported. Refer to List: Delivery
// Methods in AdCOM 1.0.
Delivery []int8 `json:"delivery,omitempty"`
// Attribute:
// companionad
// Type:
// object array
// Description:
// Array of Banner objects (Section 3.2.6) if companion ads are
// available.
CompanionAd []Banner `json:"companionad,omitempty"`
// Attribute:
// api
// Type:
// integer array
// Description:
// List of supported API frameworks for this impression. Refer to
// List: API Frameworks in AdCOM 1.0. If an API is not explicitly
// listed, it is assumed not to be supported.
API []int64 `json:"api,omitempty"`
// Attribute:
// companiontype
// Type:
// integer array
// Description:
// Supported companion ad types. Refer to List: Companion
// Types in AdCOM 1.0. Recommended if companion Banner
// objects are included via the companionad array.
CompanionType []int8 `json:"companiontype,omitempty"`
// Attribute:
// maxseq
// Type:
// integer
// Description:
// The maximum number of ads that can be played in an ad pod.
MaxSeq int64 `json:"maxseq,omitempty"`
// Attribute:
// feed
// Type:
// integer
// Description:
// Type of audio feed. Refer to List: Feed Types in AdCOM 1.0.
Feed int8 `json:"feed,omitempty"`
// Attribute:
// stitched
// Type:
// integer
// Description:
// Indicates if the ad is stitched with audio content or delivered
// independently, where 0 = no, 1 = yes.
Stitched int8 `json:"stitched,omitempty"`
// Attribute:
// nvol
// Type:
// integer
// Description:
// Volume normalization mode. Refer to List: Volume
// Normalization Modes in AdCOM 1.0.
NVol int8 `json:"nvol,omitempty"`
// Attribute:
// ext
// Type:
// object
// Description:
// Placeholder for exchange-specific extensions to OpenRTB.
Ext json.RawMessage `json:"ext,omitempty"`
}