-
Notifications
You must be signed in to change notification settings - Fork 76
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
Native ortb #150
Native ortb #150
Conversation
Thank you for putting up this PR. I've gone through most of your change and I had a few questions/comments.
|
Hi @Fawke Thanks for your review.
|
Hi @Fawke I added example page how to test native ortb. You can find page here On the same branch there is also a renderer, which can render ortb native ads and 'legacy pbjs' native ads. It's located here. To test PUC with pbjs changes I suggest using requestly to replace Also, I prepared python2 script that can be used as 'fake prebid server bidder' for native ads. You can find it bellow. |
@@ -281,40 +282,38 @@ export function newNativeAssetManager(win) { | |||
|
|||
if (head) win.document.head.innerHTML = replace(head, data); | |||
|
|||
let renderPayload = data.assets; | |||
if (data.ortb) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I understand this right, when we get ortb2 data in here we don't send any message back to the parent window. But it looks like on the other side we use the tracker message to signify "bid won":
I tried your test page to see what happens (I don't know why we would trigger BID_WON
in such a way) but I am having trouble getting anything from GAM, the safeframes don't send out any request for me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right, BID_WON
event won't be fired in this case.
Thanks for noticing this issue.
My goal was to move firing impression trackers and click trackers from inside PUC.
I missed this effect: when pbjs is sending impression tracker, at the same time it's marking bid as winning.
The way I see it, there are two possible solutions:
- mark bid as winning bid (and send
BID_WON
) when responding to theallAssetRequest
post message - or, add one more post message when ad is rendered so that pbjs can mark bid as winning bid.
@dgirardi what do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First option is probably cleaner especially if you try to figure out the general case; without safeframe we set winning bid at the beginning of rendering; if that makes sense, it also makes sense to do it on the first message we get - could be a single asset request, could be done for this case as well (but I did not check how modules are using BID_WON
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For native, PUC won't fallback to window.pbjs.renderAd
even without safe frames.
Then, I'll go with 1st approach. For this I've updated pbjs, more specifically native ORTB PR.
Hi @dgirardi , is there anything else that has to be fixed on this PR ? |
To test this, I am using the "fake" native response from the test server you gave me @musikele. Here's the test page; it expects PUC to live at I am getting
|
@dgirardi
So, it would be very helpful to know what you wanted to exactly achieve and test. |
Hi @dgirardi Do you need anything else to move forward with this? |
@musikele I'd like a working example, and for release probably also documentation about the new template format. (Or just the docs and I can try building an example myself). |
src/nativeORTBTrackerManager.js
Outdated
const ASSET_ID_ELEMENT_ATTRIBUTE = 'hb_native_asset_id'; | ||
|
||
export function fireNativeImpressionTrackers(ortb) { | ||
const eventTrackers = ortb.eventtrackers || []; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
with prebid/Prebid.js#8748, this should no longer be done here. I think that might be better in general since it doesn't force you to use the PUC; if we still want to do that here, the logic needs to be adjusted (see that PR) and we need to figure out a migration strategy so that trackers are not fired twice.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tracker logic was moved to PrebidJS.
Hi @dgirardi . I changed this PR to send messages for tracking to PBJS. Instead of firing trackers, we're now sending a message to PBJS. In PBJS there's this companion PR that will help asset clicktrackers to be fired: prebid/Prebid.js#8905 |
if (asset.video) { | ||
return asset.video.vasttag; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should default to '' (in light of #171)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I understand well #171 this function should return an empty string when there's no value for that placeholder... correct me if I'm wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added some code after that will check for placeholders of assets that are never returned, so these are removed from the template. The scenario I'm thinking is: the request specifies some optional assets, but these assets are not returned in the response; the publisher wants to remove those from the template - so if the publisher is using a ##hb_native_asset_id_100
and asset with id 100
is not part of the response, it gets deleted.
} | ||
|
||
function renderAd(html, bid) { | ||
// if the current iframe is not a safeframe, try to set the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How is this related to the switch to ortb - or does this mean that native inside safeframes is currently broken?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The following "if" block is to ensure the following use case: when the creative is not a GAM Native creative but "just" a simple GAM creative (the banner creative). In that case, the GAM creative does not resize itself the same way a GAM native creative would do.
Ideally this change, together with the one that separates the puc into different files, allows to render native ads into GAM banner creatives. But we need them to resize accordingly.
The only choice I did here is to say that the GAM banner creative must have a size of 1x1; in that scenario, the PUC will try to resize the iframe to the native dimentions.
fdb4730
to
a80579a
Compare
@musikele merging 171 created a conflict here |
@dgirardi I added some changes to native-trk.js . There's no documentation on how it should work, so my changes are just an educated guess. I think this file was reccomended with the very first version of native, the one that had the template in the ad server creative. |
0e1dcbc
to
a574d98
Compare
browserstack.err
Outdated
@@ -0,0 +1 @@ | |||
[object Object] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this file and the local.log
be removed from the PR? I don't think they need to be in the project.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for catching that!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure about the system files that were included here (eg. the .tool-versions
, .vscode/
, etc), but the rest of the code appears good to me from what I saw and tested with my few examples.
@jsnellbaker thanks for catching this ! I'm going to remove the editor files from the PR |
@musikele Can you take a look at the conflicts here, additionally can you double-check the errors in the circleci test? There are some references to some unsupported functions that may be an issue? Update This branch may just need to be rebased/synced with master. I saw there was another PR recently merged (#178) that updated the browsers.json file to not include IE11 as part of the test suite; the failures were largely in IE11, though there was a test failure that occurred in the other browsers related to:
|
9333fd2
to
a44c893
Compare
Hi @jsnellbaker, just completed the rebase and yes, the configuration for CircleCI was updated. |
* add support for catching errors from postscribe library (prebid#129) * Prebid Universal Creative 1.12.0 Release * increment pre version * Static vast tag for mobile rendering API for rewarded video (prebid#148) * the static vast tag for mobile rendering API for rewarded video * update gulpfile to handle static vast XML file in build process Co-authored-by: Yuriy Velichko <yuriy.velichko@openx.com> Co-authored-by: Jason Snellbaker <jsnellbaker@appnexus.com> * temporarily disable unit test (prebid#149) * Prebid Universal Creative 1.13.0 Release * increment pre version * Signal AD_RENDER_FAILED / AD_RENDER_SUCCEEDED events to Prebid (prebid#152) Add a new type of cross-origin message ('Prebid Message') to signal when render-related events should be generated by Prebid. * Add issue tracking workflow: automatically create project items for new issues (prebid#161) * Upgrade dependencies make the build work on recent(ish) versions of Node (prebid#159) * Use MessageChannel for cross-frame messages (prebid#154) * Use MessageChannel for cross-frame messages * Use transformAuctionTargetingData for nativeTrackerManager * readme: removed 'coming soon' message (prebid#170) * Remove <!doctype> from markup before rendering with postscribe (prebid#172) * Bump got from 11.8.3 to 11.8.5 (prebid#169) Bumps [got](https://github.com/sindresorhus/got) from 11.8.3 to 11.8.5. - [Release notes](https://github.com/sindresorhus/got/releases) - [Commits](sindresorhus/got@v11.8.3...v11.8.5) --- updated-dependencies: - dependency-name: got dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump copy-props from 2.0.4 to 2.0.5 (prebid#163) Bumps [copy-props](https://github.com/gulpjs/copy-props) from 2.0.4 to 2.0.5. - [Release notes](https://github.com/gulpjs/copy-props/releases) - [Changelog](https://github.com/gulpjs/copy-props/blob/master/CHANGELOG.md) - [Commits](gulpjs/copy-props@2.0.4...2.0.5) --- updated-dependencies: - dependency-name: copy-props dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump tar from 4.4.8 to 4.4.19 (prebid#162) Bumps [tar](https://github.com/npm/node-tar) from 4.4.8 to 4.4.19. - [Release notes](https://github.com/npm/node-tar/releases) - [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md) - [Commits](isaacs/node-tar@v4.4.8...v4.4.19) --- updated-dependencies: - dependency-name: tar dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Replace missing native assets with empty strings (prebid#171) * Replace missing native assets with empty strings * Update: Replace missing native assets with empty strings * Fix: Replace missing native assets with empty strings Co-authored-by: anita.schiller <anita.schiller@gutefrage.net> * Fix bugs / tests with empty string default for missing assets (prebid#178) * Fix bugs / tests with empty string default for missing assets * Run tests on PRs * Update test browsers to be in line with Prebid.js * Update circleCI image to be in line with the one used for releases * Bump yargs-parser from 5.0.0 to 5.0.1 (prebid#164) Bumps [yargs-parser](https://github.com/yargs/yargs-parser) from 5.0.0 to 5.0.1. - [Release notes](https://github.com/yargs/yargs-parser/releases) - [Changelog](https://github.com/yargs/yargs-parser/blob/v5.0.1/CHANGELOG.md) - [Commits](yargs/yargs-parser@v5.0.0...v5.0.1) --- updated-dependencies: - dependency-name: yargs-parser dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Native ortb (prebid#150) * if there is an ortb2 field pass it to renderAd function * replace ortb2 with ortb * handle impression and clicktrackers within puc * fix tests * add tests for native ortb trackers * add openRTB feature for adTemplate * add unit test for native ortb * fix unit test post rebase * convert legacy templates to ortb templates * set the width of the iframe to the parent div width * native renderer receives both legacy and ortb assets * only resize the native ad when the size is 1x1 * send message to trigger trackers on pbjs * default: return empty string if no asset is found * add suport for eventtrackers as of native ortb 1.2 * fix broken test introduced with prebid#171 * fix broken test introduced with prebid#171 * remove accidentally added files * fixes after rebasing Co-authored-by: Michele Nasti <michele@rtk.io> Co-authored-by: Michele Nasti <musikele@users.noreply.github.com> * Bump engine.io and karma (prebid#173) Bumps [engine.io](https://github.com/socketio/engine.io) and [karma](https://github.com/karma-runner/karma). These dependencies needed to be updated together. Updates `engine.io` from 3.2.1 to 6.2.0 - [Release notes](https://github.com/socketio/engine.io/releases) - [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md) - [Commits](socketio/engine.io@3.2.1...6.2.0) Updates `karma` from 4.3.0 to 6.4.0 - [Release notes](https://github.com/karma-runner/karma/releases) - [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md) - [Commits](karma-runner/karma@v4.3.0...v6.4.0) --- updated-dependencies: - dependency-name: engine.io dependency-type: indirect - dependency-name: karma dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Prebid Universal Creative 1.14.0 release * Increment version to 1.15.0-pre * Bump ejs and webdriverio (prebid#184) Bumps [ejs](https://github.com/mde/ejs) to 3.1.8 and updates ancestor dependency [webdriverio](https://github.com/webdriverio/webdriverio). These dependencies need to be updated together. Updates `ejs` from 3.1.6 to 3.1.8 - [Release notes](https://github.com/mde/ejs/releases) - [Changelog](https://github.com/mde/ejs/blob/main/CHANGELOG.md) - [Commits](mde/ejs@v3.1.6...v3.1.8) Updates `webdriverio` from 4.14.4 to 7.25.2 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](webdriverio/webdriverio@v4.14.4...v7.25.2) --- updated-dependencies: - dependency-name: ejs dependency-type: indirect - dependency-name: webdriverio dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Separate puc (prebid#165) * separate puc into multiple output files based on format * shake plugin * move stuff around for easier treeshaking * add building legacy 'creative.js' for backwards compatibility fix docs and style * Static vast tag for mobile rendering API for rewarded video (prebid#148) * temporarily disable unit test (prebid#149) * Signal AD_RENDER_FAILED / AD_RENDER_SUCCEEDED events to Prebid (prebid#152) * Add issue tracking workflow: automatically create project items for new issues * add .npmignore to not break jsdelivr * avoid code duplicates in gulpfile * fix renderCrossDomain after rebase * fixes post rebase * in order to support tree-shaking, environment is not an object anymore * remove deprecation warning from uid.js * update creative in the readme.md * add test for legacyNativeRender to accept only one argument * added package-lock so npm ci doesn't fail * fix to first argument of call method * fix for iframe width not being resized correctly when creative is safeframe * add generation of legacy files on watch * new package lock with newer dependencies Co-authored-by: Filip Stamenkovic <ficadub@gmail.com> Co-authored-by: Michele Nasti <michele@rtk.io> * add buil-dev task (prebid#189) Co-authored-by: Michele Nasti <michele@rtk.io> * make the project work with node latest; upgrade wdio (prebid#188) * make the project work with node latest; upgrade wdio * remove engine property Co-authored-by: Michele Nasti <michele@rtk.io> * Bump qs and body-parser (prebid#197) Bumps [qs](https://github.com/ljharb/qs) and [body-parser](https://github.com/expressjs/body-parser). These dependencies needed to be updated together. Updates `qs` from 6.9.0 to 6.11.0 - [Release notes](https://github.com/ljharb/qs/releases) - [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md) - [Commits](ljharb/qs@v6.9.0...v6.11.0) Updates `body-parser` from 1.19.0 to 1.20.1 - [Release notes](https://github.com/expressjs/body-parser/releases) - [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md) - [Commits](expressjs/body-parser@1.19.0...1.20.1) --- updated-dependencies: - dependency-name: qs dependency-type: indirect - dependency-name: body-parser dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump decode-uri-component from 0.2.0 to 0.2.2 (prebid#195) Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2. - [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases) - [Commits](SamVerschueren/decode-uri-component@v0.2.0...v0.2.2) --- updated-dependencies: - dependency-name: decode-uri-component dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump engine.io from 6.2.0 to 6.2.1 (prebid#192) Bumps [engine.io](https://github.com/socketio/engine.io) from 6.2.0 to 6.2.1. - [Release notes](https://github.com/socketio/engine.io/releases) - [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md) - [Commits](socketio/engine.io@6.2.0...6.2.1) --- updated-dependencies: - dependency-name: engine.io dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * hb_native_privicon (prebid#194) Co-authored-by: skoklowski <slawomir.koklowski@ringieraxelspringer.pl> * Prebid Universal Creative 1.15.0 release * Increment version to 1.16.0-pre * Add macro to track clicks (prebid#196) * added support for GAM macro %%CLICK_URL_UNESC%% * add tests for %%CLICK_URL_UNESC%% * add info about clickUrlUnesc in readme Co-authored-by: Michele Nasti <michele@rtk.io> * Update issue_tracker.yml for new GH API (prebid#203) * Replace all placeholders with the corresponding ortb assets (prebid#211) * Replace all placeholders with the corresponding ortb assets * Add test for replacing all placeholders * Use gulp in test script --------- Co-authored-by: anita.schiller <anita.schiller@gutefrage.net> * Remove DOCTYPE from markup for app/amp/mobile (prebid#210) * Bump http-cache-semantics from 4.1.0 to 4.1.1 (prebid#205) Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) from 4.1.0 to 4.1.1. - [Release notes](https://github.com/kornelski/http-cache-semantics/releases) - [Commits](kornelski/http-cache-semantics@v4.1.0...v4.1.1) --- updated-dependencies: - dependency-name: http-cache-semantics dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump ua-parser-js from 0.7.32 to 0.7.33 (prebid#202) Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 0.7.32 to 0.7.33. - [Release notes](https://github.com/faisalman/ua-parser-js/releases) - [Changelog](https://github.com/faisalman/ua-parser-js/blob/master/changelog.md) - [Commits](faisalman/ua-parser-js@0.7.32...0.7.33) --- updated-dependencies: - dependency-name: ua-parser-js dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump minimist, mkdirp, handlebars, karma-mocha and mocha (prebid#207) Bumps [minimist](https://github.com/minimistjs/minimist) to 1.2.8 and updates ancestor dependencies [minimist](https://github.com/minimistjs/minimist), [mkdirp](https://github.com/isaacs/node-mkdirp), [handlebars](https://github.com/wycats/handlebars.js), [karma-mocha](https://github.com/karma-runner/karma-mocha) and [mocha](https://github.com/mochajs/mocha). These dependencies need to be updated together. Updates `minimist` from 1.2.0 to 1.2.8 - [Release notes](https://github.com/minimistjs/minimist/releases) - [Changelog](https://github.com/minimistjs/minimist/blob/main/CHANGELOG.md) - [Commits](minimistjs/minimist@v1.2.0...v1.2.8) Updates `mkdirp` from 0.5.1 to 0.5.6 - [Release notes](https://github.com/isaacs/node-mkdirp/releases) - [Changelog](https://github.com/isaacs/node-mkdirp/blob/main/CHANGELOG.md) - [Commits](isaacs/node-mkdirp@0.5.1...v0.5.6) Updates `handlebars` from 4.4.3 to 4.7.7 - [Release notes](https://github.com/wycats/handlebars.js/releases) - [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/master/release-notes.md) - [Commits](handlebars-lang/handlebars.js@v4.4.3...v4.7.7) Updates `karma-mocha` from 1.3.0 to 2.0.1 - [Release notes](https://github.com/karma-runner/karma-mocha/releases) - [Changelog](https://github.com/karma-runner/karma-mocha/blob/master/CHANGELOG.md) - [Commits](karma-runner/karma-mocha@v1.3.0...v2.0.1) Updates `mocha` from 5.2.0 to 10.2.0 - [Release notes](https://github.com/mochajs/mocha/releases) - [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md) - [Commits](mochajs/mocha@v5.2.0...v10.2.0) --- updated-dependencies: - dependency-name: minimist dependency-type: indirect - dependency-name: mkdirp dependency-type: indirect - dependency-name: handlebars dependency-type: indirect - dependency-name: karma-mocha dependency-type: direct:development - dependency-name: mocha dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump socket.io-parser from 4.2.1 to 4.2.4 (prebid#214) Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.1 to 4.2.4. - [Release notes](https://github.com/socketio/socket.io-parser/releases) - [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md) - [Commits](socketio/socket.io-parser@4.2.1...4.2.4) --- updated-dependencies: - dependency-name: socket.io-parser dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Improve resize logic for native (prebid#193) * Log error when renderAd lookup failed (prebid#217) * Emit AD_RENDER_SUCCEEDED and AD_RENDER_FAILED for native ads (prebid#199) * Emit AD_RENDER_SUCCEEDED and AD_RENDER_FAILED for native ads * Merge master * Bump fsevents from 1.2.9 to 1.2.13 (prebid#220) Bumps [fsevents](https://github.com/fsevents/fsevents) from 1.2.9 to 1.2.13. - [Release notes](https://github.com/fsevents/fsevents/releases) - [Commits](fsevents/fsevents@v1.2.9...v1.2.13) --- updated-dependencies: - dependency-name: fsevents dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Prebid Universal Creative 1.16.0 release * re-applied freestar logic to new codebase --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Jiří Leták <jiri.letak@ibillboard.com> Co-authored-by: Jason Snellbaker <jsnellbaker@appnexus.com> Co-authored-by: Yuriy Velichko <yuriy.velichko@postindustria.com> Co-authored-by: Yuriy Velichko <yuriy.velichko@openx.com> Co-authored-by: jsnellbaker <31102355+jsnellbaker@users.noreply.github.com> Co-authored-by: Demetrio Girardi <demetrio.girardi@gmail.com> Co-authored-by: Demetrio Girardi <dgirardi@prebid.org> Co-authored-by: bretg <bgorsline@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: anitaschiller <77627311+anitaschiller@users.noreply.github.com> Co-authored-by: anita.schiller <anita.schiller@gutefrage.net> Co-authored-by: Filip Stamenkovic <ficadub@gmail.com> Co-authored-by: Michele Nasti <michele@rtk.io> Co-authored-by: Michele Nasti <musikele@users.noreply.github.com> Co-authored-by: Prebid.js automated release <prebidjs-release@prebid.org> Co-authored-by: Sławomir Kokłowski <38455696+skoklowski@users.noreply.github.com> Co-authored-by: skoklowski <slawomir.koklowski@ringieraxelspringer.pl> Co-authored-by: Sir-Will <brieftaubenman@gmail.com>
This pull request is based on initiative to change prebid native to support openRTB standard.
Changes are backwards compatible, meaning with these changes puc can work with openRTB assets and with prebid 'standard' assets.
Included in this PR:
rendererUrl
may fail, in that case we don't want to fire events)assetResponse
, handle impression trackers and click trackers from inside the PUC, no need to be sending post messages to the pbjs so that pbjs can trigger pixelsclicktrackers
defined on asset level (previously that was not possible with pbjs + puc).rendererUrl
) has definedwindow.postRenderAd
function call it after ad is rendered.These changes are related to the following pbjs PR: native ortb