In app purchase approach

Hi, I am just about to start coding with my “in app purchase”, and I need some advise here, on the best approach to this.

The game I am developing as a platform game. My plans is to release just one app, and that one would be for free. Players can then play some levels for free, before they buy the game. So far nothing strange.

So, should I create a build that has all levels packed into the build. Or should the levels be downloaded after a purchase?

I can imagine that it is harder to get all the logic working with content that is downloaded, game updates, new levels, etc - but way safer for cracking.

If I build it with all levels, I guess that I just put a flag in the database, telling that the game is purchased? But, then it is easy for a person with some knowledge of development to open the db in the phone? Or is it possible to set a password on the db?

Many questions, and a lot of thinking!

Please share your ideas, or how you did it!

Best regards, Joakim
[import]uid: 81188 topic_id: 20380 reply_id: 320380[/import]

@Joakim, sorry to say it, but your questions are mine as well! I would love to see HOW to setup IAP easy way cause what I`ve seen over the community let me a little afraid about it all to setup. :\
Sorry mate,
Hope to get some nice info about too.

Cheers,
Rodrigo. [import]uid: 89165 topic_id: 20380 reply_id: 79683[/import]

Ultimately it is a lot easier to write the full app and manage the locking/unlocking rather than download more levels.

Yes, it would make it harder for those with an inclination to pirate to do so - however nothing is uncrackable - if someone really wants to do it, they’ll do it regardless.

My personal opinion is that piracy doesn’t hurt sales as a pirate is unlikely to buy content to begin with and so it isn’t a huge concern for me.

That’s just my 2 cents.

Peach :slight_smile: [import]uid: 52491 topic_id: 20380 reply_id: 79691[/import]

OK, so if I am going for a “total” build wouldn’t it be smart to put the phones identifier in the local database when an purchase is done?

And when the app is starting, I can compare the phones UID with the one in the database. A little bit more secure option instead of just setting a flag on the database.

Thats my 3 cents :wink:

Joakim [import]uid: 81188 topic_id: 20380 reply_id: 79754[/import]

http://venturebeat.com/2011/08/23/ios-5-udid-privacy/

My 4 cents :stuck_out_tongue:

Peach [import]uid: 52491 topic_id: 20380 reply_id: 79802[/import]

Okey, I think I saw that some time ago, but I think UID within an app that has full functionality is bad - if the user buys a new mobile and want to restore the game - the purchase relation is gone.

So whats up next for us then?

Well, since it is a “In app” purchase - and it is a free application, Apple doesn’t have any records of the purchase (Yes and no maybe). So this must be a more correct approach then:

When the transaction happens, store the originalReceipt, originalIdentifier, and originalDate in the local database in the app. All these fields can be received from the transaction object in Corona. So now we have some identifiers that would work in the long term.

So, the second task - if the user wipes the app, and want to reinstall it? Where is the information? I am not sure if Appstore can provide this, when it is a inapp purchase? Or do I have to create a database on my own server that stores this information, when the user makes the purchase?

Just my 1$… xD

Regards, Joakim

[import]uid: 81188 topic_id: 20380 reply_id: 79828[/import]

Hey, Joakim, a quick note about the purchase record. If it’s a non-consumable item that is being purchased, the purchaser can restore the item later. I guess that’s what people are talking about regarding users unlocking the paid game on multiple devices using the same iTunes username and password. (If it’s a consumable item, there’s no restore option, so I believe it’s device dependent – and no way of restoring the consumable item after it’s been used or lost/wiped somehow.)

Naomi [import]uid: 67217 topic_id: 20380 reply_id: 79863[/import]

Hi Naomi, yes it must be non-consumable item.

Does Applestore take care of all the “restore” tasks? Can I manage it all by code in Corona?

I am not there yet, but it is always good to start thinking ahead of where I am going - and where I am right now in the development phase :slight_smile:

Regards, Joakim

[import]uid: 81188 topic_id: 20380 reply_id: 79866[/import]

Joakim,
The corona docs for IAP go over all the details for restore.

http://developer.anscamobile.com/reference/in-app-purchases
http://developer.anscamobile.com/reference/index/app-purchases
http://developer.anscamobile.com/reference/index/storerestore
[import]uid: 110373 topic_id: 20380 reply_id: 79874[/import]

Thanks, I got my answer there - Appstore do all the stuff and I don’t have to care about much - just coding :slight_smile:

Regards, Joakim [import]uid: 81188 topic_id: 20380 reply_id: 79877[/import]