Class OmnitureComponent

java.lang.Object
com.brightcove.player.event.AbstractComponent
com.brightcove.omniture.OmnitureComponent
All Implemented Interfaces:
Component

@Emits(events="registerPlugin") @ListensFor(events={"didSelectSource","didSetVideo","didPlay","didPause","didSeekTo","progress","completed","activityStopped","setHeartbeatConfigData","collectLifecycleData","pauseCollectLifecycleData"}) public class OmnitureComponent extends AbstractComponent implements Component
Implements an integration with the Adobe Mobile Library for Android. This component will respond to playback events emitted by video players using the Brightcove Native Player for Android, and track the appropriate events via the Media interface for video tracking. For more information on the Media interface, see below: http://microsite.omniture.com/t2/help/en_US/mobile/android/video_qs.html This class also supports the use of Video Heartbeat as an alternative to milestone tracking provided by the above. For information on the use of Video Heartbeat can be found at: http://microsite.omniture.com/t2/help/en_US/sc/appmeasurement/hbvideo/
  • Field Details

  • Constructor Details

    • OmnitureComponent

      public OmnitureComponent(EventEmitter emitter, android.content.Context context, String playerName, String playerId)
      For the Omniture component to be able to properly track video playback events in Omniture, the following parameters must be properly specified:
      Parameters:
      emitter - the EventEmitter used by the current player or application
      context - the Context for the current application (could be the current Activity)
      playerName - the name of the video player to be used in video tracking; if set to null then the DEFAULT_PLAYER_NAME will be used
      playerId - the unique identifier of the video player to be used in video tracking
      See Also:
      • Context
    • OmnitureComponent

      public OmnitureComponent(EventEmitter emitter, android.content.Context context, String playerName, String playerId, BaseVideoView baseVideoView, boolean useHeartbeat)
      To support video heartbeat tracking with the omniture plugin, the following parameters must be specified:
      Parameters:
      emitter - the EventEmitter used by the current player or application
      context - the Context for the current application (could be the current Activity)
      playerName - the name of the video player to be used in video tracking; if set to null then the DEFAULT_PLAYER_NAME will be used
      playerId - the unique identifier of the video player to be used in video tracking
      baseVideoView - the BaseVideoView performing media playback in the application
      useHeartbeat - the boolean value to toggle the use of video heartbeat
  • Method Details

    • getPlayerName

      public String getPlayerName()
      Retrieves the name of the video player provided to the Omniture Component.
      Returns:
      the currently configured video player name
    • getPlayerId

      public String getPlayerId()
      Retrieves the unique identifier of the video player provided to the Omniture Component.
      Returns:
      the currently configured video player unique identifier
    • setMediaNameFactory

      public void setMediaNameFactory(OmnitureComponent.MediaNameFactory factory)
      This method allows a user of the Omniture plugin to override the logic used to generate a media name used in Omniture video tracking. This must be called before the video gets loaded by the player.
      Parameters:
      factory - an implementation of MediaNameFactory
    • getVideoMetadata

      public Map<String,String> getVideoMetadata()
      Retrieves the Video Metadata Map.
      Returns:
      the video metadata map
    • setVideoMetadata

      public void setVideoMetadata(Map<String,String> videoMetadata)
      Sets the Video Metadata Map.
      Parameters:
      videoMetadata - Adobe Analytics context data
    • getMediaMeasurement

      public com.adobe.mobile.Media getMediaMeasurement()
      Retrieves the instance of Media interface used by this Component.
      Returns:
      the Media instance
    • setMediaMeasurement

      public void setMediaMeasurement(com.adobe.mobile.Media measure)
      Allows the Component-level developer to override the built-in reference to Omniture's Media API. Useful for testing.
      Parameters:
      measure - a new instance of Media, which will override the built-in reference.
    • initializeListeners

      protected void initializeListeners()
    • openVideo

      protected void openVideo(Video video)
      Handles tracking the opening of a new video, as well as updates the tracking state to TrackingState.OPEN. This method causes the currently configured MediaNameFactory to be invoked to generate a media name for the given Video.
      Parameters:
      video - the Video that was set in the player, which is to be tracked
    • openVideo

      protected void openVideo(Video video, Map<String,Object> properties)
      Handles tracking the opening of a new video, as well as updates the tracking state to TrackingState.OPEN. This method causes the currently configured MediaNameFactory to be invoked to generate a media name for the given Video.
      Parameters:
      video - the Video that was set in the player, which is to be tracked.
      properties - the Video properties Map.
      Throws:
      IllegalArgumentException - if properties is null.
      See Also:
    • openVideo

      protected void openVideo(Video video, Map<String,Object> properties, Map<String,String> videoMetadata)
      Handles tracking the opening of a new video, as well as updates the tracking state to TrackingState.OPEN. This method causes the currently configured MediaNameFactory to be invoked to generate a media name for the given Video.
      Parameters:
      video - the Video that was set in the player, which is to be tracked.
      properties - the Video properties Map. It should at least contain the ID and Duration.
      videoMetadata - custom video metadata (Adobe Analytics context data). This property can be null.
      Throws:
      IllegalArgumentException - if properties is null.
      See Also:
    • play

      @Deprecated protected void play(Integer position)
      Deprecated.
      Track that playback has begun. Shortcut for calling play(position, false).
      Parameters:
      position - the position, in seconds, within the video that playback began
      See Also:
    • play

      protected void play(long position)
      Track that playback has begun. Shortcut for calling play(position, false).
      Parameters:
      position - the position, in seconds, within the video that playback began
      See Also:
    • play

      @Deprecated protected void play(Integer position, boolean shouldIgnoreState)
      Deprecated.
      Track that playback has begun.
      Parameters:
      position - The position, in seconds, within the video that playback began.
      shouldIgnoreState - if set to true, the component's tracking state not be checked prior to issuing tracking calls, nor will the state be updated
    • play

      protected void play(long position, boolean shouldIgnoreState)
      Track that playback has begun.
      Parameters:
      position - The position, in seconds, within the video that playback began.
      shouldIgnoreState - if set to true, the component's tracking state not be checked prior to issuing tracking calls, nor will the state be updated
    • stopPlayback

      @Deprecated protected void stopPlayback(Integer position)
      Deprecated.
      Track that playback has stopped. Shortcut for calling stopPlayback(position, false).
      Parameters:
      position - The position, in seconds, within the video that playback stopped.
      See Also:
    • stopPlayback

      protected void stopPlayback(long position)
      Track that playback has stopped. Shortcut for calling stopPlayback(position, false).
      Parameters:
      position - The position, in seconds, within the video that playback stopped.
      See Also:
    • stopPlayback

      @Deprecated protected void stopPlayback(Integer position, boolean shouldIgnoreState)
      Deprecated.
      Track that playback has stopped.
      Parameters:
      position - The position, in seconds, within the video that playback stopped.
      shouldIgnoreState - if set to true, the component's tracking state not be checked prior to issuing tracking calls, nor will the state be updated
    • stopPlayback

      protected void stopPlayback(long position, boolean shouldIgnoreState)
      Track that playback has stopped.
      Parameters:
      position - The position, in seconds, within the video that playback stopped.
      shouldIgnoreState - if set to true, the component's tracking state not be checked prior to issuing tracking calls, nor will the state be updated
    • closeCurrentVideo

      protected void closeCurrentVideo()
      Closes the tracking session for the Video currently being tracked. Sets the tracking state to TrackingState.CLOSED.
    • getState

      protected OmnitureComponent.TrackingState getState()
      Return the current state of media playback. Useful for testing.