iOS multiplayer game - Game Center and Facebook Connect - ios

I am planning to develop an iOS multiplayer game. I plan to use Game Center. How does this work if I want to also have facebook connect? Is it either/or? Is it simple to use them both concurrently?

It's not either-or. You can use as many 3rd-party social networks as you want in your game. Game Center provides a transport mechanism for sending game data to all the participants of your game, which Facebook Connect does not. Facebook Connect only gives you the ability to list your player's FB friends, not the ability to initiate games with them.

Related

What is the difference between Game Center and Apple Sign-in?

Recently Apple released "Sign in with Apple" / Apple Sign-in. This will supported starting from firmware 13.
https://developer.apple.com/sign-in-with-apple/get-started/
As far as I remember, Apple also has "Game Center". The usage for this feature are includes saving game progress on cloud, Achievements, etc.
Android users might be familiar with Google Play Games. In Apple it was this "Game Center".
My question is, what is the difference between Apple Sign-in and Game Center? Is it only the firmware supported?
What is the difference between Game Center and Apple Sign-in?
Well, Game Center is for games. While Sign in with Apple is for your usual applications. You wouldn't take an effort to integrate Game Center in your Enterprise, Banking, Social Media Apps, would you?
Furthermore, Game Center is basically Apple's social gaming network. It uses a framework called Game Kit.
What does Game Kit do?
GameKit provides you with the ability to create apps that allow
players to interact with each other. Multiplayer apps allow your game
to create real-time network matches. Players can invite other players
to join their game. Most importantly, players can receive invitations
to join a match even when your game is not running. Your game is
running on each device and the instances of your game exchange match
and voice data with each other.
Lastly, Sign in with Apple is pretty much like your Sign in with Facebook or Google Sign in.
Sign in with Apple allows you to set up a user account in your system,
complete with name, verified email address, and unique stable
identifiers that allow the user to sign in to your app with their
Apple ID. It works on iOS, macOS, tvOS, and watchOS. You can also add
Sign in with Apple to your website or versions of your app running on
other platforms. Once a user sets up their account, they can sign in
anywhere you deploy your app.
docs:
Game Center: https://developer.apple.com/game-center/
Game Kit: https://developer.apple.com/documentation/gamekit/
Sign in with Apple: https://developer.apple.com/sign-in-with-apple/get-started/

iOS Game Center - designing game achievements for offline use

I am designing and developing iOS game with achievements and leaderboards. I understand the mechanic of creating achievements within iTunes Connect, and loading/unlocking them in iOS game.
But I am not aware of the best practice how to include the achievements for users that refuse using the Game Center. I want to offer these users the achievements too, so is the approach to keep a duplicate, offline list of achievements in the iOS binary and unlock these in local application?
I am not talking about "offline" in context of "network connection", but in context of "not using Game Center".
Or is this thought off-topic today, and should I hard-wire the achievements to only GC users? My intention is to offer Achievements to all users, even those who don't authorize game in GC.
Any advice in approach would be appreciated, thanks!

Game Center challenges feature

When implementing Game Center, do we need to implement all features such game challenges. I have implemented Invite and Autoplay. But just curious, do we need to handle all features?
No, you don't need to implement all features. But for the most part challenges are handled automatically if you have set up achievements or leaderboard scores. Game Center will send your app messages about challenges (if it is in the foreground), but in general it handles the outcome without your app knowing about it. (So if you submit a new score to a leaderboard which completes a challenge, it will notify the challenger that their challenge has been completed).

Game Center achievement behavior for multiple account game

Let's say that you develop an iOS game that allows the user to login and log out of different accounts using in-house account system. For example, you could login using Facebook, or email/password combination.
What is the best way for this game to handle Game Center achievements? How should situations with logging in and out handled?
Regardless of your in-house account management system, the associated user will need to login to Game Center. Unfortunately you cannot force a Game Center logout via iOS; this is something the user will need to do on their own.
As far as tracking achievements goes, let Game Center handle all of that. Your real challenge is going to be getting the user to explicitly launch the Game Center standalone application to sign-on & sign back in, either within the GC app or via your app's GC [login] presentation.
In order to ensure proper achievement progress is reported across users' accounts, the user logged into your app with their in-house account must also be logged in with their Game Center account. One way to at least ensure you don't cross the streams regarding achievement tracking & reporting is to have the user enter their Game Center display name while logging in via the in-house system.
Once past the in-house authentication, let Game Center player authentication take place, retrieve the local player's playerName and compare. If they match, flag this and track / report achievement progress normally.
If they don't match, it's up to you whether to prompt the user again for this information to check again. At the very least you should communicate to them that the in-house account does not match the Game Center account, and to move forward they will need to launch the Game Center app to logout & login. Otherwise, flag the mismatch, and use this logic to bypass achievement reporting (and potentially other GC functionality).
There's a post here with some more ideas.
Good luck!

Statistics on Game Center Achievements

Is there a way to gather/download/view statistics on my iOS app's achievements for all of my users?
For example, is there a way I could see the percent of my app's users that have completed each achievement?
Not using Game Center. You could certainly use another system of tracking this.

Resources