I have a paid App in the App store and would like to add In-App purchases to it, progressively in time (that is, put one Product now, one product next month, etc) but I wonder:
Do I have to handle the case where the user sees the product but is not allowed to purchase it because it needs a newer version of the app or does Apple only show In-App purchases that are available for the installed version in the user's device?
Thank you all in advance.
You can always add in app purchases to the app and show different purchases to different users depending on their app version or other configurations.
I have developed multiple apps to the app store where the clients depending on the version of the apps have access to different purchases. Though you will have to handle somewhere on the code which purchases you want to show for an specific version.
No, that cannot happen. If you add a product to the app you need to add it somewhere where the user sees it and buys it. Users with an old version wont have that view.
Related
We have in the AppStore a free app which has a PRO in-app purchase.
The in-app it's the usual appId of form com.our.appid.pro and purchasing it sets a boolean in userdefaults which enables or disables specific features in the app. It's all working fine.
However, I have the requirement to create a version which is PRO as soon as you download it from the AppStore. It would be equivalent to a free version with the in-app purchase already bought.
My question is, what is the most convenient way to do this ? Do I simply change the appid and force that boolean to YES for the purchased state and reupload it again as a different app ? I guess it cannot be done without having another app/appid ( that's why in-app purchases were implemented in the first place ... ).
Thanks
Yes, If you want to submit an app with fully featured app including the In App Purchase Functionality of your older version, then just change the bundle Id of your new app.
Make a new app on iTunes with a different app name and all features without In App Purchase for your those extra functionality of your older version.
Then you will be good to go.
Another option is that if you don't want to go for the PRO version of the app, then remove In App Purchase from your free version and increase the price tier of your free version and submit your app again without In App Purchase.
Hope this helps you.
I am developing an iOS app that will allow purchase of various additional "Packs" of information as non-consumable purchases, and I intend to add new "Packs" regularly. (This is my first app, so experience is limited.) My current design simply checks for in-app purchases with product id's "...Pack01" to "...Pack99", and those that it finds are included in the store front. My assumption has been that after the app is released I can add a new in-app purchase with product id, say "...Pack32" in iTunes Connect, and this will then show up in the store front as soon as it's available. I don't want to distribute a new update of the app every time I add a new pack.
However I am not sure it's possible to add new in-app purchases without updating the app. Can someone confirm, please, whether it is possible, and if not, is there another way to achieve the goal of updating the available purchases without distributing new app versions?
It is possible as long as your app can properly deal with the additional products without the need for any new code.
First my question, then my situation:
Question: Can a new binary be used as an IAP? So instead of using the IAP feature to download say a weapon pack or a song, can it download a completely new binary of the same app, that way when the user upgrades they no longer have ads and they have additional features that weren't present in the free version.
Situation: As brief as possible, Apple has approved both my IAP package and my new free version for the public to have accessibility to upgrade. However, when trying to upgrade, after making the purchase (sandbox or live), nothing happens... the account gets debited the 99 cents, but the user never receives the paid version of the app. I'm assuming that there's an issue with the actual package.... which leads me to believe that Apple approved it without checking the integrity (perhaps it's not Apple's responsibility, but I figured that checking for a faulty IAP would be just as important as checking for crashes).
Am I on the right track about the packaging being faulty? Could it be something else? If doing a new binary is possible, is there documentation anywhere online about setting it up properly?
Thank you!
You are going about this all wrong. You can't provide an updated app as an IAP. Your free app with IAP must include all desired functionality built into it. When the user purchases a feature through IAP, the existing app uses that as a flag and simply starts letting the user use the additional feature(s) or to stop displaying ads.
Basically on startup your app checks to see if the user has made the in-app purchase or not. If not, you show ads and/or hide certain functionality. If they have, you don't show ads and you show the appropriate functionality.
In-app purchases are there for products which on download can be used after purchasing. But in your case you are downloading the full version of the app on in-app purchase. Do you have any way to load binary of an app? No, right?
What you can do is just disable all functionalities of full version of the app through coding, when on purchase just enable all features for pro version.
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
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
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.
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.
I have completed my iPhone app. It is an app in the finance category. Now, I wish to incorporate in-app purchase.
But before this, I was thinking if I can get the app approved by Apple first.
I will limit 2 features in the app (which can be purchased via in-app purchase once it is added).
I wish to make it live on app store first (with limited features). Then later, I can incorporate in-app purchases. Is it possible for me to do so? Because I will be limiting certain features of the app. Will Apple accept this?
If I remember correctly, there is an option when the App should hit the AppStore. I usually selected the current date as the desired AppStore date. But you could select some point in the future, say one year from now. That should solve your problem, doesn't it?
Until then, you'll see if Apple accepts your app and can later on upload new versions with additional features.
Any minimum viable product(new features can be added in the future updates) can be uploaded to App store. Checkout the Apple's Guidelines