我有一个现有的付费iOS和应用程序,我想发布一个免费版本。付费版本有一个排行榜和几个已经使用了几个月的成就,如果我尝试将它们移动到一个组中,我会收到这些错误:
注意:已存在具有此ID的排行榜 - 用于排行榜 注意:已存在具有此ID的成就 - 有一些成就
没有重复的ID,为什么会这样?如果我更改了他们的名字,我将不得不发布付费应用的更新以反映新ID,这是正确的吗?
有没有一种简单的方法来解决这个付费用户和免费应用用户可以使用相同的排行榜和成就而无需更新付费应用?
建议会很棒,谢谢
答案 0 :(得分:1)
您提出了多个问题,我将尝试回答其中一些问题:
首先 “如果我更改他们的名字,我将不得不发布付费应用的更新以反映新ID,这是正确的吗?” 这取决于您如何将游戏中心得分记者的类别字符串组合在一起。如果你可以动态更改字符串(通过服务器查询),那么我猜你不必更新你的应用程序。 但通常当您成功将现有排行榜复制到新组时,新组合排行榜的类别字符串则需要具有前缀“grp”。
事实是,例如,当您将单个排行榜放入一个组时,该单个排行榜将继续存在。如果您继续使用原始类别ID报告分数,则会将其添加到原始单个排行榜,而使用“grp”。前缀会将它们添加到新的分组中,这基本上就是您想要做的。简而言之,将排行榜放在一个组中将导致有两个排行榜,每个排行榜都会使用自己的类别ID进行更新。
因此看起来原始的类别ID可能会继续有效,但是你会看到旧的单一排行榜。这就是为什么您可能会注意到有时旧ID会更新分数,有时则不会更新分数。
花了很长时间来解决这个问题,但Apple itunes Connect支持解释了这一点,这是有道理的。不更新游戏的玩家将继续向旧排行榜报告分数,并将在游戏中心看到该分数。当他们稍后更新时,他们可能会惊讶地发现,当您 - 开发人员将该排行榜添加到该组时,他们的高分是前一个。
二 “有没有一种简单的方法可以解决这个问题,这样付费的应用用户和免费应用用户可以使用相同的排行榜和成就,而无需更新付费应用?” 请参阅第一个答案,但您必须始终提前计划。在您发布游戏的第一个版本之前,您应该知道是否可以存在对同一个排行榜有贡献的mod。请记住,排行榜只能在一个组中。
本文档对规划Game Center实施非常有帮助: https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnectGameCenter_Guide/iTunesConnectGameCenter_Guide.pdf
答案 1 :(得分:0)
我遇到了一个问题,我正在创建一个小组并将所有排行榜和成就移入其中,但是App Store Connect会抱怨:
注意:ID为“ grp.foo”的页首横幅已经存在。
在浏览网络,梳理Apple的文档和WWDC视频并联系Apple的支持后,我最终偶然发现了一个解决方案。
我猜想,新的组ID可能必须是全局唯一的,而不仅仅是您的应用或组的唯一。我的ID具有简单的名称,例如bestScore
。因此,我在组ID的前面加上了grp.companyname.groupname
而不是grp.
,之后便可以无误地进入确认页面。最后的“提交”可能需要一些时间才能完成–我想它正在做一些复制。