Roku On-Demand SDK

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:

Roku-OnDemand-Code.png

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