<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:

  1. Be sure that you have satisfied all the [requirements](🔗) for PB.

  2. 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 />

  1. 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 />

  1. Add the `bids` object for an ad partner. Be sure to replace `{channel_id}` with the value provided by your SpotX representative.



<br />

  1. (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 />

(Script tags will be stripped)