Hello,
During the last few days, I've been trying to integrate PlayFab on our game, which is made with Unity both for iOS and Android, but I'm having trouble logging in to PlayFab with GameCenter.
Here is the flow I came up with reading forum posts and etc. "Game Service" refers to either Game Center or Google Play, depending on the platform. I am experiencing unexpected behaviour on the steps labeled with "Not Working" when logging in with GameCenter on iOS.
As soon as the game launches, I check to see if the user is logged in to the Game Service. If he is not, then I login to PlayFab using the device ID. The user, however, may login to the Game Service after that for a number of reasons, once I have already logged in to PlayFab. In that case, I want to login to PlayFab using the Game Service ID instead. At this point, LoginWithGameCenter (with CreateAccount = false) does not return an error even when there is no player registered with that Game Center ID. Moreover, the call successfully logs me in to that account, which is in no way linked to the GameCenter ID. Furthermore, I then do a call to LinkGameCenterAccount (In the diagram, the one with the note "Only useful when logged in with Game Center") to avoid the problem, but still does not generate any link in the GameManager and returns successfully.
Otherwise, If they are, then LoginWithGameCenter is called with the CreateAccount flag set to true, and the device they're playing on is linked to that account using LinkDeviceID. At that point, the account is successfully created, but the link with the device won't happen. Strangely enough, when resetting the game without a GameCenter connection, calling LoginWithDeviceID successfully logins to the account created with GameCenter before.