Class ConvivaPlugin


  • public class ConvivaPlugin
    extends Plugin
    This plugin integrates Conviva 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();
    
              ConvivaPlugin convivaPlugin = new ConvivaPlugin(C.CONVIVA_CUSTOMER_KEY);
              if (BuildConfig.DEBUG) {
                  HashMap<String, Object> settings = new HashMap<>();
                        settings.put(ConvivaSdkConstants.GATEWAY_URL, C.CONVIVA_TOUCHSTONE_GATEWAY);
                        settings.put(ConvivaSdkConstants.LOG_LEVEL, ConvivaSdkConstants.LogLevel.DEBUG);
                        convivaPlugin.setSettings(settings);
              }
              HashMap<String, String> deviceInfo = new HashMap<>();
              final String prefix = "Test: ";
              deviceInfo.put(ConvivaSdkConstants.DEVICEINFO.ANROID_BUILD_MODEL, prefix + ConvivaSdkConstants.DEVICEINFO.ANROID_BUILD_MODEL);
              deviceInfo.put(ConvivaSdkConstants.DEVICEINFO.OPERATING_SYSTEM_VERSION, prefix + ConvivaSdkConstants.DEVICEINFO.OPERATING_SYSTEM_VERSION);
              deviceInfo.put(ConvivaSdkConstants.DEVICEINFO.DEVICE_BRAND, prefix + ConvivaSdkConstants.DEVICEINFO.DEVICE_BRAND);
              deviceInfo.put(ConvivaSdkConstants.DEVICEINFO.DEVICE_MANUFACTURER, prefix + ConvivaSdkConstants.DEVICEINFO.DEVICE_MANUFACTURER);
              deviceInfo.put(ConvivaSdkConstants.DEVICEINFO.DEVICE_MODEL, prefix + ConvivaSdkConstants.DEVICEINFO.DEVICE_MODEL);
              deviceInfo.put(ConvivaSdkConstants.DEVICEINFO.DEVICE_TYPE, prefix + ConvivaSdkConstants.DEVICEINFO.DEVICE_TYPE);
              deviceInfo.put(ConvivaSdkConstants.DEVICEINFO.DEVICE_VERSION, prefix + ConvivaSdkConstants.DEVICEINFO.DEVICE_VERSION);
              convivaPlugin.setDeviceInfo(deviceInfo);
              PlayerSDK.register(convivaPlugin);
    
              PlayerSDK.init(getApplicationContext());
          }
     }
     

    Please note that you can customize the client settings (see setSettings(Map)) and the system settings (see setDeviceInfo(Map)) before you register the plugin.

    Since:
    3.1.0
    • Constructor Detail

      • ConvivaPlugin

        public ConvivaPlugin​(@NonNull
                             String convivaCustomerKey)
        Create the plugin
        Parameters:
        convivaCustomerKey - The Conviva customer key, should not be null
    • Method Detail

      • setSettings

        public void setSettings​(@NonNull
                                Map<String,​Object> settings)
        Set the Conviva settings, used for debugging purposes

        Note: Make sure calling this method is done before you register the plugin, otherwise the settings might now have an effect

        Parameters:
        settings - The settings
      • setDeviceInfo

        public void setDeviceInfo​(@NonNull
                                  Map<String,​Object> deviceInfo)
        Set the device info

        Note: Make sure calling this method is done before you register the plugin, otherwise the device info might now have an effect

        Parameters:
        deviceInfo - The device info
      • setEnabled

        public void setEnabled​(boolean enabled)
        Enable or disable the plugin
        Parameters:
        enabled - true If the plugin is enabled and false otherwise
      • createMetadata

        @NonNull
        public static AnalyticsMetaData createMetadata​(boolean live,
                                                       @NonNull
                                                       String assetId,
                                                       @Nullable
                                                       String viewerId,
                                                       @Nullable
                                                       Bundle bundle,
                                                       @Nullable
                                                       Bundle customTags)
        Create analytics metadata based on provided data
        Parameters:
        live - true if the current content is a live stream and false otherwise
        assetId - The asset ID uniquely identifies the content
        viewerId - An identifier for the current User. Will override ConvivaSdkConstants.VIEWER_ID if not null
        bundle - Optional parameters. Custom tags should be in the following Bundle
        customTags - custom tags, or null
        Returns:
        Created analytics metadata
      • createMetadata

        @NonNull
        public static AnalyticsMetaData createMetadata​(@NonNull
                                                       Bundle bundle,
                                                       @NonNull
                                                       AnalyticsMetaData analyticsMetaData,
                                                       @Nullable
                                                       Bundle customTags)
        Update provided analytics metadata with extra values from bundle
        Parameters:
        bundle - The bundle where all extra values are set
        analyticsMetaData - Initial metadata to update with extra values
        customTags - custom tags, or null
        Returns:
        Updated analytics metadata