ランキングを取得する

ここではサーバサイドSDKの解説をしています。

GS2 SDK for Unity のサンプルは GS2 SDK for Unity のページをご参照ください。

事前にGS2マネージメントコンソールか、SDKからRankingTableとGameModeを作成しておきます。

(このサンプルは ranking-0001 という名前の RankingTable と mode-0001 という GameMode が作成されているものとしています)

PHP

// アクセス先リージョンとGSIを設定
$region = 'ap-northeast-1';
$credentials = new Gs2Credentials(CLIENT_ID, CLIENT_SECRET);


// 1位〜100位のランキングを取得する
$rankingTableName = 'ranking-0001';
$gameMode = 'mode-0001';
$client = new Gs2RankingClient($region, $credentials);
$request = [
        'rankingTableName' => $rankingTableName,
        'gameMode' => $gameMode,
        'offset' => 1,
        'length' => 100
];
$ranking = $client->getRanking($request)['items'];

// $ranking[n]['index'] に先頭を1としたインデックス
// $ranking[n]['rank'] に同一スコアを同一順位とした順位
// $ranking[n]['userId'] にスコアを登録したユーザID
// $ranking[n]['score'] にスコア値
// $ranking[n]['meta'] にメタ情報 が返ります

Ruby

# リージョンを設定
region = 'ap-northeast-1'

# 1位〜100位のランキングを取得する
ranking_table_name = 'ranking-0001'
game_mode = 'mode-0001'
client = Gs2::Ranking::Client.new(region, CLIENT_ID, CLIENT_SECRET)
request = {
        'rankingTableName' => ranking_table_name,
        'gameMode' => game_mode,
        'offset' => 1,
        'length' => 100
}
ranking = client.get_ranking(request)['items']

# ranking[n]['index'] に先頭を1としたインデックス
# ranking[n]['rank'] に同一スコアを同一順位とした順位
# ranking[n]['userId'] にスコアを登録したユーザID
# ranking[n]['score'] にスコア値
# ranking[n]['meta'] にメタ情報 が返ります

Java

// アクセス先リージョンとGSIを設定
String region = "ap-northeast-1";
IGs2Credential credentials = new BasicGs2Credential(CLIENT_ID, CLIENT_SECRET);

// 1位〜100位のランキングを取得する
String rankingTableName = 'ranking-0001';
String gameMode = 'mode-0001';
Gs2RankingClient client = new Gs2RankingClient(credentials)
        .withRegion(region);
GetRankingRequest request = new GetRankingRequest()
        .withRankingTableName(RANKING_TABLE_NAME)
        .withGameMode(gameMode1.getGameMode());
List<Ranking> ranking = client.getRanking(request).getItems();

// ranking.get(n).getIndex() に先頭を1としたインデックス
// ranking.get(n).getRank() に同一スコアを同一順位とした順位
// ranking.get(n).getUserId() にスコアを登録したユーザID
// ranking.get(n).getScore() にスコア値
// ranking.get(n).getMeta() にメタ情報 が返ります