In the Spotlight

Your Roku SDK Template


Communication Flow

Please follow the steps below to get your Roku SDK channel up an running. Congratulations – you’re well on your way to becoming an owner of a Roku SDK TV channel!

Step 1: Download Sample Branding Files

The easiest way to provide your own branding is to modify the set of sample branding images (without changing the names of the files or their resolution), zip up all the files, and send us the .zip archive.

Click HERE to download the sample branding set

Step 2: Supply the Branding for Your Channel

As part of the download, you’ll find the set of the sample images used to brand your channel:

  • Logo
    The logo is a transparent png file, displayed in the top-right corner of your channel.
    Filename: top_logo.png
    Size in pixels: 400×90
  • Splash Screens
    The splash screen is displayed while your channel is loading. To support TV’s of different resolutions, 2 images are needed:

    1. Filename: splash_screen_fhd.png
      Size in pixels: 1920×1080
    2. Filename: splash_screen_hd.png
      Size in pixels: 1280×720
  • Application Icons
    An application icon represents your channel. It is displayed alongside other channels, or on its own as a result of a search. To support TV’s of different resolutions, 3 images are needed:

    1. Filename: mm_icon_focus_fhd.png
      Size in pixels: 540×405
    2. Filename: mm_icon_focus_hd.png
      Size in pixels: 336×210
    3. Filename: mm_icon_focus_sd.png
      Size in pixels: 246×140

Please modify all the supplied images to reflect your branding, zip them up, and upload it as part of a support ticket.

In the body of the ticket, please specify:

  • The name of your channel.
  • The URL of the Menu Feed (JSON file).
  • The color of the menu bar on the left-side (default: #440f15).

The menu items and their corresponding master categories are listed in the Menu Feed file. Each menu item needs a separate feed, which you manage in your Livecast365 account.
HERE is a menu JSON example – if you do not use Livecast365, the simplest thing to do is to copy it to your website and edit the “menuData” part. Note that each menu item has its own feed and its own icon (PNG with transparency) to represent it.

If you do not have a Livesact365 or another video hosting account yet, sign up HERE. You can use feeds from Direct Publisher or from Roku SDK channels, whether they are published or not.

You’ll find an example of a Menu Feed as part of the download (menu.json). In Livecast365, you can use Feed Editor / Menu inside Channel Configuration to manage it. Alternatively, you can the upload menu.json file on your website, and manage it manually, which is easy and straightforward.

Step 3: Menu Icons

Each menu item needs an icon. As an example, download the icons that we use for Search and Settings.

An icon file is a transparent PNG image, 96×96 pixels in size, which is typically a white outline rendered against the transparent dark background. Do a search for “free icons” and you’ll find plenty of resource sites.

You can place the menu.json file with your menu on your own website, and use FTP or CPanel to edit it as needed. Alternatively, we can place the menu on DrAlex.TV and give you the FTP access.

If you don’t have an FTP client, we recommend Filezilla, which is free.

Step 4: Specify Subcategories for each Master Category

For Direct Publisher channels, categories are defined in your Roku developer area, by using tags (called OTT Categories in Livecast365). Because we are using Direct Publisher JSON feeds for the SDK channel, we cannot define categories in your Roku developer area. Instead, the feeds need to be modified to include the categories.

Have a look at the sample feed HERE, observe the list of categories at the bottom of the file, and modify your JSON feed using Feed Editor to list all the categories.

The video below provides more in-depth explanation, and guides you through it step-by-step.

Note: if you don’t see the “categories” entry in your feed, simply copy the code between the lines:
“isDescriptionPopupNeeded”: false,
“showContentTitleUnderTray”: false

"categories": [
            "name": "My Category 1",
            "query": "My Category 1",
            "order": "most_recent"
            "name": "My Category 2",
            "query": "My Category 2",
            "order": "most_recent"
            "name": "My Category 3",
            "query": "My Category 3",
            "order": "most_recent"

Step 5: Channel Certification

When we finish setting up and compiling your channel app, you’ll receive the package (.pkg file) to upload to your Roku account.

Go to Roku developer portal with your Roku username and password, create a new TV channel, and upload the package file. Your channel is initially a private one. You can add more content and make sure everything looks perfect before applying to Roku to certify your channel, which normally takes up to 2 weeks. 

As soon as your channel has been approved, it goes public, and starts appearing in the searches and channel listings.


The lead capture is per SDK channel, viewers do not subscribe to individual categories. The first (top) master category is always enabled whether people are subscribed or not. The purpose of this category is to supply a small number of videos that talk about the channel and what they get when they subscribe. All other master categories are disabled until a viewer registers. It is possible to see the sub-categories and video thumbnails with their titles and descriptions, but video viewing is disabled.

When viewers register, all master categories are enabled. From this moment on, users are identified using a server-created token, both on the server side, and on the client side. In implementing the SDK app, we’ve followed the Roku specification to the letter – you can find the full documentation HERE.

A word of caution: as per Roku specification, the tokens are stored in the Roku registry, to be compared with the tokens stored on the server. The registry is small, and allocated on per-account basis, so that the same data can potentially be shared among different apps that belong to you. Even though tokens do not take up lots of space, they can fill the registry causing the app instability if you have lots of clients, each with lots of channels, and all published under your account. You can avoid the registry problems by publishing client channels under client Roku accounts, instead of under your Roku account.
This only applies to Roku channels. Compared to Roku, Amazon Fire TV has the registry that is much larger and more robust.


For quick feedback, send us a message from the contact-us page.
Emails sometimes get lost or end up in the wrong folder,
so we highly recommend using support tickets instead: New Support Ticket | My Tickets

In addition, feel free to contact Dr Alex directly on Facebook, or through Skype: Dr.Alex.Adelaide.

When your channel is up and running, please send me the vanity URL so that I can install it on my Roku device, and help you with feedback.