Class YouboraPlugin

java.lang.Object
com.castlabs.android.Plugin
com.castlabs.sdk.youbora.YouboraPlugin

public class YouboraPlugin extends Plugin
This plugin integrates Youbora Analytics with the Castlabs Player SDK.

Labels reported for disabled subtitle/audio tracks can be customized via PlayerSDK.ANALYTICS_SETTINGS.

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 Details

    • ENABLE_OFFLINE_ANALYTICS

      public static boolean ENABLE_OFFLINE_ANALYTICS
      Whether to send offline analytics or not. If disabled, current stored offline sessions sending through flushYouboraEvents(Context, String, NpawPlugin) will also be blocked.
  • Constructor Details

    • YouboraPlugin

      public YouboraPlugin(@NonNull String systemId)
      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 - The NpawPlugin instance to use
  • Method Details

    • init

      public void init(Context context)
      Overrides:
      init in class Plugin
    • 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

      @NonNull public String getId()
      Specified by:
      getId in class Plugin
    • 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 an AnalyticsMetaData object from a Youbora AnalyticsOptions object.
      Parameters:
      live - whether the asset is a live stream or not
      assetId - unique asset identifier
      analyticsOptions - instance of a pre-configured AnalyticsOptions 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 values
      analyticsOptions - instance of a pre-configured AnalyticsOptions object.
      Returns:
      instance of AnalyticsMetaData
    • buildRenditionString

      @NonNull public static String buildRenditionString(int width, int height, double bitrate)
      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].