Best way to go from paid to free with IAP? what to watch for?

Hello guys,

I need some suggestions. Say I want to go from a paid app to free one with IAP. First is it possible? I want to keep the same code of the paid app but add the IAP paid (probably thr upcoming GGstore library) or the regular IAP code from the Corona example. What happened if a paid customer (who bought the paid version before the app went free with IAP) wants to reload the app after deleting it?

I would love to hear from anybody who went from a paid to free with IAP. Any suggestions will be very welcome.

Thanks. [import]uid: 100814 topic_id: 33935 reply_id: 333935[/import]

I read somewhere that you can even have 2 versions of a App. 1 paid for and a free version with IAP.

(Am not following you around the forums, honestly!)

Dave [import]uid: 117617 topic_id: 33935 reply_id: 134934[/import]

Ah! Ah! No worry! Yes that’s I was thinking of doing but I am thinking maybe have only one app to simplify the process. That way you only one app to update and a free version will probably be downloaded more often with a Chance of an IAP purchase. If not I could get revenue through something like Revmob.

Thanks a lot for your help.

Mo [import]uid: 100814 topic_id: 33935 reply_id: 134938[/import]

The only thing with moving to one free app is like you said, what happens when people who’ve purchased the app decide (for whatever reason) to delete and download again and suddenly finds Ads/in-app for something they’ve already spent money on. [import]uid: 33275 topic_id: 33935 reply_id: 134943[/import]

Update your app and give them a code to exchange with credits. So they’ll can buy any in-app staff. [import]uid: 116842 topic_id: 33935 reply_id: 134967[/import]

@laird - my games are free with Revmob + Inneractive, and in-app purchases for people to upgrade to the full version and remove ads and it works perfectly well.

The issue with people deleting and re-installing and losing their paid status is easily solved with a restore button which you can use to re-instate their app to a paid state. Even if they try to buy again the app store will automatically recognise they already bought the non-consumable purchase and will return a ‘restored’ transaction callback.

[import]uid: 93133 topic_id: 33935 reply_id: 134972[/import]

Thanks to all of you!

@correogracioso: Interesting, how do you give paid customers code to the new version?

@nick_sherman: Cool! That’s I what I am thinking of doing (Revmob + in-app) So you are saying that people who paid for the app (version 1.0) I can simply add a restore button (for the app) If they try to buy the app again Apple won’t let them? What happen if I want to add stuff to buy (coins) on top of the app itself. I will assume paid customers will get the app restore but can still buy coins (consumables)?

I also have a more general question. How long shall I wait for turning an app from paid to free (with Revmob)? I will assume people who bought it maybe pissed (even so they got an app with no ads)

In any thank you so much for your help.

Mo
[import]uid: 100814 topic_id: 33935 reply_id: 135071[/import]

Does your game currently save any kind of data? If so, you can use that to determine whether a user is upgrading from the original or not. The restore feature only works for in-app purchases.

  1. Check whether saved game data exists AND whether a new saved flag (say ‘free’) is nil.

  2. If data exists, but the ‘free’ flag does not, the user already bought the paid version, so turn your paid flag on to hide ads, unlock all content etc.

  3. If data does not exist, this is the first ever run so must be the new, free version. Set the ‘free’ flag to 1 and save.

  4. If data exists and the free flag exists, run as normal with revmob etc until the user upgrades through IAP.

Do these checks as soon as the app runs and you can hopefully keep your existing paid customers happy. If they happen to uninstall and reinstall they will lose their paid status though.

As for consumables, you can still offer those for sale whether or not the user upgraded or not. [import]uid: 93133 topic_id: 33935 reply_id: 135102[/import]

Thanks Nick. Yes I am using ICE to save the game settings and score/achievements. So If understand you well, I can just add an ICE box maybe called storeSettings which could be a table like

[lua]storeSettings = ice:loadBox ( "storeSettings " )
storeSettings:storeIfNew(“paid”, false)
storeSettings:storeIfNew(“coins1”, false)
storeSettings:storeIfNew(“coins2”, false)[/lua]

Then as you said check if the storeSettings is not nil (something like: if storeSettings ~= nil then…end)

If the box exist then the user is using the new version and i will turn on Revmob if “paid” is false. If the box does not exist then the user was using the old version (paid) so do not show Revmob and save “paid” as true (storeSettings:store(“paid”, true)

I have added storeSettings:storeIfNew(“coins1”, false) to keep track of any consumables but I am not sure i need to do since they are consumables??

You are right, the only situation is if the user delete the old version (paid) and then somehow load the the new version (free with IAP) but I have a feeling that will represent 1% or less of the user base. I do not know if Apple has any mechanism to help these people either get a refund (can you even get a refund on the app store??) Since I have a support email button in the app, I maybe able to use that to fix any issue with people…

In any event thanks for all your help.

Mo
[import]uid: 100814 topic_id: 33935 reply_id: 135148[/import]

I read somewhere that you can even have 2 versions of a App. 1 paid for and a free version with IAP.

(Am not following you around the forums, honestly!)

Dave [import]uid: 117617 topic_id: 33935 reply_id: 134934[/import]

Ah! Ah! No worry! Yes that’s I was thinking of doing but I am thinking maybe have only one app to simplify the process. That way you only one app to update and a free version will probably be downloaded more often with a Chance of an IAP purchase. If not I could get revenue through something like Revmob.

Thanks a lot for your help.

Mo [import]uid: 100814 topic_id: 33935 reply_id: 134938[/import]

The only thing with moving to one free app is like you said, what happens when people who’ve purchased the app decide (for whatever reason) to delete and download again and suddenly finds Ads/in-app for something they’ve already spent money on. [import]uid: 33275 topic_id: 33935 reply_id: 134943[/import]

Update your app and give them a code to exchange with credits. So they’ll can buy any in-app staff. [import]uid: 116842 topic_id: 33935 reply_id: 134967[/import]

@laird - my games are free with Revmob + Inneractive, and in-app purchases for people to upgrade to the full version and remove ads and it works perfectly well.

The issue with people deleting and re-installing and losing their paid status is easily solved with a restore button which you can use to re-instate their app to a paid state. Even if they try to buy again the app store will automatically recognise they already bought the non-consumable purchase and will return a ‘restored’ transaction callback.

[import]uid: 93133 topic_id: 33935 reply_id: 134972[/import]

Thanks to all of you!

@correogracioso: Interesting, how do you give paid customers code to the new version?

@nick_sherman: Cool! That’s I what I am thinking of doing (Revmob + in-app) So you are saying that people who paid for the app (version 1.0) I can simply add a restore button (for the app) If they try to buy the app again Apple won’t let them? What happen if I want to add stuff to buy (coins) on top of the app itself. I will assume paid customers will get the app restore but can still buy coins (consumables)?

I also have a more general question. How long shall I wait for turning an app from paid to free (with Revmob)? I will assume people who bought it maybe pissed (even so they got an app with no ads)

In any thank you so much for your help.

Mo
[import]uid: 100814 topic_id: 33935 reply_id: 135071[/import]

Does your game currently save any kind of data? If so, you can use that to determine whether a user is upgrading from the original or not. The restore feature only works for in-app purchases.

  1. Check whether saved game data exists AND whether a new saved flag (say ‘free’) is nil.

  2. If data exists, but the ‘free’ flag does not, the user already bought the paid version, so turn your paid flag on to hide ads, unlock all content etc.

  3. If data does not exist, this is the first ever run so must be the new, free version. Set the ‘free’ flag to 1 and save.

  4. If data exists and the free flag exists, run as normal with revmob etc until the user upgrades through IAP.

Do these checks as soon as the app runs and you can hopefully keep your existing paid customers happy. If they happen to uninstall and reinstall they will lose their paid status though.

As for consumables, you can still offer those for sale whether or not the user upgraded or not. [import]uid: 93133 topic_id: 33935 reply_id: 135102[/import]

Thanks Nick. Yes I am using ICE to save the game settings and score/achievements. So If understand you well, I can just add an ICE box maybe called storeSettings which could be a table like

[lua]storeSettings = ice:loadBox ( "storeSettings " )
storeSettings:storeIfNew(“paid”, false)
storeSettings:storeIfNew(“coins1”, false)
storeSettings:storeIfNew(“coins2”, false)[/lua]

Then as you said check if the storeSettings is not nil (something like: if storeSettings ~= nil then…end)

If the box exist then the user is using the new version and i will turn on Revmob if “paid” is false. If the box does not exist then the user was using the old version (paid) so do not show Revmob and save “paid” as true (storeSettings:store(“paid”, true)

I have added storeSettings:storeIfNew(“coins1”, false) to keep track of any consumables but I am not sure i need to do since they are consumables??

You are right, the only situation is if the user delete the old version (paid) and then somehow load the the new version (free with IAP) but I have a feeling that will represent 1% or less of the user base. I do not know if Apple has any mechanism to help these people either get a refund (can you even get a refund on the app store??) Since I have a support email button in the app, I maybe able to use that to fix any issue with people…

In any event thanks for all your help.

Mo
[import]uid: 100814 topic_id: 33935 reply_id: 135148[/import]