Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get Started
Design and Develop
Publish
Reference
Support
Skip to main content
The [offers] section declares the capabilities that an application package offers to other application packages installed on a Vega system. Offers is an optional section.

[[offers.service]]

Optional The offers.service section defines:
  • The services provided by this package
  • The permissions that other installed apps need to use these services

Fields

  • id (string, required): The unique identifier of the service component. The identifier belongs to one of the components declared in the manifest under the [components] section.
  • required-privileges (array of strings, optional): A list of privileges required to invoke the service. Only system packages can restrict access using required privileges. This restriction feature does not work for non-system packages.

Examples

You can see an example of the offers.service section in Content Personalization documentation.

[[offers.module]]

Optional The [[offers.module]] section declares the shared artifacts that this package offers to other app packages.

Fields

  • id [string] (required): The fully-qualified identifier of the module must follow this format: . Replace and with the following information:
    • :
      • Must use reverse-DNS notation (such as com.company.product).
      • The parts of the reverse DNS name should be lowercase alphanumeric ASCII characters (a-z0-9) and underscores (_) only, with namespace parts separated by a dot (.). Words in namespace parts are separated with an underscore (_).
      • These constraints are described by the regular expression ^[a-z_][a-z0-9_]*(?:\.[a-z_][a-z0-9_]*)*$.
      • Must be unique in the system.
      • Tip: Using package ID as prefix helps ensure uniqueness.
    • @: Separator between component name and revision tag.
    • :
      • Follow the same naming convention as interfaces in IDL.
      • Must start with uppercase ‘I’, as is traditional in IDL languages of this sort: IThingDoer, not ThingDoer.
      • The character after ‘I’ must be uppercase.
      • Remaining characters can be alphanumeric (a-zA-Z0-9) or underscore (_).
      • These constraints are described by the regular expression ^I([A-Z][a-zA-Z0-9_]*)$.
  • includes-messages [array of strings] (optional): List of URIs defined by this module. Each URI must have a corresponding [[message]] section describing the sender and receiver privileges. Each URI can only be included in one module.

Examples

You can see an example of the offers.module section in Content Launcher documentation.

[[offers.message-target]]

Optional The [[offers.message-target]] maps URIs to the corresponding lifecycle component to launch. The URIs must either be defined in a module in the same manifest or imported via a needs.module or a wants.module call. The section can be repeated to define multiple mapping groups of URIs to component. Note that pkg:// is used for URIs which directly contain the lifecycle component’s name. As a result this section can be skipped.

Fields

  • uris [array of strings] (required): List of URIs that are part of the current mapping group.
  • uses-component [string] (required): Name of the component that is the recipient of the URI. The name should match a component listed in either the [components.interactive], or the [components.service], or the [components.task] sections in the manifest.

Examples

You can see an example of the offers.message-target section in Live TV documentation.

[[offers.interaction]]

Optional This section is a legacy mechanism for offering launchable targets in the app to the rest of the system. This section is being replaced with [[offers.module]] + includes-messages and offers.message-target. In the transition period, apps that are missing offers.message-target but have non zero entries in offers.interaction will produce a manifest validation error in packaging. The offers.interaction section declares the interactive or task components, available to launch by other application packages, given they have the required privileges as declared here.

Fields

  • id (string, required): The unique identifier of the interactive or task component. The identifier belongs to one of the components declared in the manifest under the [components] section.
  • launch-uris (array of strings, optional): A list of URIs that can be used to invoke the component.
  • required-privileges (array of strings, optional): A list of privileges required to launch the component. Only system packages can restrict access using required privileges. This restriction feature does not work for non-system packages.

Examples

You can see an example of the offers.interaction section in Content Launcher documentation.
Last modified on September 30, 2025