Skip to content

Adgeneration: rewrite adapter to match Prebid.js v1.6.6 spec - #4858

Open
ss-toshihide-tajima wants to merge 1 commit into
prebid:masterfrom
supership-jp:adgeneration-prebidjs-parity
Open

Adgeneration: rewrite adapter to match Prebid.js v1.6.6 spec#4858
ss-toshihide-tajima wants to merge 1 commit into
prebid:masterfrom
supership-jp:adgeneration-prebidjs-parity

Conversation

@ss-toshihide-tajima

@ss-toshihide-tajima ss-toshihide-tajima commented Jul 14, 2026

Copy link
Copy Markdown

Summary

This PR modernizes the Adgeneration adapter, which has not been updated in several years and has diverged from our Prebid.js adapter. It brings the server-side adapter into parity with Prebid.js v1.6.6 (modules/adgenerationBidAdapter.js) and moves it to the endpoint our ad server now serves for Prebid traffic.

We (Supership Inc.) are the maintainer of this bidder (ssp-ope@supership.jp).

Changes

  • Switch the endpoint from GET /adsv/v1 (query parameters) to POST https://d.socdm.com/adgen/prebid (JSON body) — the same protocol the Prebid.js adapter uses
  • Add native support for both site and app; banner is kept. Video is intentionally not declared, matching Prebid.js (supportedMediaTypes: [BANNER, NATIVE]): VAST creatives are delivered wrapped as banner
  • Detect the request origin from ext.prebid.channel / BidRequest.App and device.os, and forward it as the sdktype query parameter (web / Prebid Mobile Android / Prebid Mobile iOS) so the backend can distinguish delivery paths
  • Percent-encode VAST XML embedded in JS string literals for Prebid Mobile iOS (WKWebView) compatibility
  • Forward dealid from the backend response as bid.dealid
  • Rename the builder struct to adapter per the repository semgrep conventions
  • Rewrite the JSON golden files for the new protocol and add a native exemplary test; adapter coverage is 97.6%

Publisher impact

None expected. The bidder params are unchanged (id, required, string). PBS hosts running older versions keep working: the backend continues to serve the legacy /adsv/v1 endpoint during the transition.

Testing

  • ./validate.sh --nofmt --cov --race 10 passes locally
  • Verified end-to-end against the production backend from a test PBS host: web (S2S) and app (Prebid Mobile SDK on Android and iOS) requests all receive and render bids

Docs

prebid/prebid.github.io#6665 (companion docs update: pbs: true, pbs_app_supported: true, media_types: banner, native)

The adgeneration server-side adapter had not been updated in several
years and diverged from the Prebid.js adapter. This change brings it
back in parity with Prebid.js v1.6.6 (modules/adgenerationBidAdapter.js):

- Switch the endpoint from GET /adsv/v1 (query parameters) to
  POST /adgen/prebid with a JSON body, the protocol the backend now
  serves for Prebid traffic
- Add native support (site and app); banner is kept
- Detect sdktype from the request channel and device.os so the backend
  can distinguish web, Prebid Mobile Android, and Prebid Mobile iOS
  traffic
- Percent-encode VAST XML embedded in JS literals for Prebid Mobile iOS
  compatibility
- Forward dealid from the backend response as bid.dealid
- Rewrite JSON golden files for the new protocol and add a native
  exemplary test; adapter coverage is 97.6%
@ss-toshihide-tajima

Copy link
Copy Markdown
Author

Hi @bsardo, a gentle follow-up on this PR 🙏

We (Supership) maintain the Adgeneration bidder, and this PR brings the server-side adapter into parity with our Prebid.js adapter — we've been maintaining the Prebid.js side under this same handle (e.g. prebid/Prebid.js#12538, which introduced the endpoint/protocol this PR now adopts on the server side). Is there anything needed from my side to get it into the review queue?

One small ask in the meantime: since this is our first contribution to this repo, the Validate and adapter-code-coverage workflows are still awaiting maintainer approval to run. Could someone approve the workflow runs so the CI results are visible? (./validate.sh --nofmt --cov --race 10 passes locally.)

Happy to address any feedback. The companion docs PR is prebid/prebid.github.io#6665.

@bsardo bsardo self-assigned this Aug 4, 2026
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