This is really just a question about how other people manage the their user experience when doing turn based game dev.
At present, when a user opens the app, I check GS is available and then check if the user is authenticated. In an effort to get them in the game as quickly as possible, if they are not authenticated I call DeviceAuthenticationRequest to make a temp account ( prompting them to pick a display name ).
once they are in and sat on the menu, they get options to login in with email or Facebook which all works well.
I guess what I don't like about this user experience is if they have changed phones (for instance, and insurance replacement) I am going to be creating a new user by default before they get to the login section.
Would it be a better option to only create the user account with DeviceAuthenticationRequest when they try to start a new game (if they are not signed in) or display a pop up asking them to either login or continue anonymously ?
How do you guys do it?
If you wish to ensure ease of access across devices you can allow the user to login with Facebook from the outset, with the parameters switchIfPossible: true and setDoNotLinkToCurrentlayer: false
This will allow the user to authenticate on a new device and be directed to their socially linked profile. The FacebookConnectRequest will behave like a RegistrationRequest or Authentication Request depending on it being sent in the context of an Authenticated GameSparks Player, or not.
You can also utilize UserName and password login for players via the Registration and Authentication Requests.
Does that make sense?
Best Regards, Patrick.
I guess that was along my lines of thinking, present a dialogue with sign in options or the option to skip until later. If they skip then device auth until they are ready to login properly.