Should Game Center be Optional? - ios

This question may be a little vague / philosophical, but what do you do when a user doesn't want to use Game Center?
Normally you run authenticateWithCompletionHandler: when your app starts. But what if your user doesn't have a Game Center account? Do they then get nagged each launch?

After a little testing, it looks like the user is nagged only 3 times. After the third, they need to sign in via Game Center app. (I haven't seen any of this documented, hence the original question, and my uncertainty about the answer.)

Related

IOS Sprite Kit Game Center Can't Add Leaderboard in Itunes Connect

I am developing a simple 2D sprite kit game for IOS. I added a leaderboard and some demo accounts to test it out and it all worked fine.
Yesterday, i decided it was time to release version 1.0 of the app and before i submitted the app for review i deleted the existing leaderboard just to make sure no fake scores from my demo accounts remain.
I then submitted the app for review and later when i tried to add a new leaderboard, the process works normally until i reach the point where i press save (to make the leaderboard active) but the button is greyed out no matter what i do. i read the documentation and searched online for similar cases and tried all of the following:
Made sure game center is enabled
chose single leaderboard
made sure the leaderbard reference name is correct
made sure the leaderboard Id is correct
Chose a score format
made sure to write the score range in numbers
create a localization language
however, the save button remains grey and i can not add a leaderboard. i tried today as well, the original leaderboard was deleted and stil the same issue. now when i try to play my game (on my test device) when i reach the end and the score should be submitted, the game crashes (since there is no leaderboard and my code submits the score at this point)
If my game is accepted and goes online it wouldn't be a good thing to have it crashing from version 1.0. I do not know what is causing this and what i can do to solve it, would appreciate any help.
Thank you

Does game center have to be included to get your app accepted?

I am developing a game and wondering if it is necessary to include game centre integration to get approved. I am having trouble figuring out how to include it, so if it isn't necessary, I may just submit it without, then add it later on. Is it necessary?
You do not need game center, however if you implement game center in a way apple frowns upon it will be rejected.

iOS Game - implementation of "star" and "like" buttons in gamecenter

Good evening,
I'm working on implementation game center to my iOS game and I want create achievements, which players will raise when they will rate app on the main board in game center and when they will like it on facebok using game center.
But I don't have any idea how to check it. Is possible, for example, catch events of those buttons (stars and like buttons) in game ceneter, or what way should I go?
I think if those buttons are in game center there should be some kind of cooperation with Objective-c.
Thank you.
I don't think there is a way to determine when an action is performed on either of those buttons in the Game Center view. Unfortunately, there is no solid way of determining when a user rates your app. As for determining if they have liked it on Facebook, you might want to try having them connect with Facebook and select a like button from within your app instead of from Game Center. Here is a link that may help with that: Like button in iOS application

How to invite players through game centre app in iOS 7?

I've already implemented auto-matchmaking, and tested it between two actual devices with different game centre accounts, so I know I've setup that part correctly: I can create a match, and send data between both the players. Now I'm implementing the invitations part.
The Game Center programming guide
says:
The playersToInvite parameter is non-nil when your game is launched
directly from the Game Center app to host a match. This parameter
holds an array of player identifiers listing the players to invite
into the match.
What I don't understand, is how to invite players through the game centre app. In the game centre app, I can see my game. When I click on it, in the top right corner there is a button with text: "..." . When I click on it, I see two options: "Play" and "Share". Clicking on "Play" launches my app.
Is there some code I need to implement for the Game center app to present me with the option of selecting friends to invite etc?
EDIT: It appears that the person in this post has almost the same problem as me:
Definitive answer to what playersToInvite is for
But no definitive answer so far, on how that data gets populated.
There are actually a couple of problems, both of which are on apples end:
The documentation is not up to date. While it mentions to use [GKMatchMaker sharedMatchMaker].inviteHandler , it has actually been deprecated in iOS 7, but the documentation has not been updated to reflect this.
It appears that there is no way you can invite players from the Game Center app. The documentation is incorrect in this case - the game centre UI does not provide any way for selecting the players. You invite players using the matchmaking view controller provided by game center.
Instead of using GKMatchMaker.inviteHandler, one can implement GKLocalPlayerListener - but this hasn't been documented properly in the Game Center Programming guide. It is easy to implement as there are only two methods, and work in almost the same way as the deprecated handler.
EDIT: There is a way to invite players from the game center app, but currently there is a bug in iOS 7, so that the game center app's flow in production, does not match the flow in the sandbox. As a result, one must navigate a much more cryptic flow to find the option to invite a player through the game center app. Currently only one player can be invited through the game center app, even if your app supports more than two players.

Can we enable Game Center for particular version?

I am new to Game Center, after gone through Game Center in&out. I have some questions in my mind, I need clarification from any of you guys:
1) Can we enable Game Center for particular app version,(ie) previous app version 1.0 doesn't have Game Center feature, so I like to enable Game Center for 2.0 app version. So, my question is, if I enable Game Center for app version 2.0, whether it can affect previous app version 1.0?
2) Why most of the app not providing Game Center login feature inside their app, instead of login via Game Center feature?
1) Yes, you can integrate Game Center in the same app for its next version. Not a problem at all. Your user will get notification that update is available once they updated they will have feature. And you previous version will also work fine if somebody don't want to update.
2) If your app is game Center enabled that means, it has to communicate with it for many times in many ways. eg. to get score, update score, get achievements, get leader board and challenges. All of the above feature requires game center authentication to proceed further. Most of the app (even the one i created) needs game center login at start after that it works smoothly. It is better to ask for authentication using login via game Center.

Resources