Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

BlackBerry® World™ Development

Reply
Developer
Posts: 976
Registered: ‎03-20-2013
My Device: Red LE Developer Z10

In-app purchases, re-downloadable on other devices?

I am about to release my first app under the "Freemium" model. When an upgrade is purchased in the app, I store a secure hash that takes the device PIN as part of the input so that if anybody ever figured out how to read from the application sandbox the hash "key" wouldn't be usable on other devices. That got me wondering about what happens to in-app purchases if you change devices but keep the same BlackBerry ID on BB World. I know you can download previously purchased apps again if you delete them or wipe your device, but can you still do that if you have changed handsets? If so, does that apply to in-app purchases too?

 

Scenario: A user installs my free app and upgrades it to Premium via an  in-app purchase. User destroys phone or upgrades to the latest and greatest and downloads my free app onto the new device.

 

Question: Will the user be able to upgrade to Premium again without paying?



Developer of Built for BlackBerry certified multiFEED RSS/Atom feed reader and aggregator.  multiFEED Icon

Play nice: Clicking Like Button on posts that helped you not only encourages others to continue sharing their experience, but also improves your own rating on this board. Also, don't forget to accept a post if it solves your problem or answers your question.
Developer
Posts: 6,473
Registered: ‎12-08-2010
My Device: PlayBook, Z10

Re: In-app purchases, re-downloadable on other devices?

The digital goods are stored in your BBWorld account, just as with the app purchases themselves. That means a user who has bought your app with their BBID will be expecting to be able to install it -- fully -- on a new handset, provided they use the same BBID.

Your hashing technique is going to work against that. I'd advise not doing it. If you really want to protect against a breakage of the sandbox, you should probably do it with server-side support, and provide a mechanism by which users can request that their authorization be transferred from one PIN to another (still on same BBID) at which point your app and server would work together to allow the digital goods to be activated on the new device (and perhaps invalidated on the old).

I think that answers the question, but in case it didn't the answer is: yes, except that your hash would break that model so it wouldn't work for them.

Peter Hansen -- (BB10 and dev-related blog posts at http://peterhansen.ca.)
Author of White Noise and Battery Guru for BB10 and for PlayBook | Get more from your battery!
Developer
Posts: 976
Registered: ‎03-20-2013
My Device: Red LE Developer Z10

Re: In-app purchases, re-downloadable on other devices?

[ Edited ]

Thanks. That's how I guessed it must work. Actually, my license key strategy won't break it at all since when the user redownloads the upgrades from BlackBerry World my app will just generate a new key for them as long as the "purchase" is successful since I treat "Already Purchased" the same as Puchase Successful". And anyway, I coded a "hidden" key entry page that I can instruct the user to open and enter a new key value. This is useful too since it allows me to give media reviewers a full version without having to give them a sandbox account on BB World. All they need to do is tell me their device PIN, I manually generate a key for it, they enter it into the secret page, and they have a full version for review.

 

I considered online key checking, but that requires a very high level of server uptime, which I can't guarantee at this time. I know it is just a matter of time on any platform before someone figures out how to hack popular apps and sideload them for free, but I'm just trying to earn a bit of a living before that happens. LOL.



Developer of Built for BlackBerry certified multiFEED RSS/Atom feed reader and aggregator.  multiFEED Icon

Play nice: Clicking Like Button on posts that helped you not only encourages others to continue sharing their experience, but also improves your own rating on this board. Also, don't forget to accept a post if it solves your problem or answers your question.