For IOS, we can create a subscription group with multiple products. For example, say we have a group with two products: Premium Monthly and Premium Yearly. The subscription group makes sure that the user can only have one at a time. Changing from one to another is a crossgrade.
How is this supposed to be done with Android? I couldn’t find anything in the Google play console for subscription groups.
Is it a correct assumption that if the user purchased Premium Monthly product, they cannot switch to Premium Yearly product in Android account since there is no such thing as subscription groups? They can only cancel their product?
And does this mean that we would have to create a screen in our Android app to handle the situation if the user wanted to change from monthly to yearly? My app is react native. Is the functionality to do this in the react native purchases library or should I be using the RevenueCat’s API?
Hey
As I understand you cannot cancel subscription on iOS , so the only thing is to show link to the user and notify that he should cancel current subscription? Little bit not user friendly approach.
And for Android seems like you can revoke + refund via api, but only revoke is needed actually not a refund. Or same as iOS to show link to user for cancellation.
Thanks
Hi
Have you checked out this community post?
Interface of the upgradeInfo
: https://github.com/RevenueCat/react-native-purchases/blob/main/src/offerings.ts#L283
Your call would end up looking like
Purchases.purchasePackage(package, {oldSKU: sku_name, prorationMode: 1}
Where sku_name
would be the product identifier (string) the subscriber has currently active. To find this, you can call the getPurchaserInfo
method and retrieve the active product identifier. Docs for reference: https://docs.revenuecat.com/docs/purchaserinfo#get-user-information
It looks like in react native I can use this method:
const result = await Purchases.purchasePackage(item, upgradeInfo);
However, I’m not sure how to the oldSku which is needed for UpgradeInfo
Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.