Advertise here




Advertise here

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Google Sign In with OpenID
Please do not post the same thing multiple times. The board software automatically flags certain posts as needing moderator attention. This happens the most often for new users. I'm pretty sure this is made clear at the time you attempt to post. Posting the same thing over and over again just makes that many more posts the moderators have to weed through later. This makes us sad. Don't make us sad. If your post/thread doesn't appear, just wait a while. Don't post it again. If it hasn't shown up by the next day, then you can try again. I normally go through posts in the mornings, and try to check a few times throughout the day, but I'm not here 24/7. There will typically be a significant delay before posts are approved. Just be patient.

Converting app from paid to free with IAP's

fouldscfouldsc Posts: 166Registered Users
I have been asked by a client if I could update an app from paid to free with IAP's.

Now the actual code alterations to add purchases is simple , the adding of adverts until you buy something also simple.

Question is..... , they already have around 50k+ people who have bought the app. Is it possible to detect those people and give them full access - as if they have done the IAP ?

I was hoping the API would provide something along those lines but have yet to spot it.

Any help from people that have done this appreciated.
Post edited by fouldsc on

Replies

  • RoryHarveyRoryHarvey Posts: 203Registered Users
    Update the existing binary to full access and release a second app for free with IAPs.
  • fouldscfouldsc Posts: 166Registered Users
    RoryHarvey;440305 said:
    Update the existing binary to full access and release a second app for free with IAPs.
    Not an option.
  • Mark_ComantisMark_Comantis Posts: 12Registered Users
    One option would be to issue an update where you save a boolean flag to NSUserDefaults - (like isUserPaid).. and set the flag to true for all existing users.

    Then in the next update you can change the app to free with IAP. And in the startup code check that flag . If it is true then unlock the full version.

    Hope that makes sense!
  • rocotilosrocotilos Posts: 3,216iPhone Dev SDK Supporter, Registered Users
    What Mark_Comantis suggested could work,

    but there is always the problem where there are STILL some users
    who have not updated to the "stepping version".. so they won't be
    able to get full version.

    For eg: 10,000 users.

    v1.1 - updated with boolean flag.

    1 months passed
    7,000 users updated app

    v1.2 - update with IAP + Free.

    Any of those 3000 users who haven't updated to v1.1 before
    wouldn't be getting the fully function app.

    Unless you're willing to wait for months until at least MOST of your users
    updated it.
  • Mark_ComantisMark_Comantis Posts: 12Registered Users
    rocotilos;440325 said:
    What Mark_Comantis suggested could work,

    but there is always the problem where there are STILL some users
    who have not updated to the "stepping version".. so they won't be
    able to get full version.

    For eg: 10,000 users.

    v1.1 - updated with boolean flag.

    1 months passed
    7,000 users updated app

    v1.2 - update with IAP + Free.

    Any of those 3000 users who haven't updated to v1.1 before
    wouldn't be getting the fully function app.

    Unless you're willing to wait for months until at least MOST of your users
    updated it.
    Yep that's a good point!

    Maybe you are already saving some settings to your local db or NSUserDefaults. If so, you can rename one of the settings in your next (free with IAP) version. Then check for existing of the old setting name in the new version. If the old setting exists (not null) then you can realize that they must have had the paid version, and unlock the full version.

    For the future, I think it's always a good idea to save the current app version number to NSUserDefaults
  • iekeiiekei Posts: 291Registered Users
    Mark_Comantis;440322 said:
    One option would be to issue an update where you save a boolean flag to NSUserDefaults - (like isUserPaid).. and set the flag to true for all existing users.

    Then in the next update you can change the app to free with IAP. And in the startup code check that flag . If it is true then unlock the full version.
    Previous purchasers who delete the app and redownload it, or download it to a different or new iOS device won't have that flag in NSUserDefaults.
  • fouldscfouldsc Posts: 166Registered Users
    Good idea , there is a welcome to the app flag used to show instructions on first run after some digging.

    I can move that and use it for upgrades.

    Just doesn't solve those that uninstall and reinstall.....
  • rocotilosrocotilos Posts: 3,216iPhone Dev SDK Supporter, Registered Users
    Mark_Comantis;440327 said:

    For the future, I think it's always a good idea to save the current app version number to NSUserDefaults
    This. ^^
    iekei;440350 said:
    Previous purchasers who delete the app and redownload it, or download it to a different or new iOS device won't have that flag in NSUserDefaults.
    And this ^^

    Still a problem. You can't cover all IMHO. Just choose a method and be done with it.

    And perhaps, give a promocode for those who complain to you. (Is there a promocode for IAP items? don't think so)...
    So, probably you can give user who complain another of your paid app.
  • Pauluz85Pauluz85 Posts: 106Registered Users
    Well for the remaining users you could also make a "I've purchased this app earlier" button in your app, and when clicked provide them a uniquely generated ticket number and ask them to email you a screenshot of their appstore purchases screen and the ticketnumber. You could then add that ticketnumber it to a whitelist of ticketnumbers which you will also check in your app to enabled the in-app purchase :D

    Shouldn't be to hard, but I think it would ask a little bit to much from the user and may not be worth the extra coding efforts..
    Check out my iPhone/iPad apps: Holidays Plus | Recurring Events
  • iAppDeveloperiAppDeveloper Posts: 37Registered Users
    Pauluz85;440391 said:
    Well for the remaining users you could also make a "I've purchased this app earlier" button in your app, and when clicked provide them a uniquely generated ticket number and ask them to email you a screenshot of their appstore purchases screen and the ticketnumber. You could then add that ticketnumber it to a whitelist of ticketnumbers which you will also check in your app to enabled the in-app purchase :D

    Shouldn't be to hard, but I think it would ask a little bit to much from the user and may not be worth the extra coding efforts..
    yeah^^ let's take rocotilos example: So he would get several mails from 3000 users with screenshots and he has to answer every mail and create a unique identifier. Further he has to check that screenshots are not sent more often (e.g. one user sends his screenshots to his friends so that they can get the IAP for free too). That sounds like fun ;)
    But I think that hardly anyone would do that in general. They would install the update, realize that they should pay again for features they already bought, get angry, write a negative review and delete the app. some might write you a mail but the majority would give you at least a 1 star review.

    Why don't you just release a free "lite"-version?

    Tell your client that it is technically possible but current users might stop using the app and rate it with 1 star. Let him decide so the result wouldn't be your fault.
  • Pauluz85Pauluz85 Posts: 106Registered Users
    iAppDeveloper;440398 said:
    yeah^^ let's take rocotilos example: So he would get several mails from 3000 users with screenshots and he has to answer every mail and create a unique identifier. Further he has to check that screenshots are not sent more often (e.g. one user sends his screenshots to his friends so that they can get the IAP for free too). That sounds like fun ;)
    But I think that hardly anyone would do that in general. They would install the update, realize that they should pay again for features they already bought, get angry, write a negative review and delete the app. some might write you a mail but the majority would give you at least a 1 star review.

    Why don't you just release a free "lite"-version?

    Tell your client that it is technically possible but current users might stop using the app and rate it with 1 star. Let him decide so the result wouldn't be your fault.
    Well sure people could cheat, but I doubt people would do that much.
    I agree that this isn't the most elegant solution, but it would at least be good customer service.

    And I think the administration problem isn' t as big as you suggest. First of all the estimate of 3000 would be to much with 50k users. Second, the unique ticketnumber mechanism could just be a auto increment id in a database on his server, that gets generated when the users presses that button (it would insert a row in the ticket table). All the developer has to do is flag a boolean in that same ticket table when he get's an email.
    Check out my iPhone/iPad apps: Holidays Plus | Recurring Events
  • fouldscfouldsc Posts: 166Registered Users
    Thanks for all the feedback, your right it is a nightmare.

    Now I know there is no 100% foolproof tech way I will write up the scenarios and let them choose.

    I have the feeling they will decide against it , but the create unique ID is the most elegant and they have customer support people that could manage that queue daily anyway.

    It is a bummer that Apple don't have any API's to allow for such a transition , it's just an additional API.
Sign In or Register to comment.