InMobi DSP
InMobi runs InMobi Exchange, a mobile in-app exchange. This profile covers the requests InMobi Exchange sends to DSPs and the responses DSPs return. Supply sent into InMobi is the separate inmobi-supplier profile.
Direction and version
InMobi Exchange sends bid requests to DSP bidders, and DSPs return bid responses to InMobi.
OpenRTB 2.5 JSON. Most flags are 0 or 1 integers, but imp.ext.hb is a JSON boolean. Native requests are objects with context 1501, and Native responses go in bid.admobject as an object.
The RTBlint profile inmobi checks requests and responses against the published contract.
Rules beyond the OpenRTB spec
- Each impression advertises one format; InMobi sends each format opportunity in its own request.
atis 1 or 2, andbapplists at most 30 blocked app bundles.- Responses need
seatbid.seat,burl, andcat. Non-native bids needadm, and banner bids needwandh. - Creative IDs longer than 64 characters are truncated.
- History lists such as
device.ext.iapanddevice.ext.lastimpressioncpmhold at most five entries, newest first. Purchase and advertiser histories are left out when empty. - Battery and volume levels are integers from 0 to 100. The Play Store version is left out when
device.ext.psdisableis 1. - A supply chain in
source.ext.schainneeds at least one node, and seller IDs are at most 64 characters. - Video opportunities use
linearity1. A response video experience inbid.ext.video.experience(1, 2, or 3) must be one the request offered inimp.video.ext.experiences. - A SKAdNetwork response must name a network listed in the request's
skadnetids. ${AUCTION_LOSS}is substituted only inlurl. Inlurl,${AUCTION_MIN_TO_WIN}carries the clearing price.
Documented extensions
| Path | Meaning |
|---|---|
ext.auction_id | Mediation auction ID that groups the same impression across exchanges. |
ext.mediation_name | Name of the mediation platform. |
source.ext.header_bidding | 0 for waterfall, 1 for header bidding. |
source.ext.schain | Supply chain in its OpenRTB 2.5 location. |
imp.ext.hb | Header bidding flag, sent as a JSON boolean. |
imp.ext.skadn | SKAdNetwork request data. |
imp.ext.gpid | Stable ad unit ID. |
imp.video.ext.experiences | Video experience IDs the placement accepts. |
device.ext.atts | App Tracking Transparency status. |
device.ext.ifv | iOS identifier for vendors. |
device.ext.iap | Up to five recent in-app purchases. |
device.ext.lastimpressioncpm | Up to five recent impression CPMs. |
bid.ext.campaigntype | Campaign type: user acquisition, retargeting, brand, or commerce. |
bid.ext.skadn | SKAdNetwork response, including SKOverlay settings. |
What the validator checks for this profile
openrtb.profile.inmobi.bapp_limitInMobi sends at most 30 blocked app bundles.openrtb.profile.inmobi.category_requiredInMobi requires the creative's IAB categories.openrtb.profile.inmobi.creative_id_truncatedInMobi truncates creative IDs longer than 64 characters.openrtb.profile.inmobi.history_countInMobi histories contain at most five entries; purchase and advertiser histories are omitted when empty.openrtb.profile.inmobi.history_orderInMobi documents recent history first; its advertiser example conflicts with this ordering.openrtb.profile.inmobi.percentage_rangeInMobi percentage telemetry must be an integer from 0 to 100.openrtb.profile.inmobi.play_store_stateInMobi omits Play Store version when psdisable is 1.openrtb.profile.inmobi.quality_declarationInMobi Getting Started requires this quality declaration; the current response table labels it recommended. Confirm the active integration contract.openrtb.profile.inmobi.schain_nodesInMobi's declared supply chain requires at least one node.openrtb.profile.inmobi.sdk_expectedThe outgoing guide says this field is passed by the InMobi SDK; verify SDK version and producer configuration.openrtb.profile.inmobi.single_formatInMobi sends each format opportunity to DSPs in a separate request.openrtb.profile.inmobi.skadnetwork_unofferedThe response SKAdNetwork must match a requested skadnetids entry.openrtb.profile.inmobi.video_experienceInMobi video experience IDs are 1, 2 and 3.openrtb.profile.inmobi.video_experience_unofferedInMobi portrait and vertical experiences must be explicitly offered in the request.openrtb.profile.inmobi.video_linearityInMobi outgoing video opportunities use linearity 1.
Validate against this contract
Open the tester with the InMobi DSP profile, or run:
rtblint validate --profile inmobi request.json
Similar integrations
- Adform OpenRTB handler
- AppLovin ALX DSP response
- BidSwitch buyer 5.7
- Digital Turbine Exchange
- Display & Video 360
- Equativ bidder contract
- Google Authorized Buyers
- Index Exchange DSP
- Magnite DV+ xAPI
- Microsoft Monetize bidder
- MobileFuse in-app bidding
- MobileFuse SDK bidding
- Sovrn request
- Unity Exchange
- Vungle Exchange
- Yandex SDK bidding