@amazon-devices/kepler-media-content-launcher
The Content Launcher API supports browsing, and playing content using different interfaces.
Remarks
Fire TV supports launching content using a Fire TV remote, touch, or voice. The modality agnostic Content Launcher API supports browsing, and playing content using different interfaces. All Content Launcher integrated apps should integrate the Account Login API to to send your app's login status to the Fire TV. For API details, see Content Launcher API and Account Login API Overview in the Vega API reference.
Get started
Setup
-
Add the following library dependency to the
dependenciessection of your package.json file."@amazon-devices/kepler-media-content-launcher": "~2.0.22", -
To access the Content Launcher API, add following privileges in your manifest.toml.
schema-version = 1 [package] title = "<Your app title>" id = "com.amazondeveloper.media.sample" [components] [[components.interactive]] id = "com.amazondeveloper.media.sample.main" runtime-module = "/com.amazon.kepler.keplerscript.runtime.loader_2@IKeplerScript_2_0" launch-type = "singleton" # The category "com.amazon.category.kepler.media" is only necessary for the primary component, which is identified in the [[extras]] # section of the manifest using the "component-id" value. categories = ["com.amazon.category.main", "com.amazon.category.kepler.media"] [processes] [[processes.group]] component-ids = ["com.amazondeveloper.media.sample.main"] [offers] [[offers.interaction]] id = "com.amazondeveloper.media.sample.main" [[message]] uri = "pkg://com.amazondeveloper.media.sample.main" # Match the privileges used in [[offers.interaction]]. If privileges are not added, then use "*". sender-privileges = ["*"] receiver-privileges = ["self"] [[offers.module]] id = "/com.amazondeveloper.media.sample.module@ISomeUri1" includes-messages = ["pkg://com.amazondeveloper.media.sample.main"] [[extras]] key = "interface.provider" component-id = "com.amazondeveloper.media.sample.main" [extras.value.application] [[extras.value.application.interface]] interface_name = "com.amazon.kepler.media.IContentLauncherServer" # The "override_attribute_component" field is only necessary when the "component-id" specified in the [[extras]] # section differs from the one you're providing here. This enables you to use a different component for # command execution than the one initially defined in the extras, giving you flexibility in your # configuration setup. # For example, if you're using Account Login interface in addition to the Content Laucher interface # you would need to override the Account Login status attribute to be directed to the service # component with the following line: # override_attribute_component = { Status = "com.amazondeveloper.media.sample.interface.provider" } attribute_options = ["partner-id"] static-values = { partner-id = "<Your partner id>" } [needs] [[needs.module]] id = "/com.amazon.kepler.media@IContentLauncher1"Note: Thepartner-idis the same unique identifier (PARTNER_ID) used in Fire OS launcher integration. Contact your Amazon representative for support and further clarification.
Related topics
For implementation details, see the Content Launcher Integration Guide.
API Reference
Classes
- ContentLauncherServerComponent — ContentLauncherServerComponent is a factory for ContentLauncher.
- InternalError — Error thrown when setup is failed e.g. setup ContentLauncherServer.
- InvalidArgumentError — Error thrown when invalid arguments are passed.
Interfaces
- IAdditionalInfo — Interface for AdditionalInfo that defines additional name=value pairs that can be used for
- IContentLauncherHandler — Interface for ContentLauncherHandler.
- IContentLauncherServer — Interface for ContentLauncherServer that provides the ability to set a handler for Content
- IContentSearch — Interface for ContentSearch that defines inputs to a search for content for display or
- IContentSearchParameter — Interface for ContentSearchParameter that defines inputs to a search for content for display
- ILaunchContentOptionalFields — Interface for launch content request that defines the payload for LaunchContent.
- ILauncherResponse — Interface for LauncherResponse that is used to respond to Content Launcher callbacks.
- ILauncherResponseBuilder — Interface for LauncherResponseBuilder that is used to build a .
- IPlaybackPreferences — Interface for Playback preferences such as Playback position etc.
- ITrackPreference — Interface for Track preferences.
- KeplerScriptContentLauncher — KeplerScriptContentLauncher facilitates updating an application's login status.
Enumerations
- ContentLauncherStatusType — Content Launcher Status
- ContentSearchParamType — Enum for
ContentSearchParamTypethat indicates the entity type.
Last updated: Jul 22, 2026

