Permalink
Fetching contributors…
Cannot retrieve contributors at this time
185 lines (163 sloc) 5.09 KB
package openrtb
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 publisher’s 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; 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:
// protocols
// Type:
// integer array; recommended
// Description:
// Array of supported audio protocols. Refer to List 5.8.
Protocols []Protocol `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 5.12.
StartDelay *StartDelay `json:"startdelay,omitempty"`
// Attribute:
// sequence
// Type:
// integer
// 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 uint64 `json:"sequence,omitempty"`
// Attribute:
// battr
// Type:
// integer array
// Description:
// Blocked creative attributes. Refer to List 5.3.
BAttr []CreativeAttribute `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 uint64 `json:"minbitrate,omitempty"`
// Attribute:
// maxbitrate
// Type:
// integer
// Description:
// Maximum bit rate in Kbps.
MaxBitrate uint64 `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 5.15.
Delivery []ContentDeliveryMethod `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 5.6. If an API is not explicitly listed, it is assumed not to be
// supported.
API []APIFramework `json:"api,omitempty"`
// Attribute:
// companiontype
// Type:
// integer array
// Description:
// Supported DAAST companion ad types. Refer to List 5.14.
// Recommended if companion Banner objects are included via
// the companionad array.
CompanionType []CompanionType `json:"companiontype,omitempty"`
// Attribute:
// maxseq
// Type:
// integer
// Description:
// The maximum number of ads that can be played in an ad pod.
// OpenRTB API Specification Version 2.5 IAB Technology Lab
// www.iab.com/openrtb Page 18
MaxSeq uint64 `json:"maxseq,omitempty"`
// Attribute:
// feed
// Type:
// integer
// Description:
// Type of audio feed. Refer to List 5.16.
Feed FeedType `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 5.17.
NVol *VolumeNormalizationMode `json:"nvol,omitempty"`
// Attribute:
// ext
// Type:
// object
// Description:
// Placeholder for exchange-specific extensions to OpenRTB.
Ext json.RawMessage `json:"ext,omitempty"`
}