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 brings ads-sdk and ads-sdk-core transitively.

  • ads-sdk-adapter-theoplayer — the player adapter for the OptiView Player (THEOplayer).

  • ads-sdk — the player-agnostic OptiViewAds orchestrator: configuration, session lifecycle, the event stream, and diagnostics.

  • ads-sdk-core — the portable core: the Break Manifest model, the PlayerAdapter contract, and the diagnostic code taxonomy.

  • ads-sdk-adapter-test-kit — the conformance test base for a custom PlayerAdapter.

The integration guide is at optiview.dolby.com.

All modules:

Link copied to clipboard

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.

Link copied to clipboard

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.

Link copied to clipboard

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.

Link copied to clipboard

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.

Link copied to clipboard

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.