Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A4G prebid adapter #1650

Closed
wants to merge 96 commits into from
Closed

A4G prebid adapter #1650

wants to merge 96 commits into from

Conversation

adilets
Copy link
Contributor

@adilets adilets commented Oct 3, 2017

Type of change

Description of change

Adding new bidder adapter for A4G

  • test parameters for validating bids
{
  bidder: 'a4g',
  params: {
    zoneId: 59304,
    deliveryUrl: 'http://dev01.ad4game.com/v1/bid'
}

Be sure to test the integration with your adserver using the Hello World sample page.

Other information

kononenko-a-m and others added 18 commits August 23, 2017 22:34
* Add ym_placement_id request param to yieldmo bid adapter

* Add yieldmo placementId param to integration examples
* fixed PBS cookie syncs

* added comment
* Add JSDoc for `pbjs.getAllWinningBids`

* Add a `Bid` type; update return value

This type will be useful in a few other places around the API docs (that
work will happen on separate PRs).

* s/Bid/AdapterBidResponse/g
* rubicon converted to bidderFactory plus few updates to factory

* name change updates to bidderFactory

* added transactionId => tid to rubicon request
…d#1653)

* Revert changes for switch between client side and server side.

* remove accidental change

* double comma

* update sync flag
* Updated unit test to use bidderFactory

* Updated unit test
* ET-1691: Pulsepoint Analytics adapter for Prebid. (#1)

* ET-1691: Adding pulsepoint analytics and tests for pulsepoint adapter

* ET-1691: Adding pulsepoint analytics and tests for pulsepoint adapter

* ET-1691: cleanup

* ET-1691: minor

* ET-1691: revert package.json change

* Adding bidRequest to bidFactory.createBid method as per prebid#509

* ET-1765: Adding support for additional params in PulsePoint adapter (prebid#2)

* ET-1850: Fixing prebid#866

* Minor fix

* Refactoring current functionality to work with bidderFactory (for 1.0 migration)

* More tests.

* Adding support for "app" requests.

* fixing eslint issues

* adding adapter documentation

* minor doc update

* removing usage of reserved keyword 'native'
@matthewlane
Copy link
Collaborator

This adapter should be updated to be compliant with the upcoming 1.0 conventions. See http://prebid.org/dev-docs/bidder-adapter-1.html for information about this. Thanks for the PR

@adilets
Copy link
Contributor Author

adilets commented Oct 5, 2017

@matthewlane could you please review my code. Where should I change ? Thanks

@matthewlane matthewlane self-assigned this Oct 6, 2017
bretg and others added 5 commits October 6, 2017 12:33
* aliasBidder did not work for bidderFactory

* added function to get adapter spec

* Freezing spec and moved unit tests

* Updated test case to not import adapter
pycnvr and others added 6 commits October 26, 2017 12:31
* Conversant adapter initial support for prebid 1.0

* Add video support for conversant adapter

* Add tests and md

* Update conversant contact address

* Return data object in buildRequests without converting it to a string

* Conversant adapter initial support for prebid 1.0

* Add video support for conversant adapter

* Add tests and md

* Update conversant contact address

* Return data object in buildRequests without converting it to a string

* Better validation for site id

* Switch to use utils._each and utils._map

* Add tests for displaymanagerver

* Review changes for conversant
* Initial revision of adocean bid adapter (ADOCEAN-13634, ADOCEAN-13635)

* Minor fixes

* new demo placement

* formating after lint

* move request parameters to params

* adocean adpater tests

* minor fixes

* added ttl, netRevenue nad creativeId. merged with upstream
* Fidelity Media Adapter update. Prebid v1.0.

Fidelity Media Adapter update. Prebid v1.0 plus featutes update.
Add Prebid v1.0 support
Add parameter "floor"

Removed:
"Loc"
"Click"
"SubId"

Subid=HB trasferred to SSP by default now.

* Fidelity Media Adapter update. Prebid v1.0.

Fidelity Media Adapter update. Prebid v1.0 plus featutes update.

Add Prebid v1.0 support
Add parameter "floor"

Removed:
"Loc"
"Click"
"SubId"

Subid=HB trasferred to SSP by default now.

* Fidelity Media fmxSSP Adapter update. Prebid v1.0

* Fidelity Media. Prebid v 1.0 Add tmax

* Fidelity Media. Prebid v 1.0. ttl

* Fidelity Media. Prebid v 1.0. spec

* Less bidderCode, add creativeId

* Adapter v.1, less bidderCode, add creativeId

* Prebid v1. InterpretResponse. Spec.

* InterpretResponse

* InterpretResponse
* Add v1.0 adapter skeleton

* Fix a typo in variable name declaration

* Change spec dependencies

* Add new describes for test

* Move URL detechtion inside buildRequests method

* Add necessary cases

* Clean test cases

* Export Quantcast adapter constants

* Implemenent test cases

* Fix wrong ports number

* Correct test cases

* Make string with single quote

* Remove unused statements

* Revert "Remove unused statements"

This reverts commit 459ca31.

* Remove unused statements

* Change string to single quote

* Fix sizes type

* Fix the sizes propty name typo in the spec

* Remove unused method, key value and comments

* Update the spec

* Change code using single quote

* Update the first argument for interpretResponse method and its spec

* Handle undefined Server Response

* Add required params from the server response
Copy link
Collaborator

@matthewlane matthewlane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@adilets Looks good, thanks for updating this to 1.0 conventions. There were a few breaking changes to master for 1.0 adapters recently, I noted fixes for them below.

Also, for testing bid responses, I'm getting a CORS error on your endpoint:

Failed to load http://dev01.ad4game.com/v1/bid?siteurl=http%3A%2F%2Fprebid.localhost%3A9999%2FintegrationExamples%2Fgpt%2Fbidder-test.html&size=300x250%2C320x50&id=&zoneId=59304&: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://prebid.localhost:9999' is therefore not allowed access.

There was a similar issue in #1627, so potentially this is because I'm testing from localhost. Let me know if that's the case or if there are other ways of validating bids from your endpoint, thanks

utils._each(serverResponses, function(response) {
const bidResponse = {
requestId: request.bidId,
bidderCode: spec.code,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bidderCode can be dropped from the bid response object, it'll be set automatically by bidderFactory. Docs just updated, sorry for the confusion


interpretResponse: function(serverResponses, request) {
const bidResponses = [];
utils._each(serverResponses, function(response) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#1748 changed the first argument of interpretResponse to:

{
  body: responseBody,
  headers: {
    get: function(header) { /* returns a header from the HTTP response */ }
  }
}

so updating serverResponses to serverResponses.body (and in corresponding tests if needed) should do the trick. May need to rebase off of master first

@adilets
Copy link
Contributor Author

adilets commented Oct 31, 2017

Hello matthewlane. I have updated my PR. I checked my server and resolved your comment messages.

@adilets
Copy link
Contributor Author

adilets commented Oct 31, 2017

@matthewlane I rebased to master. Maybe should I create new PR ?

@matthewlane
Copy link
Collaborator

Yeah, feel free to create a new PR. I think the changes look ok, but somehow it's showing that 105 files were changed. If you're able to figure out what's going on there you can push again to this PR but if it's easier, creating a new one with just your adapter is fine too and I'll finish the review there.

Also, still getting the same CORS error as above when testing the adapter. What I'm doing is taking the a4g params from the .md file and putting them on the hello_world test page, running gulp serve, and opening the page in a browser. The CORS error appears in the dev console and checking pbjs.getBidResponses() in the there shows a statusMessage of "Bid returned empty or error response" for a4g. Are you getting different results in this setup?

@adilets adilets closed this Nov 3, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.