Package-level declarations

Nimbus implementation of the OpenRTB 2.5 Spec.

Types

Link copied to clipboard
@Serializable
class App(var name: String? = null, var bundle: String? = null, var domain: String? = null, var storeurl: String? = null, var ver: String? = null, var keywords: String? = null, var cat: Array<String>? = null, var sectioncat: Array<String>? = null, var pagecat: Array<String>? = null, var privacypolicy: Byte? = null, var paid: Byte? = null, var publisher: Publisher? = null)

This object should be included if the ad supported content is a non-browser application (typically in mobile) as opposed to a website. A bid request must not contain both an App and a Site object. At a minimum, it is useful to provide an App ID or bundle, but this is not strictly required.

Link copied to clipboard
@Serializable
class Asset(var id: Int, var required: Byte, var ext: Map<String, String>? = null, var title: Asset.TitleObject? = null, var img: Asset.ImageObject? = null, var video: Asset.VideoObject? = null, var data: Asset.DataObject? = null)

This object represents a native asset object, which is the main container for each asset requested or supported by Exchange on behalf of the rendering client.

Link copied to clipboard
@Serializable
class Banner(var w: Int, var h: Int, var format: Array<Format>? = null, var bidfloor: Float = 0.0f, var battr: ByteArray? = null, var pos: Byte = 0, var api: ByteArray? = null, var vcm: Byte? = null)

This object represents the most general type of impression.

Link copied to clipboard
@Serializable
class BidRequest(var imp: Array<Impression> = emptyArray(), var app: App? = null, var device: Device? = null, var format: Format = Format(0, 0), var user: User? = null, var test: Byte = 0, var tmax: Int = 500, var badv: Array<String>? = null, var source: Source? = null, var regs: Regs? = null, var customSignals: Signals? = null, val ext: MutableMap<String, String> = mutableMapOf())

The top-level bid request object contains a globally unique bid request or auction ID.

Link copied to clipboard
@Serializable
class Data(var id: String? = null, var name: String? = null, var segment: Set<Segment>? = null)

The data and segment objects together allow additional data about the related object (e.g., user, content) to be specified. This data may be from multiple sources whether from the exchange itself or third parties 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.

Link copied to clipboard
@Serializable
class Device(var ua: String, var ifa: String, val make: String, val model: String, var hwv: String? = null, val os: String, val osv: String, var h: Int, var w: Int, var pxratio: Float? = null, var language: String? = null, val devicetype: Byte = 0, var connectiontype: Byte = 0, var dnt: Byte = 0, var lmt: Byte = 0, var geo: Geo? = null, var ip: String? = null, var carrier: String? = null)

This object provides information pertaining to the device through which the user is interacting.

Link copied to clipboard
@Serializable
class EID(val source: String, var uids: Set<UID>)

An External User Id

Link copied to clipboard
@Serializable
class Extension(var nimbusNative: NimbusNative? = null)
Link copied to clipboard
@Serializable
class Format(val w: Int, val h: Int)

This object represents an allowed size (i.e., height and width combination)

Link copied to clipboard
@Serializable
class Geo(var lat: Float? = null, var lon: Float? = null, var type: Byte? = null, var accuracy: Int? = null, var country: String? = null, var city: String? = null, var metro: String? = null, var state: String? = null)

This object encapsulates various methods for specifying a geographic location.

Link copied to clipboard
@Serializable
class Impression(var banner: Banner? = null, var video: Video? = null, var native: Native? = null, var instl: Byte = 0, var secure: Byte = 1, var ext: Impression.Extension)

This object describes an ad placement or impression being auctioned.

Link copied to clipboard
@Serializable
class Native(var bidfloor: Float = 0.0f, var request: String? = null, var ver: String? = null, var api: ByteArray? = null, var battr: ByteArray? = null, var ext: Extension? = null)

This public class represents a native type impression.

Link copied to clipboard
@Serializable
class NimbusNative(var ver: String = "1.2", var plcmttype: Byte?, var context: Byte?, var contextsubtype: Byte?, var assets: List<Asset>)
Link copied to clipboard

Enum representing the user Gender to be sent to Nimbus

Link copied to clipboard
@Serializable
class Publisher(var name: String? = null, var domain: String? = null, var cat: Array<String>? = null)

This object describes the publisher of the media in which the ad will be displayed.

Link copied to clipboard
@Serializable
class Regs(var coppa: Byte = 0, var ext: Regs.Extension = Extension())

This object contains any legal, governmental, or industry regulations that apply to the request.

Link copied to clipboard
@Serializable
class Segment(val id: String? = null, val name: String? = null, val value: String? = null, val ext: MutableMap<String, String> = mutableMapOf())

Segment objects are essentially key-value pairs that convey specific units of data.

Link copied to clipboard
@Serializable
class Session(var depth: Int = 0, var duration: Long = 0)

Session related signals as used by Nimbus

Link copied to clipboard
@Serializable
class Signals(var session: Session = Session())

Custom signals for this request

Link copied to clipboard
@Serializable
class Source(val ext: MutableMap<String, String> = mutableMapOf())

This object describes the nature and behavior of the entity that is the source of the bid request upstream from the exchange.

Link copied to clipboard
@Serializable
class UID(var id: String, var atype: Int = 0, var ext: Map<String, String> = mutableMapOf())

Object representing the extended ID UID

Link copied to clipboard
@Serializable
class User(var age: Int = 0, var buyeruid: String? = null, yob: Int = 0, var gender: String? = null, var keywords: String? = null, var custom_data: String? = null, var data: Array<Data>? = null, var ext: User.Extension? = null)

This object contains information known or derived about the human user of the device (i.e., the audience for advertising).

Link copied to clipboard
@Serializable
class Video(var bidfloor: Float = 0.0f, var mimes: Array<String>? = null, var minduration: Int = 0, var maxduration: Int = 60, var protocols: ByteArray? = null, var w: Int = 0, var h: Int = 0, var startdelay: Int = 0, var placement: Byte = 0, var linearity: Byte = 0, var skip: Byte = 0, var delivery: ByteArray? = null, var skipmin: Int = 0, var skipafter: Int = 0, var minbitrate: Int = 0, var maxbitrate: Int = 0, var pos: Byte = 0, var playbackmethod: ByteArray? = null, var api: ByteArray? = null, var companionad: Array<Banner>? = null, var companiontype: ByteArray? = null, var ext: MutableMap<String, Byte> = mutableMapOf( "is_rewarded" to 0 ))

This object represents an in-stream video impression.