[][src]Struct openrtb_native1::request::Asset

pub struct Asset<'a> {
    pub id: i32,
    pub required: bool,
    pub value: Option<AssetValue<'a>>,
    pub ext: Option<Object<'a>>,
}

4.2 Asset Request Object

The main container object for each asset requested or supported by Exchange on behalf of the rendering client. Any object that is required is to be flagged as such. Only one of the {title,img,video,data} objects should be present in each object. All others should be null/absent. The id is to be unique within the AssetObject array so that the response can be aligned.

To be more explicit, it is the ID of each asset object that maps the response to the request. So if a request for a title object is sent with id 1, then the response containing the title should have an id of 1.

Since version 1.1 of the spec, there are recommended sizes/lengths/etc with some of the asset types. The goal for asset requirements standardization is to facilitate adoption of native by DSPs by limiting the diverse types/sizes/requirements of assets they must have available to purchase a native ad impression. While great diversity may exist in publishers, advertisers/DSPs can not be expected to provide infinite headline lengths, thumbnail aspect ratios, etc. While we have not gone as far as creating a single standard, we've honed in on a few options that cover the most common cases. SSPs can deviate from these standards, but should understand they may limit applicable DSP demand by doing so. DSPs should feel confident that if they support these standards they'll be able to access most native inventory.

Fields

id: i32

required; integer; - Unique asset ID, assigned by exchange. Typically a counter for the array.

required: bool

optional; integer; 0 Set to 1 if asset is required. (exchange will not accept a bid without it)

value: Option<AssetValue<'a>>ext: Option<Object<'a>>

optional; object; - This object is a placeholder that may contain custom JSON agreed to by the parties to support flexibility beyond the standard defined in this specification.

Trait Implementations

impl<'a> Clone for Asset<'a>[src]

impl<'a> Debug for Asset<'a>[src]

impl<'a> Default for Asset<'a>[src]

impl<'de: 'a, 'a> Deserialize<'de> for Asset<'a>[src]

impl<'a> PartialEq<Asset<'a>> for Asset<'a>[src]

impl<'a> Serialize for Asset<'a>[src]

impl<'a> StructuralPartialEq for Asset<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for Asset<'a>

impl<'a> Send for Asset<'a>

impl<'a> Sync for Asset<'a>

impl<'a> Unpin for Asset<'a>

impl<'a> UnwindSafe for Asset<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DefaultExt for T where
    T: Default + PartialEq<T>, 
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.