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 .