I am testing a "No-Login" app (Anonymous IDs only) using RevenueCat in the Apple Sandbox environment. My project also uses Firebase and AppsFlyer. I am trying to simulate two completely different users, but RevenueCat is automatically aliasing them into a single Customer Profile.
The Workflow I Followed:
User A: Installed the app → Generated $RCAnonymousID_1 → Purchased Weekly Plan using Sandbox Account A.
Cleanup: Uninstalled the app from the device.
Switch: Signed out of Sandbox Account A in developer Settings and signed into Sandbox Account B.
User B: Freshly installed the app → Generated $RCAnonymousID_2 → Purchased Monthly Plan using Sandbox Account B.
The Issue: Instead of creating a second Customer Profile for $RCAnonymousID_2, RevenueCat added $RCAnonymousID_2 as an alias to the first profile.
Integrations in Use:
-
Firebase: I use the Firebase integration. (Are Firebase Instance IDs or UIDs being used by RevenueCat to link these sessions?)
-
AppsFlyer: I have the AppsFlyer integration active. (Could the persistent AppsFlyer Device ID be causing RevenueCat to see this as the same device/user?)
Questions:
-
Does RevenueCat link users based on the
original_transaction_ideven if the Sandbox Apple ID has changed? -
How do the Firebase and AppsFlyer integrations affect aliasing when no explicit
logInis called? -
Is the device's IDFV (Identifier for Vendor) persisting across these uninstalls and causing a conflict?
-
How can I achieve a truly "clean" state for testing multiple unique users on a single physical device without hitting the 50-alias limit?
Environment:
-
SDK: Swift
-
Device: iPhone 14 pro max physical device
