UNPKG

mk9-prebid

Version:

Header Bidding Management Library

155 lines (130 loc) 4.42 kB
# OperaAds Bidder Adapter ## Overview ``` Module Name: OperaAds Bidder Adapter Module Type: Bidder Adapter Maintainer: adtech-prebid-group@opera.com ``` ## Description Module that connects to OperaAds's demand sources ## Bid Parameters | Name | Scope | Type | Description | Example | ---- | ----- | ---- | ----------- | ------- | `placementId` | required | String | The Placement Id provided by Opera Ads. | `s5340077725248` | `endpointId` | required | String | The Endpoint Id provided by Opera Ads. | `ep3425464070464` | `publisherId` | required | String | The Publisher Id provided by Opera Ads. | `pub3054952966336` | `bcat` | optional | String or String[] | The bcat value. | `IAB9-31` ### Bid Video Parameters Set these parameters to `bid.mediaTypes.video`. | Name | Scope | Type | Description | Example | ---- | ----- | ---- | ----------- | ------- | `context` | optional | String | `instream` or `outstream`. | `instream` | `mimes` | optional | String[] | Content MIME types supported. | `['video/mp4']` | `playerSize` | optional | Number[] or Number[][] | Video player size in device independent pixels | `[[640, 480]]` | `protocols` | optional | Number[] | Array of supported video protocls. | `[1, 2, 3, 4, 5, 6, 7, 8]` | `startdelay` | optional | Number | Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. | `0` | `skip` | optional | Number | Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes. | `1` | `playbackmethod` | optional | Number[] | Playback methods that may be in use. | `[2]` | `delivery` | optional | Number[] | Supported delivery methods. | `[1]` | `api` | optional | Number[] | List of supported API frameworks for this impression. | `[1, 2, 5]` ### Bid Native Parameters Set these parameters to `bid.nativeParams` or `bid.mediaTypes.native`. | Name | Scope | Type | Description | Example | ---- | ----- | ---- | ----------- | ------- | `title` | optional | Object | Config for native asset title. | `{required: true, len: 25}` | `image` | optional | Object | Config for native asset image. | `{required: true, sizes: [[300, 250]], aspect_ratios: [{min_width: 300, min_height: 250, ratio_width: 1, ratio_height: 1}]}` | `icon` | optional | Object | Config for native asset icon. | `{required: true, sizes: [[60, 60]], aspect_ratios: [{min_width: 60, min_height: 60, ratio_width: 1, ratio_height: 1}]}}` | `sponsoredBy` | optional | Object | Config for native asset sponsoredBy. | `{required: true, len: 20}` | `body` | optional | Object | Config for native asset body. | `{required: true, len: 200}` | `cta` | optional | Object | Config for native asset cta. | `{required: true, len: 20}` ## Example ### Banner Ads ```javascript var adUnits = [{ code: 'banner-ad-div', mediaTypes: { banner: { sizes: [[300, 250]] } }, bids: [{ bidder: 'operaads', params: { placementId: 's5340077725248', endpointId: 'ep3425464070464', publisherId: 'pub3054952966336' } }] }]; ``` ### Video Ads ```javascript var adUnits = [{ code: 'video-ad-div', mediaTypes: { video: { context: 'instream', playerSize: [640, 480], mimes: ['video/mp4'], protocols: [1, 2, 3, 4, 5, 6, 7, 8], playbackmethod: [2], skip: 1 } }, bids: [{ bidder: 'operaads', params: { placementId: 's5340077725248', endpointId: 'ep3425464070464', publisherId: 'pub3054952966336' } }] }]; ``` * For video ads, enable prebid cache. ```javascript pbjs.setConfig({ cache: { url: 'https://prebid.adnxs.com/pbc/v1/cache' } }); ``` ### Native Ads ```javascript var adUnits = [{ code: 'native-ad-div', mediaTypes: { native: { title: { required: true, len: 75 }, image: { required: true, sizes: [[300, 250]] }, body: { len: 200 }, sponsoredBy: { len: 20 } } }, bids: [{ bidder: 'operaads', params: { placementId: 's5340077725248', endpointId: 'ep3425464070464', publisherId: 'pub3054952966336' } }] }]; ``` ### User Ids Opera Ads Bid Adapter uses `sharedId`, `pubcid` or `tdid`, please config at least one. ```javascript pbjs.setConfig({ ..., userSync: { userIds: [{ name: 'sharedId', storage: { name: '_sharedID', // name of the 1st party cookie type: 'cookie', expires: 30 } }] } }); ```