Is offering a free app with an upgrade (using doUpgrade()) still allowed?

I have a project that would be good for this functionality. The ifChannelStore documentation includes info on using getUpgrade() and doUpgrade() to allow a developer to create a free version and a paid version of an app, allowing people that download the free version to opt for the upgrade right inside the app. Someone in this threadmentioned it was deprecated. Is that true? If so what’s a good way to handle this now? Just build the paid functionality into the same app? That’s fine just want to confirm first.

I’m not sure if it is still possible to implement this in a channel, but we definitely don’t want developers to use this functionality.

We want you to use in-app subscription products instead, and the free trial model works quite well as a replacement for this functionality, though you can also have a completely free tier with in-channel subscription content instead or in addition.

  • Joel

While i agree that the “freemium” model is better, there are cases in which doUpgrade() can be useful.

One such real case is if i want to off-load users from the Beta (private) into the Production (public) version of my app. While both binaries are identical, the private channel does not get credit for serving RAF ads from RokuCo inventory. Because, bless the Co’s ad-teamsters. And so, 500 odd users of the beta are being tortured with ads for naught. The doUpgrade() provides mechanism to do that in a low-friction manner.

Romans_I_XVI never answered in said thread, my guess is he saw profound lack of enthusiasm from contact of his at the Co and took that to mean doUpgrade() does not work. This user’s case illustrates a high-friction upgrade.

doUpgrade() is depreciated. It doesn’t work. I modeled my SphereSaver channel around this only to find out post release that it doesn’t work anymore. The alternative if you have a demo channel like I have is to use ECP to link to the official channel in the channel store. Which honestly I think is just as clean of a solution (minus the fact that they will have to manually remove the original channel).

Well this is unusual... if *getUpgrade()* and *doUpgrade()* use are indeed [deprecated](https://en.wikipedia.org/wiki/Deprecation#Software_deprecation), how come there is no notice to that extent in the documentation?

No idea. The submission team didn’t even know about it until after the fact…

“EnTerr” wrote:
come there is no notice to that extent in the documentation?
:oops:I um err. uh… :oops:
we axed it as part of reworking the developer agreements near the end of last year. It should still work for existing channels - I think we simply axed the settings that allow this to be configured from the developer portal - not a firmware change. I’ll see if we can get the docs people to note that this is deprecated.

  • Joel

“Romans_I_XVI” wrote:
The alternative if you have a demo channel like I have is to use ECP to link to the official channel in the channel store. Which honestly I think is just as clean of a solution (minus the fact that they will have to manually remove the original channel).
Please share how you did this. I also am trying to find a solution for upgrade from free channel to paid
Thanks

I found the solution, it seems like just calling post with

http://192.168.1.114:8060/install/channel_id

works.

“ioan” wrote:
I found the solution, it seems like just calling post with

http://192.168.1.114:8060/install/channel_id

works.
As foretold by ExternalControlGuide-InstallingachannelwithECP