<img src="https://img.shields.io/badge/%20-ENTERPRISE-%23B10031" style="float:left"/><br />
Player Bidding (PB) connects your digital video inventory directly to advertising demand sources, increasing competition for your inventory to boost your ad yield. By configuring the `advertising
` object of the player, you can access the benefits of player bidding. You can use either a cloud-hosted or self-hosted player.

Due to the potential impact on performance and user experience, while the player is waiting for the bidding process to complete, the `
playAd()
` method is not supported when using Player Bidding.If you have configured advertising settings for your player in your JWP dashboard, changes made to the player's `
advertising
` object **override any dashboard advertising settings**. To maintain any dashboard advertising settings, be sure to include all existing dashboard advertising configurations within the advertising object.

If you are not a developer or do not have developer resources, you can also [set up Player Bidding](🔗) through your JWP dashboard.
<br /> <hr />
## Implementation
The following steps and code example explain how to enable Player Bidding for SpotX:
Be sure that you have satisfied all the [requirements](🔗) for PB.
Within `
setup()
` of an embedded <a href="/players/docs/jw8-add-a-player-library#cloud-hosted" target="_blank">cloud-hosted</a> or <a href="/players/docs/jw8-add-a-player-library#self-hosted" target="_blank">self-hosted</a> JWP web player, add an `advertising
` object that defines VAST ads will be served.
Be sure to replace `
{id}
` with a randomly-generated, eight-character, alpha-numeric value. This enables you to run reports for this advertising setup.
<br />
Add the `
schedule
` object. At the minimum, you must assign an ad tag to the `tag
` property and assign `pre
` to the `offset
` property.<br /><br />The ad tag is used as a fallback tag. PB supports configuring `offset
` for mid-roll and post-roll breaks. Since the auction happens before video playback begins and bids may not be valid when a mid-roll or post-roll ad break occurs, we recommend configuring `offset
` for pre-roll ad breaks.
<br />
Add the `
bids
` object for an ad partner. Be sure to replace `{channel_id}
` with the value provided by your SpotX representative.
<br />
(Optional) Within the `
bidders
` object, add `optionalParams
` to append custom parameters to the bid request. Be sure to consult with your SpotX representative to discuss your goals prior to implementing custom parameters.
<br /> <hr />
## Full code sample
<br /> <hr />
## Additional settings
After implementing the basic PB setup, you can customize your implementation with any of these additional properties.
<br />
### advertising
For explanations of each property listed below, see: [advertising](🔗).
  • **autoplayadsmuted**    • **bids** _See: [advertising.bids](🔗)_    • **companiondiv** _See: [advertising.companiondiv](🔗)_    • **conditionaladoptout**    • **creativeTimeout**    • **placement**    • **preloadAds**    • **requestTimeout**    • **rules** _See: [advertising.rules](🔗)_    • **schedule** _See: [advertising.schedule](🔗)_    • **vpaidcontrols**    • **withCredentials**
<br />
### advertising.bids
For an explanation of the property listed below, see: [advertising.bids](🔗).
  • **bidOnBreaks**    • **settings** _See: [advertising.bids.settings](🔗)_
<br />
### advertising.bids.settings
For explanations of each property listed below, see: [advertising.bids.settings](🔗).
  • **bidTimeout**    • **floorPriceCurrency**
<br />
### advertising.companiondiv
For explanations of each property listed below, see: [advertising.companiondiv](🔗).
  • **height**    • **id**    • **width**
<br />
### advertising.rules
For explanations of each property listed below, see: [advertising.rules](🔗).
  • **startOn**    • **startOnSeek**    • **timeBetweenAds**
<br />
### advertising.schedule
For explanations of each property listed below, see: [advertising.schedule](🔗).
  • **customParams**    • **type**
<br />
### autoPause
For explanations of each property listed below, see: [autoPause](🔗).
  • **pauseAds**    • **viewability**
<br />
### intl.{lang}.advertising
For explanations of each property listed below, see: [intl.{lang}.advertising](🔗).
  • **admessage**    • **cuetext**    • **loadingAd**    • **skipmessage**    • **skiptext**
<br />