Adding "Ad Position" dimension to the Schema#19
Adding "Ad Position" dimension to the Schema#19Jimmy Tu (jimee02) merged 3 commits intoopenx-adapterfrom
Conversation
| if (elem) { | ||
| let bounding = elem.getBoundingClientRect(); | ||
| if (bounding) { | ||
| let windowWidth = (window.innerWidth || document.documentElement.clientWidth); |
There was a problem hiding this comment.
Tried doing using "DOMContentLoaded" event but the callback function is not getting called every time. So finding the window size on the fly every time.
| let windowWidth = (window.innerWidth || document.documentElement.clientWidth); | ||
| let windowHeight = (window.innerHeight || document.documentElement.clientHeight); | ||
|
|
||
| // intersection coordinates |
There was a problem hiding this comment.
Finding the coordinates of the overlapping area (intersection of window and ad slot) and calculating its area and then comparing it with the total ad slot area.
| if(adUnitPositionMap[adUnitInfo.code] && adUnitPositionMap[adUnitInfo.code]["adPosition"]) { | ||
| adUnitInfo["adPosition"] = adUnitPositionMap[adUnitInfo.code]["adPosition"]; | ||
| } else { | ||
| adUnitInfo["adPosition"] = ""; |
There was a problem hiding this comment.
Assigning the empty value if adPosition cannot be determined.
modules/openxAnalyticsAdapter.js
Outdated
There was a problem hiding this comment.
This may give you a false-positive in situations where the adslot element is outside the screen. Since this is hard to unit test, you can cheat by exposing this function and passing in the values explicitly.
For example:
Window is: 100 width and 100 height
Ad slot bounding box is 100 pixels below the window and 100 pixels to the right of the window.
(top, right , bottom, left): 200, 300, 300, 200
left = 200
right = 100
bottom = 100
right = 100
intersection = 10000
adslot area = 10000
There was a problem hiding this comment.
Jimmy Tu (@jimee02) Updated the logic to handle such false positives. Please have a look.
* create setupadBidAdapter * add setupadBidAdapter * update setupadBidAdapter * update metrics collection * update analytics collection * update getUserSyncs * add setupadAnalyticsAdapter.js * test setupadAnalyticsAdapter * remove test: 1 * add GVLID && bug fixes && test updates * remove setupadAnalyticsAdapter * add userID module handling * add GVLID && bug fixes && test updates * remove setupadAnalyticsAdapter * add userID module handling * clean up && seat bugfix * clean up logs * add userID module handling * update md && clean up * Send setupad only on bidRequested * Fix bidResponse and bidWon responses * Improve bidResponse and bidWon logic * Revert changes to specific files * Remove test parameter * Fix multiple bidResponse and bidTimeout calls to getPixelUrl * eslint errors fixes(brackets added) * Add extra checks for events * Fix BIDDER_CODE const * update reporting endpoint * update setupadBidAdapter_spec.js REPORT_ENDPOINT * update readme * Revert "Merge branch 'prebid:master' into setupad-adapter" This reverts commit 1c14dbe, reversing changes made to 7fe9ea5. * Revert "Revert "Merge branch 'prebid:master' into setupad-adapter"" This reverts commit a34e3e4. * # This is a combination of 20 commits. # This is the 1st commit message: add setupadBidAdapter # This is the commit message #2: update setupadBidAdapter # This is the commit message #3: update metrics collection # This is the commit message #4: update analytics collection # This is the commit message #5: update getUserSyncs # This is the commit message #6: add setupadAnalyticsAdapter.js # This is the commit message #7: test setupadAnalyticsAdapter # This is the commit message #8: remove test: 1 # This is the commit message #9: add GVLID && bug fixes && test updates # This is the commit message #10: remove setupadAnalyticsAdapter # This is the commit message #11: add userID module handling # This is the commit message #12: clean up && seat bugfix # This is the commit message #13: add userID module handling # This is the commit message #14: add GVLID && bug fixes && test updates # This is the commit message #15: remove setupadAnalyticsAdapter # This is the commit message #16: add userID module handling # This is the commit message #17: clean up logs # This is the commit message #18: update md && clean up # This is the commit message #19: Send setupad only on bidRequested # This is the commit message #20: Fix bidResponse and bidWon responses * # This is a combination of 22 commits.tree 8abae7e parent cecfce3 author pavel <pavel@setupad.com> 1706627437 +0200 committer pavel <pavel@setupad.com> 1706627437 +0200 gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEqGYI3KX/FkbObQG8FABtd4pCs/AFAmW5EW0ACgkQFABtd4pC s/CK3w//WWJSFUlycnnNKTV2XfdcBjooOeZZvjpXVthwr09CCC4uO//kw4bPluhn f5fcVFdXzrY1AZ6ch8Wo3msX/Pkso014jIGd5aIWcHpNYFtffACwH/40Y8AcJNZd bsOZxVK0awPTz/RihC5eY+0J3cP+iFWP/FlYJoHEQIBXq/Eg6mWoAhxwpL/JvxbY QbLFWsRn2ckQ6ftOZgm3/jh8VLaG1zWbWImlWEs5Zel+CorJBTniTj58VbApelYD TFMgbSR2I4NGVaqNIrHePnSMsDATxalQ2nZPwY6raKCHWIbvoUPIn/OpDMMbKgC7 nCwounNmObxFVoj3xusAZppzHpKPasY8xKWb2Kr7zfhZArsOMC6B7fYqQNK0cWG3 8RR/10oheJD9M2kRlfLiqnRv7ExY08SQ/ZMo9LA8BeRUGBXhh6++8FKhKIHvX1gL k1R5W6c+NNWP+PDFsmrFpMn+LpYdl84I7yfYK5dHuw80od7f1wuAVYpswi6Cziy9 /KY6/rfENvUrGTmWSh5GdDBel89ACCfFkasIKB92xhzKTfjzF/DXkc8XQZOMbt1j CsILgWMNfLPMo4Dlgdx/tYCSLLBNEtZ1/hhUcFQ3+0TzLf0GtMkvMnlBnDinqe1n 1P30fQ2I5W5NJKDPrCOnRymI6QOAPFXtMF11R81mbB9H8asft/E= =oJtZ -----END PGP SIGNATURE----- bugfixes # This is the commit message #22: Remove test parameter * # This is a combination of 26 commits. parent cecfce3 author pavel <pavel@setupad.com> 1706627437 +0200 committer pavel <pavel@setupad.com> 1706627437 +0200 gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEqGYI3KX/FkbObQG8FABtd4pCs/AFAmW5EW0ACgkQFABtd4pC s/CK3w//WWJSFUlycnnNKTV2XfdcBjooOeZZvjpXVthwr09CCC4uO//kw4bPluhn f5fcVFdXzrY1AZ6ch8Wo3msX/Pkso014jIGd5aIWcHpNYFtffACwH/40Y8AcJNZd bsOZxVK0awPTz/RihC5eY+0J3cP+iFWP/FlYJoHEQIBXq/Eg6mWoAhxwpL/JvxbY QbLFWsRn2ckQ6ftOZgm3/jh8VLaG1zWbWImlWEs5Zel+CorJBTniTj58VbApelYD TFMgbSR2I4NGVaqNIrHePnSMsDATxalQ2nZPwY6raKCHWIbvoUPIn/OpDMMbKgC7 nCwounNmObxFVoj3xusAZppzHpKPasY8xKWb2Kr7zfhZArsOMC6B7fYqQNK0cWG3 8RR/10oheJD9M2kRlfLiqnRv7ExY08SQ/ZMo9LA8BeRUGBXhh6++8FKhKIHvX1gL k1R5W6c+NNWP+PDFsmrFpMn+LpYdl84I7yfYK5dHuw80od7f1wuAVYpswi6Cziy9 /KY6/rfENvUrGTmWSh5GdDBel89ACCfFkasIKB92xhzKTfjzF/DXkc8XQZOMbt1j CsILgWMNfLPMo4Dlgdx/tYCSLLBNEtZ1/hhUcFQ3+0TzLf0GtMkvMnlBnDinqe1n 1P30fQ2I5W5NJKDPrCOnRymI6QOAPFXtMF11R81mbB9H8asft/E= =oJtZ -----END PGP SIGNATURE----- bugfixes # This is the commit message #22: Remove test parameter # This is the commit message #23: Fix multiple bidResponse and bidTimeout calls to getPixelUrl # This is the commit message #25: eslint errors fixes(brackets added) # This is the commit message #26: Add extra checks for events * parent 75178b9 author pavel <pavel@setupad.com> 1706627694 +0200 committer pavel <pavel@setupad.com> 1706627694 +0200 gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEqGYI3KX/FkbObQG8FABtd4pCs/AFAmW5Em4ACgkQFABtd4pC s/BBUQ/+NXyHoxPM185YJLG9M1ySC/5vTT9W5mfwQ93cVDLCeuGnpsnmi4S21NuQ b7gSeokFjwztvVOUmh/xqMp4lTsvL53TUd00b1k4KGVSqgcF00Foit5g8fOGLYsI DAoqphYV6MWjpAun+II+ELY8QUkHR1cjTc7PEGtmf+8RnptGVdyJ6C9Ab8u9TQTY Apj5Srhfo3Tl8S+WScOxwwB/uqEJR4fhIrJyzFzdLDEb2olSPyrQUs87vQXlhEnK buPEg2F5JsRH6sw11Xp3TFNSZGxNnBSlTh9dixou5md4yRCv5a2TMef667N0BVDp lGgc7mCrRKXyqzphmmeHudiscEGFjtUPObXoHutSVw22wdARFCTpNFKBLLFn4v8o Zv1OvFdNprvHsoeW0HVlZdU7OKnDTRrko6DHk2AahxojjvAFEWuDsGYZNjhdQwRR lK1zm+SFQnKI0Eojd+f84fvKod9geGs640jyH/x5R4eYm4yjZb8SkRtd3cca88wS OuGq9LIkbU428b46l7VnDwudldTXPUU8eKfUtFRjdGtIWH9I3tK6TsRoCfTcXkv0 smxYiiU1XHjAkkPFWQWEeFdfZ071snFKVWouU0AoKiq+PdRoS8+3AJqIQUjlA2sH AybnSkv9KxY/Rs1bnvMubsQm1GF66qVrbxBU6FILBv1JZYwj4yA= =Gbog -----END PGP SIGNATURE----- bugfixes update setupadBidAdapter_spec.js REPORT_ENDPOINT update readme Revert "Merge branch 'prebid:master' into setupad-adapter" This reverts commit 1c14dbe, reversing changes made to 7fe9ea5. Revert "Revert "Merge branch 'prebid:master' into setupad-adapter"" This reverts commit a34e3e4. * change double quote to single quote --------- Co-authored-by: pavel <pavel@setupad.com> Co-authored-by: Elgars Grodnis <elgars@setupad.com> * bugfix setupadBidAdapter remove getAdEl, spelling correction * add onBidWon event onBidWon event handling moved from custom to native onBidWon method * minor bugfixes && remove funk getSiteObj && getDeviceObj --------- Co-authored-by: pavel <pavel@setupad.com> Co-authored-by: Elgars Grodnis <elgars@setupad.com>
…rameters (prebid#13122) * V 0 29 (#31) * AGT-403: Add adType parameter to payload in report * AGT-403: Test for partner report, adType parameter * AGT-403: Test refactoring * AGT-403: Documentation updated * IntentIq Analytics Module: adUnitCode or placemetId to report (#9) * AGT-446: adUnitCode or placemetId to report * AGT-446: Description of changes, example * AGT-446: Fix documentation * AGT-446: Changes after review * Agt 409 full url in prebid modules (#8) * add sync * update full url * set url param * fix comment * fix issue fix sync mode * update url * update full url * add test * move browser_blacklist (#10) * add is optedOut (#11) * update date in FPD after sync (#12) * update sync logic for new user (#13) * fix unit tests * change version name * IntentIq ID: Support sourceMetaData and sourceMetaDataExternal (#17) * AGT-453: Support sourceMetaData * AGT-453: sourceMetaDataExternal * AGT-453: Documentation * AGT-453: Changes after review * AGT-453: Fix doc * Fix doc * AGT-453: Fix test * update test * update endpoint (#16) * update endpoint * update test * add tests * update test * fix conflict * fix conflict * add test for reportingServerAddress * add test for reportingServerAddress * AGT-498: support report method parameter (#22) * AGT-498: reportMethod * AGT-498: Tests and refactoring * AGT-498: method refactoring * AGT-498: get method refactoring * AGT-498: reportMethod parameter description (#23) * AGT-498: reportMethod * AGT-498: Tests and refactoring * AGT-498: method refactoring * AGT-498: get method refactoring * AGT-498: Documentation * Agt 452 server call counters (#18) * add counters * add unit tests and fixes * counters additions * clear counters when a request is made --------- Co-authored-by: Eyvaz Ahmadzada <eyvazahmadzada@gmail.com> * add siloEnabled feature (#19) * add siloEnabled feature * add siloEnabled feature to analytics adapter * add unit tests for siloEnabled feature * add siloenabled to docs --------- Co-authored-by: Eyvaz Ahmadzada <eyvazahmadzada@gmail.com> * fix unit test issues * AGT-455: Source parameter in requests (#28) * AGT-508: Spd parameter (#29) * AGT-508: Spd parameter * AGT-508: Move appendSpd to utils * AGT-499: Support partnerClientIdType and partnerClientId (#30) * AGT-499: partnerClientId and partnerClientIdType in requests * AGT-499: Clean comment * AGT-499: Refactoring * add groupchanged parameter (#25) * add groupchanged parameter * fix md file issue * add groupChanged example in docs * remove group from example * add unit tests and fix groupChanged issue --------- Co-authored-by: Eyvaz Ahmadzada <eyvazahmadzada@gmail.com> Co-authored-by: DimaIntentIQ <139111483+DimaIntentIQ@users.noreply.github.com> * Agt 501 support additional params (#24) * additionalParams feature init * additional params add features * additionalparams fix analytics adapter * add unit tests for additionalParams * fix currentBrowser issue --------- Co-authored-by: Eyvaz Ahmadzada <eyvazahmadzada@gmail.com> Co-authored-by: DimaIntentIQ <139111483+DimaIntentIQ@users.noreply.github.com> * fix linter error --------- Co-authored-by: dmytro-po <dmytro.po@intentiq.com> Co-authored-by: DimaIntentIQ <139111483+DimaIntentIQ@users.noreply.github.com> Co-authored-by: dLepetynskyiIntentiq <danylo.le@intentiq.com> Co-authored-by: DimaIntentIQ <dmytro.piskun@intentiq.com> Co-authored-by: Eyvaz Ahmadzada <eyvazahmadzada@gmail.com> * fix unit tests (#32) Co-authored-by: Eyvaz Ahmadzada <eyvazahmadzada@gmail.com> * Agt 547 vr bug for module (#33) * save progress * fix calling server * add "dbsaved" parameter * add tests * AGT-552: Additional query params (#34) * AGT-552: Additional query params * update documentation --------- Co-authored-by: DimaIntentIQ <dmytro.piskun@intentiq.com> * Fix unit test for specific browser * fix spelling --------- Co-authored-by: Eyvaz <62054743+eyvazahmadzada@users.noreply.github.com> Co-authored-by: dmytro-po <dmytro.po@intentiq.com> Co-authored-by: dLepetynskyiIntentiq <danylo.le@intentiq.com> Co-authored-by: Eyvaz Ahmadzada <eyvazahmadzada@gmail.com>
Below are the functionalities that are added to support "Ad Position" dimension.
slotOnLoadevent) we capture its position using its DOM element id (slot.getSlotElementId() method) and save it.adPosition will be part of adUnits info list in auctionEnd event.
Possible "Ad Position" values
Note: There are some changes from the previous code review as well.