Cleeng & Roku
Roku pioneered streaming for the TV back in 2008, and grew fast on the back of the success of Netflix. It has now shipped millions of devices around the World, that includes streaming sticks, settopboxes and smart TVS. On top of that Roku partnered with Pay TV services like Sky UK and Telstra Australia that is leveraging their technology. All these different devices are powered with the same Roku OS. Roku has a high penetration in the US and UK but is hardly used outside those countries.
Like Apple and Android, Roku has it's own store in which anybody (after approval) can publish an application. Roku calls such apps a channel. These channels need to be developed using Roku's bespoke coding language "BrightScript" (either with default templates or custom) and leverage the build-in Roku player that is compatible with all major video streaming platforms. Note that each Roku device comes with a remote control that only has a few buttons and no keyboard.
Cleeng has made a rich SDK available on Github that can be launched as a channel by itself. If you are new to Roku this will safe you significant time. Please follow the general instructions on Roku.com for the process of setting up your own (private) channel after which you can install the Cleeng specific SDK channel example as outlined in next section.
In these instructional documents the focus is on the user aspects and not on the actual playback of videos. Please refer to documentation from your video streaming platform for such details.
Once you have the basic channel running, it's recommended to follow the tutorial that explains how you can pair a device. For performance, maintainability and security it is assumed you have a middle-ware application. Now having the user identified using the Pair a Device logic, you can validate entitlements for that user. This logic is identical on any other native application, so we refer to the general entitlement tutorial for that. Cleeng can also integrate with Roku in-app payments, but this is not documented here.
Roku SDK installation and configuration
Download the SDK zip file & run the channel with default graphic assets that have been supplied with this SDK.
There are two main configuration files:
manifest file (/manifest) This is a mandatory file by the Roku platform & contains information like build version, channel name, path of splash screen.
config.brs (/source/config.brs) In this file, you can manipulate following key config values:
- eventUrl - Currently this eventUrl is pointing to a JSON data file supplied with the package as package/json/events.json You can edit this file to your own preferences. Ideally, place this file on some server & point its http url Please note that this JSON data contains the events to be shown & the basic properties of events such as its title as to be displayed, corresponding event/offer id in Cleeng's system, start/end time etc. Off course you can make it a dynamic data using any server side technology (e.g. php)
- eventSource - eventSource can take two values "pkg" or "server" If you are referring the eventUrl above from a http server the value needs to be "server"
- errorMessage - These are the text messages that end user will see in the work-flow in the scenarios like failed authentication. You can change these as you want.
What is the Cleeng Roku SDK ?
Cleeng-Roku-SDK is primarily a layer on Roku SDK to help you quickly build a Roku channel with offer/events that you have configured as broadcaster in your Cleeng account. The SDK has some added code over Roku-SDK for accessing Cleeng's Server APIs.
What language is it written into ?
Roku channels, and this SDK is written in BrightScript language. This is used for any application on the Roku platform. To know more about the language please visit BrightScript Reference
What are the main functions of this SDK ?
The SDK is designed for premium LIVE and VOD content. It allow end-users to link the device to their account, and retrieve active entitlements from content purchased on the web or other devices.
What do I need to know to use Cleeng's Roku SDK ?
You would need below three to start with
Roku developer account
Know how to load & run a channel build (e.g. this SDK) on a Roku device in DEV mode.
Change/replace (Graphics/Tex) you need & verify changes. Refer the next question in FAQ about “minimum changes to do”
Below are further details:
You can register an a/c with Roku at roku.com & enroll your registered account as developer account. This does not have cost. You need to know some basic knowledge like how to set a Roku device in DEV mode, how to side load a in-develop build & how to see debug logs. You can find this basic & much more information at Roku develop guide
What minimum changes do I need to make in this SDK to use ?
Replace the default graphics images (PNG / JPEG format) provided with SDK as per below specification:
- Splash Screen
<packagedir>/image/HD/splash.png (1280x72 0)
- Overhang Banner
- Channel icon
- Apart from above, some other images are required to be uploaded when you submit the Channel to Roku for public listing.
FHD Icon (540x405)
HD Icon (290x218)
SD Icon (214x144)
Screenshot(s) (Min 1, Max 6) (1280x720)
- Splash Screen
How can I publish my Roku channel?
A package needs to be created from channel build & it is submitted to Roku Channel store for QA purposes. While submitting channel’s details such as its public name, category, screenshots, geo-restrictions for the channel (if any) are prompted for. Once Roku QA approves the Channel it becomes available for end users to download on their respective devices. For more details on this please refer Roku’s Instructions on Packaging & Publishing.
Ok, I have more queries !
Please use the dedicated support channels. If it is BrightScript or Roku related please contact your Roku representative. For Cleeng specific inquiries, please create a ticket via support on publisher.support.cleeng.com or for Enterprise clients, please connect to your Tech Consultant.