Question

Whats the process when a user creates a subscription in iOS / Then pulls in entitlements on Andorid

  • 5 March 2024
  • 4 replies
  • 38 views

Badge

Hi,

I am hoping somebody can help with some logic behind how to handle the following scenario

  1. The user installs my app - purchases a package (there are 3 levels)  - lets say they do this on ios in the AppStore.
  2. They then install and login to my app on Andorid device - they can ‘restore purchases’ on this device to pull in the entitlements from RevenueCat and I can manage access etc.
  3. ?? .. but what to do/how to handle -  if a customer wants to cancel subscription - or upgrade/downgrade subscription ??

I have got the subscriptions working fine, with cancel link, and upgrading/downgrading etc …. however I am a little confused as how to handle what to do if a customer wants to cancel subscription - or upgrade/downgrade subscription if the original subscription wasn’t purchased on the current device app store ?

If I use the same code that works fine when device is installed on native app store device… I get an error - which seems obvious as it will be checking the current Android/iOS subscriotion to upgrade, or set etc..

So whats the best practice here?
What I am assuming is

  1. I detect which store this current subscription/entitlement was purchased on…
  2. If it wasnt purchased on the current device store (ie: I am on a android device, but subscription was done on ios device in app store)…. I just display a message informing them ‘The current subscription was not purchased on the play store - please login on a apple device to manage your subscription’ etc?


Is this the common practice? I am interested what you are ‘supposed’ to do in this scenario - and/or what others are doing?

Thanks in advance for any help :)


This post has been closed for comments

4 replies

Badge

Any thoughts or resources on this would be massively appreciated as I am sort of stuck on where to take this, or what to do in this scenrio?

Badge

I assume nobody has an answer to this ?  :(

Userlevel 4
Badge +6

Hey @david-haw-0c6805 !

 

I’d be happy to help!

  1. The user installs my app - purchases a package (there are 3 levels)  - lets say they do this on ios in the AppStore.
  2. They then install and login to my app on Andorid device - they can ‘restore purchases’ on this device to pull in the entitlements from RevenueCat and I can manage access etc.
  3. ?? .. but what to do/how to handle -  if a customer wants to cancel subscription - or upgrade/downgrade subscription ??

The user would need to manage their subscription (upgrade/downgrade/cancel) on the platform it was purchased from as you are currently only able to manage subscriptions from the original platform that the subscription was purchased on. 

 

Apps within the same RevenueCat Project share the same App User ID namespace, which means that they also share subscriptions. A user logged in to the same user ID in different apps of the same Project will have access to the same entitlements. This allows sharing of subscription status between different apps, even on different platforms.

 

  1. I detect which store this current subscription/entitlement was purchased on…
  2. If it wasnt purchased on the current device store (ie: I am on a android device, but subscription was done on ios device in app store)…. I just display a message informing them ‘The current subscription was not purchased on the play store - please login on a apple device to manage your subscription’ etc?

This is a good workaround for this use case. This would need to be done on your end, but yes you ultimately would want to inform the customer that they are trying to manage a subscription that was not originally purchased on that platform and the only way to manage the subscription would be to do it on the platform where the purchase was originally made. 

 

Let me know if that helps! 

 

Badge

Thank you for clarifying