Skip to main content

I want to support multiple subscription tiers (silver, gold, ...) for my Android App. The subscriptions grant a monthly token quotum, consumed by using the apps features. Different tiers grant different quota. I use the RevenueCat Paywall.

I have set up the different subscription tiers each with their own entitlement and currently have a single offering for all tiers.

I want customers to have only one subscription at a time, but have the ability to upgrade/downgrade the subscription tier. How would I implement that?

Hi! As you may have already seen, Google Play does not have an equivalent subscription group structure as Apple does to automatically handle this. You will need to handle the checking for a current subscription and the upgrading/downgrading to the new subscription within your app itself. We outline how to do so in this documentation: https://www.revenuecat.com/docs/subscription-guidance/managing-subscriptions. Let me know if you have any more specific questions on how to implement this or how to get the specific user experience that you would like.


hi @wes_clark , thanks for your answer, but the doc on the link you are provided is not very useful to beter understand how to do that ourselves, especially for react native etc…. This section don’t have a snippet.
Also, i am on the same case as @rikkert-b2374d , but for me i have using your Paywall feature  and present it using RevenueCatUI.presentPaywall().
Based on your response and the params that this function take, i can’t use it like how the doc says to handle this case ? So how can i do this ? 


@wes_clark Unfortunately the linked doc provides very little info for react-native users. Same with the doc on the referenced PurchaseParams.Builder .


Hi, to upgrade/downgrade on React Native you'll want to use GoogleProductChangeInfo and provide this as an argument to purchaseProduct or purchasePackage, see the corresponding embedded links for the code.


I want to do a very siimilar thing using Flutter

Currently dealing with Google Play,

when user changes subscription I want to immediately award credits to him, and get him the new benefits so I need to reset the billing cycle to the preset moment (and ideally still keep the old benefits)

The closest thing i’ve found it this

GoogleProrationMode.immediateAndChargeFullPrice
 

But it seems that it totally cancels the old one and apply the rest of the old subscription time to the new subscription, but in the case user is upgrading, it’s seems not good as he can use this to get the better tier for longer time without paying more.

also not sure why the base plans in the play console have this setting

 

 

 

 

 


Hey ​@max anders,

Edit: I think `CHARGE_FULL_PRICE` is the closest option to what you’re looking for - can you clarify what you mean when you want the user to keep the old benefits after upgrading to a new product?

But it seems that it totally cancels the old one and apply the rest of the old subscription time to the new subscription, but in the case user is upgrading, it’s seems not good as he can use this to get the better tier for longer time without paying more.

 

It should charge the entire new full price - can you clarify what you mean when you say they wouldn’t have to pay more to upgrade?


Reply