Class: AdManager

AdManager

The main Ad Manager class.

AdManager()

Initialize an instance of the current class using the new keyword along with this constructor.
Properties:
Name Type Description
name string The name of the ad manager. This should match the name used by the server to provide metadata.
ready boolean Should be set to false initially. Should be set to true when the ad manager has loaded all external files and metadata to notify the controller that the ad manager is ready for the user to hit play.
videoRestrictions object Optional property that represents restrictions on the video plugin used. ex. {"technology":OO.VIDEO.TECHNOLOGY.HTML5, "features":[OO.VIDEO.FEATURE.VIDEO_OBJECT_TAKE]}

Methods

initialize(adManagerController, playerId)

Called by the Ad Manager Controller. Use this function to initialize, create listeners, and load remote JS files.
Parameters:
Name Type Description
adManagerController object A reference to the Ad Manager Controller
playerId string The unique player identifier of the player initializing the class

registerUi()

Called by Ad Manager Controller. When this function is called, the ui has been setup and the values in amc.ui are ready to be used.

loadMetadata(adManagerMetadata, backlotBaseMetadata, movieMetadata)

Called by Ad Manager Controller. When this function is called, all movie and server metadata are ready to be parsed. This metadata may contain the adTagUrl and other ad manager and movie specific configuration.
Parameters:
Name Type Description
adManagerMetadata object Ad manager-specific metadata
backlotBaseMetadata object Base metadata from Ooyala Backlot
movieMetadata object Metadata for the main video

buildTimeline() → {Array.<OO.AdManagerController#Ad>}

Called once per video by Ad Manager Controller once the ad manager has set its ready flag to true. This function asks the ad manager to return a list of all ads to the controller for addition in the timeline. If the list of ads is not available at this time, return [] or null and call [AdManagerController].appendToTimeline() when the ads become available. The duration and position of each ad should be specified in seconds.
Returns:
timeline A list of the ads to play for the current video
Type
Array.<OO.AdManagerController#Ad>

playAd(ad, adPodStartedCallback, adPodEndedCallback, adStartedCallback, adEndedCallback)

Called by Ad Manager Controller. The ad manager should play the ad or group of podded ads passed to the function as a parameter.
Parameters:
Name Type Description
ad object The ad object to play
adPodStartedCallback function Call this function when the ad or group of podded ads have started
adPodEndedCallback function Call this function when the ad or group of podded ads have completed
adStartedCallback function Call this function each time an ad in the set starts
adEndedCallback function Call this function each time an ad in the set completes

cancelAd(ad, params)

Called by Ad Manager Controller. The ad manager should cancel the ad passed to the function as a parameter. After cancelling the ad, the ad manager should call the adEndedCallback to indicate that ad cancellation has completed. If the given ad is not currently playing and the adEndedCallback has already been called, then no action is required.
Parameters:
Name Type Description
ad object The ad object to cancel
params object An object containing information about the cancellation. It will include the following fields: code : The amc.AD_CANCEL_CODE for the cancellation

pauseAd(ad)

Called by Ad Manager Controller. The ad manager should pause the ad passed to the function as a parameter. If the given ad is not currently playing, no action is required.
Parameters:
Name Type Description
ad object The ad object to pause

resumeAd(ad)

Called by Ad Manager Controller. The ad manager should resume the ad passed to the function as a parameter. If the given ad is not currently loaded or not paused, no action is required.
Parameters:
Name Type Description
ad object The ad object to resume

hideOverlay(currentAd)

Optional.
When the Ad Manager Controller needs to hide the overlay it will call this function. NOTE: This function should only be used by the ad manager if the cancelOverlay function is not being used. NOTE 2: Only implement this function if you plan to hide and reshow the overlay. Otherwise delete it or leave it commented.
Parameters:
Name Type Description
currentAd object The overlay ad object to be stored so when it is shown again, we can update the AMC

cancelOverlay(currentAd)

Optional.
When the Ad Manager Controller needs to cancel the overlay it will call this function. NOTE: This function should only be used by the ad manager if the hideOverlay function is not being used. NOTE 2: Only implement this function if you plan to cancel and not reshow the overlay. Otherwise leave it commented or delete it.
Parameters:
Name Type Description
currentAd object The overlay ad object that the ad manager needs to know is going to be cancelled and removed

showOverlay()

This function gets called by the ad Manager Controller when an ad has completed playing. If the main video is finished playing and there was an overlay displayed before the post-roll then it needs to be removed. If the main video hasn't finished playing and there was an overlay displayed before the ad video played, then it will show the overlay again.

playerClicked()

Optional.
Called when player clicks on the tap frame, if tap frame is disabled, then this function will not be called

adVideoPlaying()

Optional.
Called when the player detects start of ad video playback.

adVideoFocused()

Optional.
Called when the player focuses the ad video element.

onVideoTagFound(event, videoId, tagType, metadata)

This is an example callback that interprets video stream tags. The event is subscribed to in the initialize function.
Parameters:
Name Type Description
event string The event that triggered this callback.
videoId string The id of the video element that processed a tag.
tagType string The type of tag that was detected.
metadata object Any metadata attached to the found tag.

adVideoError(adWrapper, errorCode)

Optional.
Called when the player detects an error in the ad video playback. If the ad manager did not detect this error itself, it can use this time to end the ad playback.
Parameters:
Name Type Description
adWrapper object The current Ad's metadata
errorCode number The error code associated with the video playback error

destroy()

Called by Ad Manager Controller. The ad manager should destroy itself. It will be unregistered by the Ad Manager Controller.

createAdVideoElementOnPlayerInit() → {Array.<string>}

Called by the Ad Manager Controller to determine if an ad video element must be created on player initialization. This is done so that the Video Controller can interface with the Ad's Video Plugin prior to an ad request. A typical use case would be to pass a user click to the ad plugin prior to ad playback so that the ad can start unmuted for browsers that require user interaction for unmuted playback.
Returns:
An array of encoding types corresponding to the video elements that the Video Controller should create. Return an empty array, null, or undefined if this is not required.
Type
Array.<string>