This SDK allows you to set up an eye-catching, easy to use Roku video streaming app integrated with the Zype platform with minimal coding and configuration. The app is built upon the Roku Scene Graph API and Zype API. With minimal setup you can have your Roku app up and running.
- Populates your app with content from enhanced playlists
- Video Search
- Live Streaming videos
- Video Favorites (available with device linking)
- Resume watch functionality
- Deep linking to specific videos
- Dynamic theme colors
- Autoplay
- Midroll ads
- Closed Caption Support
- Pre-roll Ads (VAST)
- Native SVOD via In App Purchases
- Universal SVOD via device linking
-
In order to create a Roku app using the SDK, you will need to create a Roku app on the Zype platform. If you have not done this you can do that on the Zype platform in the Dashboard in the Manage Apps tab under Publish. You will see a button to create a new app; just follow the instructions there.
-
Once you have your Roku app created on the platform, navigate to your Roku app settings by clicking your Roku app under Manage Apps. At the bottom of the page you will see an App Key and OAuth Credentials (contains the client id and client secret). You will need these credentials to link your Roku app to Roku app settings on the Zype platform.
-
Inside the source folder, rename config.tmpl.json to config.json. Then put your app key, client id and client secret from step 2 inside config.json.
-
The SDK comes with default assets that you will need to swap with your own. You can find these assets in the images folder. The images you will want to swap out are the app icon, splash screen and overhead logo. To swap in your images, you just need to rename your images and replace the ones in the images folder. For more information on this, you can see the documentation here.
-
You can now take a look at your app by side loading (uploading it to your Roku device) the app to a Roku device on the same internet connection. You can do this by updating the app.mk file. Change ROKU_DEV_TARGET to your Roku's IP address. You can then set DEVPASSWORD to whatever password you want to use when setting up your Roku for development. For more information on sideloading and running your Roku app, see the documentation here.
-
Update the title in manifest to the title of your Roku app. This is the title that the users will see once the app is installed.
-
(Optional) You can update the app's theme and brand color by setting the theme and brand_color inside source/config.json. The theme can be set to: "dark", "light", and "custom". The brand color can be set to any hex color value.
- If you want to use a custom theme, you can update the values inside source/themes.brs, CustomTheme(). Remember to update these assets if you want to use a custom theme: customLoader.png, focus_grid_custom.9.png, customOverlay.png, button-focus-custom.png.
Enhanced Playlists
- To set up enhanced playlists, there needs to be a root playlist set up on the platform. To set the root playlist, you can go to your Roku app settings under Manage Apps and set the Featured Playlist to your root playlist's id. For more information on setting up enhanced playlists, you can read the documentation here.
Monetization
-
In order to use Native SVOD in the apps, some settings need to be updated on the Zype platform to enable Ownership validation and Consumer Entitlements. Please contact Zype support to configure settings in order for your app to function normally when using Native SVOD.
-
In order to submit a public Roku app with Universal SVOD (device linking), Native SVOD also needs to be enabled. This requirement comes from Zype's experiences with submitting Roku apps. In order to enable both of these monetizations, go to your Roku app settings under Manage Apps and then click Edit Advanced Settings. In the advanced settings, you will want to go to the Monetization tab and turn on both In App Purchasing and Device Linking.
-
In order for your subscriptions for Native or Universal SVOD to work you will need to create them on the Zype Platform. For more information on creating subscriptions for Universal SVOD on the platform, read the following documentation. For more information on setting up native subscriptions with the live app, see the documentation to be provided soon.
Older Roku devices will have less powerful hardware and therefore less processing power. One noticeable difference when running the apps on newer Roku devices (Roku 4 and newer) is that the loading indicator/spinner will have an animation. This feature was taken out for older Roku devices which did not have hardware to support animations and rendering of higher resolution images.
We welcome contributions to Zype Roku Scenegraph SDK. If you have any suggestions or notice any bugs you can raise an issue. If you have any changes to the code base that you want to see added, you can fork the repository, then submit a pull request with your changes explaining what you changed, why you believe it should be added, and how one would test these changes. Thank you to the community!
If you need more information on how Zype API works, you can read the documentation here. If you have any other questions, feel free to contact us at [email protected].
- Khurshid Fayzullaev (@khfayzullaev) - Initial work
- Basit Nizami (@basit-n) - Major SDK feature updates
- Andy Zheng (@azheng249) - Feature updates
See the full list of contributors who particated in this project.
This project is licensed under the MIT License. See the LICENSE file for more details.