Module OptiView Ads SDK for Android
The API reference for the OptiView Ads SDK on Android and Android TV. The SDK implements Server-Guided Ad Insertion: it polls a Break Manifest, schedules the breaks against the content player's timeline, plays the ads, and reports the impressions. Each artifact below is one Maven module under the com.dolby.optiview group.
-
ads-sdk-runtime— start here. The Android runtime: the Media3 / ExoPlayer player adapter, the overlay ad renderer, and Google Ad Manager pod serving. Depending on it bringsads-sdkandads-sdk-coretransitively. -
ads-sdk-adapter-theoplayer— the player adapter for the OptiView Player (THEOplayer). -
ads-sdk— the player-agnosticOptiViewAdsorchestrator: configuration, session lifecycle, the event stream, and diagnostics. -
ads-sdk-core— the portable core: the Break Manifest model, thePlayerAdaptercontract, and the diagnostic code taxonomy. -
ads-sdk-adapter-test-kit— the conformance test base for a customPlayerAdapter.
The integration guide is at optiview.dolby.com.
All modules:
The player-agnostic orchestrator of the OptiView Ads SDK. OptiViewAds wires the core to a PlayerAdapter, runs the session lifecycle (startSession, endSession), emits the public event stream (OptiViewAdsEvent) and the diagnostics stream, and defines the seams the Android runtime implements (AdRenderer, ManifestSource, SchedulerTicker). Pure Kotlin/JVM; the Android-specific pieces live in ads-sdk-runtime.
The conformance test base for a custom PlayerAdapter. Extend PlayerAdapterConformanceTest in your test source set (testImplementation) to hold your adapter to the same contract the bundled adapters pass: event forwarding, state mirroring, seeking, and cleanup on destroy.
The PlayerAdapter for the OptiView Player (THEOplayer) on Android. THEOplayerAdapter wraps the Player of a THEOplayerView the app owns, so the SDK can drive THEOplayer-based playback exactly like Media3 through ExoPlayerAdapter. THEOplayer itself is not bundled: the app provides its own THEOplayer dependency and license.
The portable core of the OptiView Ads SDK: pure Kotlin/JVM with no Android or player dependencies. It holds the types the rest of the SDK is expressed in — the Break Manifest model, the PlayerAdapter contract a content player is driven through, the ad-insertion and delivery modes, and the diagnostic code taxonomy. Integrators rarely depend on it directly; ads-sdk-runtime and ads-sdk bring it transitively.
The Android runtime of the OptiView Ads SDK, and the artifact an app depends on: ExoPlayerAdapter (the PlayerAdapter for Media3 / ExoPlayer), OverlayAdRenderer (ad playback in an overlay above the content player, including pause ads), GamStreamManager (Google Ad Manager pod serving through the IMA SDK) and VastAdManager (client-side VAST playout). Depends on ads-sdk and ads-sdk-core.