現在のスタミナ値を取得する

ここではサーバサイドSDKの解説をしています。
GS2 SDK for Unity のサンプルは GS2 SDK for Unity のページをご参照ください。

事前にGS2マネージメントコンソールか、SDKからStaminaPoolを作成しておきます。
(このサンプルは stamina-0001 という名前の 
StaminaPool が作成されているものとしています)

PHP
  1. // アクセス先リージョンとGSIを設定
  2. $region = 'ap-northeast-1';
  3. $credentials = new Gs2Credentials(CLIENT_ID, CLIENT_SECRET);
  4. // アクセストークンを取得
  5. $serviceId = 'service-0001';
  6. $userId = 'user-0001';
  7. $authclient = new Gs2AuthClient($region, $credentials);
  8. $request = [
  9. 'serviceId' => $serviceId,
  10. 'userId' => $userId
  11. ];
  12. $result = $authclient->login($request);
  13. $accessToken = $result['token'];
  14. // 現在のスタミナ値を取得する
  15. $staminaPoolName = 'stamina-0001';
  16. $client = new Gs2StaminaClient($region, $credentials);
  17. $request = [
  18.         'staminaPoolName' => $staminaPoolName,
  19.         'maxValue' => 50,
  20.         'accessToken' => $accessToken
  21. ];
  22. $result = $client->getStamina($request);
  23. $stamina = $result['item'];
  24. // $result['nextIncreaseTimestamp'] に次回スタミナ値が回復するタイムスタンプ(unixepoch)
  25. // $stamina['value'] に現在のスタミナ値
  26. // $stamina['overflow'] に最大値を超えて回復したことがある場合はあふれたスタミナ値 が返ります

Ruby
  1. # リージョンを設定
  2. region = 'ap-northeast-1'
  3. # アクセストークンを取得
  4. service_id = 'service-0001'
  5. user_id = 'user-0001'
  6. authclient = Gs2::Auth::Client.new(region, CLIENT_ID, CLIENT_SECRET)
  7. request = {
  8. 'serviceId' => service_id,
  9. 'userId' => user_id
  10. }
  11. result = authclient.login(request)
  12. access_token = result['token']
  13. # 現在のスタミナ値を取得する
  14. stamina_pool_name = 'stamina-0001'
  15. client = Gs2::Stamina::Client.new(region, CLIENT_ID, CLIENT_SECRET)
  16. request = {
  17. 'staminaPoolName' => stamina_pool_name,
  18. 'maxValue' => 50,
  19. 'accessToken' => access_token
  20. }
  21. result = client.get_stamina(request)
  22. stamina = result['item']
  23. # result['nextIncreaseTimestamp'] に次回スタミナ値が回復するタイムスタンプ(unixepoch)
  24. # stamina['value'] に現在のスタミナ値
  25. # stamina['overflow'] に最大値を超えて回復したことがある場合はあふれたスタミナ値 が返ります

Java
  1. // アクセス先リージョンとGSIを設定
  2. String region = "ap-northeast-1";
  3. IGs2Credential credentials = new BasicGs2Credential(CLIENT_ID, CLIENT_SECRET);
  4. // アクセストークンを取得
  5. String serviceId = "service-0001";
  6. String userId = "user-0001";
  7. LoginRequest request = new LoginRequest()
  8. .withServiceId(serviceId)
  9. .withUserId(userId);
  10. Gs2AuthClient authclient = new Gs2AuthClient(credentials)
  11. .withRegion(region);
  12. LoginResult result = authclient.login(request);
  13. String accessToken = result.getToken();
  14. // 現在のスタミナ値を取得する
  15. String staminaPoolName = 'stamina-0001';
  16. Gs2StaminaClient client = new Gs2StaminaClient(credentials)
  17. .withRegion(region);
  18. GetStaminaResult result = client.getStamina(new GetStaminaRequest()
  19.         .withStaminaPoolName(staminaPoolName)
  20.         .withMaxValue(50)
  21.         .withAccessToken(accessToken));
  22. Stamina stamina = result.getItem();
  23. // result.getNnextIncreaseTimestamp() に次回スタミナ値が回復するタイムスタンプ(unixepoch)
  24. // stamina.getValue() に現在のスタミナ値
  25. // stamina.getOverflow() に最大値を超えて回復したことがある場合はあふれたスタミナ値 が返ります