Hey @Akash! 
RevenueCat is designed to be a source of truth for allowing access to pro/premium features, and we’ll handle syncing receipts and unlocking access with our Entitlements system, whether or not you use custom or anonymous user identifiers- you don’t need to handle granting access on your end as that’s what we’ve designed our platform to do.
We don’t require custom user IDs, but if you are using our default anonymous identifiers and don’t require a sign-in before making a purchase, there won’t be a great way to link the user from your backend since they are anonymous.
Additionally, when using our entitlement system, access will be handled correctly when restoring purchases with new installations and/or when using your app from other devices. You can read more about restoring purchases in our Restoring Purchases guide.
Does that make sense?
Edit:
Custom anonymous identifiers are not recommended, as RevenueCat has an anonymous user ID system and has specific logic regarding restoring purchases with that anonymous system. If you are supplying custom user identifiers, I’d recommend ensuring you have a way to re-authenticate across users’ devices.