Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Oh4Sh0
Visitor

Q About Deep Linking

Something I haven't quite been able to gather when looking at the documentation:

Is it possible to Deep Link into other channels? For instance, if I wanted to create an app that would search my Plex Library, and then take me to a certain movie.

If yes, what happens if a user doesn't have that channel?
0 Kudos
8 REPLIES 8
dcrandall
Visitor

Re: Q About Deep Linking

I'm making a wide assumption here... but considering that when a deep link is made, it's a request over 8060 to a given entity. That entity then starts its main and in doing so tears-down the old entity.

I think if there is no main to start, it likely does nothing.
0 Kudos
TheEndless
Channel Surfer

Re: Q About Deep Linking

You can only deep-link into channels that have explicitly implemented deep-linking. Likewise, you'd also need to know what deep-linking parameters those channels accept.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
EnTerr
Roku Guru

Re: Q About Deep Linking

"Oh4Sh0" wrote:
Something I haven't quite been able to gather when looking at the documentation:
...
If yes, what happens if a user doesn't have that channel?

In current implementation - nothing happens.
That is, if your channel tries to ECP launch another channel that is not installed, current channel does not get aborted but receives http status 404 (Not Found). A word of warning, since this behavior is not documented - it may change in the future.
0 Kudos
TheEndless
Channel Surfer

Re: Q About Deep Linking

"EnTerr" wrote:
"Oh4Sh0" wrote:
Something I haven't quite been able to gather when looking at the documentation:
...
If yes, what happens if a user doesn't have that channel?

In current implementation - nothing happens.
That is, if your channel tries to ECP launch another channel that is not installed, current channel does not get aborted but receives http status 404 (Not Found). A word of warning, since this behavior is not documented - it may change in the future.

To fool proof it, in the event that the behavior does change in the future, you could always do a /query/apps first to see if the channel is installed.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
Oh4Sh0
Visitor

Re: Q About Deep Linking

That's interesting, but somewhat disappointing. I want to deep link into other apps, whether they like it or not. If that requires a "warning, you're leaving so and so's app by clicking this link" interface, so be it, but there's so many good possibilities that open up by making that function available.
0 Kudos
TheEndless
Channel Surfer

Re: Q About Deep Linking

"Oh4Sh0" wrote:
I want to deep link into other apps, whether they like it or not.

Whether they like it or not? Really? I don't anticipate the ability to do that ever happening. The owner's of the content have (and should have) the final say in how their content can be accessed.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
RokuJoel
Binge Watcher

Re: Q About Deep Linking

What you should do if the channel is not installed is to launch to the channels page in the channel store where the user can install it. Before you attempt to deep link to the channel you should check if the channel is installed or not by doing a lookup to the device via the ECP http://<ip address>:8060/query/apps

if it is not there, then use launch command to go to the channel store (I *think* current firmware will accept the deep link param now and send you to the correct page in the channel if you select "go to channel" after selecting "Add Channel".)

Certain partners have forbidden 3rd party deep linking... well at least one partner, Netflix - so we won't publish a public channel that does this.

- Joel
0 Kudos
roquoonewbie
Visitor

Re: Q About Deep Linking

Has anyone else noticed that the new 7.0 firmware breaks the ability to deep link into the channel store (to a private channel screen) using the ECP launch command?
0 Kudos