The purpose of this document is to provide a guide for how channels are packaged, uploaded, and published to the Roku Channel Store.
Our Application Distribution Agreement allows you to distribute your channel on our platform around the world. The agreement stipulates commercial terms including revenue and/or advertising inventory revenue share.
Developers will upload their channels for distribution to Roku streaming devices via https://developer.roku.com.
When a Channel is created, a developer has an immutable choice between a public or private channel. There will be no opportunity to change your mind later. Public channels can be made available to end users through the Roku Channel Store after being approved by Roku. Private channels will only be made available to end users via a channel code, but do not require approval by Roku.
Channel packages are initially uploaded to the Channel Store as unpublished channel versions. Developers can do beta-testing by accessing these unpublished packages via Roku assigned channel codes.
When satisfied with the testing results, developers can directly publish private packages. This has the effect of making the channel available to end users via a "Vanity" channel code that the developer has chosen for their channel. There is no approval process for publishing private channels. Private channels are used by developers who wish to manage the distribution of their channels to a select group of end-users. The Channel Store now supports URLs that will add a channel via the channel code to a user's Roku box. Developers can publish these URLs on their website to make it easy for their users to add their channel.
Public channels cannot be directly published. They will be submitted for approval by Roku. This approval process usually takes about a week. Once approved by Roku, your channel package will be published and available to end users in the Channel Store.
Developers can also monetize their content by integrating their channels with Roku’s billing services. By enrolling in Roku’s Billing Services Program, developers will be able to take advantage of Roku’s payment processing technology and customer support without developing their own infrastructure to do so. See Roku Billing and In-Channel Purchasing (Since v4.3) for more information.
If a developer intends to publish a subscription, transactional, or pay-to-install channel in the Roku Channel Store, they must integrate their paid channel with Roku billing services.
Since Firmware version 2.6:
With the v2.6 release of the SDK, we have also added versioning support to the Channel Store. This versioning support enables the developer to specify the minimum firmware and hardware dependencies for each package version submitted. The Channel Store versioning support will only display channels to end users' Roku boxes that meet the developer specified minimum firmware version and hardware dependencies. Because the Roku box always selects the highest package version that is available for a channel that also meets the minimum firmware and hardware dependencies of the currently running Roku box, an end user never has to make any package version decisions for a particular channel.
Instead of end users making channel version decisions, we require developers to specify firmware and hardware dependencies when loading package versions for a channel. Currently, the only hardware dependency is the availability of a USB port. Firmware dependency specification is a somewhat complex topic for developers and we will cover it in greater depth with usage patterns and FAQs later in this document.
Since Firmware version 2.9:
With version 2.9, we've introduced the ability to charge for your channel within the channel store. By enabling your account for "Billing Services", you can begin charging for your channel. You can upgrade you account by downloading the "Billing Services Agreement" on your account's "developer site" home page and returning it to Roku. You will need to supply your TaxID and agree to the Roku Services terms before completing your enrollment.
Since Firmware version 4.3:
With version 4.3, we've introduced the ability to charge for In-Channel Products. By enabling your account for "Billing Services", you can create and charge for In-Channel Digital Products. You can upgrade you account by downloading the "Billing Services Agreement" on your account's "developer site" home page and returning it to Roku. You will need to supply your TaxID and agree to the Roku Services terms before completing your enrollment. Please see Add an In-Channel Digital Product for information on how to add an In-Channel Digital Product for users to purchase within your channel. These products may be used for a free version of a game that unlocks addition levels with an In-Channel Digitial product purchase. Video channels may choose a rental scheme where titles are rented via an In-Channel Digital Product. You could even create consumable digital goods (say "coins" that enable different features) that may have a quantity associated with the purchase.
Since Firmware version 7.0:
With version 7.0, developers will be able to enable development mode only on a linked device. You can link their device by either resetting it to factory defaults or going to Streaming Channels on your device.
Developers will have to accept the terms of the SDK License on the device to build and test channel; and accept the terms of the Application Distribution Agreement to publish, distribute and monetize their channels.
Developers must be enrolled in Roku Billing to publish paid channels to the Channel Store; else they can publish as private channels or free channels.
- Getting Started
- Packaging Your Application
- Managing Channels
- Common Scenarios
- Roku Billing and In-Channel Purchasing (Since v4.3)