iOS Game Center Group

问题描述:

当我在Game Center中使用Group Leaderboard时,我需要在ID的枚举中使用“grp”前缀吗?
换句话说,如果我将我的现有游戏设置为使用Group Leaderboard,是否需要为我的应用中的每个ID添加“grp”前缀?iOS Game Center Group

好的,它的工作原理。您可以将现有的排行榜移到组,而无需在应用程序中进行任何更改。

希望我不要打破NDA,没有找到关于它的任何信息,除非此链接 - http://david-smith.org/blog/2012/06/18/ios-6-nda-cheatsheet/

+0

所以即使成就ID从testID到grp.testID,用testID提交成绩仍然有效?你能为我确认一下吗? – 2012-10-10 19:06:48

+1

嗨Kaan Dedeoglu, 我不确定我是否清楚地了解你。在我的情况下,我已经有了成就的游戏,例如testID。然后,我将排行榜放入组中,并将成就ID更改为grp.testID,并继续进行工作。 如果你想添加新的成就id给已经在组中的排行榜,我认为这是可能的,并且成就id会是grp前缀的一次。 P.S.对不起,我的英文:-) – zakhej 2012-10-11 05:50:22

+0

你的问题得到了正确的答复:)并且答案已足够 - 我不必重新定义我的常数,谢谢 – 2012-10-11 08:26:06

对不起,如果我不正确地读你的问题。但我相信答案是肯定的。

我在我的游戏中使用了组排行榜,我提交了一个评分。

  #define LeaderboardID @"grp.yourleaderboardname" 

      GKScore *scoreReporter = [[GKScore alloc] initWithCategory:LeaderboardID]; 
      scoreReporter.value = yourscore; 
      [scoreReporter reportScoreWithCompletionHandler:^(NSError *error) { 
       if (error != nil) { 
        NSLog(@"%@", error); 
       } else { 
        NSLog(@"%@", @"Success submitting score"); 
       } 
      }]; 
      [scoreReporter release]; 

以前的游戏没有使用组排行榜,我的LeaderboardID被定义为这样。

#define LeaderboardID @"com.yourcomapny.yourgame.yourleaderboardname" 

所以我相信你必须改变你的ID包括grp前缀。

+0

嗨,的Tasik,谢谢你的回答,请参阅我的答案。 – zakhej 2012-08-22 08:57:54

答案是肯定的,你必须更改为“群岛”字首。这就是为什么zakhej可能会想到为什么他会找到答案:

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

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

花了相当长的一段时间来解决这个问题,但Apple itunes Connect的支持解释了这种方式,这是有道理的。不更新游戏的玩家将继续向老排行榜报告分数,并将在游戏中心看到。当他们稍后更新时,他们可能会惊讶地看到他们的高分是从您 - 开发人员 - 将该排行榜添加到该组中的时候开始的。

这份文件是在规划游戏中心实现非常有帮助:https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnectGameCenter_Guide/iTunesConnectGameCenter_Guide.pdf