Forum Discussion

sawood6626's avatar
sawood6626
Visitor
7 years ago

Help on Implementing New Deep Linking Requirements

I cannot seem to find any documentation on how to process deep link parameters while the channel is running as per the new requirement: 
When the channel is already running, direct playback commands will deep link to content in the channel without requiring a channel launch delay by using roInputEvent. To support this, channels must process roInputEvent the same way deep link parameters are passed through the main entry point on launch.

 I already have deep linking support on my channel and it works, however, no matter what I do the channel always re-launches when testing deep-linking. I have used both the deep linking test app and curl with the same result. Does anyone know how to properly support and test this?

12 Replies

  • It's not easy but basically a nickname for the movie and a type are passed into the channel app as two strings.  Instead of giving your movies long serial numbers just call them by their name in all caps with no spaces like this:

    contentID = "SOMEOLDMOVIE1934"
    mediaType = "movie"
    contentID = "ANOTHERMOVIE1936"
    mediaType = "movie"
    etc.

    The channel form only allows so many movies in this list even though Roku says it needs way more... I only submit maybe 20-30 or whatever fits in the form's box.  They will use this list to test your channel, but they also have a deep link testing channel you can install to test prior to submitting anything to Roku.  I suggest that you fully get it working before sending Roku in circles with long delays that will cause you to pull your hair out.

    The trick to deep linking is that in your main.brs script you need to check for the contentID and mediaType variables then store these in some global variables to be examined by your grid script.  Normally when my channel is being browsed the focus method updates the title and description of the selected movie/item and displays this on the screen.  If deep linking is active then you can display the grid as usual or not, but at some point you need to fire the onclick method as if the user clicked on an item, but use the deep linked contentID. You'll need to scan your entire content list for a match of the contentID and if found, "click" on that movie.  It's still more nasty than this but this should get you started.
  • destruk's avatar
    destruk
    Streaming Star
    Naturally, it goes without saying, if you only have one "media type" then you can simply match on the contentID.