gpt4 book ai didi

ios - 设置第三方服务器与 Game Center 交互

转载 作者:技术小花猫 更新时间:2023-10-29 10:16:12 28 4
gpt4 key购买 nike

我正在考虑为我的 iOS 游戏添加一项功能,允许玩家创建自己的游戏关卡、与其他玩家分享、评价等。会有一个用户创建的关卡的公共(public)存储库,可排序按创建日期、评级、难度或其他标准。

这种功能需要第三方服务器。我在想我会使用 Sinatra 创建一个 RESTful API 并在 Heroku 上运行它。我的问题是:验证此 API 请求的最佳方式是什么?我不想要求玩家创建用户名和密码。我只想使用 Game Center 的 ID 系统。

有什么建议吗?我以前从未做过任何服务器端的事情,所以非常感谢您的帮助!

澄清

是的,我知道 Apple 不提供自己的系统。但它确实让开发人员可以访问唯一的 Game Center 标识符 (developer.apple.com/library/mac/#documentation/...),我希望我能以某种方式使用它来推出我自己的身份验证系统,而无需用户通过 Facebook 登录/推特/等。如果可能的话。

最佳答案

从 iOS 7 开始,这可以通过 Game Center 使用:

[localPlayer generateIdentityVerificationSignatureWithCompletionHandler]

一旦您使用 generateIdentity 调用验证了玩家的身份,

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

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 - 设置第三方服务器与 Game Center 交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15755489/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com