Interface PulseVideoAd

All Superinterfaces:
PulseAd

public interface PulseVideoAd
extends PulseAd
This interface is used to notify the owning PulseSession about events regarding an ad, and provides access to relevant properties.

You must notify this object of the following events:

Depending on your application some of the other methods may need to be called in response to user interaction.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface com.ooyala.pulse.PulseAd

    PulseAd.Variant
  • Method Summary

    Modifier and Type Method Description
    void adClickThroughTriggered()
    Notify the session that the user has opened the clickthrough link.
    void adFailed​(PulseAdError error)
    Notify the session that, due to an error, the ad could not be played or that playback could not continue.
    void adFinished()
    Notify the session that the ad has played to completion.
    void adPaused()
    Notify the session that the ad has paused.
    void adPositionChanged​(float position)
    Notify the session that the ad playback position has changed, either as a result of seeking or normal playback.
    void adResumed()
    Notify the session that the ad has resumed playback.
    void adSkipped()
    Notify the session that the ad was skipped/closed by the user.
    void adStarted()
    Notify the session that the ad has started playing.
    void adStarted​(float playerVolume)
    Notify the session that the ad has started playing and report the player volume.
    com.ooyala.pulse.Condition.Type getAdBreakType()
    condition type indicating that an insertion point should be triggered when a certain event occurs (for example, the content is about to start).
    AdPricing getAdPricing()
    The pricing information for the ad.
    AdSystem getAdSystem()
    The ad system of the ad.
    java.util.List<AdVerification> getAdVerifications()
    The verification code used to inform ad vendor about ad playback details.
    java.lang.String getAdvertiser()
    The name of the advertiser.
    java.lang.String getAdvertiserIdentifier()
    The identifier of the advertiser to which the ad belongs.
    java.lang.String getCampaignIdentifier()
    The identifier of the campaign to which the ad belongs.
    int getCandidateNum()
    The candidate ad number in the passback chain.
    java.util.List<AdCategory> getCategories()
    The category labels identifying the ad's value.
    java.net.URL getClickthroughURL()
    Returns a URL for a web page that should be displayed to the user when they tap the ad.
    java.util.List<PulseCompanionAd> getCompanions()
    The companions to show along with this ad.
    java.lang.String getCustomCampaignIdentifier()
    The custom identifier of the campaign to which the ad belongs; set in the Pulse UI.
    java.lang.String getCustomGoalIdentifier()
    The custom identifier of the goal to which the ad belongs; set in the Pulse UI.
    java.lang.String getCustomIdentifier()
    The custom ad identifier set in the Pulse UI.
    java.lang.String getDescription()
    The description of the ad.
    java.lang.String getGoalIdentifier()
    The identifier of the goal to which the ad belongs.
    java.lang.String getIdentifier()
    The ad identifier.
    float getMaximumPreparationTime()
    The maximum time in seconds the SDK waits for a 'lazy' (not ready) ad to load (including potential passback candidate requests).
    java.util.List<MediaFile> getMediaFiles()
    Returns an array of media files for this ad.
    float getSkipOffset()
    The amount of seconds from the start of the ad at which the button may first be displayed.
    float getStartTimeout()
    The maximum time in seconds the end user should be allowed to wait for an ad to load before the ad must be discarded.
    java.net.URL getSurvey()
    'Survey' URL, if present.
    java.util.List<AdSurvey> getSurveys()
    The resource files containing survey data.
    java.lang.String getTitle()
    The title of the ad.
    PulseAd.Variant getVariant()
    The ad variant of the ad.
    boolean hasPassback()
    Indicates whether this ad has passback ad sources available or not.
    boolean isConditionalAd()
    A Boolean value that identifies a conditional ad.
    boolean isPartOfAnExclusiveCampaign()
    Indicates whether the ad is part of an exclusive campaign.
    boolean isReady()
    Indicates whether the ad is ready to be displayed, or needs to be requested form the third party ad provider.
    boolean isSkippable()
    Determine whether or not a skip button for the ad may be displayed.
    void playerStateChanged​(PlayerState playerState)
    Notify all video listeners that the native video Player State has changed.
    void playerVolumeChanged​(float videoPlayerVolume)
    Notify all video listeners that the native video player volume has changed.
    boolean shouldShowCountdown()
    Indicates whether to show a remaining time countdown while this ad is being displayed.
  • Method Details

    • adStarted

      void adStarted()
      Notify the session that the ad has started playing.

      This should only be called after your listener has been instructed to play the ad through PulseSessionListener.startAdPlayback(PulseVideoAd, float) and the user-visible phase of the ad has begun.

    • adStarted

      void adStarted​(float playerVolume)
      Notify the session that the ad has started playing and report the player volume. The player volume is needed to make sure Open Measurement tracking is accurate.

      This should only be called after your listener has been instructed to play the ad through PulseSessionListener.startAdPlayback(PulseVideoAd, float) and the user-visible phase of the ad has begun.

      Parameters:
      playerVolume - Player volume in a range between 0 and 1. Default value is 1.
    • adFinished

      void adFinished()
      Notify the session that the ad has played to completion.

      After this, one of the following listener methods may be triggered:

    • adSkipped

      void adSkipped()
      Notify the session that the ad was skipped/closed by the user.

      After this, one of the following listener methods may be triggered:

    • adPositionChanged

      void adPositionChanged​(float position)
      Notify the session that the ad playback position has changed, either as a result of seeking or normal playback.

      This may trigger preloadNextAd through PulseSessionListener.preloadNextAd(PulseVideoAd) if all of the conditions below are fulfilled:

      1. Preload next ad feature is enabled for your Pulse account.
      2. There are more ads to be played in the current ad break.
      3. Time to preload next ad has been reached. This means that the remaining duration of current ad is less than or equal to what has been configured for preloading next ad.
      4. preloadNextAd has not already been triggered for the ad.
      Parameters:
      position - The ad position in seconds since start.
    • adClickThroughTriggered

      void adClickThroughTriggered()
      Notify the session that the user has opened the clickthrough link.
    • adPaused

      void adPaused()
      Notify the session that the ad has paused.
    • adResumed

      void adResumed()
      Notify the session that the ad has resumed playback.
    • adFailed

      void adFailed​(PulseAdError error)
      Notify the session that, due to an error, the ad could not be played or that playback could not continue.
      Parameters:
      error - The PulseAdError that best describes the problem.
    • playerStateChanged

      void playerStateChanged​(PlayerState playerState)
      Notify all video listeners that the native video Player State has changed. This is related to viewability calculations when using OM SDK Integration.
      Parameters:
      playerState - The PlayerState playerState that the video player has entered into.
    • playerVolumeChanged

      void playerVolumeChanged​(float videoPlayerVolume)
      Notify all video listeners that the native video player volume has changed. This is related to viewability calculations when using OM SDK Integration.
      Parameters:
      videoPlayerVolume - from the native video player with a range between 0 and 1.
    • getMediaFiles

      java.util.List<MediaFile> getMediaFiles()
      Returns an array of media files for this ad.

      Your application should choose the best media file to display based on size, bandwidth, and format considerations.

      If none of the media files are supported by your video player, you should call adFailed(PulseAdError) with PulseAdError.NO_SUPPORTED_MEDIA_FILE.

      Returns:
      A List of MediaFile instances.
    • getCompanions

      java.util.List<PulseCompanionAd> getCompanions()
      The companions to show along with this ad. Bear in mind that only companion banners with resources of type StaticResource are returned.
      Returns:
      The companion(s) for this ad.
    • getClickthroughURL

      java.net.URL getClickthroughURL()
      Returns a URL for a web page that should be displayed to the user when they tap the ad.
      Returns:
      the URL to be displayed.
    • isSkippable

      boolean isSkippable()
      Determine whether or not a skip button for the ad may be displayed. If true, check the value of getSkipOffset(), which is the amount of seconds from the start of the ad at which the button may first be displayed. When the viewer activates this button, call adSkipped().
      Returns:
      Whether or not a skip button may be displayed after a given amount of time has passed.
    • getSkipOffset

      float getSkipOffset()
      The amount of seconds from the start of the ad at which the button may first be displayed. If an PulseVideoAd is playing, and a call to isSkippable() returns true, show a skip button after this amount of seconds has passed.
      Returns:
      The amount of time in seconds which the ad must play for before a skip button can be shown, provided that isSkippable() returns true.
    • getVariant

      PulseAd.Variant getVariant()
      The ad variant of the ad.
      Returns:
      The variant.
      See Also:
      PulseAd.Variant
    • getTitle

      java.lang.String getTitle()
      The title of the ad.
      Returns:
      A string that provides a common name for the ad
    • getIdentifier

      java.lang.String getIdentifier()
      The ad identifier.
      Returns:
      The ad identifier.
    • isReady

      boolean isReady()
      Indicates whether the ad is ready to be displayed, or needs to be requested form the third party ad provider.
      Returns:
      true if the ad is ready to be displayed, otherwise false.
    • hasPassback

      boolean hasPassback()
      Indicates whether this ad has passback ad sources available or not.
      Returns:
      true if the ad has additional third party (passback) ad sources available.
    • getMaximumPreparationTime

      float getMaximumPreparationTime()
      The maximum time in seconds the SDK waits for a 'lazy' (not ready) ad to load (including potential passback candidate requests).
      Returns:
      The maximum preparation time in seconds.
    • getStartTimeout

      float getStartTimeout()
      The maximum time in seconds the end user should be allowed to wait for an ad to load before the ad must be discarded.
      Returns:
      The start timeout in seconds.
    • getCustomIdentifier

      java.lang.String getCustomIdentifier()
      The custom ad identifier set in the Pulse UI.
      Returns:
      The custom ad identifier.
    • getCampaignIdentifier

      java.lang.String getCampaignIdentifier()
      The identifier of the campaign to which the ad belongs.
      Returns:
      The campaign identifier of the ad.
    • getAdvertiserIdentifier

      java.lang.String getAdvertiserIdentifier()
      The identifier of the advertiser to which the ad belongs.
      Returns:
      The identifier of advertiser.
    • getCustomCampaignIdentifier

      java.lang.String getCustomCampaignIdentifier()
      The custom identifier of the campaign to which the ad belongs; set in the Pulse UI.
      Returns:
      The custom campaign identifier of the ad.
    • getGoalIdentifier

      java.lang.String getGoalIdentifier()
      The identifier of the goal to which the ad belongs.
      Returns:
      The goal identifier of the ad.
    • getCustomGoalIdentifier

      java.lang.String getCustomGoalIdentifier()
      The custom identifier of the goal to which the ad belongs; set in the Pulse UI.
      Returns:
      The custom goal identifier of the ad.
    • isPartOfAnExclusiveCampaign

      boolean isPartOfAnExclusiveCampaign()
      Indicates whether the ad is part of an exclusive campaign.
      Returns:
      true if the ad is part of an exclusive campaign, otherwise false.
    • shouldShowCountdown

      boolean shouldShowCountdown()
      Indicates whether to show a remaining time countdown while this ad is being displayed.
      Returns:
      true if a countdown should be shown while this ad is being displayed, otherwise false.
    • isConditionalAd

      boolean isConditionalAd()
      A Boolean value that identifies a conditional ad.
      Returns:
      True if the ad is conditional and should be used in all cases where the inline executable unit (such as VPAID) is not an ad but is instead a framework for finding an ad;
    • getSurvey

      java.net.URL getSurvey()
      'Survey' URL, if present.
      Returns:
      The survey URL.
    • getSurveys

      java.util.List<AdSurvey> getSurveys()
      The resource files containing survey data.
      Returns:
      The list of AdSurvey AdSurvey, containing any resource relating to an integrated survey.
    • getCandidateNum

      int getCandidateNum()
      The candidate ad number in the passback chain.
      Returns:
      The candidate number of the ad.
    • getAdSystem

      AdSystem getAdSystem()
      The ad system of the ad.
      Returns:
      The information about the system that serves the ad.
    • getCategories

      java.util.List<AdCategory> getCategories()
      The category labels identifying the ad's value.
      Returns:
      The List of AdCategory AdCategory containing the categories of the Ad and their responsible authorities.
    • getDescription

      java.lang.String getDescription()
      The description of the ad.
      Returns:
      A string value that describes a longer description of the ad..
    • getAdvertiser

      java.lang.String getAdvertiser()
      The name of the advertiser.
      Returns:
      A string that provides the name of the advertiser as defined by the ad serving party.
    • getAdPricing

      AdPricing getAdPricing()
      The pricing information for the ad.
      Returns:
      The pricing information used to provide a value representing a price that can be used by real-time bidding (RTB) systems.
    • getAdVerifications

      java.util.List<AdVerification> getAdVerifications()
      The verification code used to inform ad vendor about ad playback details.
      Returns:
      A List containing the Verification elements AdVerification, which are used to initiate a controlled container where code can be executed for collecting data to verify ad playback details.
    • getAdBreakType

      com.ooyala.pulse.Condition.Type getAdBreakType()
      condition type indicating that an insertion point should be triggered when a certain event occurs (for example, the content is about to start).
      Returns:
      the condition's type