Allow Authenticated IOS Game Center Users to Auto

I am making an iphone app (a game) and while it will not be my first game, it will be my first game that uses a network connection (I intend on adding a few multiplier features) So, now for my question. I want the player to be able to open my app, sign into game center, and then use that to connect to my server. Is this possible? In other words:

Player signs in to game center
Sends username to my server
if (game center username doesnt exist)
{
Add their username to my sql database
}
else if (username does exist)
{
Send sign in successful message to device.
}

I believe I read another question from a while ago asking how to do this, but the answer said something about using the device UDID, which I do not want to do (for obvious reasons if you read technology related news).

So anyway, is there a trusted way that I can be sure that the user is who they say they are once they authenticate with game center that I can use to authenticate them against my server? Thank you


I think instead of UDID you can use GKPlayer.playerID which is unique to each gamecenter account. For your other purposes you can customize the completion block of authenticate handler

GKLocalPlayer * __weak localPlayer = [GKLocalPlayer localPlayer];

    localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error)
    {
        if (viewController != nil)
        {
            [currentViewController presentViewController:viewController animated:YES completion:nil];

        }
        else if (localPlayer.isAuthenticated)
        {
            NSLog(@"Player authenticated");

            /* Your custom methods here
            Sends username to my server -- send localPlayer.playerID to your server
            if (game center username doesnt exist)
            {
            Add their username to my sql database
            }
            else if (username does exist)
            {
            Send sign in successful message to device.
            }
            */   
        }
        else
        {
            NSLog(@"Player not authenticated");
            //disableGameCenter
        }
        NSLog(@"Error: %@",error);

    };
链接地址: http://www.djcxy.com/p/68230.html

上一篇: 不能接收游戏中心的邀请

下一篇: 允许经过身份验证的IOS游戏中心用户自动运行