Shipping the Roku channel to the Roku Channel Store

The Roku build is a sideloadable channel zip. Roku only accepts a signed .pkg, and the signing key can only be generated and used on a Roku device in developer mode, so the last two steps run on your own Roku: install, test, package, then upload the .pkg in your developer dashboard.

  • Developer account: free
  • Signed on your Roku
  • Live, videos and radio

Roku renames dashboard pages now and then; each step says what the page does, which survives a rename. The key sequence and the device pages have not changed in years.

1. Enrol as a Roku developer

  1. Sign in at developer.roku.com with the Roku account that will own the channel, and complete the developer enrolment. There is no fee for a free channel.
  2. Accept the developer agreements when the dashboard asks. The publisher name shown in the store comes from this profile.

2. Switch the Roku to developer mode

  1. With the Roku remote press Home three times, Up twice, then Right, Left, Right, Left, Right.
  2. Note the IP address on the Developer Settings screen, enable the installer, accept the agreement and set a web server password. The device reboots.

Developer mode holds one sideloaded channel at a time; installing another replaces it.

3. Sideload and test the zip

  1. Build Roku under Build your apps and download the Roku channel (.zip). Do not unpack it.
  2. Browse to http://<roku-ip> from a computer on the same network and sign in as rokudev with the password from step 2.
  3. Upload the zip and press Install. The channel opens on the TV immediately.
  4. Exercise it: Watch live, a video from the library, resume and the watchlist, Search, About; for a radio station, Listen live and Pause. Press Back from the first screen to confirm it exits.
  5. Take the store screenshots from the same web page (Utilities, Screenshot).

4. Generate the signing key (once)

  1. Open a telnet session to port 8080 of the Roku (telnet <roku-ip> 8080) and run genkey.
  2. Store the printed password and DevID somewhere safe. Every update of the channel must be signed with this key.

On a different Roku, or after a factory reset, restore the key with Rekey on the device's Utilities page, using a .pkg already signed with it and its password. A lost key means a new channel.

5. Package the channel

  1. With the channel installed, open Packager on the device's web page.
  2. Enter an app name and version (the version matches the build: 1.0.7 for build 7) and the genkey password, then Package.
  3. Download the resulting .pkg.

6. Create the channel and submit it

  1. In the developer dashboard, add a new public channel built with the SDK, named as in the app.
  2. Store listing: roku/poster-540x405.png as the channel poster, the description, category, the screenshots from step 3 and the generated privacy policy URL.
  3. Upload the .pkg. The dashboard runs Roku's static analysis on it; read every finding.
  4. Submit for certification. Answer any certification notes in the dashboard; once approved, publish.

Updates: rebuild Roku in the panel, sideload the new zip, package it with the same key and upload the .pkg as a new version. Videos, streams and links come from the live feed and never need an update.