我正在制作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的事情,我不想做(出于显而易见的原因,如果你阅读技术相关新闻)。
所以,无论如何,是否有一种值得信赖的方式,我可以确定用户是他们说的一旦他们通过游戏中心进行身份验证,我可以使用它来对我的服务器进行身份验证?谢谢
答案 0 :(得分:1)
我认为您可以使用GKPlayer.playerID代替UDID,这对每个游戏中心帐户都是唯一的。出于其他目的,您可以自定义身份验证处理程序的完成块
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);
};