Summing up my R&D free trial via introductory price only meant to be free for specific time after customer bought subscription.
I want that feature to be initially free for a month and then user buy the subscription.
How can I achieve this ?Is it achievable via Introductory price?
Yes It is achievable by introductory price. You can choose free trial
duration for a month inside introductory price's.
With Free trial, New subscribers access content for free for a
specified duration(say month). Their subscription begins immediately but theywon’t be billed until the free trial period is over.
Check it out for more details : docs
If you are asking that, if user can get free month trial subscription without going for IAP subscription purchase. You need to set logic for that by your own, that after user has installed your app, he/she should be able to use services for a month and after a month all those services should get blocked. and it will be again enabled only after user purchase subscription.
Related
We have "try for free" button in our app. I'd like to figure out how to know that trial is available.
I'm a little bit doubt about following text from documentation:
New and resubscribing customers are eligible to pay one discounted price or free trial per subscription group.
What is "resubscribing"? Can customers who has subscription in the past have trial again?
Is it possible to use StoreKit to figure out that trial is available now?
Is it correct to check introductoryPrice property of the SKProduct: https://developer.apple.com/documentation/storekit/skproduct/2936878-introductoryprice?
I also had an idea to ask backend for all the subscription history for current user and show "try for free" if user didn't have trial yet. But as I said I'm not sure about that "resubscribing".
The correct way to check for trial eligibility is to validate the receipt file as outlined by Apple below. Since most would consider this a non-critical validation, there isn't much harm in doing it client-side instead of off a server to save a network call. The worst harm a fake receipt could do is change the text of your button.
Determine Eligibility
To determine if a user is eligible for an introductory price, check
their receipt: Validate the receipt as described in Validating
Receipts With the App Store. In the receipt, check the values of the
Subscription Trial Period and the Subscription Introductory Price
Period for all in-app purchase transactions. If either of these fields
are true for a given subscription, the user is not eligible for an
introductory price on that subscription product or any other products
within the same subscription group. You typically check the user's
eligibility from your server. It's best to determine eligibility
early—for example, on the first launch of the app, if possible.
Based on the receipt, you will find that new and returning customers
are eligible for introductory price or free trial discounts as
follows: New subscribers are always eligible. Lapsed subscribers who
renew are eligible if they haven't previously received an introductory
price for the given product (or any product within the same
subscription group).
To answer your specific questions:
Can customers who has subscription in the past have trial again?
No. This is enforced by Apple for any products in the same subscription group. For example if user starts a trial for "Monthly Product", cancels, then later buys "Yearly Product" they won't be eligible for a free trial.
Is it possible to use StoreKit to figure out that trial is available
now? Is it correct to check introductoryPrice property of the
SKProduct?
No. The SKProduct will always show the same introductory price.
We are currently offering a variety of premium plans on our app using in-app purchases and not Subscriptions. We have a 4 months plan and 1 year plan when user pays from the start (he can cancel at any-time by contacting us and our back-end manages the plans so after the period of the plan has ended he is downgraded automatically) and we want to switch this mechanism to monthly payments subscriptions for better revenue reasons.
It looks as (at least on Google Play) that we can define the billing period by weekly, monthly, etc, but the period of the subscription is still indefinit by meaning of time.
Are subscriptions are "for life" until user cancels it? How does it work?
Is it possible to create a fixed 4 months or 1 year subscription that is paid monthly until its finished automatically? How can we define that a subscription needs to end after exactly 4 months since user first purchase it? (It should also be auto-renewal month by month in that period).
If this is not possible, can we somehow create an indefinit subscriptions and "cancel" the subscription on iOS and Google Play stores for the user without him knowing? (from back-end or clients)
Also, what happens if user to buy a different subscription while he is already in one? Should he cancel and also then buy?
Thanks for any clarification. The official guidelines by both companies are no so clear.
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
I have a 1-month auto renewal product with 1-month free trial configured in my iTunes account. As per my understanding amount deduction should happen after the 1-month free trial end. But for users in production, money deduction happens right after subscription and even before free trial starts. Is this an expected scenario or can anyone please guide me?
Auto-renewable subscriptions give users access to content or services
from within your app on an ongoing basis. At the end of each
subscription duration, the subscription will automatically renew until
a user chooses to cancel it.
Auto-renewable subscriptions provide a simple way to offer free trials
to users. When users sign up for a subscription with a free trial,
their subscription begins immediately but they won’t be billed until
the free trial period is over. How long a free trial can be depends on
the duration of the subscription offering. For example, a one-month
subscription cannot offer a free trial of longer than one month. For
more details on free trial durations, see Subscription Properties.
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