/** * The following enumerations are referenced by attributes in AdCOM objects. */ syntax = "proto2"; package com.iabtechlab.adcom.v1.enums; /** * This list identifies the user agent types a user identifier is from. */ enum AgentType { AgentType_UNKNOWN = 0; WEB = 1; APP = 2; PERSON_BASED = 3; } /** * The following enum is a list of API frameworks either supported by a placement or required * by an ad. */ enum APIFramework { APIFramework_UNKNOWN = 0; // Equivalent to an unset value. VPAID_1_0 = 1; // VPAID 1.0 VPAID_2_0 = 2; // VPAID 2.0 MRAID_1_0 = 3; // MRAID 1.0 ORMMA = 4; // ORMMA MRAID_2_0 = 5; // MRAID 2.0 MRAID_3_0 = 6; // MRAID 3.0 OMID_1_0 = 7; // OMID 1.0 SIMID_1_0 = 8; // SIMID 1.0 SIMID_1_1 = 9; // SIMID 1.1 } /** * The following enum lists the codes used in "Audit" objects to reflect status or workflow state. */ enum AuditStatusCode { // Equivalent to an unset value. AuditStatusCode_UNKNOWN = 0; // Pending Audit: An audit has not yet been completed on this ad. A recommendation cannot be made // to use this ad, but vendors' policies may override. PENDING_AUDIT = 1; // Pre-Approved: An audit has not yet been completed on this ad. Subject to vendors' policies, it // can be recommended for use. However, once the audit has been completed, its status will change // and it may or may not be approved for continued use. PREAPPROVED = 2; // Approved: The audit is complete and the ad is approved for use. Note, however, that some // attributes (e.g., "adomain", "cat", "attr", etc.) may have been changed in the process by the // auditor. APPROVED = 3; // Denied: The audit is complete, but the ad has been found unacceptable in some material aspect // and is disapproved for use. DENIED = 4; // Changed; Resubmission Requested: A version of the ad has been detected in use that is // materially different from the version that was previously audited, which may result in // rejection during use until the ad is resubmitted for audit and approved. Vendors need to // communicate offline as to the criteria that constitutes a material change. CHANGE_RESUBMIT = 5; } /** * This enum lists the options for taxonomies that can be used to describe content, audience, and * ad creative categories. * http://www.iab.com/guidelines/taxonomy */ enum CategoryTaxonomy { CategoryTaxonomy_UNKNOWN = 0; // Equivalent to an unset value. IAB_CONTENT_CAT_TAX_1_0 = 1; // IAB Tech Lab Content Category Taxonomy 1.0 - Deprecated, and recommend NOT be used since it does not have SCD flags. IAB_CONTENT_CAT_TAX_2_0 = 2; // IAB Tech Lab Content Category Taxonomy 2.0 - Deprecated, and recommend NOT be used since it does not have SCD flags. IAB_AD_PROD_TAX_1_0 = 3; // IAB Tech Lab Ad Product Taxonomy 1.0 - See https://iabtechlab.com/wp-content/uploads/2020/10/IABTL-Ad-Product-Taxonomy-1.0-Final.xlsx IAB_AUDIENCE_TAX_1_1 = 4; // IAB Tech Lab Audience Taxonomy 1.1 - See https://iabtechlab.com/standards/audience-taxonomy/ IAB_CONTENT_CAT_TAX_2_1 = 5; // IAB Tech Lab Content Category Taxonomy 1.1 - See https://iabtechlab.com/standards/content-taxonomy/ IAB_CONTENT_CAT_TAX_2_2 = 6; // IAB Tech Lab Content Category Taxonomy 2.2 - See https://iabtechlab.com/standards/content-taxonomy/ } /** * The following enum defines the types of creative action (i.e., click) behavior types. */ enum ClickType { NON_CLICKABLE = 0; // Non-Clickable CLICKABLE_UNKNOWN = 1; // Details Unknown CLICKABLE_EMBEDDED = 2; // Embedded Browser/Webview CLICKABLE_NATIVE = 3; // Native Browser } /** * The following enum defines the options to indicate markup types allowed for companion ads that * apply to video and audio ads. This enum is derived from VAST 2.0+ and DAAST 1.0+ specifications. */ enum CompanionType { CompanionType_UNKNOWN = 0; // Equivalent to an unset value. STATIC_RSRC = 1; // Static resource. HTML_RSRC = 2; // HTML resource. IFRAME_RSRC = 3; // Iframe resource. } /** * The following enum defines the options for the type of device connectivity. */ enum ConnectionType { ConnectionType_UNKNOWN = 0; // Equivalent to an unset value. WIRED = 1; // Wired ethernet connection. WIFI = 2; // WIFI. CELL_UNKNOWN = 3; // Cellular Network - unknown generation. CELL_2G = 4; // Cellular Network - 2g. CELL_3G = 5; // Cellular Network - 3g. CELL_4G = 6; // Cellular Network - 4g. CELL_5G = 7; // Cellular Network - 5g. } /** * The following enum defines the various options for indicating the type of content being used or * consumed by the user in which ads may appear. This enum has values derived from the TAG * Inventory Quality Guidelines (IQG). */ enum ContentContext { ContentContext_UNKNOWN = 0; // Equivalent to an unset value. VIDEO = 1; // Video (i.e., video file or stream such as Internet TV broadcasts). GAME = 2; // Game (i.e., an interactive software game). MUSIC = 3; // Music (i.e., audio file or stream such as Internet radio broadcasts). APPLICATION = 4; // Application (i.e., an interactive software application). TEXT = 5; // Text (i.e., primarily textual document such as a web page, eBook, or news article). OTHER = 6; // Other (i.e., none of the other categories applies). NOTKNOWN = 7; // Unknown content context. } message Creative { /** * The following enum defines a standard list of creative attributes that can describe an actual ad * or restrictions relative to a given placement. */ enum Attribute { Attribute_UNKNOWN = 0; // Equivalent to an unset value. AUDIO_AUTOPLAY = 1; // Audio Ad (Autoplay). AUDIO_USER_INIT = 2; // Audio Ad (User Initiated). EXPANDABLE_AUTO = 3; // Expandable (Automatic). EXPANDABLE_ONCLICK = 4; // Expandable (User Initiated - Click). EXPANDABLE_ONROLLOVER = 5; // Expandable (User Initiated - Rollover). IB_VIDEO_AUTO = 6; // In-Banner Video Ad (Autoplay). IB_VIDEO_USER_INIT = 7; // In-Banner Video Ad (User Initiated). POP = 8; // Pop (e.g., Over, Under, or Upon Exit). PROVOCATIVE = 9; // Provocative or Suggestive Imagery. ANNOYING = 10; // Shaky, Flashing, Flickery, Extreme Animation, Smileys. SURVEYS = 11; // Surveys. TEXT_ONLY = 12; // Text Only USER_INTERACTIVE = 13; // User Interactive (e.g., Embedded Games). DIALOG_ALERT = 14; // Windows Dialog or Alert Style. AUDIO_ON_OFF = 15; // Has Audio On/Off Button. SKIP_BUTTON = 16; // Ad Provides Skip Button (e.g., VPAID-rendered skip button on pre-roll video). ADOBE_FLASH = 17; // Adobe Flash. RESPONSIVE = 18; // Responsive; Sizeless; Fluid (i.e., creatives that dynamically resize to env). } /** * The following enum defines the various subtypes of audio and video ad creatives. */ enum AudioVideoType { AudioVideoType_UNKNOWN = 0; // Equivalent to an unset value. VAST_1_0 = 1; // VAST 1.0 VAST_2_0 = 2; // VAST 2.0 VAST_3_0 = 3; // VAST 3.0 VAST_1_0_WRAP = 4; // VAST 1.0 Wrapper VAST_2_0_WRAP = 5; // VAST 2.0 Wrapper VAST_3_0_WRAP = 6; // VAST 3.0 Wrapper VAST_4_0 = 7; // VAST 4.0 VAST_4_0_WRAP = 8; // VAST 4.0 Wrapper DAAST_1_0 = 9; // DAAST 1.0 DAAST_1_0_WRAP = 10; // DAAST 1.0 Wrapper VAST_4_1 = 11; // VAST 4.1 VAST_4_1_WRAP = 12; // VAST 4.1 Wrapper VAST_4_2 = 13; // VAST 4.2 VAST_4_2_WRAP = 14; // VAST 4.2 Wrapper } /** * The following enum defines the various subtypes of display ad creatives. */ enum DisplayType { DisplayType_UNKNOWN = 0; // Equivalent to an unset value. HTML = 1; // HTML AMPHTML = 2; // AMP HTML IMAGE = 3; // Structured Image object NATIVE = 4; // Structured Native Object } } /** * The following enum defines the various options for the delivery of video or audio content. */ enum DeliveryMethod { DeliveryMethod_UNKNOWN = 0; // Equivalent to an unset value. STREAMING = 1; // Streaming video or audio. PROGRESSIVE = 2; // Progressive video or audio. DOWNLOAD = 3; // Downloadable video or audio. } /** * The following enum defines the types of devies. This enum has values derived from the TAG * Inventory Quality Guidelines (IQG). */ enum DeviceType { DeviceType_UNKNOWN = 0; // Equivalent to an unset value. MOBILE_TABLET = 1; // Mobile/Tablet - General. PC = 2; // Personal Computer. CONNECTED_TV = 3; // Connected TV. PHONE = 4; // Smart Phone. TABLET = 5; // Tablet. CONNECTED_DEV = 6; // Connected Device. SET_TOP_BOX = 7; // Set Top Box. OOH_DEVICE = 8; // Digital Out of Home. } /** * The following enum defines the types of context in which a native ad may appear (i.e., the type * of content surrounding the ad on the page). This is intended to denote primary content although * other content may also appear on the page. Note that there are two levels of detail grouped by * 10s (i.e., 12 is a refined case of 100). */ enum DisplayContextType { DisplayContextType_UNKNOWN = 0; // Equivalent to an unset value. CONTENT_CENTRIC = 10; // Content-centric context (e.g., newsfeed, article, image gallery, video gallery, etc.). ARTICLE = 11; // Primarily article content, which could include images, etc. as part of the article. VIDEO_X = 12; // Primarily video content. AUDIO = 13; // Primarily audio content. IMAGE = 14; // Primarily image content. USER_GENERATED = 15; // User generated content (e.g., forums, comments, etc). SOCIAL = 20; // Social-centric context (e.g., social network feed, email, chat, etc). EMAIL = 21; // Primarily email content. CHAT = 22; // Primarily chat/IM content. PRODUCT = 30; // Product context (e.g., product listings, details, recommendations, reviews, etc.). APP_STORE = 31; // App store/marketplace. PRODUCT_REVIEWS = 32; // Product reviews site primarily, which may sell product secondarily. } /** * The following enum defines the general types of display placements; the locations where a * native ad may be shown in relationship to the surrounding content. */ enum DisplayPlacementType { DisplayPlacementType_UNKNOWN = 0; // Equivalent to an unset value. FEED_CONTENT = 1; // In the feed of content (e.g., as an item inside the organic feed, grid, // listing carousel, etc.). ATOMIC_CONTENT = 2; // In the atomic unit of the content (e.g., in the article page or single image page). OUTSIDE_CONTENT = 3; // Outside the core content (.e.g, in the ads section on the right rail, as a banner // style placement near the content, etc.). RECOMMENDATION = 4; // Recommendation widget; most commonly presented below article content. } /** * This enum presents the digital out-of-home venue types and is derived from the DPAA Programmatic * Standards. */ enum DOOHVenueType { DOOHVenueType_UNKNOWN = 0; // Equivalent to an unset value. AIRBORNE = 1; // Airborne. AIRPORT_GENERAL = 2; // Airports - General. AIRPORT_BAG_CLAIM = 3; // Airports - Baggage Claim. AIRPORT_TERMINAL = 4; // Airports - Terminal AIRPORT_LOUNGE = 5; // Airports - Lounges. ATM = 6; // ATMs. BACKLIGHT = 7; // Backlights. BAR = 8; // Bars. BENCH = 9; // Benches. BIKE_RACK = 10; // Bike rack. BULLETIN = 11; // Bulletins. BUS = 12; // Buses. CAFE = 13; // Cafes. CASUAL_DINING = 14; // Casual Dining Restaurants. CHILD_CARE = 15; // Child Care. CINEMA = 16; // Cinema. CITY_INFO_PANEL = 17; // City Information Panels. CONVENIENCE_STORE = 18; // Convenience Stores. DED_WILD_POSTING = 19; // Dedicated Wild Posting. DOC_OFFICE_GEN = 20; // Doctors Offices - General. DOC_OFFICE_OB = 21; // Doctors Offices - Obstetrics. DOC_OFFICE_PEDS = 22; // Doctors Offices - Pediatrics. FAMILY_ENT = 23; // Family entertainment. FERRY = 24; // Ferries. FINANCIAL_SERVICE = 25; // Financial Services. GAS_STATION = 26; // Gas Stations. GOLF_COURSE = 27; // Golf Courses. GYM = 28; // Gyms. HOSPITAL = 29; // Hospitals. HOTEL = 30; // Hotels. JR_POSTER = 31; // Junior Posters. KIOSK = 32; // Kiosks. MALL_GENERAL = 33; // Malls - General. MALL_FOOD_COURT = 34; // Malls - Food Courts. MARINE = 35; // Marine. MOBILE_BILLBOARD = 36; // Mobile Billboards. MOVIE_THEATER_LOB = 37; // Movie Theater Lobbies. NEWSSTAND = 38; // Newsstands. OFFICE_BUILDING = 39; // Office Buildings. PHONE_KIOSK = 40; // Phone Kiosks. POSTER = 41; // Posters. QSR = 42; // QSR. RAIL = 43; // Rail. RECEPTACLE = 44; // Receptacles. RESORT = 45; // Resorts / Leisure. RETAIL = 46; // Retail. SALON = 47; // Salons. SHELTER = 48; // Shelters. SPORTS_ARENA = 49; // Sports Arenas. SUBWAY = 50; // Subway. TAXI_WRAP_VEHICLE = 51; // Taxis / Wrapped vehicles. TRUCKSIDE = 52; // Truckside. UNIVERSITY = 53; // Universities. URBAN_PANEL = 54; // Urban Panels. VET_OFFICE = 55; // Veterinarian Offices. WALL_SPECTACULAR = 56; // Walls / Spectaculars. OTHER_X = 57; // Other. } /** * This enum lists the available methods of tracking of ad events. Vendor specific codes may * include custom measurement companies (e.g., Moat, Doubleverify, IAS, etc.). */ enum EventTrackingMethod { EventTrackingMethod_UNKNOWN = 0; // Equivalent to an unset value. IMAGE_PIXEL = 1; // Image-Pixel: URL provided will be inserted as a 1x1 pixel at time of the event. JAVASCRIPT = 2; // JavaScript : URL provided will be inserted as a JavaScript tag at time of the event. } /** * The following enum defines the types of ad events available for tracking. These types refer to * the actual event, timing, etc.; not the method of firing. Scripts that are performing * measurement should be deployed at the "loaded" event. */ enum EventType { EventType_UNKNOWN = 0; // Equivalent to an unset value. LOADED = 1; // loaded: Delivered as a part of the creative markup. Creative may be pre-cached or pre-loaded; prior to initial rendering. IMPRESSION = 2; // impression: Ad impression per https://www.iab.com/guidelines/iab-measurement-guidelines/. VIEWABLE_MRC50 = 3; // viewable-mrc50: Visible impression using MRC definition of 50% in view for 1 second. VIEWABLE_MRC100 = 4; // viewable-mrc100: 100% in view for 1 second (i.e., the GroupM standard). VIEWABLE_VIDEO50 = 5; // viewable-video50: Visible impression for video using MRC definition of 50% in view for 2 seconds. } /** * The following enum defines the directions in which an expandable ad may expand, given the * positioning of the ad unit on the page and constraints imposed by the content. */ enum ExpandableDirection { ExpandableDirection_UNKNOWN = 0; // Equivalent to an unset value. LEFT = 1; RIGHT = 2; UP = 3; DOWN = 4; FULLSCREEN = 5; MINIMIZE = 6; } /** * The following enum defines the types of feeds for audio. */ enum FeedType { FeedType_UNKNOWN = 0; // Equivalent to an unset value. MUSIC_SERVICE = 1; // Music Service. FM_AM_BROADCAST = 2; // FM/AM Broadcast. PODCAST = 3; // Podcast. } /** * The following table contains enumerations for various ways an ID could be matched to an ad request, * and if they pertain to a single property or app. * It should be used on conjunction with the mm attribute in Object: EID of OpenRTB 2.x. * https://github.com/InteractiveAdvertisingBureau/openrtb2.x/blob/main/2.6.md#3227---object-eid- */ enum MatchMethod { MatchMethod_UNKNOWN = 0; // No matching has occurred. // The associated ID came directly from a 3rd-party cookie or OS-provided resettable device ID for advertising (IFA). NO_MATCH = 1; // Real time cookie sync as described in Appendix: Cookie Based ID Syncing of OpenRTB 2.x // https://github.com/InteractiveAdvertisingBureau/openrtb2.x/blob/main/2.6.md#appendix-c-cookie-based-id-syncing- BROWSER_COOKIE_SYNC = 2; // ID match was based on user authentication such as an email login or hashed PII AUTHENTICATED = 3; // ID match was based on a 1st party observation, but without user authentication // (e.g. GUID, SharedID, Session IDs, CHIPS or other 1st party cookies contained in localStorage) OBSERVED = 4; // ID match was inferred from linkage based on non-authenticated features // across multiple browsers or devices(e.g. IP address and/or UserAgent) INFERRED = 5; } /** * The following enum defines the services and/or vendors used for resolving IP addresses to * geolocations. */ enum LocationService { LocationService_UNKNOWN = 0; // Equivalent to an unset value. IP2LOCATION = 1; // ip2location. NEUSTAR = 2; // Neustar (Quova). MAXMIND = 3; // MaxMind. NETACUITY = 4; // NetAcuity (Digital Element). } /** * The following table indicates the options for media linearity (typically video). This * corresponds to the required type of VAST response, where a linear response is VAST containing * video assets, and non-linear is a VAST response (typically) containing a banner/overlay. */ enum LinearityMode { LinearityMode_UNKNOWN = 0; // Equivalent to an unset value. LINEAR = 1; // Linear NONLINEAR = 2; // Non-Linear (i.e., Overlay) } /** * The following enum defines the options to indicate how the geographic information was determined. */ enum LocationType { LocationType_UNKNOWN = 0; // Equivalent to an unset value. GPS_LOC_SERVICE = 1; // GPS/Location Services. IP_ADDRESS = 2; // IP Address. USER_PROVIDED = 3; // User Provided (e.g., registration data). } /** * The following enum defines the media ratings used in describing content based on the TAG * Inventory Quality Guidelines (IQG) v2.1 categorization. Refer to * www.iab.com/guidelines/digital-video-suite for more information. */ enum MediaRating { MediaRating_UNKNOWN = 0; // Equivalent to an unset value. ALL_AUDIENCES = 1; // All Audiences. OVER_12 = 2; // Everyone Over Age 12. MATURE = 3; // Mature Audiences. } /** * The following enum defines the common data asset types. This list is non-exhaustive and is * intended to be expanded over time. Size recommendations are noted as "maximum length of at * least", which means the publisher or supply platform should support a maximum length of at least * this value and the buying platform knows that a string of this size should be accepted. */ enum NativeDataAssetType { NativeDataAssetType_UNKNOWN = 0; // Equivalent to an unset value. // sponsored: "Sponsored By" message which should contain the brand name of the sponsor. // Recommended maximum length of at least 25 characters. SPONSORED = 1; // desc: Descriptive text associated with the product or service being advertised. Long text // lengths may be truncated or ellipsed when rendered. Recommended maximum length of at least 140 // characters. DESCRIPTIVE = 2; // rating: Numeric rating of the product (e.g., an app's rating). Recommended integer range of 0-5. RATING = 3; // likes: Number of social ratings or "likes" of the product. LIKES = 4; // downloads: Number downloads and/or installs of the product. DOWNLOADS = 5; // price: Price of the product, app, or in-app purchase. Value should include currency symbol in // localized format (e.g., "$10"). PRICE = 6; // saleprice: Sale price that can be used together with "price" to indicate a comparative // discounted price. Value should include currency symbol in localized format (e.g. "$8.50"). SALEPRICE = 7; // phone: A formatted phone number. PHONE_X = 8; // address: A formatted address. ADDRESS = 9; // desc2: Additional descriptive text associated with the product. DESC2 = 10; // displayurl: Display URL for the ad. To be used when sponsoring entity does not own the content // (e.g., "Sponsored by Brand on Site", where Site is specified in this data asset). DISPLAY_URL = 11; // ctatext: Description of the call to action (CTA) button for the destination URL. Recommended // maximum length of at least 15 characters. CTA_TEXT = 12; } /** * The following enum defines the set of common image asset types. This list is non-exhaustive and * is intended to be expanded over time. Size recommendations are noted as "maximum height or width * of at least", which means the publisher or supply platform should support a maximum height or * width of at least this value and the buying platform knows that an image of this size should be * accepted. */ enum NativeImageAssetType { NativeImageAssetType_UNKNOWN = 0; // Equivalent to an unset value. // Icon: Icon image. // Maximum height at least 50 device independent pixels (DIPS); aspect ratio 1:1. ICON = 1; // Main: Large image preview for the ad. // At least one of 2 size variants required: // Small: Maximum height at least 627 DIPS; maximum width at least 627, 836, or 1198 DIPS (i.e., // aspect ratios of 1:1, 4:3, or 1.91:1, respectively). // Large: Maximum height at least 200 DIPS; maximum width at least 200, 267, or 382 DIPS (i.e., // aspect ratios of 1:1, 4:3, or 1.91:1, respectively). MAIN = 3; } /** * The following enum defines the options for device operating system. */ enum OperatingSystem { OTHER_NOT_LISTED = 0; // Other Not Listed NINTENDO_3DS = 1; // Nintendo 3DS System Software ANDROID = 2; // Android APPLE_TV = 3; // Apple TV Software ASHA = 4; // Asha BADA = 5; // Bada BLACKBERRY = 6; // BlackBerry BREW = 7; // BREW CHROMEOS = 8; // ChromeOS DARWIN = 9; // Darwin FIREOS = 10; // FireOS FIREFOXOS = 11; // FirefoxOS HELENOS = 12; // HelenOS IOS = 13; // iOS LINUX = 14; // Linux MACOS = 15; // MacOS MEEGO = 16; // MeeGo MORPHOS = 17; // MorphOS NETBSD = 18; // NetBSD NUCLEUSPLUS = 19; // NucleusPLUS PSVITA = 20; // PS Vita System Software PS3 = 21; // PS3 System Software PS4 = 22; // PS4 System Software PSP = 23; // PSP System Software SYMBIAN = 24; // Symbian TIZEN = 25; // Tizen WATCHOS = 26; // WatchOS WEBOS = 27; // WebOS WINDOWS = 28; // Windows } /** * The following enum defines the placement positions as a relative measure of visibility or * prominence. This enum has values derived from the TAG Inventory Quality Guidelines (IQG). */ enum PlacementPosition { PlacementPosition_UNKNOWN = 0; // Equivalent to an unset value. ATF = 1; // Above the Fold. LOCKED = 2; // Locked (i.e., fixed position). BTF = 3; // Below the Fold. HEADER = 4; // Header. FOOTER = 5; // Footer. SIDEBAR = 6; // Sidebar. FULLSCREEN_X = 7; // Full screen. } /** * The following enum lists the various types of video placements derived largely from the IAB * Digital Video Guidelines. */ enum VideoPlacementSubtype { VideoPlacementSubtype_UNKNOWN = 0; // Equivalent to an unset value. // In-Stream: Played before, during or after the streaming video content that the consumer has // requested (e.g., Pre-roll, Mid-roll, Post-roll). IN_STREAM = 1; // In-Banner: Exists within a web banner that leverages the banner space to deliver a video // experience as opposed to another static or rich media format. The format relies on the // existence of display ad inventory on the page for its delivery. IN_BANNER = 2; // In-Article: Loads and plays dynamically between paragraphs of editorial content; existing as // a standalone branded message. IN_ARTICLE = 3; // In-Feed: Found in content, social, or product feeds. IN_FEED = 4; // Interstitial/Slider/Floating: Covers the entire or a portion of screen area, but is always on // screen while displayed (i.e. cannot be scrolled out of view). INTERSTITIAL = 5; } /** * The following table lists the various types of video placements in accordance with updated IAB * Digital Video Guidelines. To be sent using plcmt attribute in Object:Video. */ enum VideoPlcmtSubtype { VideoPlcmtSubtype_UNKNOWN = 0; // Equivalent to an unset value. // Instream: Pre-roll, mid-roll, and post-roll ads that are played before, during or after the // streaming video content that the consumer has requested. Instream video must be set to "sound // on" by default at player start, or have explicitly clear user intent to watch the video // content. While there may be other content surrounding the player, the video content must be the // focus of the user's visit. It should remain the primary content on the page and the only video // player in-view capable of audio when playing. If the player converts to floating/sticky // subsequent ad calls should accurately convey the updated player size. INSTREAM_PLCMT = 1; // Accompanying Content: Pre-roll, mid-roll, and post-roll ads that are played before, during, or // after streaming video content. The video player loads and plays before, between, or after // paragraphs of text or graphical content, and starts playing only when it enters the viewport. // Accompanying content should only start playback upon entering the viewport. It may convert to a // floating/sticky player as it scrolls off the page. ACCOMPANYING_CONTENT_PLCMT = 2; // Interstitial: Video ads that are played without video content. During playback, it must be the // primary focus of the page and take up the majority of the viewport and cannot be scrolled out // of view. This can be in placements like in-app video or slideshows. INTERSTITIAL_PLCMT = 3; // No Content/Standalone: Video ads that are played without streaming video content. This can be // in placements like slideshows, native feeds, in-content or sticky/floating. STANDALONE_PLCMT = 4; } /** * The following enum defines the various modes for when media playback terminates. */ enum PlaybackCessationMode { PlaybackCessationMode_UNKNOWN = 0; // Equivalent to an unset value. ON_COMPLETION = 1; // On Video Completion or when Terminated by User. ON_VIEWPORT_EXIT = 2; // On Leaving Viewport or when Terminated by User. ON_EXIT_FLOAT = 3; // On Leaving Viewport Continues as a Floating/Slider Unit until Video // Completion or when Terminated by User } /** * The following table lists the various media playback methods. */ enum PlaybackMethod { PlaybackMethod_UNKNOWN = 0; // Equivalent to an unset value. PAGE_LOAD_SOUND_ON = 1; // Initiates on Page Load with Sound On. PAGE_LOAD_SOUND_OFF = 2; // Initiates on Page Load with Sound Off by Default. CLICK_SOUND_ON = 3; // Initiates on Click with Sound On. MOUSEOVER_SOUND_ON = 4; // Initiates on Mouse-Over with Sound On. VIEWPORT_SOUND_ON = 5; // Initiates on Entering Viewport with Sound On. VIEWPORT_SOUND_OFF = 6; // Initiates on Entering Viewport with Sound Off. } /** * The following enum defines the options for content quality. These values are defined by the IAB; * refer to www.iab.com/wp-content/uploads/2015/03/long-form-video-final.pdf for more information. */ enum ProductionQuality { ProductionQuality_UNKNOWN = 0; // Equivalent to an unset value. PROFESSIONAL = 1; // Professionally Produced. PROSUMER = 2; // Prosumer. UGC = 3; // User Generated Content. } /** * The following enum lists the units of height and width used by creatives, assets, and placement * specifications where noted. */ enum SizeUnit { SizeUnit_UNKNOWN = 0; // Equivalent to an unset value. DIPS = 1; // Device Independent Pixels. INCH = 2; // Inches. CENTIMETER = 3; // Centimeters. } /** * The following enum lists the various options for the video or audio start delay. If the start * delay value is greater than 0, then the position is mid-roll and the value indicates the start * delay. */ enum StartDelayMode { PRE_ROLL = 0; GENERIC_MID_ROLL = -1; GENERIC_POST_ROLL = -2; } /** * The following enum defines the types of volume normalization modes, typically for audio. */ enum VolumeNormalizationMode { NO_NORMALIZATION = 0; VOL_AVG_NORMALIZATION = 1; // Ad Volume Average Normalized to Content. VOL_PEAK_NORMALIZATION = 2; // Ad Volume Peak Normalized to Content. LOUDNESS_NORMALIZATION = 3; // Ad Loudness Normalized to Content. VOL_CUST_NORMALIZATION = 4; // Custom Volume Normalization. } /** * The following enum lists the possible sources for User-Agent data. */ enum UserAgentSource { UserAgentSource_UNKNOWN = 0; // Equivalent to an unset value. CLIENT_HINTS_LOW_ENTROPY = 1; // User-Agent Client Hints (only low-entropy headers were available). CLIENT_HINTS_HIGH_ENTROPY = 2; // User-Agent Client Hints (with high-entropy headers available). USER_AGENT_STRING = 3; // Parsed from User-Agent header. }