0

i've searched around a similar question but i didn't found any, so:

I have an old iphone paid app on iStore (and a free/lite version with iAds banner), now i want to renew it, adding iPad version and other stuffs;

with this new version i'd like to set the app free, add in-app purchase to the paid app (and delete the lite version), adding iAd banner until user buy the in-app purchase item.

the problem is that an old user who paid for the old app and now download the new version will see the iAd banner (and of course i don't want this) and must pay again to avoid it.

Is there any way to check if a user of my new-version app is also an old user of the old-version app?

A partial solution i found out is to check a preference file that the old app saves in it's bundle documents folder, but that could work fine just in case the user has installed the old app on the device when he update my app, not in case he deleted from device (or installing to a new one)

Other solution could be to keep the lite version on iStore and add the inApp purchase only to that version, and let the full version with the current price, but doing so, the lite version after a user pay for inApp purchase item would become exactly equal to the piad app (and Apple may refuse this, and i don't like this solution too)

Any idea for this purpose, is there an easy way i have not seen?

thanks in advance

pnuts
  • 58,317
  • 11
  • 87
  • 139
meronix
  • 6,175
  • 1
  • 23
  • 36

3 Answers3

1

I too had similar issues where I wanted to switch a paid app to free. There really isn't anyway to reliably check which user had already downloaded your app in the past. If you add iAds and they only disable through in-app purchase then it means it applies to everyone.

While writing this post I thought of one trick. Lets say you submit your app with iAd changes today to app store and it gets approved on 7/20/13. What you can do is upon app startup have a grace period code check i.e.

if (TodaysDate < 8/20/13)
{

  //Make your NSUserdefaults to true. As if the user had purchased your in-app purchase. So don't show them any ads.

}
else
{

 //Month has passed and hopefully most of your users who owned the app already had updated it by now

}

This way you have given your existing and any new users a month time (with no iAds). Any users who download the app after 8/20/13 will see your iAds and will have to pay in-app to disable them.

From my experience I have found that it's always advisable to keep your current users happy otherwise they will bomb your app rating with negative reviews. Which will show up under your latest app update.

Jitendra
  • 5,055
  • 2
  • 22
  • 42
Sam B
  • 27,273
  • 15
  • 84
  • 121
  • nice idea, but not good for all cases. what if a paid user install later my app on a new device, or also delete my app and reinstall it later on same device? the NSUserdefault or any other doc would be lost. But now i wonder if i could get a month time to user buy an inApp item for free (if it's possible, don't really know) and then set the same item a price, this way it could work also for new device or reinstalled app... or not? tks anyway, +1 for your answer – meronix Jul 12 '13 at 14:12
  • ? really? are you sure? i tried to add a new item and the lower price was "free", then i didn't go ahead to add it, but it seemed it was an regular option. when did you check last time? – meronix Jul 12 '13 at 15:11
  • Well I'll be damned. I haven't created an in-app purchase since Jan of this year. Its must be a new feature added, "free in-app". In which case it just may work for you ... if you can somehow convince your existing users to buy something free for a month till it gets disabled. Apple on the other hand may throw a fit if you displayed an alert like that in your app. (i.e. FREE in-app will stop after 8/20) – Sam B Jul 12 '13 at 15:41
1

There is no way how to find out if the user paid for the app. The solution with the "bundle documents folder" is not good in my opinion, because once the user delete the app, he will not have available the premium version of the app again.

Similar questions:

Convert existing iOS paid app to freemium model with in-app purchase

Transition an existing paid for app to free version with In App Purchase

iPhone + upgrade existing paid application on app store to free application with In App purchase + what about the customers who have already purchased the paid application

Community
  • 1
  • 1
Vojtech Vrbka
  • 5,342
  • 6
  • 44
  • 63
  • thanks for your answer, yes, it seems there's not a real solution for this problem, but just work-around... – meronix Jul 12 '13 at 14:13
1

Have you tried contacting developer support? https://developer.apple.com/support/

From what I know to be true you can't tell if they have previously bought the app without invading their privacy.

Logical
  • 21
  • 2