Free trial implementation for auto-renewable subscription - ios

I have react native app and i have implemented expo-in-app-purchases.I have setup all thing described in here https://help.apple.com/app-store-connect/#/devb57be10e7.I have set up free trial of 1 week.My doubt here is that how this trial period actually working?
1) Is that working like we have to pay for first and the price will deducted only after one week?(Like Youtube premium).
2)Or we can access the feature for 1 week free and only after need to pay?
Is there anything to do in our code or only appstore setup?Can anyone tell me how the free trial actually working?What is the best thing to do?

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.

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

Detecting whether the current subscription is in Trial for Google Play store?

I'm trying to detect whether a user who has purchased my application through in-app purchase is in currently in Trial period or not.
For Apple (ios store) it was an easy flag which I could find in the receipt.
For Google Play, even though I'm making a server end call using the google play android developer API but the response itself does not contain any flags for me to understand whether the user is currently in paid or trial period.
Does any one have any smart suggestions of how to detect this in the google world?
Actually it seems like this really ins't offered by V2 at the moment. The best alterantive that I have though of so far would be to keep track of the first time this purchase was made (e.g. reading it our from the first receipt that the user received for the purchase) and then comparing this timestamp to the current time using the duration of the trial period.
This can be read from trialPeriodof the InAppProducts.get part for the respective productId.
https://developers.google.com/android-publisher/api-ref/inappproducts
If anyone has a better solution, I would be happy to read it here.
I checked the difference between initiationTimestampMsec and validUntilTimestampMsec. If it matches my configured trial period its trial.

Resources