ios – 设置第三方服务器与Game Center进行交互

前端之家收集整理的这篇文章主要介绍了ios – 设置第三方服务器与Game Center进行交互前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在考虑在iOS游戏中添加一个功能,允许玩家创建自己的游戏级别,与其他玩家共享游戏级别,对他们进行评分等等.将有一个用户创建的级别的公共存储库,按创建日期排序,评级,难度或其他标准.

这种功能将需要第三方服务器.我在想,我将使用Sinatra创建一个RESTful API,并在Heroku上运行它.我的问题是:对API的请求进行身份验证最好的方式是什么?我不想要玩家创建用户名和密码.我想使用游戏中心的ID系统.

有什么建议么?我从来没有做任何服务器端的东西,所以任何帮助是赞赏!

澄清

是的,我知道苹果公司不提供自己的系统.但它确实允许开发人员访问独特的游戏中心标识符(developer.apple.com/library/mac/#documentation/…),我希望我可以使用这种方式滚动我自己的身份验证系统,而不需要用户通过Facebook登录/微博/等.如果可能的话.

解决方法

看起来像iOS 7,这是可能的游戏中心使用:

[localPlayer generateIdentityVerificationSignatureWithCompletionHandler]

一旦您使用generateIdentity调用验证了播放器的身份,

>将玩家ID与服务器数据库上的用户相关联
>使用您的REST框架为后续调用提供的任何访问令牌/身份验证模式

https://developer.apple.com/library/ios/documentation/GameKit/Reference/GKLocalPlayer_Ref/Reference/Reference.html

另请参考,这里是我们最终根据generateIdentityVerificationSignatureWithCompletionHandler的响应发送到我们的服务器的字典

NSDictionary *paramsDict = @{
    @"publicKeyUrl":[publicKeyUrl absoluteString],@"timestamp":[NSString stringWithFormat:@"%llu",timestamp],@"signature":[signature base64EncodedStringWithOptions:0],@"salt":[salt base64EncodedStringWithOptions:0],@"playerID":localPlayer.playerID,@"bundleID":[[NSBundle mainBundle] bundleIdentifier]
};

猜你在找的iOS相关文章