Package com.castlabs.sdk.youbora
Class YouboraPlugin
java.lang.Object
com.castlabs.android.Plugin
com.castlabs.sdk.youbora.YouboraPlugin
This plugin integrates Youbora Analytics with the castLabs Player SDK.
You can enable and register the plugin before you initialize the SDK:
public class MyApp extends Application {
@
Override
public void onCreate() {
super.onCreate();
YouboraPlugin youbora = new YouboraPlugin(...);
PlayerSDK.register(youbora);
PlayerSDK.init(getApplicationContext());
}
}
- Since:
- 3.1.5
-
Field Summary
Modifier and TypeFieldDescriptionstatic boolean
Whether to send offline analytics or not. -
Constructor Summary
ConstructorDescriptionYouboraPlugin
(com.npaw.NpawPlugin npawPlugin) Create a new instance of this plugin using the default configuration.YouboraPlugin
(String systemId) Create a new instance of this plugin using the default configuration. -
Method Summary
Modifier and TypeMethodDescriptionstatic String
buildRenditionString
(int width, int height, double bitrate) Builds a string that represents the rendition.static AnalyticsMetaData
createMetadata
(boolean live, String assetId, com.npaw.core.options.AnalyticsOptions analyticsOptions) Create anAnalyticsMetaData
object from a YouboraAnalyticsOptions
object.static AnalyticsMetaData
createMetadata
(AnalyticsMetaData analyticsMetaData, com.npaw.core.options.AnalyticsOptions analyticsOptions) Update provided analytics metadata with extra valuesgetId()
void
void
reportWarnings
(boolean reportWarnings) Whether to report the SDK Warnings as Youbora non-fatal errors.void
setEnabled
(boolean enabled) Whether to enable this Plugin or notMethods inherited from class com.castlabs.android.Plugin
onRemotePlay
-
Field Details
-
ENABLE_OFFLINE_ANALYTICS
public static boolean ENABLE_OFFLINE_ANALYTICSWhether to send offline analytics or not. If disabled, current stored offline sessions sending throughflushYouboraEvents(Context, String, NpawPlugin)
will also be blocked.
-
-
Constructor Details
-
YouboraPlugin
Create a new instance of this plugin using the default configuration.- Parameters:
systemId
- The Youbora system id
-
YouboraPlugin
public YouboraPlugin(@NonNull com.npaw.NpawPlugin npawPlugin) Create a new instance of this plugin using the default configuration.- Parameters:
npawPlugin
- TheNpawPlugin
instance to use
-
-
Method Details
-
init
-
reportWarnings
public void reportWarnings(boolean reportWarnings) Whether to report the SDK Warnings as Youbora non-fatal errors. If disabled, fatal errors will still be reported. Default: false- Parameters:
reportWarnings
- Whether to report the SDK Warnings as Youbora non-fatal errors
-
getId
-
setEnabled
public void setEnabled(boolean enabled) Whether to enable this Plugin or not- Parameters:
enabled
- enable the plugin or not
-
createMetadata
public static AnalyticsMetaData createMetadata(boolean live, @NonNull String assetId, @Nullable com.npaw.core.options.AnalyticsOptions analyticsOptions) Create anAnalyticsMetaData
object from a YouboraAnalyticsOptions
object.- Parameters:
live
- whether the asset is a live stream or notassetId
- unique asset identifieranalyticsOptions
- instance of a pre-configuredAnalyticsOptions
object.- Returns:
- instance of AnalyticsMetaData
-
createMetadata
public static AnalyticsMetaData createMetadata(@NonNull AnalyticsMetaData analyticsMetaData, @Nullable com.npaw.core.options.AnalyticsOptions analyticsOptions) Update provided analytics metadata with extra values- Parameters:
analyticsMetaData
- Initial metadata to update with extra valuesanalyticsOptions
- instance of a pre-configuredAnalyticsOptions
object.- Returns:
- instance of AnalyticsMetaData
-
buildRenditionString
Builds a string that represents the rendition.The returned string will have the following format: [width]x[height]@[bitrate]. If either the width or height are < 1, only the bitrate will be returned. If bitrate is < 1, only the dimensions will be returned. If bitrate is < 1, and there are no dimensions, an empty string will be returned. The bitrate will also have one of the following suffixes depending on its magnitude: bps, Kbps, Mbps
- Parameters:
width
- width of the asset.height
- height of the asset.bitrate
- bitrate(in the manifest) of the asset.- Returns:
- A string with the following format: [width]x[height]@[bitrate].
-