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?
Best answer by codyView original
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?
@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!