In App Purchase Unlocks

I’m sorry if this has been answered somewhere, I really did try to search for it.

I think I’m ready to add some IAPs to my app. But the way I want to add them is that they unlock extra functions.

My App is a specialized calculator. I would like to be able to make it so a user can pay to unlock more functions. But these functions require assets.

The first option I can see is just upload the app with all the assets in there and make it so the user can’t access them until they pay. But what if the user never unlocks, or only unlocks a few? The app is then bigger then what they need.

Is there a way to have it so the app will download the required assets when a IAP is made?

I don’t know it that is possible or not but can’t you include a SQLite DB and have flags for the different assets and depending if the flag is (for example) 0 or 1 for Function 1 it shows or not shows Function 1 and when a user buys Function 2 it changes the flag for Function 1 from 0 to 1?

This means that the user will download the whole app with all the assets but only have access to some parts of it at the beginning.

Best regards,

Tomas

@spowell83,

You may be interested in this blog post, which talks about downloading additional assets to your app at run-time: http://www.coronalabs.com/blog/2013/03/19/updating-mobile-game-content-in-runtime-guest-post/.  Of course, the functionality of what to do with those assets would already have to be embedded in your app.  It’s just that you could wait to download the graphics themselves until you need them.

That said, you should definitely consider whether the complexity of this approach is worth the benefit of slimming the size of the app.  If the assets associated with the unlockable feature are, say 50mb, then maybe it’s worth it.  1mb, definitely not.  There’s no hard line, but for a calculator app, my guess is that you’re on the very low end of that range, meaning it’s not worth it.

Also consider the user experience.  If they unlock the feature and then have to wait for the content to download (1 second, 5 seconds, etc.), it’s sup-optimal versus you letting them use the new feature immediately.

Having unlockable content embedded within the app is a very common strategy.

  • Andrew

Hmm, I understand the process of including everything and just blocking access is the easiest. However, my app is 47mb in size right now with all it’s assets, and that includes only 5 of the 12 functions I want to have available. Once I get all 12 in there the app will be 100mb+, that is way too large for someone that might only need, say, 3 of the functions.

May I ask what makes the app so big? 

Maybe you are using to big images or maybe you are using someone else’s library and you might not need all of the it?

I might be wrong but when I think of a calculator, even an advanced one, I think of it being most advanced calculations and maybe a graph printer but even the graph printer shouldn’t be big at all.

Best regards,

Tomas

I don’t know it that is possible or not but can’t you include a SQLite DB and have flags for the different assets and depending if the flag is (for example) 0 or 1 for Function 1 it shows or not shows Function 1 and when a user buys Function 2 it changes the flag for Function 1 from 0 to 1?

This means that the user will download the whole app with all the assets but only have access to some parts of it at the beginning.

Best regards,

Tomas

@spowell83,

You may be interested in this blog post, which talks about downloading additional assets to your app at run-time: http://www.coronalabs.com/blog/2013/03/19/updating-mobile-game-content-in-runtime-guest-post/.  Of course, the functionality of what to do with those assets would already have to be embedded in your app.  It’s just that you could wait to download the graphics themselves until you need them.

That said, you should definitely consider whether the complexity of this approach is worth the benefit of slimming the size of the app.  If the assets associated with the unlockable feature are, say 50mb, then maybe it’s worth it.  1mb, definitely not.  There’s no hard line, but for a calculator app, my guess is that you’re on the very low end of that range, meaning it’s not worth it.

Also consider the user experience.  If they unlock the feature and then have to wait for the content to download (1 second, 5 seconds, etc.), it’s sup-optimal versus you letting them use the new feature immediately.

Having unlockable content embedded within the app is a very common strategy.

  • Andrew

Hmm, I understand the process of including everything and just blocking access is the easiest. However, my app is 47mb in size right now with all it’s assets, and that includes only 5 of the 12 functions I want to have available. Once I get all 12 in there the app will be 100mb+, that is way too large for someone that might only need, say, 3 of the functions.

May I ask what makes the app so big? 

Maybe you are using to big images or maybe you are using someone else’s library and you might not need all of the it?

I might be wrong but when I think of a calculator, even an advanced one, I think of it being most advanced calculations and maybe a graph printer but even the graph printer shouldn’t be big at all.

Best regards,

Tomas