Posts

Post marked as Apple Recommended
Same issue in iOS 15.7. We originally saw the issue in 15.6 and 16.0 betas, but it was fixed. Disappointing that there is this regression in 15.7.
Post not yet marked as solved
22 Replies
I wanted to provide an update on the issues we're continuing to see with teamPlayerID. We've continued to collect teamPlayerID values for our users, as an additional identifier for their accounts. However, we are still dependent on the deprecated playerID identifier for two reasons: On any given day, we are seeing that scopedIDsArePersistent is false for about 1% of our Game Center users. In this case, teamPlayerID is just a transient value and we don't collect it. Apple described that scopedIDsArePersistent could be false in a "very rare case", but in our opinion, this is happening much more often than we would consider "very rare". Obviously, when scopedIDsArePersistent is false, there is no alternative API to reliably identify users other than the deprecated playerID. We have reported this issue to Apple (FB8988340). Even when scopedIDsArePersistent is true, teamPlayerID can change for the same Game Center user. We've been collecting teamPlayerID as an additional identifier for user accounts only when scopedIDsArePersistent is true, but we still have accounts with multiple team-scoped identifiers associated with them. These accounts have one playerID identifier starting with "G:" or "U:", but can have two, three, or more associated identifiers starting with "T:". This bug seems to be very common. We have about 100 occurrences a day where we add a new team-scoped identifier to the account for a user that already had a different team-scoped identifier associated with it. This bug has been reported to Apple multiple times (FB8988326, FB7137603). We believe that Apple deprecated playerID because it can be abused to track users across apps. Because of this, we are assuming the worst, which is that Apple will remove playerID before it has fixed the problems with teamPlayerID. While we would prefer to continue using Game Center if it is fixed, we have started making preparations to prompt our Game Center users to migrate to other login options, like Facebook, Google, and Sign In with Apple. I'd be interested to hear if other developers are encountering the same issues I mentioned above.
Post not yet marked as solved
22 Replies
We put some analytics in our apps that track the return values of scopedIDsArePersistent for the local player, and we are seeing a small percentage of players on iOS 13 where the value is false, as Apple said to expect. Once playerId is gone, I'm still not sure how we're supposed to identify these users on our servers. On iOS 12.4, scopedIDsArePersistent was not available, but we have still seen users where the game/team player ids have changed. As a result, we have users accounts in our system that have a single "G:" or "U:" playerId value, but multiple "A:" and "T:" values. I went ahead and filed a bug report for this (FB7137603). We're also seeing another bug where occassionally we receive the values "UnknownID" and "Unavailable Player Identification" for the game/team player ids (FB7137454), so we're ignoring those values now. Coinciding with the public release of iOS 13.0, we also started receiving some empty string values for game/team player ids.
Post not yet marked as solved
22 Replies
I don't know of any way to authenticate with gamePlayerId/teamPlayerId. We're still authenticating only the deprecated playerId, but are sending and storing the new ids, so we'll be prepared for the day when playerId goes away.
Post not yet marked as solved
4 Replies
It looks to me like GKLocalPlayer.local is new in iOS 13, and the one you want to be calling is GKLocalPlayer.localPlayer. I'm not sure why they decided to change it.https://developer.apple.com/documentation/gamekit/gklocalplayer/3074556-localhttps://developer.apple.com/documentation/gamekit/gklocalplayer/1515401-localplayer