# Prebid JS
# Source Link
Go to prebid js download (opens new window) page, select Bidder Adapters OperaAds and User ID Module Unified ID,SharedID*,PubCommon ID, then click Get Prebid.js
# Change Log
- Init version, integrated in prebid.js v5.6
- Non-USD currency support, integrated in prebid.js v5.12
- User sync support, integrated in prebid.js v5.20
# Supported Creative Types
Display Ads(Banner)
Native Ads
Video Ads
Instream
Outstream
# 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 |
currency | optional | String or String[] | Currency. | USD |
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 Parameters
# Banner Ads
var adUnits = [{
code: 'banner-ad-div',
mediaTypes: {
banner: {
sizes: [[300, 250]]
}
},
bids: [{
bidder: 'operaads',
params: {
placementId: 's5732651204928',
endpointId: 'ep5732673449728',
publisherId: 'pub5732583002624'
}
}]
}];
# Video Ads
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: 's5732651204928',
endpointId: 'ep5732673449728',
publisherId: 'pub5732583002624'
}
}]
}];
For video ads, enable prebid cache.
pbjs.setConfig({
cache: {
url: 'https://prebid.adnxs.com/pbc/v1/cache'
}
});
# Native Ads
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: 's5732651204928',
endpointId: 'ep5732673449728',
publisherId: 'pub5732583002624'
}
}]
}];
Make sure the bidfloorprice is set to zero, then the example paramters above will get test ads returned.
# User Ids
Opera Ads Bid Adapter uses sharedId
, pubcid
or tdid
, please config at least one.
pbjs.setConfig({
...,
userSync: {
userIds: [{
name: 'sharedId',
storage: {
name: '_sharedID', // name of the 1st party cookie
type: 'cookie',
expires: 30
}
}]
}
});