Getting Started
TPStreams Android SDK provides an easy way to integrate video playback and offline downloads into your Android application. It supports DRM-protected content, adaptive bitrate streaming, and customizable player UI.
Installation
Add the JitPack repository to your settings.gradle file:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add the TPStreams SDK dependency to your app level build.gradle.kts file:
dependencies {
implementation("com.github.testpress:TPStreamsAndroidPlayer:1.1.11-beta.1")
}
Basic Setup
Initialize the SDK
Initialize the SDK in your Application class or the onCreate method of your main activity:
Option 1: In Application Class (Recommended)
import android.app.Application
import com.tpstreams.player.TPStreamsSDK
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
TPStreamsSDK.init("YOUR_ORG_ID")
}
}
Option 2: In Activity Class
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.tpstreams.player.TPStreamsSDK
class PlayerActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_player)
TPStreamsSDK.init("YOUR_ORG_ID")
}
}
Add Player View to Layout
Add the TPStreamsPlayerView to your activity or fragment layout XML:
<com.tpstreams.player.TPStreamsPlayerView
android:id="@+id/tp_player_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintDimensionRatio="16:9" />
Initialize the Player
In your Activity or Fragment, create a TPStreamsPlayer instance and attach it to the view:
import com.tpstreams.player.TPStreamsPlayer
// Create player instance
val player = TPStreamsPlayer.create(
context = this, // Use requireContext() if in a Fragment
assetId = "YOUR_ASSET_ID",
accessToken = "YOUR_ACCESS_TOKEN",
shouldAutoPlay = true, // Default is true
enableDownload = true, // Set to true to enable download feature in UI
downloadMetadata = mapOf("key" to "value") // Custom metadata for downloads
)
// Attach to view
binding.tpPlayerView.player = player
Watermarks
Display one or more text or image watermarks over the video content by passing BaseWatermarkConfig entries (TextWatermarkConfig and ImageWatermarkConfig) to TPStreamsPlayerView.setWatermarks().
For the full reference (configuration properties, defaults, and behavior), see Watermarks.