8

I have a paid app(version 1.3) on app store. I want to release update(version 1.4) which has in app purchases. I am planning to release the update(version 1.4) which will be free .

I have covered all the possible scenarios for the upgrade of user from paid to free version . There is only one scenario where i am stuck.

  1. User has already downloaded version 1.3 which is paid app via iTunes account xyz@gmail.com on iPad 2
  2. Current available version on iTunes is 1.4 which is free.
  3. User downloads the version 1.4 on the on iPad 2 [upgrade works as i can get the previous UserDefaults keys to identify]
  4. User download the version 1.4 on iPhone 6 which din't have version 1.3 by xyz@gmail.com [How to know that user has already purchased the app ?]

Does anyone know what can be the solution for this problem.

Sneha
  • 1,444
  • 15
  • 24
  • Is your app store date on server? – Rahul Patel May 05 '15 at 10:29
  • Sorry this is not possible for iOS. You are not able to find which person had purchased app before as apple is not providing detail for that. best way is to create new app with Inapp purchase and upload it ti store. – Nilesh Kikani May 05 '15 at 10:30
  • its a offline app and don't have server integration. – Sneha May 05 '15 at 10:30
  • Why do u need to know that it was purchased before? App Store makes sure that a user purchases an app once and can download it to several devices. – vikingosegundo May 05 '15 at 10:32
  • As i want to release the upgraded version as a free version . So i don't want the person to pay again for the app. – Sneha May 05 '15 at 10:39
  • 3
    My approach would be to release an intermediate version 1.3.1 and save something to the keychain indicating that the user has already paid. In version 1.4 you can then check this value before requesting an in app purchase to unlock the entire app. This is not a 100% certain as you might have users who don't install 1.3.1 before upgrading to 1.4. – Lev Landau May 05 '15 at 11:04
  • 1
    hi @LevLandau is the value in the keychain persist if i delete the app from the device ? – Sneha May 05 '15 at 11:18
  • 1
    Yes, the keychain is not cleared if the app is deleted. – Lev Landau May 05 '15 at 16:04
  • 1
    Or you can update to 1.3.1 introducing a premium in-app purchase for free. Then remind to the user to upgrade for free to premium and, after some time, update to 1.4 where app is free and premium IAP is on sale. – Matte.Car May 12 '15 at 08:19

1 Answers1

1

Lev Landau's comment is right. If you don't have a server integration, you have to store something locally on the user's device in a 1.3.1 version. But you will have troubles with users who own multiple devices (i.e. iPhone and iPad). I can think about 3 ways to fix that:

  1. Make sure that your "already bought" flag is saved on iCloud
    or
  2. Use a free In-app purchase as a flag (RIP user experience).
    or
  3. Release a NEW app with a new App ID for 1.4 and release a 1.3.1 that will warn your users about the new app and will let an entry in Keychain that you will retrieve in the new app (see this answer to see how to share keychain data between apps)

Note that methods 1 and 2 will not work for 100% of the users (if they don't open 1.3.1 before 1.4 for example). I would recommend method 3.

Community
  • 1
  • 1
Quentin Hayot
  • 7,786
  • 6
  • 45
  • 62
  • Hi Quentin we actually went with doing a version mid version with 0 $ in app purchase. And help them out with Support queries with people who come to us after we release a free version . – Sneha May 15 '15 at 09:16
  • Ok, great to hear that ! Consider to accept the answer if it helped ;) – Quentin Hayot May 15 '15 at 09:32