What are the stories behind the excellent ideas of developing SMART TV apps? How they get so much popularity? These questions fascinate us, even, any developer, to know more about how things are done.
A Roku development toolkit is no less than a magician’s bag for Roku developers as it has lots of tools to create the eye-catching, and functioning Roku channels.
Roku -a streaming platform that helps to increase the power of an ordinary TV by transforming it into SMART TV. Just like our earth receives the data from clouds in the form of rain droplets and gives output through a river in terms of the water. In the same way, the Roku device receives data through a wired or Wi-Fi connection from an internet router and gives output through audio cable, video cable, or HDMI connector on some device models.
To keep up its presence in the market and for enhancing the user-experience, Roku keeps updating and publishing its versions.
In the October 2018 version, Roku introduced several new tools such as publishing tool, redesign of Roku developer website, reworked software development kit’s documentation hosted on GitHub, built-in channel analytics, and, accessible crash logs from the Roku Developer dashboard to improve the experience of SMART TV app development.
Now, they come up with some amazing web tools just to speed-up Roku development, quality assurance testing, and certification testing.
As now, you are familiar with their October version, let’s just together take a deeper dive into it!
Stream Tester Tool
What it is?
Stream Tester Tool is responsible for checking whether the video streams is supporting the private Roku channel or not. It allows Digital Right Management encoding or insertion of video ads from your ad server.
Digital Right Management – used for access control technologies to limit the use of digital content.
How to use it?
There are some steps to follow:
- Firstly, the Roku developers should install the associated private channel, using Vanity code.
- Roku developers should verify their Roku box in the web tool for the SMART TV app development.
- Roku Developers should specify whether they are testing a video or an advertisement and should fill the necessary details such as video format, encoding type, encoding key, etc.
- Now, hit go.
- If the stream is supported, it will launch within the Roku Stream Tester private channel you just installed on your Roku box.
- The video will be covered by the metadata that is linked with the stream such as the audio format or subtitle tracks.
Deep Linking Tester Tool
What it is?
Deep linking is used to launch a piece of content from a display ad or Roku search with the help of the Encryption Control protocol.
Encryption Control Protocol is used for establishing and encrypting algorithms over Point-to-Point Protocol which is designed for moving the diagrams across serial point-to-point links. ECP arranges and enables data encryption algorithms.
Deep linking enables the users to get to their content faster from the Roku user interface through the content discovery features of Roku and allows the Roku developers to grasp the content discovery features of Roku by launching their channel into playback directly from the Roku user interface to drive users to their channel and increase engagement.
For example, when a series is selected from the Roku search, playback starts immediately without any channel navigation.
How to Implement it?
Well done! Now, you are ready for the implementation phase.
There are some steps to help you out:
- Knowing the Parameters
Just like in childhood, we used to have boundaries and limits, similarly, Deep Linking requests have limits too :
- Content Id – a URL-encoded ASCII string that uniquely identifies content in your channel. It can be an alphanumeric string, URL, or pipe-separated key-value pairs such as series=theAnotherSwitch|Season=1|Episode=1.
- Media Type – specifies how a channel should behave in response to receive a deep link request. For that, the SMART TV app developers need to identify the types of content in their channel and categorized them into their corresponding Roku-supported media types.
2. Understanding the Requirements
Every Roku developer should identify the required work and required behavior for launching the content based on the different media types.
Apart from that, your channel should follow some general guidelines as well in response to the deep-link requests.
The understanding of these deep linking requirements of SMART TV app development provides a standard user experience across the Roku platform and helps to ensure that your channel passes certification.
Media type tells your channel how it should handle the launching of the content item. The following points describe the required launch behavior for each media type:
If you played the movie which is identified by the content id, then, it uses bookmarks to determine the playback position.
Episode – a single content item such as an episode of a TV Show. If you played the episode which is identified by the Content Id, then, it uses bookmarks to determine the playback position.
It is a set of related TV episodes that launches a content springboard that displays episodes that are organized by the season and highlights the episodes mapped to the Content Id.
Series – a set of related serialized episodes that include TV Shows and daily or weekly ongoing shows. It launches an episode into direct playback using Smart Bookmarks that determines the episode to be launched and the playback position based on the type of series, whether the user has previously watched the series, and whether they completed the last watched episode.
The behavior of Smart Bookmarks consists:
- Followed TV – a series that the user has already started watching in the past where bookmarks are used to determine whether the users completed the previously watched episode or not. If they completed the last episode, the next episode in the series will be launched, else, the episode where the user stopped watching will be launched.
- Unwatched TV – a categorized series that the user has not yet watched on your service. The playback will be launched at the beginning of Serial 1 Episode 1.
- Daily or Weekly Shows – a regularly occurring show that does not necessarily need to be watched in chronological order, for example, news broadcasts, talk shows, sports podcasts, and religious sermons. The most recent episode will be launched in the series.
- Short-Form – the standalone content that is 15 minutes or less such as movie trailers, news clips, comedy clips, food reviews or other clips.
- Special – a one-time TV programs such as music, artists, sporting events, non-episodic news specials.
- Live Linear Stream – a passive video viewing experience which means viewers don’t search and click except to change the program. It’s like being more submissive towards the video content. The whole experience of linear streaming is all about the video content that comes to us where we can change the channel but don’t have to select an entire collection of videos to watch as we do with a playlist. The live linear stream identified by the content Id is played. Live Linear Streams and replays of live broadcast streams both are free from deep linking certification requirements.
A deep link for a single content item will always have the same Content Id, however, the media type may vary based on the Roku content discovery feature that is sending the deep link. Therefore, a channel should be designed to execute the specified behavior required by each media type that could be sent to a channel.
General Channel Behavior
- How it handles invalid deep links?
If a deep link has an invalid Content Id or media type, it will launch the channel’s home page.
- How it handles unauthenticated users?
If an unauthenticated user is deep linking into your channel for the first time, it will route the user for the appropriate authentication flow. After the user has been authenticated, then, it processes the deep link requests. This can happen when a user deep links into your channel through Roku search or an on-device ad but the channel is not installed. In this case, the Roku Operating System will prompt the user to install the channel before continuing with the deep link.
- Displays a purchase screen
If your channel requires a purchase before launching, the channel may display a purchase screen before letting the user view deep-linked content.
- It supports a default profile
If your channel supports different profiles, it sets the last one used as the default for a movie, episode, or series. A channel may not display a profile selection screen or any other screen except one for purchase or authentication, between the selection and playback of a movie or episode. It does not use any profiles linked to children as the default.
- Avoid deep linking into other channels
Any channel cannot be deep linked to any other third-party channels.
3. Update the channel
Roku developer should program the channel so that it accepts and validates the deep linking parameters and launch it into the required experience.
4. Test deep linking in the channel
You should verify that the channel handles deep links correctly using the Roku Deep linking Tester or External Control Protocol command (it enables a Roku device to be controlled over a local area network by providing some external control services.) send through URL.
5. Submit deep link samples for certification
A Roku developer should give sample deep link parameters in the Developer Dashboard for each media type in your channel.
How Does It Work?
When content is selected, the content Id and media type are passed as query string parameters to the channel. The channel accepts and validates the deep linking parameters and identifies the appropriate launch behavior, which is determined by the media type. In this example, content Id “princessswitch123” corresponds to the film “The Princess Switch”, and the media type is “movie”.
The “movie” media type requires the channel to launch directly into playback.
How to Use It?
- Firstly, you should enter the name and channel Id of any channel you will want to build a deep link command for.
- You should enter the content Id of the particular piece of content you will be linking to, along with the media type.
- You can also enter more arguments in the key-value fields.
- As you enter each parameter, the tool creates a custom cURL command.
- When you’re finished and hit “send”, that cURL command posts to the Roku box at the IP address you entered.
- If properly configured, the specified content item will launch.
- Once your test suites are working as you’d like, they can be exported as a JSON file for easy sharing with teammates.
Roku Remote Tool
What it is?
It offers the same functionality as a regular Roku remote for the SMART TV app development. Besides, it comes equipped with a keyboard input feature for quickly filling out text screens. When used properly, this feature along with the ability to export and import keystrokes-can be used to speed up or even automate parts of your regular channel Quality Assurance testing.
You can navigate your channel, send a text to keyboard, screens, and much more with the Roku Remote Tool, even, you can write your scripts, run them on a device as well as export or import them later as per simple automation needs.