Skip to end of metadata
Go to start of metadata

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:

manifest

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.

Attribute

Type

Values

Example

title

String

Name of your application for display under the focus icon

My Video Application

major_version

Integer

Major portion of version string

1, for version 1.2

minor_version

Integer

Minor portion of version string

2, for version 1.2

build_version

Integer

Build number

150, for the 150th 1.2 build

mm_icon_focus_fhdStringOptional.

Local URI for the channel poster image for FHD
Size: 540 x 405

pkg:/images/mm_icon_focus_fhd.png

mm_icon_focus_hd

String

Local URI for the channel poster image for HD
Size: 290 x 218

pkg:/images/mm_icon_focus_hd.png

mm_icon_focus_sd

String

Local URI for the channel poster image for SD
Size: 214 x 144

pkg:/images/mm_icon_focus_sd.png

Legacy Required Manifest Attributes

The attributes in this table were required by legacy devices, but are not used in the current firmware.

Attribute

Type

Values

Example

subtitle

String

Short promotional description of your application for display beneath the title

providing the latest in cool videos

mm_icon_side_hd

String

Local URI for the small side image for HD
Size: 108 x 69

pkg:/images/mm_icon_side_hd.png

mm_icon_side_sd

String

Local URI for the small side image for SD
Size: 80 x 46

pkg:/images/mm_icon_side_sd.png

Optional Manifest Attributes

The attributes in the following tables are optional unless otherwise noted. 

Launch Requirement Attributes

requires_audiometadata

Integer

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

1

requires_gaming_remoteIntegerSpecifies 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
requires_bluetooth
(deprecated)
IntegerSpecifies 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

requires_mkv

Integer

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.

1

network_not_requiredIntegerSet 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_requiredStringSpecifies the BrightScript libraries required for the application.roku_ads_lib

Splash Screen Attributes

splash_screen_fhdString

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.

pkg:/images/splash_screen_fhd.png

splash_screen_hd

String

Local URI of the splash screen for HD.

Dimensions: 1280 wide by 720 high.

pkg:/images/splash_screen_hd.png

splash_screen_sdString

Local URI of the splash screen for SD.

Dimensions: 720 wide by 480 high.

pkg:/images/splash_screen_sd.png
splash_colorStringBackground color to use if the splash screen is not full-screen.
#121212

splash_min_time

Integer

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).

1500

Screensaver Attributes

screensaver_title

String

Name of your screensaver that will show up in the screensaver settings page

My cool screensaver

screensaver_private

Integer

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.

1

Special-Purpose Attributes

hidden

Integer

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.

1

playonly_awareIntegerSet 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

DRM Attributes

requires_aaxs_drmIntegerIf 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_versionFloatSpecifies the version of aaxs to use. Currently Roku only supports version 1.01.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.

ui_resolutions

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:

OptionSupport
sdApplications designed for standard definition displays (480)
hdApplications designed for high-definition displays (720)
fhdApplications designed for full high-definition displays (1080)

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 sd,hd.

sd,hd,fhd

 

uri_resolution_autosuboption 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:

uri_resolution_autosub=$$RES$$,SD,720p,1080p

And the Roku player supports full high-definition resolution. Then if the application specifies a URI of:

http://www.roku.com/testChannel/assets/$$RES$$/rokuTV.jpg

At runtime that URI will be modified to:

http://www.roku.com/testChannel/assets/1080p/rokuTV.jpg

And the application will get the full-high definition version of the graphical image in the specified directory.

$$RES$$,SD,HD,FHD
splash_screen_fhduriURI of the FHD version of the splash screen."pkg:/images/sge_fhd_splash.jpg"
mm_icon_focus_fhduriURI of the FHD application icon."pkg:/images/sge_fhd_icon.jpg"
  • No labels