Getting Started

Maven Central


Firework Android SDK v6 is a library that provides a set of programming interfaces that enable developers to integrate video feeds from Firework - a shoppable video and Livestream platform - into an Android app.


Firework Android SDK v6 is compatible with the following:
  • Android min SDK 21.
  • Kotlin/Java code base.
  • Gradle build system.

Obtain your Client ID

To integrate Firework Android SDK v6 into your application, you have to register your application with the Firework platform and get a unique client ID. To get the client ID:
  • Provide your application's package name to the business team/engineering team you are coordinating with.
  • You will receive via email the client ID via and then follow the setup steps below under Firework IDs to include both in your app.
The client ID is used to authenticate your application with the server. Authentication will fail if you use the wrong client ID.

How to integrate Firework Android SDK v6?

The library packages are accessible through MavenCentral repositories. You can check for the latest stable released version using the MavenCentral tag on top of this doc.
Add this to your build.gradle or build.gradle.kts repositories:
repositories {
repositories {
Add these dependencies based on your requirements:
  • Firework Sdk: The main dependency of Firework Android SDK v6 is required for the library initialization and video feed view features.
  • Single Host Livestream: If you are planning to use a single host Livestream from an external source.
  • Multi-Host Livestream: If you are planning to use Livestream with multiple hosts.
  • Image Loader: The SDK requires an image loader that can be one of the predefined Glide or Picasso or your custom implementation of the ImageLoader interface using your own solution.
    • Glide Image Loader: A glide implementation of the SDK ImageLoader interface.
    • Picasso Image Loader: A picasso implementation of the SDK ImageLoader interface.
def fireworkSdkVersion = "latest_firework_sdk_version"
implementation 'com.firework:sdk:$fireworkSdkVersion'
// Only for single host (Optional)
implementation 'com.firework.external.livestream:singleHostPlayer:$fireworkSdkVersion'
// Only for multi host (Optional)
implementation 'com.firework.external.livestream:multiHostPlayer:$fireworkSdkVersion'
// Glide (Optional)
implementation 'com.firework.external.imageloading:glide:$fireworkSdkVersion'
// Picasso (Optional)
implementation 'com.firework.external.imageloading:picasso:$fireworkSdkVersion'
val fireworkSdkVersion = "latest_firework_sdk_version"
// Only for single host (Optional)
// Only for multi host (Optional)
// Glide (optional)
// Picasso (optional)

SDK Initialization

Call this code in your custom application class onCreate method to initialize the Firework SDK:
import com.firework.sdk.FireworkSdk
import com.firework.sdk.FireworkSdkConfig
import com.firework.sdk.FireworkInitError
import com.firework.imageloading.glide.GlideImageLoaderFactory
class ExampleApp : Application() {
override fun onCreate() {
// build Firework Android SDK v2 configuration
val config = FireworkSdkConfig.Builder(this)
.clientId(FW_CLIENT_ID) // Client OAUTH Id
.userId("example app user ID") // User Id in your eco-system
.imageLoader(GlideImageLoaderFactory.createInstance()) // glide, picasso, or your ImageLoader implementation
.enableCache(true) // Enable or disable video players cache, enabled by default
.maxCacheSizeBytes(MAX_CACHE_SIZE_BYTES) // Max cache size used by video players, 25MB by default
.shareBaseUrl("") // This is going to be an optional value of your share base url
.muteOnLaunch(true) // Mute videos on lauch
.addLivestreamPlayerInitializer(LivestreamPlayerInitializer()) // For single-host livestream use
.addLivestreamPlayerInitializer(MultihostLivestreamPlayerInitializer()) // For multi-host livestream use
// initialize Firework Android SDK v2
fireworkSdkConfig = config,
onSuccess = {
// Initialization was successful
onError = { error ->
when (error) {
is FireworkInitError.InitializationError -> {
// Handle initialization error
To handle a click on the CTA button you can set CtaButtonClickListener to the FireworkSdk instance:
FireworkSdk.setCtaButtonClickListener { label, actionUrl, feedElementAnalyticsData ->
// handle CTA button click
return true // true if handled