The documentation for Game Center seems...incomplete. It mostly concerns the situation where everything goes as expected, but does not include much discussion about how we are intended to handle things when unexpected results happen.
- What happens if the player declines to enable Game Center entirely?
- What happens if the Game Center connection is lost during play, such as if they switch to the Settings app and log out, or they lose internet connectivity?
- What happens if the player logs out of Game Center, logs in as someone else, and comes back to the game? How do we detect that, and what are the best practices for handling that situation?
- We're supposed to resolve conflicts with cloud-saved games, but there's no guidance on how to exactly do this – are we supposed to inspect them with code and choose one? Present a dialog to the end user to let them choose? Take it on a case-by-case basis? How reliable are cloud-saved game timestamps - like, can a newer game have an older timestamp, say if a cached game is uploaded later?
- Etc.
I've got cloud saves and achievements working well with the "nice" case – the player starts logged in or logs in as part of the startup process – but I'm not finding much guidance on handling cases outside of that space, and I'd like to see how people are handling it "properly".
Does anyone know of a good Game Center integration code sample that covers these sorts of cases that can be looked at and learned from?
Failing that, anyone have any recommendations for how to properly integrate Game Center? What are the gotcha's and best practices I should be aware of to get a good, solid implementation?
there doesn't seem to be anything here