First of all, I have been searching forums for about a year for a viable solution. What I am looking for is a way to identify a mobile User by an ID that is NOT linked to the device.
So no SystemInfo.deviceUniqueIdentifier
My thoughts go out towards identifying Users using the Google Account of the User (Android) or the Apple account (iOS).
What I have tried so far is connecting the application through the GooglePlayGames API. It is successfully connected and works fine. It logs in automatically when I start the application and I retrieve and store the googleId in my database. The drawback here however is that the app is now dependent on GooglePlayGames, which is something I dislike. I don't like explicit dependencies on other apps. And I also need to find a suitable equivalent for iOS.
I have yet to implement the Unity IAP to enable in app purchasing. I could not find any info on how transactions are linked to Users on android/ iOS. Is there a way to retrieve/store any User related Id during transactions?
It seems to me that when working with in app purchasing, that you need to have some way to reimburse/reactivate purchases made by users when they switch phones for example.
Best case scenario would be an easy way to store an Id without depending on Unity IAP, so that Free To Play Users can also easily recover their account.