Is there anyone from RevenueCat to explain on this? We have encountered the exactly same problem, and it has caused some loss already.
same problem,i am losing customers and increasing refund rate due to issue, user cannot be premium on webhook
Hey team,
Part of the reason we don't send this event anymore is that the anonymous ID still refers to the same user even if the user was aliased with a new (identified) user ID. So, you can take the anonymous ID and fetch customerInfo from the SDK or API, and it will return the same information for both IDs (as they are treated as one in RevenueCat).
If you're trying to track all IDs on your end, there are a couple of options here. First, whenever you receive a new webhook with the latest user ID (a new purchase or subscription event), you could update the IDs in your database, as all aliased IDs will be available in the event under the aliases
key. Or, if this won't work for your use case, whenever you call login
in your app, you could notify your backend to fetch the latest customerInfo from our API and update the IDs accordingly.
A bit more info in our documentation here: https://www.revenuecat.com/docs/customers/identifying-customers#aliases
i have solved my problem by configure revenue cat with appUserID not just app key
here check for swift ui
if let userID = KeychainHelper.shared.retrieve(forKey: UserManager.shared.userIDKey) {
// Configure RevenueCat with the user ID
Purchases.configure(
withAPIKey: "apikey",
appUserID: userID
)
print("Configured RevenueCat with existing userID from keychain")
// // Since we're already configuring with the userID, we can optionally track this
// FirebaseManager.shared.logEvent(name: "revenue_cat_auto_login", parameters: F
// AnalyticsParameter.userID: userID
// ])
} else {
// No userID found, configure RevenueCat without user ID
Purchases.configure(withAPIKey: "apices")
print("No userID found in Keychain, configured RevenueCat without user ID")
}