@Perry Hey Perry, In your DB don't you have an auto ID for each user? If so just use that so you don't have to worry about it at all!
I use ID either! I ask the player what email account he wants to use then use it to create a unique ID for my game. So any player can use the same account on multiple device to sync his data and continue his progression, he can also send his scores to the leaderboards and recover the data if he get a new phone.
I ask for that only the first time you launch the app, then the ID is created by my server (or recovered When it already exist).
I Don't want the player to create an account, it's not friendly and can be frustrating. I want my game to be as Professional as the other, so Nothing must be created since Google accounts already exists. I could replace it by GPG ID, but some people Don't want to use GPG as it's not built-in, they need to download a separate app to create their account where on iOS gamecenter is built-in.
But if a player change it's email (and that happen! Trust me!) the server can't find the associated ID I've created. Only the Accound ID created by google can't be changed, and it's Why on the google doc they say to never use the email to identificate an user.
I've created a fix on my server where i can add a new ID to an existing account so i can link an old account ID to a new one When a player change its email, but i can do that only When the player contact me, most of the case players will put a 1 start with a bad comment and even if i answer to contact me they will not because they deleted the game.
@Dobermann There is the big difference, I am not making games. lol My apps do utilize profiles so while your method works for you, and I am sure well, I don't ever have the disconnect the way my apps work. I would most likely do what your doing, or something similar if I were making games or apps without registration. Registration in a game is a bit off but for apps, not so much! Registration is only one more field then logging in, confirm password, and if you give them the option to auto login during registration then they never have to log in again so not much of a pain there. Since players do change their email, having a profile they can update it in helps keep track of who is who and what devices they have used.
Either way the best way to make those connections in a social environment is via emails, hence the need to be able to read that data. What you doing has no need to make those connections and therefore this would not apply to what your doing. I can understand that!
For now the only option that will work is the one approved by google where user will choose the account (this feature is inside android plus) many user forget that you may have several google accounts in a devices and according how you login this accounts will be used, the get email old method is not working in some device with pie so added will be relaying if this method can work in the future, also will be removed from android object since involves ask for dangerous permissions from beginning and android object is very close to runtime.
Just to mention something here, GPG Services, only give you is a new avatar and name, associated to a google accounts choose to login.I Don't want the player to create an account, it's not friendly and can be frustrating. I want my game to be as Professional as the other, so Nothing must be created since Google accounts already exists. I could replace it by GPG ID, but some people Don't want to use GPG as it's not built-in, they need to download a separate app to create their account where on iOS gamecenter is built-in.
ALL Devices need a google accounts to interact with Google in play games, Store (no only inapps, to download application, use backup features, sync email, etc.). if your device does not have a google accounts you will not interact with anything in the google net, you can only use your device, setting unknow sources in settings, and install manually applications.
... new things are coming ...
Thanks Fernando, not what I was hoping but understandable. Have a great day!