Package com.castlabs.sdk.conviva
Class ConvivaAnalyticsSession
- java.lang.Object
-
- com.castlabs.sdk.conviva.ConvivaAnalyticsSession
-
- All Implemented Interfaces:
AnalyticsSession,PlayerControllerPlugin.Component
public class ConvivaAnalyticsSession extends Object implements AnalyticsSession
This class allows to get
ConvivaVideoAnalyticsAPI access. You can get the instance with thegetVideoAnalytics()method.To get the instance of this class use
PlayerController.getComponent(Class)as follows:ConvivaAnalyticsSession convivaAnalyticsSession = playerView.getPlayerController().getComponent(ConvivaAnalyticsSession.class);To send a custom Conviva event do the following:
if (convivaAnalyticsSession != null) { // Fill custom map HashMap<String, Object> customData = new HashMap<>(); customData.put("now", Long.toString(System.currentTimeMillis())); customData.put("fizz", "buzz"); String eventType = "customEvent"; ConvivaVideoAnalytics videoAnalytics = convivaAnalyticsSession.getVideoAnalytics(); // Send event if (videoAnalytics != null) { convivaAnalyticsSession.getVideoAnalytics().reportPlaybackEvent(eventType, customData); } }
-
-
Field Summary
Fields Modifier and Type Field Description static StringMETA_KEY_APPLICATION_NAMEKey that can be used to add applicationName to the analytics meta-data.static StringMETA_KEY_DEFAULT_RESOURCEKey that can be used to add defaultResource to the analytics meta-data.static StringMETA_KEY_ENCODED_FRAMERATEKey that can be used to add encodedFrameRate to the analytics meta-data.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadError(CastlabsPlayerException exception)voidadSkipped()voidadStart(Ad ad)voidadStop()voiddetachFromController()com.conviva.sdk.ConvivaAdAnalyticsgetAdAnalytics()Getter for the Conviva ad analytics instance.com.conviva.sdk.ConvivaVideoAnalyticsgetVideoAnalytics()Getter for the Conviva Video Analytics instance, can be used to send custom player insight events associated with the video playback.Classid()voidonDestroy(PlayerController playerController)voidonExoPlayerStateChanged(boolean playWhenReady, int playbackState)voidonOpenBundle(PlayerController playerController, Bundle bundle)voidonOpenState(PlayerController playerController, PlayerConfig playerConfig)voidrelease()voidseekEnd()voidseekProcessed()voidseekStart(long newPosition)voidsendError(String code, String message, int severity)voidstart(PlayerController playerController, AnalyticsMetaData analyticsMetaData)voidstop()
-
-
-
Field Detail
-
META_KEY_ENCODED_FRAMERATE
public static final String META_KEY_ENCODED_FRAMERATE
Key that can be used to add encodedFrameRate to the analytics meta-data. The value must be of type int.- See Also:
- Constant Field Values
-
META_KEY_DEFAULT_RESOURCE
public static final String META_KEY_DEFAULT_RESOURCE
Key that can be used to add defaultResource to the analytics meta-data. The value must be of type String.- See Also:
- Constant Field Values
-
META_KEY_APPLICATION_NAME
public static final String META_KEY_APPLICATION_NAME
Key that can be used to add applicationName to the analytics meta-data. The value must be of type String.- See Also:
- Constant Field Values
-
-
Method Detail
-
getVideoAnalytics
@Nullable public com.conviva.sdk.ConvivaVideoAnalytics getVideoAnalytics()
Getter for the Conviva Video Analytics instance, can be used to send custom player insight events associated with the video playback.- Returns:
- The underlying instance of Conviva's
ConvivaVideoAnalytics. null if session hasn't started yet, already released, or failed initialization.
-
getAdAnalytics
@Nullable public com.conviva.sdk.ConvivaAdAnalytics getAdAnalytics()
Getter for the Conviva ad analytics instance.
-
start
public void start(@NonNull PlayerController playerController, @NonNull AnalyticsMetaData analyticsMetaData)- Specified by:
startin interfaceAnalyticsSession
-
stop
public void stop()
- Specified by:
stopin interfaceAnalyticsSession
-
release
public void release()
- Specified by:
releasein interfaceAnalyticsSession
-
detachFromController
public void detachFromController()
- Specified by:
detachFromControllerin interfaceAnalyticsSession
-
onExoPlayerStateChanged
public void onExoPlayerStateChanged(boolean playWhenReady, int playbackState)- Specified by:
onExoPlayerStateChangedin interfaceAnalyticsSession
-
id
@NonNull public Class id()
- Specified by:
idin interfacePlayerControllerPlugin.Component
-
onDestroy
public void onDestroy(@NonNull PlayerController playerController)- Specified by:
onDestroyin interfacePlayerControllerPlugin.Component
-
onOpenBundle
public void onOpenBundle(@NonNull PlayerController playerController, @NonNull Bundle bundle)- Specified by:
onOpenBundlein interfacePlayerControllerPlugin.Component
-
onOpenState
public void onOpenState(PlayerController playerController, PlayerConfig playerConfig)
- Specified by:
onOpenStatein interfacePlayerControllerPlugin.Component
-
adStart
public void adStart(Ad ad)
- Specified by:
adStartin interfaceAnalyticsSession
-
adStop
public void adStop()
- Specified by:
adStopin interfaceAnalyticsSession
-
adError
public void adError(CastlabsPlayerException exception)
- Specified by:
adErrorin interfaceAnalyticsSession
-
adSkipped
public void adSkipped()
- Specified by:
adSkippedin interfaceAnalyticsSession
-
sendError
public void sendError(String code, String message, int severity)
- Specified by:
sendErrorin interfaceAnalyticsSession
-
seekStart
public void seekStart(long newPosition)
- Specified by:
seekStartin interfaceAnalyticsSession
-
seekEnd
public void seekEnd()
- Specified by:
seekEndin interfaceAnalyticsSession
-
seekProcessed
public void seekProcessed()
- Specified by:
seekProcessedin interfaceAnalyticsSession
-
-