Module bbnativeplayersdk-kotlin

This is our native player SDK for Android.

Package com.bluebillywig.bbnativeplayersdk

Design Philosophy

The SDK has three main structures; two classes and an interface.

The BBNativePlayer class only has static factory functions for creating the views that do the actual work.
The BBNativePlayerView class, which extends the platform’s core UI View class (iOS: UIView, Android: View), is what you place in your layout. It offers an API to control the player (callApiMethod) and get/set player properties (getApiProperty/setApiProperty).
Finally, if needed, you make your own implementation of the BBPlayerViewDelegate interface and assign it to the player view in order to respond to events.

When creating a player view, you supply a json embed URL and (optionally) an options dictionary. The json URL is similar to Blue Billywig's standard embed URL. Its only difference is the .json extension, e.g. https://demo.bbvms.com/p/default_standard/c/2431946.json . Thus, it supports various content types (clip, playlist, project), and playout configurations.

Dependencies

This library uses Ktor 2.0.3, Coroutines 1.6.0-native-mt, Exoplayer 2.19.1 and Google Cast 21.0.0. Consumers of the library that depend on Ktor themselves may override its version within the range 2.0.0, 2.0.3. Similarly, for Coroutines within the range 1.5.2-native-mt, 1.6.2. Similarly, for Exoplayer within the range [2.17, 2.20[. (see: https://docs.gradle.org/current/userguide/dependency_downgrade_and_exclude.html )

Releases

The library's release history can be found at: https://search.maven.org/artifact/com.bluebillywig.bbnativeplayersdk/bbnativeplayersdk .

All modules:

bbnativeshared
Link copied to clipboard

Multi-platform part of the Native Player SDK library.

bbnativeplayersdk-kotlin
Link copied to clipboard

Android-specific part of the Native Player SDK library.