Blog module icon

JSON feed

Jan 05

JSON Feed

Posted on January 5, 2021 at 10:19 AM by Scott Ramsburg

{ "providerName": "Roku Developers", "language": "en-US", "lastUpdated": "2020-03-15T02:01:00 02:00", "shortFormVideos": [{ "longDescription": "Video highlighting Direct to Play and Enhanced Voice Control features", "thumbnail": "https://d6hm6c1vbpfva.cloudfront.net/shortform-4be9d883d51ca3161c780d261c3e1ef480e7e56d_2/images/VoiceFeatures.jpg", "releaseDate": "2020-01-17", "genres": [ "educational" ], "tags": [ "feature" ], "id": "shortform-4be9d883d51ca3161c780d261c3e1ef480e7e56d", "shortDescription": "Video highlighting Direct to Play and Enhanced Voice Control features", "title": "Voice Features", "content": { "duration": 98, "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/roku-voice-demo-v4.mp4", "quality": "HD" }], "language": "en-us", "dateAdded": "2020-01-29T02:39:12Z", "captions": [{ "language": "en", "captionType": "CLOSED_CAPTION", "url": "https://d6hm6c1vbpfva.cloudfront.net/shortform-4be9d883d51ca3161c780d261c3e1ef480e7e56d_2/captions/VoiceFeatures_cc_eng.srt" }, { "language": "en", "captionType": "CLOSED_CAPTION", "url": "https://d6hm6c1vbpfva.cloudfront.net/shortform-4be9d883d51ca3161c780d261c3e1ef480e7e56d_2/captions/VoiceFeatures_cc_eng.vtt" } ] } }, { "longDescription": "Steps for enabling Developer Mode on a Roku device", "thumbnail": "https://d6hm6c1vbpfva.cloudfront.net/shortform-a893e770b636f6459dcf027fe361cd49d7ac44c2_2/images/enablingDeveloperMode.jpg", "releaseDate": "2020-01-17", "genres": [ "educational" ], "tags": [ "getting-started", "demo" ], "id": "shortform-a893e770b636f6459dcf027fe361cd49d7ac44c2", "shortDescription": "Steps for enabling Developer Mode on a Roku device", "title": "Enabling Developer Mode", "content": { "duration": 120, "videos": [{ "videoType": "DASH", "url": "https://d1n7kckvd41xqg.cloudfront.net/e623cb56c0f54b36ba835a6a5dc93f27/30e282cf1e4a4b08a4d893277ac8f592/807911f5ee304839b53cb56d5f30f9a9/index.mpd", "quality": "HD" }], "language": "en-us", "dateAdded": "2020-01-29T02:39:11Z", "captions": [{ "language": "en", "captionType": "CLOSED_CAPTION", "url": "https://d6hm6c1vbpfva.cloudfront.net/shortform-a893e770b636f6459dcf027fe361cd49d7ac44c2_2/captions/RokuDevMode3_cc_eng.srt" }, { "language": "en", "captionType": "CLOSED_CAPTION", "url": "https://d6hm6c1vbpfva.cloudfront.net/shortform-a893e770b636f6459dcf027fe361cd49d7ac44c2_2/captions/RokuDevMode3_cc_eng.vtt" } ] } }, { "longDescription": "This video demonstrates the Roku Remote Debugger, and it shows how the BrightScript network debug protocol could be used in an integration with an IDE such as Visual Studio Code.", "thumbnail": "https://d6hm6c1vbpfva.cloudfront.net/shortform-b2500d7849ec949799cb1d5d0155c6f1eba3308a_1/images/roku-brightscript-network-debug-protocol.jpg", "releaseDate": "2020-01-20", "genres": [ "educational" ], "tags": [ "demo" ], "id": "shortform-b2500d7849ec949799cb1d5d0155c6f1eba3308a", "shortDescription": "Demonstrates the Roku Remote Debugger", "title": "BrightScript debug protocol", "content": { "duration": 740, "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/roku-brightscript-debug-protocol.mp4", "quality": "HD" }], "language": "en-us", "dateAdded": "2020-01-29T02:39:11Z" } }, { "longDescription": "Video that demonstrates the Roku automated channel testing software. It provides a brief overview of the technology stack, and it shows how both the Roku WebDriver and Robot Framework Library can be used for state-driven channel UI automation testing.", "thumbnail": "https://d6hm6c1vbpfva.cloudfront.net/shortform-4374be10035077242dde8b7fe272e509ad6e563a_1/images/basicTestReport.jpg", "releaseDate": "2020-01-20", "genres": [ "educational" ], "tags": [ "demo" ], "id": "shortform-4374be10035077242dde8b7fe272e509ad6e563a", "shortDescription": "Demonstrates the Roku automated channel testing software.", "title": "Automated channel testing", "content": { "duration": 713, "videos": [{ "videoType": "DASH", "url": "https://d1n7kckvd41xqg.cloudfront.net/5b4e5754cc0b44bfaef78e14fcbdaebc/30e282cf1e4a4b08a4d893277ac8f592/807911f5ee304839b53cb56d5f30f9a9/index.mpd", "quality": "HD" }], "language": "en-us", "dateAdded": "2020-01-29T02:39:10Z" } }, { "longDescription": "Video demonstrating how a developer can use the Developer Dashboard's user access management feature to give team members the authority to take administrative actions, which are appropriate for their respective organizational roles", "thumbnail": "https://d6hm6c1vbpfva.cloudfront.net/shortform-a59a8c9b7140da32b98cb91fe415a2e3e7dc0660_1/images/userManagementAccess.jpg", "releaseDate": "2020-01-20", "genres": [ "educational" ], "tags": [ "demo" ], "id": "shortform-a59a8c9b7140da32b98cb91fe415a2e3e7dc0660", "shortDescription": "Demonstrates how a developer can use the Developer Dashboard's user access management feature", "title": "Managing user access", "content": { "duration": 576, "videos": [{ "videoType": "DASH", "url": "https://d1n7kckvd41xqg.cloudfront.net/165bffb0ffed48f0b33f3af595ccd5dc/30e282cf1e4a4b08a4d893277ac8f592/807911f5ee304839b53cb56d5f30f9a9/index.mpd", "quality": "HD" }], "language": "en-us", "dateAdded": "2020-01-29T02:39:11Z" } } ], "movies": [{ "id": "rsg_unit1_intro", "title": "Introduction to the course", "content": { "dateAdded": "2020-07-22T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit1-intro-v3.mp4", "quality": "HD" }], "duration": 178, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/video1-intro-course-v2.png", "shortDescription": "Watch the introduction to the \"SceneGraph: Build a Channel\" development course. This video outlines the course syllabus.", "releaseDate": "2020-07-21", "longDescription": "Watch the introduction to the \"SceneGraph: Build a Channel\" development course. This video outlines the course syllabus.", "tags": [ "rsg_row" ], "genres": [ "educational" ] }, { "id": "rsg-unit2-developerSetup", "title": "Development setup", "content": { "dateAdded": "2020-07-21T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit2-developerSetup-v4.mp4", "quality": "HD" }], "duration": 431, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit2-developerSetup-v4.png", "shortDescription": "Start developing for the Roku platform. This lesson explains the first steps.", "releaseDate": "2020-07-20", "longDescription": "Start developing for the Roku platform. This lesson explains the first steps, which includes creating the required user and developer accounts and enabling your test Roku device for development. Once you're done, you can sideload Roku's Hello World channel and view its output in the debug console.", "tags": [ "rsg_row" ], "genres": [ "educational" ] }, { "id": "video3-scenegraph-overview", "title": "Core concepts", "content": { "dateAdded": "2020-07-20T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit3-sgoverview-v3.mp4", "quality": "HD" }], "duration": 765, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit3-core-concepts.png", "shortDescription": "Review key concepts for developing on the Roku platform.", "releaseDate": "2020-05-07", "longDescription": "Review key concepts for developing on the Roku platform. This lesson explains the basic design principles and key concepts of Roku development, provide an overview of Roku's development platform, and review the contents and structure of Roku channels. You'll learn about: SceneGraph and BrightScript, the different types of components you can use to build your channel UI, and many other topics. When you are done with this lesson, you will be ready to start working on your first Roku channel!", "tags": [ "rsg_row" ], "genres": [ "educational" ] }, { "id": "rsg-unit4-contentFeed", "title": "Creating the content feed", "content": { "dateAdded": "2020-07-19T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit4-contentFeed-v3.mp4", "quality": "HD" }], "duration": 280, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit4-content-feed.png", "shortDescription": "Learn how the content feed is used to load and organize content in the channel.", "releaseDate": "2020-07-18", "longDescription": "Learn how the content feed is used to load and organize content in the channel. This lesson explains how the ContentNode maps metadata in your content feed to components in your channel UI, and it provides a few tips for creating your own feed.", "tags": [ "rsg_row" ], "genres": [ "educational" ] }, { "id": "video5-grid-screen", "title": "Creating a Grid Screen", "content": { "dateAdded": "2020-07-18T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit5-gridscreen-v4.mp4", "quality": "HD" }], "duration": 1899, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit5-gridScreen.png", "shortDescription": "Build a grid screen that displays rows of content", "releaseDate": "2020-05-07", "longDescription": "Build a grid screen that displays rows of content. This lesson describes how to create a basic channel that gets the videos from a content feed and displays them in a grid. It explains how to create SceneGraph components, set their attributes, and create their interfaces. It also teaches how to use BrightScript to parse the metadata in the content feed, add the metadata to content nodes, and then add the content nodes to your components.", "tags": [ "rsg_row" ], "genres": [ "educational" ] }, { "id": "video6-video-player", "title": "Adding the Video Player", "content": { "dateAdded": "2020-07-15T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit6-videoplayer-v3.mp4", "quality": "HD" }], "duration": 819, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit6-videoPlayer-v2a.png", "shortDescription": "Add a video player to launch content into playback", "releaseDate": "2020-05-13", "longDescription": "Add a video player to launch content into playback. This lesson teaches how to add the SceneGraph Video node to your channel and link it to the content in other components. It explains how to open the video screen when content is selected, and close it when playback finishes or the back button is pressed on the Roku remote control.", "tags": [ "rsg_row" ], "genres": [ "educational" ] }, { "id": "video7-debugger", "title": "Debugging channels", "content": { "dateAdded": "2020-07-14T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit7-debugger-v3.mp4", "quality": "HD" }], "duration": 381, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit7-debugging.png", "shortDescription": "Debug Roku channels using the debug console", "releaseDate": "2020-05-13", "longDescription": "Debug Roku channels using the debug console. This lesson teaches you how to access the debug console via Telnet and the Roku Eclipse Plug-in and use the different debug ports. It explains how to view the crash logs, stack traces, and channel performance metrics in the console, and how to use the interactive debugger to type commands for checking and updating variable values, calling functions, and stepping through the application.", "tags": [ "rsg_row" ], "genres": [ "educational" ] }, { "id": "video8-detailsScreen", "title": "Creating a Details Screen", "content": { "dateAdded": "2020-07-13T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit8-details-screen-v3.mp4", "quality": "HD" }], "duration": 1251, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit8-detailsScreen.png", "shortDescription": "Build a details screen that displays the release date, rating, genre, cast, and detailed description of the content selected from the grid screen", "releaseDate": "2020-07-13", "longDescription": "Build a details screen that provides more information about the content selected in the GridScreen, including the item's release date, rating, genre, cast, and detailed description. This lesson explains how to build a screen using more complex SceneGraph components. It describes how to create a Play button that launches the video player, populate the details screen with metadata that is already stored in other components, and switch the focus when the Details Screen is opened and closed.", "tags": [ "rsg_row" ], "genres": [ "educational" ] }, { "id": "video9-episodesScreen", "title": "Creating an Episodes Screen", "content": { "dateAdded": "2020-07-10T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit9-episodePicker-v3.mp4", "quality": "HD" }], "duration": 2188, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit9-episodesScreen.png", "shortDescription": "Creating an Episodes Screen (part 1)", "releaseDate": "2020-07-10", "longDescription": "Build an episodes screen that organizes television series into seasons and episodes. The left side of the screen displays the seasons; the right side of the screen lists the episodes in the selected season. This lesson explains how to use new components such as the MarkupList and further layer components to create more complex UIs. It shows how to parse the content feed to populate an episode screen with sequentially numbered seasons and the episodes that belong in those seasons.", "tags": [ "rsg_row" ], "genres": [ "educational" ] }, { "id": "video10-videoAds", "title": "Displaying Video Ads", "content": { "dateAdded": "2020-07-08T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit10-video-ads-v3.mp4", "quality": "HD" }], "duration": 1380, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit10-video-ads.png", "shortDescription": "Displaying Video Ads (part 1)", "releaseDate": "2020-07-08", "longDescription": "Monetize content on the Roku platform through video ads. Implement the Roku Advertising Framework (RAF) in order to seamlessly insert video ads into content. Learn about the different client and server-side ad insertion and stitching solutions provided by RAF, and how to get started with RAF in order to display video ads in your channel", "tags": [ "rsg_row" ], "genres": [ "educational" ] }, { "id": "video11-subscriptions", "title": "Offering Subscriptions", "content": { "dateAdded": "2020-07-06T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit11-subscriptions-v3.mp4", "quality": "HD" }], "duration": 1561, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit11-rpay-subscriptions.png", "shortDescription": "Monetize content on the Roku platform through video ads.", "releaseDate": "2020-06-20", "longDescription": "Monetize content on the Roku platform through video ads. This lesson explains how to implement the Roku Advertising Framework (RAF) in order to seamlessly insert video ads into content. It describes the different client and server-side ad insertion and stitching solutions provided by RAF, and how to get started with RAF in order to display video ads in your channel.", "tags": [ "rsg_row" ], "genres": [ "educational" ] }, { "id": "video12-deep-linking-part1", "title": "Deep Linking (part 1)", "content": { "dateAdded": "2020-07-04T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit12-deep-linking-v3-part1.mp4", "quality": "HD" }], "duration": 2481, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit12-deep-linking.png", "shortDescription": "Implement deep linking to get users to content as fast as possible.", "releaseDate": "2020-07-04", "longDescription": "Implement deep linking to get users to content as fast as possible. Program your channel application to accept and process deep links upon being launched and while it is already running. Configure the playback experiences required for the content types in your feed. Create bookmarks to store the user's playback position in the device registry or backend system, and create smart bookmarks to launch the most appropriate episode in a TV series based on the user's viewing history with that series.", "tags": [ "rsg_row" ], "genres": [ "educational" ] }, { "id": "video12-deep-linking-part2", "title": "Deep Linking (part 2)", "content": { "dateAdded": "2020-07-03T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit12-deep-linking-v3-part2.mp4", "quality": "HD" }], "duration": 1567, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit12-deep-linking.png", "shortDescription": "Implement deep linking to get users to content as fast as possible.", "releaseDate": "2020-07-04", "longDescription": "Implement deep linking to get users to content as fast as possible. Program your channel application to accept and process deep links upon being launched and while it is already running. Configure the playback experiences required for the content types in your feed. Create bookmarks to store the user's playback position in the device registry or backend system, and create smart bookmarks to launch the most appropriate episode in a TV series based on the user's viewing history with that series.", "tags": [ "rsg_row" ], "genres": [ "educational" ] }, { "id": "video13-certification-testing", "title": "Certification Testing", "content": { "dateAdded": "2020-06-29T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit13-cert-testing-v3.mp4", "quality": "HD" }], "duration": 848, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit13-cert-testing.jpg", "shortDescription": "Prepare your channel to be published to the Roku channel store.", "releaseDate": "2020-07-16", "longDescription": "Prepare your channel to be published to the Roku channel store. This lesson explains how to test your channel's design and performance and verify that it meets all of Roku's certification criteria using Roku's test automation software and automated testing tools. It provides a quick demo of Roku's Static Analysis tool, which detects certification-related issues with your channel's code and must be passed in order for your channel to be published to the Roku channel store.", "tags": [ "rsg_row" ], "genres": [ "educational" ] } ], "series": [{ "id": "series_2_RSG", "title": "SceneGraph Developers: Build a Channel", "releaseDate": "2020-03-15T02:01:00 02:00", "shortDescription": "The \"SceneGraph Developers: Build a Channel\" course teaches novice Roku developers how to develop a channel from the ground up with the Roku SDK. This course walks developers through each step in building a basic, high-performance Roku channel that passes certification. This course is ideal for developers that are new to the Roku platform and want a simple, streamlined path for quickly understanding Roku development.", "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-build-channel-series.jpg", "genres": [ "educational" ], "tags": ["series"], "episodes": [{ "id": "series-rsg_unit1_intro", "title": "Introduction to the course", "episodeNumber": 1, "content": { "dateAdded": "2020-05-07T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit1-intro-v3.mp4", "quality": "HD" }], "duration": 178, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/video1-intro-course-v2.png", "shortDescription": "Watch the introduction to the \"SceneGraph: Build a Channel\" development course. This video outlines the course syllabus.", "releaseDate": "2020-05-07", "longDescription": "Watch the introduction to the \"SceneGraph: Build a Channel\" development course. This video outlines the course syllabus.", "tags": [], "genres": [ "educational" ] }, { "id": "series-rsg-unit2-developerSetup", "title": "Development setup", "episodeNumber": 2, "content": { "dateAdded": "2020-05-07T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit2-developerSetup-v4.mp4", "quality": "HD" }], "duration": 431, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit2-developerSetup-v4.png", "shortDescription": "Start developing for the Roku platform. This lesson explains the first steps.", "releaseDate": "2020-05-07", "longDescription": "Start developing for the Roku platform. This lesson explains the first steps, which includes creating the required user and developer accounts and enabling your test Roku device for development. Once you're done, you can sideload Roku's Hello World channel and view its output in the debug console.", "tags": [], "genres": [ "educational" ] }, { "id": "series-video3-scenegraph-overview", "title": "Core concepts", "episodeNumber": 3, "content": { "dateAdded": "2020-05-07T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit3-sgoverview.mp4", "quality": "HD" }], "duration": 765, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit3-core-concepts.png", "shortDescription": "Review key concepts for developing on the Roku platform.", "releaseDate": "2020-05-07", "longDescription": "Review key concepts for developing on the Roku platform. This lesson explains the basic design principles and key concepts of Roku development, provide an overview of Roku's development platform, and review the contents and structure of Roku channels. You'll learn about: SceneGraph and BrightScript, the different types of components you can use to build your channel UI, and many other topics. When you are done with this lesson, you will be ready to start working on your first Roku channel!", "tags": [], "genres": [ "educational" ] }, { "id": "series-rsg-unit4-contentFeed", "title": "Creating the content feed", "episodeNumber": 4, "content": { "dateAdded": "2020-05-07T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit4-contentFeed-v3.mp4", "quality": "HD" }], "duration": 280, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit4-content-feed.png", "shortDescription": "Learn how the content feed is used to load and organize content in the channel.", "releaseDate": "2020-07-18", "longDescription": "Learn how the content feed is used to load and organize content in the channel. This lesson explains how the ContentNode maps metadata in your content feed to components in your channel UI, and it provides a few tips for creating your own feed.", "tags": [], "genres": [ "educational" ] }, { "id": "series-video5-grid-screen", "title": "Creating a Grid Screen", "episodeNumber": 5, "content": { "dateAdded": "2020-05-07T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit5-gridscreen-v4.mp4", "quality": "HD" }], "duration": 1899, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit5-gridScreen.png", "shortDescription": "Build a grid screen that displays rows of content", "releaseDate": "2020-05-07", "longDescription": "Build a grid screen that displays rows of content. This lesson describes how to create a basic channel that gets the videos from a content feed and displays them in a grid. It explains how to create SceneGraph components, set their attributes, and create their interfaces. It also teaches how to use BrightScript to parse the metadata in the content feed, add the metadata to content nodes, and then add the content nodes to your components.", "tags": [], "genres": [ "educational" ] }, { "id": "series-video6-video-player", "title": "Adding the Video Player", "episodeNumber": 6, "content": { "dateAdded": "2020-05-07T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit6-videoplayer-v3.mp4", "quality": "HD" }], "duration": 819, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit6-videoPlayer-v2a.png", "shortDescription": "Add a video player to launch content into playback", "releaseDate": "2020-05-13", "longDescription": "Add a video player to launch content into playback. This lesson teaches how to add the SceneGraph Video node to your channel and link it to the content in other components. It explains how to open the video screen when content is selected, and close it when playback finishes or the back button is pressed on the Roku remote control.", "tags": [], "genres": [ "educational" ] }, { "id": "series-video7-debugger", "title": "Debugging channels", "episodeNumber": 7, "content": { "dateAdded": "2020-05-16T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit7-debugger-v3.mp4", "quality": "HD" }], "duration": 381, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit7-debugging.png", "shortDescription": "Debug Roku channels using the debug console", "releaseDate": "2020-05-13", "longDescription": "Debug Roku channels using the debug console. This lesson teaches you how to access the debug console via Telnet and the Roku Eclipse Plug-in and use the different debug ports. It explains how to view the crash logs, stack traces, and channel performance metrics in the console, and how to use the interactive debugger to type commands for checking and updating variable values, calling functions, and stepping through the application.", "tags": [], "genres": [ "educational" ] }, { "id": "series-video8-detailsScreen", "title": "Creating a Details Screen", "episodeNumber": 8, "content": { "dateAdded": "2020-05-22T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit8-details-screen-v3.mp4", "quality": "HD" }], "duration": 1251, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit8-detailsScreen.png", "shortDescription": "Build a details screen that displays the release date, rating, genre, cast, and detailed description of the content selected from the grid screen", "releaseDate": "2020-07-13", "longDescription": "Build a details screen that provides more information about the content selected in the GridScreen, including the item's release date, rating, genre, cast, and detailed description. This lesson explains how to build a screen using more complex SceneGraph components. It describes how to create a Play button that launches the video player, populate the details screen with metadata that is already stored in other components, and switch the focus when the Details Screen is opened and closed.", "tags": [], "genres": [ "educational" ] }, { "id": "series-video9-episodesScreen", "title": "Creating an Episodes Screen", "episodeNumber": 9, "content": { "dateAdded": "2020-05-29T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit9-episodePicker-v3.mp4", "quality": "HD" }], "duration": 2188, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit9-episodesScreen.png", "shortDescription": "Build an episodes screen that organizes television series into seasons and episodes.", "releaseDate": "2020-05-29", "longDescription": "Build an episodes screen that organizes television series into seasons and episodes. The left side of the screen displays the seasons; the right side of the screen lists the episodes in the selected season. This lesson explains how to use new components such as the MarkupList and further layer components to create more complex UIs. It shows how to parse the content feed to populate an episode screen with sequentially numbered seasons and the episodes that belong in those seasons.", "tags": [], "genres": [ "educational" ] }, { "id": "series-video10-videoAds", "title": "Displaying Video Ads", "episodeNumber": 10, "content": { "dateAdded": "2020-06-20T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit10-video-ads-v3.mp4", "quality": "HD" }], "duration": 1380, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit10-video-ads.png", "shortDescription": "Monetize content on the Roku platform through video ads.", "releaseDate": "2020-06-20", "longDescription": "Monetize content on the Roku platform through video ads. This lesson explains how to implement the Roku Advertising Framework (RAF) in order to seamlessly insert video ads into content. It describes the different client and server-side ad insertion and stitching solutions provided by RAF, and how to get started with RAF in order to display video ads in your channel.", "tags": [], "genres": [ "educational" ] }, { "id": "series-video11-subscriptions", "title": "Offering Subscriptions", "episodeNumber": 11, "content": { "dateAdded": "2020-06-27T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit11-subscriptions-v3.mp4", "quality": "HD" }], "duration": 1561, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit11-rpay-subscriptions.png", "shortDescription": "Monetize content on your channel by offering subscriptions, directly on-device, through Roku Pay", "releaseDate": "2020-06-27", "longDescription": "Monetize content on your channel by offering subscriptions, directly on-device, through Roku Pay. This lesson explains how to get started with Roku Pay, including how to create a channel, in-channel products, and test users. It describes how the Roku Pay workflow from checking entitlements to completing purchases and granting access to content. It explains how to integrate the Roku Web Service RESTful APIs into your backend system for validating, refunding, and canceling subscriptions.", "tags": [], "genres": [ "educational" ] }, { "id": "series-video12-deep-linking-part1", "title": "Deep Linking (part 1)", "episodeNumber": 12, "content": { "dateAdded": "2020-07-10T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit12-deep-linking-v3-part1.mp4", "quality": "HD" }], "duration": 2481, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit12-deep-linking.png", "shortDescription": "Implement deep linking to get users to content as fast as possible.", "releaseDate": "2020-07-04", "longDescription": "Implement deep linking to get users to content as fast as possible. Program your channel application to accept and process deep links upon being launched and while it is already running. Configure the playback experiences required for the content types in your feed. Create bookmarks to store the user's playback position in the device registry or backend system, and create smart bookmarks to launch the most appropriate episode in a TV series based on the user's viewing history with that series.", "tags": [], "genres": [ "educational" ] }, { "id": "series-video12-deep-linking-part2", "title": "Deep Linking (part 2)", "episodeNumber": 13, "content": { "dateAdded": "2020-07-10T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit12-deep-linking-v3-part2.mp4", "quality": "HD" }], "duration": 1567, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit12-deep-linking.png", "shortDescription": "Implement deep linking to get users to content as fast as possible.", "releaseDate": "2020-07-04", "longDescription": "Implement deep linking to get users to content as fast as possible. Program your channel application to accept and process deep links upon being launched and while it is already running. Configure the playback experiences required for the content types in your feed. Create bookmarks to store the user's playback position in the device registry or backend system, and create smart bookmarks to launch the most appropriate episode in a TV series based on the user's viewing history with that series.", "tags": [], "genres": [ "educational" ] }, { "id": "series-video13-certification-testing", "title": "Certification Testing", "episodeNumber": 14, "content": { "dateAdded": "2020-07-16T02:32:24Z", "videos": [{ "videoType": "MP4", "url": "https://image.roku.com/ZHZscHItMTc2/rsg-unit13-cert-testing-v3.mp4", "quality": "HD" }], "duration": 848, "language": "en-us" }, "thumbnail": "https://image.roku.com/ZHZscHItMTc2/rsg-unit13-cert-testing.jpg", "shortDescription": "Prepare your channel to be published to the Roku channel store.", "releaseDate": "2020-07-16", "longDescription": "Prepare your channel to be published to the Roku channel store. This lesson explains how to test your channel's design and performance and verify that it meets all of Roku's certification criteria using Roku's test automation software and automated testing tools. It provides a quick demo of Roku's Static Analysis tool, which detects certification-related issues with your channel's code and must be passed in order for your channel to be published to the Roku channel store.", "tags": [], "genres": [ "educational" ] } ] }], "playlists": [{ "name": "rsg_category_row", "itemIds": ["rsg_unit1_intro", "rsg-unit2-developerSetup", "video3-scenegraph-overview", "rsg - unit4 - contentFeed", "video5-grid-screen-1", "video5-grid-screen-2", "video6-video-player", "video7-debugger", "video8-detailsScreen-part1", "video8-detailsScreen-part2", "video9-episodesScreen-part1", "video9-episodesScreen-part2", "video10-videoAds-part1", "video10-videoAds-part2", "video11-subscriptions-part1", "video11-subscriptions-part2", "video12-deep-linking-part1", "video12-deep-linking-part1", "video12-deep-linking-part2", "video12-deep-linking-part3", "video12-deep-linking-part4", "video12-deep-linking-part5", "video13-certification-testing-part1", "video13-certification-testing-part2"] }], "categories": [{ "name": "Roku SceneGraph Developers", "playlistName": "rsg_category_row", "order": "manual" }] }