Skip to main content
Question

App User ID Migration Sanity Check

  • December 22, 2023
  • 1 reply
  • 68 views

Forum|alt.badge.img+4
  • Helper
  • 4 replies

I’m migrating an iOS app with a legacy user ID system. Currently, the user IDs are stored locally on-device (in the keychain), and I will be introducing a way to create a real account that can be used across devices (it will be Firebase Auth). I think I have a migration path designed, but want to check I’m not misunderstanding anything. Here’s how it would work:

  • User launches new build of the app containing the new accounts implementation.
  • If they are an existing user with a legacy device-local ID, I log them in to RevenueCat with that ID for continuity until a future point where they decide to create an account.
  • If they are a new user as of the introduction of the new accounts implementation, I log them into RevenueCat as anonymous. They can subscribe and do whatever they want while in the anonymous state.
  • When a user comes to create an account, I create it using Firebase Auth, immediately log them into RevenueCat using the new user ID, and then call `syncPurchases`.

My assumption on the last step here from RevenueCat’s documentation is that regardless of whether they were an anonymous new user or a known existing user with a legacy ID, their new account will correctly become the owner of any existing subscriptions.

I understand there may be edge cases where syncing doesn’t correctly restore a subscription, but as long as this is only a small fraction of users I can cope with that using a support process where I direct users with a missing subscription to a restore button on a settings screen.

Does this sound like it should work? I feel it has a slightly strange edge case where if you ever want to create another account on a device, the new account will always ‘eat’ your subscription, but I can live with that as I can’t really see another way (It’s not really feasible UX wise for me to ask users to restore after creating an account — it has to work automatically).

This post has been closed for comments

1 reply

sharif
RevenueCat Staff
Forum|alt.badge.img+9
  • RevenueCat Staff
  • 513 replies
  • January 4, 2024

Hey @Dan,

I noticed you opened a support ticket as well so I replied there instead, please check your email for the response and let me know if you have any other questions!


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