Package com.castlabs.sdk.mux

# Class MuxAnalyticsSession

java.lang.Object
com.castlabs.analytics.AnalyticsSession
com.castlabs.sdk.mux.MuxAnalyticsSession

All Implemented Interfaces:
  `IAnalyticsSession`, `PlayerControllerPlugin.Component`

public class MuxAnalyticsSession extends AnalyticsSession
AnalyticsSession implementation for Mux.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `adStartInternal(Ad ad)`
  `void`
  `adStopInternal()`
  `void`
  `detachFromControllerInternal()`
  `Class`
  `id()`
  `void`
  `onDestroy(PlayerController playerController)`
  `void`
  `onExoPlayerStateChangedInternal(boolean playWhenReady, int playbackState)`
  `void`
  `onOpenBundle(PlayerController playerController, Bundle bundle)`
  `void`
  `onOpenState(PlayerController playerController, PlayerConfig playerConfig)`
  `void`
  `releaseInternal()`
  `void`
  `reportPlayerStateInternal(PlayerController.State state)`
  `void`
  `seekEndInternal()`
  `void`
  `seekStartInternal(long newPosition)`
  `void`
  `sendErrorInternal(String code, String message, int severity)`
  Forwards the error to MUX, regardless of the severity.
  `void`
  `startInternal(PlayerController playerController, AnalyticsMetaData analyticsMetaData)`
  `void`
  `stopInternal()`

  ### Methods inherited from class com.castlabs.analytics.AnalyticsSession

  `adClick, adError, adPause, adResume, adSkipped, adStart, adStop, adWillStart, detachFromController, getEnabled, onExoPlayerStateChanged, release, reportPlayerState, seekEnd, seekStart, sendError, setEnabled, start, stop`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### startInternal

    public void startInternal(@NonNull PlayerController playerController, @NonNull AnalyticsMetaData analyticsMetaData)

  - ### stopInternal

    public void stopInternal()

  - ### releaseInternal

    public void releaseInternal()

  - ### detachFromControllerInternal

    public void detachFromControllerInternal()

  - ### adStartInternal

    public void adStartInternal(Ad ad)

  - ### adStopInternal

    public void adStopInternal()

  - ### reportPlayerStateInternal

    public void reportPlayerStateInternal(PlayerController.State state)

  - ### sendErrorInternal

    public void sendErrorInternal(String code, String message, int severity)
    Forwards the error to MUX, regardless of the severity. For standard fatal errors there's no need to call this method, as they are sent automatically.
    Parameters:
      `code` - The error code. Must be an integer, otherwise -1 will be sent to MUX
      `message` - The error message
      `severity` - Ignored

  - ### seekStartInternal

    public void seekStartInternal(long newPosition)

  - ### seekEndInternal

    public void seekEndInternal()

  - ### onExoPlayerStateChangedInternal

    public void onExoPlayerStateChangedInternal(boolean playWhenReady, int playbackState)

  - ### id

    @NonNull public Class id()

  - ### onDestroy

    public void onDestroy(@NonNull PlayerController playerController)

  - ### onOpenBundle

    public void onOpenBundle(@NonNull PlayerController playerController, @NonNull Bundle bundle)

  - ### onOpenState

    public void onOpenState(@NonNull PlayerController playerController, @NonNull PlayerConfig playerConfig)