2012-07-20 149 views
9

當我在Game Center中使用Group Leaderboard時,我需要在ID的枚舉中使用「grp」前綴嗎?
換句話說,如果我將我的現有遊戲設置爲使用Group Leaderboard,是否需要爲我的應用中的每個ID添加「grp」前綴?iOS Game Center Group

回答

7

好的,它的工作原理。您可以將現有的排行榜移到組,而無需在應用程序中進行任何更改。

希望我不要打破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

2

對不起,如果我不正確地讀你的問題。但我相信答案是肯定的。

我在我的遊戲中使用了組排行榜,我提交了一個評分。

  #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

1

答案是肯定的,你必須更改爲「羣島」字首。這就是爲什麼zakhej可能會想到爲什麼他會找到答案:

例如,當您將單個排行榜放入組中時,該單個排行榜將繼續存在。如果您繼續使用原始類別ID報告分數,則會將它們添加到原始單個排行榜,而使用「grp」。前綴會將它們添加到新分組中,這實際上就是您想要做的事情。簡而言之,將一個排行榜放在一個組中會導致出現兩個排行榜,每個排行榜都會獲得更新的自己的類別ID。

因此,似乎原來的類別ID將繼續工作,但是您正在查看舊的單個排行榜。這就是爲什麼你可能會注意到有時舊的類別ID更新分數,有時它不會。

花了相當長的一段時間來解決這個問題,但Apple itunes Connect的支持解釋了這種方式,這是有道理的。不更新遊戲的玩家將繼續向老排行榜報告分數,並將在遊戲中心看到。當他們稍後更新時,他們可能會驚訝地看到他們的高分是從您 - 開發人員 - 將該排行榜添加到該組中的時候開始的。

這份文件是在規劃遊戲中心實現非常有幫助:https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnectGameCenter_Guide/iTunesConnectGameCenter_Guide.pdf