Skip to content

Commit

Permalink
feat(Ads): Add ability to set tracking URL for Media Tailor (#6365)
Browse files Browse the repository at this point in the history
Closes #6234
  • Loading branch information
avelad committed Mar 27, 2024
1 parent ac833da commit b51e661
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 0 deletions.
5 changes: 5 additions & 0 deletions externs/shaka/ads.js
Expand Up @@ -109,6 +109,11 @@ shaka.extern.IAdManager = class extends EventTarget {
*/
requestMediaTailorStream(url, adsParams, backupUrl) {}

/**
* @param {string} url
*/
addMediaTailorTrackingUrl(url) {}

/**
* @param {!HTMLElement} adContainer
* @param {!HTMLMediaElement} video
Expand Down
17 changes: 17 additions & 0 deletions lib/ads/ad_manager.js
Expand Up @@ -560,6 +560,23 @@ shaka.ads.AdManager = class extends shaka.util.FakeEventTarget {
}


/**
* @param {string} url
* @override
* @export
*/
addMediaTailorTrackingUrl(url) {
if (!this.mtAdManager_) {
throw new shaka.util.Error(
shaka.util.Error.Severity.RECOVERABLE,
shaka.util.Error.Category.ADS,
shaka.util.Error.Code.MT_AD_MANAGER_NOT_INITIALIZED);
}

this.mtAdManager_.addTrackingUrl(url);
}


/**
* @override
* @export
Expand Down
9 changes: 9 additions & 0 deletions lib/ads/media_tailor_ad_manager.js
Expand Up @@ -130,6 +130,15 @@ shaka.ads.MediaTailorAdManager = class {
return this.streamPromise_;
}

/**
* @param {string} url
*/
addTrackingUrl(url) {
this.trackingUrl_ = url;
this.onEvent_(new shaka.util.FakeEvent(shaka.ads.AdManager.ADS_LOADED,
(new Map()).set('loadTime', 0)));
}

/**
* Resets the MediaTailor manager and removes any continuous polling.
*/
Expand Down
3 changes: 3 additions & 0 deletions test/test/util/fake_ad_manager.js
Expand Up @@ -47,6 +47,9 @@ shaka.test.FakeAdManager = class extends shaka.util.FakeEventTarget {
return Promise.resolve('fake:url');
}

/** @override */
addMediaTailorTrackingUrl(url) {}

/** @override */
initServerSide(adContainer, video) {}

Expand Down

0 comments on commit b51e661

Please sign in to comment.