I want to use RevenueCat only with non-anonymous appUserIDs.
I am using the CloudKit recordID.recordName of the user as a unique user ID. This recordName should be consistent across reinstalls and across devices as long as the user is logged in with his same AppleID.
I am getting that userID async during launch of my app and it may not yet be available when I call Purchases.configure().
My question: Will the customerInfo that gets created during .configure() be alway associated correctly with the customerInfo of the user with the appUserID (CloudKit recordName) if I call .configure() first at app launch and typically a few moments later .login() with the appUserID?
Or does this create lots of “dangling” anonymous customerInfo records in RC that have no future use?
I have read the login alias information in the docs: https://www.revenuecat.com/docs/user-ids
But I am still not certain about what happens. Especially line three in that table
“Anonymous Yes Yes CustomerInfo transfers to Provided ID, no aliases created.”
leaves me with the question whether this means that
- RC will create a new anonymous user/customerInfo each time the app launches.
- The first time this happens the newly created anon customerInfo is merged with the appUserID at .login() that is happening moments later.
- The second time this happens (at next app launch), there is again a new anon user created, but at .login() this time the appUserID is already known by RC and has an associated alias already (from the first app launch). This means that the customerInfo of the known appUserID is used according to the table line 3 (i.e. the newly created anon customerInfo gets not merged).
- Does this create lots of “dangling” anonymous customerInfo records in RC that have no future use?