Solved

Micro-Management or a valid approach to User Identity

  • 26 March 2022
  • 5 replies
  • 177 views

Badge +3

“Identifying Users” is listed as a developer responsibility in https://docs.revenuecat.com/docs/implementation-responsibilities

Using apple’s CKContainer CKRecord.Id as and iOS in-app purchase identity seemed like a no-brainer...but is there a "better" method for this. I see there is identy merge behavior in RevenueCat for anonymous user ids, but does this solve the issue on its own?

The app I'm developing has zero-need for a user account, other than supporting review guideline [3.1.3(b) Multiplatform Services], the use of the CKRecord.Id seems like it would be a perfect, frictionless way to achieve subscription persistence across devises, since it persists the same value across all of the users devices without bothering the user... except for the quirk - of requiring "iCloud Drive" to be enabled. Which make total sense if you are looking to save documents to iCloud. but..I don’t need that part.

This all feels like reinforcement of the notion that using this service in this way should not be done. However setting up “Sign-In with Apple” seems like complete overkill.

How have others approached this issue? Any suggestions would be awesome.

Thank you all!

icon

Best answer by ryan 28 March 2022, 22:20

View original

5 replies

Userlevel 5
Badge +9

Hey @PracticalEndeavors!

It sounds like in this scenario you should just rely on the out-of-the-box RevenueCat anonymous IDs and not set your own identity.

You would only set your own identity if you had your own system for tracking user accounts. WIth the RevenueCat anonymous IDs, as long as you have a .restoreTransactions button your customers will be able to access their subscription on multiple devices signed in with the same Apple account by restoring purchases. 

Badge +3

Thank you @ryan 

can you explain a little (or link to documentation) on how it is that the RevenueCat system ties together the use across their devices as the same individual?

you mentioned the ..as long as it signed by the same account, meaning my developer account that signs the archive uploaded to the store?

Does the success of this depend at all on the use having any specific conditions be true.  Just looking to understand what the out of the box platform offer so I’m not reinventing any wheels.

Userlevel 5
Badge +9

can you explain a little (or link to documentation) on how it is that the RevenueCat system ties together the use across their devices as the same individual?

The subscription status is tied to a user identifier in RevenueCat: https://docs.revenuecat.com/docs/user-ids. If a user restores purchases and we detect the same Apple receipt that another user in our system already has then we know they’re the same person. If both of those user identities are anonymous IDs then we know it’s either multiple devices or an uninstall/reinstall and the user identities are merged together.

 

you mentioned the ..as long as it signed by the same account, meaning my developer account that signs the archive uploaded to the store?

No the Apple account that the customer is signed into their phone with. Apple ties your subscription status to this Apple ID, so if the same human has 2 phones with 2 different Apple IDs then subscription sharing would not work without adding some authentication system to your app.

 

Does the success of this depend at all on the use having any specific conditions be true.

I guess just that your customer on multiple devices is using the same Apple ID on both devices. 

Badge +3

@ryan 

thank you for the added details that’s fantastic.… that’s one less thing to worry about.

​​​​​​… would you know offhand, if it came down to it, can an “alias”  for 2 anonymous IDs be manually set via call to your REST endpoints?

Really loving the features RevenueCat offers!

Userlevel 5
Badge +9

There is a REST endpoint to do this! It’s not public since I believe it’s undergoing some changes so I’d recommend reaching out to support@revenuecat.com to get the latest info from them so I don’t post any outdated information here - but it should be possible.

Reply