My game calls RegisterPlayFabUser to create a new account and we pass a value for the optional 'Display Name' field. Then we call LoginWithPlayFab to login with username and password.
This works most of the time and results in the orange Playfab icon showing up next to user profiles in the Playfab dashboard. But every once in a while I see a player with the purple person icon instead and that account is also missing the Display Name field.
I saw in another post (https://community.playfab.com/questions/26898/why-when-i-create-a-player-show-this-user.html) that the player icon depends on the API call used to create the account but the docs say that LoginWithPlayFab cannot create a new account and we don't use any registrations calls other than RegisterPlayFabUser.
For one such purple person player, I noticed a 503 response for their RegisterPlayFabUser call followed by several 'Email address not available calls'.
My hypothesis is that every once in a while something goes wrong on the PlayFab backend (hence the 503) and the client's error callback is called, but the account is still created on the backend, but not via the expected code path, hence the purple person icon.
Does this sound plausible? How do you recommend we handle this situation? I'm thinking that, whenever a 503 is received, I would need to do a separate GetAccountInfo call to see if the account was actually created, despite the error callback... Not a great solution.