How to tell if a player previously purchased my iOS app?

Hello!

We are taking a previously paid app and making it free. However, we want to remove any ads for anyone who has spent money on our app.

I can’t figure out this case:

  1. V1.0 of app is purchased for $0.99
  2. User uninstalls app, thus losing any PlayerPrefs that might have been set.
  3. V1.1 of app is downloaded with a new price of FREE.
  4. How can I tell that this user already paid $0.99 for the app and should have no ads?

Is this possible? I appreciate the help!

We use Prime31 if that helps!

I think it is .. absolutely impossible to be able to do that. It's just hat simple on iOS - if a player X-deletes an app, it absolutely erases all information. So that's the end of it. You'd have to track them on your OWN SERVER, that would have been the only solution. I really wouldn't worry about it - all iPHone users "know it works that way."

Just do it serverside, not clientside

2 Answers

2

As Ben said, make a v1.1 that pings your server and includes the deviceUniqueIdentifier so you know the user has played 1.1. (But, I think the way that every other app works is to have a free version, and a separate paid version.)

We are avoiding server-side anything right now. Thanks for the reply!

I guess, you can completely avoid having external server setup by having this “no_ads” in-app product as a non-consumable product. And this minor change, will allow you to restore old purchases even after reinstalling. Usually plugins do provide Restore API’s.

Try using Cross Platform Native Plugins. Very easy setup, lots of features, unified API’s and supports both iOS and Android platforms. Also needless to say, it supports restoring non-consumable products.