Package com.castlabs.sdk.vimond
Class VimondComponent
java.lang.Object
com.castlabs.analytics.AnalyticsSession
com.castlabs.sdk.vimond.VimondComponent
- All Implemented Interfaces:
IAnalyticsSession,PlayerControllerPlugin.Component,PlayerListener,VimondCallback
Main Vimond Plugin interaction point.
To get an instance of the component, use the PlayerController.getComponent(Class).
The component can be used to register a VimondCallback. In addition, a new authentication
token can be provided at runtime via setToken(String).
VimondComponent vimond = playerController.getComponent(VimondComponent.class);
vimond.setRaiseErrorOnUnreachableHost(true); // Fail if host unreachable
vimond.setRaiseErrorOnInvalidStatusCode(true); // Fail if bad http status code is received
vimond.setCallback(new VimondCallback() {
@Override
public void onVimondResponse(int httpStatusCode,
@Nullable Map<String, List<String>> headers,
@Nullable String responseBody) {
Log.d(TAG, "Vimond response (" + httpStatusCode + ") " + responseBody);
}
});
- Since:
- 4.2.34
-
Method Summary
Modifier and TypeMethodDescriptionvoidadStartInternal(Ad ad) voidvoidid()voidonDestroy(PlayerController playerController) voidonDisplayChanged(DisplayInfo displayInfo, boolean canPlay) voidonDurationChanged(long durationUs) voidonError(CastlabsPlayerException error) voidonExoPlayerStateChangedInternal(boolean playWhenReady, int playbackState) voidvoidvoidonOpenBundle(PlayerController playerController, Bundle bundle) voidonOpenState(PlayerController playerController, PlayerConfig playerConfig) voidonPlaybackPositionChanged(long playbackPositionMs) voidvoidvoidonSeekRangeChanged(long startTimeMs, long endTimeMs) voidonSeekTo(long newPosition) voidonSpeedChanged(float speed) voidvoidonVideoKeyStatusChanged(List<VideoTrackQuality> trackList) voidonVideoSizeChanged(int width, int height, float pixelWidthHeightRatio) voidWill be called on each an every Vimond backend response, regardless of the status code.voidvoidvoidvoidvoidseekStartInternal(long newPosition) voidsendErrorInternal(String code, String message, int severity) voidsetCallback(VimondCallback callback) Set theVimondCallbackto invoke on each Vimond backend response.voidsetRaiseErrorOnInvalidStatusCode(boolean value) Whether to throw a fatal Exception if the Vimond backend answers with an invalid HTTP code (400, 401, 403).voidsetRaiseErrorOnUnreachableHost(boolean value) Whether to throw a fatal Exception if the Vimond backend is unreachable.voidSet a new token for authentication purposes.voidstartInternal(PlayerController playerController, AnalyticsMetaData analyticsMetaData) voidMethods inherited from class com.castlabs.analytics.AnalyticsSession
adClick, adError, adPause, adResume, adSkipped, adStart, adStop, adWillStart, detachFromController, getEnabled, onExoPlayerStateChanged, release, reportPlayerState, seekEnd, seekProcessed, seekStart, sendError, setEnabled, start, stop
-
Method Details
-
startInternal
public void startInternal(@NonNull PlayerController playerController, @NonNull AnalyticsMetaData analyticsMetaData) -
stopInternal
public void stopInternal() -
setCallback
Set theVimondCallbackto invoke on each Vimond backend response. The callback will also be invoked even if the plugin decides to shutdown playback by raising an error.- Parameters:
callback- the callback to set
-
setToken
Set a new token for authentication purposes. All network requests to Vimond backend will use the provided token.- Parameters:
token- the token to use
-
setRaiseErrorOnUnreachableHost
public void setRaiseErrorOnUnreachableHost(boolean value) Whether to throw a fatal Exception if the Vimond backend is unreachable. true by default. The Exception thrown will haveCastlabsPlayerException.TYPE_CSL_NETWORK_ERRORas itstype.- Parameters:
value- the value
-
setRaiseErrorOnInvalidStatusCode
public void setRaiseErrorOnInvalidStatusCode(boolean value) Whether to throw a fatal Exception if the Vimond backend answers with an invalid HTTP code (400, 401, 403). true by default. The Exception thrown will haveCastlabsPlayerException.TYPE_CSL_LIMIT_REACHEDas itstype.- Parameters:
value- the value
-
onVimondResponse
public void onVimondResponse(int httpStatusCode, @NonNull Map<String, List<String>> headers, @Nullable String responseBody) Description copied from interface:VimondCallbackWill be called on each an every Vimond backend response, regardless of the status code.- Specified by:
onVimondResponsein interfaceVimondCallback- Parameters:
httpStatusCode- the HTTP status code Vimond backend responded with, or -1 if couldn't get a response.headers- response headers, if applicable.responseBody- response body, if applicable.
-
adStartInternal
-
adStopInternal
public void adStopInternal() -
reportPlayerStateInternal
-
sendErrorInternal
-
seekStartInternal
public void seekStartInternal(long newPosition) -
seekEndInternal
public void seekEndInternal() -
seekProcessedInternal
public void seekProcessedInternal() -
detachFromControllerInternal
public void detachFromControllerInternal() -
releaseInternal
public void releaseInternal() -
onExoPlayerStateChangedInternal
public void onExoPlayerStateChangedInternal(boolean playWhenReady, int playbackState) -
id
- Specified by:
idin interfacePlayerControllerPlugin.Component
-
onDestroy
- Specified by:
onDestroyin interfacePlayerControllerPlugin.Component
-
onOpenBundle
- Specified by:
onOpenBundlein interfacePlayerControllerPlugin.Component
-
onOpenState
- Specified by:
onOpenStatein interfacePlayerControllerPlugin.Component
-
onFatalErrorOccurred
- Specified by:
onFatalErrorOccurredin interfacePlayerListener
-
onError
- Specified by:
onErrorin interfacePlayerListener
-
onStateChanged
- Specified by:
onStateChangedin interfacePlayerListener
-
onSeekTo
public void onSeekTo(long newPosition) - Specified by:
onSeekToin interfacePlayerListener
-
onSeekCompleted
public void onSeekCompleted()- Specified by:
onSeekCompletedin interfacePlayerListener
-
onVideoSizeChanged
public void onVideoSizeChanged(int width, int height, float pixelWidthHeightRatio) - Specified by:
onVideoSizeChangedin interfacePlayerListener
-
onSeekRangeChanged
public void onSeekRangeChanged(long startTimeMs, long endTimeMs) - Specified by:
onSeekRangeChangedin interfacePlayerListener
-
onPlaybackPositionChanged
public void onPlaybackPositionChanged(long playbackPositionMs) - Specified by:
onPlaybackPositionChangedin interfacePlayerListener
-
onDisplayChanged
- Specified by:
onDisplayChangedin interfacePlayerListener
-
onDurationChanged
public void onDurationChanged(long durationUs) - Specified by:
onDurationChangedin interfacePlayerListener
-
onSpeedChanged
public void onSpeedChanged(float speed) - Specified by:
onSpeedChangedin interfacePlayerListener
-
onPlayerModelChanged
public void onPlayerModelChanged()- Specified by:
onPlayerModelChangedin interfacePlayerListener
-
onVideoKeyStatusChanged
- Specified by:
onVideoKeyStatusChangedin interfacePlayerListener
-
onFullyBuffered
public void onFullyBuffered()- Specified by:
onFullyBufferedin interfacePlayerListener
-