How to rank subscription plans using Apple In-App Purchase in same subscription group? - ios

We are trying to upgrade and downgrade subscription plans in apple in-app purchase.
All plans are in one subscription group having different prices and duration.
Our app has in-app purchases with auto-renewable subscriptions.
After buying subscription
1- I chose to downgrade to another product
I got a popup asking me to do I want to upgrade and will get a refund. I press confirm
2-After some time, I chose to upgrade to a higher subscription
I got a popup asking me to do I want to modify my subscription and subscription plan will begin and you will be charged when the current subscription expires
We have followed the below document.
https://developer.apple.com/app-store/subscriptions/#ranking
Still, We are a bit unclear about the apple developer document regarding subscription plan ranking.
Can anyone suggest, how to set the rank to a subscription plan?

I suppose you've configured your subscriptions in the wrong order since an upgrade should cancel immediately your current subscription, whereas a downgrade should wait for the next renewal date.
Here is an example of configuration:
Where the higher plan is "Gold".
So:
when you change from Silver to Bronze, you have to wait until the next renewal date
when you change from Silver to Gold, your subscription is immediately canceled and changed into Gold

Related

Is is possible to create date-ranged in-app subscription in Apple and Google Plays stores?

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.

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 IAP with auto renew subscription that has multiple products in the same family with the same duration

I'm currently working on an iOS app that will allow users to purchase an auto-renew subscription to access service charged monthly. I would like to be able to offer a basic and premium service, and allow users to upgrade or downgrade from one or the other.
I've set up test users and some test products and I've found that if you select the basic subscription first and then later on select to purchase the premium subscription the test user is charged for both services simultaneously.
Does anyone know if its possible to programmatically cancel a users current subscription when we've noticed they've either upgraded or downgraded their service, so they are only being charged once?
I've seen that using this link
https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions
Allows a user to manage their subscriptions manually, but I would like to handle migrating them to their new plan automatically.
The control over the subscription once purchased is by the user. Only the user who purchased can cancel the renewal. As a developer you can't do any changes.
After a discussion with someone at Apple the answer to this is question is that there is no support for multiple product subscriptions with the same duration. They would not comment on how certain apps are able to do this. Officially it's not possible.

Handling Multiple Subscription in GooglePlay

In ios and amazon - we have a subscription family - example if i have purchased a one month subscription, I cannot purchase a six month subscription of the same family. But it appears that this is not the case in google play. For example a user might have a monthly subscription running with a one year subscription also running simultaneously.
Do we have to handle the logic of not allowing a user to purchase a second subscription if he has already subscribed to one subscription?
In iOS the user can change duration for the same subscription family though their iTunes subscription management page. On android you must implement this in the app using the getBuyIntentToReplaceSkus() method:
This method is used to upgrade or downgrade a subscription purchase. The method is similar to getBuyIntent(), except that it takes a list of already-purchased SKUs that are to be replaced with the SKU being purchased. When the user completes the purchase, Google Play cancels the old SKUs and credits the user with the unused value of their subscription time on a pro-rated basis. Google Play applies this credit to the new subscription, and does not begin billing the user for the new subscription until after the credit is used up.
http://developer.android.com/google/play/billing/billing_reference.html#upgrade-getBuyIntentToReplaceSkus

In-App Subscription Tiers?

I am researching in-app purchase viability in my app and have some queries.
Is it possible to have a multi -tiered subscription model with in-app purchase on iOS?
E.g. 4.99 for Basic, 9.99 for Advanced.
I would need the user to be able to change tier as and when they wanted, just as you would expect from any subscription service.
Is that possible? Does Apple support this?
Yes it's possible by opting out of the current subscription and then buying the Advanced Tier.
https://developer.apple.com/in-app-purchase/In-App-Purchase-Guidelines.pdf
Subscriptions and subscription renewals to content or services can be offered to customers for purchase.
!Renewal of an Auto-Renewing Subscription is handled automatically by the App Store. The user will be reminded shortly before their subscription is about to renew and all the billing is handled automatically by the App Store. Users can easily change their renewal frequency and can opt-out of the renewal by turning off the Auto-Renew switch at least 24 hours before the end of the current subscription period.

Resources