iOS Game Center 将排行榜和成就移动到 2 个游戏的组中

Posted

技术标签:

【中文标题】iOS Game Center 将排行榜和成就移动到 2 个游戏的组中【英文标题】:iOS Game Center moving leaderboard and achievements to a group for 2 games 【发布时间】:2013-12-04 01:47:09 【问题描述】:

我有一个现有的付费 ios 和应用程序,我想发布一个免费版本。付费版本有一个排行榜和几个已经使用了几个月的成就,如果我尝试将它们移动到一个组中,我会收到以下错误:

注意:具有此 ID 的排行榜已经存在 - 用于排行榜 注意:具有此 ID 的成就已经存在 - 对于一些成就

没有重复的 ID,为什么会这样?如果我更改他们的姓名,我将不得不发布付费应用的更新以反映新 ID,对吗?

有没有一种简单的方法来解决这个问题,以便付费应用用户和免费应用用户可以使用相同的排行榜和成就,而无需更新付费应用?

建议很好,谢谢

【问题讨论】:

我从 iTunes Connect 收到了同样的两条消息。我有几个排行榜 (12) 和成就 (55),其中只有少数 (3+5) 以一种对我来说似乎完全随机的方式发出此警告。知道为什么吗?当然这些 ID 不可能已经存在,因为我现在只是想创建组,所以没有 ID 以“grp.”开头。无缘无故地更改一些 ID 会很奇怪。 确切地说:我的一些排行榜和成就是实时的,有些是新的。我收到了一些实时排行榜/成就和一些新的警告。但是,警告始终出现在相同的排行榜/成就上(但实际上,没有明显的原因)。 【参考方案1】:

你问了很多问题,我会试着回答一些:

首先 “如果我更改他们的名字,我将不得不为付费应用发布更新以反映新 ID,对吗?” 这取决于您如何为 Game Center 得分报告器组合类别字符串。如果您可以动态更改字符串(通过服务器查询),那么我想您不必更新您的应用程序。 但通常,当您成功地将现有排行榜复制到新组中时,新分组排行榜的类别字符串需要具有前缀“grp”。

事实上,例如,当您将单个排行榜放入一个组时,该单个排行榜将继续存在。如果您继续使用原始类别 ID 报告分数,您会将它们添加到原始单个排行榜,同时使用“grp.”。前缀会将它们添加到新的分组中,这本质上是您想要做的。简而言之,将排行榜放在一个组中会导致出现两个排行榜,每个排行榜都使用自己的类别 ID 进行更新。

因此,原来的类别 ID 似乎会继续有效,但您正在查看的是旧的单一排行榜。这就是为什么您可能会注意到有时旧 ID 会更新分数,而有时却不会。

花了相当长的时间才弄清楚这一点,但 Apple iTunes Connect 支持以这种方式解释它并且说得通。不更新游戏的玩家将继续向旧排行榜报告分数,并将在游戏中心看到。当他们稍后更新时,他们可能会惊讶地发现他们的高分是您(开发人员)将该排行榜添加到组时的前一个。

第二 “有没有一种简单的方法来解决这个问题,让付费应用用户和免费应用用户可以使用相同的排行榜和成就,而无需更新付费应用?” 请参阅第一个答案,但您必须始终提前计划。在发布游戏的第一个版本之前,您应该知道是否有任何模组可以贡献给同一个排行榜。请记住,排行榜只能在一个组中。

本文档对规划 Game Center 实施非常有帮助: https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnectGameCenter_Guide/iTunesConnectGameCenter_Guide.pdf

【讨论】:

【参考方案2】:

我在创建群组并将所有排行榜和成就移入群组时遇到了问题,但 App Store Connect 会抱怨:

注意:ID 为“grp.foo”的排行榜已经存在。

在搜索了网络、梳理了 Apple 的文档和 WWDC 视频并联系了 Apple 的支持人员后,我最终偶然发现了一个解决方案。

我猜想新的组 ID 可能必须是全球唯一的,而不仅仅是您的应用或组唯一。我的 ID 具有简单的名称,例如 bestScore。所以我在我的组 ID 前面加上了 grp.companyname.groupname 而不是 grp. 之后我就可以毫无错误地进入确认页面。最后的“提交”可能需要一些时间才能完成——我猜它正在做一些复制。

【讨论】:

以上是关于iOS Game Center 将排行榜和成就移动到 2 个游戏的组中的主要内容,如果未能解决你的问题,请参考以下文章

向/从 Game Center 发送/检索分数对

如何在 iTunesConnect 上注册 Game Center 应用程序? [关闭]

SpriteKit 如何实现 Game Center 排行榜

将分数发布到 Game Center 排行榜

我想要原始的 Game Center 成就图标,但是怎么做?

在 SpriteKit 中显示 Game Center 排行榜