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

我正在制作一款iPhone应用程序(一款游戏),虽然它不会成为我的第一款游戏,但它将成为我的第一款使用网络连接的游戏(我打算添加一些乘法器功能)。 我希望玩家能够打开我的应用程序,登录游戏中心,然后使用它连接到我的服务器。 这可能吗? 换一种说法:

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.
}

我相信我前一段时间询问如何做到这一点,但答案中提到了使用设备UDID的一些问题,我不想这么做(因为显而易见的原因,如果您阅读技术相关新闻)。

那么无论如何,有没有一种值得信赖的方式,我可以确定用户是否认为他们是通过游戏中心进行身份验证的,我可以用它来对我的服务器进行身份验证? 谢谢


我认为,而不是UDID,你可以使用GKPlayer.playerID,这是每个gamecenter帐户独有的。 为了您的其他目的,您可以自定义验证处理程序的完成块

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/68229.html

上一篇: Allow Authenticated IOS Game Center Users to Auto

下一篇: How can I send a user to the Game Center app?