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.

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].