Adaptive DAI SDK is an Android library (AAR) that provides production‑grade video playback with integrated server‑driven advertising for Android TV and Fire TV applications.
It wraps ExoPlayer (AndroidX Media3) and Google IMA SDK into a compact, opinionated API, so client apps can focus on UI and business logic instead of low‑level playback and ad orchestration.
Features
- HLS/DASH/SmoothStreaming playback on Android TV and Fire TV
- Integrated ad scheduling via VMAP/VAST
- Pre‑roll, mid‑roll, post‑roll and on‑pause ads
- Unified behavior for Android TV and Fire OS
- Simple launcher API for fast integration
- Advanced API with full control over player UI and lifecycle
Requirements
- Platform: Android TV, Fire TV (Android‑based)
- minSdk: 24 (Android 7.0)
- targetSdk / compileSdk: 35
- Language: Java 17 (with core library desugaring)
Installation (consumer app)
Add the dependency to your app module:
dependencies {
implementation "com.adaptivedai:adaptivedai:<version>"
}
Make sure your android block is configured for Java 17 and desugaring, and that you exclude the Java 9 OSGi manifest from a transitive dependency:
For details and variations, see docs/SDK_USER_GUIDE_EN.md.
Quick start
1. Initialize SDK via AdaptiveDAILauncher
2. Create a MediaItem
3. Start playback
For advanced integration (custom player Activity, custom ExoPlayer factory, fine‑grained lifecycle control), use AdaptiveDAISDK directly as described in docs/SDK_USER_GUIDE_EN.md and docs/SDK_INTEGRATION_EXAMPLES_EN.md.
Demos
The repository includes three demo apps that showcase different integration levels:
- SimpleDemo – minimal integration via
AdaptiveDAILauncherand built‑inPlayerActivity. - CustomExoDemo – custom ExoPlayer configuration while using the SDK player Activity.
- FullDemo – full integration with a custom player Activity and layout using
AdaptiveDAISDKdirectly.
Demos can be built either against the SDK source module or against a published binary AAR (local Maven).
Documentation
English documentation (in docs/):
SDK_OVERVIEW_EN.md– high‑level overview and architectureSDK_USER_GUIDE_EN.md– installation and integration guideSDK_INTEGRATION_EXAMPLES_EN.md– end‑to‑end integration examples based on demos