Is it ok to create my own anonymous IDs prefixed with "$RCAnonymousID:" ?

  • 9 October 2022
  • 3 replies

Badge +5

I am trying to migrate our existing billing system to RevenueCat, we have our own anonymous IDs, basically each time the user installs/uninstalls the app they will get a new user ID e.g. user1234, user4567


I need to preserve our ID’s for migration, but I want them to act like RevenueCat anonymous IDs where purchases are aliased, so users can access purchases on multiple devices.


Is it ok if I prefix our existing IDs with the string $RCAnonymousID: and call configBuilder.with(appUserId: “$RCAnonymousID:user1234”) to make then anonymous IDs in RevenueCat. I know if I don’t provide an apUserId RC will generate one of these anonymous IDs for use, but I want to make sure it is safe for me to pass in an ID prefixed with the value explicitly?



3 replies

Userlevel 3
Badge +8

Aliasing is done automatically if RC detected the same Apple ID on different device.  Users must do Restore Purchases and this is when RC will link those IDs together.  
You really don’t need to prefix your ID, unless you have some special identification going on. 

Badge +5

I want to be able to let users install the app on multiple devices and still have access to their subscriptions. It seems that if you provide your own ID then RevenueCat will only transfer content not alias the users so if you install on deviceA as user1234 (in my system) then install on deviceB as user5678 (on my system) even though they are the same user, the user would lose access to content on deviceA.


In reality my IDs are anonymous IDs already they don’t persist across installs, but I want the RC behaviour of aliasing users to get across device support for subscriptions, hence just wanting to make sure it is ok if I explicitly prefix my IDs with $RCAnonymousID: before I login vs. letting RC create them.

Userlevel 3
Badge +8

You can prefix with any string you like, you also don’t need to prefix with any string.  Is the reason for prefixing string is you want to know it is the new system versus old?