Documentation ¶
Overview ¶
Package openrtb implements a parser (with optional validation) and a generator for OpenRTB 2.x requests and responses.
Index ¶
- Variables
- type APIFramework
- type AdPosition
- type App
- type Audio
- type Banner
- type BannerType
- type Bid
- type BidRequest
- type BidResponse
- type CompanionType
- type ConnType
- type Content
- type ContentCategory
- type ContentContext
- type ContentDelivery
- type CreativeAttribute
- type Data
- type Deal
- type Device
- type DeviceType
- type ExpDir
- type FeedType
- type Format
- type Geo
- type IPLocation
- type IQGRating
- type Impression
- type Inventory
- type LocationType
- type NBR
- type Native
- type PMP
- type Producer
- type ProductionQuality
- type Protocol
- type Publisher
- type Regulations
- type SeatBid
- type Segment
- type Site
- type Source
- type StartDelay
- type ThirdParty
- type User
- type Video
- type VideoLinearity
- type VideoPlacement
- type VideoPlayback
- type VolumeNorm
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidImpNoID = errors.New("openrtb: impression ID missing") ErrInvalidImpMultiAssets = errors.New("openrtb: impression has multiple assets") // at least two out of Banner, Video, Native )
Validation errors
Functions ¶
This section is empty.
Types ¶
type APIFramework ¶
type APIFramework int
APIFramework as defined in section 5.6.
const ( APIFrameworkUnknown APIFramework = 0 APIFrameworkVPAID1 APIFramework = 1 APIFrameworkVPAID2 APIFramework = 2 APIFrameworkMRAID1 APIFramework = 3 APIFrameworkORMMA APIFramework = 4 APIFrameworkMRAID2 APIFramework = 5 )
5.6 API Frameworks
type AdPosition ¶
type AdPosition int
AdPosition as defined in section 5.4.
const ( AdPositionUnknown AdPosition = 0 AdPositionAboveFold AdPosition = 1 AdPositionBelowFold AdPosition = 3 AdPositionHeader AdPosition = 4 AdPositionSidebar AdPosition = 6 AdPositionFullscreen AdPosition = 7 )
5.4 Ad Position
type App ¶
type App struct { Inventory Bundle string `json:"bundle,omitempty"` // App bundle or package name StoreURL string `json:"storeurl,omitempty"` // App store URL for an installed app Version string `json:"ver,omitempty"` // App version Paid int `json:"paid,omitempty"` // "1": Paid, "2": Free }
App object should be included if the ad supported content is part of a mobile application (as opposed to a mobile website). A bid request must not contain both an "app" object and a "site" object.
func (App) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (App) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*App) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*App) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type Audio ¶
type Audio struct { MIMEs []string `json:"mimes"` // Content MIME types supported. MinDuration int `json:"minduration,omitempty"` // Minimum video ad duration in seconds MaxDuration int `json:"maxduration,omitempty"` // Maximum video ad duration in seconds Protocols []Protocol `json:"protocols,omitempty"` // Video bid response protocols StartDelay StartDelay `json:"startdelay,omitempty"` // Indicates the start delay in seconds Sequence int `json:"sequence,omitempty"` // Default: 1 BlockedAttrs []CreativeAttribute `json:"battr,omitempty"` // Blocked creative attributes MaxExtended int `json:"maxextended,omitempty"` // Maximum extended video ad duration MinBitrate int `json:"minbitrate,omitempty"` // Minimum bit rate in Kbps MaxBitrate int `json:"maxbitrate,omitempty"` // Maximum bit rate in Kbps Delivery []ContentDelivery `json:"delivery,omitempty"` // List of supported delivery methods CompanionAds []Banner `json:"companionad,omitempty"` APIs []APIFramework `json:"api,omitempty"` CompanionTypes []CompanionType `json:"companiontype,omitempty"` MaxSequence int `json:"maxseq,omitempty"` // The maximumnumber of ads that canbe played in an ad pod. Feed FeedType `json:"feed,omitempty"` // Type of audio feed. Stitched int `json:"stitched,omitempty"` // Indicates if the ad is stitched with audio content or delivered independently VolumeNorm VolumeNorm `json:"nvol,omitempty"` // Volume normalization mode. Ext json.RawMessage `json:"ext,omitempty"` }
Audio object must be included directly in the impression object
func (Audio) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Audio) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Audio) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Audio) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type Banner ¶
type Banner struct { Width int `json:"w,omitempty"` // Width Height int `json:"h,omitempty"` // Height Formats []Format `json:"format,omitempty"` // Array of format objects representing the banner sizes permitted. WidthMax int `json:"wmax,omitempty"` // Width maximum DEPRECATED HeightMax int `json:"hmax,omitempty"` // Height maximum DEPRECATED WidthMin int `json:"wmin,omitempty"` // Width minimum DEPRECATED HeightMin int `json:"hmin,omitempty"` // Height minimum DEPRECATED ID string `json:"id,omitempty"` // A unique identifier BlockedTypes []BannerType `json:"btype,omitempty"` // Blocked banner types BlockedAttrs []CreativeAttribute `json:"battr,omitempty"` // Blocked creative attributes Position AdPosition `json:"pos,omitempty"` // Ad Position MIMEs []string `json:"mimes,omitempty"` // Whitelist of content MIME types supported TopFrame int `json:"topframe,omitempty"` // Default: 0 ("1": Delivered in top frame, "0": Elsewhere) ExpDirs []ExpDir `json:"expdir,omitempty"` // Specify properties for an expandable ad APIs []APIFramework `json:"api,omitempty"` // List of supported API frameworks VCM int `json:"vcm,omitempty"` // Represents the relationship with video. 0 = concurrent, 1 = end-card Ext json.RawMessage `json:"ext,omitempty"` }
Banner object must be included directly in the impression object if the impression offered for auction is display or rich media, or it may be optionally embedded in the video object to describe the companion banners available for the linear or non-linear video ad. The banner object may include a unique identifier; this can be useful if these IDs can be leveraged in the VAST response to dictate placement of the companion creatives when multiple companion ad opportunities of the same size are available on a page.
func (Banner) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Banner) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Banner) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Banner) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type BannerType ¶
type BannerType int
BannerType as defined in section 5.2.
const ( BannerTypeXHTMLText BannerType = 1 BannerTypeXHTML BannerType = 2 BannerTypeJS BannerType = 3 BannerTypeFrame BannerType = 4 )
5.2 Banner Ad Types
type Bid ¶
type Bid struct { ID string `json:"id"` ImpID string `json:"impid"` // Required string ID of the impression object to which this bid applies. Price float64 `json:"price"` // Bid price in CPM. Suggests using integer math for accounting to avoid rounding errors. AdID string `json:"adid,omitempty"` // References the ad to be served if the bid wins. NoticeURL string `json:"nurl,omitempty"` // Win notice URL. BillingURL string `json:"burl,omitempty"` // Billing notice URL. LossURL string `json:"lurl,omitempty"` // Loss notice URL. AdMarkup string `json:"adm,omitempty"` // Actual ad markup. XHTML if a response to a banner object, or VAST XML if a response to a video object. AdvDomains []string `json:"adomain,omitempty"` // Advertiser’s primary or top-level domain for advertiser checking; or multiple if imp rotating. Bundle string `json:"bundle,omitempty"` // A platform-specific application identifier intended to be unique to the app and independent of the exchange. ImageURL string `json:"iurl,omitempty"` // Sample image URL. CampaignID string `json:"cid,omitempty"` // Campaign ID that appears with the Ad markup. CreativeID string `json:"crid,omitempty"` // Creative ID for reporting content issues or defects. This could also be used as a reference to a creative ID that is posted with an exchange. Tactic string `json:"tactic,omitempty"` // Tactic ID to enable buyers to label bids for reporting to the exchange the tactic through which their bid was submitted. Categories []ContentCategory `json:"cat,omitempty"` // IAB content categories of the creative. Refer to List 5.1 Attrs []CreativeAttribute `json:"attr,omitempty"` // Array of creative attributes. API APIFramework `json:"api,omitempty"` // API required by the markup if applicable Protocol Protocol `json:"protocol,omitempty"` // Video response protocol of the markup if applicable MediaRating IQGRating `json:"qagmediarating,omitempty"` // Creative media rating per IQG guidelines. Language string `json:"language,omitempty"` // Language of the creative using ISO-639-1-alpha-2. DealID string `json:"dealid,omitempty"` // DealID extension of private marketplace deals Width int `json:"w,omitempty"` // Width of the ad in pixels. Height int `json:"h,omitempty"` // Height of the ad in pixels. WidthRatio int `json:"wratio,omitempty"` // Relative width of the creative when expressing size as a ratio. HeightRatio int `json:"hratio,omitempty"` // Relative height of the creative when expressing size as a ratio. Exp int `json:"exp,omitempty"` // Advisory as to the number of seconds the bidder is willing to wait between the auction and the actual impression. Ext json.RawMessage `json:"ext,omitempty"` }
Bid object contains bid information. ID, ImpID and Price are required; all other optional. If the bidder wins the impression, the exchange calls notice URL (nurl) a) to inform the bidder of the win; b) to convey certain information using substitution macros. Adomain can be used to check advertiser block list compliance. Cid can be used to block ads that were previously identified as inappropriate. Substitution macros may allow a bidder to use a static notice URL for all of its bids.
func (Bid) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Bid) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Bid) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Bid) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type BidRequest ¶
type BidRequest struct { ID string `json:"id"` // Unique ID of the bid request Impressions []Impression `json:"imp,omitempty"` Site *Site `json:"site,omitempty"` App *App `json:"app,omitempty"` Device *Device `json:"device,omitempty"` User *User `json:"user,omitempty"` Test int `json:"test,omitempty"` // Indicator of test mode in which auctions are not billable, where 0 = live mode, 1 = test mode AuctionType int `json:"at"` // Auction type, where 1 = First Price, 2 = Second Price Plus. Exchange-specific auction types can be defined using values greater than 500. TimeMax int `json:"tmax,omitempty"` // Maximum amount of time in milliseconds to submit a bid Seats []string `json:"wseat,omitempty"` // Array of buyer seats allowed to bid on this auction BlockedSeats []string `json:"bseat,omitempty"` // Array of buyer seats blocked to bid on this auction Languages []string `json:"wlang,omitempty"` // Array of languages for creatives using ISO-639-1-alpha-2 AllImpressions int `json:"allimps,omitempty"` // Flag to indicate whether exchange can verify that all impressions offered represent all of the impressions available in context, Default: 0 Currencies []string `json:"cur,omitempty"` // Array of allowed currencies BlockedCategories []ContentCategory `json:"bcat,omitempty"` // Blocked Advertiser Categories. BlockedAdvDomains []string `json:"badv,omitempty"` // Array of strings of blocked toplevel domains of advertisers BlockedApps []string `json:"bapp,omitempty"` // Block list of applications by their platform-specific exchange-independent application identifiers. On Android, these should be bundle or package names (e.g., com.foo.mygame). On iOS, these are numeric IDs. Source *Source `json:"source,omitempty"` // A Source object that provides data about the inventory source and which entity makes the final decision Regulations *Regulations `json:"regs,omitempty"` Ext json.RawMessage `json:"ext,omitempty"` }
BidRequest is the top-level bid request object contains a globally unique bid request or auction ID. This "id" attribute is required as is at least one "imp" (i.e., impression) object. Other attributes are optional since an exchange may establish default values.
func (BidRequest) MarshalEasyJSON ¶
func (v BidRequest) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (BidRequest) MarshalJSON ¶
func (v BidRequest) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*BidRequest) UnmarshalEasyJSON ¶
func (v *BidRequest) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*BidRequest) UnmarshalJSON ¶
func (v *BidRequest) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type BidResponse ¶
type BidResponse struct { ID string `json:"id"` // Reflection of the bid request ID for logging purposes SeatBids []SeatBid `json:"seatbid"` // Array of seatbid objects BidID string `json:"bidid,omitempty"` // Optional response tracking ID for bidders Currency string `json:"cur,omitempty"` // Bid currency CustomData string `json:"customdata,omitempty"` // Encoded user features NBR NBR `json:"nbr,omitempty"` // Reason for not bidding, where 0 = unknown error, 1 = technical error, 2 = invalid request, 3 = known web spider, 4 = suspected Non-Human Traffic, 5 = cloud, data center, or proxy IP, 6 = unsupported device, 7 = blocked publisher or site, 8 = unmatched user Ext json.RawMessage `json:"ext,omitempty"` // Custom specifications in JSon }
BidResponse is the bid response wrapper object. ID and at least one "seatbid” object is required, which contains a bid on at least one impression. Other attributes are optional since an exchange may establish default values. No-Bids on all impressions should be indicated as a HTTP 204 response. For no-bids on specific impressions, the bidder should omit these from the bid response.
func (BidResponse) MarshalEasyJSON ¶
func (v BidResponse) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (BidResponse) MarshalJSON ¶
func (v BidResponse) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*BidResponse) UnmarshalEasyJSON ¶
func (v *BidResponse) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*BidResponse) UnmarshalJSON ¶
func (v *BidResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type CompanionType ¶
type CompanionType int
CompanionType as defined in section 5.14.
const ( CompanionTypeUnknown CompanionType = 0 CompanionTypeStatic CompanionType = 1 CompanionTypeHTML CompanionType = 2 CompanionTypeIFrame CompanionType = 3 )
5.14 Companion Types
type Content ¶
type Content struct { ID string `json:"id,omitempty"` // ID uniquely identifying the content. Episode int `json:"episode,omitempty"` // Episode number (typically applies to video content). Title string `json:"title,omitempty"` // Content title. Series string `json:"series,omitempty"` // Content series. Season string `json:"season,omitempty"` // Content season. Artist string `json:"artist,omitempty"` // Artist credited with the content. Genre string `json:"genre,omitempty"` // Genre that best describes the content Album string `json:"album,omitempty"` // Album to which the content belongs; typically for audio. ISRC string `json:"isrc,omitempty"` // International Standard Recording Code conforming to ISO - 3901. Producer *Producer `json:"producer,omitempty"` // The producer. URL string `json:"url,omitempty"` // URL of the content, for buy-side contextualization or review. Categories []ContentCategory `json:"cat,omitempty"` // Array of IAB content categories that describe the content. ProductionQuality ProductionQuality `json:"prodq,omitempty"` // Production quality per IAB's classification. VideoQuality ProductionQuality `json:"videoquality,omitempty"` // DEPRECATED. Video quality per IAB's classification. Context ContentContext `json:"context,omitempty"` // Type of content (game, video, text, etc.). ContentRating string `json:"contentrating,omitempty"` // Content rating (e.g., MPAA). UserRating string `json:"userrating,omitempty"` // User rating of the content (e.g., number of stars, likes, etc.). MediaRating IQGRating `json:"qagmediarating,omitempty"` // Media rating per QAG guidelines. Keywords string `json:"keywords,omitempty"` // Comma separated list of keywords describing the content. LiveStream int `json:"livestream,omitempty"` // 0 = not live, 1 = content is live (e.g., stream, live blog). SourceRelationship int `json:"sourcerelationship,omitempty"` // 0 = indirect, 1 = direct. Length int `json:"len,omitempty"` // Length of content in seconds; appropriate for video or audio. Language string `json:"language,omitempty"` // Content language using ISO-639-1-alpha-2. Embeddable int `json:"embeddable,omitempty"` // Indicator of whether or not the content is embeddable (e.g., an embeddable video player), where 0 = no, 1 = yes. Data []Data `json:"data,omitempty"` // Additional content data. Ext json.RawMessage `json:"ext,omitempty"` }
Content object describes the content in which the impression will appear, which may be syndicated or nonsyndicated content. This object may be useful when syndicated content contains impressions and does not necessarily match the publisher's general content. The exchange might or might not have knowledge of the page where the content is running, as a result of the syndication method. For example might be a video impression embedded in an iframe on an unknown web property or device.
func (Content) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Content) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Content) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Content) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type ContentCategory ¶
type ContentCategory string
ContentCategory as defined in section 5.1
const ( ContentCategoryArtsEntertainment ContentCategory = "IAB1" ContentCategoryBooksLiterature ContentCategory = "IAB1-1" ContentCategoryCelebrityFanGossip ContentCategory = "IAB1-2" ContentCategoryFineArt ContentCategory = "IAB1-3" ContentCategoryHumor ContentCategory = "IAB1-4" ContentCategoryMovies ContentCategory = "IAB1-5" ContentCategoryMusic ContentCategory = "IAB1-6" ContentCategoryTelevision ContentCategory = "IAB1-7" ContentCategoryAutomotive ContentCategory = "IAB2" ContentCategoryAutoParts ContentCategory = "IAB2-1" ContentCategoryAutoRepair ContentCategory = "IAB2-2" ContentCategoryBuyingSellingCars ContentCategory = "IAB2-3" ContentCategoryCarCulture ContentCategory = "IAB2-4" ContentCategoryCertifiedPreOwned ContentCategory = "IAB2-5" ContentCategoryConvertible ContentCategory = "IAB2-6" ContentCategoryCoupe ContentCategory = "IAB2-7" ContentCategoryCrossover ContentCategory = "IAB2-8" ContentCategoryDiesel ContentCategory = "IAB2-9" ContentCategoryElectricVehicle ContentCategory = "IAB2-10" ContentCategoryHatchback ContentCategory = "IAB2-11" ContentCategoryHybrid ContentCategory = "IAB2-12" ContentCategoryLuxury ContentCategory = "IAB2-13" ContentCategoryMiniVan ContentCategory = "IAB2-14" ContentCategoryMororcycles ContentCategory = "IAB2-15" ContentCategoryOffRoadVehicles ContentCategory = "IAB2-16" ContentCategoryPerformanceVehicles ContentCategory = "IAB2-17" ContentCategoryPickup ContentCategory = "IAB2-18" ContentCategoryRoadSideAssistance ContentCategory = "IAB2-19" ContentCategorySedan ContentCategory = "IAB2-20" ContentCategoryTrucksAccessories ContentCategory = "IAB2-21" ContentCategoryVintageCars ContentCategory = "IAB2-22" ContentCategoryWagon ContentCategory = "IAB2-23" ContentCategoryBusiness ContentCategory = "IAB3" ContentCategoryAdvertising ContentCategory = "IAB3-1" ContentCategoryAgriculture ContentCategory = "IAB3-2" ContentCategoryBiotechBiomedical ContentCategory = "IAB3-3" ContentCategoryBusinessSoftware ContentCategory = "IAB3-4" ContentCategoryConstruction ContentCategory = "IAB3-5" ContentCategoryForestry ContentCategory = "IAB3-6" ContentCategoryGovernment ContentCategory = "IAB3-7" ContentCategoryGreenSolutions ContentCategory = "IAB3-8" ContentCategoryHumanResources ContentCategory = "IAB3-9" ContentCategoryLogistics ContentCategory = "IAB3-10" ContentCategoryMarketing ContentCategory = "IAB3-11" ContentCategoryMetals ContentCategory = "IAB3-12" ContentCategoryCareers ContentCategory = "IAB4" ContentCategoryCareerPlanning ContentCategory = "IAB4-1" ContentCategoryCollege ContentCategory = "IAB4-2" ContentCategoryFinancialAid ContentCategory = "IAB4-3" ContentCategoryJobFairs ContentCategory = "IAB4-4" ContentCategoryJobSearch ContentCategory = "IAB4-5" ContentCategoryResumeWritingAdvice ContentCategory = "IAB4-6" ContentCategoryNursing ContentCategory = "IAB4-7" ContentCategoryScholarships ContentCategory = "IAB4-8" ContentCategoryTelecommuting ContentCategory = "IAB4-9" ContentCategoryUSMilitary ContentCategory = "IAB4-10" ContentCategoryCareerAdvice ContentCategory = "IAB4-11" ContentCategoryEducation ContentCategory = "IAB5" ContentCategory12Education ContentCategory = "IAB5-1" ContentCategoryAdultEducation ContentCategory = "IAB5-2" ContentCategoryArtHistory ContentCategory = "IAB5-3" ContentCategoryCollegeAdministration ContentCategory = "IAB5-4" ContentCategoryCollegeLife ContentCategory = "IAB5-5" ContentCategoryDistanceLearning ContentCategory = "IAB5-6" ContentCategoryEnglishasa2ndLanguage ContentCategory = "IAB5-7" ContentCategoryLanguageLearning ContentCategory = "IAB5-8" ContentCategoryGraduateSchool ContentCategory = "IAB5-9" ContentCategoryHomeschooling ContentCategory = "IAB5-10" ContentCategoryHomeworkStudyTips ContentCategory = "IAB5-11" ContentCategoryK6Educators ContentCategory = "IAB5-12" ContentCategoryPrivateSchool ContentCategory = "IAB5-13" ContentCategorySpecialEducation ContentCategory = "IAB5-14" ContentCategoryStudyingBusiness ContentCategory = "IAB5-15" ContentCategoryFamilyParenting ContentCategory = "IAB6" ContentCategoryAdoption ContentCategory = "IAB6-1" ContentCategoryBabiesToddlers ContentCategory = "IAB6-2" ContentCategoryDaycarePreSchool ContentCategory = "IAB6-3" ContentCategoryFamilyInternet ContentCategory = "IAB6-4" ContentCategoryParentingK6Kids ContentCategory = "IAB6-5" ContentCategoryParentingteens ContentCategory = "IAB6-6" ContentCategoryPregnancy ContentCategory = "IAB6-7" ContentCategorySpecialNeedsKids ContentCategory = "IAB6-8" ContentCategoryEldercare ContentCategory = "IAB6-9" ContentCategoryHealthFitness ContentCategory = "IAB7" ContentCategoryExercise ContentCategory = "IAB7-1" ContentCategoryADD ContentCategory = "IAB7-2" ContentCategoryAIDSHIV ContentCategory = "IAB7-3" ContentCategoryAllergies ContentCategory = "IAB7-4" ContentCategoryAlternativeMedicine ContentCategory = "IAB7-5" ContentCategoryArthritis ContentCategory = "IAB7-6" ContentCategoryAsthma ContentCategory = "IAB7-7" ContentCategoryAutismPDD ContentCategory = "IAB7-8" ContentCategoryBipolarDisorder ContentCategory = "IAB7-9" ContentCategoryBrainTumor ContentCategory = "IAB7-10" ContentCategoryCancer ContentCategory = "IAB7-11" ContentCategoryCholesterol ContentCategory = "IAB7-12" ContentCategoryChronicFatigueSyndrome ContentCategory = "IAB7-13" ContentCategoryChronicPain ContentCategory = "IAB7-14" ContentCategoryColdFlu ContentCategory = "IAB7-15" ContentCategoryDeafness ContentCategory = "IAB7-16" ContentCategoryDentalCare ContentCategory = "IAB7-17" ContentCategoryDepression ContentCategory = "IAB7-18" ContentCategoryDermatology ContentCategory = "IAB7-19" ContentCategoryDiabetes ContentCategory = "IAB7-20" ContentCategoryEpilepsy ContentCategory = "IAB7-21" ContentCategoryGERDAcidReflux ContentCategory = "IAB7-22" ContentCategoryHeadachesMigraines ContentCategory = "IAB7-23" ContentCategoryHeartDisease ContentCategory = "IAB7-24" ContentCategoryHerbsforHealth ContentCategory = "IAB7-25" ContentCategoryHolisticHealing ContentCategory = "IAB7-26" ContentCategoryIBSCrohnsDisease ContentCategory = "IAB7-27" ContentCategoryIncestAbuseSupport ContentCategory = "IAB7-28" ContentCategoryIncontinence ContentCategory = "IAB7-29" ContentCategoryInfertility ContentCategory = "IAB7-30" ContentCategoryMensHealth ContentCategory = "IAB7-31" ContentCategoryNutrition ContentCategory = "IAB7-32" ContentCategoryOrthopedics ContentCategory = "IAB7-33" ContentCategoryPanicAnxietyDisorders ContentCategory = "IAB7-34" ContentCategoryPediatrics ContentCategory = "IAB7-35" ContentCategoryPhysicalTherapy ContentCategory = "IAB7-36" ContentCategoryPsychologyPsychiatry ContentCategory = "IAB7-37" ContentCategorySeniorHealth ContentCategory = "IAB7-38" ContentCategorySexuality ContentCategory = "IAB7-39" ContentCategorySleepDisorders ContentCategory = "IAB7-40" ContentCategorySmokingCessation ContentCategory = "IAB7-41" ContentCategorySubstanceAbuse ContentCategory = "IAB7-42" ContentCategoryThyroidDisease ContentCategory = "IAB7-43" ContentCategoryWeightLoss ContentCategory = "IAB7-44" ContentCategoryWomensHealth ContentCategory = "IAB7-45" ContentCategoryFoodDrink ContentCategory = "IAB8" ContentCategoryAmericanCuisine ContentCategory = "IAB8-1" ContentCategoryBarbecuesGrilling ContentCategory = "IAB8-2" ContentCategoryCajunCreole ContentCategory = "IAB8-3" ContentCategoryChineseCuisine ContentCategory = "IAB8-4" ContentCategoryCocktailsBeer ContentCategory = "IAB8-5" ContentCategoryCoffeeTea ContentCategory = "IAB8-6" ContentCategoryCuisineSpecific ContentCategory = "IAB8-7" ContentCategoryDessertsBaking ContentCategory = "IAB8-8" ContentCategoryDiningOut ContentCategory = "IAB8-9" ContentCategoryFoodAllergies ContentCategory = "IAB8-10" ContentCategoryFrenchCuisine ContentCategory = "IAB8-11" ContentCategoryHealthLowfatCooking ContentCategory = "IAB8-12" ContentCategoryItalianCuisine ContentCategory = "IAB8-13" ContentCategoryJapaneseCuisine ContentCategory = "IAB8-14" ContentCategoryMexicanCuisine ContentCategory = "IAB8-15" ContentCategoryVegan ContentCategory = "IAB8-16" ContentCategoryVegetarian ContentCategory = "IAB8-17" ContentCategoryWine ContentCategory = "IAB8-18" ContentCategoryHobbiesInterests ContentCategory = "IAB9" ContentCategoryArtTechnology ContentCategory = "IAB9-1" ContentCategoryArtsCrafts ContentCategory = "IAB9-2" ContentCategoryBeadwork ContentCategory = "IAB9-3" ContentCategoryBirdwatching ContentCategory = "IAB9-4" ContentCategoryBoardGamesPuzzles ContentCategory = "IAB9-5" ContentCategoryCandleSoapMaking ContentCategory = "IAB9-6" ContentCategoryCardGames ContentCategory = "IAB9-7" ContentCategoryChess ContentCategory = "IAB9-8" ContentCategoryCigars ContentCategory = "IAB9-9" ContentCategoryCollecting ContentCategory = "IAB9-10" ContentCategoryComicBooks ContentCategory = "IAB9-11" ContentCategoryDrawingSketching ContentCategory = "IAB9-12" ContentCategoryFreelanceWriting ContentCategory = "IAB9-13" ContentCategoryGenealogy ContentCategory = "IAB9-14" ContentCategoryGettingPublished ContentCategory = "IAB9-15" ContentCategoryGuitar ContentCategory = "IAB9-16" ContentCategoryHomeRecording ContentCategory = "IAB9-17" ContentCategoryInvestorsPatents ContentCategory = "IAB9-18" ContentCategoryJewelryMaking ContentCategory = "IAB9-19" ContentCategoryMagicIllusion ContentCategory = "IAB9-20" ContentCategoryNeedlework ContentCategory = "IAB9-21" ContentCategoryPainting ContentCategory = "IAB9-22" ContentCategoryPhotography ContentCategory = "IAB9-23" ContentCategoryRadio ContentCategory = "IAB9-24" ContentCategoryRoleplayingGames ContentCategory = "IAB9-25" ContentCategorySciFiFantasy ContentCategory = "IAB9-26" ContentCategoryScrapbooking ContentCategory = "IAB9-27" ContentCategoryScreenwriting ContentCategory = "IAB9-28" ContentCategoryStampsCoins ContentCategory = "IAB9-29" ContentCategoryVideoComputerGames ContentCategory = "IAB9-30" ContentCategoryWoodworking ContentCategory = "IAB9-31" ContentCategoryHomeGarden ContentCategory = "IAB10" ContentCategoryAppliances ContentCategory = "IAB10-1" ContentCategoryEntertaining ContentCategory = "IAB10-2" ContentCategoryEnvironmentalSafety ContentCategory = "IAB10-3" ContentCategoryGardening ContentCategory = "IAB10-4" ContentCategoryHomeRepair ContentCategory = "IAB10-5" ContentCategoryHomeTheater ContentCategory = "IAB10-6" ContentCategoryInteriorDecorating ContentCategory = "IAB10-7" ContentCategoryLandscaping ContentCategory = "IAB10-8" ContentCategoryRemodelingConstruction ContentCategory = "IAB10-9" ContentCategoryLawGovtPolitics ContentCategory = "IAB11" ContentCategoryImmigration ContentCategory = "IAB11-1" ContentCategoryLegalIssues ContentCategory = "IAB11-2" ContentCategoryUSGovernmentResources ContentCategory = "IAB11-3" ContentCategoryPolitics ContentCategory = "IAB11-4" ContentCategoryCommentary ContentCategory = "IAB11-5" ContentCategoryNews ContentCategory = "IAB12" ContentCategoryInternationalNews ContentCategory = "IAB12-1" ContentCategoryNationalNews ContentCategory = "IAB12-2" ContentCategoryLocalNews ContentCategory = "IAB12-3" ContentCategoryPersonalFinance ContentCategory = "IAB13" ContentCategoryBeginningInvesting ContentCategory = "IAB13-1" ContentCategoryCreditDebtLoans ContentCategory = "IAB13-2" ContentCategoryFinancialNews ContentCategory = "IAB13-3" ContentCategoryFinancialPlanning ContentCategory = "IAB13-4" ContentCategoryHedgeFund ContentCategory = "IAB13-5" ContentCategoryInsurance ContentCategory = "IAB13-6" ContentCategoryInvesting ContentCategory = "IAB13-7" ContentCategoryMutualFunds ContentCategory = "IAB13-8" ContentCategoryOptions ContentCategory = "IAB13-9" ContentCategoryRetirementPlanning ContentCategory = "IAB13-10" ContentCategoryStocks ContentCategory = "IAB13-11" ContentCategoryTaxPlanning ContentCategory = "IAB13-12" ContentCategorySociety ContentCategory = "IAB14" ContentCategoryDating ContentCategory = "IAB14-1" ContentCategoryDivorceSupport ContentCategory = "IAB14-2" ContentCategoryGayLife ContentCategory = "IAB14-3" ContentCategoryMarriage ContentCategory = "IAB14-4" ContentCategorySeniorLiving ContentCategory = "IAB14-5" ContentCategoryTeens ContentCategory = "IAB14-6" ContentCategoryWeddings ContentCategory = "IAB14-7" ContentCategoryEthnicSpecific ContentCategory = "IAB14-8" ContentCategoryScience ContentCategory = "IAB15" ContentCategoryAstrology ContentCategory = "IAB15-1" ContentCategoryBiology ContentCategory = "IAB15-2" ContentCategoryChemistry ContentCategory = "IAB15-3" ContentCategoryGeology ContentCategory = "IAB15-4" ContentCategoryParanormalPhenomena ContentCategory = "IAB15-5" ContentCategoryPhysics ContentCategory = "IAB15-6" ContentCategorySpaceAstronomy ContentCategory = "IAB15-7" ContentCategoryGeography ContentCategory = "IAB15-8" ContentCategoryBotany ContentCategory = "IAB15-9" ContentCategoryWeather ContentCategory = "IAB15-10" ContentCategoryPets ContentCategory = "IAB16" ContentCategoryAquariums ContentCategory = "IAB16-1" ContentCategoryBirds ContentCategory = "IAB16-2" ContentCategoryCats ContentCategory = "IAB16-3" ContentCategoryDogs ContentCategory = "IAB16-4" ContentCategoryLargeAnimals ContentCategory = "IAB16-5" ContentCategoryReptiles ContentCategory = "IAB16-6" ContentCategoryVeterinaryMedicine ContentCategory = "IAB16-7" ContentCategorySports ContentCategory = "IAB17" ContentCategoryAutoRacing ContentCategory = "IAB17-1" ContentCategoryBaseball ContentCategory = "IAB17-2" ContentCategoryBicycling ContentCategory = "IAB17-3" ContentCategoryBodybuilding ContentCategory = "IAB17-4" ContentCategoryBoxing ContentCategory = "IAB17-5" ContentCategoryCanoeingKayaking ContentCategory = "IAB17-6" ContentCategoryCheerleading ContentCategory = "IAB17-7" ContentCategoryClimbing ContentCategory = "IAB17-8" ContentCategoryCricket ContentCategory = "IAB17-9" ContentCategoryFigureSkating ContentCategory = "IAB17-10" ContentCategoryFlyFishing ContentCategory = "IAB17-11" ContentCategoryFootball ContentCategory = "IAB17-12" ContentCategoryFreshwaterFishing ContentCategory = "IAB17-13" ContentCategoryGameFish ContentCategory = "IAB17-14" ContentCategoryGolf ContentCategory = "IAB17-15" ContentCategoryHorseRacing ContentCategory = "IAB17-16" ContentCategoryHorses ContentCategory = "IAB17-17" ContentCategoryHuntingShooting ContentCategory = "IAB17-18" ContentCategoryInlineSkating ContentCategory = "IAB17-19" ContentCategoryMartialArts ContentCategory = "IAB17-20" ContentCategoryMountainBiking ContentCategory = "IAB17-21" ContentCategoryNASCARRacing ContentCategory = "IAB17-22" ContentCategoryOlympics ContentCategory = "IAB17-23" ContentCategoryPaintball ContentCategory = "IAB17-24" ContentCategoryPowerMotorcycles ContentCategory = "IAB17-25" ContentCategoryProBasketball ContentCategory = "IAB17-26" ContentCategoryProIceHockey ContentCategory = "IAB17-27" ContentCategoryRodeo ContentCategory = "IAB17-28" ContentCategoryRugby ContentCategory = "IAB17-29" ContentCategoryRunningJogging ContentCategory = "IAB17-30" ContentCategorySailing ContentCategory = "IAB17-31" ContentCategorySaltwaterFishing ContentCategory = "IAB17-32" ContentCategoryScubaDiving ContentCategory = "IAB17-33" ContentCategorySkateboarding ContentCategory = "IAB17-34" ContentCategorySkiing ContentCategory = "IAB17-35" ContentCategorySnowboarding ContentCategory = "IAB17-36" ContentCategorySurfingBodyboarding ContentCategory = "IAB17-37" ContentCategorySwimming ContentCategory = "IAB17-38" ContentCategoryTableTennisPingPong ContentCategory = "IAB17-39" ContentCategoryTennis ContentCategory = "IAB17-40" ContentCategoryVolleyball ContentCategory = "IAB17-41" ContentCategoryWalking ContentCategory = "IAB17-42" ContentCategoryWaterskiWakeboard ContentCategory = "IAB17-43" ContentCategoryWorldSoccer ContentCategory = "IAB17-44" ContentCategoryStyleFashion ContentCategory = "IAB18" ContentCategoryBeauty ContentCategory = "IAB18-1" ContentCategoryBodyArt ContentCategory = "IAB18-2" ContentCategoryFashion ContentCategory = "IAB18-3" ContentCategoryJewelry ContentCategory = "IAB18-4" ContentCategoryClothing ContentCategory = "IAB18-5" ContentCategoryAccessories ContentCategory = "IAB18-6" ContentCategoryTechnologyComputing ContentCategory = "IAB19" ContentCategoryDGraphics ContentCategory = "IAB19-1" ContentCategoryAnimation ContentCategory = "IAB19-2" ContentCategoryAntivirusSoftware ContentCategory = "IAB19-3" ContentCategoryCC ContentCategory = "IAB19-4" ContentCategoryCamerasCamcorders ContentCategory = "IAB19-5" ContentCategoryCellPhones ContentCategory = "IAB19-6" ContentCategoryComputerCertification ContentCategory = "IAB19-7" ContentCategoryComputerNetworking ContentCategory = "IAB19-8" ContentCategoryComputerPeripherals ContentCategory = "IAB19-9" ContentCategoryComputerReviews ContentCategory = "IAB19-10" ContentCategoryDataCenters ContentCategory = "IAB19-11" ContentCategoryDatabases ContentCategory = "IAB19-12" ContentCategoryDesktopPublishing ContentCategory = "IAB19-13" ContentCategoryDesktopVideo ContentCategory = "IAB19-14" ContentCategoryEmail ContentCategory = "IAB19-15" ContentCategoryGraphicsSoftware ContentCategory = "IAB19-16" ContentCategoryHomeVideoDVD ContentCategory = "IAB19-17" ContentCategoryInternetTechnology ContentCategory = "IAB19-18" ContentCategoryJava ContentCategory = "IAB19-19" ContentCategoryJavaScript ContentCategory = "IAB19-20" ContentCategoryMacSupport ContentCategory = "IAB19-21" ContentCategoryMP3MIDI ContentCategory = "IAB19-22" ContentCategoryNetConferencing ContentCategory = "IAB19-23" ContentCategoryNetforBeginners ContentCategory = "IAB19-24" ContentCategoryNetworkSecurity ContentCategory = "IAB19-25" ContentCategoryPalmtopsPDAs ContentCategory = "IAB19-26" ContentCategoryPCSupport ContentCategory = "IAB19-27" ContentCategoryPortable ContentCategory = "IAB19-28" ContentCategoryEntertainment ContentCategory = "IAB19-29" ContentCategoryUnix ContentCategory = "IAB19-31" ContentCategoryVisualBasic ContentCategory = "IAB19-32" ContentCategoryWebClipArt ContentCategory = "IAB19-33" ContentCategoryWebDesignHTML ContentCategory = "IAB19-34" ContentCategoryWebSearch ContentCategory = "IAB19-35" ContentCategoryWindows ContentCategory = "IAB19-36" ContentCategoryTravel ContentCategory = "IAB20" ContentCategoryAdventureTravel ContentCategory = "IAB20-1" ContentCategoryAfrica ContentCategory = "IAB20-2" ContentCategoryAirTravel ContentCategory = "IAB20-3" ContentCategoryAustraliaNewZealand ContentCategory = "IAB20-4" ContentCategoryBedBreakfasts ContentCategory = "IAB20-5" ContentCategoryBudgetTravel ContentCategory = "IAB20-6" ContentCategoryBusinessTravel ContentCategory = "IAB20-7" ContentCategoryByUSLocale ContentCategory = "IAB20-8" ContentCategoryCamping ContentCategory = "IAB20-9" ContentCategoryCanada ContentCategory = "IAB20-10" ContentCategoryCaribbean ContentCategory = "IAB20-11" ContentCategoryCruises ContentCategory = "IAB20-12" ContentCategoryEasternEurope ContentCategory = "IAB20-13" ContentCategoryEurope ContentCategory = "IAB20-14" ContentCategoryFrance ContentCategory = "IAB20-15" ContentCategoryGreece ContentCategory = "IAB20-16" ContentCategoryHoneymoonsGetaways ContentCategory = "IAB20-17" ContentCategoryHotels ContentCategory = "IAB20-18" ContentCategoryItaly ContentCategory = "IAB20-19" ContentCategoryJapan ContentCategory = "IAB20-20" ContentCategoryMexicoCentralAmerica ContentCategory = "IAB20-21" ContentCategoryNationalParks ContentCategory = "IAB20-22" ContentCategorySouthAmerica ContentCategory = "IAB20-23" ContentCategorySpas ContentCategory = "IAB20-24" ContentCategoryThemeParks ContentCategory = "IAB20-25" ContentCategoryTravelingwithKids ContentCategory = "IAB20-26" ContentCategoryUnitedKingdom ContentCategory = "IAB20-27" ContentCategoryRealEstate ContentCategory = "IAB21" ContentCategoryApartments ContentCategory = "IAB21-1" ContentCategoryArchitects ContentCategory = "IAB21-2" ContentCategoryBuyingSellingHomes ContentCategory = "IAB21-3" ContentCategoryShopping ContentCategory = "IAB22" ContentCategoryContestsFreebies ContentCategory = "IAB22-1" ContentCategoryCouponing ContentCategory = "IAB22-2" ContentCategoryComparison ContentCategory = "IAB22-3" ContentCategoryEngines ContentCategory = "IAB22-4" ContentCategoryReligionSpirituality ContentCategory = "IAB23" ContentCategoryAlternativeReligions ContentCategory = "IAB23-1" ContentCategoryAtheismAgnosticism ContentCategory = "IAB23-2" ContentCategoryBuddhism ContentCategory = "IAB23-3" ContentCategoryCatholicism ContentCategory = "IAB23-4" ContentCategoryChristianity ContentCategory = "IAB23-5" ContentCategoryHinduism ContentCategory = "IAB23-6" ContentCategoryIslam ContentCategory = "IAB23-7" ContentCategoryJudaism ContentCategory = "IAB23-8" ContentCategoryLatterDaySaints ContentCategory = "IAB23-9" ContentCategoryPaganWiccan ContentCategory = "IAB23-10" ContentCategoryUncategorized ContentCategory = "IAB24" ContentCategoryNonStandardContent ContentCategory = "IAB25" ContentCategoryUnmoderatedUGC ContentCategory = "IAB25-1" ContentCategoryExtremeGraphicExplicitViolence ContentCategory = "IAB25-2" ContentCategoryPornography ContentCategory = "IAB25-3" ContentCategoryProfaneContent ContentCategory = "IAB25-4" ContentCategoryHateContent ContentCategory = "IAB25-5" ContentCategoryUnderConstruction ContentCategory = "IAB25-6" ContentCategoryIncentivized ContentCategory = "IAB25-7" ContentCategoryAnyIllegalContent ContentCategory = "IAB26" ContentCategoryIllegalContent ContentCategory = "IAB26-1" ContentCategoryWarez ContentCategory = "IAB26-2" ContentCategorySpywareMalware ContentCategory = "IAB26-3" ContentCategoryCopyrightInfringement ContentCategory = "IAB26-4" )
ContentCategory values.
type ContentContext ¶
type ContentContext int
ContentContext as defined in section 5.18.
const ( ContentContextVideo ContentContext = 1 ContentContextGame ContentContext = 2 ContentContextMusic ContentContext = 3 ContentContextApplication ContentContext = 4 ContentContextText ContentContext = 5 ContentContextOther ContentContext = 6 ContentContextUnknown ContentContext = 7 )
5.18 Content Context
type ContentDelivery ¶
type ContentDelivery int
ContentDelivery as defined in section 5.15.
const ( ContentDeliveryUnknown ContentDelivery = 0 ContentDeliveryStreaming ContentDelivery = 1 ContentDeliveryProgressive ContentDelivery = 2 ContentDeliveryDownload ContentDelivery = 3 )
5.15 Content Delivery Methods
type CreativeAttribute ¶
type CreativeAttribute int
CreativeAttribute as defined in section 5.3.
const ( CreativeAttributeAudioAdAutoPlay CreativeAttribute = 1 CreativeAttributeAudioAdUserInitiated CreativeAttribute = 2 CreativeAttributeExpandableAuto CreativeAttribute = 3 CreativeAttributeExpandableUserInitiatedClick CreativeAttribute = 4 CreativeAttributeExpandableUserInitiatedRollover CreativeAttribute = 5 CreativeAttributeInBannerVideoAdAutoPlay CreativeAttribute = 6 CreativeAttributeInBannerVideoAdUserInitiated CreativeAttribute = 7 CreativeAttributePop CreativeAttribute = 8 CreativeAttributeProvocativeOrSuggestiveImagery CreativeAttribute = 9 CreativeAttributeExtremeAnimation CreativeAttribute = 10 CreativeAttributeSurveys CreativeAttribute = 11 CreativeAttributeTextOnly CreativeAttribute = 12 CreativeAttributeUserInitiated CreativeAttribute = 13 CreativeAttributeWindowsDialogOrAlert CreativeAttribute = 14 CreativeAttributeHasAudioWithPlayer CreativeAttribute = 15 CreativeAttributeAdProvidesSkipButton CreativeAttribute = 16 CreativeAttributeAdobeFlash CreativeAttribute = 17 )
5.3 Creative Attributes
type Data ¶
type Data struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` Segment []Segment `json:"segment,omitempty"` Ext json.RawMessage `json:"ext,omitempty"` }
Data and segment objects together allow additional data about the user to be specified. This data may be from multiple sources whether from the exchange itself or third party providers as specified by the id field. A bid request can mix data objects from multiple providers. The specific data providers in use should be published by the exchange a priori to its bidders.
func (Data) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Data) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Data) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Data) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type Deal ¶
type Deal struct { ID string `json:"id,omitempty"` // Unique deal ID BidFloor float64 `json:"bidfloor,omitempty"` BidFloorCurrency string `json:"bidfloorcur,omitempty"` // Currency of bid floor Seats []string `json:"wseat,omitempty"` // Array of buyer seats allowed to bid on this Direct Deal. AdvDomains []string `json:"wadomain,omitempty"` // Array of advertiser domains allowed to bid on this Direct Deal AuctionType int `json:"at,omitempty"` // Optional override of the overall auction type of the bid request, where 1 = First Price, 2 = Second Price Plus, 3 = the value passed in bidfloor is the agreed upon deal price. Additional auction types can be defined by the exchange. Ext json.RawMessage `json:"ext,omitempty"` }
Deal contains PMP deal information.
func (Deal) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Deal) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Deal) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Deal) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type Device ¶
type Device struct { UA string `json:"ua,omitempty"` // User agent Geo *Geo `json:"geo,omitempty"` // Location of the device assumed to be the user’s current location DNT int `json:"dnt,omitempty"` // "1": Do not track LMT int `json:"lmt,omitempty"` // "1": Limit Ad Tracking IP string `json:"ip,omitempty"` // IPv4 IPv6 string `json:"ipv6,omitempty"` // IPv6 DeviceType DeviceType `json:"devicetype,omitempty"` // The general type of device. Make string `json:"make,omitempty"` // Device make Model string `json:"model,omitempty"` // Device model OS string `json:"os,omitempty"` // Device OS OSVersion string `json:"osv,omitempty"` // Device OS version HWVersion string `json:"hwv,omitempty"` // Hardware version of the device (e.g., "5S" for iPhone 5S). Height int `json:"h,omitempty"` // Physical height of the screen in pixels. Width int `json:"w,omitempty"` // Physical width of the screen in pixels. PPI int `json:"ppi,omitempty"` // Screen size as pixels per linear inch. PixelRatio float64 `json:"pxratio,omitempty"` // The ratio of physical pixels to device independent pixels. JS int `json:"js,omitempty"` // Javascript status ("0": Disabled, "1": Enabled) GeoFetch int `json:"geofetch,omitempty"` // Indicates if the geolocation API will be available to JavaScript code running in the banner, FlashVersion string `json:"flashver,omitempty"` // Flash version Language string `json:"language,omitempty"` // Browser language Carrier string `json:"carrier,omitempty"` // Carrier or ISP derived from the IP address MCCMNC string `json:"mccmnc,omitempty"` // Mobile carrier as the concatenated MCC-MNC code (e.g., "310-005" identifies Verizon Wireless CDMA in the USA). ConnType ConnType `json:"connectiontype,omitempty"` // Network connection type. IFA string `json:"ifa,omitempty"` // Native identifier for advertisers IDSHA1 string `json:"didsha1,omitempty"` // SHA1 hashed device ID IDMD5 string `json:"didmd5,omitempty"` // MD5 hashed device ID PIDSHA1 string `json:"dpidsha1,omitempty"` // SHA1 hashed platform device ID PIDMD5 string `json:"dpidmd5,omitempty"` // MD5 hashed platform device ID MacSHA1 string `json:"macsha1,omitempty"` // SHA1 hashed device ID; IMEI when available, else MEID or ESN MacMD5 string `json:"macmd5,omitempty"` // MD5 hashed device ID; IMEI when available, else MEID or ESN Ext json.RawMessage `json:"ext,omitempty"` }
Device object provides information pertaining to the device including its hardware, platform, location, and carrier. This device can refer to a mobile handset, a desktop computer, set top box or other digital device.
func (Device) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Device) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Device) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Device) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type DeviceType ¶
type DeviceType int
DeviceType as defined in section 5.21.
const ( DeviceTypeUnknown DeviceType = 0 DeviceTypeMobile DeviceType = 1 DeviceTypePC DeviceType = 2 DeviceTypeTV DeviceType = 3 DeviceTypePhone DeviceType = 4 DeviceTypeTablet DeviceType = 5 DeviceTypeConnected DeviceType = 6 DeviceTypeSetTopBox DeviceType = 7 )
5.21 Device Type
type Format ¶
type Format struct { Width int `json:"w,omitempty"` // Width in device independent pixels (DIPS). Height int `json:"h,omitempty"` //Height in device independent pixels (DIPS). Ext json.RawMessage `json:"ext,omitempty"` }
Format object represents an allowed size (i.e., height and width combination) for a banner impression. These are typically used in an array for an impression where multiple sizes are permitted.
func (Format) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Format) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Format) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Format) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type Geo ¶
type Geo struct { Latitude float64 `json:"lat,omitempty"` // Latitude from -90 to 90 Longitude float64 `json:"lon,omitempty"` // Longitude from -180 to 180 Type LocationType `json:"type,omitempty"` // Indicate the source of the geo data Accuracy int `json:"accuracy,omitempty"` // Estimated location accuracy in meters; recommended when lat/lon are specified and derived from a device’s location services LastFix int `json:"lastfix,omitempty"` // Number of seconds since this geolocation fix was established. IPService IPLocation `json:"ipservice,omitempty"` // Service or provider used to determine geolocation from IP address if applicable Country string `json:"country,omitempty"` // Country using ISO 3166-1 Alpha 3 Region string `json:"region,omitempty"` // Region using ISO 3166-2 RegionFIPS104 string `json:"regionFIPS104,omitempty"` // Region of a country using FIPS 10-4 Metro string `json:"metro,omitempty"` City string `json:"city,omitempty"` ZIP string `json:"zip,omitempty"` UTCOffset int `json:"utcoffset,omitempty"` // Local time as the number +/- of minutes from UTC Ext json.RawMessage `json:"ext,omitempty"` }
Geo object may appear in one or both the Device Object and the User Object. This is intentional, since the information may be derived from either a device-oriented source (such as IP geo lookup), or by user registration information (for example provided to a publisher through a user registration).
func (Geo) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Geo) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Geo) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Geo) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type IPLocation ¶
type IPLocation int
IPLocation as defined in section 5.23.
const ( IPLocationUnknown IPLocation = 0 IPLocationIP2Location IPLocation = 1 IPLocationNeustar IPLocation = 2 IPLocationMaxMind IPLocation = 3 IPLocationNetAquity IPLocation = 4 )
5.22 IP Location Services
type Impression ¶
type Impression struct { ID string `json:"id"` // A unique identifier for this impression Banner *Banner `json:"banner,omitempty"` Video *Video `json:"video,omitempty"` Audio *Audio `json:"audio,omitempty"` Native *Native `json:"native,omitempty"` PMP *PMP `json:"pmp,omitempty"` // A reference to the PMP object containing any Deals eligible for the impression object. DisplayManager string `json:"displaymanager,omitempty"` // Name of ad mediation partner, SDK technology, etc DisplayManagerVersion string `json:"displaymanagerver,omitempty"` // Version of the above Interstitial int `json:"instl,omitempty"` // Interstitial, Default: 0 ("1": Interstitial, "0": Something else) TagID string `json:"tagid,omitempty"` // IDentifier for specific ad placement or ad tag BidFloor float64 `json:"bidfloor,omitempty"` // Bid floor for this impression in CPM BidFloorCurrency string `json:"bidfloorcur,omitempty"` // Currency of bid floor Secure int `json:"secure,omitempty"` // Flag to indicate whether the impression requires secure HTTPS URL creative assets and markup. Exp int `json:"exp,omitempty"` // Advisory as to the number of seconds that may elapse between the auction and the actual impression. IFrameBusters []string `json:"iframebuster,omitempty"` // Array of names for supportediframe busters. Ext json.RawMessage `json:"ext,omitempty"` }
Impression or the "imp" object describes the ad position or impression being auctioned. A single bid request can include multiple "imp" objects, a use case for which might be an exchange that supports selling all ad positions on a given page as a bundle. Each "imp" object has a required ID so that bids can reference them individually. An exchange can also conduct private auctions by restricting involvement to specific subsets of seats within bidders. The presence of Banner, Video, and/or Native objects subordinate to the Imp object indicates the type of impression being offered.
func (Impression) MarshalEasyJSON ¶
func (v Impression) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (Impression) MarshalJSON ¶
func (v Impression) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*Impression) UnmarshalEasyJSON ¶
func (v *Impression) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Impression) UnmarshalJSON ¶
func (v *Impression) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type Inventory ¶
type Inventory struct { ID string `json:"id,omitempty"` // ID on the exchange Name string `json:"name,omitempty"` Domain string `json:"domain,omitempty"` Categories []ContentCategory `json:"cat,omitempty"` // Array of IAB content categories SectionCategories []ContentCategory `json:"sectioncat,omitempty"` // Array of IAB content categories for subsection PageCategories []ContentCategory `json:"pagecat,omitempty"` // Array of IAB content categories for page PrivacyPolicy *int `json:"privacypolicy,omitempty"` // Default: 1 ("1": has a privacy policy) Publisher *Publisher `json:"publisher,omitempty"` // Details about the Publisher Content *Content `json:"content,omitempty"` // Details about the Content Keywords string `json:"keywords,omitempty"` // Comma separated list of keywords about the site. Ext json.RawMessage `json:"ext,omitempty"` }
Inventory contains inventory specific attributes
func (*Inventory) GetPrivacyPolicy ¶
GetPrivacyPolicy returns the privacy policy value
func (Inventory) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Inventory) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Inventory) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Inventory) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type LocationType ¶
type LocationType int
LocationType as defined in section 5.20.
const ( LocationTypeUnknown LocationType = 0 LocationTypeGPS LocationType = 1 LocationTypeIP LocationType = 2 LocationTypeUser LocationType = 3 )
5.20 Location Type
type Native ¶
type Native struct { Request json.RawMessage `json:"request"` // Request payload complying with the Native Ad Specification. Version string `json:"ver,omitempty"` // Version of the Native Ad Specification to which request complies; highly recommended for efficient parsing. APIs []APIFramework `json:"api,omitempty"` // List of supported API frameworks for this impression. BlockedAttrs []CreativeAttribute `json:"battr,omitempty"` // Blocked creative attributes Ext json.RawMessage `json:"ext,omitempty"` }
Native object represents a native type impression. Native ad units are intended to blend seamlessly into the surrounding content (e.g., a sponsored Twitter or Facebook post). As such, the response must be well-structured to afford the publisher fine-grained control over rendering. The presence of a Native as a subordinate of the Imp object indicates that this impression is offered as a native type impression. At the publisher’s discretion, that same impression may also be offered as banner and/or video by also including as Imp subordinates the Banner and/or Video objects, respectively. However, any given bid for the impression must conform to one of the offered types.
func (Native) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Native) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Native) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Native) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type PMP ¶
type PMP struct { Private int `json:"private_auction,omitempty"` Deals []Deal `json:"deals,omitempty"` Ext json.RawMessage `json:"ext,omitempty"` }
PMP is the Private Marketplace Object
func (PMP) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (PMP) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*PMP) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*PMP) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type Producer ¶
type Producer ThirdParty
Producer is useful when content where the ad is shown is syndicated, and may appear on a completely different publisher. The producer object itself and all of its parameters are optional, so default values are not provided. If an optional parameter is not specified, it should be considered unknown.
type ProductionQuality ¶
type ProductionQuality int
ProductionQuality as defined in section 5.13.
const ( ProductionQualityUnknown ProductionQuality = 0 ProductionQualityProfessional ProductionQuality = 1 ProductionQualityProsumer ProductionQuality = 2 ProductionQualityUGC ProductionQuality = 3 )
5.13 Video Quality
type Protocol ¶
type Protocol int
Protocol as defined in section 5.8.
const ( ProtocolUnknown Protocol = 0 ProtocolVAST1 Protocol = 1 ProtocolVAST2 Protocol = 2 ProtocolVAST3 Protocol = 3 ProtocolVAST1Wrapper Protocol = 4 ProtocolVAST2Wrapper Protocol = 5 ProtocolVAST3Wrapper Protocol = 6 ProtocolVAST4 Protocol = 7 ProtocolVAST4Wrapper Protocol = 8 ProtocolDAAST1 Protocol = 9 ProtocolDAAST1Wrapper Protocol = 10 )
5.8 Video and Audio Bid Response Protocols
type Publisher ¶
type Publisher ThirdParty
Publisher object itself and all of its parameters are optional, so default values are not provided. If an optional parameter is not specified, it should be considered unknown.
type Regulations ¶
type Regulations struct { COPPA int `json:"coppa,omitempty"` // Flag indicating if this request is subject to the COPPA regulations established by the USA FTC, where 0 = no, 1 = yes. Ext json.RawMessage `json:"ext,omitempty"` }
Regulations object contains any legal, governmental, or industry regulations that apply to the request. The coppa flag signals whether or not the request falls under the United States Federal Trade Commission's regulations for the United States Children's Online Privacy Protection Act ("COPPA").
func (Regulations) MarshalEasyJSON ¶
func (v Regulations) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (Regulations) MarshalJSON ¶
func (v Regulations) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*Regulations) UnmarshalEasyJSON ¶
func (v *Regulations) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Regulations) UnmarshalJSON ¶
func (v *Regulations) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type SeatBid ¶
type SeatBid struct { Bids []Bid `json:"bid"` // Array of bid objects; each realtes to an imp, if exchange supported can have many bid objects. Seat string `json:"seat,omitempty"` // ID of the bidder seat optional string ID of the bidder seat on whose behalf this bid is made. Group int `json:"group,omitempty"` // '1' means impression must be won-lost as a group; default is '0'. Ext json.RawMessage `json:"ext,omitempty"` }
SeatBid contains seat information. At least one of Bid is required. A bid response can contain multiple "seatbid” objects, each on behalf of a different bidder seat. SeatBid object can contain multiple bids each pertaining to a different impression on behalf of a seat. Each "bid” object must include the impression ID to which it pertains as well as the bid price. Group attribute can be used to specify if a seat is willing to accept any impressions that it can win (default) or if it is only interested in winning any if it can win them all (i.e., all or nothing).
func (SeatBid) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (SeatBid) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*SeatBid) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*SeatBid) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type Segment ¶
type Segment struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` Value string `json:"value,omitempty"` Ext json.RawMessage `json:"ext,omitempty"` }
Segment objects are essentially key-value pairs that convey specific units of data about the user. The parent Data object is a collection of such values from a given data provider. The specific segment names and value options must be published by the exchange a priori to its bidders.
func (Segment) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Segment) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Segment) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Segment) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type Site ¶
type Site struct { Inventory Page string `json:"page,omitempty"` // URL of the page Referrer string `json:"ref,omitempty"` // Referrer URL Search string `json:"search,omitempty"` // Search string that caused naviation Mobile int `json:"mobile,omitempty"` // Mobile ("1": site is mobile optimised) }
Site object should be included if the ad supported content is part of a website (as opposed to an application). A bid request must not contain both a site object and an app object.
func (Site) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Site) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Site) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Site) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type Source ¶
type Source struct { FinalSaleDecision int `json:"fd,omitempty"` // Entity responsible for the final impression sale decision, where 0 = exchange, 1 = upstream source. TransactionID string `json:"tid,omitempty"` // Transaction ID that must be common across all participants in this bid request (e.g., potentially multiple exchanges). PaymentChain string `json:"pchain,omitempty"` // Payment ID chain string containing embedded syntax described in the TAG Payment ID Protocol v1.0. Ext json.RawMessage `json:"ext,omitempty"` // Placeholder for exchange-specific extensions to OpenRTB. }
Source object describes the nature and behavior of the entity that is the source of the bid request upstream from the exchange.
func (Source) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Source) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Source) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Source) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type StartDelay ¶
type StartDelay int
StartDelay as defined in section 5.12.
const ( StartDelayPreRoll StartDelay = 0 StartDelayGenericMidRoll StartDelay = -1 StartDelayGenericPostRoll StartDelay = -2 )
5.12 Video Start Delay
type ThirdParty ¶
type ThirdParty struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` Categories []ContentCategory `json:"cat,omitempty"` // Array of IAB content categories Domain string `json:"domain,omitempty"` Ext json.RawMessage `json:"ext,omitempty"` }
ThirdParty abstract attributes.
func (ThirdParty) MarshalEasyJSON ¶
func (v ThirdParty) MarshalEasyJSON(w *jwriter.Writer)
MarshalEasyJSON supports easyjson.Marshaler interface
func (ThirdParty) MarshalJSON ¶
func (v ThirdParty) MarshalJSON() ([]byte, error)
MarshalJSON supports json.Marshaler interface
func (*ThirdParty) UnmarshalEasyJSON ¶
func (v *ThirdParty) UnmarshalEasyJSON(l *jlexer.Lexer)
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*ThirdParty) UnmarshalJSON ¶
func (v *ThirdParty) UnmarshalJSON(data []byte) error
UnmarshalJSON supports json.Unmarshaler interface
type User ¶
type User struct { ID string `json:"id,omitempty"` // Unique consumer ID of this user on the exchange BuyerID string `json:"buyerid,omitempty"` // Buyer-specific ID for the user as mapped by the exchange for the buyer. At least one of buyeruid/buyerid or id is recommended. Valid for OpenRTB 2.3. BuyerUID string `json:"buyeruid,omitempty"` // Buyer-specific ID for the user as mapped by the exchange for the buyer. Same as BuyerID but valid for OpenRTB 2.2. YearOfBirth int `json:"yob,omitempty"` // Year of birth as a 4-digit integer. Gender string `json:"gender,omitempty"` // Gender ("M": male, "F" female, "O" Other) Keywords string `json:"keywords,omitempty"` // Comma separated list of keywords, interests, or intent CustomData string `json:"customdata,omitempty"` // Optional feature to pass bidder data that was set in the exchange's cookie. The string must be in base85 cookie safe characters and be in any format. Proper JSON encoding must be used to include "escaped" quotation marks. Geo *Geo `json:"geo,omitempty"` Data []Data `json:"data,omitempty"` Ext json.RawMessage `json:"ext,omitempty"` }
User object contains information known or derived about the human user of the device (i.e., the audience for advertising). The user id is an exchange artifact and may be subject to rotation or other privacy policies. However, this user ID must be stable long enough to serve reasonably as the basis for frequency capping and retargeting.
func (User) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (User) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*User) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*User) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type Video ¶
type Video struct { MIMEs []string `json:"mimes,omitempty"` // Content MIME types supported. MinDuration int `json:"minduration,omitempty"` // Minimum video ad duration in seconds MaxDuration int `json:"maxduration,omitempty"` // Maximum video ad duration in seconds Protocols []Protocol `json:"protocols,omitempty"` // Video bid response protocols Protocol Protocol `json:"protocol,omitempty"` // Video bid response protocols DEPRECATED Width int `json:"w,omitempty"` // Width of the player in pixels Height int `json:"h,omitempty"` // Height of the player in pixels StartDelay StartDelay `json:"startdelay,omitempty"` // Indicates the start delay in seconds Linearity VideoLinearity `json:"linearity,omitempty"` // Indicates whether the ad impression is linear or non-linear Skip int `json:"skip,omitempty"` // Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes. SkipMin int `json:"skipmin,omitempty"` // Videos of total duration greater than this number of seconds can be skippable SkipAfter int `json:"skipafter,omitempty"` // Number of seconds a video must play before skipping is enabled Sequence int `json:"sequence,omitempty"` // Default: 1 BlockedAttrs []CreativeAttribute `json:"battr,omitempty"` // Blocked creative attributes MaxExtended int `json:"maxextended,omitempty"` // Maximum extended video ad duration MinBitrate int `json:"minbitrate,omitempty"` // Minimum bit rate in Kbps MaxBitrate int `json:"maxbitrate,omitempty"` // Maximum bit rate in Kbps BoxingAllowed *int `json:"boxingallowed,omitempty"` // If exchange publisher has rules preventing letter boxing PlaybackMethods []VideoPlayback `json:"playbackmethod,omitempty"` // List of allowed playback methods Delivery []ContentDelivery `json:"delivery,omitempty"` // List of supported delivery methods Position AdPosition `json:"pos,omitempty"` // Ad Position CompanionAds []Banner `json:"companionad,omitempty"` APIs []APIFramework `json:"api,omitempty"` // List of supported API frameworks CompanionTypes []CompanionType `json:"companiontype,omitempty"` Placement VideoPlacement `json:"placement,omitempty"` // Video placement type Ext json.RawMessage `json:"ext,omitempty"` }
Video object must be included directly in the impression object if the impression offered for auction is an in-stream video ad opportunity.
func (*Video) GetBoxingAllowed ¶
GetBoxingAllowed returns the boxing-allowed indicator
func (Video) MarshalEasyJSON ¶
MarshalEasyJSON supports easyjson.Marshaler interface
func (Video) MarshalJSON ¶
MarshalJSON supports json.Marshaler interface
func (*Video) UnmarshalEasyJSON ¶
UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (*Video) UnmarshalJSON ¶
UnmarshalJSON supports json.Unmarshaler interface
type VideoLinearity ¶
type VideoLinearity int
VideoLinearity as defined in section 5.7.
const ( VideoLinearityUnknown VideoLinearity = 0 VideoLinearityLinear VideoLinearity = 1 VideoLinearityNonLinear VideoLinearity = 2 )
5.7 Video Linearity
type VideoPlacement ¶
type VideoPlacement int
VideoPlacement as defined in section 5.9.
const ( VideoPlacementUnknown VideoPlacement = 0 VideoPlacementInStream VideoPlacement = 1 VideoPlacementInBanner VideoPlacement = 2 VideoPlacementInArticle VideoPlacement = 3 VideoPlacementInFeed VideoPlacement = 4 VideoPlacementInterstitial VideoPlacement = 5 )
Video Placement Types
type VideoPlayback ¶
type VideoPlayback int
VideoPlayback as defined in section 5.10.
const ( VideoPlaybackUnknown VideoPlayback = 0 VideoPlaybackPageLoadSoundOn VideoPlayback = 1 VideoPlaybackPageLoadSoundOff VideoPlayback = 2 VideoPlaybackClickToPlay VideoPlayback = 3 VideoPlaybackMouseOver VideoPlayback = 4 VideoPlaybackEnterSoundOn VideoPlayback = 5 VideoPlaybackEnterSoundOff VideoPlayback = 6 )
5.10 Video Playback Methods
type VolumeNorm ¶
type VolumeNorm int
VolumeNorm as defined in section 5.17.
const ( VolumeNormNone VolumeNorm = 0 VolumeNormAverage VolumeNorm = 1 VolumeNormPeak VolumeNorm = 2 VolumeNormLoudness VolumeNorm = 3 VolumeNormCustom VolumeNorm = 4 )
5.17 Volume Normalization Modes
Source Files ¶
- audio.go
- audio_easyjson.go
- banner.go
- banner_easyjson.go
- bid.go
- bid_easyjson.go
- bidrequest.go
- bidrequest_easyjson.go
- bidresponse.go
- bidresponse_easyjson.go
- content.go
- content_easyjson.go
- device.go
- device_easyjson.go
- doc.go
- doc_easyjson.go
- impression.go
- impression_easyjson.go
- inventory.go
- inventory_easyjson.go
- native.go
- native_easyjson.go
- openrtb.go
- openrtb_easyjson.go
- pmp.go
- pmp_easyjson.go
- seatbid.go
- seatbid_easyjson.go
- source.go
- source_easyjson.go
- video.go
- video_easyjson.go