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

feat: max-876: Prebid: Analytic Adapter Log debug info to adserver #5

Merged
merged 18 commits into from
Dec 16, 2024

Conversation

zeeye
Copy link

@zeeye zeeye commented Nov 20, 2024

Related PR: https://github.com/mobkoi/adserver/pull/10

Prebid: Analytic Adapter Log debug info to adserver

Add logging for debugging information to assist with monitoring and troubleshooting.

Sub-tasks

Record events at different stages of bid processing on the client side via the custom analytic adapter

Save event messages locally on the client.

Tag each message with one of three levels: info, warn, or debug.

Copy link

@willoughby willoughby left a comment

Choose a reason for hiding this comment

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

Can we get the win and loss endpoints to use snakeCase keys like all of the ORTB requests do, other than all working from my end.

@zeeye zeeye merged commit 0c03a42 into develop Dec 16, 2024
@zeeye zeeye deleted the max-876-debug-logs branch December 16, 2024 13:07
zeeye added a commit that referenced this pull request Feb 5, 2025
…e prebid RTB ORTB request to /bid (#1)

harness](https://mobkoi.atlassian.net/browse/MAX-848)

Set up a local development environment for testing and iterating on
Prebid customization changes.

Sub-tasks:

Install Prebid.js dependencies.

Create a custom Prebid.js Adapter (mobkoiBidAdapter) and build a custom
Prebid.js package to serve locally (the custom Prebid.js package is
available to serve to a local webpage).

Initialize Ad Service Bid endpoint, ensuring it can serve dummy bid
objects to the client.

Initialize Ad Server Ad endpoint to serve dummy ads/creatives that
display on the sample website.

Set up a sample website for end-to-end testing, including page load,
Prebid.js, Ad Service Bid endpoint, returning bids to the front-end, Ad
Server Ad endpoint, and loading ads on the page.

/bid](https://mobkoi.atlassian.net/browse/MAX-849)

Update Prebid.js to create ORTB-formatted bid requests for the /bid
endpoint.

Sub-tasks:

Modify Prebid request formatting to ORTB.

Validate bid responses from /bid with ORTB formatting.

Integrate the new ORTB bid request structure in the /bid endpoint base
on the data provided by Prebid.js.

Create unit tests.

feat: max-852: Prebid: Log bid win to adserver (#3)

> Related PRs mobkoi/adserver#6

adserver](https://mobkoi.atlassian.net/browse/MAX-852)

Implement logging of bid wins directly to the ad server.

Sub-tasks:

Capture winning bid events in the Prebid.js custom adapter in various
steps of biding process.

feat: max-853: Prebid: Log bid loss to adserver (#4)

adserver](https://mobkoi.atlassian.net/browse/MAX-853)

Implement logging of failed bid events for monitoring purposes.

Sub-tasks:

Initialise a Prebid custom analytic adapter.

Capture bid failure events within Prebid.js during various steps of the
bidding process

Initialise the endpoint for receiving bid loss signals.

Logs will log into Grafana, but this will be done in a separate ticket

feat: max-876: Prebid: Analytic Adapter Log debug info to adserver (#5)

> Related PR: mobkoi/adserver#10

adserver](https://mobkoi.atlassian.net/browse/MAX-876)

Add logging for debugging information to assist with monitoring and
troubleshooting.

Sub-tasks

Record events at different stages of bid processing on the client side
via the custom analytic adapter

Save event messages locally on the client.

Tag each message with one of three levels: info, warn, or debug.

feat: writing unit tests for mobkoi adapters (#6)

Co-authored-by: nvkftw <kevin.gallet@mobkoi.com>

updated doc description

added the missing mobkoiBidAdapter md

small fix for our unit test

added intergration with mobkoi getuid and setuid endpoint

double encoded the setuid callback

added mobkoiIdSystem module

got a working smartadserver sync url from provided example

got a working equativ url

before rollback to ajax call for equativ intergration

WIP testing droping pixel in iframe

feat: max-970: Prebid.js Bidder Adapter: Retrieve Adapter Parameters from Bid Configuration Object (#8)

Configuration Object](https://mobkoi.atlassian.net/browse/MAX-970)

At this stage, we are only focused on bid win events, so there is no
need for analytics adapter integration yet. To streamline the
publisher's configuration for our custom bid adapter integration, we
retrieve adapter parameters directly from the bid configuration object
instead of using "bidderConfiguration."

updated bid adapter doc

wip equativ pixel in an iframe

approvated concept cookie sync work on client side

code tidy up for the working cookie solution

removed the need for cookieName param

matches the backend endpoint name changes

feat: max-956: We need the placement ID from Tag and HB Connector to be past to the AdServer (#9)

the AdServer](https://mobkoi.atlassian.net/browse/MAX-956)

removed unexpected code

transfer the user id to ortb2 request body and set the field to null if not avaiable

fixed a minor bug

enabed consent string

added unit tests for mobkoi ID system module

fixed a minor bug

removed the code that wrapping URL in URL objects. It just make things complicated

fixed the publisher ID in macro issue

clean up branch for offical PR

pass the expiration value when setting storage using the storage manager

updated id system module md

pass expire setting to storage
zeeye pushed a commit that referenced this pull request Mar 19, 2025
* Initial nativoBidAdapter document creation (js, md and spec)

* Fulling working prebid using nativoBidAdapter. Support for GDPR and CCPA in user syncs.

* Added defult size settings based on the largest ad unit. Added response body validation. Added consent to request url qs params.

* Changed bidder endpoint url

* Changed double quotes to single quotes.

* Reverted package-json.lock to remove modifications from PR

* Added optional bidder param 'url' so the ad server can force- match an existing placement

* Lint fix. Added space after if.

* Added new QS param to send various adUnit data to adapter endpopint

* Updated unit test for new QS param

* Added qs param to keep track of ad unit refreshes

* Updated bidMap key default value

* Updated refresh increment logic

* Refactored spread operator for IE11 support

* Updated isBidRequestValid check

* Refactored Object.enties to use Object.keys to fix CircleCI testing errors

* Updated bid mapping key creation to prioritize ad unit code over placementId

* Added filtering by ad, advertiser and campaign.

* Merged master

* Added more robust bidDataMap with multiple key access

* Deduped filer values

* Rolled back package.json

* Duped upstream/master's package.lock file ... not sure how it got changed in the first place

* Small refactor of filterData length check. Removed comparison with 0 since a length value of 0 is already falsy.

* Added bid sizes to request

* Fixed function name in spec. Added unit tests.

* Added priceFloor module support

* Added protection agains empty url parameter

* Changed ntv_url QS param to use referrer.location instead of referrer.page

* Removed testing 'only' flag

* Added ntv_url QS param value validation

* Added userId support

* Added unit tests, refactored for bugs

* Wrapped ajax in try/catch

* Added more unit testing

* Updated eid check for duplicate values. Removed error logging as we no longer need it.

* Removed spec test .only. Fixed unit tests that were breaking.

* Added Prebid version to nativo exchange request

* Removed unused bidder methods

* Added OpenRTB payload response. Changes requerst type to POST.

* Removed debug log

* Added/fixed tests

* Handle video mediaType

* Add built renderer files

* Fix no-inner-declarations linting error

* Handle native requests

* Add examples in Nativo readme

* Add 'mediaType' property to tests for compatibility with adapter code

* Remove data URI from VAST XML

* Fix 'no-unused-expressions' lint error

* Fix lint error 'curcly'

* Remove bidder name validation in 'isBidRequestValid' (#4)

* Add GPP consent string to req (#5)

---------

Co-authored-by: Josh <jfledd@gmail.com>
Co-authored-by: Joshua Fledderjohn <jfledderjohn@nativo.com>
zeeye added a commit that referenced this pull request Mar 19, 2025
* feat: max-848 Prebid: setup development harness.  max-849: Prebid: Make prebid RTB ORTB request to /bid (#1)

harness](https://mobkoi.atlassian.net/browse/MAX-848)

Set up a local development environment for testing and iterating on
Prebid customization changes.

Sub-tasks:

Install Prebid.js dependencies.

Create a custom Prebid.js Adapter (mobkoiBidAdapter) and build a custom
Prebid.js package to serve locally (the custom Prebid.js package is
available to serve to a local webpage).

Initialize Ad Service Bid endpoint, ensuring it can serve dummy bid
objects to the client.

Initialize Ad Server Ad endpoint to serve dummy ads/creatives that
display on the sample website.

Set up a sample website for end-to-end testing, including page load,
Prebid.js, Ad Service Bid endpoint, returning bids to the front-end, Ad
Server Ad endpoint, and loading ads on the page.

/bid](https://mobkoi.atlassian.net/browse/MAX-849)

Update Prebid.js to create ORTB-formatted bid requests for the /bid
endpoint.

Sub-tasks:

Modify Prebid request formatting to ORTB.

Validate bid responses from /bid with ORTB formatting.

Integrate the new ORTB bid request structure in the /bid endpoint base
on the data provided by Prebid.js.

Create unit tests.

feat: max-852: Prebid: Log bid win to adserver (#3)

> Related PRs mobkoi/adserver#6

adserver](https://mobkoi.atlassian.net/browse/MAX-852)

Implement logging of bid wins directly to the ad server.

Sub-tasks:

Capture winning bid events in the Prebid.js custom adapter in various
steps of biding process.

feat: max-853: Prebid: Log bid loss to adserver (#4)

adserver](https://mobkoi.atlassian.net/browse/MAX-853)

Implement logging of failed bid events for monitoring purposes.

Sub-tasks:

Initialise a Prebid custom analytic adapter.

Capture bid failure events within Prebid.js during various steps of the
bidding process

Initialise the endpoint for receiving bid loss signals.

Logs will log into Grafana, but this will be done in a separate ticket

feat: max-876: Prebid: Analytic Adapter Log debug info to adserver (#5)

> Related PR: mobkoi/adserver#10

adserver](https://mobkoi.atlassian.net/browse/MAX-876)

Add logging for debugging information to assist with monitoring and
troubleshooting.

Sub-tasks

Record events at different stages of bid processing on the client side
via the custom analytic adapter

Save event messages locally on the client.

Tag each message with one of three levels: info, warn, or debug.

feat: writing unit tests for mobkoi adapters (#6)

Co-authored-by: nvkftw <kevin.gallet@mobkoi.com>

updated doc description

added the missing mobkoiBidAdapter md

small fix for our unit test

added intergration with mobkoi getuid and setuid endpoint

double encoded the setuid callback

added mobkoiIdSystem module

got a working smartadserver sync url from provided example

got a working equativ url

before rollback to ajax call for equativ intergration

WIP testing droping pixel in iframe

feat: max-970: Prebid.js Bidder Adapter: Retrieve Adapter Parameters from Bid Configuration Object (#8)

Configuration Object](https://mobkoi.atlassian.net/browse/MAX-970)

At this stage, we are only focused on bid win events, so there is no
need for analytics adapter integration yet. To streamline the
publisher's configuration for our custom bid adapter integration, we
retrieve adapter parameters directly from the bid configuration object
instead of using "bidderConfiguration."

updated bid adapter doc

wip equativ pixel in an iframe

approvated concept cookie sync work on client side

code tidy up for the working cookie solution

removed the need for cookieName param

matches the backend endpoint name changes

feat: max-956: We need the placement ID from Tag and HB Connector to be past to the AdServer (#9)

the AdServer](https://mobkoi.atlassian.net/browse/MAX-956)

removed unexpected code

transfer the user id to ortb2 request body and set the field to null if not avaiable

fixed a minor bug

enabed consent string

added unit tests for mobkoi ID system module

fixed a minor bug

removed the code that wrapping URL in URL objects. It just make things complicated

fixed the publisher ID in macro issue

clean up branch for offical PR

pass the expiration value when setting storage using the storage manager

updated id system module md

pass expire setting to storage

* code tidy up

* switch to getStorageManager instead of getCoreStorageManager

* add mobkoiIdSystem to modules/.submodules.json file
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.

2 participants