I've created 2 auto-renewing products, one with a cheaper price and one with a more expensive price. I show the cheaper product for legacy users (users who have been on the app for a long time).
The problem here is that when a user goes to the App Store and manages their subscription there, they are able to see the cheaper option and subscribe to it.
Is there a way I can hide the cheaper product from being purchased through the App Store and only allow them to be purchased from my app?
I saw the Cleared For Sale
option on the product but when I tried unchecking the box, it made it sound like after users' subscription ends, they will no longer continue auto-subscribing to the cheaper option. Or am I misunderstanding Cleared For Sale
?
Are your two subscription products part of the same subscription group, or not organized in groups at all? If so, I think this is by design and not allowed to 'hide' it from the user. If they're in the same group it is treated like 'tiers' and the user has the ability to switch between the levels.
What I'd do is ensure that they are in two different groups, call one "legacy" and the other "current".
Within your "legacy" have the following subscription product:
- Original Price for early adopters that get grandfathered in price
Within your "current" group, have the following subscription product:
- New Price for new users
I assume your logic does something to the effect of if account created before cutoff date, offer reduced rate, else show new pricing. The idea is that when the user elects to manage their subscription, they will ONLY be shown what is within the same subscription group (I think if you don't use groups they see all products?). So, ensure they're in the correct group, and they'll only be able to manage those options. One thing you'll have to prevent in your UI, is disallow the user from subscribing to a product within both groups.
Take a peek in the developer app for some of the WWDC presentation and tech talks. Here are a few links to get you started: