Methods summary
public
|
#
__construct( string $region, GS2\Core\Gs2Credentials $credentials, $options = [] )
コンストラクタ
Parameters
- $region
- リージョン名
- $credentials
- 認証情報
- $options
- オプション
|
public
array
|
#
describeRankingTable( string $pageToken = NULL, integer $limit = NULL )
ランキングテーブルリストを取得
Parameters
- $pageToken
- ページトークン
- $limit
- 取得件数
Returns
array
- items
- array
- rankingTableId => ランキングテーブルID
- ownerId => オーナーID
- name => ランキングテーブル名
- description => 説明文
- createAt => 作成日時
- updateAt => 更新日時
- nextPageToken => 次ページトークン
|
public
array
|
#
createRankingTable( array $request )
ランキングテーブルを作成
GS2-Ranking を利用するには、まずランキングテーブルを作成する必要があります。
1つのランキングテーブルには複数のゲームモードのランキングを格納することができます。
ランキングテーブルを作成
GS2-Ranking を利用するには、まずランキングテーブルを作成する必要があります。
1つのランキングテーブルには複数のゲームモードのランキングを格納することができます。
Parameters
- $request
- name => ランキングテーブル名
- description => 説明文
Returns
array
- item
- rankingTableId => ランキングテーブルID
- ownerId => オーナーID
- name => ランキングテーブル名
- description => 説明文
- createAt => 作成日時
- updateAt => 更新日時
|
public
array
|
#
getRankingTable( array $request )
ランキングテーブルを取得
Parameters
- $request
- rankingTableName => ランキングテーブル名
Returns
array
- item
- rankingTableId => ランキングテーブルID
- ownerId => オーナーID
- name => ランキングテーブル名
- description => 説明文
- createAt => 作成日時
- updateAt => 更新日時
|
public
array
|
#
updateRankingTable( array $request )
ランキングテーブルを更新
Parameters
- $request
- rankingTableName => ランキングテーブル名
- description => 説明文
Returns
array
- item
- rankingTableId => ランキングテーブルID
- ownerId => オーナーID
- name => ランキングテーブル名
- description => 説明文
- createAt => 作成日時
- updateAt => 更新日時
|
public
|
#
deleteRankingTable( array $request )
ランキングテーブルを削除
Parameters
- $request
- rankingTableName => ランキングテーブル名
|
public
array
|
#
describeGameMode( array $request, string $pageToken = NULL, integer $limit = NULL )
ゲームモードリストを取得
Parameters
- $request
- rankingTableName => ランキングテーブル名
- $pageToken
- ページトークン
- $limit
- 取得件数
Returns
array
- items
- array
- gameModeId => ゲームモードID
- rankingTableId => ランキングテーブルID
- gameMode => ゲームモード名
- ownerId => オーナーID
- asc => ソート方向
- calcInterval => 集計間隔(分)
- lastCalcAt => 最終集計日時
- createAt => 作成日時
- updateAt => 更新日時
- nextPageToken => 次ページトークン
|
public
array
|
#
createGameMode( array $request )
ゲームモードを作成
ゲームモードを作成すると、ゲームモードの設定としてランキングが昇順なのか、降順なのかを設定できます。
レースゲームのようなタイムの値が小さいほど上位のランキングの場合は昇順を、
アクションゲームなどで、スコアの値が大きいほど上位のランキングの場合は降順を選択します。
他に、集計間隔を15分以上、24時間以下で分単位で設定できます。
ランキングを更新したい間隔に合わせて設定することになります。
集計処理毎に費用が発生するため、高頻度であればあるほど利用料金は高くなります。
ゲームモードを作成
ゲームモードを作成すると、ゲームモードの設定としてランキングが昇順なのか、降順なのかを設定できます。
レースゲームのようなタイムの値が小さいほど上位のランキングの場合は昇順を、
アクションゲームなどで、スコアの値が大きいほど上位のランキングの場合は降順を選択します。
他に、集計間隔を15分以上、24時間以下で分単位で設定できます。
ランキングを更新したい間隔に合わせて設定することになります。
集計処理毎に費用が発生するため、高頻度であればあるほど利用料金は高くなります。
Parameters
- $request
- rankingTableName => ランキングテーブル名
- gameMode => ゲームモード名
- asc => ソート方向
- calcInterval => 集計間隔(分)
Returns
array
- item
- gameModeId => ゲームモードID
- rankingTableId => ランキングテーブルID
- gameMode => ゲームモード名
- ownerId => オーナーID
- asc => ソート方向
- calcInterval => 集計間隔(分)
- lastCalcAt => 最終集計日時
- createAt => 作成日時
- updateAt => 更新日時
|
public
array
|
#
getGameMode( array $request )
ゲームモードを取得
Parameters
- $request
- rankingTableName => ランキングテーブル名
- gameMode => ゲームモード名
Returns
array
- item
- gameModeId => ゲームモードID
- rankingTableId => ランキングテーブルID
- gameMode => ゲームモード名
- ownerId => オーナーID
- asc => ソート方向
- calcInterval => 集計間隔(分)
- lastCalcAt => 最終集計日時
- createAt => 作成日時
- updateAt => 更新日時
|
public
array
|
#
updateGameMode( array $request )
ゲームモードを更新
Parameters
- $request
- rankingTableName => ランキングテーブル名
- gameMode => ゲームモード名
- calcInterval => 集計間隔(分)
Returns
array
- item
- gameModeId => ゲームモードID
- rankingTableId => ランキングテーブルID
- gameMode => ゲームモード名
- ownerId => オーナーID
- asc => ソート方向
- calcInterval => 集計間隔(分)
- lastCalcAt => 最終集計日時
- createAt => 作成日時
- updateAt => 更新日時
|
public
|
#
deleteGameMode( array $request )
ゲームモードを削除
Parameters
- $request
- rankingTableName => ランキングテーブル名
- gameMode => ゲームモード名
|
public
array
|
#
getRanking( array $request, string $offset = NULL, integer $limit = NULL )
ランキングを取得
ランキングを取得します。
ランキングにはユーザID、スコア、メタデータといった基本情報のほかに、インデックスと順位が付加されています。
インデックスは先頭を1とした位置情報で、順位は同一スコアのユーザを同一順位として計算された値です。
ランキングの性質上、同一スコアでも別順位として扱いたい場合は順位の代わりにインデックスを利用することで実現できます。
ランキングデータはランダムアクセスができますので、GS2\Ranking\Gs2RankingClient::getMyRank() で自分の順位を取得して、
その前後のランキンデータを取得する。というような処理も実現できます。
ランキングを取得
ランキングを取得します。
ランキングにはユーザID、スコア、メタデータといった基本情報のほかに、インデックスと順位が付加されています。
インデックスは先頭を1とした位置情報で、順位は同一スコアのユーザを同一順位として計算された値です。
ランキングの性質上、同一スコアでも別順位として扱いたい場合は順位の代わりにインデックスを利用することで実現できます。
ランキングデータはランダムアクセスができますので、GS2\Ranking\Gs2RankingClient::getMyRank() で自分の順位を取得して、
その前後のランキンデータを取得する。というような処理も実現できます。
Parameters
- $request
- rankingTableName => ランキングテーブル名
- gameMode => ゲームモード名
- $offset
- 取得開始オフセット
- $limit
- 取得件数
Returns
array
- items
- array
- index => インデックス
- rank => 順位
- userId => ユーザID
- score => スコア
- meta => メタ情報
- updateAt => 更新日時
- nextPageToken => 次ページトークン
|
public
array
|
#
putScore( array $request )
スコアを登録
スコアの登録は一時的にバッファリングされ、定期的にランキングデータとして書き込まれます。
そのため、スコア登録直後にランキング集計が開始された場合は、集計結果に含まれない可能性があります。
accessToken には GS2\Auth\Gs2AuthClient::login() でログインして取得したアクセストークンを指定してください。
スコアを登録
スコアの登録は一時的にバッファリングされ、定期的にランキングデータとして書き込まれます。
そのため、スコア登録直後にランキング集計が開始された場合は、集計結果に含まれない可能性があります。
accessToken には GS2\Auth\Gs2AuthClient::login() でログインして取得したアクセストークンを指定してください。
Parameters
- $request
- rankingTableName => ランキングテーブル名
- gameMode => ゲームモード名
- score => スコア
- meta => メタ情報
- accessToken => アクセストークン
Returns
array
- item
- rankingTableId => ランキングテーブルID
- gameMode => ゲームモード名
- userId => ユーザID
- score => スコア
- meta => メタ情報
- updateAt => 更新日時
|
public
array
|
#
getMyRank( array $request )
自分の順位を取得
自分の順位を取得できます、応答される値は集計時点での正確な値となります。
accessToken には GS2\Auth\Gs2AuthClient::login() でログインして取得したアクセストークンを指定してください。
Parameters
- $request
- rankingTableName => ランキングテーブル名
- gameMode => ゲームモード名
- accessToken => アクセストークン
Returns
array
- index => インデックス
- rank => 順位
|
public
array
|
#
getEstimateRank( array $request )
スコアを指定しておおよその順位を取得
指定したスコアを取ったと仮定して何位ぐらいになれるのか、といった指標を計算する際に利用します。
原則1000位単位でおおよその順位を応答します。
上位プレイヤーに対しては1000位単位の解像度では情報が不足している場合があると思いますので、
応答が上位プレイヤーだった場合は、更に GS2\Ranking\Gs2RankingClient::getRanking() で上位のスコアを取得して
さらに詳細な順位に絞り込んで情報提供する。というのもユーザ体験をよく出来ると思います。
スコアを指定しておおよその順位を取得
指定したスコアを取ったと仮定して何位ぐらいになれるのか、といった指標を計算する際に利用します。
原則1000位単位でおおよその順位を応答します。
上位プレイヤーに対しては1000位単位の解像度では情報が不足している場合があると思いますので、
応答が上位プレイヤーだった場合は、更に GS2\Ranking\Gs2RankingClient::getRanking() で上位のスコアを取得して
さらに詳細な順位に絞り込んで情報提供する。というのもユーザ体験をよく出来ると思います。
Parameters
- $request
- rankingTableName => ランキングテーブル名
- gameMode => ゲームモード名
- score => スコア
Returns
array
- min => おおよその順位の最小値
- max => おおよその順位の最大値
|