Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Search instead for 
Did you mean: 
EnTerr
Level 8

Enable an in-channel product for a side-loaded app?

I start wondering if the reason i can't see an "in-channel product" i defined in the code i am debugging is that it is not associated with "dev" channel as such.

While seriously under-documented, it seems as the logic dictates that contents returned by getCatalog()/getPurchases() would be filtered against the current channel - since it would be counter-productive if say account has 100 apps and each of them gets list of purchases from all the others.

Sooo, question is what is the case for the "dev" (the ID of the side-loaded) channel? It could be that it's exception and gets the full list - which i don't think is the case. Or it could be that it gets none, because current UI does not allow to associate "dev" with products (temporarily for debug/testing purposes, obviously). Which makes coding/debugging the process really hard.

If i am guessing right, here is a proposal for the Co to implement:
Make "dev" an option when selecting the channel-vs-product affinity under "Edit In-Channel Product" in dev. panel.
0 Kudos
2 Replies
Tyler_Smith
Level 7

Re: Enable an in-channel product for a side-loaded app?

Locally you'll only get some test purchases, for testing our purchases we created a private channel and ran it through there.
It would be nice to have a way to point to your purchases for testing via sideloaded. Hope they add it someday.
Tyler Smith
Senior Developer, REDspace
redspace.com
0 Kudos
EnTerr
Level 8

Re: Enable an in-channel product for a side-loaded app?

I figure it was the "just make pvt channel" line of thinking that made them not bother adding "dev" to the product-channel affinity list.

I do have a strong example that is totally unsuitable for such thinking though. It is a "vertical market" kind though - narrow because of how many app developments are affected but very tall because of the extreme difficulty the no-purchase-testing-in-side-loaded-app poses. You see, when doing non-pure B/S development (i.e. another SDK or hybrid), each deployment has to be sent for approval to the Co. I kid you not - even for pvt channel a Roku-human has to sign off on that. Every new build.

Adding Roku billing via such process... i was going to compare it to doing "tonsillectomy via trans-rectal endoscopy" but considering sometimes it takes multiple weeks to get the build back? It's more like correspondence chess... if instead of chess you still have to perform the tonsil removal surgery. Via US mail. Lots of thinking and strategizing about every move.

Speaking of product-channel affinity, I notice another issue - say a product P is shared between channels A and B, so it lists in both getCatalog() of each. Surprise! Purchasing P in A is not visible in B. In other words B cannot tell if P has already been purchased - and B will charge the user 2nd time for the same thing! Boy, will that piss off customers...
0 Kudos