How do I handle a free trial before BUY (not subscribe) using In App Purchase on ios - ios

I want to offer a free trial and the option to BUY (Non-Consumable In-App Purchase) on my ios app. I can see that I can offer a trial and then SUBSCRIBE (Auto-Renewable Subscription), but I personally don't like having to pay over and over for a simple app, but I do want to try it first. Is there a way to achieve the same thing when setting the option to buy? I realize I could track the first usage after download, but this presents a couple of issues:
Will Apple now approve apps for a trial period - previously they have been rejected, but that was before IAP and subscribe was available at all!
How do I prevent the user deleting the app (and any data I might store to know they have activated a trial) and then downloading again?
Or do I have to succumb to the pernicious "subscribe" model or release a "light" version with an upgrade? The last time I went "light", Apple insisted I make so much functionality available, I may well have not bothered with the full version - but that was a while ago.

Apple now allows you to add a free trial for Non-Subscription apps. It's a 0 price plan for fixed days. After this trial expires, you can show the non-subscription plan for purchase. The downside is user need to do a purchase again after trials end. But offering a free trial is a good user experience.
Non-subscription apps may offer a free time-based trial period before
presenting a full unlock option by setting up a Non-Consumable IAP
item at Price Tier 0 that follows the naming convention: "14-day
Trial." Prior to the start of the trial, your app must clearly
identify its duration, the content or services that will no longer be
accessible when the trial ends, and any downstream charges the user
would need to pay for full functionality.

Dont prevent the user from deleting the app. Just store the data online when user hits the trial button, you can store a flag in the web services which can be zero or one based on the user.

One way you could do this if you only care about iOS 11 is using the new DeviceCheck API. It's pretty limited in functionality (it lets you track 2 bits, or 4 cases, total) but should persist between install.

Related

Is it allowed to force users to Subscribe via Free Trial AutoRenewable Subscription, or else, cant use the App at all?

Let's say once you install the app and open it for the first time.
You are presented with a PayWall, that you cant skip.
In order to use the app, you have to Subscribe via a FREE TRIAL Subscription.
Once the free trial ends it will automatically charge the user for the Subscription price.
Unless they cancel it before, making the app useless forever until they decide to pay the Subscription.
Does Apple allow that ?
Apple's website about business models states the following about the freemium model:
[It offers] the option to pay to enhance or customize the experience.
Therefore, I don't think that Apple will allow you to implement a freemium app without providing actually free content.
The auto-renewal of the free trial into a paid subscription is the "normal" behavior of Apple's free trial.
A lot of applications are doing this, the most famous one is probably Disney+. No (more) free trial, they ask you to register then subscribe.

Does free trial period for In App Purchases in iOS only work once?

We are integration IAP in our iOS11 app and want to give new users some start offerings with a long free trial period.
My implementation alternatives are:
Use auto-renewable subscription with a generous free trial (like 2 months for monthly subscription), and rely on Apple that a user that cancels can't restart and get 2 months again. Is this correct?
or
Make two IAPs, present the one with free trial to new users and present the one without free trails to a user that has canceled or stopped the free trail version. But users might find the IAP on App store (specially now when Apple will start feature IAP) and buy it anyway?
What is the best thing to do?
I'm managing an application with InApp Purchase and auto-renewable subscription.
As far as I know, InApp Purchase is linked to user AppStore account, and free trial can be consume only once per account.
If you present the same product after a free trial period, the user will resume your auto-renewable subscription and not benefit the free trial again.
So in my mind the first option is the best.
However if you would like to implement the second one, you should know that the new IAP management feature in your product store page allow you to show and hide the subscriptions you want.
For more information about this new feature, take a look at the WWDC video : What's New in StoreKit

iOS: Tracking the paid users while converting paid iOS application to free with in-app purchases

We have a paid iOS application in the AppStore currently. We are planning to convert it to a free application with in-app purchases. We would want to make the in-app purchases free to the users who have already paid for the application in the previous version. I think this can be done via App Receipt Validation. But will the receipt get updated once the application is converted from paid to free and will the purchase details get lost?
If you convert your app from paid to free, you are still able to inspect the receipt and see which version was originally downloaded and act accordingly.
When we did this in one of our titles, we implemented a three tier system:
We bumped the version of the save file. Any time we promoted from a save file with version <= X (where X is the last one that was on the premium version) we would award the appropriate IAPs (in our case we gave them a coin doubler, an ad disabler and a chunk of coins). You should use this simple mechanism for the majority of the users because receipt checking can require an internet connection, and your users might not be online the first time they boot after an update.
We had a 'restore IAP' button. You need this anyway on iOS if you have any non-consumable IAPs, but we additionally added a check of the App Store receipt which lets you discover whether or not the user originally paid for the game. Here's the tutorial we based our code on, we chose the easy way, but you might need to weigh that up against piracy concerns.
Our reimbursement system also checks a file that we host, which can give out extra coins/doubler unlocks/ad removers. If the receipt checking failed (we supported pre-iOS 7 so we couldn't rely on receipt checking APIs) then we could reimburse users that way if they contacted us. This is a good idea anyway, with luck you'll have a lot more users after you go free, which means more people who will discover some progress-losing bug in your app - it's good to be able to give them stuff in return.
Edit: I'd also recommend keeping track of the user's category in the save file. So, you might have 'free' users who have never paid anything, 'paid' users who downloaded for free but have bought some IAPs, 'premium' users who bought your app when it was paid, and 'premium+' users who bought your app when it was paid AND have since bought IAPs. Even if you don't need this info immediately, it's worth tracking for analytics and so that you can reward your old premium customers with free content in the future if you decide to do so.

iOS App Freemium to Paid App

I have Freemium apps in the AppStore. Originally it was Paid but I wanted to see if Freemium versions make any difference in Downloads and Sales. It did make difference - number of downloads increased by 10 times but number of purchases reduced by 2 times. So Freemium modal didn't work for me. I want to change back to Paid.
I do not want to create other versions of the Apps as I have really good reviews on all Apps which I don't want to miss. Can someone please help me if it is possible to convert my Apps to Paid and do not allow people to use full functionality who has already downloaded apps but haven't paid?
I will somehow need to detect they have been using old app and not paid. I can do it by releasing an update that store key in the Keychain but I don't understand hoe would those users be able to pay at all as Apple doesn't charge for the App as it is already downloaded in the past, and they won't be able to use full features as they downloaded freemium app....arghhhhh!!! Not sure if this is even possible but want to hear some of yours thought.
I believe paid upgrades are not possible, you will lose profit and you can't do anything about it unless you are willing to create a new app to replace the old one. The move from paid to fremium is a permanent one, you cannot force existing users to pay after the app is free.
It is possible to move back to Paid, without giving the previous Freemium users the full version.
To do this, you have to:
Know the last version of your app that was Paid
Check the user's purchase receipt (refresh receipt if necessary from Apple)
Know whether the user has made any in-app purchases during the Freemium period (e.g. every time the user upgraded, you added an 'Upgraded' item to their keychain)
Switch to Paid
If you have this information, you go ahead and switch your app back to Paid and:
Check whether they have made any in-app purchases (via e.g. their keychain 'Upgraded' flag). If they have, give them the functionality - easy. If they haven't then go to the next step.
Check the user receipt to see what version/date of the app they first downloaded. If it is during the Paid period, upgrade them to full version. If it is not, and the user has not made an in-app purchase, keep them at Freemium.
Disadvantages
There are 2 disadvantages I can see with this approach:
Any user that downloads the app after Freemium will need access to the Internet for you to confirm their receipt. This means the user might download the full version, then at a later time when they are not connected to the Internet, open the app only to find that they have to Upgrade. Of course once they connect to the Internet and their receipt is validated, they will be upgraded, but in the meantime you might get some bad reviews and angry customers.
Your app will now be a Paid app that has In-App purchases. This may confuse users thinking that if they buy your app, they will have to further upgrade via in-app purchases... and put them off.
Of course the advantage is that your Freemium users will stay freemium :)
I have done this myself, and had no problems with the process.

iOS app Free for 1 month after that monthly Payable Subscriptions

I am planing to publish an iOS app. App should be Free for first 1 month from installation in the Device. Once the 1 month period is over , user has to subscribe to use the application every month by paying some X amount.
1) Will apple allows such applications ?
2) If allows, how to achieve this kind of Payments ?
3) How to prevent user to access the app after 1 month. (Calculation of the Days)?
4) Should i reinstall the app after subscription ?
IAP is supposed to be used to provide additional content and features to an already functional app.
If you render your app useless or without functionality after a month, it will probably be rejected, or banned after approved. I believe you can't have an app that will simply say "Your trial expired.".
In my opinion, you would need to think of a functionality that you can provide to all users, regardless of they paying for it or not, and have the premium or the extra functionality purchased as a In-App Purchase.
Apple does not allow free trials in the app store. If you try to do this, your app will get rejected. Still, there is one category of app where Apple does allow a free trial: apps with auto-renewing subscriptions. These were originally intended for (and only allowed with) Newsstand apps where the subscription is for getting new content such as magazine editions etc.
Apple recently allowed the use of auto-renewing subscriptions in non-Newsstand apps but it's still a very grey area as to what exactly Apple will allow with these. Usually the subscription will have to provide some kind of periodic new content in your app. I agree with those who recommend against using them.

Resources