jasmine-team/Jasmine

Game center present login limitations

riwu opened this issue · 2 comments

riwu commented

After some time experimenting/googling, i noticed the following:

If the user cancels the login at game center, the app cannot present the game center log in again until the player reopens the app.

If the user cancels the login for 3 times, he will never be able to sign in through the app again (without resetting the device). Redirect the user to sign in through Settings > Game Center.

Interesting, thanks for investigating. These are some weird (but understandable) limits.

Mind adding some links to those resources?

riwu commented

http://stackoverflow.com/questions/31356227/present-gamecenter-authenticationvc-again?answertab=votes#tab-top

As you have found out, if the Game Center authentication dialog is canceled 3 times, then you can't bring it back without resetting the device.

There is another "security feature" built into Game Center which does not allow an app to re-authenticate if the user has already canceled the dialog without leaving the app. So for your authentication dialog to show, the user must leave and then re-enter your app.

https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/GameKit_Guide/Users/Users.html

Important: Game Kit handles opting out of Game Center across all games that support Game Center. If a player has already declined to create an account, when your game authenticates the player, it is told there is no authenticated player. The player never sees an authentication dialog. Because Game Kit handles this process across all games, your game should not include its own mechanism to disable Game Center authentication or ask a player’s permission to authenticate. Instead, your game should simply authenticate the player every time it launches and respond appropriately when authentication completes.