ゲームのフロント ページに非常に小さなリーダーボードのスニペットを表示したいと思います。基本的には、あなたのスコアと、あなたの周りにいる 2 人の友人のスコア (あなたのスコアの上と下) を表示します。私はアップルのドキュメントを読みましたが、すべての友達を指定し、すべての友達を確実に取得するために巨大な範囲を指定しない限り、これを行う方法がわかりません。特にユーザーがモバイルを使用している可能性があるため、このリストを取得するのは非効率的です。友達のリスト全体をダウンロードしてからフィルタリングせずに、どうすれば目的を達成できますか?
これが私が現在持っているものです(フィルタリングなし)
GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
if (leaderboardRequest != nil)
{
leaderboardRequest.playerScope = GKLeaderboardPlayerScopeFriendsOnly;
leaderboardRequest.timeScope = GKLeaderboardTimeScopeAllTime;
leaderboardRequest.category = @"HighScore";
leaderboardRequest.range = NSMakeRange(1,100);
[leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
if (error != nil)
{
// Handle the error.
}
if (scores != nil)
{
GKScore* myScore = leaderboardRequest.localPlayerScore;
NSLog(@"Me: %@: %d",myScore.playerID, (int)myScore.value);
// Process the score information - here I would filter
for (GKScore* score in scores)
{
NSLog(@"%@: %d",score.playerID, (int)score.value);
}
}
}];
}