Apple rejecting app due to leaderboard issues...

  • I've been having issues with the Apple Store over the last couple of days - they keep rejecting my app, saying that when the Leaderboard button is pressed nothing happens.

    This App has been live for 14 months or so with folks posting scores to the leaderboard quite regularly, but since my last app update a couple of days ago it is now throwing up errors at Apple.

    The current breakdown of the events are: On the start screen on Start of Layout the game authenticates the user and signs them in to the Game Center.

    When the user presses the Leaderboard button on the Game Over screen it authenticates the user again, then submits the highscore, then shows the leaderboard.

    This has worked fine for the past 14 months and works fine on the other apps I have on the App Store. It works fine on the current dev version of this app that I build through XCode and it works fine on the live version of the app - but for some reason Apple are saying this particular version of the app nothing happens when they press the Leaderboard button.

    I've had a message saying the Apple Resolution Center will be calling me in the next few days to discuss it further.

    Has anyone had any similar issues with Apple?

    Also in the mean time can anyone post a screenshot of the events they themselves use to sign in to the GameCenter and post to the leaderboard?

    Cheers all :)

  • I have never used GameCenter. But to authenticate, submit scores and show leaderboard in the same event without any callback don't seem like a good approach. Since the athenticate will not be finshed before posting, and the posting will not be finished before the show.....

    But as said, I don't know the gamecenter best practice.

    You should be able to catch the fails and successes also, so you know when something "happens" and if it fails

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • That’s why I authenticate when the game first starts up - see first pic. The second authentication is if the first one fails.

  • fredriksthlm is correct. You are not calling the interface correctly. All of those calls are asynchronous, which means you have to wait for the trigger to occur before proceeding. If it worked before, then you just got lucky, but given that you have a second authenticate 'in case the first one fails' implies that you have had issues before, and 'fixed' it with a second call. That's not the fix.

    You may need to alter your code to block events while the async calls run.

  • Here’s the thing -

    On Touch Leaderboard Button > authenticate user - this works and brings up the Welcome to Game Center message

    However, if the authentication doesn’t work then you’d want to add in a ‘Authentication failed‘ event under this. But you’re not allowed to add another event that has a green arrow as part of the same main event.

    I only want the user to have to press the Leaderboard button once to send the data through, hence the Authenticate User as part of the startup on the first page.

    Any other way would mean the user having to press the Leaderboard button once to authenticate and then again to send the data/go to the leaderboard.

    If there’s another way can anyone show me?

  • The 'On' triggers should always be at the top level of the event sheet. You don't want them 'under' the calling event. That's what makes this async. You make the call, then outside you add success and fail triggers, and keep going from there. You should have six individual triggers, a success and fail for each of the three calls you make.

  • OK - hows this?

    On the authentication failed event I can create a popup telling the user they need to turn on Game Center to allow for the leaderboard.

    On the score submit fail event I'll need an error message but I don't know what - why would a score not submit? Perhaps just a general error message, try again later. Same with the leaderboard error.

    In regards to the Leaderboard displayed event - I might delete this as there's no need for it - if the leaderboard displays then thats the end goal of pressing the Leaderboard button.

    So does this look correct?

  • Yes, that's the flow to follow. I can't answer what the errors could be. The thing to keep in mind is that this all takes time, so you want to be sure you block the user from doing anything before you get "On leaderboard displayed". You would use that event (and error) to unblock the user (if that's appropriate).

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)