The Roku On-Demand SDK is an UI component library written in Brightscript to quickly display diverse UI pages, categories, and channels. This SDK is dependent on the Roku Core SDK.
Features
The dotstudioPRO Roku On-Demand SDK is equipped with robust capabilities to seamlessly render various UI components, presenting UI Pages, Categories, and Channels. Leveraging the Roku Core SDK, the Roku On-Demand SDK efficiently retrieves data from the API, ensuring a streamlined data-fetching process.
Key Features:
-
Home, Movies & Series Pages Support: The Roku On-Demand SDK excels in rendering essential UI components of home page, movie pages, and series pages, offering a versatile viewing experience.
-
Category Page UI Support: The Roku On-Demand SDK ensures an organized and visually appealing presentation of content categories.
-
Channel Page UI (PDP) Support: The Roku On-Demand SDK facilitates the display of detailed Channel Page UI, enhancing the user experience by providing comprehensive information on specific channels.
-
Callback Handling: The Roku On-Demand SDK adeptly manages necessary callbacks, ensuring seamless interaction and responsiveness within the application.
-
Lazy Loading for Enhanced Experience: The Roku On-Demand SDK incorporates lazy loading of data, efficiently loading content as needed for a more user-friendly interface.
Requirements
| Platform | Minimum Version | Status |
|---|---|---|
| Roku | 11.0+ | Fully Tested |
Installation
Roku Core SDK must be installed to start using this SDK.
Utilize the following commands to seamlessly install the Roku On-Demand SDK into your Roku project:
git clone https://github.com/dotstudiopro/on-demand-roku
Copy the on-demand-roku/dotstudioPRO-on-demand folder into your channel so that the path to the folder is pkg:/components/dotstudioPRO-on-demand
How to Use
Page Component
To incorporate the PageComponent into your Roku Scene xml file:
After add PageComponent in xml file provide below necessary inputs in Scene .brs file
Function init()
m.top.setFocus(true)
m.PageComponent = m.top.FindNode("PageComponent")
m.PageComponent.visible = true
Carouselconfig = {
width: Int(420),
height: Int(630),
rowItemSize:[1920,1080],
circledisableduri:"pkg:/images/circledisabled.png",
circleactive:"pkg:/images/circleactive.png",
showFirstRailAsCarousel:true
}
Channelsconfig = {
width: Int(292),
height: Int(438),
rowItemSpacing:[20,0],
itemSize: [1920,500],
}
pagetype={
pagetype : "homepage"
}
m.PageComponent.CallFunc("setConfig",Carouselconfig,Channelsconfig,pagetype)
End Function
Properties
| Id | Key | Type | Description |
|---|---|---|---|
| 1. | pagetype | Home / Movies / Series) | dotstudioPRO Channel retrieved using Roku Core SDK. or newly created Channel Object with slug |
| 2. | showFirstRailAsCarousel | True / False | Indicates if First Category data needs to be shown as Carousel. |
| 3. | Carouselconfig | Object | Carousel Configuration. |
| 4. | Channelsconfig | Number | Channels Configuration. |
| 5. | onSelectChannel | Callback | Callback when User selects Channel. |
Updated