UNPKG

aol-hb

Version:

Header bidding library for AOL's supply side platform.

169 lines (119 loc) 4.14 kB
# AOL Header Bidding JavaScript API ![](https://dl.dropboxusercontent.com/u/71280/AOLBlueMonster.png "Blue Monster") [![Build Status](https://travis-ci.org/aol/aol-hb.js.svg?branch=master)](https://travis-ci.org/aol/aol-hb.js) ## Description An open source library for publishers and third party container solution providers to integrate with AOL's supply side platform for header bidding. ## Usage - Install package(`npm install aol-hb`) or build source file. - Load source file. - Define bid request configuration and an array of placement configurations. - Pass defined objects in the method `aolhb.init()`. ## Code Examples ### Initialization ```html <script src="node_modules/aol-hb/dist/aol-hb.min.js"></script> <script> var bidRequestConfig = { region: 'US', network: '9599.1', bidderKey: 'aolbid', aliasKey: 'mpalias', userSyncOn: 'adRender', onBidResponse: function(response) { console.log('CPM: ' + response.cpm); console.log('Ad code: ' + response.ad); console.log('Alias: '+ response.alias); }, onAllBidResponses: function (bidResponses) { console.log('Bid responses array: ', bidResponses); } }; var placementsConfigs = [{ placement: 3675022, alias: '728x90atf', adContainerId: 'div-gpt-ad-1438955597722-1', bidfloor: '0.1' }, { placement: 3675026, alias: '300x250atf', adContainerId: 'div-gpt-ad-1438955597722-0', }]; window.aolhb.init(bidRequestConfig, placementsConfigs); </script> ``` ### Adding new ad in runtime ```html <script> var placementConfig = { placement: 3675024, alias: '728x90btf', adContainerId: 'div-gpt-ad-1439394117151-1' }; window.aolhb.addNewAd(placementConfig); </script> ``` ## API description ### Methods - `aolhb.init()` Library initialization method. It sends bid request for each placement based on configs passed as params. Params: `bidRequestConfig`, `placementsConfigs` - `aolhb.addNewAd()` The method sends bid request for new placement based on placement config passed as a param. It can be used for adding new ads in runtime. Params: `placementsConfigs` - `aolhb.refreshAd()` Resend bid request for particular placement by its alias. Params: `placementAlias` - `aolhb.renderAd()` Render an ad by placement alias. Params: `placementAlias` ### Bid request configuration options - `region` *Optional* String (defaults to `US`). The region for resolving host server. Supported values: `US`, `EU`, `Asia` - `onBidResponse` *Optional*. Function. Сalls for each bid response. - `onAllBidResponses` *Optional*. Function. Сalls when we've got responses for each bid request. - `bidderKey` *Optional*. String (defaults to `aolbid`). Bidder key. - `aliasKey` *Optional*. String (defaults to `mpalias`). Alias key. - `userSyncOn` *Optional*. String (defaults to `bidResponse`). Supported values: `bidResponse`, `adRender` - `network` **Required** String. Network identifier. Format: 'networkId.subNetworkId' Sub network part can be missed Examples: `9544.99`, `9568` ### Placement configuration options - `bidfloor` *Optional* String. Floor proice for the placement. - `placement` **Required** String. Placement identifier. - `alias` **Required** String. Placement alias. - `adContainerId` **Required** String. Id of element in the DOM where an ad will be rendered. ## Contributing ### Install $ git clone git@github.com:aol/aol-hb.js.git $ cd aol-hb.js $ npm install ### Build To build the project type in the terminal: $ gulp build build results will be placed in /dist directory. It contains: - aol-hb.js - source file - aol-hb.min.js - minified source file. ### Run unit tests For running unit tests type in the terminal: $ gulp test-unit ### Run e2e tests Preconditions: - Selenium server with chrome driver should be started For running e2e tests type in the terminal: $ gulp test-e2e For opening e2e test pages in browsers type in the terminal: $ gulp test-e2e-manual