logo
SDKs
IntroductionHow to update a SDK?
Web
Getting started on Web (Extended)Getting started on WebAPI examplesHow to implement Keyboard HotkeysHow to embed an iframe?How to implement a seamless transition between videos?How can I use video inside THEOplayer?How to work around browser cache with a new license?How to customise quality selection & labels (MP4)How to get frame-accurate currentTime display in the UI Control barHow to play an LCEVC source with THEOplayer
Android Unified
Getting started on Unified AndroidUnified Android Feature Integrations
Android
Getting started on AndroidAndroid SDK customizationAndroid SDK product flavorsHow to couple the native MediaRouteButton to THEOplayerHow to enable -experimental- native rendering on AndroidHow to do offline Playback with AES-128 Encrypted Streams on Android
iOS
Getting started on iOSiOS SDK CustomizationMy app does not want to build for the app storeHow to bypass copy() not working in Safari consoleHow to couple the native GCKUICastButton to THEOplayeriOS SDK Touch-events (gestures)Building for iOS Simulator, but the linked and embedded framework THEOplayerSDK.framework was built for iOS + iOS SimulatorHow to implement custom local network access (LNA) interstitial dialog for Chromecast
Android TV
Getting started on Android TV
tvOS
Getting started on tvOS
Chromecast
Getting started on ChromecastChromecast Application Customization
Webos
Getting Started on webOS
Tizen
Getting started on TizenInstalling the Tizen developer toolsSetting up a Tizen device for debuggingDeploying a test app on a physical Tizen deviceDeploying a test app on a Tizen emulator
Roku
Getting Started on Roku
Fire tv
Getting started on Fire TV
Frameworks

Unified Android Feature Integrations

Modularization

The Unified Android THEOplayer SDK uses modularized features, which means there is a base SDK that can handle basic playback and additional feature integrations are provided as separate modules that can be added as desired. This approach gives more flexibility and results in a reduced application size, since non-required parts are not included in the build of the application.

For example, the base SDK is provided by:

implementation 'com.theoplayer.theoplayer-sdk-android:unified:+'

Meanwhile, additional features such as Google IMA and Google Cast are provided by:

implementation 'com.theoplayer.theoplayer-sdk-android:unified-ads-ima:+'
implementation 'com.theoplayer.theoplayer-sdk-android:unified-cast:+'

Importing additional integration modules

As shown in the previous section, importing additional integration modules can be done by simply adding the dependency in the build.grade file of the module using THEOplayer.

Important Note: It is required to keep the Unified Android base SDK and all the required feature modules on the same version number. For example one should not import unified:3.6.0 and unified-cast:3.5.0 in the same project.

Adding integrations

After importing the dependencies, it's time to create the integrations and connect them to THEOplayer.

Each module provides a Factory class that allows the creation of that specific integration. For example, the Google IMA module provides GoogleImaIntegrationFactory and the Google Cast module provides CastIntegrationFactory.

Additionally, the Player class provides the addIntegration(Integration integration) API which allows adding the integration to the player.

Connecting the feature integration with the Player will make them available to be used. Otherwise, calling an API from an integration without adding it to the Player will cause an error to be thrown.

Available feature integrations

With Unified Android THEOplayer SDK we currently support the following feature integrations:

Feature Dependency Release Documentation
Google IMA unified-ads-ima:+ 3.1.0 documentation
Chromecast unified-cast:+ 3.4.0 documentation
github
Make sure to follow us on GitHub!
THEO-logo-white
twitter
facebook
linkedin
Copyright © 2022. All Rights Reserved.
Leuven
New York
Singapore
Barcelona