Skip to main content

 

It goes something like this:

1 - Sign into RC with appID1
2 - Purchase subscription.
3 - Sign out and back in again using appID2
4 - RC says no subscription active for appID2 and so we present offerings.
5 - Purchase fails because (presumably) Play Store thinks we already have an active sub because appID1 bought one using the common PlayStore sign in.

I’d like to prohibit sub sharing across different accounts.
In order for appID2 to be able to purchase a subscription, another Play Store account needs to be used.

What’s the general best practice for dealing with this scenario?

Many thanks.

To add some complexity, I have 2 products:

1 - A monthly subscription
2 - An annual subscription

If userID1 purchases a monthly sub, this blocks userID2 from purchasing the same sub while it’s active but userID2 *IS* able to purchase the annual sub from the same Play Store account, which is somewhat less than ideal.

So I guess the best approach would be to try and manage this based on entitlements rather than products?

Ideally I guess, I would check the current subscription status on the currently signed in play Store account and if either the monthly OR yearly sub is active there, I should block all purchases for userID2 if RC doesn’t acknowledge an active entitlement?


 


Hey @Rob Brooks! Happy to help here.

A possible solution here is to enable ‘Block Restores’ for your app in the RevenueCat dashboard, and before allowing a customer to make a purchase call `restorePurchases`. If any underlying purchases are owned by a different app user ID, the method will return an error and you can inform the user to switch accounts.

Alternatively, if you wanted to let purchases transfer between accounts, you could call restore purchases before allowing a purchase then checking entitlements to see if it’s already active to prevent another subscription from being purchased.

Let me know if that helps!


Hello @Rob Brooks !

I'm in the same situation as you and I'm managing the same way as you for the subscriptions. However, how you manage to block the userID2 to block all the purchases? I'm trying to do the same thing but can't find neither understand the doc of revenue cat to do that. Maybe someone from the revenue cat staff can help me on this ? Thanks


Hey @Rob Brooks! Happy to help here.

A possible solution here is to enable ‘Block Restores’ for your app in the RevenueCat dashboard, and before allowing a customer to make a purchase call `restorePurchases`. If any underlying purchases are owned by a different app user ID, the method will return an error and you can inform the user to switch accounts.

Alternatively, if you wanted to let purchases transfer between accounts, you could call restore purchases before allowing a purchase then checking entitlements to see if it’s already active to prevent another subscription from being purchased.

Let me know if that helps!

Although it’s not subscription and it’s one time product which are consumable, I prevents transfer, (in ios) and login with account A to purchase then login with account to purchase, two products belongs to account A both.
It’s ridiculous, it mean app user id is useless!!

And in android, it’s totally different, two products belongs account A and account B separately. I suppose android is the expected!


@simplist-app This doc should help you. I’ve linked specifically to “Keep with original App User ID”, which blocks transfers.

@hangyu-cde31f Can you clarify the issue you’re experiencing? It sounds like Google Play is working as expected while iOS is not? Which transfer behavior have you enabled in your project?


Jumping on this thread since its active. I have the following scenario:

Each account of my app has a unique appUserId from my backend feeding RevenueCat.

User logs into Account1 and purchases the monthly pro plan. The user logs out of Account1.

User logs into Account2 on the same devices with the same iOS/Play Store credentials and tries to purchase the monthly pro plan but gets hit with the subscription already being active with those iOS/Play Store credentials. 

Is there any way that the user can purchase the monthly pro plan on Account2?

The motivation behind this is that one user owns both Account1 and Account2 but I need the user to pay for the pro plan for each account.

Thanks in advance!


Reply