Skip to main content
Question

Custom App User ID, App Store User und restore purchases

  • March 22, 2025
  • 1 reply
  • 11 views

Forum|alt.badge.img+2

Hi there,

I am very into this purchase-subscription-use-everywhere-thing. What I have read and learned so far:

  1. A user with his Apple ID is and a custom App User ID (so he is logged in to RC and can be identified across platforms) is purchasing a subscription.
  2. In my RC dashboard config for the app ‘Transferring purchases seen on multiple App User IDs’ is set to ‘Transfer to new App User ID’. So in case, if this user (still working with his Apple ID) is (been) logged out and logs in again using a different custom App User ID, the subscription will be transferred to this, and the last App User ID will loose the subscription. Right?
  3. The user has a second iOS device (let’s say an iPad). As long as he is using this device with the same Apple ID and the same custom App User ID, he can ‘restore purchases’ and can use the subscription. Right?
  4. Now let’s say he adds an Android device. Of course, this is not used with an Apple ID, but a Google ID. The user logs in to RC with his custom App User ID and can also ‘restore purchases’, so he can use the subscription. Right?
  5. The subscription can only be managed/cancelled (in this case) on an iOS device. Right?

So here are some questions I could not find answers …

  1. Let’s say the custom App User ID is a client ID, so something the user knows of and he gives this ID to his friend. This friend uses iOS and has a different Apple ID. Is it possible, that this friend logs in to RC using this ‘stolen’ custom App User ID and gets access to the subscription? If so, how can this be prohibited (any ideas)? Or does RC ‘know’, that this is a different Apple ID and does not allow access to this subscription when firing ‘restore purchases’?
    One step further: This friend has an Android device with his own Google ID, but uses this custom App User ID from the first user?
  2. Maybe this scenario with the ‘Android friend’ has a special case: IF(!) RC is checking the Google ID (or what ever), when fist time an Android device with the custom App User Login is ‘restoring purchases’ and RC is persisting this information, so when another Android device with a different Google ID and this custom App User ID is trying to get access to this subscription, this is blocked (right?) - IF then, what happens, when the friend is faster than the original subscriber? You know what I mean?

Please let me know, if 1. to 5. is true or if I have misunderstood something. And please let me know, which process runs in the background of RC concerning especially with 6.
And: I guess the config for ‘Transferring purchases seen on multiple App User IDs’ is ok so?

thanx-a-lot,
Robert

1 reply

jeffrey_bunn
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • 277 replies
  • March 26, 2025

Hi ​@Snoody! If you’re using custom app user IDs and an authentication system, your users typically won’t have to restore purchases at all! Instead, they’ll simply log into their account, RevenueCat will return a CustomerInfo object when you check subscription status, and their entitlements will be available to them. For example, if I log into your app with “Sign in with Apple” (or another authentication method), my custom app user ID will be stable across devices and platforms and no restoring will be required. 

In my RC dashboard config for the app ‘Transferring purchases seen on multiple App User IDs’ is set to ‘Transfer to new App User ID’. So in case, if this user (still working with his Apple ID) is (been) logged out and logs in again using a different custom App User ID, the subscription will be transferred to this, and the last App User ID will loose the subscription. Right?

This is correct, provided the user restores purchases after logging in to their new app user ID. Otherwise, their app user ID will return no entitlements.

The user has a second iOS device (let’s say an iPad). As long as he is using this device with the same Apple ID and the same custom App User ID, he can ‘restore purchases’ and can use the subscription. Right?

Yes, but they won’t need to restore purchases, provided they log into the same account.

Now let’s say he adds an Android device. Of course, this is not used with an Apple ID, but a Google ID. The user logs in to RC with his custom App User ID and can also ‘restore purchases’, so he can use the subscription. Right?

Same as above. Provided it’s the same account, no restore is necessary.

The subscription can only be managed/cancelled (in this case) on an iOS device. Right?

That’s correct.

Let’s say the custom App User ID is a client ID, so something the user knows of and he gives this ID to his friend. This friend uses iOS and has a different Apple ID. Is it possible, that this friend logs in to RC using this ‘stolen’ custom App User ID and gets access to the subscription? If so, how can this be prohibited (any ideas)? Or does RC ‘know’, that this is a different Apple ID and does not allow access to this subscription when firing ‘restore purchases’?

Yes, if the login system isn’t “true” authentication (or the user also shares their password), both users will receive access to the same subscription. You could perhaps implement some kind of device limitation (e.g., only available on 2 devices) using device identifiers like Firebase installations.

In general, the “transfer to new app user ID” setting discourages login or device sharing, because it ensures (assuming no login detail sharing) only one user at a time has access to a subscription.

I hope this helps!


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings