Non-consumable Free trial - ios

in-app-purchase using Non-consumable how to add add free trial period, do I have to make the price 0? there is no documentation how to make free trial for Non-consumable option.
I was thinking that configuring the price in apple developer account in-app-purchase and from device enable all options for 2 weeks then ask for the payment, do you think this can work with guideline?
Just another question, I added the price, but when user start to download it doesn't ask to pay before downloading right? I have to implement a button with storkit to ask a payment inside my app when free trial finish.

Introductory offers such as free trials are not available for non-consumables products. Only auto-renewable subscriptions can have introductory offers. More info here: https://developer.apple.com/documentation/storekit/original_api_for_in-app_purchase/subscriptions_and_offers/implementing_introductory_offers_in_your_app

This is not true (or at least isn’t true anymore). Quoting from Apple’s “App Store Review Guidelines”
“
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: “XX-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.
The full text is available here: https://developer.apple.com/app-store/review/guidelines/#in-app-purchase

Related

Free Trial IAP + Non-Renewing Subscription IAP

I'm confused about the the following statement in the apple's review guidelines 3.1.1
"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: “XX-day Trial.” ..."
Current situation:
This is my first app and not published yet. It's planned to be offered at no cost. I've already implemented a non-renewing subscription IAP item to unlock all features for a period of time. The app keeps still useful without buying the IAP item.
Questions:
What's the meaning of "non-subscription apps"?
Does it mean that I am not eligible to offer a free trial period IAP item (Non-Consumable item at price 0)?

Proper way of Apple in app purchase with free trial in flutter

I am coding in Flutter, and I want to implement an auto-renewable subscription with a 3day free trial period.
Unfortunately, I did not find any exact documentation or advice, how can I test it.
What I tried:
1) I created an auto-renewable product in the apple developer console.
2) inside this product I have chosen the “add promotional offer”, where I selected the “free trial”
Everything was easy and clear, but when I start my application for testing this, it only displays the normal price, and I find nowhere the free trial part. So I can not test it.
When I call the subscribe method, it will show me the normal price to charge. When I subscribe to my sandbox user, I do not see anything about the free trial in the validation JSON.
Is this normal? Could it be possible, that the free trial feature is available only in production?
Or what did I forget?
You can change the settings of the in-app purchase item from app/play store, there is an option to add an introductory/trial offer where you can mention the trial period. In the code, you can deliver the item accordingly.

How do I handle a free trial before BUY (not subscribe) using In App Purchase on 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.

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

How to grant free months to an auto-renewal subscription (iOS)?

I have an iOS app with different auto-renewal subscription possibilities, and I want to offer it's user the chance to earn a free month when they invite friends to the app.
I know how to handle the scenario where I'd give a free month to a user that's not already subscribed, but I'm wondering how to handle a user that's in the middle of a year-long paid subscription and should receive a free month..
EDIT
Make sure to read budiDino reply below, it seems this is now possible (Full disclosure, I haven't tried it myself but I did glance over the references linked).
OLD ANSWER
Ok, after some digging and asking around on Apple's forums I can confirm it's not possible.
The only way to achieve this is to give users a free month outside of Apple's subscription process...meaning users should turn off auto renewal to enjoy those free months.
Whether this is good or bad for your app depends, but it required that the user manually turns off auto-renewal while using the earner out of charge time, and then turn it on to get back into the normal auto-renewal flow handled by Apple.
You can maintain a value like additionalMonths on your server side.
So once his subscription period gets over, you can check for the value of additionalMonths and accordingly provide him subscription for those number of months.
1. Promotional Offers
This option allows you to add a free or discounted price for a period that you specify and it will be executed before the next payment cycle. You can use this feature starting with iOS 12.2.
Apple Documentation:
You can provide lapsed or current subscribers a limited-time offer of a discounted or free period of service for auto-renewable subscriptions on macOS, iOS, and tvOS.
Some useful links:
Implementing Promotional Offers in Your App
Set up promotional offers for auto-renewable subscriptions
Subscription Offers Best Practices video - WWDC 2019.
2. Offer Codes
Apple Documentation:
Offer codes can help you acquire, retain, and win back subscribers by providing a subscription at a discount or for free for a limited time.
Read more
3. "Extend a Subscription Renewal Date" endpoint:
Potentially simpler alternative that is not really suggested to use for this use-case. It has certain limitations though:
you can move the renewal date for a customer’s subscription up to 90 days into the future for each extension
you can extend the renewal date twice within a year (365 days) per customer
The following types of subscriptions aren’t eligible for renewal date extensions:
Subscriptions in a free offer period
Inactive subscriptions in a billing retry state
Subscriptions in a grace period state, with an expiration date in the past
Subscriptions that have already received two renewal date extensions within the last 365 days
Read more

Resources