スコアを登録する

ここではサーバサイド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);

// アクセストークンを取得
$serviceId = 'service-0001';
$userId = 'user-0001';
$authclient = new Gs2AuthClient($region, $credentials);
$request = [
    'serviceId' => $serviceId,
    'userId' => $userId
];
$result = $authclient->login($request);
$accessToken = $result['token'];

// スコアを登録する
$rankingTableName = 'ranking-0001';
$gameMode = 'mode-0001';
$client = new Gs2RankingClient($region, $credentials);
$score = [
        'rankingTableName' => $rankingTableName,
        'gameMode' => $gameMode,
        'score' => 1000,
        'meta' => 'hoge',
        'accessToken' => $accessToken
];
$client->putScore($score);

Ruby

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

# アクセストークンを取得
service_id = 'service-0001'
user_id = 'user-0001'
authclient = Gs2::Auth::Client.new(region, CLIENT_ID, CLIENT_SECRET)
request = {
    'serviceId' => service_id,
    'userId' => user_id
}
result = authclient.login(request)
access_token = result['token']

# スコアを登録する
ranking_table_name = 'ranking-0001'
game_mode = 'mode-0001'
client = Gs2::Ranking::Client.new(region, CLIENT_ID, CLIENT_SECRET)
score = {
        'rankingTableName' => ranking_table_name,
        'gameMode' => game_mode,
        'score' => 1000,
        'meta' => 'hoge',
        'accessToken' => access_token
}
client.put_score(score)

Java

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


// アクセストークンを取得
String serviceId = "service-0001";
String userId = "user-0001";
LoginRequest request = new LoginRequest()
        .withServiceId(serviceId)
        .withUserId(userId);
Gs2AuthClient authclient = new Gs2AuthClient(credentials)
        .withRegion(region);
LoginResult result = authclient.login(request);
String accessToken = result.getToken();

// スコアを登録する
String rankingTableName = 'ranking-0001';
String gameMode = 'mode-0001';
Gs2RankingClient client = new Gs2RankingClient(credentials)
        .withRegion(region);
PutScoreRequest request = new PutScoreRequest()
        .withRankingTableName(rankingTableName)
        .withGameMode(gameMode)
        .withScore(1000)
        .withMeta("hoge")
        .withAccessToken(accessToken);
client.putScore(request);