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: 
SolveLLC
Visitor

ECP install from channel store

The ECP documentation gives the following for launching an app from the channel store. However, it does not explain how to get the "contentID" for an app that *is not* already installed on the Roku. How do I find the contentID for an app that is not already installed by the user? (Intent, clickable banner that says "Hey, install this channel", the user clicks and is taken to the specific app in the channel store for installation.).

# The following command will launch the channel store app (11) on the box with a contentID # equal to 14_e (the MLB app). You can get the plugin ID for your app using the /query/apps # example above. It returns the installed apps on a Roku box.
# This technique would be useful in creating clickable ads in a free “Lite” version of a paid # app. When a user clicks on the ad, the channel store page to purchase the full version
# could be launched.
% echo -e 'POST /launch/11?contentID=14_e HTTP/1.1\r\n\r\n' | ncat 192.168.1.114 8060
HTTP/1.1 200 OK
Content-Length: 0
0 Kudos
12 REPLIES 12
renojim
Community Streaming Expert

Re: ECP install from channel store

The ID is the same for all users, so whatever the ID is on your box is what it will be on any user's box.

-JT
Roku Community Streaming Expert

Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.

I am not a Roku employee.
0 Kudos
SolveLLC
Visitor

Re: ECP install from channel store

Here is the code I'm attempting to use.

Function BannerInstall() As String
ip = "127.0.0.1"
xfer = CreateObject("roURLTransfer")
ECPUrl= "http://127.0.0.1:8060/launch/11?contentID=1504"
xfer.SetURL(ECPUrl)
result = xfer.PostFromString("")
End Function

On the "Roku2 Firmware 4.1 2669" The channel store loads and displays the channel (1504) *only* if the channel is already installed on the device. If the channel is not installed on the device it just loads the channel store.

On the "Roku1 Firmware 3.1 1003", "Roku1 Firmware 3.0 2227", and "Roku1 Firmware 3.1 104" the above code crashes with :Type Mismatch. (runtime error &h18) in ...kg:/source/banner_control.brs(8)"
0 Kudos
TheEndless
Channel Surfer

Re: ECP install from channel store

I didn't think 127.0.0.1 was supported... I wonder if that could be related to your type mismatch. Might work on 4.x but not 3.x. I use the roDeviceInfo to get the IP address of the box for posting the ECP command.

Here's how to get the content ID:
viewtopic.php?f=34&t=38977&p=257260#p258021
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
SolveLLC
Visitor

Re: ECP install from channel store

I tried roDeviceInfo as to pull and then parse the ip address. It has the same behavior.
0 Kudos
Anonymous
Visitor

Re: ECP install from channel store

There's a bug in the Roku2 channel store that causes only channels that appear in My Channels, Featured or one of the New/Most/Top categories to be able to launch to the Springboard. It's fixed in the next version of the Channel Store. ETA TBD.
0 Kudos
SolveLLC
Visitor

Re: ECP install from channel store

Thanks Patrick, that's pretty much what we're seeing. Any comment on why the code doesn't work on the 3.x series of firmware?
0 Kudos
koshermetal
Visitor

Re: ECP install from channel store

"SolveLLC" wrote:
Here is the code I'm attempting to use.

Function BannerInstall() As String
ip = "127.0.0.1"
xfer = CreateObject("roURLTransfer")
ECPUrl= "http://127.0.0.1:8060/launch/11?contentID=1504"
xfer.SetURL(ECPUrl)
result = xfer.PostFromString("")
End Function

On the "Roku2 Firmware 4.1 2669" The channel store loads and displays the channel (1504) *only* if the channel is already installed on the device. If the channel is not installed on the device it just loads the channel store.


I'm trying to do the same thing. I would like to have a banner within our channel that provides a call to action to listen to our station using the TuneIn Radio Channel, and launched the Channel Screen from the Channel Store once selected (it's ok if it just loads the Channel Store only if the user doesn't already have TuneIn Radio installed.)

I know I have to get the content ID of the TuneIn channel, but will the example code above work for this?

Also, not sure if TuneIn has a way to send launch parameters so we can directly launch the station from our channel...but that would be cool also.

Anyone feel like helping us out?
Free 24/7 Metal radio via web or smartphone
www.koshermetal.com
0 Kudos
SolveLLC
Visitor

Re: ECP install from channel store

If you look at the code example I posted and read the ECP documentation its pretty simple to modify. However, keep in mind that until this bug that Patrick mentioned is worked out on the Roku2 (no idea what is going on with the Roku1) it's not going to work correctly at all.
0 Kudos
Anonymous
Visitor

Re: ECP install from channel store

"koshermetal" wrote:
"SolveLLC" wrote:
Here is the code I'm attempting to use.

Function BannerInstall() As String
ip = "127.0.0.1"
xfer = CreateObject("roURLTransfer")
ECPUrl= "http://127.0.0.1:8060/launch/11?contentID=1504"
xfer.SetURL(ECPUrl)
result = xfer.PostFromString("")
End Function

On the "Roku2 Firmware 4.1 2669" The channel store loads and displays the channel (1504) *only* if the channel is already installed on the device. If the channel is not installed on the device it just loads the channel store.


I'm trying to do the same thing. I would like to have a banner within our channel that provides a call to action to listen to our station using the TuneIn Radio Channel, and launched the Channel Screen from the Channel Store once selected (it's ok if it just loads the Channel Store only if the user doesn't already have TuneIn Radio installed.)

I know I have to get the content ID of the TuneIn channel, but will the example code above work for this?

Also, not sure if TuneIn has a way to send launch parameters so we can directly launch the station from our channel...but that would be cool also.

Anyone feel like helping us out?


I don;t think TuneIn yet supports the deep linking that would be required to launch the channel and start with a specific piece of content.
0 Kudos