Skip to the content.

Docs | Android

Migration to PlayKit v3.6.0

In PlayKit version 3.6.0, some components were moved from the core module (playkit) to a new one. This guide describes the changes that need to be done in app config and code.

In addition, there’s a minor change to the PKPlugin.Factory interface.

On this page:

Media Providers and Core Analytics Plugins

Add a dependency in build.gradle

implementation com.kaltura.playkit:playkitproviders:VERSION

Media Providers (OVP and Phoenix)

Package renames:

Simple Session Provider

SimpleOvpSessionProvider was moved from com.kaltura.playkit.api.ovp to com.kaltura.playkit.providers.api and renamed to SimpleSessionProvider.

The name change signifies that this SessionProvider can be used for both OVP and OTT (Phoenix).

Stats and LiveStats Plugins

The following classes have moved from com.kaltura.playkit.plugins to com.kaltura.playkit.plugins.ovp: KalturaStatsPlugin, KalturaStatsConfig, KalturaLiveStatsPlugin, KalturaLiveStatsConfig

Phoenix and TVPAPI Analytics Plugins

The following classes have moved from com.kaltura.playkit.plugins to com.kaltura.playkit.plugins.ott:

PhoenixAnalyticsPlugin, PhoenixAnalyticsConfig, TVPAPIAnalyticsPlugin, TVPAPIAnalyticsConfig

Youbora Plugin

Add a dependency in build.gradle:

implementation com.kaltura.playkit:youboraplugin:VERSION

The package name remains com.kaltura.playkit.plugins.youbora.

IMA Plugin

Add a dependency in build.gradle

implementation com.kaltura.playkit:imaplugin:VERSION

Update imports

Package com.kaltura.playkit.plugins.ima was renamed to com.kaltura.playkit.plugins.ads.ima.

Google Cast Addon

Add a dependency in build.gradle

implementation com.kaltura.playkit:googlecastplugin:VERSION

Update imports

Package com.kaltura.playkit.addon.cast was renamed to com.kaltura.playkit.plugins.googlecast.

Resolving build conflicts

All of the plugins (except for Google Cast) depend on PlayKit. If the app is not using exactly the same PlayKit version as the plugins, there will be conflicts. To resolve them, you need to exclude the PlayKit module that comes with the plugins when adding them to build.gradle.

Example

// App uses PlayKit v3.6.1
implementation 'com.kaltura.playkit:playkit:3.6.1'

// Use the providers module and exclude the PlayKit that comes with it.
implementation 'com.kaltura.playkit:playkitproviders:1.0.2', {
    exclude group: 'com.kaltura.playkit', module: 'playkit'
}

Plugin Interface

The PKPlugin.Factory interface has a new method required to be implemented, getVersion(). The method returns a String – version of the plugin. It is used when the player gathers diagnostic data about the running plugins.

The version should comply with Semantic Versioning.