We're currently implementing the auto-renewing subscriptions for Google (we started with non-renewing for Apple and implemented already deduplication and validation process on server-side) and the main question right now is the following case:
- A user has Google account A in Google Play and Internal account A in into the application
- The user buys auto-renewing subscriptions. (It's now tied to Internal Account A)
- He signs out from Internal A and signs into Internal B
So the question would be what the expected state should be for Internal B? Basically, the play market (therefore Google BillingClient) will have information about subscription because it tied to Google account, but we expect the subscription to be in effect only for 1 internal account (and it will be because of deduplication process anyway). But in this case, the user has a strange situation when the subscription is already bought previously (when he was logged in with Account A), but not in effect and therefore he can't buy for Internal Account B.
I was trying to find the answer under the following link, but looks like they don't really have a good description of such cases: https://developer.android.com/google/play/billing/billing_subscriptions
It seems to me that we should just provide some UX for this situation, smth like: 'Looks like you've got the subscription, but you're in wrong account'. But would appreciate if anybody can answer this question of what Google/Apple review team expects in this case.