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

Consumable adapter implementation #801

Merged
merged 49 commits into from
Feb 19, 2019

Conversation

nealeu
Copy link
Contributor

@nealeu nealeu commented Jan 29, 2019

Hi,

We'd like to add the Consumable adapter in this PR.

We believe we've met all the criteria for adding an adapter.

Also, as we wanted to cover HTTP headers in our testing, we've included the commits from #795 which implement checking of those parts of the test files.

Please let us know if there's anything else you need for this to be merged.

Thanks,

Neale.

Copy link
Collaborator

@hhhjort hhhjort left a comment

Choose a reason for hiding this comment

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

Please remove the debug logging. We don't want production logs to explode. Also if it is not too much trouble, another merge with master or cleanup so it is clear that this PR doesn't touch the other adapters would be appreciated.

Sorry for the delay in review, things have been busy.

@nealeu nealeu force-pushed the consumable-adapter branch from fea4e75 to 599c0d4 Compare February 12, 2019 10:59
@nealeu
Copy link
Contributor Author

nealeu commented Feb 12, 2019

Hi,
That should do it, subject to the build being okay.
Cheers,
Neale

@hhhjort hhhjort merged commit ee0d293 into prebid:master Feb 19, 2019
katsuo5 pushed a commit to flux-dev-team/prebid-server-1 that referenced this pull request Dec 1, 2020
* Create placeholder type for Consumable adapter.

* Create placeholder type for Consumable parameters.

* Create placeholder JSON Schema for Consumable parameters.

* Create skeleton implementation of Bidder for ConsumableAdapter.

* Add placeholder NewConsumableBidder function.

* Add Consumable to adapter map.

* Add comment to ExtImpConsumable.

* Generate skeleton bid request.

* Set User-Agent header.

* Set Forwarded and X-Forwarded-For headers.

* Set Referer header.

* Set Origin header.

* Add type representing ad placement.

* Add type representing user.

* Add type representing Bid Request.

* Add placeholder JSON body to request.

* Populate Time field of bid request.

* Populate more fields of bid request.

* Don't panic if request.Site is nil.

* #8 Initial partial implmentation of MakeBids

* #11 Add initial exemplary test to get things going

* #8 Some initial correct-looking impl and test for MakeBids

* Partially implement creating placements from impressions.

* #4 Add ExtImpConsumable contract class

* #6 Add handling of Ext.SiteId and NetworkId

* #11 Provide configurable instant time source to allow testing

* #6 Add conversion of w,h formats to adtypes in MakeRequests

* #8 Implement retrieveAd for ad markup

* #4 Update JSON Schema to match prebid.js consumable docs

See
https://github.com/prebid/prebid.github.io/blob/b7e1f6fbdbdb87b2b8cd283d311e8ddb2264e599/dev-docs/bidders/consumable.md

* #16 Add bidder-info/consumable.yaml

* #8 Clean up comments in MakeBids

* #12 Add params_test.go

* #8 MakeBids: Use bid.id=decision.adId and bid.crId=decision.creativeId

Also take out potential nil pointer dereferences so that we don't kill
the server on omitted data.

* #11 Add a JSON test for absent impressionUrl

* #9 Implement usersync based on prebid.js adapter code

Only question here is what to do with redirect

* Make unitName optional

* Duplicate networkId,siteId,unitId/Name from first placement to top of request

This is to match requests observed on live sites making calls to serverbid.

* Add header info to simple-banner.json test scenario

* Handle adId as int64 and use for bid.crid. Use internalReq.id for bid.id

Note: Need to validate that bid.id can be same on multiple bids
(other adapters use rand(1000) and request.id)

* #9 Turn buyeruid into azk Cookie header when calling serverbid.com

* #17 Extract Consumable endpoint and usersync_url to config with defaults

* #9 Update usersync to work based on templates

* Add callback URL to usersync for consumable

* Remove additional markup from ad markup - just pass Content.Body through

* Remove println's that were accidentally committed

* Organise import so consumable import is in order

* Delete fmt.Printf calls that shouldn't be there

* Clarify why VENDOR_ID is a TODO

* Move getImp and error check within test for a valid decision
katsuo5 pushed a commit to flux-dev-team/prebid-server-1 that referenced this pull request Dec 2, 2020
* Create placeholder type for Consumable adapter.

* Create placeholder type for Consumable parameters.

* Create placeholder JSON Schema for Consumable parameters.

* Create skeleton implementation of Bidder for ConsumableAdapter.

* Add placeholder NewConsumableBidder function.

* Add Consumable to adapter map.

* Add comment to ExtImpConsumable.

* Generate skeleton bid request.

* Set User-Agent header.

* Set Forwarded and X-Forwarded-For headers.

* Set Referer header.

* Set Origin header.

* Add type representing ad placement.

* Add type representing user.

* Add type representing Bid Request.

* Add placeholder JSON body to request.

* Populate Time field of bid request.

* Populate more fields of bid request.

* Don't panic if request.Site is nil.

* #8 Initial partial implmentation of MakeBids

* #11 Add initial exemplary test to get things going

* #8 Some initial correct-looking impl and test for MakeBids

* Partially implement creating placements from impressions.

* #4 Add ExtImpConsumable contract class

* #6 Add handling of Ext.SiteId and NetworkId

* #11 Provide configurable instant time source to allow testing

* #6 Add conversion of w,h formats to adtypes in MakeRequests

* #8 Implement retrieveAd for ad markup

* #4 Update JSON Schema to match prebid.js consumable docs

See
https://github.com/prebid/prebid.github.io/blob/b7e1f6fbdbdb87b2b8cd283d311e8ddb2264e599/dev-docs/bidders/consumable.md

* #16 Add bidder-info/consumable.yaml

* #8 Clean up comments in MakeBids

* #12 Add params_test.go

* #8 MakeBids: Use bid.id=decision.adId and bid.crId=decision.creativeId

Also take out potential nil pointer dereferences so that we don't kill
the server on omitted data.

* #11 Add a JSON test for absent impressionUrl

* #9 Implement usersync based on prebid.js adapter code

Only question here is what to do with redirect

* Make unitName optional

* Duplicate networkId,siteId,unitId/Name from first placement to top of request

This is to match requests observed on live sites making calls to serverbid.

* Add header info to simple-banner.json test scenario

* Handle adId as int64 and use for bid.crid. Use internalReq.id for bid.id

Note: Need to validate that bid.id can be same on multiple bids
(other adapters use rand(1000) and request.id)

* #9 Turn buyeruid into azk Cookie header when calling serverbid.com

* #17 Extract Consumable endpoint and usersync_url to config with defaults

* #9 Update usersync to work based on templates

* Add callback URL to usersync for consumable

* Remove additional markup from ad markup - just pass Content.Body through

* Remove println's that were accidentally committed

* Organise import so consumable import is in order

* Delete fmt.Printf calls that shouldn't be there

* Clarify why VENDOR_ID is a TODO

* Move getImp and error check within test for a valid decision
katsuo5 pushed a commit to flux-dev-team/prebid-server-1 that referenced this pull request Dec 4, 2020
* Create placeholder type for Consumable adapter.

* Create placeholder type for Consumable parameters.

* Create placeholder JSON Schema for Consumable parameters.

* Create skeleton implementation of Bidder for ConsumableAdapter.

* Add placeholder NewConsumableBidder function.

* Add Consumable to adapter map.

* Add comment to ExtImpConsumable.

* Generate skeleton bid request.

* Set User-Agent header.

* Set Forwarded and X-Forwarded-For headers.

* Set Referer header.

* Set Origin header.

* Add type representing ad placement.

* Add type representing user.

* Add type representing Bid Request.

* Add placeholder JSON body to request.

* Populate Time field of bid request.

* Populate more fields of bid request.

* Don't panic if request.Site is nil.

* #8 Initial partial implmentation of MakeBids

* #11 Add initial exemplary test to get things going

* #8 Some initial correct-looking impl and test for MakeBids

* Partially implement creating placements from impressions.

* #4 Add ExtImpConsumable contract class

* #6 Add handling of Ext.SiteId and NetworkId

* #11 Provide configurable instant time source to allow testing

* #6 Add conversion of w,h formats to adtypes in MakeRequests

* #8 Implement retrieveAd for ad markup

* #4 Update JSON Schema to match prebid.js consumable docs

See
https://github.com/prebid/prebid.github.io/blob/b7e1f6fbdbdb87b2b8cd283d311e8ddb2264e599/dev-docs/bidders/consumable.md

* #16 Add bidder-info/consumable.yaml

* #8 Clean up comments in MakeBids

* #12 Add params_test.go

* #8 MakeBids: Use bid.id=decision.adId and bid.crId=decision.creativeId

Also take out potential nil pointer dereferences so that we don't kill
the server on omitted data.

* #11 Add a JSON test for absent impressionUrl

* #9 Implement usersync based on prebid.js adapter code

Only question here is what to do with redirect

* Make unitName optional

* Duplicate networkId,siteId,unitId/Name from first placement to top of request

This is to match requests observed on live sites making calls to serverbid.

* Add header info to simple-banner.json test scenario

* Handle adId as int64 and use for bid.crid. Use internalReq.id for bid.id

Note: Need to validate that bid.id can be same on multiple bids
(other adapters use rand(1000) and request.id)

* #9 Turn buyeruid into azk Cookie header when calling serverbid.com

* #17 Extract Consumable endpoint and usersync_url to config with defaults

* #9 Update usersync to work based on templates

* Add callback URL to usersync for consumable

* Remove additional markup from ad markup - just pass Content.Body through

* Remove println's that were accidentally committed

* Organise import so consumable import is in order

* Delete fmt.Printf calls that shouldn't be there

* Clarify why VENDOR_ID is a TODO

* Move getImp and error check within test for a valid decision
@SuprPhatAnon SuprPhatAnon deleted the consumable-adapter branch August 15, 2022 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants