This page has been deprecated. Please see Roku Channel Manifest for the latest changes.
An application is a zip file containing the contents of the application directory tree. This directory tree has a few required files.
- At the root level there must be a file named "manifest" (that is, "pkg:/manifest") which contains attributes for the application.
- At the root level there must be a directory named "source" (that is, "pkg:/source") which contains one or more BrightScript source code files.
The attributes specified in the manifest are things such as the name and version number of the application, the application image to be used on the main menu, etc.
Each attribute is on a separate line, and has the form "name=value". Some attributes are required and some are optional.
Each name=value pair must end with a newline character, or it may not be parsed by the firmware. Take care that the last line actually ends with a newline character.
Empty lines are ignored.
Lines beginning with a '#' (number sign) are comment lines and are ignored.
A sample manifest file might look like this:
Each application provides four images for the main menu, specified by the mm_icon_ attributes – a large, center-focus icon in both SD and HD sizes, and a smaller non-focused side image in SD and HD.
Images may be .png or .jpg files, but .png is required if alpha channel support is needed.
At system start-up, the manifest file of each installed application on the system is examined and the top level menu is configured and displayed.
Required Manifest Attributes
The attributes in this table are all required and must appear in every manifest file.
Name of your application for display under the focus icon
My Video Application
Major portion of version string
1, for version 1.2
Minor portion of version string
2, for version 1.2
150, for the 150th 1.2 build
Local URI for the channel poster image for FHD
Local URI for the channel poster image for HD
Local URI for the channel poster image for SD
Legacy Required Manifest Attributes
The attributes in this table were required by legacy devices, but are not used in the current firmware.
Short promotional description of your application for display beneath the title
providing the latest in cool videos
Local URI for the small side image for HD
Local URI for the small side image for SD
Optional Manifest Attributes
The attributes in the following tables are optional unless otherwise noted.
Launch Requirement Attributes
The roAudioMetadata component requires the use of a dynamically loaded library that is not part of the initially booted image. Therefore, an entry must be added to the manifest of any applications that use the roAudioMetadata component so that it can be loaded when the channel is launched
|requires_gaming_remote||Integer||Specifies that a gaming remote must be linked to the Roku Player to launch the application. If not, a dialog box is presented to the user.||1|
|Integer||Specifies that a Bluetooth remote must be linked to the box to launch the app. If not, a dialog box is presented to the user. This attribute has been superseded by requires_gaming_remote.||1|
Playing MKV files requires the use of a dynamically loaded library that is not part of the initially booted image. Therefore, an entry must be added to the manifest of any applications that require MKV support so that support is enabled when the channel is launched.
|network_not_required||Integer||Set to 1 to specify the application does not require the network (such as the USB Media Player). This lets the user launch an application even if there is no network connection.||1|
|bs_libs_required||String||Specifies the BrightScript libraries required for the application.||roku_ads_lib|
Splash Screen Attributes
Local URI of the splash screen for FHD. The splash screen is displayed immediately when the user launches your app, until you show your first screen. The image is centered if it does not match the size of the screen.
Dimensions: 1920 wide by 1080 high.
Local URI of the splash screen for HD.
Dimensions: 1280 wide by 720 high.
Local URI of the splash screen for SD.
Dimensions: 720 wide by 480 high.
|splash_color||String||Background color to use if the splash screen is not full-screen.|
Minimum amount of time (in milliseconds) to display the splash screen. If no value is specified, then 1600 (1.6 seconds) is used. If 0 is specified, then there is no default time, so the splash screen disappears as soon as the application displays its first screen. (This may result in the appearance of flashing, if your application shows its first screen quickly).
Name of your screensaver that will show up in the screensaver settings page
My cool screensaver
If the value is '0', the screensaver_title will be selectable in the screensaver settings page. Otherwise, the screensaver will only run when your app is running.
The hidden property in the manifest file tells the firmware to not display the app on the home screen. Hidden apps can still be launched over the network via the External Control API.
|playonly_aware||Integer||Set to 1 to specify the application responds to the Play Only remote control button event. If not set, the application will receive the Play event instead when the user selects the button.||1|
|requires_aaxs_drm||Integer||If set to 1, specifies that Adobe DRM is to be used with HLS streams. Use this if your HLS streams are protected with Adobe aaxs DRM.||0|
|requires_aaxs_version||Float||Specifies the version of aaxs to use. Currently Roku only supports version 1.0||1.0|
Scene Graph UI Resolution Setting Attributes
You specify the intended support for various screen display resolutions in special manifest file attributes for Scene Graph applications. The following describes the manifest file attributes to specify the supported screen resolutions for Scene Graph applications.
option list string
A comma-separated list of up to three strings that identify the UI resolutions the application has been designed to support. The string can include the following options:
The example shows how to specify that the application is intended for all three possible supported resolutions, and will automatically scale and select graphical images (if provided) for all three. The default value is
|uri_resolution_autosub||option list string|
Provides a flexible way to specify graphical image URIs that are automatically modified to replace a specified string with a string that gets a resolution-specific graphical image.
The attribute value is a comma-separated list of four strings that specify the string to be replaced along with the replacement strings for SD, HD and FHD resolutions.
For example, suppose the manifest includes this line:
And the Roku player supports full high-definition resolution. Then if the application specifies a URI of:
At runtime that URI will be modified to:
And the application will get the full-high definition version of the graphical image in the specified directory.
|splash_screen_fhd||uri||URI of the FHD version of the splash screen.||"pkg:/images/sge_fhd_splash.jpg"|
|mm_icon_focus_fhd||uri||URI of the FHD application icon.||"pkg:/images/sge_fhd_icon.jpg"|