[{"content":"アカウントの作成とログイン処理を実行します。 リポジトリ https://github.com/gs2io/gs2-uikit-for-unity-sample/tree/main/Account GS2-Deploy テンプレート https://github.com/gs2io/gs2-uikit-for-unity-sample/blob/main/Account/initialize_account_template.yaml プロジェクト内容 プロジェクトを開くと上記の通りになります。 実行してみると、最初は 「Not Logged-in」 と表示されます。 しばらく待つと「Logged-in」という表示に変わり、右下にログイン中のユーザーIDが表示されます。 プロジェクトの解説 シーンのヒエラルキーに注目してください。 GS2 のロゴが表示されている Game Object には UI Kit のコンポーネントが割り当てられています。 Canvas/View 2つのコンポーネントが割り当てられているのを確認できます。 Gs2AccountLoggedInEnabler Add Component メニューでは以下のパスで追加できます。 ログイン状態に応じて GameObject を有効化・無効化できるコンポーネントです。 Logged In にチェックを入れずに Target に GameObject を指定すると、 未ログイン時に Target に指定した GameObject が有効化され、ログイン時に無効化されます。 逆に、Logged In にチェックを入れておくと ログイン時に Target に指定した GameObject が有効化され、未ログイン時に無効化されます。 今回のサンプルでは、未ログイン時には「NotFoggedIn」が有効になり、ログイン時には「LoggedIn」が有効になります。 Canvas/View/LoggedIn ここでも2つのコンポーネントが割り当てられているのを確認できます。 Gs2AccountOwnAccountContext この GameObject より子要素で使用するコンテキストを指定します。 Gs2AccountOwnAccountContext では GS2-Account のログイン中のアカウントに関するコンテキストを指定します。 「OwnAccount」 という ScriptableObject が指定されています。 OwnAccount で指定している ScriptableObject を確認すると、 game-0001 という名前のネームスペース内の自分自身のアカウントを表現する ScriptableObject が指定されています。 Gs2AccountOwnAccountFetcher Gs2AccountOwnAccountContext で指定されたアカウントの情報を取得し、保持します。 Canvas/View/LoggedIn/UserId Gs2AccountAccountLabel 親ノードの Gs2AccountOwnAccountFetcher で取得したアカウントの情報を Format で指定した形式で出力します。 サンプルでは {userId} を指定しているので、自分自身のユーザーIDに置き換えられます。 Add Format Parameter のボタンを押すことで Format にプレースホルダを追加できます。 整形された文字列は OnUpdate(String) イベントに渡されます。 今回は同じ GameObject に設定された Text に値を反映しています。 Process/Gs2AutoLogin ログイン処理を実行するプレハブが設定されています。 このようなAPIを実行するプレハブはコンテキストメニューから追加が可能です。 AutoLogin アカウントを作成・ログインに使用する GS2-Account のネームスペースと、ログイン処理に使用する GS2-Key の暗号鍵を指定しています。 OnAutoLogin でログインが成功したときに呼び出されるイベントハンドラを設定しています。 デフォルトでは、自身の GameObject を無効化して、ログイン処理が多重で走らないように設定しています。 OnError でログインに失敗したときに呼び出されるイベントハンドラを設定しています。 ここでは、エラー内容を出力する関数を呼び出しています。","lang":"ja","section":"articles","summary":"GS2 UIKit for Unity を使用した GS2-Account の機能実装サンプルの紹介","title":"Account(GS2 UIKit for Unity) のサンプル","url":"/ja/articles/sample/uikit_project/account/"},{"content":"Amazon EventBridge は AWS の提供する機能の一つです。 この機能を利用することで、GS2 内で発生したイベントをトリガーとしてAWS上のLambda/SQSといったコンポーネントに処理を接続し、追加の処理を行うことができます。 利用方法 GS2 上で Amazon EventBridge を有効化する まずは AWS のマネージメントコンソールにアクセスし、Amazon EventBridge を開きます。この時、リージョンは us-east-1 (N.Verginia) を利用するようにしてください。 サイドメニューより Partner event sources を選択します。 検索ボックスにキーワードを入力して Game Server Services を探します。 Set up を選択すると簡単な設定の流れが表示されます。 Your AWS account ID の横にある「Copy」ボタンを押して、アカウントIDを保存します。 GS2 のマネージメントコンソールにアクセスし、サイドメニューから Project \u003e 設定の更新 を選択します。 AWS EventBridge を 「有効」にし、通知に使用する AWSアカウントのID に先ほどコピーした情報を入力します。 通知に使用するAWSリージョンには us-east-1 を設定します。 これで、GS2 における EventBridge の設定は完了です。 AWS 上で GS2 から受け取ったイベントを処理するように設定する Amazon EventBridge の Partner event sources のページの一覧に作成された GS2 に関するイベントソースが増えています。 イベントソースの詳細を開くと、Associate with event bus というボタンがありますので、ボタンをクリックします。 説明を読んだ上で Associate を実行してください。 ステータスが Active になったら利用できる状態になりました。 イベントルールを定義する サイドメニューから Rules を選択します。ルールの一覧が表示されますので、Create rule を選択します。 Event bus に先ほど Associate したイベントソースを選択して Next を選択します。 次に GS2 から受け取ったイベントをフィルターする設定を記述します。 詳細は Amazon EventBridge のドキュメントを参照ください。 今回は All events を選択し、すべてのイベントを後続の処理で利用することにします。 次に 受け取ったイベントをどのように利用するかを設定します。 今回は AWS Lambda で受け取ることにしますので、Function に実行してほしい関数を設定します。 購読したいイベントを EventBridge に流すようにする ネームスペースの設定で完了通知の送信先に EventBridge を指定して作成します。 動作確認 AWS Lambda で登録している関数は受け取ったイベントを print するだけの単純なものを設定します。 今回は、アカウント登録時に EventBridge に連携するよう設定したので、マネージメントコンソールからアカウントを登録します。 実行ログを確認すると、関数が呼び出されています。 ログの詳細を確認すると、登録されたアカウントの情報や作成に使用されたネームスペースの情報などが渡ってきているのが確認できます。 あとは AWS Lambda に登録する関数を書き換えて、自由に追加の処理を記述することが可能です。今回は Python を使ったコードを記述しましたが、AWS Lambda は他にもさまざまなプログラミング言語に対応しています。 GS2 も様々なプログラミング言語向けにSDKを提供していますので、AWS Lambda から GS2 の機能を呼び出すことも可能です。","lang":"ja","section":"overview","summary":"Amazon Event Bridge の利用 を利用した GS2 の機能拡張について\n","title":"Amazon Event Bridge の利用","url":"/ja/overview/workflow/coding/extend/event_bridge/"},{"content":"テキストチャット機能を実装します。 リポジトリ https://github.com/gs2io/gs2-uikit-for-unity-sample/tree/main/Chat GS2-Deploy テンプレート https://github.com/gs2io/gs2-uikit-for-unity-sample/blob/main/Chat/initialize_chat_template.yaml プロジェクト内容 プロジェクトを開くと上記の通りになります。 実行すると、テキスト入力欄と送信ボタンが画面下部に表示されるだけの画面が描画されます。 「test」と入力して送信してみます。 すると、投稿した日時とメッセージが表示されます。 もう一度、今度は「test2」と入力して送信してみます。 リストにも投稿されたメッセージが反映されます。 プロジェクトの解説 シーンのヒエラルキーに注目してください。 Canvas/ChatWindow Gs2ChatRoomContext この GameObject 以下のノードで取り扱うチャットルームを指定しています。 このサンプルでは chat-0001 というネームスペースの、room-0001 という名前のルームを指定しています。 Canvas/ChatWindow/Messages/…/Content Gs2ChatMessageListFetcher RoomContext で指定されたルームのメッセージ一覧を取得します。 Gs2ChatMessageList Gs2ChatMessageListFetcher で取得したメッセージを指定されたプレハブに割り当てて生成します。 Maximum Items にはプレハブを生成する最大数を指定します。 今回は子ノードにいる Message をプレハブとして指定しています。 フレハブとして指定された GameObject がシーン内にある場合、その GameObject は無効化され、それ以外に Maximum Items で指定された数だけ GameObject が生成されます。 Canvas/ChatWindow/Messages/…/Content/Message Gs2ChatMessageContext この GameObject 以下のノードで取り扱うメッセージを指定しています。 コンテキストの内容は Gs2ChatMessageList によって割り当てられます。 Gs2ChatMessageFetcher MessageContext で指定されたメッセージを取得します。 Canvas/ChatWindow/Messages/…/Content/Message/Text Gs2ChatMessageLabel Gs2ChatMessageFetcher によって取得したメッセージの内容を出力します。 今回は「{メッセージ投稿時間}:{メッセージ投稿分} {メッセージペイロード}」 で整形するよう Format に指定しています。 整形された値は OnUpdate(String) でコールバックされ、Text コンポーネントに値を反映しています。 Canvas/ChatWindow/Input/Send/Gs2ChatMessagePostAction Gs2ChatMessagePostAction メッセージを投稿する処理を実行するプレハブです。 こちらのコンテキストメニューより追加が可能です。 投稿するメッセージの内容を Category と Metadata に指定して、プレハブを有効化します。 そのため、このプレハブはデフォルトでは無効化されており、メッセージの送信ボタン をクリックした際に有効化するように設定されています。 OnPostComplete(EzMessage) にメッセージの送信が正常終了した際のコールバックを指定できます。 ここでは、自分自身を無効化し、チャットメッセージのテキスト入力欄を初期化する処理が設定されています。 Process/Gs2AutoLogin ログイン処理を実行するプレハブが設定されています。 Accountのサンプル で解説していますので、そちらを参照ください。 レッツチャレンジ ログイン処理が完了するまでは「メッセージの送信ボタン」を無効化するにはどうすればいいでしょうか？ ログイン処理が終わっているかで分岐する方法は Accountのサンプル で解説しています。どうすればできそうか、考えてみてください。","lang":"ja","section":"articles","summary":"GS2 UIKit for Unity を使用した GS2-Chat の機能実装サンプルの紹介","title":"Chat(GS2 UIKit for Unity) のサンプル","url":"/ja/articles/sample/uikit_project/chat/"},{"content":"図鑑機能を実装します。 リポジトリ https://github.com/gs2io/gs2-uikit-for-unity-sample/tree/main/Dictionary GS2-Deploy テンプレート https://github.com/gs2io/gs2-uikit-for-unity-sample/blob/main/Dictionary/initialize_dictionary_template.yaml プロジェクト内容 プロジェクトを開くと上記の通りになります。 実行すると、A〜E までの5体のキャラクターの入手状況が表示されます。 今はどのキャラクターも入手していないため、全てグレーアウトされています。 画面下部に各キャラクターを入手するボタンを配置しています。 まずは、「A」のボタンを押してみましょう。 「A」のキャラクターを入手したことで、カラー表示になり、入手時間が表示されます。 同じく「C」のボタンを押してみましょう。 「C」のキャラクターもカラー表示になります。 プロジェクトの解説 シーンのヒエラルキーに注目してください。 Canvas/DictionaryWindow Gs2DictionaryNamespaceContext この GameObject 以下のノードで取り扱うネームスペースを指定しています。 今回は dictionary-0001 を指定しています。 Canvas/DictionaryWindow/Dictionary/…/Content Gs2DictionaryEntryModelListFetcher NamespaceContext で指定されたネームスペースのエントリーモデル一覧を取得します。 Gs2DictionaryEntryModelList Gs2DictionaryEntryModelListFetcher で取得したエントリーモデルを指定されたプレハブに割り当てて生成します。 Maximum Items にはプレハブを生成する最大数を指定します。 今回は子ノードにいる Entry をプレハブとして指定しています。 フレハブとして指定された GameObject がシーン内にある場合、その GameObject は無効化され、それ以外に Maximum Items で指定された数だけ GameObject が生成されます。 Canvas/DictionaryWindow/Dictionary/…/Content/Entry Gs2DictionaryEntryModelContext この GameObject 以下のノードで取り扱うエントリーを指定しています。 コンテキストの内容は Gs2DictionaryEntryModelList によって割り当てられます。 Gs2DictionaryEntryModelFetcher Gs2DictionaryEntryModelContext で指定されたエントリーのモデルを取得します。 Gs2DictionaryOwnEntryFetcher Gs2DictionaryEntryModelContext で指定されたエントリーモデルの自分のエントリーを取得します。 Gs2DictionaryEntryEnabler Entry の読み込み状態によって、入手日時を表示する GameObject を有効化します。 エントリーを入手していない場合は、Loaded にならないため、入手している場合にのみ有効化されます。 Gs2DictionaryEntryModelEnabler EntryModel の読み込み状況によって、エントリーの名前を表示する GameObject を有効化します。 Canvas/DictionaryWindow/Dictionary/…/Content/Entry/Icon キャラクターのアイコン画像を表示します。 ただし、リスト表示するエントリーによって表示する画像の種類が変わる必要があります。 Gs2DictionaryEntryModelNameEnabler Gs2DictionaryEntryModelFetcher で取得したエントリーモデルの名前によって GameObject を有効化・無効化します。 サンプルでは5つ配置し「A」〜「E」で該当するエントリーのノードのみ有効化するように設定されています。 Canvas/DictionaryWindow/Dictionary/…/Content/Entry/Icon/A 「A」〜「E」の GameObject が設定されていますが、原則同じ構成をとっています。 入手日時を表示する部分と同じように分岐し、入手済みの場合は Active を有効化し、未入手の場合は Disabled を有効化しています。 Canvas/DictionaryWindow/Dictionary/…/Content/Entry/Icon/A/Active Canvas/DictionaryWindow/Dictionary/…/Content/Entry/Icon/A/Disabled Disabled では Material に GrayScaleMaterial を指定することでシェーダーを使用してグレーアウトさせています。 Canvas/DictionaryWindow/Dictionary/…/Content/Entry/Name エントリーモデルの名前を表示します。 Gs2DictionaryEntryModelLabel エントリーモデルの内容を、Format で指定した形式で整形します。 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。 Canvas/DictionaryWindow/Dictionary/…/Content/Entry/AcquiredAt エントリーの入手日時を表示します。 Gs2DictionaryOwnEntryLabel エントリーの内容を、Format で指定した形式で整形します。 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。 Canvas/DictionaryWindow/Input/Acquire A Gs2ExchangeRateModelContext エントリーを入手済みにする GS2-Exchange の交換レートを設定します。 ここでは、GS2-Exchange の exchange-0004 ネームスペースの A レートモデルを交換するよう設定しています。 Canvas/DictionaryWindow/Input/Acquire A/Gs2ExchangeExchangeExchangeAction こちらのコンテキストメニューよりプレハブを追加できます。 Count に交換数量を指定し、プレハブを有効化することで Gs2ExchangeRateModelContext で指定した交換レートの交換を実行します。 OnExchangeComplete(String) に交換処理が正常終了した場合のコールバックを設定でき、自分自身を無効化しています。 Process/Gs2AutoLogin ログイン処理を実行するプレハブが設定されています。 Accountのサンプル で解説していますので、そちらを参照ください。","lang":"ja","section":"articles","summary":"GS2 UIKit for Unity を使用した GS2-Dictionary の機能実装サンプルの紹介","title":"Dictionary(GS2 UIKit for Unity) のサンプル","url":"/ja/articles/sample/uikit_project/dictionary/"},{"content":"経験値・レベル機能を実装します。 リポジトリ https://github.com/gs2io/gs2-uikit-for-unity-sample/tree/main/Experience GS2-Deploy テンプレート https://github.com/gs2io/gs2-uikit-for-unity-sample/blob/main/Experience/initialize_experience_template.yaml プロジェクト内容 プロジェクトを開くと上記の通りになります。 実行するとこのように、現在のレベルやレベルキャップ、プログレスバーが表示されます。 画面下部に経験値の操作ボタンが用意されています。 「Add Experience(100)」で経験値を100加算してみましょう。 経験値が加算され、レベルが1から3に上がりました。 もう一度「Add Experience(100)」で経験値を100加算してみましょう。 レベルが5にあがり、レベルキャップに達しました。 その状態をわかりやすくするため、レベル値の表記が黒色から赤色に変わっています。 「Add Rank Cap」を押してレベルキャップの引き上げを実行してみましょう。 レベルキャップが 5 から 6 に引き上げられました。 その結果、現在のレベルがレベルキャップに達していない状態になりましたので、レベル表記も赤色から黒色に戻っています。 プロジェクトの解説 シーンのヒエラルキーに注目してください。 Canvas/ExperienceWindow Gs2ExperienceExperienceModelContext この GameObject 以下のノードで取り扱う経験値モデルを指定しています。 今回は、GS2-Experience の experience-0001 というネームスペースの、Experience という経験値モデルを指定しています。 Gs2ExperienceOwnStatusContext この GameObject 以下のノードで取り扱う自身のステータスを指定しています。 今回は、GS2-Experience の experience-0001 というネームスペースの、Experience という経験値モデル、player というプロパティIDを指定しています。 Gs2ExperienceOwnStatusFetcher Gs2ExperienceOwnStatusContext で指定したステータスを取得します。 Canvas/ExperienceWindow/Experience/…/RankValue Gs2ExperienceStatusEnabler ステータスの読み込み状況に応じて ValueContainer / Slider を有効化・無効化しています。 Canvas/ExperienceWindow/Experience/…/RankValue/ValueContainer Gs2ExperienceStatusRankValueEnabler ステータスのランクが最大値に達しているか、達していないかで Value / ReachMaxValue を有効化・無効化しています。 Canvas/ExperienceWindow/Experience/…/RankValue/ValueContainer/Value Gs2ExperienceOwnStatusLabel 現在のランク値やランクキャップ値を Format で指定した形式で整形しています。 整形した結果は OnUpdate(String) にコールバックされますので、Text コンポーネントに反映しています。 こちらの Text コンポーネントはテキストの色には黒色を指定しています。 Canvas/ExperienceWindow/Experience/…/RankValue/ValueContainer/ReachMaxValue Gs2ExperienceOwnStatusLabel 現在のランク値やランクキャップ値を Format で指定した形式で整形しています。 整形した結果は OnUpdate(String) にコールバックされますので、Text コンポーネントに反映しています。 こちらの Text コンポーネントはテキストの色には赤色を指定しています。 Canvas/ExperienceWindow/Experience/…/Slider Gs2ExperienceStatusProgress 現在のランクにおいて、次のランクアップまでの経験値に達するまでの進捗を 0.0〜1.0 で OnUpdate(Single) のコールバックで返します。 Slider.value に値として反映しています。 Canvas/ExperienceWindow/Input/AddExperience Gs2ExchangeRateModelContext 経験値を10加算する GS2-Exchange の交換レートを設定します。 ここでは、GS2-Exchange の exchange-0006 という名前のネームスペース の AddExperience という名前の交換レートを指定しています。 Canvas/ExperienceWindow/Input/AddExperience/Gs2ExchangeExchangeExchangeAction こちらのコンテキストメニューよりプレハブを追加できます。 Count に交換数量を指定し、プレハブを有効化することで Gs2ExchangeRateModelContext で指定した交換レートの交換を実行します。 OnExchangeComplete(String) に交換処理が正常終了した場合のコールバックを設定でき、自分自身を無効化しています。 Canvas/ExperienceWindow/Input/AddExperienceX10 Canvas/ExperienceWindow/Input/AddExperience と同様に、経験値を10加算する GS2-Exchange の交換レートを設定します。 Canvas/ExperienceWindow/Input/AddExperienceX10/Gs2ExchangeExchangeExchangeAction 交換数量に 10 が設定されています。 Canvas/ExperienceWindow/Input/AddRankCap ランクキャップを1加算する GS2-Exchange の交換レートを設定します。 Process/Gs2AutoLogin ログイン処理を実行するプレハブが設定されています。 Accountのサンプル で解説していますので、そちらを参照ください。","lang":"ja","section":"articles","summary":"GS2 UIKit for Unity を使用した GS2-Experience の機能実装サンプルの紹介","title":"Experience(GS2 UIKit for Unity) のサンプル","url":"/ja/articles/sample/uikit_project/experience/"},{"content":"SDK の初期化 GS2 の利用を開始するには、まずは GS2-SDK の初期化処理を行います。 Gs2Client.Create を呼び出すことで GS2 のクライアントインスタンスである Gs2Domain を取得できます。 初期化に必要なパラメータは以下です。 パラメータ 引数名 型 説明 credential BasicGs2Credential クレデンシャル情報 region Region 接続先のGS2リージョン BasicGs2Credential 「クライアントID」と「クライアントシークレット」を指定します。 これらの値は GS2-Identifier で管理しています。 Region GS2 のデータセンターを指定します。 指定可能な値については リージョン を参照してください。 実装例 カオスモード カオスモードを適用したSDK初期化処理を呼び出すことで、APIリクエストを一定の確率で失敗させることができます。 カオスモードを有効にしたクライアントを使用して開発を進めることで、エラーハンドリングを強固なものにすることができます。 アカウントの作成 GS2 の多くの機能はプレイヤーの GS2-Account のアカウント情報を指定してログインする必要があります。 ログインをするためにはアカウントの作成が必要です。 アカウントを作成するには Gs2Domain::Account::Namespace()::Create を使用します。 パラメーター 引数名 型 説明 namespaceName string GS2-Account のネームスペース名 実装例 ログイン SDK の初期化と、アカウントの作成が終わったことで、ログインができる準備が整います。 Gs2Domain::Login を使用することで、ログインを実行できます。 結果として GameSession オブジェクトを取得できます。 多くのAPIは GameSession を渡す必要があり、これによってログイン中のプレイヤーのユーザーデータにアクセスできます。 パラメーター 引数名 型 説明 authenticator IAuthenticator 認証処理に使用する実装(GS2-Account) userId string ユーザーID password string パスワード IAuthenticator 認証処理はインターフェース定義されており、GS2-Account を使用せずに自社の認証基盤での認証に差し替えるような実装が可能です。 Gs2AccountAuthenticator Gs2AccountAuthenticator は、一般的なユースケースにおいて十分な機能を備えた、GS2-Account を用いた認証実装です。 引数名 型 説明 accountSetting AccountSetting GS2-Account で認証するための情報 gatewaySetting GatewaySetting GS2-Gateway で通知を受け取るための情報 versionSetting VersionSetting GS2-Version でバージョンチェックするための情報 AccountSetting 引数名 型 説明 accountNamespaceName string GS2-Account のネームスペース名 keyId string 認証処理に使用する GS2-Key の暗号鍵ID(省略するとデフォルト暗号鍵が使用されます) GatewaySetting 引数名 型 説明 gatewayNamespaceName string GS2-Gateway のネームスペース名(省略するとデフォルトネームスペースが使用されます) allowConcurrentAccess bool 同一ユーザーIDでの多重ログインを許容するか(デフォルト:true) VersionSetting VersionSetting を適用することで、ログイン時やセッション再接続時に自動的に GS2-Version を使用したバージョンチェックを行うようにできます。 バージョンチェックの結果、エラーが発生すると、 Gs2AccountAuthenticator::onDetectVersionUp に登録したイベントハンドラが呼び出されます。 引数名 型 説明 versionNamespaceName string GS2-Version のネームスペース名(省略するとバージョンチェックをしません) targetVersions EzTargetVersion[] ゲームのバージョン情報 実装例","lang":"ja","section":"api_reference","summary":"GS2-SDK for Game Engine の初期化方法について","title":"Game Engine","url":"/ja/api_reference/initialize/game_engine/"},{"content":"トランザクションとは GS2 におけるトランザクション処理とは、「消費アクション」「入手アクション」として定義したリソースの交換処理を実行する塊を指します。 トランザクションを発行するAPIは、GS2-Exchange の交換実行関数(Exchange) であったり、GS2-Showcase の商品購入関数(Buy)であったり、GS2-Quest のクエスト開始関数(Start) のようなものがあります。 「消費アクション」はプレイヤーにとってデメリットとなるユーザーデータの操作、逆に「入手アクション」はプレイヤーにとってメリットとなるユーザーデータ操作を指します。 具体的には GS2-Inventory であれば、アイテムの消費が「消費アクション」、アイテムの入手が「入手アクション」となります。 もう少し変わった例を示すとすれば GS2-Inbox のメッセージの開封フラグを立てる操作を「消費アクション」、メッセージに添付されたアイテムを受け取るのが「入手アクション」となります。 GS2 ではユーザーデータを書き換えるトランザクションを発行して実行することを繰り返すことで、ゲームサイクルを実現すると理解してください。 トランザクションとスタンプシート GS2 では、トランザクション処理を「スタンプシート」という名前で呼んでいました。 そのため、コードやドキュメントの各所にそのような記述がみられます。 近年はこの名称は積極的に用いておらず「トランザクション処理」と呼んでいますが、同じものを指していると理解してください。 類似するワードとして「スタンプタスク」という名称もありますが、こちらはトランザクション内に含まれる「消費アクション」を指していました。 トランザクションの実行 GS2-Exchange の Exchange や、 GS2-Showcase の Buy を呼び出すと、EzTransactionDomain というオブジェクトが返されます。 EzTransactionDomain には Wait 関数が用意されており、この関数を呼び出すことで、トランザクション処理の完了を待つことができます。 ただし、トランザクション処理が完了するまでの時間に保証がないため、タイムアウトを実装することを強く推奨します。 Wait 関数には all という引数が用意されており、こちらに true を指定することで、トランザクション処理内で新しいトランザクションが発行された場合にそのトランザクションの実行完了も待つことが可能です。 Wait 関数を呼び出さない場合は、Gs2Domain::Dispatch を定期的に呼び出す必要があります。 Deep Dive ここから先はトランザクション処理の詳細な実装について解説します。 多くの開発者は以下に書かれている内容について理解する必要はありません。 消費アクションと入手アクションの実行順番 トランザクションに含まれる「消費アクション」を全て実行すると「入手アクション」が実行できるようになるように制御されています。 そのため、実行順番は「消費アクション」が先で、「入手アクション」が後になります。これはチート耐性を実現するために重要な仕様です。 このような処理の流れを、日本企業が決裁を行う「稟議」にたとえ、 いろいろな役職者（マイクロサービス）に許可をもらい（消費アクションを実行）稟議書にハンコを押してもらい、 全てのマイクロサービスに許可をもらうと本当にやりたかったこと（入手アクション）が実行できるということからスタンプシートと呼んでいました。 トランザクションの実行 GS2が提供しているマイクロサービスは、トランザクションに含まれる「消費アクション」や「入手アクション」を渡すことで、処理を実行する機能が備わっています。 しかし、トランザクションに含まれるアクションをどのマイクロサービスのどのAPIに渡すべきかはアクションの種類によって決定し、実行するのも一苦労です。 そこで、GS2-Distributor マイクロサービスが活躍します。 GS2-Distributor はトランザクションアクションを受け取ると、アクションの内容に応じて適切なマイクロサービスのAPIに転送する処理を持っています。 これによってあなたは何も考えずに、トランザクションデータを GS2-Distributor に渡すだけでトランザクションを実行できます。 エラー処理 次に考えるべきはエラーハンドリングです。GS2 は様々なマイクロサービスを提供しており、障害が発生するときはマイクロサービス単位で発生する可能性があります。 つまり、「消費アクション」の実行に成功したが「入手アクション」の実行に失敗した。というケースがありえます。 この場合は「入手アクション」が成功するまでリトライしなければ、プレイヤーが損をした状態で処理が止まってしまいます。 トランザクション処理の自動実行 かつて GS2 はエラー処理をゲーム開発者に委ねていました。 しかし、生産性の高くないエラー処理を多くのGS2利用者に委ねるのは適切ではないため、 その責任をGS2で担保するようにしようとしたのが「トランザクションの自動実行」機能です。 トランザクションを発行する機能を持つマイクロサービスのネームスペース設定には必ず「TransactionSetting」という項目があります。 そして「TransactionSetting」には「EnableAutoRun」という自動実行を有効化するためのフラグが存在し、現在ではマネージメントコンソールを利用した設定ではデフォルトで有効化されます。 トランザクションの自動実行を有効化すると、GS2-Showcase の Buy のようなトランザクションを発行するAPIを呼び出すと、APIはトランザクションIDのみを応答し、トランザクションのペイロードは応答されません。 代わりに、内部的に GS2-Distributor にトランザクションを実行するようにデータの引き渡しが行われます。 その後、GS2-Distributor は受け取ったトランザクションを実行し、エラーが発生したらリトライを行います。 このようなメカニズムで動作するため、通常は1秒以内に処理は完了しますが、エラーが発生するとリトライが発生する可能性があることから、トランザクション処理の完了までにかかる時間の保証はありません。 自動実行したトランザクションの完了待ち・結果の取得 トランザクションの自動実行を有効にすると、トランザクションが完了したのか、未完了なのかがこのままでは不明確になってしまいます。 そこで GS2-Distributor はトランザクションの自動実行が完了すると、ゲームに通知を送信する仕組みを持っています。 この機能を利用するには、GS2-Distributor に通知を発行する GS2-Gateway のネームスペースを設定し、ゲームは GS2-Gateway のネームスペースに対して通知を受け取るためにユーザーIDを設定する必要があります。 2023年8月以降に作成されたプロジェクトでは、default という名前の GS2-Distributor や GS2-Gateway が自動的に作成されるようになり、SDK で特別な設定をしない場合はこのネームスペースを使用してこれらの処理を行います。 通知の内容には「トランザクションID」が含まれており、「トランザクションID」を指定してトランザクションの実行結果を取得するAPIが GS2-Distributor に用意されています。 複数の入手アクションの実行 説明した通り「消費アクション」は複数設定できるが「入手アクション」が1つしか設定できません。 これには、トランザクションのチート耐性の裏打ちが「全ての消費アクションを実行したら入手アクションを実行できる」という仕組みに起因します。 この仕組みの上で、入手アクションが複数あると色々とややこしくなってしまうということです。 しかし、ゲーム内のリソース増減には入手アクションが複数存在することは様々なケースで考えられます。 そこで、GS2-JobQueue というマイクロサービスが登場します。 GS2-JobQueue は「入手アクション」を遅延実行するための仕組みを提供しています。 そして、GS2-JobQueue には一回のAPI呼び出しで最大10個のジョブを登録できます。 「GS2-JobQueue にジョブを登録する」という入手アクションが存在し、複数の入手アクションを設定した場合はトランザクション発行時にこの入手アクションに内部的に変換しています。 入手アクションの種類が10を超える場合は、「GS2-JobQueue にジョブを登録ジョブを登録する」という形に変換され、最大100個の入手アクションを1つのトランザクションに含めることができます。 2023年8月以降に作成されたプロジェクトでは、default という名前の GS2-JobQueue が作成されるようになっており、このネームスペースを使用して処理するようになっています。 「TransactionSetting」の JobQueueNamespaceId にネームスペースIDを指定することで、任意のキューを利用することができますが、特別な理由がなければ指定する必要はありません。 GS2-JobQueue の実行 GS2-JobQueue の実行についても、トランザクションと同じような過去があります。 GS2-JobQueue に登録されたジョブの実行も明示的に GS2-JobQueue に登録されたジョブの実行APIを呼び出す必要がありました。 ジョブは実行に成功するとジョブキューから削除され、ジョブの実行APIの戻り値にはジョブキューが空になったかが応答値に含まれるため、空になるまで処理を回してもらうことをゲーム開発者の責任として委ねていました。 ジョブの実行に失敗すると、ジョブキューからジョブが削除されないため、キューが空になるまでジョブを繰り返し実行することでリトライを容易に実装できるようにしていたのです。 GS2-JobQueue の自動実行 しかし、これも生産性の高くない処理を多くのGS2利用者に委ねるのは適切ではないため、 その責任をGS2で担保するようにしようとしたのが「ジョブの自動実行」機能です。 GS2-JobQueue のネームスペース設定にはジョブキューの自動実行フラグが用意されており、現在ではデフォルトで有効化されています。 トランザクションと同様に、自動実行が有効化されるとジョブをキューに登録すると自動的に処理が開始され、実行が完了すると GS2-JobQueue のネームスペースに設定した GS2-Gateway に「完了したジョブID」通知します。 GS2-JobQueue は「ジョブID」を指定して、ジョブの実行結果を取得することができます。 2023年8月以降に作成されたプロジェクトでは、default という名前の GS2-Gateway が自動的に作成されるようになり、SDK で特別な設定をしない場合はこのネームスペースを使用してこれらの処理を行います。 EzTransactionDomain::Wait とは何者か さて、長々と内部処理について説明してきました。 最後に EzTransactionDomain の Wait が何をしているのかを改めて考えてみましょう。 GS2-Showcase::Buy を呼び出すと、トランザクションが発行され、自動実行が有効な場合は GS2-Gateway から発行されたトランザクションIDの完了通知が届くのを待ちます。 自動実行が無効の場合は、返ってきたトランザクションデータを GS2-Distributor に渡して実行を行います。 自動実行の場合はトランザクションの実行結果を GS2-Distributor から取得し、自動実行でない場合は明示的に GS2-Distributor を呼び出した結果を使って、トランザクションの実行結果を取得します。 そこにトランザクション発行処理が含まれていた場合は新しい EzTransactionDomain を作成し、all が true の場合はその EzTransactionDomain::Wait を呼び出します。 実行したトランザクションの「入手アクション」が GS2-JobQueue へのジョブ登録だった場合は、さらに追加の処理があります。 GS2-JobQueue の自動実行が有効だった場合は、GS2-Gateway から登録したジョブIDの実行完了通知が届くのを待ち、自動実行が無効だった場合は明示的に GS2-JobQueue のジョブを実行します。 ジョブの実行結果にトランザクションの発行処理や、GS2-JobQueue へのジョブ登録があった場合は all が true の場合はそれらの処理の完了も待ちます。 Gs2Domain::Dispatch とは何者か GS2-Gateway から GS2-Distributor のトランザクション実行や、 GS2-JobQueue のジョブ実行完了通知を受け取ると、処理の結果に応じてSDKがもつローカルキャッシュを書き換えます。 これによって、トランザクション処理によって アイテムの所持数量が変動した結果をアイテムの所持数量取得APIを呼び出すことなく最新の値を取得できるようにしています。 EzTransactionDomain::Wait の中で GS2-Gateway からの通知を待つ際に Gs2Domain::Dispatch を呼び出しているため、Wait を使用している場合は明示的に Gs2Domain::Dispatch を呼び出す必要はありません。 しかし、EzTransactionDomain::Wait を呼び出さない、または all の引数に false を指定する場合は Gs2Domain::Dispatch を呼び出さなければ、トランザクションやジョブキューによる実行結果がキャッシュに反映されません。 トランザクションの完了待ち・処理結果を取得する実装の例 EzTransactionDomain サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの情報を保持します。 Result 型 説明 transactionId string トランザクションID jobName string JobQueueで実行されたジョブの名前 TransactionSettingの詳細 トランザクション設定の詳細は以下のようになります。 型 有効化条件 説明 enableAutoRun bool 発行したトランザクションをサーバーサイドで自動的に実行するか 　enableAtomicCommit bool enableAutoRun が有効なとき トランザクションの実行をアトミックにコミットするか 　　transactionUseDistributor bool enableAtomicCommit が有効なとき トランザクションをGS2-Distributorを使用して非同期処理で実行する 　　acquireActionUseJobQueue bool enableAtomicCommit が有効なとき 入手アクションを実行する際に GS2-JobQueue を使用するか 同一のリソースを操作する入手アクションが複数存在する場合に使用します","lang":"ja","section":"api_reference","summary":"GS2-SDK for Game Engine のトランザクション処理について","title":"Game Engine","url":"/ja/api_reference/transaction/game_engine/"},{"content":"Game Server Services とは何ですか？ ゲーム開発はこの30年間複雑化の一途を辿っています。 そんな環境に一石を投じたのが Unity / Unreal Engine といった汎用ゲームエンジンです。 かつて、ゲーム開発はコンテンツ制作に入るまでに、かなりの時間をかけてグラフィックやアセット管理、サウンドなどのゲームを作るための環境づくりを行う必要がありました。 これらの環境構築はタイトルごとに独立して行われ、タイトル間の情報共有も不十分な状態で開発が進められてきました。 その結果として様々な会社間で、あるいは様々なプロジェクト間で車輪の再発明が繰り返されました。 汎用ゲームエンジンはそれらの問題を解決し、ゲーム開発者はすぐにコンテンツ制作に入れるようになり 会社間・プロジェクト間で同じ技術スタックを採用することで、人材の流動性を高めても生産性を損なわない開発環境を手にすることができました。 しかし、これらのイノベーションの起点は10年以上前です。 この10年間でゲームのとりまく環境は大きく変化しました。それは、オンライン機能が前提となるゲーム開発が求められるようになったことです。 汎用ゲームエンジンのオンラインゲームサポートは不十分で、ゲームサーバーの開発はかつてのゲームエンジンのように各社・各プロジェクトで独自に行っています。 この生産性の低さについては、汎用ゲームエンジンで開発することが当たり前となった今、あえて説明するまでも無いでしょう。 Game Server Services はこの問題を解決するために、汎用ゲームサーバーとしてみなさんの開発効率化を実現するために誕生しました。 Game Server Services は他のサーバーソリューションと何が違うのですか？ 私たちは、長期にわたってゲームを収益化するためのサーバーソリューションを提供しています。 これは Game as a Service や、Live Gaming と呼ばれる領域をサポートするためのソリューションと言い換えることができます。 Game as a Service の代表的なゲームジャンルは MMORPG でしょう。 Game as a Service はゲームの中でもごく一部のジャンルにのみ適用されると考えているなら、それは大きな間違いです。 Game Server Services は日本で生まれました。 日本ではスマートフォンが登場するより前、Facebookゲームから始まったうねりである「ソーシャルゲーム」で芽吹いた Game as a Service が現在のスマートフォンのゲームメカニクスを支えています。 そして、日本では今ではかつてほど家庭用ゲーム機向けのゲームを開発することに熱心ではありません。 ここ数年は揺り戻しで家庭用ゲーム市場を再評価する流れもありますが、企業の収益の源泉はスマートフォンで展開している Game as a Service スタイルのゲームによるものです。 世の中の多くのソリューションは「オンライン対戦」にフォーカスしている中「ソーシャルゲーム」を支えるために必要となるゲームサーバーを提供しているのが最大の特徴です。 Game as a Service のためにどのような機能が提供されていますか？ 他社ソリューションは、プレイヤーデータをバイナリデータとして保存することを基本としたソリューションを提供しています。 この方法は柔軟性がありますが、問題を抱えています。 1つめはデータ分析が困難であることです。Game as a Service を実現するには、ゲーム内で流通している資源の総数や消費量を適切に分析し、健全な環境を作り続ける必要があります。 2つめはチートが可能になることです。Game as a Service を実現するにはプレイヤーの資源は適切に管理し、ゲーム世界の秩序を守らなければなりません。 Game Server Services では、ゲーム内の用途ごとにマイクロサービスを設計し提供するという凄まじく労力のかかる取り組みをしています。 例えば以下のような機能を提供しています。 ストーリー進行管理 所持品 図鑑 アバター・装備・パーティ編成 経験値・レベル 回数制限 イベントスケジュール管理 ストーリー進行管理を適切に分析可能な状態で保持することは Game as a Service にとって重要です。 なぜなら、全体の1%しかストーリーを最後まで終えていないのに、追加のストーリー開発のために多大な労力を割いているとしたらどうでしょうか？ それは無駄ですね。 ストーリーの追加より先に「なぜみんな最後まで遊んでいないのか」を分析し、そこを改善しより多くの人が現存するストーリーを終えるようにゲームを改善するべきでしょう。 所持品の管理も重要です。これはプレイヤーが資産を失わないためにサーバーで管理するのはもちろん、ゲーム内で流通しているアイテムの総量や、消費数量を開発側が把握することが重要です。 プレイヤーが最も必要としているアイテムは何か？ゲーム内の通貨が余りまくっていて、もはや存在意義を失った状態になっていないか？ そういった状態を分析し、イベント報酬に最も必要としている資源を追加することでプレイヤーのモチベーションを高めたり、余り気味の資源をより多く消費するためのコンテンツを投入したりすることができます。 このように、Game as a Service はゲーム内の経済をより健全な状態にするためにはデータの分析が必要不可欠です。 しかし、バイナリデータでプレイヤーデータを保管していたのでは、それはままならないでしょう。 基本的な用語 GS2 を利用する上で頻繁に登場する重要な用語をいくつか紹介します。 GS2-Identifier GS2 のリソースにアクセスするための「ユーザー」や「アクセス権限（ポリシー）」、API呼び出しに必要な「クレデンシャル（クライアントID/シークレット）」を管理するサービスです。 GS2-Deploy AWS CloudFormation のように、YAML形式のテンプレートファイルを用いて GS2 のリソース（ネームスペースやマスターデータなど）を自動構築・管理するサービスです。 ネームスペース 各サービス内で作成される、データや設定を分離するための独立した空間です。例えば「開発用」「本番用」といった用途ごとにネームスペースを作成して使い分けます。 準備はできましたか？ あなたの興味に応じて次に読むべきコンテンツは変わります。 Game Server Services で出来ることについてもっと知りたい Game Server Services を利用した開発の流れについてもっと知りたい Game Server Services の利用料金についてもっと知りたい Game Server Services の機能拡張についてもっと知りたい Game Server Services の SDK をダウンロードしたい Game Server Services の APIリファレンスを見たい","lang":"ja","section":"overview","summary":"Game Server Services とは何ですか？ ゲーム開発はこの30年間複雑化の一途を辿っています。 そんな環境に一石を投じたのが Unity / Unreal Engine といった汎用ゲームエンジンです。\nかつて、ゲーム開発はコンテンツ制作に入るまでに、かなりの時間をかけてグラフィックやアセット管理、サウンドなどのゲームを作るための環境づくりを行う必要がありました。 これらの環境構築はタイトルごとに独立して行われ、タイトル間の情報共有も不十分な状態で開発が進められてきました。 その結果として様々な会社間で、あるいは様々なプロジェクト間で車輪の再発明が繰り返されました。\n汎用ゲームエンジンはそれらの問題を解決し、ゲーム開発者はすぐにコンテンツ制作に入れるようになり 会社間・プロジェクト間で同じ技術スタックを採用することで、人材の流動性を高めても生産性を損なわない開発環境を手にすることができました。\nしかし、これらのイノベーションの起点は10年以上前です。 この10年間でゲームのとりまく環境は大きく変化しました。それは、オンライン機能が前提となるゲーム開発が求められるようになったことです。\n汎用ゲームエンジンのオンラインゲームサポートは不十分で、ゲームサーバーの開発はかつてのゲームエンジンのように各社・各プロジェクトで独自に行っています。 この生産性の低さについては、汎用ゲームエンジンで開発することが当たり前となった今、あえて説明するまでも無いでしょう。\nGame Server Services はこの問題を解決するために、汎用ゲームサーバーとしてみなさんの開発効率化を実現するために誕生しました。\nGame Server Services は他のサーバーソリューションと何が違うのですか？ 私たちは、長期にわたってゲームを収益化するためのサーバーソリューションを提供しています。 これは Game as a Service や、Live Gaming と呼ばれる領域をサポートするためのソリューションと言い換えることができます。\nGame as a Service の代表的なゲームジャンルは MMORPG でしょう。 Game as a Service はゲームの中でもごく一部のジャンルにのみ適用されると考えているなら、それは大きな間違いです。\nGame Server Services は日本で生まれました。 日本ではスマートフォンが登場するより前、Facebookゲームから始まったうねりである「ソーシャルゲーム」で芽吹いた Game as a Service が現在のスマートフォンのゲームメカニクスを支えています。 そして、日本では今ではかつてほど家庭用ゲーム機向けのゲームを開発することに熱心ではありません。 ここ数年は揺り戻しで家庭用ゲーム市場を再評価する流れもありますが、企業の収益の源泉はスマートフォンで展開している Game as a Service スタイルのゲームによるものです。\n世の中の多くのソリューションは「オンライン対戦」にフォーカスしている中「ソーシャルゲーム」を支えるために必要となるゲームサーバーを提供しているのが最大の特徴です。\nGame as a Service のためにどのような機能が提供されていますか？ 他社ソリューションは、プレイヤーデータをバイナリデータとして保存することを基本としたソリューションを提供しています。 この方法は柔軟性がありますが、問題を抱えています。","title":"Game Server Services について","url":"/ja/overview/"},{"content":"GS2 UIKit for Unity の機能実装サンプルです。 GS2 UIKit はノーコードでゲームUIを構築するためのライブラリ群で、さまざまな画面構成のUIを効率的に構築が可能です。 ここでは、公開されているサンプルプロジェクトを非常に詳細に解説します。 UIKit を用いてノーコードでUI構築を行うことで、プログラマーが負担する実装コストを大幅に削減することが可能になるはずです。 UIKit 全体を通しての共通リソース https://github.com/gs2io/gs2-uikit-for-unity-sample/blob/main/Core/initialize_core_template.yaml サンプルの動作に必要な共通リソースを作成するテンプレートです。 クレデンシャルの設定 https://github.com/gs2io/gs2-uikit-for-unity-sample/blob/main/Core/DevEnvironment.asset UI Kit が使用する GS2 のクレデンシャルを設定する Scriptable Object です。 動作確認がしやすいように、GS2 が用意した環境のクレデンシャルが設定されています。 クレデンシャルは不定期で変更するため、サンプルが動作しなくなったらリポジトリの HEAD に更新してください。 細かな動作確認する際には、ご自身の環境のクレデンシャルを設定して利用することをお勧めします。","lang":"ja","section":"articles","summary":"GS2 UIKit for Unity の実装サンプルの紹介","title":"GS2 UIKit for Unity の実装サンプル","url":"/ja/articles/sample/uikit_project/"},{"content":"こちら","lang":"ja","section":"get_start","summary":"GS2 UIKit for Unity の実装サンプルの紹介","title":"GS2 UIKit for Unity の実装サンプル","url":"/ja/get_start/uikit/sample/"},{"content":"Game Server Services が提供するアカウントシステムは「匿名アカウント」という種類のアカウントシステムです。 日本ではメジャーな仕組みですが、多くの地域では奇妙に感じるアカウントシステムかもしれません。 しかし、このアカウントシステムはゲームにおいて非常に理にかなったアカウントシステムです。 匿名アカウントとは何ですか？ 通常イメージするアカウント管理は、ログインIDがありパスワードがあるものでしょう。 匿名アカウントもその点は変わりません。 しかし、ログインIDとパスワードの両方がシステムによってランダムに決定されるというのが最大の特徴です。 システムによって発行されたログインID・パスワードをデバイスのローカルストレージに保存し、2回目以降はその情報を利用してログインすることでゲームを再開できます。 graph TD Startup --\u003e LoadSave{\"デバイスストレージから 匿名アカウントを読み込み\"} LoadSave -- Not Exists --\u003e CreateAccount[\"匿名アカウントを作成\"] CreateAccount --\u003e SaveAccount[\"匿名アカウントを保存\"] SaveAccount --\u003e Login[\"ログイン\"] LoadSave -- Exists --\u003e Login Login --\u003e InGame 匿名アカウントのメリット 簡単な登録：ユーザーは煩雑な登録プロセスを経ずにゲームをすぐに開始することができます。特に、無料で遊べるF2Pスタイルのゲームでは、多くのユーザーがゲームを試してもらうためには登録の手間を減らすことが重要です。 プレイヤー情報の保護：ログインIDやパスワードを自分で設定する必要がないため、個人情報やプライバシーが保護されます。また、パスワードの再設定や変更なども必要ありません。 引き継ぎのしやすさ：引き継ぎ情報に各種プラットフォームのID基盤やSNSのアカウントなどを利用することができ、異なるデバイスやアプリ間での引き継ぎがスムーズに行えます。 匿名でのプレイ体験：プレイヤーは匿名でゲームをプレイすることができるため、リアルネームやニックネームを使用しなくてもよく、より自由なプレイ体験を楽しむことができます。 引き継ぎ デバイスのローカルストレージほど信頼性の低い場所は他にはありません。 デバイスを落としてしまうかもしれませんし、デバイスを壊してしまうかもしれません。 そのとき、ゲームデータを全て失ってしまうとしたら、それは絶望的な状況です。 ゲームプレイヤーは、匿名アカウントでゲームを体験し、本当に気に入ったら「引き継ぎ情報」を登録できます。 引き継ぎ情報には各種プラットフォーマーのID基盤の情報を利用してもいいですし、SNSのアカウントを設定してもいいでしょう。ゲームパブリッシャーのID基盤も良さそうです。 引き継ぎ情報はスロット番号0〜1024の範囲で管理され、最大1,025種類まで登録できます。 用途に応じて各スロットに異なる認証手段を紐付けることで、幅広い引き継ぎシナリオを実現できます。 引き継ぎ情報には各種ID基盤で認証した結果得られるユーザーIDなどを記録します。 そして、全く新しいデバイスで引き継ぎを実行します。各種ID基盤にログインし、得られたユーザーIDで引き継ぎを実行すると 過去に引き継ぎ情報を設定した匿名アカウントでログインするための情報を取得することができます。 この情報を再びデバイスのローカルストレージに保存して、今後のログインに利用します。 graph TD InGame -- ゲームを気に入った --\u003e AddTakeOverSetting[\"引き継ぎ情報を登録\"] AddTakeOverSetting --\u003e BrokenDevice[\"スマホが壊れた\"] NewDevice[\"新しいスマホ\"] --\u003e DoTakeOver[\"引き継ぎ情報を入力して 引き継ぎを実行\"] DoTakeOver -- 匿名アカウントを復元 --\u003e SaveAccount[\"匿名アカウントを保存\"] SaveAccount --\u003e Login[\"ログイン\"] OpenID Connect 連携 引き継ぎ情報の登録、引き継ぎ処理の実行に OpenID Connect に準拠した認証システムを使用するためのサポートが用意されています。 認証サービスの登録 OpenID Connect 連携機能を使用するにはマスターデータの設定が必要です。各種引き継ぎスロットごとに連携先を指定でき、最大1,025種類の認証手段に対応できます。設定項目は以下の通りです。 認証サービスの OpenID Connect Discovery エンドポイント URL 認証サービスのクライアントID 認証サービスのクライアントシークレット 認証完了後に遷移するURL 追加で要求するスコープ値 認証結果で取得する追加の返却値 Sign in with Apple は クライアントシークレット を動的に計算する必要がありますが、この計算機能も備えています。 認証サービスの OpenID Connect Discovery エンドポイント URL に Sign in with Apple のURLを指定した場合は、クライアントシークレットの代わりに Apple Developer のチームID Apple から発行された秘密鍵のID Apple から発行された秘密鍵のペイロード(PEM) を登録でき、クライアントシークレットは GS2 が必要に応じて計算します。 認証処理 認証処理に関するサポートも提供しています。 認証サービスの認証ページのURL取得APIや、 認証サービスから認証後にコールバックハンドリングエンドポイントが提供されています。 認証サービスのコールバック URL には以下のフォーマットに従った値を設定してください。 https://account.{region}.gen2.gs2io.com/{ownerId}/{namespaceName}/type/{type}/callback https://account.ap-northeast-1.gen2.gs2io.com/aAbBcCdD-project/namespace-0001/type/0/callback 認証のコールバックを受け取ると以下のURLに遷移します。 https://account.{region}.gen2.gs2io.com/{ownerId}/{namespaceName}/type/{type}/done?id_token={idToken} URLのクエリストリングに認証して得られたIDトークンが渡ってきます。 Firebase Authentication のような GS2 以外の認証機能の利用 IDトークンさえ手に入ればその手段は上記手順である必要はありません。 認証サービス以外からの登録を拒否 マスターデータで OpenID Connect 連携が設定されたスロットは任意のユーザー識別子とパスワードを使用した引き継ぎ情報の登録および、引き継ぎの実行は行えなくなります。 実装例 匿名アカウントの作成 GS2-Account はネームスペースという階層をもち、1つのプロジェクト内に複数のアカウントプールを持つことができます。 ネームスペースの用途は特に定めていません、配信地域ごとにネームスペースを分けるなど必要に応じて活用することができます。 匿名アカウントを使用したログイン GS2-Account の認証処理は、一定期間でやりなおす必要があります。 そのような処理を自動的に行ってくれるユーティリティクラスである Gs2AccountAuthenticator を使用したログイン例を示します。 GS2 のAPIクライアントに対して、Gs2AccountAuthenticatorと作成した匿名アカウントのユーザーID、パスワードを指定することでログイン中のセッション情報を表す GameSession インスタンスを取得できます。 以降、ログイン中のプレイヤーの情報にアクセスするにはこの GameSession インスタンスを使用することになります。 認証時の特殊例外 Authentication に相当する処理では、以下の特殊例外が発生する場合があります。 例外型 基底型 説明 PasswordIncorrectException UnauthorizedException パスワードが一致しない BannedInfinityException UnauthorizedException アカウントが利用停止されている ゲーム側ではこれらの例外を適切にハンドリングし、ユーザーに対してエラーメッセージを表示することを推奨します。 Gs2AccountAuthenticator / FGs2AccountAuthenticator 経由のログインで上記例外がどのような形で露出するかは SDK ラッパーの実装に依存するため、詳細は API リファレンス を参照してください。 引き継ぎ情報の登録 スロット番号 に異なる値を指定することで、1つのアカウントに対して複数の 引き継ぎ設定 を保持できます。 スロット番号は0〜1024の範囲で指定でき、最大1025種類の引き継ぎ方法を登録できます。 たとえば、 スロット番号:0 にメールアドレス・パスワード を、 スロット番号:1 にソーシャルメディアのID情報を格納するようにし、 ゲームプレイヤーは好みの引き継ぎ手段を選択できるようにする といった運用が可能です。 引き継ぎ設定のパスワード取り扱い 引き継ぎ情報で登録する password は、サーバー側でハッシュ化して保存されます。 一度設定されたパスワードは API で再取得できず、忘失した場合は新しい引き継ぎ設定を発行し直す必要があります。 この仕組みにより、プレイヤーの認証情報を安全に保持しつつ、不正利用を防止します。 登録済みの引き継ぎ情報一覧取得 引き継ぎの実行 OpenID Connect の認証処理 以下のサンプルのアプリ内ブラウザには unity-webview を使用しています。 public static async UniTask OpenAuthentication( WebViewObject webView, Gs2Domain gs2, string namespaceName, IGameSession gameSession, int type ) { string idToken = null; webView.Init( separated: true, ld: url =\u003e { if (new Uri(url).LocalPath.EndsWith(\"/done\")) { var codeField = new Uri(url).Query.Replace(\"?\", \"\").Split(\"\u0026\").Select(v =\u003e new KeyValuePair (v[..v.IndexOf(\"=\", StringComparison.Ordinal)], v[(v.IndexOf(\"=\", StringComparison.Ordinal)+1)..])).FirstOrDefault(v =\u003e v.Key == \"id_token\"); idToken = Uri.UnescapeDataString(codeField.Value); webView.SetVisibility(false); } } ); webView.LoadURL( (await gs2.Account.Namespace( namespaceName ).Me( gameSession ).GetAuthorizationUrlAsync( type )).AuthorizationUrl ); webView.SetInteractionEnabled(true); webView.SetVisibility(true); await UniTask.WaitWhile(() =\u003e idToken == null); return idToken; } OpenID Connect を使用した引き継ぎ情報の登録 OpenID Connect を使用した引き継ぎの実行 その他の機能 プラットフォームID管理 GS2-Account では、X や Instagram などの各種プラットフォームで利用されるユーザーIDをアカウントに紐付けて保存できます。他のプレイヤーはこれらのIDで検索し、SNS上の友人をゲーム内に招待するといった連携が可能です。プラットフォームIDも引き継ぎ情報と同様に0〜1024のスロット番号で管理され、1アカウントに複数登録できます。 プラットフォームIDの登録 プラットフォームIDによるユーザー検索 登録済みプラットフォームID一覧 カスタムスクリプトトリガー アカウント作成や認証、引き継ぎ、BAN/解除などの処理の前後に GS2-Script を呼び出すイベントトリガーを設定できます。ゲーム固有の検証や監査を行う際に活用できます。トリガーは同期・非同期の実行方式を選択でき、非同期処理では GS2-Script や Amazon EventBridge を利用した外部連携も可能です。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 createAccountScript （完了通知: createAccountDone ）: アカウント作成の前後 authenticationScript （完了通知: authenticationDone ）: ログイン処理の前後 createTakeOverScript （完了通知: createTakeOverDone ）: 引き継ぎ情報の登録前後 doTakeOverScript （完了通知: doTakeOverDone ）: 引き継ぎ実行の前後 banScript （完了通知: banDone ）: BAN 登録の前後 unBanScript （完了通知: unBanDone ）: BAN 解除の前後 パスワード自動変更 ネームスペースの設定で引き継ぎ時にパスワードを自動で変更することができます。 この機能を使用することで、引き継ぎ実行時に以前のデバイスでログインできなくすることができます。 ただし、この機能は複数のデバイスによる同時ログインを完全に抑止するものではありません。 GS2-Gateway の機能を利用することで、同一ユーザーが同時にログインするのを拒否する機能があり、こちらのほうがより強固に同時ログインに対応できます。 ユーザーデータの匿名化 Namespace の設定で differentUserIdForLoginAndDataRetention を有効にすると、ログインに使用する ユーザーID と、データ保持用の データオーナーID が別々に発行されます。 アプリが認証する際は従来どおり ユーザーID を利用し、サーバー内のユーザーデータには データオーナーID を用いることで、個人情報とゲーム内データの分離を行えます。 この機能を利用することで、データ分析を匿名化したユーザーデータを対象に行えるようになり、プライバシー保護と運営に使用するデータの収集の両立が可能となります。 マスターデータ管理 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 TakeOverTypeModel : スロット番号ごとの引き継ぎ設定と OpenID Connect 情報 以下は OpenID Connect 連携を設定するマスターデータの JSON 例です。 { \"version\": \"2024-07-30\", \"takeOverTypeModels\": [ { \"type\": 0, \"metadata\": \"Google\", \"openIdConnectSetting\": { \"configurationPath\": \"https://accounts.google.com/.well-known/openid-configuration\", \"clientId\": \"your-client-id\", \"clientSecret\": \"your-client-secret\" } } ] } Sign in with Apple の場合は clientSecret の代わりに appleTeamId / appleKeyId / applePrivateKeyPem を指定します。詳しくは 認証サービスの登録 を参照してください。 マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 プレイヤーごとの時刻オフセット設定 Game Server Services のアカウント情報には時刻のオフセットを持たせることが可能です。 このオフセットには未来に向けて、プレイヤーが何分間先の状態として振る舞うかを設定することが可能です。 この機能を利用すると、本番環境内でもQA担当者は1時間未来の状態でゲームを遊ばせるようなことを実現できます。 こうすることで、イベントの開始時刻になってもイベントがオープンされないといった問題にいち早く気づくことができます。 アカウントの利用停止 ゲーム内での素行が悪いプレイヤーを利用停止にすることが可能です。 BAN 状態は理由や解除予定日時を含む BanStatus として複数記録でき、アカウントには BAN の有無を示すフラグも保持されます。 BAN の追加・解除前後には GS2-Script を呼び出すイベントトリガーを設定できるため、外部システムとの連携を伴う制御が行えます。 詳細なリファレンス GS2-Account リファレンス","lang":"ja","section":"microservices","summary":"アカウント管理機能\n","title":"GS2-Account","url":"/ja/microservices/account/"},{"content":"モバイルゲームのマネタイズ手法としてプレイヤーに広告を視聴してもらい、広告プラットフォームから報酬を得ることも一般的になりました。 広告が正しく視聴された時に広告プラットフォームからサーバー間連携で通知をもらい、GS2 に報酬を付与することでチート行為を防ぐことができます。 クライアント側のコールバックのみで報酬を付与する設計では、改ざんされた SDK を使用してチートが行われるリスクがあります。 GS2-AdReward は広告プラットフォームから GS2 への直接の Server-to-Server(S2S) 通知を介して、信頼できる視聴完了イベントを契機に報酬を発行する仕組みを提供します。 視聴ポイント 一般的に GS2 では対価と報酬を設定してリソースの交換を行っていますが、サーバー間通信の仕様が広告プラットフォームごとに異なり、データの粒度も異なるため GS2-AdReward では広告の視聴が確認できた際に《視聴ポイント》を1ポイント加算するようになっています。 獲得した《視聴ポイント》は GS2-Exchange や GS2-Showcase などで使用可能な消費アクションとして消費できます。 これにより、ゲーム内のあらゆる報酬と広告視聴を疎結合に結びつけられるため、新しい広告キャンペーンを追加する際にも報酬の設計を再利用できます。 トランザクションアクション GS2-AdReward では以下のトランザクションアクションを提供しています。 種別 アクション 説明 消費 Gs2AdReward:ConsumePointByUserId 視聴ポイントの消費 入手 Gs2AdReward:AcquirePointByUserId 視聴ポイントの加算 graph TD InGame[\"ゲーム\"] -- 広告を視聴 --\u003e ViewAd[\"広告\"] ViewAd -- 広告の視聴が完了 --\u003e AdPlatform2[\"広告プラットフォーム\"] ViewAd -- 広告の視聴が完了 --\u003e InGame2[\"ゲーム\"] AdPlatform2 -- 広告の視聴完了を通知 --\u003e AdReward[\"GS2-AdReward\"] AdReward --\u003e AddPoint[\"ポイントを付与\"] AdReward -- ポイント付与を通知 --\u003e InGame2 InGame2 -- 視聴ポイントとアイテムを交換 --\u003e Exchange[\"GS2-Exchange\"] 対応している広告プラットフォーム 現在 GS2-AdReward は以下の広告プラットフォームに対応しています。 追加で対応を希望される場合はサポートにご連絡ください。 プラットフォーム コールバック識別子 AdMob(Google Mobile Ads) admob Unity Ads unityad AppLovin MAX applovinmax AdMob の設定 《広告ユニット》の設定で《サーバーサイドの検証》を有効化し、GS2が発行したURLを設定する必要があります。 設定手順は以下を確認ください。 https://support.google.com/admob/answer/9603226 ネームスペースの設定に、報酬付与の対象とする広告ユニットID ( allowAdUnitIds ) を設定してください。 ここに登録されていない広告ユニットからのコールバックは無視されるため、想定外の広告ユニットによる不正な視聴ポイントの発行を防止できます。 コールバックURLの例 https://ad-reward.{region}.gen2.gs2io.com/callback/{ownerId}/{namespaceName}/admob Unity Ads の設定 Unity Ads から発行された Game ID と GS2 が発行した URL を指定して、秘密鍵を発行してもらってください。 設定手順は以下を確認ください。 https://docs.unity.com/ads/en-us/manual/ImplementingS2SRedeemCallbacks ネームスペースの設定に、秘密鍵 ( keys ) を設定してください。複数のゲームに対応する場合は複数の鍵を登録できます。 コールバックURLの例 https://ad-reward.{region}.gen2.gs2io.com/callback/{ownerId}/{namespaceName}/unityad AppLovin MAX の設定 Namespace に AppLovin MAX 用の設定 ( appLovinMaxes ) を追加することで、視聴完了 WebHook からポイントを付与できるようになります。 フィールド 説明 allowAdUnitId 許可する広告ユニット ID。コールバックに含まれる adUnitId を照合し、不正なリクエストを遮断します。 eventKey AppLovin MAX 管理画面で発行したイベントキー。WebHook が正規の発信元から送信されたことを検証します。 コールバック URL 例: https://ad-reward.{region}.gen2.gs2io.com/callback/{ownerId}/{namespaceName}/applovinmax プッシュ通知 設定できる主なプッシュ通知と設定名は以下の通りです。 changePointNotification : 広告視聴でポイントが変動したときに通知 サーバー間連携 (S2S) で広告プラットフォームから視聴完了通知が届くまではクライアント側に直接結果が伝わらないため、 プッシュ通知を介してクライアントに「ポイントが付与された」ことを伝えることが重要です。 実装例 動画の視聴を開始 各広告プラットフォームのSDKを直接利用して動画を視聴しても問題ありません。 ここでの実装例は GS2-SDK で提供しているユーティリティクラスを使用した実装例を示します。 ユーティリティクラスを利用すると、視聴完了から changePointNotification の到着まで自動的に待機できるため、UI 側で「ポイント付与待ち」のハンドリングをシンプルに行えます。 AdMob Unity Ads AppLovin MAX 現在の広告ポイントを取得 視聴ポイントの加算コールバック 広告プラットフォームからの S2S 通知により視聴ポイントが増加した際に、 changePointNotification を通じてクライアントに通知が届きます。 このコールバックを購読することで、視聴完了直後の UI 更新や演出を実装できます。 その他の機能 ポイントのリセット 管理画面や API を通じて、ユーザーの保持している視聴ポイントをリセット（削除）できます。 キャンペーンの切り替えや、運営上の調整が必要なシーンで利用できます。 視聴履歴 広告プラットフォームから受け取った視聴完了通知は History として保持されます。 同じ transactionId の通知が再送されてきた場合に二重でポイントを付与しないための冪等性確保に利用されます。 カスタムスクリプトトリガー ポイント処理の前後に GS2-Script を呼び出すイベントトリガーを設定できます。ゲーム固有の検証や監査を行う際に活用できます。トリガーは同期・非同期の実行方式を選択でき、非同期処理では GS2-Script や Amazon EventBridge を利用した外部連携も可能です。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 acquirePointScript （完了通知: acquirePointDone ）: 広告視聴などでポイントを加算の前後 consumePointScript （完了通知: consumePointDone ）: 視聴ポイントをアイテム交換などで消費する前後 非同期トリガーから Amazon EventBridge を経由して、視聴回数の集計や BI ツールへのデータ連携といった外部システムへの転送が行えます。 詳細なリファレンス GS2-AdReward リファレンス","lang":"ja","section":"microservices","summary":"広告リワード機能","title":"GS2-AdReward","url":"/ja/microservices/ad_reward/"},{"content":"GS2-Buff は GS2 が提供するマイクロサービスの対価や報酬、ユーザーデータの最大値の補正を一元管理する機能を提供します。 期間限定で報酬を増加させる機能や、サブスクリプション契約状態であればユーザーデータの最大値が増加するような機能を実現するために利用できます。 GS2-Buff は他のマイクロサービスを直接書き換えるのではなく、API 呼び出しの際に渡される「コンテキストスタック」というメタ情報を介して各マイクロサービスに補正値を伝播させます。 そのため、バフの内容や期間を変更しても各マイクロサービスのマスターデータやプレイヤーデータをいっさい書き換えることなく適用・解除が行えるのが大きな特徴です。 ユースケース GS2-Buff が想定する代表的なユースケースは以下の通りです。 期間限定で経験値の取得量を 2 倍にするキャンペーン 特定のショーケースで販売される商品の価格を一律 20% オフ サブスクリプション契約中はスタミナの最大値を引き上げる 特定の装備を装備中のみクエスト報酬を増加させる イベント期間中だけ強化素材の消費量を半減させる graph LR Player[\"プレイヤー\"] --\u003e|ApplyBuff| Buff[GS2-Buff] Buff --\u003e|コンテキストスタック| Player Player --\u003e|API + コンテキストスタック| Other[\"他のマイクロサービス (GS2-Experience / GS2-Stamina / GS2-Showcase など)\"] Other -.参照.-\u003e Buff Other --\u003e|補正後の値| Player マスターデータ管理 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 BuffEntryModel : 補正値と対象を定義する基本モデル マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 BuffEntryModel の主な設定項目 設定項目 説明 name バフを識別する一意な名前 metadata クライアント側で利用する任意メタデータ expression 補正計算式の種別 ( Rate Add / Mul / Value Add ) targetType 補正対象が「モデル」か「アクション」か targetModel / targetAction 補正対象のモデル名・アクション名・条件 GRN・補正レート priority 適用優先度。値が小さいものから順に計算 applyPeriodScheduleEventId GS2-Schedule のイベントによる有効期間 バフエンティティ 各マイクロサービスに加える補正の単位です。 基礎値を 1.0 として、各パラメータに対してどの程度増減させるかを定義します。 利用できる主なバフの種類と計算方法は以下の通りです。 Rate Add : 補正レートに加算 Mul : 補正レートに乗算 Value Add : 値を直接加算（モデルやアクションの数値のみ） Rate Add と Mul は補正レートに対する演算で Rate Add 1.5 とすると補正値は2.5倍に、Mul 1.5 とすると補正値は1.5倍になります。 Value Add は値を直接加算する演算で Value Add 5 とすると補正値は +5 となります。 適用優先度 補正値には適用優先度を設定できます。優先度に設定された値が小さい補正値から順番に補正値の計算が行われます。 たとえば、以下の補正値が定義されていたとします。 補正値の種類 補正値 適用優先度 Rate Add 0.2 1 Mul 1.5 2 Rate Add 0.2 3 この場合、以下の順番で補正値の計算が実行されます。 1.0 + 0.2 = 1.2 1.2 * 1.5 = 1.8 1.8 + 0.2 = 2.0 そして、最終的な補正値は 2.0倍 となります。 Value Add が含まれる補正計算 補正値の中に 「Value Add」が含まれる場合は、補正計算が 「Value Add」の定義されている優先度の前で一旦計算し、計算後の値に対して値の加算が行われます。 補正値の種類 補正値 適用優先度 Rate Add 0.2 1 Mul 1.5 2 Value Add 2 3 Rate Add 0.2 4 この場合、まずは Value Add が出現する直前までの補正値の計算が実行されます。 1.0 + 0.2 = 1.2 1.2 * 1.5 = 1.8 そして、入力値に一旦この補正値を適用します。例えば入力が 10 の場合、1.8倍して補正後の値は 18 となります。 補正後の値に対して「Value Add」の +2 が適用され、補正後の値は 20 となります。 続けて Value Add が出現した直後からの補正値の計算が実行されます。 1.0 + 0.2 = 1.2 そして、入力値に一旦この補正値を適用します。入力が 10 の場合、1.2倍して補正後の値は 12 となります。 「Value Add」 後の補正値にこの値を加算します。 20 + 12 = 32 これで、入力が 10 の場合の最終的な補正後の値は 32 となります。 全体の式をまとめると以下のようになります。入力値を x としています。 ((x * (1.0 + 0.2) * 1.5) + 2) + x * (1.0 + 0.2) 補正対象の設定 バフによる補正対象は大きく2種類あり、「モデル」と「アクション」があります。 どのようなモデルやアクションを設定できるかは各マイクロサービスのバフに関するドキュメントを参照してください。 モデル モデルの適用対象の例には以下のようなものがあります。 GS2-Experience のランクキャップ GS2-Stamina のスタミナ最大値 GS2-Showcase の入手アクション GS2-Showcase の消費アクション アクション アクションの適用対象の例には以下のようなものがあります。 GS2-Experience の経験値加算量 GS2-Stamina のスタミナ回復量 GS2-Stamina のスタミナ消費量 補正適用条件の設定 GS2-Showcase に適用するとして、どの DisplayItem に補正値を適用するのか？ GS2-Experience に適用するとして、どの Status に補正値を適用するのか？ といった適用条件を設定するのがこのパラメーターです。 各バフに対してどのような適用条件が設定できるかは各マイクロサービスのバフに関するドキュメントを参照してください。 モデルとGRN 適用条件にはモデルとGRNを指定します。バフによっては複数のモデルを指定できる場合があります。 例えば、GS2-Showcase であれば、Showcase 内の全ての DisplayItem に補正を適用するために、Showcase の GRN を指定するパターンと Showcase 内の特定の DisplayItem にのみ補正を適用するために DisplayItem の GRN を指定するパターンがあります。 バフには複数の適用条件を設定でき、いずれかの条件に該当すると補正値が適用されます。 つまり、1つのバフエンティティに複数の DisplayItem を適用条件に設定することで、1つのバフエンティティで複数の DisplayItem に対する補正値を定義できます。 補正の適用方法 GS2-Buff の ApplyBuff API を呼び出すと 「コンテキストスタック」 が応答されます。 GS2 が提供するあらゆるAPIにはコンテキストスタックを設定可能なインターフェースが用意されています。 GS2-Buff が応答した コンテキストスタック を各APIの呼び出し時に指定することでバフを適用できます。 ゲームエンジン向けのSDKのような高レベルなSDKでは、コンテキストスタックの指定はラップされ明示的に指定する必要がないケースがあります。 sequenceDiagram participant Player as プレイヤー participant Buff as GS2-Buff participant Other as 他のマイクロサービス Player-\u003e\u003eBuff: ApplyBuff Buff--\u003e\u003ePlayer: コンテキストスタック Player-\u003e\u003eOther: API 呼び出し (コンテキストスタック付与) Other--\u003e\u003ePlayer: バフ適用済みの値 補正の適用範囲 バフの適用範囲は広範囲で、マスターデータの取得APIでもバフが適用されます。 コンテキストスタックを指定した状態でマスターデータ取得APIを呼び出すと、バフがかかった状態の値が応答されます。 ゲーム内でバフがかかっていない状態の値を併記したい場合は、コンテキストスタックを付与しないAPIアクセスを組み合わせて表示する必要があります。 バフエンティティと GS2-Schedule の連携 コンテキストスタック内のバフ情報は有効期間を保持します。 つまり、バフエンティティに有効期間として GS2-Schedule のイベントが設定されている場合、イベント期間外になった際には自動的にバフは適用されなくなります。 ただし、新しくバフの適用条件が変更になったり、新しいバフが追加された場合は改めて ApplyBuff を呼び出してバフを反映する必要があります。 コンテキストスタックの有効期限 コンテキストスタックには有効期限が設定されています。 ApplyBuff を呼び出した時点から24時間を経過するとコンテキストスタックは効力を失います。 ApplyBuff は条件に変更がなくとも24時間以内に再度実行するようにしてください。 スクリプトによるレート上書き applyBuffScript の同期スクリプトの戻り値として OverrideBuffRate ( name と rate のペア) を返すことで、バフ適用時に該当バフのレートを動的に上書きできます。 プレイヤーの状態や時間帯、所持装備に応じて細かくバフのレートを変動させたい場合に活用できます。 スクリプトトリガー バフ適用の前後に GS2-Script を呼び出すイベントトリガーを設定できます。トリガーは同期・非同期の実行方式を選択でき、 doneTriggerTargetType により Amazon EventBridge などへの完了通知も可能です。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 applyBuffScript （完了通知: applyDone ）: バフ適用の前後。スクリプトの戻り値でバフの適用レートを動的に上書きすることも可能です。 実装例 バフを適用 ApplyBuff を呼び出すと、Gs2 オブジェクト自体がバフ適用後のコンテキストを保持した新しいインスタンスに切り替わります。 返却された Gs2 オブジェクトを以降のアクセスで使用することで、バフが適用された状態で各マイクロサービスを利用できます。 登録済みのバフエンティティ一覧の取得 ゲーム内のキャンペーン一覧表示などのために、現在登録されているバフエンティティを取得できます。 特定のバフエンティティの取得 他のマイクロサービスとの組み合わせ GS2-Buff は単体ではなく他のマイクロサービスと組み合わせて利用します。主な連携先と対応する補正対象の例は以下の通りです。 連携先 補正対象の例 GS2-Experience 経験値取得量、ランクキャップ GS2-Stamina スタミナ最大値、回復量、消費量 GS2-Showcase DisplayItem の販売価格、入手数量 GS2-Money2 入金量、消費量 GS2-Inventory アイテムの取得数量 GS2-Quest クエスト報酬の取得数量 GS2-Enhance 強化素材の消費数 各マイクロサービスがどのモデル名・アクション名に対するバフを受け付けるかは、それぞれのマイクロサービスのドキュメントを参照してください。 詳細なリファレンス GS2-Buff リファレンス","lang":"ja","section":"microservices","summary":"バフ機能","title":"GS2-Buff","url":"/ja/microservices/buff/"},{"content":"GS2-Chat を利用することで、ゲーム内にテキストチャットを組み込むことが可能です。 テキストチャットは新着メッセージの検知のために常時接続セッションを必要とし、サーバーに求める要件も複雑になります。 Game Server Services を利用すれば、そのようなめんどくさい常時接続セッションの管理からも解放されます。 ルーム GS2-Chat の利用を開始するには、まずはルームを作成する必要があります。 ルームはプレイヤーが自由に作成できるようにもできますし、開発サイドで用意したルームをプレイヤーに使用させることもできます。 また、投稿できるユーザーIDのホワイトリストを設定して特定メンバー専用のルームを構築することも可能です。 一点気をつけなければならないのが、GS2-Chat は投稿可能なメッセージの数をルームごとに1秒間あたり3件までしか保証しません。 これを超える頻度でメッセージの投稿を行うとエラーが発生する可能性があります。 そのため、ソーシャルネットワークのタイムラインのような大量のプレイヤーを1つのルームに格納するような要件には向きません。 パスワード ルームにはパスワードを設定することが可能です。 パスワードが設定されたルームのメッセージを取得する際や、メッセージを投稿する際にはパスワードの指定が必要となります。 ルーム設定の更新 ルームの作成後、メタデータやパスワード、ホワイトリスト（投稿可能なユーザーIDリスト）を更新することが可能です。これにより、動的にルームのアクセス権限を変更したり、ルームの属性情報を変更したりできます。 購読 プレイヤーはルームを購読することで、ルームへの新着メッセージの通知を受けることができるようになります。 メッセージにはカテゴリを設定可能で、ルーム内のカテゴリごとに購読が可能です。 ギルドチャットの実装においてギルドマスターからのメッセージだけカテゴリを特別なものに設定し、ギルドメンバーはギルドマスターからのメッセージだけは絶対に購読させるようなことができます。 購読設定は後から更新することも可能です。受信するカテゴリの追加・削除や、オフライン時のモバイルプッシュ通知転送設定を動的に変更できます。 購読による通知処理は GS2-Gateway の通知機能が利用されますが、GS2-Gateway には通知先プレイヤーがオフラインの場合 モバイルプッシュ通知などの、ゲーム外の方法で通知する機能が用意されています。 1つのルームを購読できる人数に明確な制限はありませんが、通知を送信するために GS2-Gateway のAPIリクエストが発生するため、GS2のAPI利用料金が通知先1件ごとに発生します。 また、通知先が多くなると通知が届くまでにかかる時間が長くなります。 ルーム名を指定して、そのルームを現在誰が購読しているかの一覧を取得することも可能です。 actor Player1 actor Player2 participant \"GS2-Chat#Room\" participant \"GS2-Gateway#Namespace\" participant \"Firebase Cloud Messaging\" Player1 -\u003e \"GS2-Chat#Room\" : Subscribe Player2 -\u003e \"GS2-Chat#Room\" : Post Message \"GS2-Chat#Room\" -\u003e \"GS2-Gateway#Namespace\" : Send Notification to Player1 \"GS2-Gateway#Namespace\" -\u003e \"Firebase Cloud Messaging\" : Notification(if player is offline) \"GS2-Gateway#Namespace\" -\u003e Player1 : Notification Player1 -\u003e \"GS2-Chat#Room\" : Load New Message メッセージ ルームに対してメッセージを送信することが可能です。 メッセージの保持期間はネームスペースの設定 messageLifeTimeDays で1〜30日の範囲で指定でき、保持期間を超えたメッセージは削除されます。 また、最新のメッセージを一定件数取得する機能も用意されています。これにより、ルームに入室した直後の過去ログ表示などを効率的に行うことができます。 NGワード メッセージのペイロードに不適切なワードが含まれるかもしれません。 GS2-Script と連携することで、不適切なワードが含まれるメッセージの投稿を拒否したり、メッセージのペイロードを書き換えることができます。 GS2-Script は HTTP 通信を発行することができるため、自社でもつNGワードチェックサーバーにフォワードして処理することも可能です。 actor Player participant \"GS2-Chat#Room\" participant \"GS2-Script#Script\" Player -\u003e \"GS2-Chat#Room\" : Post Message \"GS2-Chat#Room\" -\u003e \"GS2-Script#Script\" : Trigger post message \"GS2-Script#Script\" -\u003e \"GS2-Chat#Room\" : Continue? / Replaced Message カテゴリーモデルと通知設定 メッセージのカテゴリはマスターデータで定義でき、カテゴリごとにアクセストークンを用いた投稿を拒否するかや、オフライン時にモバイルプッシュ通知へ転送するかを設定できます。 トランザクションアクション GS2-Chat ではトランザクションアクションを提供していません。 メッセージ投稿のスクリプトトリガーから他マイクロサービスのAPIを呼び出すことで、特定のメッセージ投稿に応じてユーザーデータを書き換えるといった連携は可能です。 スクリプトトリガー ルームの作成・削除、メッセージ投稿、購読や購読解除の各処理の前後で GS2-Script を呼び出せます。同期実行で検証や改ざんを行ったり、非同期実行で Amazon EventBridge 経由の外部連携を組み込むこともできます。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 createRoomScript （完了通知: createRoomDone ）: ルーム作成の前後 deleteRoomScript （完了通知: deleteRoomDone ）: ルーム削除の前後 postMessageScript （完了通知: postMessageDone ）: メッセージ投稿の前後 subscribeRoomScript （完了通知: subscribeRoomDone ）: ルーム購読の前後 unsubscribeRoomScript （完了通知: unsubscribeRoomDone ）: 購読解除の前後 プッシュ通知 設定できる主なプッシュ通知と設定名は以下の通りです。 postNotification : 購読しているルームに新しい投稿があったときに通知 通知カテゴリは notificationTypes で制御でき、オフライン端末へのモバイルプッシュ転送設定も可能です。 実装例 ルームの作成 ルームの購読 ルームの購読解除 メッセージの投稿 メッセージの一覧取得 メッセージの受信通知ハンドリング MessagesAsync はキャッシュがある場合はキャッシュを応答し、メッセージの一覧で取得できるデータのキャッシュはメッセージ受信通知を受け取った際に、SDKによって自動的に更新されます。 そのため、通常はこのイベントをハンドリングする必要はなく、必要なタイミングで MessagesAsync を呼び出せば、通常はキャッシュを利用して最新のメッセージリストにアクセスできます。 その他の機能 クライアントから投稿できないカテゴリ マスターデータの CategoryModel で rejectAccessTokenPost に true を設定することで、該当カテゴリへアクセストークンを使用して投稿できなくなります。 この機能を活用することで、スクリプトなどを経由してしか投稿できないカテゴリを用意し、システムメッセージを格納するような用途に利用できます。 プレイヤーによるルーム作成の可否 ネームスペース設定の allowCreateRoom を利用すると、プレイヤーが自由にルームを作成できるかどうかを管理側で制御できます。 allowCreateRoom=true : プレイヤーが自分でルームを作成可能 allowCreateRoom=false : 運営が用意したルームのみ利用可能 大規模なルーム乱立を防ぎたい場合や、特定のルームのみを許可したい場合に、この設定を適宜調整してください。 メッセージカテゴリの活用例 メッセージにはカテゴリを設定できます。カテゴリを使うことで、クライアント側でペイロードのパース方法を切り替えることができます。 たとえば以下のような使い方ができます。 カテゴリ0 : テキストがペイロードにそのまま含まれる通常のテキストメッセージ カテゴリ1 : ペイロードにスタンプのIDが含まれるスタンプメッセージ このようにカテゴリをメッセージの種類や重要度別に分けることで、ゲームプレイヤーが受け取る通知の種類を自分で設定できるようになり、ユーザー体験を向上させることができます。 マスターデータ管理 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 CategoryModel : カテゴリ番号ごとの投稿可否（ rejectAccessTokenPost ）、およびオフライン時のモバイルプッシュ通知転送設定 マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 詳細なリファレンス GS2-Chat リファレンス","lang":"ja","section":"microservices","summary":"テキストチャット機能\n","title":"GS2-Chat","url":"/ja/microservices/chat/"},{"content":"GS2-Datastore を利用することで、任意のバイナリデータをサーバーに保存できます。 アップロードしたデータにはアクセス権限を設定でき、 public （全員に公開）、 protected （指定したユーザーIDにのみ公開：最大100件）、 private （自分のみ）から選択します。 GS2-Datastore は UGC やレースゲームのゴーストデータのようなデータをアップロードするのが主たる目的で、プレイヤーのユーザーデータを保存するのには必ずしも適切ではありません。 なぜなら、所持品の所持数量をバイナリデータとして保存していると、セーブデータやアプリ本体の改竄でアイテムを増殖したり、入手量を不正に増加させた改造アプリでのプレイを許してしまうためです。 所持品の所持数量であれば、GS2-Inventory のような専用のマイクロサービスを利用することで、そのような不正行為は行えなくなります。 ユーザーデータの中でも、コンフィグの設定値など、改竄されてもゲームバランスに影響を与えることがないデータについて保存することを否定するわけではありません。 ユースケース GS2-Datastore が想定する代表的なユースケースは以下の通りです。 ユーザーが投稿したスクリーンショットやリプレイなどの UGC コンテンツの保存 レースゲームにおけるゴーストデータの共有 フォトモードで撮影した画像のクラウド共有 ゲーム設定など改竄されてもゲームバランスに影響を与えないユーザーデータの保存 ステージのカスタムマップデータの公開・共有 アクセススコープ データオブジェクトには 3 種類のアクセススコープがあり、用途に応じて使い分けます。 スコープ 説明 主な用途 public 全プレイヤーがダウンロード可能 UGC コンテンツの公開、ゴースト共有 protected allowUserIds に指定したユーザーのみがダウンロード可能（最大100件） フレンドのみへの共有 private アップロードしたユーザー本人のみがダウンロード可能 個人のセーブデータ、設定値 スコープと許可ユーザーは UpdateDataObject で後から変更することも可能です。 アーキテクチャ GS2-Datastore はバイナリデータの保存場所などを記録したメタデータを管理しており、実際のバイナリデータの保存には外部のクラウドストレージを利用しています。 そのため、アップロード・ダウンロード処理は複数のステップを必要とします。 この処理の流れは、Game Engine 向けの SDK ではラップした高レベルなAPIが用意されているため、気にする必要はありませんが 各種プログラミング言語向けの SDK には高レベルなAPIは用意されていませんので、利用者自身で複数ステップを処理する必要があります。 アップロードプロセス sequenceDiagram actor Player as プレイヤー participant Namespace as GS2-Datastore#Namespace participant Storage as Cloud Storage Player-\u003e\u003eNamespace: PrepareUpload Namespace--\u003e\u003ePlayer: Cloud Storage URL Player-\u003e\u003eStorage: Upload Payload Storage--\u003e\u003ePlayer: OK Player-\u003e\u003eNamespace: DoneUpload Namespace-\u003e\u003eStorage: Check exists Namespace--\u003e\u003ePlayer: OK ダウンロードプロセス sequenceDiagram actor Player as プレイヤー participant Namespace as GS2-Datastore#Namespace participant Storage as Cloud Storage Player-\u003e\u003eNamespace: PrepareDownload Namespace--\u003e\u003ePlayer: Cloud Storage URL Player-\u003e\u003eStorage: Download Storage--\u003e\u003ePlayer: Payload アップロード処理中のダウンロード GS2-Datastore はすでにアップロードしたデータを更新することができます。 Prepare ReUpload を呼び出してから Done Upload を呼び出すまでの間は、更新前の古いファイルがダウンロード可能な状態となり、中途半端なデータがダウンロードされることはありません。 アップロードデータの過去バージョンの取得 GS2-Datastore では過去30日分の過去バージョンにアクセスできるようになっています。 データオブジェクトの更新履歴（DataObjectHistory）を取得することで、過去の各世代の世代IDを取得でき、その世代IDを指定してデータをダウンロードすることが可能です。 これは削除済みのデータにも適用されており、削除リクエスト後 30 日後に実際に削除されます。 ただし、法的要件によってデータの削除を行った場合は、この条件に当てはまらないことがあります。 データサイズとステータス 1つのデータオブジェクトの最大サイズは10MBです。アップロード中は UPLOADING 、完了すると ACTIVE 、削除リクエスト後は DELETED に遷移します。 DELETED 状態のデータは30日以内であれば restoreDataObject で復元できます。 stateDiagram-v2 [*] --\u003e UPLOADING: PrepareUpload UPLOADING --\u003e ACTIVE: DoneUpload ACTIVE --\u003e UPLOADING: PrepareReUpload ACTIVE --\u003e DELETED: DeleteDataObject DELETED --\u003e ACTIVE: RestoreDataObject (30日以内) DELETED --\u003e [*]: 30 日経過 データオブジェクトの主な属性 属性 説明 dataObjectId データオブジェクトの一意な ID（GRN） name データオブジェクト名。ユーザーごとに一意 userId アップロードしたユーザーのID scope アクセススコープ ( public / protected / private ) allowUserIds protected スコープで参照を許可するユーザーIDの一覧 platform アップロードに利用されたプラットフォーム情報 status データの状態 ( UPLOADING / ACTIVE / DELETED ) generation 現在世代の識別子 previousGeneration 1つ前の世代の識別子 スクリプトトリガー データオブジェクトのアップロード完了報告の前後で GS2-Script を呼び出すイベントトリガーを設定できます。同期実行で完了報告の拒否を行ったり、非同期実行で Amazon EventBridge を利用した外部連携も可能です。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 doneUploadScript （完了通知: doneUploadDone ）: アップロード完了報告の前後 同期実行のスクリプトでアップロードを拒否することで、画像の中身を別サービスで検査し、不適切なコンテンツであれば登録を拒否するといった運用が可能です。 実装例 データのアップロード データのアップロードは PrepareUpload → クラウドストレージへの PUT → DoneUpload の 3 ステップで構成されますが、ゲームエンジン向け SDK では UploadAsync 1 つの呼び出しで完結します。 既存データの再アップロード 同じ名前のデータオブジェクトに対して新しいバイナリを書き込む際は再アップロードを使用します。 再アップロード中も、 DoneUpload が呼び出されるまでの間は更新前の古いデータが取得できます。 データのダウンロード(データオブジェクトID指定) データのダウンロード(ユーザーIDとデータオブジェクト名を指定) 自分がアップロードしたデータのダウンロード(データオブジェクト名を指定) 自分がアップロードしたデータの一覧取得 データオブジェクトのアクセススコープを変更 UpdateDataObject を利用するとアクセススコープや許可ユーザーリストを後から変更できます。 たとえば、最初は private で作成し、共有準備が整ったタイミングで public に切り替えるといった運用が可能です。 データオブジェクトの削除 削除リクエスト後 30 日以内であれば RestoreDataObject で復元することができます。 データオブジェクトの更新履歴の取得 過去の世代を取得することで、ロールバックや過去のリプレイ閲覧などを実現できます。 古い世代のデータへのアクセス制限 データをダウンロードする際には世代IDを指定して、具体的なファイルを特定します。世代IDをダウンロードリクエストに付加することで、リストアップした時点でのデータを確実にダウンロードすることを保証できます。 ただし、いつまでも世代の古いデータにアクセスできることが望ましくない場合もあります。そのため、データの所有者以外は、更新後60分以内かつ1つ前の世代に限り古い世代のデータのダウンロードを許可するオプションが存在します。 詳細なリファレンス GS2-Datastore リファレンス","lang":"ja","section":"microservices","summary":"バイナリデータストレージ機能\n","title":"GS2-Datastore","url":"/ja/microservices/datastore/"},{"content":"GS2-Deploy は、GS2 の各マイクロサービスのネームスペースやマスターデータをコードとして管理し、宣言的にプロビジョニングするための機能を提供します。 AWS の CloudFormation に近い思想で設計されており、テンプレートファイルに記述したリソース定義を元に、複数のマイクロサービスをまたいだ環境構築・更新・削除をひとつのまとまり（スタック）として扱えます。 ゲーム開発においては、マスターデータの調整やネームスペース構成の変更が頻繁に発生します。 GS2-Deploy を活用することで、これらの変更を Git で管理し、GitHub などのリポジトリと連携した CI/CD パイプラインから自動的にデプロイする運用が可能になります。 スタック (Stack) スタックは、GS2 のリソースをまとめて管理する単位です。 スタックは YAML 形式で記述されたテンプレートを元に作成され、テンプレートに記述されたリソース定義に従って、ネームスペースやマスターデータなどを自動的に作成・更新・削除します。 1つのスタックには複数のマイクロサービスにまたがるリソースを含めることができ、ゲームを構成する一連の設定をひとまとまりとして扱えます。 graph LR Template[\"テンプレート(YAML)\"] --\u003e Stack[\"スタック\"] Stack --\u003e R1[\"GS2-Account ネームスペース\"] Stack --\u003e R2[\"GS2-Inventory マスターデータ\"] Stack --\u003e R3[\"GS2-Mission マスターデータ\"] Stack --\u003e R4[\"GS2-Showcase マスターデータ\"] スタックは内部的に以下の状態を持ちます。 CREATE_PROCESSING : 作成処理中 CREATE_COMPLETE : 作成が完了し、リソースが利用可能 UPDATE_PROCESSING : 更新処理中 UPDATE_COMPLETE : 更新完了 ROLLBACK_PROCESSING : 失敗時のロールバック処理中 ROLLBACK_COMPLETE : ロールバック完了 DELETE_PROCESSING : 削除処理中 DELETE_COMPLETE : 削除完了 スタックの更新時に途中で失敗した場合は、自動的に変更前の状態に戻す《ロールバック》処理が行われます。 テンプレート テンプレートは YAML 形式で記述します。記述するセクションは以下です。 GS2TemplateFormatVersion : テンプレートのフォーマットバージョン Description : スタックの説明 Resources : 作成するリソースの定義 Outputs : スタック作成後に他システムから参照できる値の定義 以下はテンプレートの記述例です。 GS2TemplateFormatVersion: \"2019-05-01\" Description: | GS2-Account namespace Resources: Namespace: Type: GS2::Account::Namespace Properties: Name: namespace-0001 Description: anonymous account ChangePasswordIfTakeOver: true Outputs: NamespaceId: !GetAttr Namespace.Item.NamespaceId Type には作成対象となる GS2 リソースの種別を、 Properties には各リソース固有の設定値を指定します。 !GetAttr 関数を使用することで、他のリソースの出力値を参照しながら依存関係のあるリソースを連鎖的に構築できます。 リソース (Resource) スタック内に作成される個々の GS2 リソースを《リソース》と呼びます。 リソースには以下のような情報が保持されます。 type : リソースの種別 ( GS2::Account::Namespace など) name : テンプレート内で割り当てられた論理名 request : リソース作成時に GS2 API へ送信されたリクエスト内容 response : GS2 API からの応答内容 rollbackContext : ロールバック実行時に使用される情報 スタックを参照することで、スタックに含まれる全てのリソースの作成状況を一覧で確認できます。 出力 (Output) テンプレートの Outputs セクションで宣言された値は、スタック作成完了後に他の場所から参照できる出力値として保存されます。 出力は、外部システム連携や、別のスタックでの値の参照、運用ツールが GS2 リソースの GRN を取得する用途などに利用できます。 イベント (Event) スタックの作成・更新・削除の処理中に発生する個々の操作は《イベント》として記録されます。 スタック処理が失敗した場合は、イベント履歴を確認することで、どのリソースのどの段階で失敗したのかを特定できます。 GitHub 連携 テンプレートファイルは GS2 のマネージメントコンソールから直接アップロードする他、GitHub リポジトリと連携して取得することも可能です。 GitHub 連携を利用すると、以下のような運用が可能になります。 マスターデータの設定を Pull Request ベースでレビュー・マージするワークフロー main ブランチへのマージをトリガーに、CI から GS2-Deploy を呼び出してリソースを更新するパイプライン 環境ごと (開発・ステージング・本番) に異なるブランチ・スタックを割り当てる多環境運用 GitHub からのテンプレート取得には GitHub API のアクセストークンを使用します。プライベートリポジトリでも利用可能です。 マスターデータをコードで管理する GS2-Deploy の主要なユースケースの1つは、各マイクロサービスのマスターデータを GS2-Deploy のテンプレート経由で登録することです。 ネームスペース定義と同じテンプレート内にマスターデータの内容を記述しておくことで、ネームスペース作成からマスターデータ登録までを1スタックで一括管理できます。 これにより、マスターデータの変更履歴を Git で追跡でき、過去バージョンへのロールバックや、レビュー前の変更内容の事前確認なども容易になります。 操作対象について GS2-Deploy はプロジェクトの構築を担う管理 API のため、原則としてゲームエンジン側のクライアント (Unity / Unreal Engine 等) から呼び出すサービスではありません。 実運用では、マネージメントコンソール経由での操作 と、CI/CD パイプラインから GS2 SDK を介して操作するワークフロー が中心になります。 実装例 GS2-Deploy は管理API中心のマイクロサービスです。ゲームエンジン用 SDK (Unity/Unreal Engine) には専用の Domain クラスが提供されていません。 そのため、ゲームクライアントから直接呼び出すのではなく、以下のいずれかの手段で操作することを推奨します。 マネジメントコンソール GS2 CLI 各種言語向け一般SDK (C# / Go / Python / TypeScript / PHP / Java) GS2-Deploy 自身のテンプレートによる宣言的な管理 各種SDKの詳細は対応するリファレンスページを参照してください。 詳細なリファレンス GS2-Deploy リファレンス","lang":"ja","section":"microservices","summary":"マスターデータCI/CD機能\n","title":"GS2-Deploy","url":"/ja/microservices/deploy/"},{"content":"GS2-Deployでスタックを作成する際に使用するテンプレートファイルの書式仕様です。 JSON形式、もしくはYAML形式で記述できます。 セクションの種類 テンプレートは以下のセクションで構成されます。 セクション 必須 説明 GS2TemplateFormatVersion  テンプレートの形式を指定します。現在は　2019-05-01　のみ定義できます。 Description テンプレートに関する説明等の記入ができます。 Globals Alias属性（文字列の置き換え指定）の定義を行うセクションです。 Resources  スタックに含める、GS2の各サービスのリソースを定義します。 Outputs マネージメントコンソールで表示する出力値を定義します。 Globals Alias 指定の文字列でResourcesセクション、Outputsセクションにある文字列の置き換えを行います。 左辺の文字列を ${...} のように${}で囲んだ部分を、右辺の文字列で置き換えます。 置き換え指定の例: ${AccountNamespaceName} Resources 生成するリソースの定義を行います。Type属性、Properties属性 を持ち、必要であれば DependsOn属性を持ちます。 Type サービスに対し生成を行うリソースの指定。 各サービスの GS2-Deploy/CDK リファレンス ページ のエンティティ名を指定します。 例: Type: GS2::Account::Namespace Properties リソースの生成時にプロパティ値に与える値を指定します。 DependsOn リソースが他のリソースに続けて作成されるように、依存しているリソースの名前を指定します。 Outputs 値を保持し、後ほどマネージメントコンソールなどを通して値を確認できるようにする出力値を定義します。 関数 GS2-Deploy のテンプレート内では関数が使用できます。 !GetAttr !GetAttr タグを使用することで各リソースの生成結果のプロパティ値を取得することができます。 この例では、 AccountNamespace 　で　 GS2::Account::Namespace 　を指定していますので, GS2-Account で Namespace が生成されます。 その結果が AccountNamespace に取得され、 AccountNamespace.Item に NameSpaceモデル が入っています。 !GetAttr AccountNamespace.Item.Name で、ネームスペース名が取得できます。 また、 !GetAttr タグには予約語として以下が割り当てられており、値の取得が可能です。 キー値 型 説明 Gs2::Region string リージョンの種類 Gs2::OwnerId string オーナーID !Join !Join タグは、続く配列の文字列の連結を行います。区切り記号（デリミタ）が指定できます。 フォーマット: ！Join [ 区切り記号の指定, [連結する文字列のリスト] ]","lang":"ja","section":"articles","summary":"GS2-Deploy のテンプレートファイルの仕様に関する情報\n","title":"GS2-Deploy テンプレートファイルの仕様","url":"/ja/articles/tech/deploy/"},{"content":"GS2-Dictionary では、ゲーム内で入手したアイテムやキャラクターの図鑑機能を実現します。 基本的に、GS2-Inventory のシンプルな実装バージョンと捉えていただければよく、入手済み・未入手の2値の所持状態を管理できます。 図鑑以外の用途にも使用できます。たとえばアバターパーツの所持状態はいい例です。 アバターパーツを持っているかは、パーツごとに2値で状態管理できれば十分なので GS2-Dictionary 向きです。 他にも、達成済みのチュートリアルステップ管理、開放済みのカットシーン管理、解禁済みのBGM一覧など、二値の状態として表現できる要素全般に活用できます。 graph TD Boss[\"ボスを討伐\"] -- 報酬としてエントリー追加 --\u003e Dictionary[\"GS2-Dictionary に記録\"] Shop[\"ショップで購入\"] -- 報酬としてエントリー追加 --\u003e Dictionary Dictionary --\u003e Browse[\"プレイヤーが図鑑を閲覧\"] Dictionary -- 所持証明署名 --\u003e Formation[\"GS2-Formation などで利用\"] GS2-Inventory との違い スタックの概念の有無 GS2-Inventory は同一アイテムを複数所持する際に、スタックの概念があります。 これは、ポーションは最大99個スタック可能で、99個を超えると2個目のスタックを作成する というような仕様です。 この仕様があるため、GS2-Inventory では「ポーションの所持数量を取得する」というAPIの戻り値がリストになっています。 これはポーションが複数スタック存在する可能性があるためです。 この仕様はポーションのようなデータを管理するには都合がいいのですが、図鑑のようなシンプルな所持状態を管理するにはオーバースペックで、リストを取り扱うとコードの記述量も増加します。 入手処理で複数エントリーを登録可能 GS2-Inventory はポーションの入手とエリクサーの入手は別のAPIリクエストで処理する必要があります。 GS2-Dictionary は1回のAPIリクエストで最大100個のエントリーを登録できます。 これにより、クエストクリア時の報酬として「倒したモンスター全種類を一括で図鑑に登録」といった処理を1リクエストで効率的に行えます。 エントリーの検証と削除 GS2-Dictionary では、一度記録したエントリーを削除したり、特定のエントリーを入手済みか（または未入手か）を検証することができます。期間限定のイベントアイテムの所持状態をリセットしたり、特定のアイテムを入手している場合のみクエストを開始できるといった制限を設けるといった運用が可能です。 機能比較 項目 GS2-Dictionary GS2-Inventory 状態管理 所持/未所持の2値 数量・スタック管理 1リクエストでの登録数 最大100件 1件ずつ お気に入り機能 あり なし 所持証明署名 あり あり（ItemSet 単位） 主用途 図鑑、アバターパーツ、解禁状態 通常のアイテム所持 マスターデータ（EntryModel） 図鑑に登録可能なエントリーをマスターデータとして定義します。 EntryModel の主な設定項目は以下の通りです。 項目 説明 name エントリー名（プレイヤーごとの記録キー） metadata クライアントで利用する任意のメタデータ（表示名、画像参照、レアリティなど） マスターデータの JSON 例： { \"version\": \"2020-04-30\", \"entryModels\": [ { \"name\": \"monster-0001\", \"metadata\": \"{\\\"displayName\\\":\\\"スライム\\\",\\\"rarity\\\":1}\" }, { \"name\": \"monster-0002\", \"metadata\": \"{\\\"displayName\\\":\\\"ゴブリン\\\",\\\"rarity\\\":2}\" } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 お気に入り機能 GS2-Dictionary では記録済みエントリーに「お気に入り」を付与できます。 AddLikes や DeleteLikes でお気に入りリストを管理し、 Likes API で一覧取得や変更通知の購読が可能です。お気に入り情報を利用することで図鑑画面のフィルタリングやUIでの優先表示を実現できます。 お気に入りエントリーは内部的に LikeToc という単位でまとめて保存されており、1ユーザーが大量のお気に入りを登録しても効率的に取得できます。 所持証明署名 GS2-Dictionary はエントリーの所持状態に対して署名済みデータを発行できます。 他の GS2 マイクロサービスと連携する際、サーバー間通信を介さずに「本当にそのエントリーを所持していること」を保証できます。 sequenceDiagram participant Player participant Dictionary as GS2-Dictionary participant Formation as GS2-Formation Player -\u003e\u003e Dictionary: GetEntryWithSignature(entry, keyId) Dictionary --\u003e\u003e Player: Body + Signature Player -\u003e\u003e Formation: SetForm(itemId, body, signature) Formation -\u003e\u003e Formation: 署名検証 Formation --\u003e\u003e Player: 成功 検証側のサービスは body の中に含まれる情報（エントリー名やユーザーID）を、 signature を用いて検証できます。 スクリプトトリガー ネームスペースに entryScript や duplicateEntryScript を設定すると、エントリー登録の前後や重複登録時にカスタムスクリプトを呼び出せます。スクリプトは同期・非同期の実行方式を選択でき、非同期では GS2-Script や Amazon EventBridge を利用した外部連携も可能です。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 entryScript （完了通知: entryDone ）: エントリー登録の前後 duplicateEntryScript : 既に登録済みのエントリーを再登録した際 duplicateEntryScript を利用すると、たとえば「すでに図鑑登録済みのレアモンスターを再度ドロップした場合は、代わりに別の通貨を付与する」といったコンバージョン処理を実装できます。 トランザクションアクション GS2-Dictionary では以下のトランザクションアクションを提供しています。 検証アクション: エントリー所持状況の検証 消費アクション: エントリーの削除 入手アクション: エントリーの追加 「エントリー所持状況の検証」を検証アクションとして利用することで、特定のモンスターを討伐済み（図鑑に登録済み）のプレイヤーのみが挑戦できるクエストや、特定のアイテムを一度でも入手したことがあるプレイヤーのみが購入できる商品といった制限を設けることが可能になります。 図鑑への記録方法 図鑑への記録（ Entry の追加）はゲームエンジン用の SDK では直接呼び出せません。 GS2 のセキュリティモデル上、クライアントからの一方的な書き換えを禁止し、サーバーが信頼する経路でのみ追加されるよう設計されているためです。 具体的には、以下のような形でトランザクションアクションとして組み込みます。 GS2-Quest のクエストクリア報酬として「倒したモンスターを図鑑に登録する」入手アクションを設定 GS2-Showcase で購入したアイテムの報酬として「対応するエントリーを図鑑に登録する」入手アクションを設定 GS2-Mission のミッション達成報酬として「特定エントリーを登録する」入手アクションを設定 実装例 図鑑に記録可能なマスターデータのリスト取得 図鑑に記録されたエントリーのリスト取得 特定エントリーの取得 所持証明署名の取得 GS2 内の他のマイクロサービスと連携する際に、本当に GS2-Dictionary でエントリーが記録済みか保証したデータを求められることがあります。 たとえば、GS2-Dictionary でアバターパーツの所持状態を管理しており、GS2-Formation でアバターパーツの編成状態を管理するとします。 GS2-Formation に髪型を設定する際に「hair-0001」というパーツを設定するよう APIリクエストを出すことになりますが GS2-Formation は所持証明署名をとあわせて「hair-0001」を指定するよう要求します。 これによって、GS2-Formation は裏で GS2-Dictionary と通信して、本当に所持しているパーツかを判断する必要がなくなります。 お気に入りエントリーの登録 お気に入りエントリーのリスト取得 お気に入りエントリーの削除 詳細なリファレンス GS2-Dictionary リファレンス","lang":"ja","section":"microservices","summary":"図鑑機能\n","title":"GS2-Dictionary","url":"/ja/microservices/dictionary/"},{"content":"GS2-Distributor は、GS2 の各マイクロサービスをまたいだトランザクション処理を実現するための中核となるサービスです。 プレイヤーが「アイテムを消費して報酬を得る」「スタミナを消費してクエストを開始する」といった、複数のマイクロサービスをまたいだ一連の処理を安全に実行するための基盤を提供します。 GS2 では、プレイヤーにとってデメリットとなる操作を《消費アクション》、メリットとなる操作を《入手アクション》と呼びます。 GS2-Distributor は、これらのアクションをまとめた《トランザクション》を受け取り、適切なマイクロサービスに転送・実行することで、ゲームサイクルを構成する全ての処理を一貫した形で扱えるようにします。 トランザクションの仕組みについて詳しくは トランザクション を参照してください。 トランザクションを構成するアクション GS2 のトランザクションは、以下の3種類のアクションから構成されます。 graph LR Issue[\"トランザクション発行 (ストア・クエスト・ミッション など)\"] --\u003e Verify[\"検証アクション\"] Verify --\u003e Consume[\"消費アクション\"] Consume --\u003e Acquire[\"入手アクション\"] Acquire --\u003e Done[\"完了\"] 検証アクション (VerifyAction) トランザクションの実行を開始する前に、消費アクションや入手アクションを実行できる状態にあるかを事前にチェックするアクションです。 例えば「特定のアイテムを所持していること」「ランクが一定値以上であること」「特定のクエストをクリア済みであること」などの条件を、消費を発生させる前に確認できます。 検証に失敗した場合、消費アクション・入手アクション は実行されません。 消費アクション (ConsumeAction) プレイヤーにとってデメリットとなる処理を表すアクションです。 アイテムの消費、通貨の消費、スタミナの消費、回数制限カウンターの増加などが該当します。 消費アクションが実行されると、各マイクロサービスは「実行済みであること」を証明する署名を発行します。 この署名は次の入手アクションの実行時に検証され、消費アクションを全て通過していなければ入手アクションは実行できない仕組みです。 入手アクション (AcquireAction) プレイヤーにとってメリットとなる処理を表すアクションです。 アイテムの入手、通貨の入手、経験値の入手、クエストの開始処理などが該当します。 入手アクションは、関連する全ての消費アクションが正常終了したことを示す署名が揃ったときにのみ実行されます。 トランザクションの構造 GS2 のトランザクションは「複数の消費アクション + 1つの入手アクション」という構造で発行されます。 トランザクションは GS2-Showcase / GS2-Quest / GS2-Mission など、各マイクロサービスのトランザクション発行 API の応答として受け取り、ゲームクライアントは取得したトランザクションを GS2-Distributor 経由で実行します。 なお、GS2 SDK にはトランザクションの実行を自動化する仕組みが組み込まれており、多くの場合、ゲーム側でトランザクションを意識的に実行する必要はありません。 発行 API の結果に含まれる TransactionDomain の WaitAsync を呼び出すだけで、消費アクション・入手アクションが正しい順番で実行され、結果を取得できます。 DistributorModel DistributorModel は、ネームスペース内に登録するリソース配布の設定単位です。 DistributorModel に対しては以下を設定できます。 inboxNamespaceId : 配布物がオーバーフローした場合の自動転送先となる GS2-Inbox のネームスペース GRN whiteListTargetIds : トランザクション経由で実行を許可するアクションのホワイトリスト 複数の DistributorModel を用意することで、ストア用・クエスト用・ミッション用などの用途別に異なる転送ルールを使い分けることが可能です。 配布物のオーバーフロー処理 入手アクションを実行する際、プレイヤーの保有数上限を超過するなどの理由で「その場では受け取れない」状態となる場合があります。 このようなケースに備えて、DistributorModel の inboxNamespaceId を設定しておくと、受け取れなかった配布物を GS2-Inbox にメッセージとして自動転送し、プレイヤーが後から受け取れるように退避できます。 これにより、報酬を受け取れずに失われてしまう状況を回避できます。 graph TD Acquire[\"入手アクション実行\"] --\u003e Check{\"プレイヤーに付与可能?\"} Check -- Yes --\u003e Granted[\"プレイヤーに付与\"] Check -- No (上限超過など) --\u003e Inbox[\"GS2-Inbox に転送\"] Inbox --\u003e Receive[\"プレイヤーは後から受信\"] バッチリクエスト GS2-Distributor は、複数の GS2 API 呼び出しを1つのリクエストにまとめて実行する《バッチリクエスト》機能を提供します。 複数のサービスへの問い合わせを1回の API 呼び出しで完了させられるため、ネットワーク往復回数を削減してレスポンスタイムを改善できます。 ゲーム起動時に複数のマイクロサービスから初期データをまとめて取得するようなケースで特に有用です。 バッチリクエストに含められる各リクエストは、独立して処理され、それぞれに応答が返却されます。 マスターデータ管理 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 DistributorModel : トランザクションの転送ルールとオーバーフロー時の転送先 以下はマスターデータの JSON 例です。 { \"version\": \"2019-09-09\", \"distributorModels\": [ { \"name\": \"default\", \"metadata\": \"default distributor\", \"inboxNamespaceId\": \"grn:gs2:{region}:{ownerId}:inbox:namespace-0001\" } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 トランザクションアクション GS2-Distributor は他のサービスから発行されたトランザクションを実行する側のサービスであり、自身は消費アクション・入手アクションを発行しません。 実装例 トランザクションの実行 GS2 SDK では、各サービスのトランザクション発行 API の応答 ( TransactionDomain ) に対して WaitAsync を呼び出すことで、自動的にトランザクションが GS2-Distributor 経由で実行されます。 以下は GS2-Mission の報酬受け取り処理を例にした、トランザクションの実行例です。 バッチリクエストの実行 複数の GS2 API 呼び出しを1度の通信でまとめて実行します。 マスターデータの凍結 (Freeze) トランザクションが発行された後にマスターデータが更新されると、発行済みのトランザクションと現在のマスターデータの間に矛盾が生じる可能性があります。 GS2-Distributor の FreezeMasterData を呼び出すことで、ログイン中のプレイヤーに対して使用するマスターデータのバージョンを固定し、ゲームプレイ中のマスターデータ切り替えによる不整合を回避できます。 詳細なリファレンス GS2-Distributor リファレンス","lang":"ja","section":"microservices","summary":"トランザクション処理機能\n","title":"GS2-Distributor","url":"/ja/microservices/distributor/"},{"content":"装備やキャラクターにユニークなランダムパラメーターを付与する機能を実現します。 RPG における武器の追加ステータス、ガチャで入手したカードに付与される個体値、ハクスラ系における装備の追加効果など、「同じアイテムでも個体ごとに性能が異なる」表現を実装する際に活用できます。 ランダムパラメーターには2種類用意しています。 バランスパラメーター レアリティパラメーター graph TD Item[\"装備・キャラクターなど (propertyId で識別)\"] --\u003e Choose{パラメーター種別} Choose -- 総量を分配 --\u003e Balance[\"バランスパラメーター 例: 攻撃力60/防御力40\"] Choose -- 確率で複数付与 --\u003e Rarity[\"レアリティパラメーター 例: クリティカル率+5%、HP+100\"] Balance --\u003e ReDraw1[\"再抽選 / 値の直接設定\"] Rarity --\u003e ReDraw2[\"再抽選 / 追加 / 値の直接設定\"] ランダムパラメーターは「対象アイテムの識別子」となる propertyId をキーとして管理されます。 propertyId には GS2-Inventory のアイテムインスタンスIDや、GS2-Formation のフォーム識別子などを指定することで、装備個体ごとにパラメーターを紐付けることができます。 バランスパラメーター バランスパラメーターは用意された複数のパラメーターを定められた総量でランダムに分配します。 たとえば、攻撃力と防御力の2つのパラメーターを用意し、総量に100を設定した場合に攻撃力が60で抽選されると防御力は40になります。 マスター項目 説明 name バランスパラメーターモデル名 totalValue パラメーター値の合計総量 initialValueStrategy 初期値の決定方法（ average ：平均値 / random ：ランダム） parameters 分配対象となるパラメーターの一覧 再抽選 バランスパラメーターは再抽選が可能です。 再抽選を行う際に、一部パラメーターの値を固定することができます。 パラメーターを一部固定することで、プレイヤーがパラメーターの最適化を効率的にを行う手段を提供することができます。 初期値 バランスパラメーターの初期値はランダム値にするか、平均値にするかを定めることが可能です。 値の直接設定 バランスパラメーターには、管理画面や API（トランザクションアクション）を通じて、抽選を経ずに任意の値を直接設定することも可能です。これにより、特定のイベント報酬として固定のステータスを持つ装備を配布するといった運用が可能になります。 レアリティパラメーター レアリティパラメーターは、バランスパラメーターのように一定のパラメーターに値を分配するのではなく、 装備やスキルに一定確率で追加パラメーターを付与するようなケースで利用できます。 マスターデータには、まずパラメーターを付与する個数の抽選確率を設定します。 次に、付与するパラメーターの種類と確率を設定します。 これで、確率に基づいて追加パラメータを付与することが可能となります。 マスター項目 説明 name レアリティパラメーターモデル名 maximumParameterCount 1つの propertyId に付与できる最大パラメーター数 parameterCounts 付与する個数とその重み（重み付き抽選） parameters 個別のパラメーターと、付与確率となる重み 各パラメーター（ RarityParameterValueModel ）には、 resourceName / resourceValue を設定することができ、付与された結果として何のリソースをどれだけ参照しているかを表現できます。 再抽選 付与されたパラメーターは再抽選が可能で、再抽選の際には付与されたパラメーターの種類のみ変動し、数は変わりません。 バランスパラメーターと同様に、再抽選するパラメーターのうち一部のパラメーターを固定することができます。 追加 レアリティパラメーターは、後から追加することができます。 追加する際には、すでにあるパラメーターは変更せず、指定された個数のパラメーターを追加できます。 値の直接設定 レアリティパラメーターには、管理画面や API（トランザクションアクション）を通じて、付与されているパラメーターの種類やその値を直接設定することも可能です。これにより、バランスパラメーターと同様に、特定の性能が保証されたアイテムの配布などが可能になります。 トランザクションアクション GS2-Enchant では以下のトランザクションアクションを提供しています。これらを利用することで、クエスト報酬やショップ購入などを通じてパラメーターの操作を行えます。 検証アクション アクション 用途 Gs2Enchant:VerifyRarityParameterStatus レアリティパラメーターの所持状態（保持している/していない）や個数を検証します。 verifyType に havent ／ have ／ count を指定して動作を切り替えます。 入手アクション アクション 用途 Gs2Enchant:ReDrawBalanceParameterStatusByUserId バランスパラメーターを再抽選します。固定したいパラメーター名を fixedParameterNames に指定できます。 Gs2Enchant:SetBalanceParameterStatusByUserId バランスパラメーターを抽選を経ずに直接書き換えます。 Gs2Enchant:ReDrawRarityParameterStatusByUserId レアリティパラメーターを再抽選します。固定したいパラメーター名を指定できます。 Gs2Enchant:AddRarityParameterStatusByUserId 既存のレアリティパラメーターを残したまま、指定した個数の追加抽選を行います。 Gs2Enchant:SetRarityParameterStatusByUserId レアリティパラメーターを抽選を経ずに直接書き換えます。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 BalanceParameterModel : パラメーターの分配設定 RarityParameterModel : 付与パラメーターと確率の設定 以下はマスターデータ JSON の例です。 { \"version\": \"2023-04-27\", \"balanceParameterModels\": [ { \"name\": \"balance-0001\", \"metadata\": \"weapon\", \"totalValue\": 100, \"initialValueStrategy\": \"average\", \"parameters\": [ { \"name\": \"attack\", \"metadata\": \"ATK\" }, { \"name\": \"defense\", \"metadata\": \"DEF\" } ] } ], \"rarityParameterModels\": [ { \"name\": \"rarity-0001\", \"metadata\": \"weapon\", \"maximumParameterCount\": 4, \"parameterCounts\": [ { \"count\": 1, \"weight\": 70 }, { \"count\": 2, \"weight\": 25 }, { \"count\": 3, \"weight\": 5 } ], \"parameters\": [ { \"name\": \"critical\", \"weight\": 50, \"resourceName\": \"critical\", \"resourceValue\": 5 }, { \"name\": \"hp\", \"weight\": 50, \"resourceName\": \"hp\", \"resourceValue\": 100 } ] } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 実装例 バランスパラメーター パラメーターの初期化/取得 初めてパラメーターの情報を取得した際にパラメーターの抽選処理が作成されます。 パラメーター値の参照 ModelAsync で取得した EzBalanceParameterStatus の ParameterValues から、各パラメーター名と現在の値を取得できます。 パラメーターの再抽選 再抽選はゲームエンジン用の SDK では処理できません。 ゲーム内からは GS2-Distributor 経由で Gs2Enchant:ReDrawBalanceParameterStatusByUserId などのトランザクションアクションを実行することで再抽選を行ってください。 レアリティパラメーター パラメーターの初期化/取得 初めてパラメーターの情報を取得した際にパラメーターの抽選処理が作成されます。 パラメーターの検証 レアリティパラメーターが付与されているか、もしくは特定の個数が付与されているかをサーバーに検証させることができます。 ガチャや強化処理で「特定のパラメーターを持つ装備のみを許可する」といった条件チェックに利用できます。 パラメーターの再抽選 再抽選はゲームエンジン用の SDK では処理できません。 ゲーム内からは GS2-Distributor 経由で Gs2Enchant:ReDrawRarityParameterStatusByUserId などのトランザクションアクションを実行することで再抽選を行ってください。 パラメーターの追加 パラメーターの追加はゲームエンジン用の SDK では処理できません。 GS2-Distributor 経由で Gs2Enchant:AddRarityParameterStatusByUserId を実行することで追加してください。 詳細なリファレンス GS2-Enchant リファレンス","lang":"ja","section":"microservices","summary":"エンチャント・ランダムパラメーター機能","title":"GS2-Enchant","url":"/ja/microservices/enchant/"},{"content":"この機能は開発者によっては全く理解できない機能でしょう。 しかし、日本をはじめとしたモバイルゲームのデファクトスタンダードのゲームシステムには必ず存在する機能です。 このゲームメカニクス自体は Game as a Service を実現する上で有用な知識になるはずですので、理解できない開発者向けにゲームメカニズムの解説を加えます。 強化機能のゲームメカニクスについて十分な知識がある場合はこの先の解説セクションは読み飛ばして問題ありません。 強化機能のゲームメカニクス 強化機能自体は非常にシンプルなゲームシステムで、素材アイテムを消費することで、対象の経験値を加算できる仕組みです。 バトルに参加して経験値を入手するという方法だけでなく、様々な方法でキャラクターや装備の育成ができるようになっています。 （装備にもレベルがあります） さて、このゲームシステムがなぜ Game as a Service を実現するのに一役買っているかを説明しましょう。 一言で言えば、プレイ時間の水増しで活躍しています。 開発速度よりゲームのプレイ速度のほうが圧倒的に早いのは、みなさん十分理解しているでしょう。 私たちゲーム開発者が3年間かけて開発したゲームを、プレイヤーは10時間で終えてしまうわけです。 しかし、この差を埋めないと Game as a Service は成り立ちません。 つまり、プレイヤーのコンテンツ消費速度にデバフをかける必要があります。その魔法が強化のゲームシステムです。 一般的な Game as a Service のゲームは毎月1回はイベントを実施しています。 そのイベントには、なんらかのボスが存在し、プレイヤーはそのボスをイベント期間繰り返し討伐し続けることになります。 ボスはプレイヤーの成長段階に合わせて複数の難易度を用意し、討伐することでキャラクターや装備の強化素材を手に入れることができます。 集めた強化素材を使用して、キャラクターや装備の経験値に変換し成長させます。 キャラクターや装備を成長させると、より高難易度のボスにチャレンジできるようになります。 こうすることで、プレイヤー全員がイベントに参加しつつ、自分のキャラクターの成長段階にあわせた強化素材を入手し、キャラクターや装備を成長させる遊びを楽しむことができます。 実際には、強化素材を直接ボスがドロップすることは少ないかもしれません。 代わりにイベント期間だけチャレンジできるガチャがあり、そのガチャを引くためのポイントを集めて、ガチャを経由して素材を手に入れたり イベント期間だけ開店するショップで、ボスを討伐することで得られるゲーム内通貨を集めて、ショップから強化素材を購入するなど プレイヤーの判断でどこを優先して強化するかを決定できるようにするような工夫はありますが、最終的にはプレイヤーがキャラクターの育成に必要な時間を引き伸ばしてプレイ時間を水増ししています。 イベントを通して一貫して変わらないのは、プレイヤーのキャラクターが強くなるということです。 イベントが終わると強くなったキャラクターを使用して、より高難度の恒常コンテンツを楽しむなど、次の楽しみに繋げています。 graph TD BossBattle[\"Boss Battle\"] -- Acquire Event Point --\u003e Shop Shop -- Buy Enhance Materials --\u003e Enhance[\"Enhance Character\"] Enhance -- More Formidable --\u003e BossBattle アーキテクチャ 強化には素材となるアイテムを管理している GS2-Inventory と、強化対象のキャラクターや装備を管理している GS2-Inventory または GS2-Dictionary。 そして、そのキャラクターや装備の経験値・レベルを管理している GS2-Experience を GS2-Enhance を通して操作することで実現しています。 現在の GS2 では、1回の API リクエストで消費と経験値加算を完結させる DirectEnhance による強化が推奨されています。 以前はトランザクションの自動実行機能がなかったため、大成功が出るまで通信を遮断してやり直すような行為を防ぐ目的で、準備・実行・完了報告のステップに分かれた強化プロセス（ Progress ）を推奨していましたが、現在はトランザクションの自動実行やアトミックコミットの仕組みが整ったため、その懸念は解消されています。 actor Player participant \"GS2-Enhance#Namespace\" participant \"GS2-Inventory#ItemSet(Material)\" participant \"GS2-Experience#Status\" Player -\u003e \"GS2-Enhance#Namespace\" : Direct Enhance(Materials/Target Character) \"GS2-Enhance#Namespace\" -\u003e \"GS2-Inventory#ItemSet(Material)\" : Get experience value from metadata \"GS2-Enhance#Namespace\" -\u003e \"GS2-Inventory#ItemSet(Material)\" : Consume \"GS2-Enhance#Namespace\" -\u003e \"GS2-Experience#Status\": Add experience(Key: Target Character/Equipment Id) \"GS2-Enhance#Namespace\" -\u003e Player : Enhance result GS2-Enhance に「強化対象」「強化に使用する素材」をパラメータとして強化実行API（ DirectEnhance ）を呼び出します。 すると、GS2-Enhance は素材となるアイテムのマスターデータを GS2-Inventory から取得し、メタデータ内に記録してある素材として使用した際の経験値量を取得します。 経験値量が確定したら、アイテムを消費して経験値の加算処理を GS2-Experience で実行します。 強化対象を指定していますが、GS2-Experience の経験値を管理するキーに利用するだけで、強化対象の情報を直接使用することはありません。 DirectEnhance と Progress の違い GS2-Enhance では2種類の強化フローを提供しています。 項目 DirectEnhance Progress (Start / End) API 呼び出し回数 1回 2回（開始・終了） 推奨用途 全ての強化処理 大成功などの抽選結果を演出に反映するため、抽選結果を先に取得しておきたい場合 アトミック性 リクエスト内で消費・経験値加算が完結 サーバーで抽選した結果を保持し、後続の End で確定 通信遮断による不正利用 発生しない 進行中の Progress は同時に1件しか保持できないため、 DeleteProgress 経由でしかリトライ不可 特別な要件がない限り、 DirectEnhance の利用を推奨します。 sequenceDiagram participant Player participant Enhance as GS2-Enhance participant Inventory as GS2-Inventory participant Experience as GS2-Experience Player -\u003e\u003e Enhance: DirectEnhance(rateName, targetItemSetId, materials) Enhance -\u003e\u003e Inventory: メタデータから経験値量取得 Enhance -\u003e\u003e Inventory: 素材アイテム消費 Enhance -\u003e\u003e Experience: 経験値加算 Enhance --\u003e\u003e Player: 加算経験値・大成功倍率 強化レート 強化に使用できる素材や、強化対象を限定するために強化レートをマスターデータとして設定する必要があります。 マスターデータには素材にできるアイテムの GS2-Inventory のネームスペース名や、インベントリ名、 強化対象にできるアイテムの GS2-Inventory のネームスペース名や、インベントリ名 といった情報を記録しています。 マスターデータ及びは JSON 形式で管理します。 ここではItemModelのメタデータに { “experience”: 50 } のようなJSON形式で設定する例を示します。 RateModel の　acquireExperienceHierarchy　で JSONのキー（上記では experience ）を定義します。 また、acquireExperienceHierarchyには階層の構造を定義できます。 例えば、{ “aaa”: { “bbb”: { “experienceValue”: 100 } } } というような構造のデータ定義でメタデータに設定したい場合は、acquireExperienceHierarchyには、[ “aaa”, “bbb”, “experienceValue” ] のように指定します。 RateModel の主な設定項目 項目 説明 name 強化レート名 targetInventoryModelId 強化対象アイテムが格納されている GS2-Inventory のインベントリモデル ID materialInventoryModelId 強化素材アイテムが格納されている GS2-Inventory のインベントリモデル ID acquireExperienceHierarchy 素材アイテムのメタデータから経験値量を取り出すための JSON パス acquireExperienceSuffix 経験値モデル名のキーに付与するサフィックス（例: :level ） experienceModelId 経験値を加算する GS2-Experience の経験値モデル ID bonusRates 大成功時の倍率と抽選重み GS2-Enhance RateModel マスターデータ　メタデータに経験値を設定する例： { \"version\": \"2020-08-22\", \"rateModels\": [ { \"name\": \"enhanceRate\", \"description\": \"\", \"metadata\": \"\", \"targetInventoryModelId\": \"grn:gs2:ap-northeast-1:YourOwnerId:inventory:enhance-inventory:model:character\", \"acquireExperienceSuffix\": \":level\", \"materialInventoryModelId\": \"grn:gs2:ap-northeast-1:YourOwnerId:inventory:enhance-inventory:model:material\", \"acquireExperienceHierarchy\": [ \"experience\" ], \"experienceModelId\": \"grn:gs2:ap-northeast-1:YourOwnerId:experience:enhance-experience:model:character\", \"bonusRates\": [ { \"rate\": 2, \"weight\": 1 }, { \"rate\": 1, \"weight\": 1 } ] } ] } bonusRates には複数のエントリーを設定でき、各エントリーは抽選重み（ weight ）と倍率（ rate ）を持ちます。 上記の例では「2倍経験値」と「等倍経験値」が同じ重みで抽選され、おおよそ50%の確率で大成功（2倍）が発生します。 GS2-Experience ExperienceModel マスターデータ例： { \"version\": \"2019-01-11\", \"experienceModels\": [ { \"name\": \"character\", \"metadata\": \"CHARACTER\", \"defaultExperience\": 0, \"defaultRankCap\": 50, \"maxRankCap\": 80, \"rankThreshold\": { \"metadata\": \"RANK_THRESHOLD\", \"values\": [ 100, 300, 500, 1000 ] } } ] } GS2-Inventory ItemModel マスターデータ　メタデータに経験値を設定する例： { \"version\": \"2019-02-05\", \"inventoryModels\": [ { \"name\": \"character\", \"initialCapacity\": 1, \"maxCapacity\": 1, \"protectReferencedItem\": false, \"itemModels\": [ { \"name\": \"character-0001\", \"stackingLimit\": 1, \"allowMultipleStacks\": false, \"sortValue\": 0 } ] }, { \"name\": \"material\", \"metadata\": \"\", \"initialCapacity\": 10, \"maxCapacity\": 10, \"protectReferencedItem\": false, \"itemModels\": [ { \"name\": \"material-0001\", \"metadata\": \"{\\\"experience\\\":50}\", \"stackingLimit\": 99, \"allowMultipleStacks\": false, \"sortValue\": 0 } ] } ] } 限界突破 (Unleash) 同種のアイテムなどを素材として消費し、対象のレベル上限を引き上げる「限界突破」機能も提供しています。 GS2-Experience が管理する rankCap （ランク上限）を一段階引き上げる仕組みで、 UnleashRateModel のマスターデータで以下を設定します。 限界突破対象のインベントリモデル 紐づくグレードモデル（GS2-Grade） 各グレードに到達するために必要な素材アイテムとその数量 これにより「同じキャラクターを4体集めると限界突破できる」「特定の素材アイテムを N 個消費するとレベル上限解放」といったゲームメカニクスを実装できます。 スクリプトトリガー ネームスペースに enhanceScript を設定すると強化実行の前後でカスタムスクリプトを呼び出せます。処理の許可・否認や入手経験値の上書きが可能で、実行方式は同期・非同期を選択できます。非同期では GS2-Script や Amazon EventBridge を利用した外部連携にも対応します。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 enhanceScript （完了通知: enhanceDone ）: 強化実行の前後 スクリプト内では強化対象・素材アイテム・抽選される倍率を参照でき、ゲームバランス調整やイベント期間中のブースト倍率変更といった用途で活用できます。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 RateModel : 強化素材や対象の定義 UnleashRateModel : 上限解放用のレート定義 マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 トランザクションアクション GS2-Enhance では以下のトランザクションアクションを提供しています。 消費アクション: 実行中の強化進行情報（ Progress ）の削除 入手アクション: 即時強化（ DirectEnhance ）の実行、限界突破（ Unleash ）の実行、強化（ Progress ）の開始 「即時強化（DirectEnhance）の実行」を入手アクションとして利用することで、特定のクエストクリア報酬やショップでのアイテム購入時の報酬として、直接キャラクターや装備に経験値を付与するといった処理が可能になります。また、「限界突破（Unleash）」を報酬として設定することで、特定のミッション達成時に自動的にレベル上限を引き上げるといった運用も可能です。 実装例 強化レート一覧の取得 強化の実行（DirectEnhance） materials には消費する素材アイテムの ItemSetId と数量を指定します。 強化対象として targetItemSetId に強化したいキャラクター・装備の ItemSetId を渡します。 強化（Progress）の開始 抽選結果を先に取得しておきたい場合のフローです。 進行中の Progress は1ユーザーあたり1件のみ保持できます。 進行中の強化情報を取得 抽選済みの倍率（大成功フラグ）や入手経験値量を取得し、強化演出に活用できます。 強化（Progress）の完了 Start で開始した強化を End で確定し、消費・経験値加算を実行します。 進行中の強化情報を破棄 通信が途切れて完了報告が行えなくなった場合などのリカバリーに使用します。 その他の機能 強化の大成功 強化の仕様として、一定確率で「大成功」が発生し、入手できる経験値量が 1.5倍 や 2倍になる仕様があることがあります。 GS2-Enhance では強化レートとして、大成功が発生する確率とその場合の経験値の獲得量の倍率を設定できます。 bonusRates の weight の合計値に対する各エントリーの weight の割合が、その倍率の発生確率となります。 Config を使用したスクリプトへのパラメータ受け渡し EnhanceAsync / StartAsync には config パラメータを指定でき、スクリプトトリガー実行時に任意のキーと値のペアを渡せます。 ゲーム内のイベントブースト状態や、プレイヤーが選択した強化モードといった情報をスクリプトに伝えることができます。 投機的実行（Speculative Execute） speculativeExecute 引数（デフォルト true ）を有効にすると、API リクエストの応答を待つ前にクライアント側のキャッシュを更新し、UI 上では即座に経験値加算後の状態を表示できます。 通信遅延の影響を受けにくいテンポの良い操作感を実現できます。 詳細なリファレンス GS2-Enhance リファレンス","lang":"ja","section":"microservices","summary":"強化機能\n","title":"GS2-Enhance","url":"/ja/microservices/enhance/"},{"content":"GS2 が提供するマイクロサービスの中でも特に重用される機能です。 あらゆるマイクロサービスのリソースを、全く異なるマイクロサービスのリソースに変換する役割を担います。 ゲームの仕様にはリソースの交換に関するものが多数存在し、その度に GS2-Exchange の出番が発生します。 リソース交換の例 強化素材の変換 GS2-Inventory で管理する ★1 の強化素材 10個を、同じく GS2-Inventory で管理する ★2 の強化素材 1個と交換 6時間に1回アイテムを入手できる GS2-Stamina で管理する6時間で1回復するスタミナ1を、GS2-Inventory で管理するアイテムと交換 アイテムを売却 GS2-Inventory で管理するアイテムを、同じく GS2-Inventory で管理するゲーム内通貨と交換 交換の種類 GS2-Exchange はマスターデータで定められた交換レートで直ちに交換できるダイレクト交換と、 交換を実行した後、現実時間で一定時間経過したのちに交換結果を得られる非同期交換、 購入する度にコストが上昇するコスト上昇型交換の3つのモードが存在します。 flowchart LR Verify[\"対価検証 (verifyActions)\"] --\u003e Consume[\"対価消費 (consumeActions)\"] Consume --\u003e|timingType=direct| Acquire[\"報酬付与 (acquireActions)\"] Consume --\u003e|timingType=await| Await[\"Await オブジェクト作成\"] Await -. lockTime 経過 .-\u003e Acquire2[\"AcquireAsync で報酬受取\"] 交換の挙動はネームスペース設定の enableDirectExchange / enableAwaitExchange でモードごとに有効化できます。 レートモデルの timingType を direct または await に切り替えることで個別のレートが即時交換と非同期交換のいずれで動作するかを選択できます。 非同期交換の挙動 非同期交換を使用した場合、交換を実行したタイミングで対価は消費され、 報酬を得る代わりに Await オブジェクトが作成されます。 Await オブジェクトの作成時刻からマスターデータで定義された交換待機時間（ lockTime 秒）が経過すると報酬を受け取ることができます。 状態 フィールド 交換実行時刻 exchangedAt 報酬受取可能時刻 acquirableAt 対価として消費される数量 count スキップで短縮された秒数 skipSeconds 拠点の強化 街づくり系のゲームで、拠点を成長させるために資源を消費した後 8時間経過することで実際に拠点の経験値を加算する 遠征 パーティを編成し、冒険にでたのち3時間後に冒険の結果として報酬を受け取れる 非同期交換のスキップ 非同期交換の時間経過待ちを、更なる対価を支払うことでスキップできるようにすることができます。 一般的にこのような仕様を入れる場合は、マネタイズのための機能として実装されることが多いですが、 現金で購入した GS2-Money で管理するゲーム内通貨を消費することで、待ち時間を時短可能な仕様を実現できます。 待機報酬の強制取得と削除 管理画面や API（トランザクションアクション）を通じて、待機時間を無視して報酬を強制的に取得したり、実行中の非同期交換（Await オブジェクト）を削除してキャンセルしたりすることが可能です。 コスト上昇型交換の例 強化(インフレゲーム) 強化する度に強化に必要なゴールドの消費量が増加する スタミナ回復コストが増加 スタミナを購入する度に購入するために必要な課金通貨の消費量が上昇する。 購入回数は毎日リセットされる コスト上昇量の計算 コストの上昇量には3つのモードが存在し、 IncrementalRateModel の calculateType で指定します。 linear baseValue + (coefficientValue * 交換回数) 例 baseValue = 100, coefficientValue = 50 交換回数 コスト 0 100 1 150 2 200 3 250 4 300 power coefficientValue * (交換回数 + 1) ^ 2 例 coefficientValue = 50 交換回数 コスト 0 50 1 200 2 450 3 800 4 1250 gs2_script GS2-Script の実行結果をもとに算出します。 複雑な条件を元にコストを計算したい場合に使用できます。 例 currentExchangeCount = args.currentExchangeCount quantity = quantity cost = 100 for i = 1 , quantity do cost = cost + (i + currentExchangeCount - 1) * 50 end result = { cost=cost } 交換回数 コスト 0 100 1 150 2 200 3 250 4 300 交換回数の管理 IncrementalRateModel では exchangeCountId と maximumExchangeCount を指定して、GS2-Limit の回数制限モデルと連携し交換実行回数を追跡したり、特定期間内の交換上限を設けることができます。 exchangeCountId に GS2-Limit の Counter モデルを指定すると、交換回数が GS2-Limit でカウントされ、日次・週次など GS2-Limit のリセット仕様に従って交換回数を初期化できます。 maximumExchangeCount を超える回数の交換は拒否されるため、期間内の購入上限を設けたガチャや、1日に N 回まで購入可能なアイテムショップなどを実現できます。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 RateModel : 即時または非同期交換のレート定義 IncrementalRateModel : 交換回数に応じてコストが増加するレート定義 RateModel の主なフィールド フィールド 説明 name レート名（一意） verifyActions 交換実行前に行う検証アクション consumeActions 対価として消費するアクション acquireActions 報酬として付与するアクション timingType direct （即時交換）/ await （非同期交換） lockTime 非同期交換の待機秒数 IncrementalRateModel の主なフィールド フィールド 説明 name レート名（一意） consumeAction 対価として消費するアクション（数量はコスト計算で決定） acquireActions 報酬として付与するアクション calculateType コスト計算方式（ linear / power / gs2_script ） baseValue / coefficientValue コスト計算で使用する係数 calculateScriptId gs2_script 時に呼び出すスクリプト exchangeCountId 交換回数を管理する GS2-Limit のカウンタ maximumExchangeCount 交換回数の上限 マスターデータの JSON 例 { \"version\": \"2019-08-19\", \"rateModels\": [ { \"name\": \"material_n_to_r\", \"metadata\": \"N -\u003e R 強化素材交換\", \"consumeActions\": [ { \"action\": \"Gs2Inventory:ConsumeItemSetByUserId\", \"request\": \"{\\\"namespaceName\\\":\\\"inventory-0001\\\",\\\"inventoryName\\\":\\\"material\\\",\\\"itemName\\\":\\\"n-material\\\",\\\"userId\\\":\\\"#{userId}\\\",\\\"consumeCount\\\":10}\" } ], \"timingType\": \"await\", \"lockTime\": 3600, \"acquireActions\": [ { \"action\": \"Gs2Inventory:AcquireItemSetByUserId\", \"request\": \"{\\\"namespaceName\\\":\\\"inventory-0001\\\",\\\"inventoryName\\\":\\\"material\\\",\\\"itemName\\\":\\\"r-material\\\",\\\"userId\\\":\\\"#{userId}\\\",\\\"acquireCount\\\":1}\" } ] } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 スクリプトトリガー ネームスペースに以下のスクリプト設定を追加すると、交換処理や待機報酬受取の前後でカスタムスクリプトを実行できます。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 exchangeScript （完了通知: exchangeDone ）: 交換処理の前後 incrementalExchangeScript （完了通知: incrementalExchangeDone ）: コスト上昇型交換の前後 acquireAwaitScript （完了通知: acquireAwaitDone ）: 待機報酬受取の前後 これらのスクリプトは同期・非同期の実行方式を選択でき、非同期では GS2-Script や Amazon EventBridge を介した外部連携にも対応します。 なお、 IncrementalRateModel でコスト計算方式 gs2_script を選択した場合は、レート単位で設定した calculateScriptId を呼び出してコストを算出します。 バフによる補正 GS2-Buff と連携すると、 RateModel の lockTime や acquireActions ・ verifyActions ・ consumeActions 、 IncrementalRateModel の acquireActions ・ consumeAction ・ maximumExchangeCount をコンテキストスタック経由で動的に上書きでき、イベントやキャンペーンに応じて報酬や待機時間、交換可能回数を柔軟に調整できます。 たとえば、期間限定で「強化素材交換の待機時間を半減」「ガチャの1日購入上限を増加」といった施策を、マスターデータを書き換えずにバフの適用だけで実現できます。 実装例 交換の実行（ダイレクト） config パラメータには、交換に紐づく対価・報酬アクションのトランザクションで使用するコンテキスト値を渡すことができます。 非同期交換の開始 timingType=await のレートに対して ExchangeAsync を呼び出すと、対価は即座に消費され、報酬は Await オブジェクトに保留されます。 Await の一覧取得 Await 待機時間経過後の報酬受け取り 待機時間が経過した Await から報酬を受け取ります。 受け取り処理ではトランザクションが発行され、 acquireActions に定義された報酬付与処理が他のマイクロサービスに対して実行されます。 Await の削除（キャンセル） 待機中の Await を破棄して交換をキャンセルします。 対価として消費したリソースは返却されない点に注意してください。返却が必要な場合はトランザクションアクションを利用したサーバー側スクリプトで補填してください。 待機時間のスキップ 待機時間を追加コストの支払いでスキップする場合は、 skipByConfig を用いてスキップに必要なコストを設定したうえで、サーバーサイド（GS2-JobQueue や GS2-Script 経由）の API を呼び出します。 スキップ処理はトランザクションアクションとしても利用できるため、ショップでのスキップアイテムやスキップチケットといった商品設計と組み合わせることができます。 コスト上昇型交換の実行 トランザクションアクション GS2-Exchange では以下のトランザクションアクションを提供しています。 消費アクション: 実行中の交換待機（Await）の削除 入手アクション: 直ちに交換（Exchange）を実行、コスト上昇型交換（IncrementalExchange）を実行、交換待機（Await）の作成、待機中報酬の強制取得、待機時間のスキップ 「報酬の強制取得」を入手アクションとして利用することで、特定のアイテムを入手した際やミッション達成時の報酬として、現在進行中の建築や遠征（非同期交換）を即座に完了させるといった処理が可能になります。また、「交換待機の削除」を消費アクションとして利用することで、進行中のプロセスを中断（キャンセル）させるといった運用も可能です。 詳細なリファレンス GS2-Exchange リファレンス","lang":"ja","section":"microservices","summary":"ゲーム内リソースの交換機能\n","title":"GS2-Exchange","url":"/ja/microservices/exchange/"},{"content":"Game as a Service において、成長要素は不可欠です。 キャラクターの成長をおこない、成長したキャラクターでさらに高難度のコンテンツに挑むゲームサイクルを実装するための経験値・ランク機能を提供します。 GS2-Experience は単一のキャラクターのレベルだけでなく、複数のプロパティ（キャラクター、武器、パーティ、ギルドなど）の成長を 1 つのマイクロサービスで一元管理できる柔軟な設計となっています。 ユースケース GS2-Experience が想定する代表的なユースケースは以下の通りです。 プレイヤーキャラクターのレベル管理 育成可能な装備品のレベル管理 ギルドやチームのランク管理 称号・バトルパスのレベル管理 スキルツリーの各スキル熟練度管理 graph LR Player[プレイヤー] --\u003e|経験値加算| Exp[GS2-Experience] Exp --\u003e|ランク計算| Status[Status] Status --\u003e|閾値超え| RankUp[ランクアップ] RankUp --\u003e|報酬付与| Inventory[GS2-Inventory] RankUp --\u003e|スタミナ最大値更新| Stamina[GS2-Stamina] ランク GS2-Experience は経験値の値から自動的にランクの値を計算します。 そのためには、マスターデータを利用してランクアップの閾値となる経験値テーブルを定義する必要があります。 Experience Model でランクアップ閾値を管理し、その下に任意の値を持つプロパティIDをぶら下げることができます。 プロパティIDごとに経験値の値は管理され、経験値の値に基づいてランクが決定します。 Experience Model とプロパティIDの関係 graph TD N[Namespace] --\u003e EM1[\"ExperienceModel character_ssr\"] N --\u003e EM2[\"ExperienceModel character_sr\"] N --\u003e EM3[\"ExperienceModel weapon\"] EM1 --\u003e P11[\"プロパティID: character-001\"] EM1 --\u003e P12[\"プロパティID: character-002\"] EM3 --\u003e P31[\"プロパティID: weapon-001\"] EM3 --\u003e P32[\"プロパティID: weapon-002\"] たとえば「キャラクターの種類ごとに必要経験値テーブルを変えたい」「キャラクター個別にランクキャップを変えたい」といったケースで、ExperienceModel をキャラクター種別ごとに用意し、プロパティID にキャラクターの個別 ID を割り当てることで実現できます。 ランクキャップ ランクには上限を設定可能です。 ランクの上限に達した状態で経験値を入手した場合、経験値は破棄されます。 ランクの上限は Experience Model で初期値を設定しますが、プロパティIDごとに個別に引き上げることが可能です。 これにより限界突破の強化をおこなうと、経験値の上限を引き上げるような仕様を実現することが可能です。 設定項目 説明 defaultExperience 初期経験値 defaultRankCap 初期ランクキャップ maxRankCap ランクキャップの上限値（これを超える SetRankCap は拒否される） rankThreshold ランクアップに必要な経験値閾値の配列 ステータス情報 Status はユーザー × ExperienceModel × プロパティID の組み合わせで一意に決まり、以下の情報を保持します。 属性 説明 experienceValue 現在の経験値 rankValue 現在のランク rankCapValue 現在のランクキャップ nextRankUpExperienceValue 次のランクアップに必要な経験値 nextRankUpExperienceValue をクライアントで参照することで、ランクアップまでに必要な経験値の表示や進捗バーの描画を簡単に行えます。 報酬加算テーブル Experience Model にはランクに応じて報酬量を調整する acquireActionRates を設定できます。 倍率には通常の rates に加えて、int64 を超える値を扱える bigRates も定義でき、インフレの激しいゲームでも精度を保ったまま報酬量を制御できます。 たとえば、「ランクが高いプレイヤーには高難度クエストの報酬を多く付与する」といった調整に活用できます。 クエスト報酬としてランクに応じた倍率を入手アクションに反映する場合、GS2-Quest のクリア報酬に「ランクに応じた報酬の倍率適用」をトランザクションアクションとして組み込みます。 スクリプトトリガー ネームスペースに各種スクリプトを設定すると、経験値変化・ランク変化・ランクキャップ変化の前後でカスタムスクリプトを呼び出せます。スクリプトは同期・非同期の実行方式を選択でき、非同期では GS2-Script や Amazon EventBridge を介した外部処理にも対応します。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 changeExperienceScript （完了通知: changeExperienceDone ）: 経験値変化の前後 changeRankScript （完了通知: changeRankDone ）: ランク変化の前後 changeRankCapScript （完了通知: changeRankCapDone ）: ランクキャップ変更の前後 また、以下のフィールドにはスクリプトの GRN を直接指定でき、対応するイベント発生時にスクリプトが呼び出されます。 rankCapScriptId : ランクキャップ取得時の処理 overflowExperienceScript : ランクキャップ到達後の余剰経験値（あふれ経験値）の処理 overflowExperienceScript を利用すると、ランクキャップに達したあとの余剰経験値を、たとえばゲーム内通貨として GS2-Inventory に変換するといった処理を自動化できます。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 ExperienceModel : ランク閾値と報酬加算テーブル マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 ExperienceModel の JSON 例 { \"version\": \"2019-09-04\", \"experienceModels\": [ { \"name\": \"character_ssr\", \"metadata\": \"SSRキャラクター\", \"defaultExperience\": 0, \"defaultRankCap\": 50, \"maxRankCap\": 99, \"rankThreshold\": { \"metadata\": \"SSRランクテーブル\", \"values\": [ 100, 300, 600, 1000, 1500 ] }, \"acquireActionRates\": [ { \"name\": \"boost\", \"mode\": \"double\", \"rates\": [1.0, 1.1, 1.2, 1.3, 1.4] } ] } ] } バフによる補正 GS2-Buff と連携すると、ステータスの rankCapValue や AddExperienceByUserId ・ SubExperienceByUserId などのアクションの experienceValue をバフで補正できます。イベントやキャンペーン時に取得量やランク上限を一時的に増減させるといった調整が柔軟に行えます。 代表的なバフ対象は以下の通りです。 種別 対象 補正できる値 モデル Status rankCapValue アクション AddExperienceByUserId experienceValue アクション SubExperienceByUserId experienceValue アクション AddRankCapByUserId rankCapValue トランザクションアクション GS2-Experience では以下のトランザクションアクションを提供しています。 検証アクション: ランクの検証、ランクキャップの検証 消費アクション: 経験値の減算、ランクキャップの減算 入手アクション: 経験値の加算、経験値の設定、ランクキャップの加算、ランクキャップの設定、ランクに応じた報酬の倍率適用 「経験値の加算」を入手アクションとして利用することで、ショップでの商品購入時やミッション達成時の報酬として、直接キャラクターの経験値を増やしてランクアップさせるといった処理が可能になります。また、「ランクキャップの加算」を報酬として設定することで、特定の条件を達成した際に自動的にレベル上限を解放するといった運用も可能です。 「ランクの検証」を検証アクションとして利用することで、「ランク10以上のキャラクターのみがチャレンジできるクエスト」や「ランク50以上で交換可能な強化素材」といったゲーム仕様をマスターデータの設定だけで実現できます。 実装例 経験値の加算 経験値の加算はゲームエンジン用の SDK では処理できません。 GS2-Quest のクエストのクリア報酬や、GS2-Enhance の強化報酬として経験値を加算するようにしてください。 ランクキャップの引き上げ ランクキャップの引き上げはゲームエンジン用の SDK では処理できません。 GS2-Exchange で強化素材や、同一キャラクターとの交換の報酬としてランクキャップを引き上げるようにしてください。 経験値の一覧を取得 プレイヤーが保持するすべての Status を一括で取得します。 ホーム画面のステータス表示やキャラクター一覧画面で活用できます。 経験値の取得 ExperienceModel の一覧取得 クライアントでランクアップに必要な経験値テーブルを参照する場合に利用します。 特定の ExperienceModel の取得 所持証明署名の取得 GS2 内の他のマイクロサービスと連携する際に、本当に GS2-Experience でランクや経験値が正しいか保証したデータを求められることがあります。 たとえば、GS2-Experience でプレイヤーのランクを管理しており、GS2-Stamina でそのランクに応じてスタミナの最大値を決定するとします。 GS2-Stamina は所持証明署名とあわせてランクを指定するよう要求します。 これによって、GS2-Stamina は裏で GS2-Experience と通信して、本当にそのランクに達しているかを判断する必要がなくなります。 sequenceDiagram participant Player as プレイヤー participant Exp as GS2-Experience participant Other as 他のマイクロサービス Player-\u003e\u003eExp: GetStatusWithSignature Exp--\u003e\u003ePlayer: Body + Signature Player-\u003e\u003eOther: API + Body + Signature Other-\u003e\u003eOther: 署名検証 Other--\u003e\u003ePlayer: 処理結果 詳細なリファレンス GS2-Experience リファレンス","lang":"ja","section":"microservices","summary":"経験値・ランク機能\n","title":"GS2-Experience","url":"/ja/microservices/experience/"},{"content":"所有しているリソースを組み合わせて1つの何かを編成するという仕様は一般的です。 複数のキャラクターを編成してパーティを作ったり、武器・防具といったアイテムを編成して装備するといったものです。 GS2-Formation は「どんなスロットが存在するか」「各スロットに何を装着できるか」「同じ種類の編成をいくつまで保持できるか」をマスターデータで定義し、プレイヤーごとの編成内容を管理するマイクロサービスです。 用語 graph LR MoldModel --\u003e FormModel FormModel --\u003e SlotModel PropertyFormModel --\u003e SlotModel2[SlotModel] Mold --\u003e Form Form --\u003e Slot PropertyForm --\u003e Slot2[Slot] 用語 説明 MoldModel 同種の編成（パーティ・装備セットなど）を複数保有するための型。容量（保存枠）の概念を持つ FormModel Mold に紐づく Form の構成定義。どのようなスロットを持つかを定義する PropertyFormModel プロパティIDで参照する単独の編成定義。Mold を介さず1キャラクター1編成のような形態で使う SlotModel スロットの定義。スロットに装着できるプロパティを正規表現で制限できる Mold プレイヤーごとの Mold 実体。 capacity を持ち最大容量まで Form を作成可能 Form Mold 内の編成インスタンス。 index で識別される PropertyForm プロパティID単位の編成インスタンス Slot プレイヤーが実際に装着しているリソースを保持する フォーム キャラクターの装備機能を実現するにあたって、武器・兜・籠手・胴・脚・足といった複数のスロットを用意し、 各スロットに適合するアイテムのみを装備できるように設定が可能です。 Form Model では、どのようなスロットが存在するのか、各スロットにはどのようなアイテムを編成できるのかをマスターデータとして定義します。 Mold と PropertyForm の使い分け flowchart LR subgraph Mold M1[\"Form #0\"] M2[\"Form #1\"] M3[\"Form #2 (空き枠)\"] end subgraph PropertyForm P1[\"character-001 の編成\"] P2[\"character-002 の編成\"] end Mold を使うケース: パーティ編成1〜N のように、編成セットを番号（ index ）で管理し、最大保有数（ capacity ）を成長要素として拡張したい場合 PropertyForm を使うケース: キャラクターごと・装備セットごとなど、外部のリソースID（ propertyId ）に1対1で結びつく編成 Mold の MoldModel は initialMaxCapacity （初期容量）と maxCapacity （拡張上限）を持ち、プレイヤーの成長やマネタイズ施策に応じてキャパシティを増減できます。 スロットへの装着対象 Form / PropertyForm の Slot には、以下のリソースを装着できます。装着時には GS2 が発行する「所有証明署名」を SlotWithSignature として渡します。 propertyType 装着対象 gs2_inventory GS2-Inventory で管理する ItemSet gs2_simple_inventory GS2-Inventory（Simple）で管理する SimpleItem gs2_dictionary GS2-Dictionary で管理する Entry スロットモデル（ SlotModel ）の propertyRegex に正規表現を設定することで、特定のスロットに装着可能なプロパティIDを制限できます。たとえば「武器スロットには weapon-* の Item のみ装着可能」といった制限を実現できます。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 MoldModel : Mold の保存枠構成 FormModel : Mold 配下の Form のスロット構成 PropertyFormModel : PropertyForm のスロット構成 マスターデータの JSON 例 { \"version\": \"2019-09-09\", \"moldModels\": [ { \"name\": \"party\", \"metadata\": \"パーティ編成\", \"initialMaxCapacity\": 3, \"maxCapacity\": 10, \"formModel\": { \"name\": \"party\", \"slots\": [ { \"name\": \"leader\", \"propertyRegex\": \"character-.*\" }, { \"name\": \"member-1\", \"propertyRegex\": \"character-.*\" }, { \"name\": \"member-2\", \"propertyRegex\": \"character-.*\" } ] } } ], \"propertyFormModels\": [ { \"name\": \"equipment\", \"metadata\": \"キャラクターの装備\", \"slots\": [ { \"name\": \"weapon\", \"propertyRegex\": \"weapon-.*\" }, { \"name\": \"armor\", \"propertyRegex\": \"armor-.*\" } ] } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 スクリプトトリガー ネームスペースに updateMoldScript updateFormScript updatePropertyFormScript を設定すると、編成データの更新前後でカスタムスクリプトを実行できます。 スクリプトは同期・非同期の実行方式を選択でき、非同期では GS2-Script や Amazon EventBridge を介した外部連携にも対応します。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 updateMoldScript （完了通知: updateMoldDone ）: Mold 更新の前後 updateFormScript （完了通知: updateFormDone ）: Form 更新の前後 updatePropertyFormScript （完了通知: updatePropertyFormDone ）: PropertyForm 更新の前後 トランザクションアクション GS2-Formation では以下のトランザクションアクションを提供しています。 検証アクション: キャパシティ（保存数量上限）の検証 消費アクション: キャパシティの減算 入手アクション: キャパシティの加算、キャパシティの設定、編成内容（Form / PropertyForm）の設定、編成されているリソースに対する入手アクションの適用 「編成されているリソースに対する入手アクションの適用」を入手アクションとして利用することで、特定のパーティスロットに編成されているキャラクターに対して直接経験値を加算するといった処理が可能になります。また、「キャパシティの加算」を報酬として設定することで、特定のミッション達成時に編成枠を自動的に拡張するといった運用も可能です。 実装例 Mold での編成の永続化 Form の Slot には GS2-Inventory で管理する ItemSet / SimpleItem か、GS2-Dictionary で管理する Entry を登録できます。 それぞれ設定するためには、所有証明署名 を付加する必要があります。 所有証明署名 の取得方法については各サービスの説明を確認してください。 propertyType の種類 gs2_inventory – GS2-Inventory で管理する ItemSet を装着 gs2_simple_inventory – GS2-Inventory で管理する SimpleItem を装着 gs2_dictionary – GS2-Dictionary で管理する Entry を装着 Mold の キャパシティの引き上げ キャパシティ（保存数量上限）の引き上げはゲームエンジン用の SDK では直接処理できません。 クライアント主導でのキャパシティ操作を許可すると不正改ざんの対象になり得るため、容量変更はトランザクションアクション経由で実施する設計になっています。 GS2-Exchange で課金通貨との交換などの報酬としてキャパシティを引き上げるようにしてください。 GS2-Exchange の acquireActions に Formation のキャパシティ加算アクションを設定することで、課金アイテムやミッション報酬の付与の延長としてキャパシティ拡張を実現できます。 Mold 情報の取得 Mold 単体の情報（現在のキャパシティ）を取得します。 Mold での編成内容の一覧を取得 Mold での編成内容を取得 Form の削除 不要になった編成内容を削除します。Mold のキャパシティ自体は維持され、 index のスロットが空きとして再利用可能になります。 Property Form での編成の永続化 Form の Slot には GS2-Inventory で管理する ItemSet か、GS2-Dictionary で管理する Entry を登録できます。 それぞれ設定するためには、所有証明署名 を付加する必要があります。 所有証明署名 の取得方法については各サービスの説明を確認してください。 Property Form での編成内容を取得 Property Form の削除 編成情報への署名取得 Form / PropertyForm の内容を改ざんされていないことを保証した形で他システムへ受け渡したい場合、署名付きの編成情報を取得できます。 バトル開始時にサーバーへ編成内容を送るユースケースなどで利用できます。 編成リソースの管理と注意事項 プロパティの指定方法 フォームのスロットに編成するプロパティはプロパティIDで指定します。 スロットモデルの propertyRegex でプロパティIDの正規表現を指定することで、そのスロットに編成できる値を限定することができます。 所有証明署名と編成後の注意 GS2-Inventory で管理するアイテムをスロットに設定する場合、GS2-Inventory が発行する署名付きアイテムセット（所有証明署名）を使って編成対象に指定できます。 署名付きアイテムセットが保証する「所有していること」は編成時点での保証であり、編成後にそのアイテムを売却・消費してもフォームのデータはそのままになります。 このため、GS2-Inventory でアイテムを消費・売却する場合は、事前に GS2-Formation の編成で使用されていないかをクライアントまたはスクリプトで確認する必要があります。 ItemSet.referenceOf による編成中アイテムの削除防止 スタンダードインベントリ（GS2-Inventory）を使用している場合は、 ItemSet の referenceOf フィールドを利用することで、編成中のアイテムが誤って消費・削除されることを防ぐことができます。 フォームのスロットにアイテムをセットする際に、そのスロットを識別する文字列（GRN など）を ItemSet.referenceOf に設定します。 スタンダードインベントリのインベントリモデル設定には「 referenceOf に値が存在する場合は消費を禁止する 」オプションがあります。 このオプションを有効にすると、 ItemSet.referenceOf が空でないアイテムは消費・売却できなくなるため、編成中のアイテムに対してシステムレベルで削除の制限をかけることができます。 詳細なリファレンス GS2-Formation リファレンス","lang":"ja","section":"microservices","summary":"パーティ・装備編成機能\n","title":"GS2-Formation","url":"/ja/microservices/formation/"},{"content":"GS2-Freeze は、ゲームから利用する GS2 のマイクロサービスのバージョンを任意のタイミングで固定 (freeze) し、運営側が管理するタイミングでバージョンを更新できるようにするための機能です。 通常、GS2 のマイクロサービスは継続的にバージョンアップが行われ、ゲームは常に最新のバージョンの API を利用することになります。 多くのタイトルではこの運用で問題ありませんが、リリース直後の大規模タイトルや、長期にわたって安定性を最優先したい局面では、サービス側の更新タイミングをゲーム運営側でコントロールしたいというニーズが存在します。 GS2-Freeze はこのようなニーズに応えるための、エンタープライズ向けの機能です。 Tip GS2-Freeze はエンタープライズ向けの機能で、すべてのお客様に対して広範囲に提供される機能ではありません。 利用をご希望の場合はサポートまでお問い合わせください。 ステージ GS2-Freeze の中心となる概念が「ステージ (Stage)」です。 ステージは「特定の時点で固定された GS2 マイクロサービスのバージョンの集合」を表します。 各ステージには以下の情報が紐付きます。 ステージ名 (name): ステージを一意に識別する名前 ソースステージ名 (sourceStageName): バージョン情報の取得元となるステージの名前 ソート順 (sortNumber): 開発・検証・本番といったステージの並び順を表す番号 ステータス (status): ステージの状態 (プロモート中、ロールバック中など) ゲームのクライアント・サーバーは、利用したいステージを指定してGS2のAPIを呼び出すことで、そのステージに固定されたバージョンのマイクロサービスを利用できます。 graph LR Latest[\"最新の GS2 マイクロサービス\"] -- Promote --\u003e StageDev[\"Stage: dev\"] StageDev -- Promote --\u003e StageStg[\"Stage: staging\"] StageStg -- Promote --\u003e StageProd[\"Stage: production\"] Game[\"ゲームクライアント\"] -- API リクエスト --\u003e StageProd プロモート / ロールバック ステージのバージョンを更新する操作を「プロモート (Promote)」と呼びます。 プロモートを実行すると、ソースステージに固定されているバージョンが、対象のステージにコピーされます。 たとえば「staging ステージのバージョンを production ステージへプロモートする」ことで、検証済みのバージョンを本番に反映できます。 プロモート後に問題が発覚した場合は、「ロールバック (Rollback)」を実行して直前のバージョンに戻すことが可能です。 プロモート・ロールバックは時間のかかる処理になることがあり、内部的には非同期処理として実行されます。 処理の途中経過は Output として記録され、状態を後から確認できます。 ステージのソート順 sortNumber を利用することで、複数のステージを「開発」「ステージング」「本番」のような階層として並べることができます。 ソート順はマネージメントコンソール上の表示順や、プロモート対象を選択する際の参考情報として用いられます。 トランザクションアクション GS2-Freeze ではトランザクションアクションを提供していません。 マスターデータ管理 GS2-Freeze はステージ自体が運用上の構成情報であり、一般的なマイクロサービスにあるような「マスターデータのインポート / エクスポート」は提供していません。 ステージの作成・更新・削除はマネージメントコンソールや GS2-Deploy から行います。 実装例 GS2-Freeze は管理API中心のマイクロサービスです。ゲームエンジン用 SDK (Unity/Unreal Engine) には専用の Domain クラスが提供されていません。 ステージの作成・プロモート・ロールバックといった操作は、ゲームクライアントから直接呼び出すのではなく、以下のいずれかの手段で操作することを推奨します。 マネジメントコンソール GS2 CLI 各種言語向け一般SDK (C# / Go / Python / TypeScript / PHP / Java) GS2-Deploy によるテンプレート管理 各種SDKの詳細は対応するリファレンスページを参照してください。 より実践的な情報 開発・検証・本番の3段ステージ運用 代表的な利用パターンは、開発用・検証用・本番用の3つのステージを用意し、左から右へ順番にプロモートしていく運用です。 開発ステージ (dev): 最新のGS2マイクロサービスを利用し、新機能の動作確認を行う 検証ステージ (staging): 開発ステージで検証が済んだバージョンをプロモートし、QAやリハーサルを行う 本番ステージ (production): 検証ステージで品質を確認したのちにプロモートし、ゲームプレイヤーに提供する この運用により、GS2 側で新しいリリースが行われても、ゲーム運営側が望むタイミングでのみ本番反映を行うことができます。 問題発生時の即時ロールバック 本番ステージにプロモートしたあとに不具合が見つかった場合は、ロールバックを実行することで直前のバージョンに即座に戻すことができます。 ゲーム側に変更を加えずにサービス側のバージョンだけを差し戻せるため、緊急対応の選択肢として有用です。 詳細なリファレンス GS2-Freeze リファレンス","lang":"ja","section":"microservices","summary":"GS2 マイクロサービスのバージョンを固定するエンタープライズ向け機能\n","title":"GS2-Freeze","url":"/ja/microservices/freeze/"},{"content":"ゲーム専用のソーシャルグラフを形成するための機能を提供します。 ソーシャルグラフはプラットフォーマーも提供している機能がありますが、ゲーム内で独自に形成することにも価値があります。 プラットフォーム全体で使用されるフレンド関係は登録を行うのに慎重になりがちです。 なぜなら「私はこの人と今遊んでるゲームは一緒に遊びたいけれど、他のゲームを一緒に遊びたいとは思っていない」というケースが存在するためです。 プラットフォーマーが提供するソーシャルグラフはリアルに近い関係性を反映したもので、ゲーム固有のソーシャルグラフはそのゲーム内の関係性を反映したものとして扱うと、プレイヤーはより気軽にフレンド機能を利用してくれます。 フレンド フレンドになるためには、双方向の同意関係が必要です。 フレンド関係を構築したいいずれかのプレイヤーが、相手にフレンドリクエストを送信し、フレンドリクエストを受け取ったプレイヤーがそれに同意することでフレンド関係が成立します。 フォロー フォローは相手の同意なく、関係を構築することができます。 フォローされている人は自分が誰にフォローされているかを一覧として知る術はありません。 この仕様はソーシャルネットワークのフォローの仕様を想像していると違和感があるかもしれません。 しかし、ゲーム内でフォロー機能を実装している多くのゲームの仕様をみていて、その必要性がないと判断しました。 自分をフォローしてくれているプレイヤーが自分のゴーストキャラクターと一緒に冒険に出た場合、 冒険で得た報酬を分け与えてくれるだけで十分で、誰が一緒に冒険してくれたのかにはあまり興味がなかっためです。 一覧で取得することはできませんが、冒険で得た報酬を分け与える処理として GS2-Inbox に報酬付きメッセージを届ける際に メッセージのペイロードに、一緒に冒険に出たプレイヤーのユーザーIDを載せることで、プロフィールを伝えること自体は可能です。 プロフィール GS2-Friend はプレイヤーのプロフィールを保持する領域を提供します。 プロフィールには任意の値を保持でき、スペースが3箇所存在します。 他プレイヤーが自由に参照できる「パブリックプロフィール」 フォローしているプレイヤーが参照できる「フォロワープロフィール」 フレンドが参照できる「フレンドプロフィール」 それぞれ、用途に合わせて使い分けることが可能です。 ブラックリスト ゲームを長期間プレイしていると、不快に感じるプレイヤーがいるかもしれません。 そのようなプレイヤーをリスト化して永続化する機能です。 あくまで永続化する機能が存在するだけで、ここに追加するだけでは何も機能は果たしません。 GS2-Matchmaking のマッチメイキング条件にリストを渡すなど別途ここに記録したリストを必要に応じて使用する必要があります。 スクリプトトリガー ネームスペースに followScript ・ unfollowScript ・ sendRequestScript ・ cancelRequestScript ・ acceptRequestScript ・ rejectRequestScript ・ deleteFriendScript ・ updateProfileScript を設定すると、フォローやフレンドリクエスト、プロフィール更新など各操作の前後でカスタムスクリプトを実行できます。スクリプトは同期・非同期の実行方式を選択でき、非同期では GS2-Script や Amazon EventBridge を介した外部連携にも対応します。これらの設定は GS2-Deploy や各言語向け CDK でテンプレート化して管理できます。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 followScript （完了通知: followDone ）: フォローの前後 unfollowScript （完了通知: unfollowDone ）: フォロー解除の前後 sendRequestScript （完了通知: sendRequestDone ）: フレンドリクエスト送信の前後 cancelRequestScript （完了通知: cancelRequestDone ）: フレンドリクエスト取消の前後 acceptRequestScript （完了通知: acceptRequestDone ）: フレンドリクエスト承諾の前後 rejectRequestScript （完了通知: rejectRequestDone ）: フレンドリクエスト拒否の前後 deleteFriendScript （完了通知: deleteFriendDone ）: フレンド削除の前後 updateProfileScript （完了通知: updateProfileDone ）: プロフィール更新の前後 プッシュ通知 設定できる主なプッシュ通知と設定名は以下の通りです。 followNotification : フォローされたときに通知 receiveRequestNotification : フレンドリクエスト受信時に通知 cancelRequestNotification : フレンドリクエストがキャンセルされたときに通知 acceptRequestNotification : フレンドリクエスト承諾時に通知 rejectRequestNotification : フレンドリクエスト拒否時に通知 deleteFriendNotification : フレンド削除時に通知 いずれも GS2-Gateway 経由でリアルタイムに通知でき、オフライン端末へのモバイルプッシュ通知転送も有効化できます。 トランザクションアクション GS2-Friend では以下のトランザクションアクションを提供しています。 入手アクション: プロフィールの更新 「プロフィールの更新」を入手アクションとして利用することで、ゲーム内通貨を消費してプレイヤー名を変更するといった、一連のトランザクションの中にプロフィール更新を組み込むことが可能になります。 実装例 プロフィールの更新 自分のプロフィールを取得 他人の公開プロフィールを取得 フレンドリクエストを送信 送信したフレンドリクエストの一覧を取得 受信したフレンドリクエストの一覧を取得 フレンドリクエストを許可 フレンドリクエストを拒否 フレンドの一覧を取得 フレンドの削除 フォロー フォロワーの一覧を取得 アンフォロー ブラックリストに登録 ブラックリストから解除 ブラックリスト一覧を取得 上限人数 フレンド数およびフォロワー数の上限はそれぞれ1000人です。ただし、連携するサービスによっては各サービスのポリシーに従って追加の制限が加わる可能性があります。 詳細なリファレンス GS2-Friend リファレンス","lang":"ja","section":"microservices","summary":"フレンド・フォロー機能\n","title":"GS2-Friend","url":"/ja/microservices/friend/"},{"content":"GS2-Gateway はゲームクライアントとサーバーとの間で WebSocket による常時接続を維持し、サーバーから任意のタイミングで通知を送るための機能を提供します。 通常のゲームサーバーとの通信はクライアントからのリクエストに対してサーバーが応答する形式ですが、GS2-Gateway を使うことでサーバー起点の通知 (メッセージ着信・フレンド申請・ギルドからの招集など) をリアルタイムにクライアントへ届けることができます。 sequenceDiagram participant Client participant Gateway as GS2-Gateway participant Service as 各マイクロサービス Client-\u003e\u003eGateway: WebSocket 接続 Client-\u003e\u003eGateway: SetUserId(認証) Service-\u003e\u003eGateway: SendNotification Gateway-\u003e\u003eClient: 通知ペイロード配信 主な機能 WebSocket 常時接続 GS2-Gateway は WebSocket プロトコルでクライアントからの接続を受け付け、ユーザーごとに接続情報を保持します。 他のマイクロサービスから「このユーザーに通知を送りたい」というリクエストが届くと、接続中のクライアントに対してペイロードを配信します。 主要な連携先は以下です。 GS2-Inbox: 新規メッセージの着信通知 GS2-Friend: フレンド申請・承認の通知 GS2-Guild: ギルド参加申請、ギルド内の状況変化通知 GS2-Matchmaking: マッチング完了通知 GS2-Distributor: トランザクション自動実行のための通知 GS2-JobQueue: 新規ジョブが積まれた際の通知 同時接続制御 ネームスペース内のユーザーは原則として同時に1セッションのみを保持できます。 SetUserId 実行時に allowConcurrentAccess を false にすると、すでに他のセッションが接続中の場合は、新しいセッション側で同時接続エラーとして検知できます。 true にすると、新しいセッションが接続された時点で古いセッションが切断されます。 この機能を利用することで、複数デバイスからの同時ログインを抑止できます。 GS2-Account のパスワード自動変更機能と組み合わせると、アカウント共有や引き継ぎ後の旧デバイスの締め出しをより強固に行うことができます。 Firebase Cloud Messaging 連携 (モバイルプッシュ通知) クライアントが起動していない (WebSocket が接続されていない) 状態でも通知を届けたい場合は、Firebase Cloud Messaging (FCM) との連携機能を利用できます。 事前にネームスペースの firebaseSecret に FCM のサーバーキー(またはサービスアカウントクレデンシャル)を登録しておき、各ユーザーのデバイスから取得した FCM トークンを GS2-Gateway に登録しておきます。 GS2-Gateway は、通知配信時に WebSocket セッションが存在しないユーザーに対しては、登録済みの FCM トークンを使って FCM 経由でプッシュ通知を送ります。 これによりアプリ未起動時でもユーザーに通知を届けることができます。 通知エントリの enableTransferMobileNotification を有効にすることで、各通知ごとにモバイルプッシュへの転送有無を制御できます。 WebSocket API の設定 GS2 のクライアント SDK (Unity / Unreal Engine) には、GS2-Gateway の WebSocket 接続を自動的に確立・維持するユーティリティが組み込まれています。 ログイン時に GatewaySetting を指定することで、ログイン処理の流れに乗せて WebSocket 接続と SetUserId の呼び出しを自動的に行えます。 設定項目は以下の通りです。 gatewayNamespaceName : 使用する GS2-Gateway のネームスペース名 allowConcurrentAccess : 同時接続を許可するかどうか トランザクションアクション GS2-Gateway ではトランザクションアクションを提供していません。 マスターデータ管理 GS2-Gateway はマスターデータを持ちません。 ネームスペースの設定で Firebase 連携情報やログ設定を構成します。 実装例 ログイン時に WebSocket 接続を確立 GatewaySetting を指定してログインすると、SDK が自動的に WebSocket セッションを確立し、 SetUserId を呼び出してユーザーIDを紐付けます。 明示的にユーザーIDを設定 すでに接続している WebSocket セッションに対してユーザーIDを紐付けたい場合や、ログイン後に同時接続の許可状態を変更したい場合は、 SetUserId を呼び出します。 より実践的な情報 同時接続切断のハンドリング allowConcurrentAccess: false の設定で接続中に、別端末で同一ユーザーがログインを行うと、現在の WebSocket セッションが切断されます。 クライアントは切断イベントを検知して、再ログインを促す画面に遷移する、または「他の端末でログインされました」というメッセージを表示するといった対応を行う必要があります。 これにより、複数端末からの同時プレイを実質的に禁止する運用が可能になります。 バージョン更新時の全プレイヤー切断 GS2-Version と組み合わせ、新バージョン公開時に全プレイヤーの WebSocket セッションを切断することで、再接続のタイミングで強制的にバージョンチェックを通過させる運用が可能です。 詳細は GS2-Version の「バージョン更新の運用手順」を参照してください。 詳細なリファレンス GS2-Gateway リファレンス","lang":"ja","section":"microservices","summary":"WebSocket 通知機能\n","title":"GS2-Gateway","url":"/ja/microservices/gateway/"},{"content":"キャラクターや装備の育成には短期成長目標としてのレベルアップとは別にグレードアップを用意することが一般的な仕様です。 グレードアップすることによって、レベルキャップを引き上げることができ、キャラクターや装備をより強力に育成することが可能となります。 グレードアップの方法はいくつかの方法が考えられ、育成素材を消費することでグレードアップできるものや、同種のキャラクターや装備を合成することでグレードアップできるものもあります。 GS2-Grade は方法については問わず、グレードごとのレベルキャップを設定することで、GS2-Experience のレベルキャップの運用をより簡易に実装できるようにすることを目的としています。 graph LR Player[\"プレイヤーの所持物\"] -- グレードアップ --\u003e Grade[\"GS2-Grade (グレード値が上昇)\"] Grade -- ApplyRankCap --\u003e Experience[\"GS2-Experience (ランクキャップが反映)\"] Experience -- 経験値の獲得 --\u003e LevelUp[\"レベルアップ\"] グレード グレードごとに GS2-Experience のランクキャップに設定する値を定義できます。 グレードはキャラクターや装備のような対象を一意に指す propertyId ごとに管理され、 Status として個別に保持されます。 フィールド 説明 gradeName グレードモデル名 propertyId グレードを適用するリソースを示すGRN（例: GS2-Inventory の ItemSet） gradeValue 現在のグレード値（0始まりの整数） グレードの初期値 プロパティIDが正規表現にマッチするかによって初期グレードの値を設定できます。 例えば、GS2-Inventory の ItemModel の名前が SSR から始まる場合はグレード3、SR から始まる場合はグレード2で開始するようにすることで ItemModel の種類によって初期のランクキャップを変えることが可能です。 マスターデータの defaultGrades に複数の propertyIdRegex と defaultGradeValue の組を登録することで初期グレードを宣言します。 グレード引き上げ素材判定 グレードアップの方法として「同種のキャラクターや装備を合成する」ケースで、素材として使用しようとしているリソースが「同種のキャラクターや装備」であるかを判定する処理をサポートする機能が用意されています。 グレードのプロパティIDから正規表現によって、パラメーターを取り出して正規表現を構築し、素材として使用しようとしているリソースのプロパティIDがマッチするかを判定することで実現します。 例えば、GS2-Inventory の ItemSet が同種の ItemModel によるものかを判定する場合は以下のように正規表現を設定します。 propertyIdRegex: grn:gs2:{region}:{ownerId}:inventory:namespace-0001:user:(.*):inventory:character:item:(.*):.* gradeUpPropertyIdRegex: grn:gs2:{region}:{ownerId}:inventory:namespace-0001:user:$1:inventory:character:item:$2:.* これで、propertyIdRegex を使用して「ユーザーID」と「ItemModel の名前」を取り出します。 ユーザーIDが「user-0001」、ItemModel の名前が「item-0001」、ItemSet の名前が「item-set-0001」だとすれば、ItemSetのGRN（プロパティID）は grn:gs2:{region}:{ownerId}:inventory:namespace-0001:user:user-0001:inventory:character:item:item-0001:item-set-0001 となり、gradeUpPropertyIdRegex の置換後の値が gradeUpPropertyIdRegex: grn:gs2:{region}:{ownerId}:inventory:namespace-0001:user:user-0001:inventory:character:item:item-0001:.* となります。 これによって、同種のアイテムを素材に指定することができる ような表現が可能となります。 報酬加算テーブル グレードモデルには acquireActionRates を設定でき、グレードに応じて入手アクションの報酬量を調整できます。 これを利用することで、「高グレードのキャラクターはクエスト報酬の獲得量が増える」「グレードごとに経験値倍率が変化する」といった成長要素を組み込めます。 mode 説明 double rates に設定した倍率を浮動小数で乗算します。一般的なアイテム獲得量の補正に利用します。 big bigRates に設定した倍率を文字列形式で扱い、int64 を超える数値を扱える GS2-Inventory の BigItem など大量報酬を取り扱うケースに対応します。 トランザクションの入手アクションに Gs2Grade:MultiplyAcquireActionsByUserId を組み込むことで、指定したグレードの倍率を適用した入手アクションのリストへ変換できます。 スクリプトトリガー ネームスペースに changeGradeScript を設定すると、グレード変化の前後でカスタムスクリプトを実行できます。 トリガーは同期・非同期の実行方式を選択でき、非同期処理では GS2-Script や Amazon EventBridge を利用した外部連携も可能です。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 changeGradeScript （完了通知: changeGradeDone ）: グレード変化の前後 トランザクションアクション GS2-Grade では以下のトランザクションアクションを提供しています。 種別 アクション 説明 検証 Gs2Grade:VerifyGradeByUserId 指定したグレード値であることを検証 検証 Gs2Grade:VerifyGradeUpMaterialByUserId グレードアップ素材として有効か（ gradeUpPropertyIdRegex にマッチするか）を検証 消費 Gs2Grade:SubGradeByUserId グレードの減算 入手 Gs2Grade:AddGradeByUserId グレードの加算 入手 Gs2Grade:AddRankCapByUserId グレードに対応するランクキャップを GS2-Experience に反映 入手 Gs2Grade:MultiplyAcquireActionsByUserId グレードに応じた acquireActionRates の倍率を適用した入手アクションへ変換 「グレードアップ素材の検証」を検証アクションとして利用することで、合成に使用しようとしている素材（他のアイテムやキャラクター）を本当に所持しているか、といった検証をトランザクション内で行えます。これにより、不正な素材指定によるグレードアップを防ぐことが可能です。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 GradeModel : グレードごとのランクキャップや報酬量 以下はマスターデータの JSON 例です。 { \"version\": \"2022-06-01\", \"gradeModels\": [ { \"name\": \"grade-0001\", \"metadata\": \"Character Grade\", \"experienceModelId\": \"grn:gs2:{region}:{ownerId}:experience:namespace-0001:model:experienceModel-0001\", \"defaultGrades\": [ { \"propertyIdRegex\": \".*:item:SSR.*\", \"defaultGradeValue\": 3 }, { \"propertyIdRegex\": \".*:item:SR.*\", \"defaultGradeValue\": 2 } ], \"gradeEntries\": [ { \"metadata\": \"Grade 0\", \"rankCapValue\": 30 }, { \"metadata\": \"Grade 1\", \"rankCapValue\": 40 }, { \"metadata\": \"Grade 2\", \"rankCapValue\": 50 }, { \"metadata\": \"Grade 3\", \"rankCapValue\": 60 } ], \"acquireActionRates\": [ { \"name\": \"experience\", \"mode\": \"double\", \"rates\": [1.0, 1.2, 1.5, 2.0] } ] } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 実装例 グレードの加算 グレードの加算はゲームエンジン用の SDK では処理できません。 GS2-Exchange で強化素材の消費や、GS2-Enhance の強化報酬としてトランザクションアクション Gs2Grade:AddGradeByUserId を組み込み、グレードを加算するようにしてください。 これにより、不正なクライアント操作によるグレードアップを防ぎつつ、サーバー側で整合性を保ったまま成長要素を実装できます。 グレードの一覧を取得 グレードの取得 個別グレード（Status）の取得 特定の propertyId （キャラクター・装備など）に対する現在のグレード値を取得します。 GS2-Experience のランクキャップを同期 グレードが変化したら、GS2-Experience にランクキャップへの反映は自動的に行われます。 ただし、グレードモデルを更新して特定グレードにおけるランクキャップの値を更新した際には以下の同期APIを明示的に呼び出すことで、更新後のランクキャップを適用することができます。 詳細なリファレンス GS2-Grade リファレンス","lang":"ja","section":"microservices","summary":"グレード・レアリティ機能","title":"GS2-Grade","url":"/ja/microservices/grade/"},{"content":"GS2-Guard は GS2 のAPIエンドポイントに対するアクセスを保護するための機能を提供します。 特定の国や地域、IPアドレス、匿名化されたIP、ホスティング事業者のIP、評判の悪いIPなど、さまざまな条件で送信元を判定し、API リクエストを許可・拒否する仕組みを構築できます。 不正利用やチート行為、攻撃的なトラフィックからゲームサーバーを守るための、いわばゲーム向けの軽量な WAF (Web Application Firewall) として機能します。 GS2-Guard はゲームクライアントから直接利用する機能ではなく、運営側でブロッキングポリシーを定義し、他のGS2マイクロサービスのAPIに対して適用するための仕組みです。 ブロッキングポリシー GS2-Guard のネームスペースには BlockingPolicyModel を1つ設定でき、ここにアクセス制御のルールを記述します。 GS2の各マイクロサービスのネームスペースから、対象の GS2-Guard ネームスペースを参照することで、そのマイクロサービスへの API リクエストにブロッキングポリシーが適用されます。 ブロッキングポリシーで設定できる主な項目は以下の通りです。 既定の制限 (defaultRestriction): 既定で API リクエストを許可するか拒否するか 例外的に許可するサービス (passServices): 制限を適用しないGS2のサービス名のリスト 地理的制限 (locationDetection / locations / locationRestriction): リクエストの送信元の国・地域を判定し、特定の国・地域だけ許可・拒否する 匿名IP制限 (anonymousIpDetection / anonymousIpRestriction): Tor出口ノードやVPNなど、匿名化サービス経由のリクエストを判定し、許可・拒否する ホスティング事業者のIP制限 (hostingProviderIpDetection / hostingProviderIpRestriction): クラウド事業者などホスティング由来のIPからのリクエストを判定し、許可・拒否する 評判の悪いIPの制限 (reputationIpDetection / reputationIpRestriction): 攻撃の踏み台として知られるなど、悪評のあるIPからのリクエストを判定し、許可・拒否する 個別IPアドレス制限 (ipAddressesDetection / ipAddresses / ipAddressRestriction): 任意のIPアドレス・CIDRレンジを指定して、許可・拒否する graph LR Client[\"ゲームクライアント\"] -- API リクエスト --\u003e Guard[\"GS2-Guard (ブロッキングポリシー判定)\"] Guard -- 許可 --\u003e Microservice[\"他のGS2マイクロサービス\"] Guard -- 拒否 --\u003e Block[\"403 / アクセス拒否\"] 検出と制限の分離 各検出条件 (Detection) は「無効」「有効」のいずれかを取り、検出条件が有効な場合に「対応する制限 (Restriction)」が適用されます。 これにより、検出だけ行ってログに残しておき、しばらく状況を確認したのちに本格的に拒否を有効化する、といった段階的な運用が可能です。 既定の挙動とホワイトリスト / ブラックリストの使い分け defaultRestriction を「許可」にしたうえで個別の判定条件で「拒否」を組み合わせることで、ブラックリスト型のポリシーを構築できます。 逆に defaultRestriction を「拒否」にしたうえで passServices や ipAddresses で例外を許可することで、ホワイトリスト型のポリシーを構築できます。 他のマイクロサービスへの適用 GS2-Guard は単独で使うサービスではなく、他のマイクロサービスのネームスペースから参照されて初めて効果を発揮します。 各マイクロサービスのネームスペース設定で GS2-Guard のネームスペースを指定すると、そのネームスペース宛てのAPIリクエストに対して、設定されたブロッキングポリシーが適用されます。 複数のマイクロサービスから同じ GS2-Guard ネームスペースを参照することで、横断的にアクセス制御を統一できます。 トランザクションアクション GS2-Guard ではトランザクションアクションを提供していません。 マスターデータ管理 GS2-Guard は GS2 で一般的な「マスターデータのインポート/エクスポート」ではなく、ネームスペース自身の設定としてブロッキングポリシーを保持します。 ブロッキングポリシーはマネージメントコンソールから設定する他、GS2-Deploy を使って CI から登録するようなワークフローを組むことも可能です。 ブロッキングポリシーの登録の YAML 例は以下のような形になります。 blockingPolicy: defaultRestriction: Allow passServices: - account - version locationDetection: Enable locations: - JP locationRestriction: Deny anonymousIpDetection: Enable anonymousIpRestriction: Deny hostingProviderIpDetection: Enable hostingProviderIpRestriction: Deny reputationIpDetection: Enable reputationIpRestriction: Deny ipAddressesDetection: Enable ipAddresses: - 203.0.113.0/24 ipAddressRestriction: Deny 実装例 GS2-Guard は管理API中心のマイクロサービスです。ゲームエンジン用 SDK (Unity/Unreal Engine) には専用の Domain クラスが提供されていません。 ネームスペースの作成・取得や、ブロッキングポリシーの設定といった操作は、ゲームクライアントから直接呼び出すのではなく、以下のいずれかの手段で操作することを推奨します。 マネジメントコンソール GS2 CLI 各種言語向け一般SDK (C# / Go / Python / TypeScript / PHP / Java) GS2-Deploy によるテンプレート管理 各種SDKの詳細は対応するリファレンスページを参照してください。 より実践的な情報 段階的なポリシー導入 新規にブロッキングポリシーを導入する際は、いきなり全項目を拒否設定にすると、想定外の正常なプレイヤーを締め出してしまう恐れがあります。 最初は検出のみ有効にし、ログから影響範囲を確認したうえで、段階的に拒否設定に切り替えていく運用が推奨されます。 サービスごとの例外設定 passServices を活用すると、特定のGS2マイクロサービスに対してはブロッキングポリシーを適用しない、といった例外設定が可能です。 たとえば、ログイン処理やバージョンチェックは厳しめのIP制限を緩めておき、課金やランキングなど不正の影響が大きいAPIにのみ厳しいポリシーを適用する、といった運用ができます。 詳細なリファレンス GS2-Guard リファレンス","lang":"ja","section":"microservices","summary":"チート対策・WAF・ブロッキングポリシー機能\n","title":"GS2-Guard","url":"/ja/microservices/guard/"},{"content":"複数のプレイヤーでチームを作成し、一緒になんらかの目標に向かって活動するための機能がギルド機能です。 GS2-Guild はギルドメンバーの管理と、ギルドメンバーが実行できる権限管理を行うためのマイクロサービスです。 GS2-Guild において「ギルド」は一人のプレイヤーとして処理され、ギルドユーザーと呼びます。 ギルドメンバーはギルドユーザーとして情報を取得・更新可能なフェデレーションを行うことで、ギルドメンバーが共通のプロパティを操作可能な状態を実現します。 例えば プレイヤーA プレイヤーB が所属している ギルドA があったと仮定します。 プレイヤーレベル や スタミナ といった一般的な情報が プレイヤーA や プレイヤーB に紐づいて管理されることは容易に想像できるでしょう。 これと同じように ギルドA に紐づいて ギルドレベル のようなプロパティを紐づけて管理することも容易に想像できるでしょう。 GS2-Guild の思想の特徴的な部分として プレイヤーA プレイヤーB と ギルドA の明確な区別はなく一律 ユーザー と捉えて処理されることにあります。 そのため、ギルドが持つプロパティには GS2 のあらゆるユーザーデータを扱うマイクロサービスを使用して管理できます。 たとえば、ギルドに GS2-Experience のランク・経験値を持たせることもできますし、GS2-Stamina のスタミナを持たせることもできますし、GS2-SkillTree のスキルツリーを持たせることもできます。 そして、GS2-Guild ではギルドメンバーを管理するとともに、ギルドメンバーが ギルドユーザー としてGS2のAPIを呼び出せるアクセストークンを発行する機能があります。 その際にギルドユーザーとしてどのAPIを呼び出せるのかをより細かく制御するためのアクセス権限制御機能があります。 この機能を利用すれば ギルドマスター の役職をもつプレイヤーのみが、ギルドユーザーとして GS2-Showcase の商品を購入できるような機能を実現できます。 ギルドモデル ギルド単位の設定は GuildModel で管理します。 defaultMaximumMemberCount と maximumMemberCount でメンバーの初期値と上限を定め、 inactivityPeriodDays にギルドマスターの無活動期間を指定すると自動的に後継者を選出できます。 rejoinCoolTimeMinutes で脱退後の再参加クールタイム、 maxConcurrentJoinGuilds や maxConcurrentGuildMasterCount で同時参加ギルド数やギルドマスターの人数制限も設定可能です。 ギルドメンバー ギルドに所属しているプレイヤーを指します ロール ギルドに所属しているプレイヤーの役職に相当するエンティティで、実行可能なAPIの種類を定義します。 1つのギルドモデルに最大10種類のロールを定義できます。 権限設定 ロールには GS2-Identifier の ポリシードキュメント を定義できます。 ギルドユーザーに変わる前の権限 \u0026\u0026 ロールの権限 の範囲でAPIを呼び出すことができます。 つまり、ロールに強力な権限を設定したとしても、元々のギルドユーザーとしてアクセスしている時に呼び出せなかったAPIを呼び出せるようにはなりません。 ポリシードキュメントの例 ギルドマスターに相当する最小のポリシー { \"Version\": \"2016-04-01\", \"Statements\": [ { \"Effect\": \"Allow\", \"Actions\": [ \"Gs2Guild:Describe*\", \"Gs2Guild:Get*\", \"Gs2Guild:AcceptRequest\", \"Gs2Guild:RejectRequest\", \"Gs2Guild:DeleteMember\", \"Gs2Guild:DescribeIgnoreUsers\", \"Gs2Guild:AddIgnoreUser\", \"Gs2Guild:GetIgnoreUser\", \"Gs2Guild:DeleteIgnoreUser\", \"Gs2Gateway:SetUserId\" ], \"Resources\": [\"*\"] } ] } ギルドユーザーに相当する最小のポリシー { \"Version\": \"2016-04-01\", \"Statements\": [ { \"Effect\": \"Allow\", \"Actions\": [ \"Gs2Guild:Describe*\", \"Gs2Guild:Get*\", \"Gs2Guild:PromoteSeniorMember\", \"Gs2Gateway:SetUserId\" ], \"Resources\": [\"*\"] } ] } 実践的な例 権限は GS2-Identifier のポリシードキュメントフォーマットを用いて定義します。 具体的な例として、ギルドの管理権限とギルドユーザーの GS2-Experience のAPIを呼び出す権限を付与するとしましょう。 { \"Version\": \"2016-04-01\", \"Statements\": [ { \"Effect\": \"Allow\", \"Actions\": [ \"Gs2Guild:Describe*\", \"Gs2Guild:Get*\", \"Gs2Guild:AcceptRequest\", \"Gs2Guild:RejectRequest\", \"Gs2Guild:DeleteMember\", \"Gs2Guild:DescribeIgnoreUsers\", \"Gs2Guild:AddIgnoreUser\", \"Gs2Guild:GetIgnoreUser\", \"Gs2Guild:DeleteIgnoreUser\", \"Gs2Gateway:SetUserId\", \"Gs2Experience:*\" ], \"Resources\": [\"*\"] } ] } 前半の 「Gs2Guild」で始まる部分がギルドユーザーとして実行可能なAPIを宣言する部分で、メンバー管理に必要なAPIが指定されています。 「Gs2Gateway:SetUserId」にはギルドユーザーに関する通知を受け取れるようにする権限設定です。 この宣言がないと通知を受け取ることができず、ギルドへの参加申請が届いたことや、ギルドユーザーに関するプロパティの変化をアプリが知ることができなくなります。 最後の「Gs2Experience:*」が GS2-Experience の全てのAPIを呼び出す権限を付与する部分です。 さて、ここで 「Gs2Experience:*」と書いてしまうと、「Gs2Experience:AddExperienceByUserId」 のような任意のプレイヤーに任意の経験値を付与するAPIを呼び出せるようになるのでは？と不安に思うかもしれません。 しかし、ユーザーフェデレーションをする場合、フェデレーションする前のアクセストークンが持つ権限より強い権限を得ることはできません。 そのため、一般的なゲームプレイヤーが持つであろう「ApplicationAccess」権限では元々「Gs2Experience:AddExperienceByUserId」を呼び出すことはできませんので、ロールのポリシードキュメントに全てのAPIを呼び出せるように記述したとしても、「Gs2Experience:AddExperienceByUserId」を呼び出せるようにはなりません。 GS2-Showcase でギルドマスターだけがギルドユーザーとして商品を買えるようにしたければ、ギルドマスターのロールにだけ「Gs2Showcase:Buy」をつけるといった対応をすることで細やかな権限管理ができます。 カスタムロール ギルド固有のロールです。 プレイヤーに権限の組み合わせを自由に定義させたい場合に使用できます。 参加人数 ギルドには参加人数の制限を設定することができます。 参加人数の上限はギルド単位で引き上げることができ、ギルドレベルの上昇とともに参加人数の上限を引き上げるような実装が可能です。 参加方針 ギルドごとに参加方針を設定できます。 「自由参加」と「承認制」を設定できます。 自由参加 参加リクエストを出して、ギルドメンバーに空きがある場合は即時参加が可能です。 承認制 参加リクエストを出してもすぐにはギルドメンバーにはなれません。 ギルドメンバーの中で承認権限をもつプレイヤーに承認してもらうことでギルドメンバーになることができます。 ギルドの検索 ギルドの表示名 ギルドの表示名として登録した文字列の部分一致で検索することができます。 属性値 ギルドには最大5種類の属性値を設定可能です。 属性値は整数値のみで、ギルドの検索条件に使用することができます。 ギルドを検索する際には検索条件として、各属性値に対して最大10種の値で絞り込むことができます。 属性値を大小判定で絞り込むことはできません。 検索条件に複数の属性値を指定した場合は、AND 判定で検索されます。OR で検索する方法はありません。 メンバーが最大に達しているギルドを検索結果に含むか 真偽値で指定できます。true を指定するとメンバーが最大値に達しているギルドも検索結果に含みます。 ちなみに、メンバーが最大値に達しているギルドに対しても参加リクエストを出すことは可能です。 検索対象 検索対象には過去24時間以内に更新のあったギルドのみが含まれます。 これはアクティブではないギルドを対象から除外しつつ、検索に必要なコストを最小にする目的でこのような仕様になっています。 ギルドマスターは特に変更点がなくても1日一回はギルド情報を更新するような実装にしてください。 なお、更新にはメンバーの増減やロールの割り当ても含まれます。 ギルド参加のクールダウン ギルド参加のクールダウンのパラメーターを設定すると、どこかのギルドから離脱した後クールダウンに設定した時間（分単位）が経過するまで他のギルドへの参加リクエストを出すことができません。 複数ギルドへの参加 プレイヤーは複数のギルドに同時に参加できます。 参加できるギルドの数に制約を設けたい場合は、アプリケーションで制御してください。 ギルドマスターが引退した時の緊急措置 唯一のギルドマスターがなんの前触れもなく引退してしまった場合、ギルドの維持が困難になります。 このような状態に陥った時の緊急措置を用意しています。 ギルドマスターの最終アクティブ時間の取得 GetLastGuildMasterActivity 関数を利用すると、ギルドマスターロールを所有しているプレイヤーが最後に Assume した日時を取得できます。 この日時を確認することでギルドマスターロールを持つ「誰」が「いつ」アクセスしたのが最後のアクセスかを判断することができます。 緊急措置の有効化日数 GuildModel には緊急措置を有効化するために待つ必要がある日数を定義できます。 ギルドマスターの最終アクティブ時間から、ここで定めた日数が経過することで緊急措置を実行できるようになります。 緊急措置の実行 緊急措置の実行は PromoteSeniorMember を呼び出すことで実行できます。 このAPIを呼び出すと、ギルドメンバーの中で最も参加日時が古いプレイヤーを新しいギルドマスターに昇格させます。 この時、最終アクティブ時間も昇格したプレイヤーがアクティブになったとして更新されます。つまり、この古参メンバーも長期間アクティブではない場合は追加で一定期間を待つ必要があります。 ギルドマスター交代の通知 GS2-Guild 自体にはギルドマスター交代に関する通知を行う仕組みはありません。 ただし、ギルドメンバーのロールが更新された時に実行されるスクリプト は定義可能ですので、スクリプトからギルドチャットに書き込むなどの追加の処理をすることで、ギルドメンバーがギルドマスター交代に関する情報を知ることができます。 スクリプトトリガー ネームスペースに createGuildScript ・ updateGuildScript ・ joinGuildScript ・ receiveJoinRequestScript ・ leaveGuildScript ・ changeRoleScript ・ deleteGuildScript を設定すると、ギルド作成や更新、参加・離脱、ロール変更など各処理の前後でカスタムスクリプトを実行できます。スクリプトは同期実行に加えて Amazon EventBridge を利用した非同期実行も選択できます。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 createGuildScript （完了通知: createGuildDone ）: ギルド作成の前後 updateGuildScript （完了通知: updateGuildDone ）: ギルド情報更新の前後 joinGuildScript （完了通知: joinGuildDone ）: ギルド参加の前後 receiveJoinRequestScript （完了通知: receiveJoinRequestDone ）: 参加リクエスト受付の前後 leaveGuildScript （完了通知: leaveGuildDone ）: ギルド離脱の前後 changeRoleScript （完了通知: changeRoleDone ）: ロール変更の前後 deleteGuildScript （完了通知: deleteGuildDone ）: ギルド削除の前後 プッシュ通知 設定できる主なプッシュ通知と設定名は以下の通りです。 changeNotification : ギルド情報変更時に通知 joinNotification : メンバー参加時に通知 leaveNotification : メンバー離脱時に通知 changeMemberNotification : メンバー情報変更時に通知 receiveRequestNotification : 参加リクエスト受付時に通知 removeRequestNotification : 参加リクエスト削除時に通知 いずれも GS2-Gateway 経由でリアルタイムに通知でき、オフライン端末へのモバイルプッシュ転送も指定できます。 トランザクションアクション GS2-Guild では以下のトランザクションアクションを提供しています。 検証アクション: ギルドメンバーの包含確認（特定のユーザーがメンバーか）、最大参加可能人数の検証 消費アクション: 最大参加可能人数の減算 入手アクション: 最大参加可能人数の加算、最大参加可能人数の設定 「ギルドメンバーの包含確認」を検証アクションとして利用することで、特定のギルドに所属しているメンバーのみが受け取れる報酬や、特定のギルドメンバーではない場合のみ実行可能な処理、といった制限をトランザクション内に組み込むことが可能になります。これにより、ギルド対抗イベントの報酬配布や、ギルド未所属者限定の勧誘キャンペーンなどを安全に実装できます。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 GuildModel : メンバー上限や再参加クールタイムなどの設定 RoleModel : ギルド内権限を定義するロール マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 実装例 ギルドを作成 ギルドを検索 ギルドに参加リクエストを送信 ギルドの参加方針が「自由参加」の場合は直ちにギルドメンバーになります 送信した参加リクエストの一覧を取得 参加リクエストを取り下げ ギルドユーザーとしてアクセスするためのゲームセッションを取得 受信した参加リクエストの一覧を取得 参加リクエストを承認 参加リクエストを否認 詳細なリファレンス GS2-Guild リファレンス","lang":"ja","section":"microservices","summary":"ギルド機能","title":"GS2-Guild","url":"/ja/microservices/guild/"},{"content":"GS2-Identifier は、GS2 マネージメントコンソールおよび GS2 の API にアクセスするためのクレデンシャルを管理するサービスです。 GS2 のオーナーアカウントに紐づくユーザー、各ユーザーに付与される権限 (セキュリティポリシー)、そして実際の API 呼び出しに利用するクライアントID / クライアントシークレットを発行・管理します。 GS2-Identifier はゲームクライアントから直接呼び出すことを想定していないサービスであり、運営側のセットアップやデプロイ自動化、CI/CD パイプラインなどで利用されます。 IAM 的な設計 GS2-Identifier は、クラウドサービスにおける IAM (Identity and Access Management) に相当する概念を提供します。 主要な要素は次の通りです。 ユーザー: GS2 オーナーアカウント配下に作成する個別の利用主体 セキュリティポリシー: 操作可能なリソースとアクションを記述したポリシー文書 セキュリティポリシーのアタッチ: ユーザーに対してセキュリティポリシーを紐づけ、権限を付与 クライアントID / クライアントシークレット: ユーザーごとに発行される API 認証情報 graph TD Owner[\"GS2 オーナー\"] --\u003e User[\"ユーザー\"] User --\u003e|アタッチ| Policy[\"セキュリティポリシー\"] User --\u003e|発行| Credential[\"クライアントID クライアントシークレット\"] Credential --\u003e|認証| API[\"GS2 API\"] Policy --\u003e|権限制御| API セキュリティポリシー セキュリティポリシーは、JSON 形式で記述された権限定義です。許可するリソース GRN と、許可するアクション ( Gs2Account:CreateAccount のような操作識別子) を記述することで、そのポリシーがアタッチされたユーザーに対してどのような操作を許可するかを表現します。 開発・運用の各フェーズに応じて適切なポリシーを設計し、ユーザーごとに最小権限を付与する運用が推奨されます。 クライアントID / クライアントシークレット ユーザーに対して発行されるクライアントIDとクライアントシークレットは、GS2 API を呼び出す際の認証情報として利用されます。1ユーザーに対して複数のクレデンシャルを発行することができ、用途やデバイスに応じて使い分けることができます。 クライアントシークレットは発行時にのみ取得可能であり、それ以降は GS2 から取り出せません。万一漏洩した場合は当該クレデンシャルを削除し、再発行してください。 GS2-Version と連動した権限の段階的付与 GS2-Identifier では、ユーザーに紐づくクレデンシャルに「ガード」として GS2-Version の Project Token 発行を要求することができます。 具体的には、アプリケーション組み込みのクライアントID / クライアントシークレットには「ログインとバージョンチェックを実行できる程度」の弱い権限のみを与えておき、バージョンチェックに成功した後で発行される強い権限のクレデンシャルを使ってゲーム本編にアクセスする、という設計が可能です。 graph TD App[\"アプリケーション内蔵 クレデンシャル (最小権限)\"] --\u003e|バージョンチェック| Version[\"GS2-Version\"] Version --\u003e|Project Token 発行| App App --\u003e|Project Token を用いた認証| Strong[\"強い権限の クレデンシャル\"] Strong --\u003e|ゲーム本編 API 呼び出し| API[\"GS2 API\"] このフローにより、古いアプリケーションバイナリや、サポートを終了したアセットバージョンで動作しているクライアントが、ゲーム本編の API にアクセスし続けることを防止できます。詳細は GS2-Version のドキュメントを参照してください。 二要素認証 GS2 マネージメントコンソールへのログインユーザーに対して、二要素認証を有効化することが可能です。GS2-Identifier では二要素認証の設定情報を管理します。 トランザクションアクション GS2-Identifier ではトランザクションアクションを提供していません。 マスターデータ管理 GS2-Identifier ではマスターデータの登録はありません。セキュリティポリシーやユーザー、クレデンシャルなどはマネージメントコンソールや GS2-Deploy、API を通じて直接管理します。 実装例 GS2-Identifier は管理API/サーバーサイドAPI中心のマイクロサービスです。ゲームエンジン用 SDK (Unity/Unreal Engine) には専用の Domain クラスが提供されていません。 ユーザー・セキュリティポリシー・クレデンシャルの管理操作は、運営側のセットアップやデプロイ自動化、CI/CD パイプラインから実行することを想定しているため、以下のいずれかの手段で操作することを推奨します。 GS2 マネージメントコンソール (GUI でユーザー・ポリシー・クレデンシャルを操作) GS2-Deploy のテンプレートにユーザー・ポリシー・クレデンシャルの定義を記述し、CI から反映 各種言語向け一般SDK (C# / Go / Python / TypeScript / PHP / Java) による運営ツールからの管理 API 呼び出し GS2 CLI 各種SDKの詳細は対応するリファレンスページを参照してください。 Project Token の取得 例外的に、ユーザーに対するログイン (Project Token の発行) はアプリケーション側で実行するケースがあります。組み込みのクライアントID / クライアントシークレットを用いて Login API を呼び出し、取得した Project Token を GS2 API の認証情報として利用することで、ユーザーに紐づくセキュリティポリシーの範囲で API を呼び出せます。 ログイン API はゲームエンジン用 SDK の Domain 経由ではなく、各種言語向け一般SDK (C# / Go / Python / TypeScript / PHP / Java) を用いて呼び出してください。GS2-Version と組み合わせる場合は、バージョンチェック後に Project Token を発行することで権限の段階的付与が実現できます。 より実践的な情報 運営フェーズごとの権限分離 開発フェーズと本番フェーズでは、必要となる権限の種類や強さが異なります。GS2-Identifier ではユーザーごとに異なるセキュリティポリシーをアタッチできるため、次のようなアカウント設計が考えられます。 開発者ユーザー: 開発環境のリソースに対する読み書き権限のみ 運用ユーザー: 本番環境のリソースに対する読み取りと限定的な書き込み権限 CI ユーザー: GS2-Deploy の実行に必要な権限 ゲームクライアント組み込みユーザー: ログインとバージョンチェックのみ実行可能 利用主体ごとに専用のクレデンシャルを発行し、最小権限の原則に従って運用することで、万一クレデンシャルが漏洩した際の影響を限定できます。 クレデンシャルのローテーション セキュリティを維持するため、クライアントID / クライアントシークレットは定期的にローテーションすることを推奨します。新しいクレデンシャルを発行してから古いクレデンシャルを削除する手順を踏むことで、無停止での切り替えが可能です。 詳細なリファレンス GS2-Identifier リファレンス","lang":"ja","section":"microservices","summary":"クレデンシャル管理機能\n","title":"GS2-Identifier","url":"/ja/microservices/identifier/"},{"content":"ゲームをプレイしていない期間に応じて報酬を付与する仕組みを実現します。 スマートフォン向けゲームでは「久しぶりにアプリを起動したら大量の報酬を獲得できた」というデザインがプレイヤーの再訪促進に強く寄与します。 GS2-Idle はそのような放置報酬を簡単に組み込むためのマイクロサービスです。 graph LR Start[\"待機開始\"] --\u003e Idle[\"放置時間が経過\"] Idle --\u003e Prediction[\"獲得予定報酬を取得\"] Prediction --\u003e Receive[\"報酬を受取\"] Receive --\u003e Start カテゴリー 放置報酬は複数用意することができます。 プレイヤーはカテゴリー毎に1つの待機時間を持つことができます。 カテゴリーは「キャラクターのスタミナ自然回復」「採掘場の自動採掘」「素材の自動生成」など、それぞれ独立した放置報酬の単位として活用できます。 放置時間 カテゴリーには放置時間 何分毎に報酬を得られるかと、放置時間の最大値の初期値を設定できます。 放置時間の最大値はプレイヤーごとに引き上げることが可能です。報酬受取後に未消化の待機時間をリセットするか次回に持ち越すかは rewardResetMode で選択できます。 rewardResetMode 振る舞い Reset 報酬受取時に経過時間が0にリセットされます。獲得タイミングのあまり時間は破棄されます。 CarryOver 報酬受取時に獲得済みのインターバル分だけ経過時間から減算されます。あまり時間は次回の待機にも引き継がれます。 放置報酬 放置報酬には放置時間が一定時間経過すると得られるアイテムの一覧を定義します。 付与する報酬は、「経験値＋アイテム」のように複数(最大10個)設定することができます。 さらに、待機時間内で報酬の内容にバリエーションをもてるように、複数の報酬リストを設定することができます。 例えば、10分待機する毎に「経験値+10」と「強化素材Lv.1 x 1」を入手できる。 ただし、60分毎のタイミングでは上記の報酬の代わりに「経験値+20」と「強化素材Lv.2 x 1」を入手できる。 上記のような例を考えてみましょう。 この場合、放置報酬には以下のようなテーブルを設定します。 - 報酬1 報酬2 1 経験値+10 強化素材Lv.1 x 1 2 経験値+10 強化素材Lv.1 x 1 3 経験値+10 強化素材Lv.1 x 1 4 経験値+10 強化素材Lv.1 x 1 5 経験値+10 強化素材Lv.1 x 1 6 経験値+20 強化素材Lv.2 x 1 これで経過時間に応じて報酬アイテムの内容を変更することができます。 報酬の内容はループするため、2時間経過後には「1,2,3,4,5,6,1,2,3,4,5,6」のアイテムが手に入ることになります。 放置報酬のランダム抽選 報酬の内容にもっとランダム性を持たせたいことがあります。 そのような場合には、報酬に GS2-Lottery の抽選処理を設定してください。 従来の GS2-Lottery では抽選を行うまで結果が不定ですが、GS2-Idle を使用するケースでは待機開始時点で乱数シードを生成し 報酬の計算時にその乱数シードを利用して抽選を行うことで、待機途中でもランダムに抽選されたアイテムの内容をプレイヤーに提示でき、内容は不変になります。 （GS2-Lottery の景品テーブルを変更すると、この前提は崩れます） 待機時間のスケジュール管理 イベントと連動した放置報酬を実装できるように、カテゴリー毎に GS2-Schedule のイベントと関連づけることができます。 イベントの開催期間を 2023-01-01 00:00 ~ 2023-02-01 00:00 とした場合に、2023-01-31 23:00 から待機を始めたとします。 この場合、2023-02-01 00:00 になった段階で放置時間のカウントはストップします。 そのため、2023-02-01 01:00 に報酬を受け取る場合も、2023-02-01 09:00 に報酬を受け取る場合も内容は一定となります。 イベントに繰り返し設定がある場合、繰り返し回数が変化する時に放置時間はリセットされます。 例えば、毎週月曜日 00:00 ~ 火曜日 00:00 の繰り返しイベントの場合、翌週月曜日 00:00 になった瞬間に前週の報酬を受け取っていなかったとしても待機時間はリセットされます。 待機時間のスケジュールとは別に、報酬の受取可能期間を設定できます。 受取可能期間外に Prediction で予定報酬を取得することはできますが、受取APIを呼ぶとエラーとなります。 ステータス プレイヤーは カテゴリー ごとに 1 つの Status を保持します。 Status には以下のような情報が含まれます。 フィールド 説明 idleStartedAt 待機開始時刻 idleMinutes 累計の放置時間（分） nextRewardsAt 次の報酬獲得タイミング maximumIdleMinutes このプレイヤーに適用される放置時間の上限 randomSeed GS2-Lottery と組み合わせた抽選用の固定シード 実装例 待機の開始 初めて待機時間の情報を取得した際に待機が開始されます。 ステータス（待機中の情報）の一覧を取得 報酬の内容を確認 獲得予定の報酬を受取前に確認するために Prediction API を使用します。 プレイヤーに「あと N 分待てば、これだけのアイテムが手に入る」といった事前提示を行いたい場合に活用できます。 報酬の受け取り 報酬を受け取ると、待機時間がリセットされます。 また、待機時間に報酬獲得タイミングまでのあまりが存在する場合も0にリセットされます（ rewardResetMode で CarryOver を指定した場合はあまり時間が次回に持ち越されます）。 スクリプトトリガー ネームスペースに overrideAcquireActionsScriptId や receiveScript を設定すると、報酬の算出や受取処理の前後でカスタムスクリプトを実行できます。 トリガーは同期・非同期の実行方式を選択でき、非同期処理では GS2-Script や Amazon EventBridge を利用した外部連携も可能です。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 overrideAcquireActionsScriptId : 報酬算出時に実行される同期スクリプト。動的に報酬リストを上書きできます。プレイヤーの状態に応じた報酬の差し替えなどに活用できます。 receiveScript （完了通知: receiveDone ）: 報酬受取の前後。同期実行で受取の許可・否認や倍率補正、非同期実行で Amazon EventBridge を介した外部連携が可能です。 トランザクションアクション GS2-Idle では以下のトランザクションアクションを提供しています。 種別 アクション 説明 消費 Gs2Idle:DecreaseMaximumIdleMinutesByUserId 最大放置時間の減算 入手 Gs2Idle:IncreaseMaximumIdleMinutesByUserId 最大放置時間の加算 入手 Gs2Idle:SetMaximumIdleMinutesByUserId 最大放置時間の設定 入手 Gs2Idle:ReceiveByUserId 報酬の受け取り 「最大待機時間の加算」を入手アクションとして利用することで、特定のアイテムを入手した際や、プレイヤーランクが上昇した際などに、自動的に放置報酬を貯められる上限時間を拡張するといった処理が可能になります。これにより、プレイヤーの成長に合わせてより多くの放置報酬を蓄積できるようになり、プレイ体験の向上に繋げられます。 バフによる補正 GS2-Buff を利用すると、カテゴリーモデルの acquireActions やプレイヤーごとの maximumIdleMinutes をバフで補正し、イベントやキャンペーンに応じて待機報酬の内容や上限時間を動的に調整できます。 たとえば「週末は放置報酬 1.5 倍」「特定の称号を持っているプレイヤーは最大放置時間 +60 分」といった運用が可能です。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 CategoryModel : 放置時間や報酬テーブルの設定 以下はマスターデータの JSON 例です。 { \"version\": \"2024-04-25\", \"categoryModels\": [ { \"name\": \"category-0001\", \"metadata\": \"Stamina\", \"rewardIntervalMinutes\": 10, \"defaultMaximumIdleMinutes\": 360, \"rewardResetMode\": \"CarryOver\", \"acquireActions\": [ { \"acquireActions\": [ { \"action\": \"Gs2Experience:AddExperienceByUserId\", \"request\": \"{\\\"experienceValue\\\": 10}\" } ] } ] } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 詳細なリファレンス GS2-Idle リファレンス","lang":"ja","section":"microservices","summary":"放置報酬機能\n","title":"GS2-Idle","url":"/ja/microservices/idle/"},{"content":"システムや運営からプレイヤーにメッセージやプレゼントを届ける仕組みを実現します。 ゲームでは「お詫び配布」「ログインボーナス」「課金特典」「イベント報酬」など、プレイヤーに非同期で報酬を届けるシチュエーションが頻繁に発生します。 GS2-Inbox はメッセージのキューイング、未読／既読管理、報酬の添付、有効期限による自動削除を提供し、ゲームのライフサイクル全般を通じてプレゼントボックス機能を担います。 sequenceDiagram participant Ops as 運営 / サーバー participant Inbox as GS2-Inbox participant Player as プレイヤー Ops-\u003e\u003eInbox: メッセージ送信 (報酬付き) Inbox--\u003e\u003ePlayer: receiveNotification 通知 Player-\u003e\u003eInbox: メッセージ一覧取得 Player-\u003e\u003eInbox: メッセージ開封 (Read) Inbox-\u003e\u003ePlayer: 添付報酬を付与 (トランザクション) Player-\u003e\u003eInbox: 既読メッセージの削除 メッセージ 既読管理 メッセージは既読状態をもちます。 既読状態のメッセージをリストに残すか、リストから削除するかを設定が可能です。 ネームスペース設定の isAutomaticDeletingEnabled を有効にすると、既読化のタイミングでメッセージが自動削除されます。 プレゼントボックスの一覧には未受領のメッセージだけを残す仕様を、サーバー側の追加実装なしで実現できます。 報酬の添付 メッセージには報酬を添付することが可能です。 既読フラグを立てる代わりに、メッセージに添付された報酬を受け取ることができます。 添付できる報酬は GS2 のトランザクション機構を介した入手アクション（ readAcquireActions ）として表現されるため、 GS2-Inventory GS2-Money GS2-Experience など、任意のマイクロサービスのリソースを報酬として配布できます。 有効期限 メッセージには有効期限（ expiresAt ）を設定できます。 有効期限を迎えたメッセージは、未読状態、開封後の既読状態にかかわらず、自動的に削除されます。 添付された報酬を受け取っていなかったとしても削除されます。 メッセージのライフサイクル stateDiagram-v2 [*] --\u003e Unread: メッセージ受信 Unread --\u003e Read: 開封 (Read) Unread --\u003e Expired: 有効期限切れ Read --\u003e Deleted: 削除 (Delete) Read --\u003e AutoDeleted: isAutomaticDeletingEnabled Read --\u003e Expired: 有効期限切れ Deleted --\u003e [*] AutoDeleted --\u003e [*] Expired --\u003e [*] グローバルメッセージ 特定のプレイヤーではなく、全プレイヤーに対して同一のメッセージを配布したい場合は「グローバルメッセージ」を使用します。 グローバルメッセージはマスターデータとして定義し、各プレイヤーが ReceiveGlobalMessageAsync を呼び出した際に、まだ受け取っていないメッセージをそのプレイヤーの受信ボックスにコピーします。 機能 説明 expiresAt 絶対時刻でのメッセージ有効期限 expiresTimeSpan 受信からの相対期間で有効期限を決定（例: 受信から3日間） messageReceptionPeriodEventId GS2-Schedule のイベントIDを指定し、特定期間中だけグローバルメッセージを受信可能とする { \"version\": \"2018-04-20\", \"globalMessages\": [ { \"name\": \"welcome\", \"metadata\": \"新規ユーザー向けプレゼント\", \"readAcquireActions\": [ { \"action\": \"Gs2Money:DepositByUserId\", \"request\": \"{\\\"namespaceName\\\":\\\"money-0001\\\",\\\"slot\\\":1,\\\"userId\\\":\\\"#{userId}\\\",\\\"price\\\":0,\\\"count\\\":100}\" } ], \"expiresTimeSpan\": { \"days\": 7 } } ] } マスターデータの種類には以下があります。 GlobalMessage : 全プレイヤーに配信するメッセージ定義 マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 スクリプトトリガー ネームスペースに receiveMessageScript ・ readMessageScript ・ deleteMessageScript を設定すると、メッセージ受信、開封、削除時の前後でカスタムスクリプトを実行できます。スクリプトは同期・非同期の実行方式を選択でき、非同期では GS2-Script や Amazon EventBridge を利用した外部連携も可能です。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 receiveMessageScript （完了通知: receiveMessageDone ）: メッセージ受信の前後 readMessageScript （完了通知: readMessageDone ）: メッセージ開封の前後 deleteMessageScript （完了通知: deleteMessageDone ）: メッセージ削除の前後 プッシュ通知 設定できる主なプッシュ通知と設定名は以下の通りです。 receiveNotification : メッセージ受信時に通知 通知端末がオフラインの場合にモバイルプッシュ通知へ転送する設定も指定でき、確実な配信を実現できます。 GS2-Gateway の WebSocket 接続を持つプレイヤーには即時通知を、未接続のプレイヤーには iOS / Android のモバイルプッシュ通知を自動送信するといった配信戦略を、追加実装なしで実現できます。 トランザクションアクション GS2-Inbox では以下のトランザクションアクションを提供しています。 消費アクション: メッセージの開封、メッセージの削除 入手アクション: メッセージの送信 「メッセージの送信」を入手アクションとして利用することで、ショップでの商品購入時やクエストクリア時の報酬として、プレイヤーのプレゼントボックスに直接メッセージ（アイテム付き）を届けるといった処理をトランザクション内で完結させることが可能になります。これにより、報酬付与のタイミングを柔軟に制御でき、プレイヤーのインベントリが一杯な場合でも、一旦プレゼントボックスに報酬を退避させるといった運用が容易になります。 実装例 メッセージを送信 メッセージの送信はゲームエンジン用の SDK では直接呼び出すことはできません。通常はサーバーサイドのスクリプトや、上記の「トランザクションアクション」を介して実行されます。 運営からの一括配布の場合はマネージメントコンソールや GS2-Deploy 経由で送信できます。 ゲーム内で「メッセージ送信」を報酬や演出のトリガーにする場合は、GS2-Exchange や GS2-Quest の acquireActions に「 Gs2Inbox:SendMessageByUserId 」を組み込みます。 受信したメッセージ一覧を取得 未読のメッセージのみの一覧を取得 既読のメッセージのみの一覧を取得 メッセージを開封 開封すると、メッセージが Read 状態に遷移すると同時に readAcquireActions に定義された報酬付与処理がトランザクションとして実行されます。 ネームスペース設定で isAutomaticDeletingEnabled を有効にしている場合、開封と同時にメッセージが削除されます。 メッセージを一括開封 複数のメッセージをまとめて開封し、それぞれの添付報酬を1つのトランザクションとして受け取ります。 報酬付与処理は内部で逐次実行されるため、同一アイテムが大量に添付されているメッセージを並列開封した際に発生しうる更新レート制限の問題を回避できます。 メッセージを削除 グローバルメッセージを受信 グローバルメッセージの中でまだ受け取っていないメッセージがある場合、 自分の受信ボックスにメッセージをコピーします。 ログイン時やタイトル画面のロード完了時など、タイミングをゲーム側で制御できます。 よくある質問 メッセージの一括開封はできますか？ はい、 BatchReadAsync を使用することで、複数のメッセージを1つのトランザクションとしてまとめて開封できます。詳しくは メッセージを一括開封 を参照してください。 なお、個別の ReadAsync を並列で呼び出すことも可能ですが、報酬付与処理が各マイクロサービスの定義するリミットに達しないかを十分配慮するべきです。 例えば、GS2-Inventory には同一のアイテムの所持数量の更新は1秒間に3回までと定義されています。 同じアイテムが添付された10のメッセージを並列で開封するとこの制限を超えることがあります。 このリミットを超過しても、原則として結果が失われることはありません。 しかし、開封APIを呼び出した後、非同期で動作する報酬付与処理の完了まで時間を要する可能性があります。 こうした場合でも、 BatchReadAsync であれば内部で順次実行されるため、レート制限を踏まずに確実に報酬を受け取ることができます。 メッセージの未読数バッジを表示したい MessagesAsync(isRead: false) で取得したリストの件数を未読数として表示できます。受信通知（ receiveNotification ）を購読しておけば、新着メッセージが届いたタイミングでクライアント側で再取得することができます。 詳細なリファレンス GS2-Inbox リファレンス","lang":"ja","section":"microservices","summary":"プレゼントボックス機能\n","title":"GS2-Inbox","url":"/ja/microservices/inbox/"},{"content":"プレイヤーが所持しているアイテムの情報を管理します。 アイテムの管理には3種類の方式があります。 1つ目はスタンダードインベントリ、2つ目はシンプルインベントリ、3つ目は巨大インベントリです。 スタンダードインベントリは以下のような機能を有します インベントリの容量制限 同一アイテムを一定数量ごとに複数のスタックに分割 アイテムに有効期限を設定 シンプルインベントリはスタンダードインベントリが持つような機能は持ちません しかし、その代わりに複数のアイテムの増減処理をまとめて行うことができます。 シンプルインベントリをうまく利用することで、APIのコール数を削減することが可能です。 巨大インベントリはシンプルインベントリと同じくスタンダードインベントリが持つような機能は持ちません。 シンプルインベントリのように複数のアイテムの増減処理をまとめて行うこともできません。 その代わり、アイテムの所持数量を 64bit 整数の範囲を超えて保持することができます。 スタンダードインベントリ インベントリ プレイヤーが所持するカバンに相当するエンティティです。 カバンには容量が設定可能で、その容量を超えるアイテムを格納することはできません。 アイテム アイテムは所持品の種類を定義します。 アイテムには、スタック可能な最大数量を指定できます。 たとえば、ポーションというアイテムの種類が存在し、最大99個スタック可能とした場合 インベントリの容量の消費量1で99個までポーションを所持することが可能となります。 さらに、アイテムには複数スタックを所持可能かを指定できます。 複数スタック所持を可能に設定すると、100個以上のポーションを所持できるようになり、 例えば、150個のポーションを所持している場合は 99 個スタックされたポーションと、51個スタックされたポーションの2つのエントリが作成され、 インベントリの容量が 2 消費されます。 複数スタック所持を不可能の設定した場合、99個を超えるポーションを所持することはできなくなり それ以上ポーションを入手しても破棄されます。 アイテムの有効期限 アイテムには有効期限を設定できます。 有効期限を設定したアイテムは、設定時刻をすぎると自動的にインベントリから消去されます。 有効期限の設定されたアイテムは有効期限ごとに異なるスタックが作成され、それぞれインベントリの容量を消費します。 そのため、複数スタックを所持できないアイテムに有効期限をつけて配布すると、最初に入手した有効期限のアイテム（あるは最初に入手した有効期限のないアイテム）以外は破棄されます。 アイテムを使用する際には明示的に有効期限（アイテムセット名）を指定しなければ、有効期限の近いアイテムから優先して消費されます。 アイテムセット 1種類のアイテムを複数スタック管理できるよう、アイテムの種類をまとめたアイテムセットというエンティティが存在します。 このエンティティはスタックごとにアイテムの種類を表すIDとは別に、スタック固有のIDをもちます。 このスタック固有のIDを使用すれば、「ポーション x 99」と「ポーション x 51」のそれぞれのスタックを明確に区別することができます。 参照元 (Reference Of) アイテムセットには「参照元」情報を付与することができます。これは、特定のアイテムが他のエンティティ（例：キャラクターの装備、パーティへの編成、マーケットへの出品など）から使用されていることを示すために利用されます。 参照元が1つ以上設定されているアイテムセットは、たとえ所持数量が十分であっても消費したり削除したりすることができなくなります。これにより、装備中のアイテムを誤って売却したり、強化素材にしてしまうといったミスをシステムレベルで防ぐことができます。 ポーションを消費する際に、ポーションを示すアイテムIDに加えてスタック固有のIDを指定することで、どちらのスタックから消費するかを明示することができます。 スタック固有のIDは省略可能で、省略した場合は最も少ないスタックから優先して使用されます。 シンプルインベントリ シンプルインベントリ プレイヤーが所持するカバンに相当するエンティティです。 複数のシンプルアイテムを束ねる存在で、シンプルインベントリでは特にプロパティを持ちません。 シンプルアイテム アイテムは所持品の種類を定義します。 巨大インベントリ 巨大インベントリ プレイヤーが所持するカバンに相当するエンティティです。 複数の巨大アイテムを束ねる存在で、巨大インベントリでは特にプロパティを持ちません。 巨大アイテム アイテムは所持品の種類を定義します。 スクリプトトリガー ネームスペースに acquireScript ・ overflowScript ・ consumeScript ・ simpleItemAcquireScript ・ simpleItemConsumeScript ・ bigItemAcquireScript ・ bigItemConsumeScript を設定すると、アイテムの入手・消費処理の前後でカスタムスクリプトを呼び出せます。スクリプトは同期・非同期の実行方式を選択でき、非同期では GS2-Script や Amazon EventBridge を介した外部処理にも対応します。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 acquireScript （完了通知: acquireDone ）: スタンダードアイテム入手の前後 overflowScript （完了通知: overflowDone ）: 容量超過時の前後 consumeScript （完了通知: consumeDone ）: スタンダードアイテム消費の前後 simpleItemAcquireScript （完了通知: simpleItemAcquireDone ）: シンプルアイテム入手の前後 simpleItemConsumeScript （完了通知: simpleItemConsumeDone ）: シンプルアイテム消費の前後 bigItemAcquireScript （完了通知: bigItemAcquireDone ）: 巨大アイテム入手の前後 bigItemConsumeScript （完了通知: bigItemConsumeDone ）: 巨大アイテム消費の前後 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 InventoryModel : インベントリ容量や種類を定義 ItemModel : スタック上限や有効期限を定義 マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 バフによる補正 GS2-Buff と連携すると、インベントリの currentInventoryMaxCapacity や AcquireItemSetByUserId ・ ConsumeItemSetByUserId ・ AcquireSimpleItemsByUserId ・ ConsumeSimpleItemsByUserId ・ AcquireBigItemByUserId ・ ConsumeBigItemByUserId の入手量・消費量をバフで補正できます。イベントやキャンペーンに応じて容量や入手・消費量を柔軟に調整できます。 トランザクションアクション GS2-Inventory では以下のトランザクションアクションを提供しています。 スタンダードインベントリ 検証アクション: インベントリ最大容量の検証、アイテム所持数量の検証、参照元の検証 消費アクション: アイテムセットの消費 入手アクション: キャパシティの加算・設定、アイテムセットの入手（グレード指定含む）、参照元の追加・削除 「参照元の追加・削除」を入手アクションとして利用することで、装備の変更や編成の更新をトランザクション内で安全に行い、同時にアイテムの保護状態を切り替えることが可能になります。 シンプルインベントリ 検証アクション: シンプルアイテム所持数量の検証 消費アクション: シンプルアイテムの消費 入手アクション: シンプルアイテムの入手・設定 巨大インベントリ 検証アクション: 巨大アイテム所持数量の検証 消費アクション: 巨大アイテムの消費 入手アクション: 巨大アイテムの入手・設定 実装例 アイテムを入手 アイテムの入手はゲームエンジン用の SDK では処理できません。 アイテムを消費 このAPIでアイテムの消費処理を行うことは推奨していません。 GS2-Exchange / GS2-Showcase / GS2-Quest といったサービスを通してアイテムの消費を行う代わりに 何らかの処理を実行することを推奨します。 スタンダード シンプル 巨大 インベントリの情報を取得 スタンダード シンプル シンプルインベントリにこの機能はありません 巨大 巨大インベントリにこの機能はありません インベントリ内のアイテム一覧を取得 スタンダード シンプル 巨大 インベントリの容量を拡大 インベントリの容量を拡大はゲームエンジン用の SDK では処理できません。 所持証明署名の取得 GS2 内の他のマイクロサービスと連携する際に、本当に GS2-Inventory でアイテムを所有していることを保証したデータを求められることがあります。 たとえば、GS2-Inventory でキャラクターの所持状態を管理しており、GS2-Formation でパーティの編成状態を管理するとします。 GS2-Formation にパーティメンバーを設定する際に「character-0001」というキャラクターを設定するよう APIリクエストを出すことになりますが GS2-Formation は所持証明署名をとあわせて「character-0001」を指定するよう要求します。 これによって、GS2-Formation は裏で GS2-Inventory と通信して、本当に所持しているキャラクターかを判断する必要がなくなります。 スタンダード シンプル 巨大 巨大インベントリにはこの機能はありません。 詳細なリファレンス GS2-Inventory リファレンス","lang":"ja","section":"microservices","summary":"所持品管理機能\n","title":"GS2-Inventory","url":"/ja/microservices/inventory/"},{"content":"GS2-JobQueue はゲームサーバー上で実行する処理を非同期に積み上げるためのジョブキュー機能を提供します。 ゲームの処理には、すぐに結果を返す必要のないものや、サーバー側で時間をかけて段階的に進めたいものがあります。 そのような処理を「ジョブ」としてキューに登録しておき、後からプレイヤーがアクセスしたタイミングや明示的なAPI呼び出しによって実行することができます。 主な用途 GS2-Script を非同期に実行するための実行基盤 長時間処理を細かいステップに分割し、ステップごとにジョブとして登録して順次処理する ログイン中に発生したリワード配布などをまとめてサーバー側でトランザクション発行・実行 他マイクロサービスの完了通知ハンドラとして、後続処理を非同期に行う graph LR Producer[\"ジョブ登録元 (他のマイクロサービス / GS2-Script)\"] --\u003e Queue[\"GS2-JobQueue\"] Queue --\u003e Run[\"プレイヤーが Run を実行 または 自動実行\"] Run --\u003e Script[\"GS2-Script\"] Script -- 成功 --\u003e Result[\"JobResult として記録\"] Script -- 失敗 --\u003e Retry{\"最大試行回数 に到達?\"} Retry -- No --\u003e Queue Retry -- Yes --\u003e DeadLetter[\"DeadLetterJob として保管\"] 自動実行モード ネームスペースの設定で enableAutoRun を有効にすると、各マイクロサービスのAPI処理の最後にユーザーのキューに積まれているジョブを自動的に実行します。 プレイヤーがアプリを操作するだけで、サーバー側に積まれたジョブが順次消化されていきます。 enableAutoRun を無効にする場合は、クライアントから明示的に Run API を呼び出してジョブを実行する必要があります。 ジョブ結果 ジョブの実行結果は試行回数( tryNumber )ごとに JobResult として記録されます。 JobResult には GS2-Script の終了コード・実行ログ・結果ペイロードなどが含まれ、後から実行履歴を確認することができます。 通知設定 ネームスペースの設定で runNotification ・ pushNotification を構成しておくと、ジョブが実行されたとき、または新規にジョブがキューに積まれたときに GS2-Gateway を経由してクライアントへ通知できます。 この通知をフックに、クライアント側で残り情報を再取得するといった連携が可能です。 トランザクションアクション GS2-JobQueue は他のマイクロサービスから完了通知の受け先として呼び出されることが多く、トランザクションアクションとしてジョブ登録を提供しています。 入手アクション: ジョブをユーザーのキューに登録 たとえば GS2-Mission の完了報酬として GS2-JobQueue にジョブを積み、後でまとめて GS2-Script を実行するといった構成が可能です。 マスターデータ管理 GS2-JobQueue はマスターデータを持ちません。 振る舞いはネームスペースの設定でのみ制御します。 実装例 自分のキューに積まれているジョブを実行 enableAutoRun を無効にした場合や、明示的にジョブの消化を進めたい場合に呼び出します。 Run を呼び出すと、ジョブを1件取り出して GS2-Script を実行し、その結果を返します。 IsLastJob が true であれば、これ以上消化すべきジョブが残っていないことを示します。 ジョブの実行結果を取得 特定のジョブの特定の試行回数の実行結果を取得します。 ジョブの状態を取得 キューに積まれているジョブの最新状態を取得します。 ジョブの現在の試行回数や登録された GS2-Script の情報などを確認できます。 詳細なリファレンス GS2-JobQueue リファレンス","lang":"ja","section":"microservices","summary":"非同期ジョブキュー\n","title":"GS2-JobQueue","url":"/ja/microservices/job_queue/"},{"content":"GS2-Key は、GS2 内で利用される暗号化キー (共通鍵) を管理し、AES による暗号化・復号 API を提供するサービスです。 機密性の高いデータをサーバー側で暗号化・復号する用途のほか、GS2 自身が内部的に利用する各種署名・暗号化処理の鍵管理基盤としても利用されます。 暗号化キーの管理 GS2-Key では、暗号化キーをネームスペース配下に作成して管理します。 キーには次のような情報を持たせることができます。 キー名 説明 (description: 用途や説明など、運用上の識別に利用) 実際の暗号化に使用される秘密鍵 (シークレット) は、キーの作成時に GS2 側で安全に生成され、GS2 内部に保管されます。秘密鍵自体をクライアント側に取り出して利用する設計ではなく、暗号化・復号のリクエストを GS2-Key に送信して結果のみを受け取る仕組みとなっています。 graph TD App[\"アプリケーション\"] --\u003e|Encrypt(平文)| Key[\"GS2-Key\"] Key --\u003e|暗号文| App App --\u003e|サーバーに保管 または送信| Storage[\"データストア\"] Storage --\u003e|暗号文| App2[\"アプリケーション\"] App2 --\u003e|Decrypt(暗号文)| Key Key --\u003e|平文| App2 利用シーン GS2 内部での利用 GS2-Account のパスワード署名や、GS2-Auth のトークン発行など、GS2 内部で機密データを扱うマイクロサービスは GS2-Key が管理するキーを利用しています。各マイクロサービスのネームスペースを作成する際にキーを指定することで、そのネームスペース内で必要となる暗号化処理に利用されます。 アプリケーション独自データの暗号化 アプリケーション独自で機密情報を扱う場合にも、GS2-Key の Encrypt / Decrypt API を直接呼び出して暗号化・復号を行うことができます。秘密鍵をアプリケーション内に組み込むことなく、サーバーサイドでの暗号化が実現できます。 機密性の高い設定値や、外部サービスへの認証情報などを GS2 側で安全に管理したい場面で活用できます。 トランザクションアクション GS2-Key ではトランザクションアクションを提供していません。 マスターデータ管理 GS2-Key ではマスターデータの登録はありません。マネージメントコンソール、GS2-Deploy、API を通じてキーを作成・管理します。 実装例 GS2-Key は管理API/サーバーサイドAPI中心のマイクロサービスです。ゲームエンジン用 SDK (Unity/Unreal Engine) には専用の Domain クラスが提供されていません。 キーの作成や Encrypt / Decrypt の呼び出しは、主に GS2 内部の各マイクロサービスから参照する形で利用するか、GS2-Script からサーバーサイドで呼び出す形での利用を想定しています。直接 API を呼び出す場合は、以下のいずれかの手段で操作することを推奨します。 マネジメントコンソール (キーの作成・管理) GS2-Deploy によるテンプレート管理 (キーをコード化して管理) GS2-Script からの呼び出し (Encrypt / Decrypt をサーバーサイドロジック内で利用) 各種言語向け一般SDK (C# / Go / Python / TypeScript / PHP / Java) によるバックエンドサーバーからの呼び出し GS2 CLI 各種SDKの詳細は対応するリファレンスページを参照してください。 より実践的な情報 キーローテーション セキュリティポリシーに従って暗号化キーを定期的にローテーションしたい場合、新しいキーを作成し、以降の暗号化処理を新キーへ切り替える運用が可能です。旧キーは復号用途のためにすぐには削除せず、暗号文の移行が完了するまで保持する設計が推奨されます。 GitHub API キーの管理 GS2-Key では暗号化キーの他に、GitHub からマスターデータを取り込む際に利用する API キーを保管できます。マスターデータの取り込みに利用される GS2-Deploy や各種マイクロサービスは、ここに登録した API キーを参照することでプライベートリポジトリにアクセスできます。 詳細なリファレンス GS2-Key リファレンス","lang":"ja","section":"microservices","summary":"暗号化キー管理機能\n","title":"GS2-Key","url":"/ja/microservices/key/"},{"content":"プレイヤーが行動できる回数を制限するための仕組みです。 「1日に5回までガチャを引ける」「1週間に1度だけ受け取れる報酬」など、ゲーム内で頻出する回数制限を一元的に管理できます。 graph LR Action[\"プレイヤーの行動\"] --\u003e CountUp[\"カウントアップ (maxValue 指定)\"] CountUp -- 上限に達していない --\u003e Success[\"処理を許可\"] CountUp -- 上限に達している --\u003e Failure[\"処理を拒否\"] Reset[\"リセット周期\"] --\u003e Counter[\"カウンターを 0 に戻す\"] カウンター プレイヤーの行動回数を表現するためのエンティティで、 カウンターの値を上昇する際に許容可能な最大値を指定してカウントアップを試みることで最大値を超える場合はカウントアップが失敗し、後続の処理を失敗させることができるメカニズムで回数制限を実現します。 このとき、カウンターに対して最大値が存在するのではなく、カウントアップアクションに最大値が設定できるのが特徴です。 たとえば、スタミナの回復処理を例に考えてみます。 多くのゲームでは1日にスタミナを回復できる回数には上限が設けられています。 そして、回復をすればするほど、回復に必要な金額が上昇していきます。 このような仕様は以下のように表現できます。 ティアー 回復に必要なコスト 実行できる回数 Tier.1 5 10 Tier.2 10 10 Tier.3 20 10 Tier.4 40 10 そして、これを 回数制限のカウントアップアクションと、回復に必要なコストとして捉えたのが以下です。 ティアー カウンター名 カウンターの上昇量 カウンターの最大値 回復に必要なコスト Tier.1 RecoveryStaminaCounter 1 10 5 Tier.2 RecoveryStaminaCounter 1 20 10 Tier.3 RecoveryStaminaCounter 1 30 20 Tier.4 RecoveryStaminaCounter 1 40 40 全てのティアーで同じカウンターを使用し、回復に必要なコストが安いものほど、カウンターの最大値を低く設定しています。 こうすることで、真っ先に一番安い Tier.1 が購入できなくなり、Tier.2 を購入せざるを得なくなり Tier.2 もそのうち購入できなくなり、Tier.3 を購入せざるを得なくなるように設計ができます。 カウンターのリセット カウンターにはリセット周期を設定可能です。 リセット周期には以下の種類が存在します。 resetType 説明 notReset リセットしない（手動でリセットしない限り永続的にカウントが残ります） daily 毎日 resetHour 時にリセット weekly 毎週 resetDayOfWeek 曜日の resetHour 時にリセット monthly 毎月 resetDayOfMonth 日の resetHour 時にリセット days 基準日（ anchorTimestamp ）から days 日ごとにリセット anchorTimestamp を活用すると、イベント開始日からN日ごとのリセットといった柔軟なスケジューリングが可能です。 バフによる補正 GS2-Buff と連携すると、 CountUp / CountUpByUserId の maxValue をバフで補正して一時的に上限値を増減できます。 「期間限定で1日に引けるガチャ回数を倍にする」といった、イベントに合わせた緩和措置を実装する際に有用です。 スクリプトトリガー ネームスペースに countUpScript を設定すると、カウントアップ処理の前後でカスタムスクリプトを実行できます。 トリガーは同期・非同期の実行方式を選択でき、非同期処理では GS2-Script や Amazon EventBridge を利用した外部連携も可能です。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 countUpScript （完了通知: countUpDone ）: カウントアップ処理の前後。 トランザクションアクション GS2-Limit では以下のトランザクションアクションを提供しています。 種別 アクション 説明 検証 Gs2Limit:VerifyCounterByUserId カウンター値の検証（一致/未満/より大きい など） 消費 Gs2Limit:CountUpByUserId カウンター値の加算（カウントアップ） 入手 Gs2Limit:CountDownByUserId カウンター値の減算（カウントダウン） 入手 Gs2Limit:DeleteCounterByUserId カウンターの削除（リセット） 「カウンター値の減算（カウントダウン）」を入手アクションとして利用することで、特定のアイテムを入手した際や、ミッション達成の報酬として、制限回数を回復（実質的に、消費した回数を差し戻す）させるといった処理が可能になります。これにより、プレイヤーの継続的なプレイを促進するような報酬設計が容易になります。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 LimitModel : リセット周期と上限値 以下はマスターデータの JSON 例です。 { \"version\": \"2023-09-04\", \"limitModels\": [ { \"name\": \"daily\", \"metadata\": \"デイリー制限\", \"resetType\": \"daily\", \"resetHour\": 5 }, { \"name\": \"weekly\", \"metadata\": \"ウィークリー制限\", \"resetType\": \"weekly\", \"resetDayOfWeek\": \"monday\", \"resetHour\": 5 } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 実装例 カウンターの一覧を取得 カウンターの状態を取得 カウンターの値を上昇 このAPIでカウンターの上昇処理を行うことは推奨していません。 GS2-Exchange / GS2-Showcase / GS2-Quest といった回数制限を設けたい対象の処理を実行するための対価にカウンター値の上昇を設定することを推奨します。 maxValue を超えるカウントアップを試みると OverflowException が発生します。 クライアント側でこの例外を捕捉して「本日の上限に達しました」といった UI を出すことで、回数制限を表現できます。 カウンターの強制リセット カウンターの強制リセットはゲームエンジン用の SDK では処理できません。 ゲームサーバーから DeleteCounterByUserId を呼び出すか、トランザクションの入手アクションとして Gs2Limit:DeleteCounterByUserId を実行することでカウンターをリセットできます。 詳細なリファレンス GS2-Limit リファレンス","lang":"ja","section":"microservices","summary":"回数制限機能\n","title":"GS2-Limit","url":"/ja/microservices/limit/"},{"content":"GS2-Lock は、リソース単位で動作するミューテックスを提供し、複数のサーバープロセス・複数の処理系から同一リソースへ同時にアクセスすることを防ぐための分散排他制御サービスです。 ゲームの運営では「同じプレイヤーに対して同じ処理を二重に実行してしまう」「異なるバックエンドサーバーが同じデータを同時に書き換えてしまう」といった問題が容易に発生します。GS2-Lock を利用すると、これらの問題をマイクロサービスとして提供される共有ミューテックスによって防ぐことができます。 ミューテックスの基本 GS2-Lock のロックは「ネームスペース」「ユーザーID」「プロパティID」の組み合わせによって識別される「ミューテックス」というリソースに対して取得します。 プロパティID には、排他制御を行いたいリソースを一意に識別する任意の文字列を指定します。例えば「ガチャの抽選処理」「アイテムの所持数更新」「外部連携への通知送信」など、二重実行を避けたい処理ごとに異なるプロパティIDを割り当てる運用が考えられます。 graph TD Server1[\"バックエンドサーバーA\"] --\u003e|Lock| Mutex[\"GS2-Lock ミューテックス\"] Server2[\"バックエンドサーバーB\"] --\u003e|Lock 待機| Mutex Mutex --\u003e|取得成功| Server1 Server1 --\u003e|Unlock| Mutex Mutex --\u003e|取得成功| Server2 トランザクションID ロックを取得する際にはトランザクションIDを指定します。同じトランザクションIDで同じミューテックスに対して再帰的にロックを取得した場合、参照カウントが加算されるリエントラントロックとして振る舞います。解放時には同数の Unlock を実行することでロックが完全に解放されます。 異なるトランザクションIDによる二重取得は競合となり、先に取得したセッションがロックを解放するまで待機状態となります。 TTL による自動解放 ロックには TTL (Time To Live) を設定でき、TTL を経過するとロックは自動的に解放されます。 これにより、ロックを取得した処理系が異常終了したり、ネットワーク障害でロック解放処理が呼び出されなかった場合でもデッドロックを防ぐことが可能です。TTL は処理の最大想定実行時間に応じて適切な値を設定してください。 マルチタイトル・複数バックエンド間での排他 GS2-Lock は GS2 のマイクロサービスとして提供されるため、マルチタイトル間や複数のバックエンドサーバー、複数のリージョン間で共通の排他制御を実現できます。 GS2-Script から呼び出すことで、サーバーサイドスクリプトの内部から他のスクリプト実行や外部処理との排他制御を行うことも可能です。 トランザクションアクション GS2-Lock ではトランザクションアクションを提供していません。 マスターデータ管理 GS2-Lock ではマスターデータの登録はありません。ネームスペースを作成するだけで利用を開始できます。 実装例 GS2-Lock は管理API/サーバーサイドAPI中心のマイクロサービスです。ゲームエンジン用 SDK (Unity/Unreal Engine) には専用の Domain クラスが提供されていません。 主に GS2-Script 内のサーバーサイドロジックや、自社のバックエンドサーバーから利用することを想定しているため、ゲームクライアントから直接呼び出すのではなく、以下のいずれかの手段で操作することを推奨します。 GS2-Script からの呼び出し (サーバーサイドスクリプト経由の排他制御) 各種言語向け一般SDK (C# / Go / Python / TypeScript / PHP / Java) によるバックエンドサーバーからの呼び出し マネジメントコンソール (動作確認・運用時) GS2 CLI 各種SDKの詳細は対応するリファレンスページを参照してください。 より実践的な情報 二重実行防止のパターン オンラインゲームでは、ネットワークの不安定さからプレイヤーが同じリクエストを短時間に複数回送信することがあります。このようなリクエストをサーバー側で受け入れてしまうと、アイテムの二重付与などにつながります。 トランザクションIDをリクエストごとに発行し、GS2-Lock で短時間の TTL を持つロックを取得することで、同じトランザクションIDによる重複処理は参照カウントとして扱われ、異なるリクエストとして受け取った同種の処理は競合として弾くことができます。 バックエンド間の整合性確保 複数のバックエンドサーバーが共通のリソースに対して書き込みを行うシナリオでは、GS2-Lock でリソース単位のミューテックスを取得した上で読み取り・更新・書き込みを行う設計が有効です。プロパティIDにリソースの識別子を埋め込むことで、リソースごとの細粒度な排他制御を実現できます。 詳細なリファレンス GS2-Lock リファレンス","lang":"ja","section":"microservices","summary":"分散排他制御機能\n","title":"GS2-Lock","url":"/ja/microservices/lock/"},{"content":"GS2-Log はゲームに組み込まれた全ての Game Server Services マイクロサービスのAPIアクセスログを集約・保存する機能を提供します。 ゲームの運営において「いつ・誰が・どのAPIを・どのような引数で呼び出し・どのような結果を返したか」を後から追跡できることは非常に重要です。 不正なプレイヤーの調査、ゲームバランスの確認、お問い合わせ対応、KPI 集計などのあらゆる運用業務の基盤として GS2-Log のデータを活用できます。 GS2-Log の機能はゲームクライアントから直接利用するものではなく、運営側のツールやデータ分析基盤と連携して活用するためのものです。 ログの種類 GS2-Log は以下の4種類のログを記録します。 AccessLog 各マイクロサービスのAPIが呼び出されるたびに記録されるログです。 timestamp : API呼び出し時刻 requestId : リクエストを一意に識別するID service : 呼び出されたマイクロサービス名 method : 呼び出されたAPIメソッド名 userId : 呼び出し元のユーザーID request : リクエストパラメーター (JSON文字列) result : 応答内容 (JSON文字列) API単位の細かい挙動追跡が可能で、不具合の調査や行動ログの分析に利用できます。 IssueStampSheetLog トランザクションが発行された際に記録されるログです。 トランザクションは Game Server Services における入手・消費アクションのまとめ実行単位であり、発行時の消費アクション一覧と、何をきっかけに発行されたのかを記録します。 timestamp : 発行時刻 transactionId : トランザクションID(トランザクション発行単位の識別子) service : 発行元マイクロサービス method : 発行元API userId : ユーザーID action : 入手アクション args : アクションの引数 tasks : トランザクションに含まれる消費アクション一覧 ExecuteStampSheetLog / ExecuteStampTaskLog トランザクション全体・消費アクションが実行された際に記録されるログです。 IssueStampSheetLog と組み合わせることで、いつ発行されたトランザクションが、いつどのように実行されたかをトレースできます。 この情報は、リプレイ攻撃や不正な多重実行、サービス間の整合性問題の検知に活用できます。 sequenceDiagram participant Client participant ServiceA as マイクロサービスA participant Sheet as トランザクション participant ServiceB as マイクロサービスB participant Log as GS2-Log Client-\u003e\u003eServiceA: 報酬リクエスト ServiceA-\u003e\u003eLog: AccessLog ServiceA-\u003e\u003eSheet: トランザクション発行 ServiceA-\u003e\u003eLog: IssueStampSheetLog Sheet-\u003e\u003eServiceB: 消費アクション実行 ServiceB-\u003e\u003eLog: ExecuteStampTaskLog Sheet-\u003e\u003eLog: ExecuteStampSheetLog ログのエクスポート先 GS2-Log で記録したログは、ネームスペースの設定で指定したエクスポート先に転送できます。 type 連携先 説明 gs2 GS2 内部のログストレージ エクスポートせず GS2-Log 内に保管 bigquery Google Cloud BigQuery gcpCredentialJson と bigQueryDatasetName を指定 firehose Amazon Kinesis Data Firehose awsRegion / awsAccessKeyId / awsSecretAccessKey / firehoseStreamName を指定 エクスポート先で集計クエリを書くことで、DAU・課金額・特定のアイテム入手数などのカスタム KPI を継続的に計測できます。 ログの保持期間 logExpireDays を指定することで、GS2-Log 内のログ保持日数を制御できます。 長期保存が必要なログは、上記エクスポート機能を用いて自前のデータウェアハウスに転送する運用が推奨されます。 インゲームログ クライアントが任意のペイロードを GS2-Log に送信できる「インゲームログ」の機能もあります。 ゲーム内で発生した任意のイベント (ステージクリア、ガチャの結果、UI操作など) を payload と tags の組として送信し、AccessLog と同じ集計基盤で扱うことができます。 トランザクションアクション GS2-Log ではトランザクションアクションを提供していません。 マスターデータ管理 GS2-Log はマスターデータを持ちません。 ログの集約先などはネームスペースの設定で構成します。 実装例 GS2-Log は集約・分析が中心で、参照系のAPIは運営側のツール・ダッシュボードから呼び出すことを想定しています。 インゲームログの送信のみゲームクライアントから利用するため、Unity SDK 経由でのサンプルを示します。 集計API・エクスポート設定などは、マネジメントコンソールまたは各種言語向け一般SDK (C# / Go / Python / TypeScript / PHP / Java) から操作してください。 インゲームログを送信 (Unity) 任意のペイロードとタグを付けてゲーム内ログを送信します。 タグは BigQuery 等での絞り込みに使用できるため、イベント種別やステージIDなどを格納すると分析時に役立ちます。 Unreal Engine 用 SDK にはゲームクライアント向けの Ez Domain クラスが提供されていません。 Unreal Engine からインゲームログを送信する場合は、GS2-Log の SendInGameLog API を Source SDK 経由で直接呼び出してください。 より実践的な情報 ログを用いた不正検知 IssueStampSheetLog と ExecuteStampSheetLog を突き合わせることで、発行されたトランザクションが期待通りに実行されたかを検証できます。 同一の transactionId で実行ログが複数記録されている場合や、発行ログが存在しないのに実行ログがある場合などは、リプレイ攻撃や不正なクライアント実装が疑われます。 ログ集計の運用例 エクスポート先の BigQuery 等に対し、定期的に集計クエリを実行することで以下の指標を取得できます。 1日あたりのアクティブユーザー数 ( userId の重複排除) 特定のマイクロサービス・APIの呼び出し回数 ガチャ・購入・経験値獲得などのトランザクション発行頻度 エラー応答が返ったAPIの割合とトレンド 詳細なリファレンス GS2-Log リファレンス","lang":"ja","section":"microservices","summary":"APIアクセスログ・分析機能\n","title":"GS2-Log","url":"/ja/microservices/log/"},{"content":"ゲームに毎日ログインしたプレイヤーへ報酬を配布する仕組みです。 日替わりのアイテム配布や、7日／30日サイクルでループするログインボーナス、見逃した日の報酬を後から補償する機能など、運営現場でよく使われるパターンを汎用的に提供します。 モード ログインボーナスの提供方法は《スケジュールモード》と《ストリーミングモード》2種類の方式があります。 graph LR Mode{ボーナスモード} --\u003e Schedule[\"スケジュールモード (mode: schedule)\"] Mode --\u003e Streaming[\"ストリーミングモード (mode: streaming)\"] Schedule -- 日付に固定 --\u003e SchEx[\"1日目=金貨、2日目=銀貨… 取り逃しはスキップ\"] Streaming -- 順番に消化 --\u003e StrEx[\"1個目=金貨、2個目=銀貨… 取り逃しても次回に持ち越し\"] Streaming --\u003e Repeat{\"repeat 設定\"} Repeat -- enabled --\u003e Loop[\"終端到達後に先頭から再開\"] Repeat -- disabled --\u003e Stop[\"終端で停止\"] スケジュールモード GS2-Schedule のイベントと関連付けて利用します。 報酬として配布するトランザクションアクションを各日程分定義します。 イベントの開始日時から24時間ごとに報酬が変化し、各報酬を1回受け取ることができます。 途中で取り逃がした報酬があった場合は、スキップされます。 ストリーミングモード ストリーミングモードはストリームに設定された報酬として配布するトランザクションアクションを先頭から順番に配布します。 受け取らなかった日があったとしても、スキップはされずストリームの次の報酬が手に入ります。 ストリーミングモードのログインボーナスに GS2-Schedule のイベントを関連づけると、イベントの開始日時から24時間ごとにストリームの次の報酬を受け取ることができます。 設定しない場合は、報酬の種類が変化する時間をUTCタイムゾーンの24時間単位で指定して利用します。 繰り返し ストリーミングモードのログインボーナスには繰り返し設定ができます。 繰り返し設定（ repeat: enabled ）を有効にすると、ストリームの終端に到達した場合 翌日はストリームの先頭から報酬の受け取りを再開できます。 この機能を利用することで、常設のログインボーナスを7日ごとや30日ごとにループさせることができます。 repeat: disabled を選択すると、ストリームの最後まで配布した後はそのボーナスからの報酬入手は停止します。期間限定キャンペーンなどに利用できます。 見逃し補償 スケジュールモードで取り逃がした場合や、ストリーミングモードでもイベント開催期間中ではストリームのすべてのアイテムを入手できないような状態に陥った時に使える機能が見逃し補償機能です。 設定されたコストを支払うことで、取り逃がしたアイテムを入手することができます。 見逃し補償が利用できるのは GS2-Schedule のイベントと関連づけられたログインボーナスのみで、イベントの開始日からの経過日数までの報酬のみが受け取れます。 つまり、未来のログインボーナスはコストを支払っても受け取ることはできません。 見逃し補償のコストとして、 missedReceiveReliefConsumeActions に GS2-Money2 などの消費アクションを設定でき、ジェムを消費して見逃した日を取り戻すといった運用が可能です。 受け取りの前提条件として missedReceiveReliefVerifyActions に検証アクションを指定することもできます。 バフによる補正 GS2-Buff と連携するとボーナスモデルの acquireActions や missedReceiveReliefConsumeActions にバフを適用し、報酬内容や見逃し補償のコストをイベントに応じて動的に調整できます。 例えば「キャンペーン期間中はログインボーナスを2倍にする」「VIPプレイヤーは見逃し補償コストを半額にする」といった運用が可能です。 スクリプトトリガー ネームスペースに receiveScript を設定するとログインボーナス受取処理の前後で receive ／ receiveDone のスクリプトフックを呼び出せます。スクリプトは同期・非同期の実行方式を選択でき、非同期では GS2-Script や Amazon EventBridge を利用した外部連携にも対応します。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 receiveScript （完了通知: receiveDone ）: ログインボーナス受取の前後 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 BonusModel : 日次やストリーミング方式の報酬定義 マスター項目 説明 name ボーナスモデル名 mode schedule （スケジュール）または streaming （ストリーミング） periodEventId 関連付ける GS2-Schedule のイベントID（オプション） resetHour ストリーミングモードでイベント未関連時に報酬切り替えを行う UTC 時刻 repeat ストリーミング時のループ動作（ enabled / disabled ） rewards 各ステップで配布する acquireActions の一覧 missedReceiveRelief 見逃し補償の有効化（ enabled / disabled ） missedReceiveReliefVerifyActions 見逃し補償実行前の検証アクション missedReceiveReliefConsumeActions 見逃し補償実行時の消費アクション 以下はマスターデータ JSON の例です。 { \"version\": \"2020-10-19\", \"bonusModels\": [ { \"name\": \"bonus-0001\", \"metadata\": \"7days\", \"mode\": \"streaming\", \"resetHour\": 15, \"repeat\": \"enabled\", \"rewards\": [ { \"acquireActions\": [ { \"action\": \"Gs2Inventory:AcquireItemSetByUserId\", \"request\": \"...\" } ] }, { \"acquireActions\": [ { \"action\": \"Gs2Inventory:AcquireItemSetByUserId\", \"request\": \"...\" } ] } ], \"missedReceiveRelief\": \"disabled\" } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 トランザクションアクション GS2-LoginReward では以下のトランザクションアクションを提供しています。 消費アクション アクション 用途 Gs2LoginReward:MarkReceivedByUserId 指定したステップを受け取り済みとしてマークします。 入手アクション アクション 用途 Gs2LoginReward:DeleteReceiveStatusByUserId 受け取り状態をリセットします。最初からログインボーナスを受け取り直させたい場合に利用します。 Gs2LoginReward:UnmarkReceivedByUserId 指定したステップを未受け取り状態に戻します。 「受け取り状態のリセット」を入手アクションとして利用することで、特定のアイテムを入手した際や、イベントの節目などに、ログインボーナスの受け取り状況を最初からやり直させるといった処理が可能になります。これにより、定期的なキャンペーンのリセットや、特別な条件達成によるボーナス再獲得の機会をプレイヤーに提供できます。 実装例 ログインボーナスの受け取り ReceiveAsync は次に受け取り可能なボーナスを自動的に受け取ります。配布物は EzTransactionDomain として返されるため、戻り値に対して WaitAsync などを呼び出して結果を反映します。 見逃した日の報酬の受け取り（見逃し補償） MissedReceiveAsync を呼び出すことで、 missedReceiveReliefConsumeActions に定義されたコストを支払い、過去に取り逃がした特定のステップを受け取れます。 ログインボーナスの受け取り状態を取得 ReceiveStatus の ReceivedSteps には、各ステップの受け取り済み有無が真偽値の配列として格納されます。 UI 側で「○日目を受け取り済み」とカレンダー表示する際などに利用できます。 ログインボーナスの内容を確認 UI に「明日もらえる報酬」「最終日にもらえる報酬」をプレビュー表示する際は、 BonusModel の Rewards から各ステップの AcquireActions を取得できます。 詳細なリファレンス GS2-LoginReward リファレンス","lang":"ja","section":"microservices","summary":"ログインボーナス機能","title":"GS2-LoginReward","url":"/ja/microservices/login_reward/"},{"content":"ガチャを実装するための仕組みです。 GS2-Lottery では、通常ガチャとボックスガチャに対応しています。 graph TD Trigger[\"抽選トリガー (GS2-Showcase の購入報酬 / クエストクリア報酬 など)\"] --\u003e LotteryModel[\"LotteryModel (抽選モデル)\"] LotteryModel -- \"mode = normal\" --\u003e Normal[\"通常モード抽選\"] LotteryModel -- \"mode = box\" --\u003e Box[\"ボックスモード抽選\"] Normal --\u003e PrizeTable[\"景品テーブル (PrizeTable)\"] Box --\u003e BoxData[\"プレイヤー専有ボックス\"] PrizeTable --\u003e Prize[\"Prize (acquireActions)\"] BoxData --\u003e Prize Prize --\u003e Acquire[\"GS2-Distributor 報酬配布\"] 通常ガチャ 通常ガチャは指定された確率で純粋な抽選を行います。 景品テーブル 景品テーブルとは、ガチャを実行した時に出てくる景品の排出確率を定義したものです。 マスターデータとして定義することになります。 重み 景品テーブルでの確率の設定は、景品ごとの重みを設定します。 具体的には以下のようなテーブルを作成することになります。 重み 景品A 1 景品B 2 景品C 4 これを百分率による確率として解釈すると以下のように解釈できます。 重み 確率 景品A 1 14.285% 景品B 2 28.571% 景品C 4 57.143% 百分率ベースで確率を設定する必要がある場合、全てを足して100%になるよう考える必要がありますが 重みベースで確率を設定する場合は、そのような負担をする必要がなくなります。 景品テーブルの入れ子 景品テーブルは、最大5層まで入れ子にすることができます。 具体的な使用方法としては SSRキャラクターの排出確率を3% SRキャラクターの排出確率を7% Rキャラクターの排出確率を90% という基本指針に基づいて排出キャラクターを設定したい時に便利です。 この場合は2層で、4個の景品テーブルを定義することになります。 レアリティ抽選用景品テーブル 重み 景品の種類 抽選テーブル名 SSR 3 景品テーブルの入れ子 SSRキャラクター抽選用景品テーブル SR 7 景品テーブルの入れ子 SRキャラクター抽選用景品テーブル R 90 景品テーブルの入れ子 Rキャラクター抽選用景品テーブル SSRキャラクター抽選用景品テーブル 重み 景品の種類 抽選テーブル名 SSR-0001 1 入手処理 SSR-0001 を GS2-Dictionary に記録 SSR-0002 1 入手処理 SSR-0002 を GS2-Dictionary に記録 SSR-0003 1 入手処理 SSR-0003 を GS2-Dictionary に記録 SRキャラクター抽選用景品テーブル 重み 景品の種類 抽選テーブル名 SR-0001 1 入手処理 SR-0001 を GS2-Dictionary に記録 SR-0002 1 入手処理 SR-0002 を GS2-Dictionary に記録 SR-0003 1 入手処理 SR-0003 を GS2-Dictionary に記録 Rキャラクター抽選用景品テーブル 重み 景品の種類 抽選テーブル名 R-0001 1 入手処理 R-0001 を GS2-Dictionary に記録 R-0002 1 入手処理 R-0002 を GS2-Dictionary に記録 R-0003 1 入手処理 R-0003 を GS2-Dictionary に記録 ボックスガチャ ボックスガチャはマスターデータで定義された景品を指定された数量ずつボックスに投入し 抽選処理を行うときにはボックスから景品を取り出していくことで景品の内容を決定します。 つまり、100個の景品のうち1個「アタリ」を入れているボックスを用意した場合、100回以内にかならず「アタリ」景品が抽選されます。 ボックスへの景品の投入 ボックス内部の景品の設定にも景品テーブルを使用します。 通常抽選モードでは排出の重みを設定しましたが、重みのパラメーターにはボックス内に景品を投入する数量を設定します。 重み 景品A 1 景品B 2 景品C 4 この場合、ボックスには最初7個の景品が入っており「景品Aが1個」「景品Bが2個」「景品Cが4個」入っている状態になります。 Warning ボックスモードの抽選処理は、初回抽選時にボックスの中身をシャッフルした配列を用意して、抽選処理はその配列から順番に景品を払い出します。 そのため、1度でも抽選処理が行われたボックスの景品テーブルの内容を変更すると意図しない動作を引き起こします。 ボックスのリセット ボックスは「ボックスのリセット」アクションにより中身を初期状態に戻すことができます。 プレイヤーごとに独立したボックスを持つため、コンプリート報酬の付与後にボックスを引き直したい、月替わりでボックスを更新したい、といった用途で利用できます。 抽選モデル 抽選モデルでは、景品テーブルのうち抽選APIで使用できる景品テーブルを指定します。 マスターデータとして定義することになります。 上記例で言えば、抽選APIを呼び出した時に いきなり SSRキャラクター抽選用景品テーブル を使って抽選処理が行えてしまうと不安です。 抽選モデルで以下のようなマスターデータを定義しておき 抽選モデル名 景品テーブル名 ガチャ レアリティ抽選用景品テーブル 抽選処理を呼び出す際には 抽選モデル名に「ガチャ」を指定して抽選することになります。 抽選モード（mode）と抽選方法（method） 抽選モデルでは mode で抽選の方式を、 method で景品テーブルの参照方法を指定します。 mode 説明 normal 通常モード（指定された確率で毎回独立に抽選を行う） box ボックスモード（プレイヤー固有のボックスから景品を取り出す） method 説明 prize_table 静的に指定された景品テーブルを使用する script GS2-Script を使って動的に景品テーブルを選択する スクリプトによる景品テーブル選択 method を script に設定し、 choicePrizeTableScriptId を指定すると、抽選実行時に GS2-Script を呼び出して動的に使用する景品テーブルを選択できます。 プレイヤーごとの確率変更（天井システム）や、開催中イベントに応じた景品テーブル切り替えを実現できます。 スクリプトトリガー ネームスペースに lotteryTriggerScriptId を設定すると、抽選処理の前に GS2-Script を同期実行できます。スクリプトでは抽選の許可/不許可を判定したり、抽選結果を上書きすることが可能です。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 lotteryTriggerScriptId : 抽選処理の前に同期実行 抽選結果の検証や、特定条件下での結果の差し替えといったカスタム処理を実装できます。 トランザクションアクション GS2-Lottery では以下のトランザクションアクションを提供しています。 入手アクション: 抽選の実行、ボックスのリセット 「抽選の実行」を入手アクションとして利用することで、ショップでの商品購入時やクエストクリア時の報酬として、直接ガチャ（抽選）を実行するといった処理が可能になります。また、「ボックスのリセット」を入手アクションに含めることで、特定のアイテムを入手したタイミングや、イベントの節目に、ボックスガチャの中身を自動的にリセットして最初から引き直せる状態にするといった制御をトランザクション内で安全に行えます。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 LotteryModel : 抽選モデル。抽選方式と利用する景品テーブルを定義します。 PrizeTable : 景品テーブル。景品の重みと入手アクション、または入れ子の景品テーブルを定義します。 Prize : 景品の単位。 acquireActions で得られる報酬を指定し、 drawnLimit と limitFailOverPrizeId で排出制限とフェイルオーバー先を設定できます。 マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 以下はマスターデータの JSON 例です。 { \"version\": \"2019-02-21\", \"lotteryModels\": [ { \"name\": \"lottery-0001\", \"metadata\": \"通常ガチャ\", \"mode\": \"normal\", \"method\": \"prize_table\", \"prizeTableName\": \"rarity\" } ], \"prizeTables\": [ { \"name\": \"rarity\", \"metadata\": \"レアリティ抽選\", \"prizes\": [ { \"prizeId\": \"ssr\", \"type\": \"prize_table\", \"prizeTableName\": \"ssr-prizes\", \"weight\": 3 }, { \"prizeId\": \"sr\", \"type\": \"prize_table\", \"prizeTableName\": \"sr-prizes\", \"weight\": 7 }, { \"prizeId\": \"r\", \"type\": \"prize_table\", \"prizeTableName\": \"r-prizes\", \"weight\": 90 } ] } ] } 実装例 抽選の実行 抽選の実行はゲームエンジン用の SDK では処理できません。 GS2-Showcase の商品購入の報酬として抽選を実行するといった方法で実装してください。GS2-Showcase の acquireActions に GS2-Lottery の DrawByUserId を含めることで、購入処理のトランザクションとして抽選を実行できます。 排出確率の取得 景品の表示用に、現在のプレイヤーに対する排出確率を取得できます。 排出数量の制限（後述）が掛かっている場合、その影響を反映した確率が返却されます。 ボックスの中身を取得 ボックスのリセット 抽選モデル一覧を取得 UI でガチャ一覧を表示する用途で、ネームスペース内に定義された抽選モデルを取得できます。 その他の機能 景品の排出数量の制限 通常モードで動作させている時に、景品ごとに排出数量の上限を設定できます。 この機能を利用すると Probabilities 関数が応答する確率と実際の確率の齟齬が生じます。 Probabilities を使用して排出確率の表示を行う際には、この機能は利用するべきではありません。 用途として想定されているのは物理景品を配布するための抽選処理です。 確率1%で排出されるギフト券があったとして、ギフト券は100枚しか準備がないケースでこの機能が役立ちます。 ギフト券の排出数量の上限を100に設定し、フェイルオーバー景品にはずれや、異なるあたり景品を設定します。 このように設定することで、すでにギフト券を100枚排出済みの状態で、ギフト券が当選した場合 ギフト券の代わりにフェイルオーバー景品に設定した景品が排出されます。 フェイルオーバー景品に数量制限が設定されている場合は、同様の制限が適用されます。 詳細なリファレンス GS2-Lottery リファレンス","lang":"ja","section":"microservices","summary":"抽選処理機能\n","title":"GS2-Lottery","url":"/ja/microservices/lottery/"},{"content":"プレイヤーを条件に基づいてグルーピングする機能です。 対戦相手を見つけるために利用することができます。 スクリプトトリガー ネームスペースに createGatheringTriggerScriptId ・ completeMatchmakingTriggerScriptId ・ changeRatingScript を設定すると、ギャザリング作成完了時・マッチング完了時・レーティング変動時にカスタムスクリプトを実行できます。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 createGatheringTriggerScriptId : ギャザリング作成完了時 completeMatchmakingTriggerScriptId : マッチング完了時 changeRatingScript : レーティング変動時 プッシュ通知 設定できる主なプッシュ通知と設定名は以下の通りです。 joinNotification : マッチング参加時に通知 leaveNotification : マッチング離脱時に通知 completeNotification : マッチング完了時に通知 changeRatingNotification : レーティング変動時に通知 いずれも GS2-Gateway 経由で通知でき、オフライン端末へのモバイルプッシュ転送も可能です。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 RatingModel : レーティング計算設定 SeasonModel : シーズン期間設定 マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 追加設定 enableDisconnectDetection を有効化するとマッチメイキング中の切断検知を行い、 disconnectDetectionTimeoutSeconds でタイムアウトを調整できます。また enableCollaborateSeasonRating を設定するとマッチメイキング完了時に GS2-SeasonRating と連携し、結果を受け付けるセッションを生成できます。 トランザクションアクション GS2-Matchmaking では以下のトランザクションアクションを提供しています。 検証アクション: 永続ギャザリングへの参加状況の検証 「永続ギャザリングへの参加状況の検証」を検証アクションとして利用することで、特定のシーズンギャザリング（チームやクラスター）に所属しているプレイヤーのみが受け取れる報酬の設定などが可能になります。これにより、シーズンごとのグループ対抗イベントや、特定のコミュニティ限定のインセンティブ付与といった施策をトランザクション内で安全に制御できます。 ユースケース別設計ガイド パーティトークンを使ったマッチメイキング マッチメイキング完了後に1名が離脱し補充したい場合や、事前にパーティを編成してからマッチメイキングを行いたい場合は「パーティトークン」を使用します。 パーティメンバーはそれぞれプレイヤートークン（有効期限3分）を発行し、パーティの代表者に送信します。代表者はパーティトークン発行APIに送信することでパーティトークン（有効期限10分）を入手し、ギャザリング作成またはギャザリング検索を呼び出します。これにより、パーティメンバー全員が参加した状態のギャザリングを作成または参加できます。 パーティ同士のマッチメイキング たとえば4 vs 4 の対戦で事前に編成したパーティを分散させたくない場合、まず4人のマッチメイキングを実行してパーティ単位のギャザリングを作成し、その後各パーティの代表者が定員2人のマッチメイキングを行うことでパーティ同士のマッチメイキングを実現できます。 マッチメイキング中のプレイヤー間の通信 マッチメイキング完了前にプレイヤー間でのやりとりが必要な場合、ギャザリング作成時に以下の2つの方法を使用できます。 GS2-Chat と連携したチャットルーム作成 : メタデータの低頻度（秒間3回以内）交換に適しています GS2-Realtime と連携したゲームサーバの起動 : 高頻度の通信や、人数が不足した状態でゲームを遊ばせたい場合に適しています マッチメイキング完了後の処理 マッチメイキングが完了したときに以下の方法でプレイヤーに通知できます。 GS2-Gateway を使用したゲーム内プッシュ通知 GS2-JobQueue によるジョブ登録 また、GS2-Script を使用して任意のスクリプトを実行することもできます。GS2-Realtime を使用する場合は、マッチメイキング完了後に実行される GS2-Script で GS2-Realtime のギャザリングを作成し、IPアドレス・ポート情報をプッシュ通知またはジョブキューを使って通知することでゲームサーバーに誘導できます。 ブラックリストによるマッチング除外 ギャザリング作成時・検索時にユーザーIDのブラックリストを指定できます。検索時に指定したブラックリストは、参加したギャザリングのブラックリストに加えられます。自身がブラックリストに入っている場合はマッチメイキングの対象から除外されます。 スタンダードマッチメイキング ギャザリング ギャザリングはマッチメイカーによってグルーピングされたプレイヤーの集合です。 ギャザリングのライフサイクルは最初プレイヤーによって明示的に作成されます。 他のプレイヤーがマッチメイキングを実行し、条件に見合う場合はギャザリングに参加してきます。 ギャザリング作成時に指定した人数のプレイヤーが集まると、マッチメイキング結果をプレイヤーに通知して GS2-Matchmaking 上からはギャザリングは削除されます。 属性 プレイヤーは最大5個の属性値を持つことができます。 ギャザリングを作成する際には、募集するプレイヤーの各属性値の範囲を設定してギャザリングを作成します。 例えば、以下の属性値をもつプレイヤーがいたとしましょう。 属性名 属性値 GameMode 1 Stage 10 Level 5 GameMode というのは、ゲーム内で全世界のプレイヤーをマッチメイキング対象とする(1)か、各リージョンごとにマッチメイキングする(2=JP, 3=US, 4=EU)か 希望するゲームモードとしましょう。 Stage には対戦に使用したいと思っているゲーム内のステージの種類を示しているとします。 最後に、Level はプレイヤーの技術レベルです。 このプレイヤーが対戦相手を見つけるためにギャザリングを作成する場合、ギャザリングにどのような条件設定をするのがよさそうか考えてみましょう。 属性名 属性値(最小) 属性値(最大) GameMode 1 1 Stage 10 10 Level 2 8 上記のような範囲設定がよいでしょう。 GameMode や Stage は完全一致していないとプレイヤーの望む条件で遊ばせることができません。 Level はプレイヤーのレベルの前後3のプレイヤーを対象としましょう。 これでギャザリングを作成することで、条件にみあうプレイヤーがマッチメイキングリクエストを出すとギャザリングに参加してきます。 ロール ギャザリングを作成するときには募集人数を設定する必要があります。 募集人数を設定する際に、ロールごとに募集人数を設定できます。 特にゲーム内に役割がない場合は、1つだけ default という名前のロールを設定し、そのロールの募集人数に集めたい人数を指定します。 ロールの指定が必要になるケースは、ゲーム内に役割があるようなゲームです。 たとえば、MMORPGでは、プレイヤーの職業によって タンク・ヒーラー・DPS といったゲーム内の役割が存在します。 そして、マッチメイキングを行った結果 ヒーラー4人が集まってもコンテンツは攻略できません。 各ロールがバランスよくマッチメイキングされる必要があります。 このような仕様において、以下のようなロールと募集人数を設定します。 ロール名 募集人数 タンク 1 ヒーラー 1 DPS 2 そして、プレイヤーはマッチメイキングリクエストを出す時に、属性値だけでなく自分のロールも設定します。 こうすることで、ロールごとに募集人数の枠管理が行われ、マッチメイキングが実行されます。 ロールのエイリアス さらに複雑な条件設定を元にロールベースマッチメイキングを行う例を紹介します。 DPSには近距離DPSと遠距離DPSの2種類があったとします。 基本的なマッチメイキング条件は先程解説した通りでいいのですが、ギャザリング作成者のこだわりで 近距離DPSと遠距離DPSを一人ずつ入ってきて欲しいとしましょう。 その場合、条件設定は以下になります。 ロール名 募集人数 タンク 1 ヒーラー 1 近距離DPS 1 遠距離DPS 1 そして、プレイヤーはマッチメイキングをする時に「DPS」ではなく「近距離DPS」もしくは「遠距離DPS」を指定します。 しかし、このままでは「DPS が2人集まってくれれば近距離でも遠距離でもどちらでもいいよ」という人とマッチメイキングできなくなってしまいます。 そこで使用できる機能がロールのエイリアスです。 プレイヤーがロールに「近距離DPS」もしくは「遠距離DPS」のいずれかを設定するという部分は変わりませんが、ギャザリングを作成する際の条件設定が変わります。 ロール名 エイリアス 募集人数 タンク [] 1 ヒーラー [] 1 DPS [近距離DPS, 遠距離DPS] 2 これで、DPS の募集枠にはロールに「近距離DPS」や「遠距離DPS」をしているプレイヤーも入れるようになります。 レーティング計算 プレイヤーの強さを表現するレーティング値の計算機能の用意があります。 レートの値は初期値が1500で、ゲームの結果によって値が上下します。 レート値の差が大きいプレイヤー同士でプレイし、レートの値が大きいプレイヤーが負けると レート値の高い負けたプレイヤーのレート値は大幅に下落し、レート値の低い勝ったプレイヤーのレート値は大幅に上昇します。 この特性によって、プレイヤーの実力を反映したレート値を計算します。 投票 レート値を変更するには、投票処理が必要となります。 対戦が終わり、順位が確定すると、各プレイヤーはゲームの結果をサーバーに送信します。 サーバーはギャザリングごとに投票を受け付け、全てのプレイヤーが投票を終えるか、最初のプレイヤーが投票して5分が経過すると投票を締め切ります。 サーバーでは投票内容で多数決を取り、最終的な結果を確定します。 このプロセスによって、嘘の投票を行う悪意のあるプレイヤーがいたとしても結果を反映しない力が働きます。 多数決によって確定した順位に基づき、新しいレート値が計算され反映されます。 投票結果の分断 サーバーが多数決を取ろうとした時に、結果が同数で最終的な結果を確定できない場合はレートの計算が行われません。 そのため、1vs1 のゲームでは正しいレート値を求めるのは困難です。 この問題を解決するためには、裏で対戦には直接関わらない3人目のプレイヤーをマッチメイキングし、そのプレイヤーに第三者視点で投票してもらうといった工夫が必要となります。 ギャザリングの有効期限 ギャザリングは原則として一度作成すると、マッチメイキングが成立するか全てのプレイヤーがギャザリングから抜けるまで削除されません。 特にプレイヤーが少ないゲームでマッチメイキング中にプレイヤーがキャンセルAPIを呼び出さずにゲームを終了した場合 他のプレイヤーがマッチメイキングリクエストを出して、マッチメイキングが成立してもすでにギャザリングを作成したプレイヤーがいない という状況が発生し得ます。 このような問題を簡単に解決する手段として、ギャザリング作成時にギャザリングの有効期間を設定できます。 指定した時刻、または作成時刻からの経過時間を指定することで、その時刻になるとギャザリングは削除されます。 その際、すでにギャザリングに参加しているプレイヤーは自動的に退出処理が行われます。 実装例 ギャザリングを作成 マッチメイキング処理を実行 ギャザリングから退出 レート値を取得 投票用紙を取得 投票を実行 よくある質問 存在するギャザリングをリストアップしてプレイヤーに選択させたい GS2-Matchmaking ではそのような機能は提供していません。 これには技術的な理由ではなく、ゲーム開発者の一人としてのプレイヤーのゲーム体験を損なわないためのポリシーが理由です。 存在するギャザリングから選択する形であれば、プレイヤーにとって最善のギャザリングに参加する方法を提示できます。 しかし、ギャザリングのリストを取得してから、実際に参加操作を行うまでにユーザー操作による遅延が発生します。 この遅延によって、参加したいギャザリングを選択した時には既にギャザリングが満員になっているようなケースが避けられません。 GS2の開発者は過去にこのようなゲームを多数プレイし、非常に大きなフラストレーションを感じてきました。 GS2-Matchmaking ではプレイヤー自身にギャザリングを選択させなくても、自動的に最適なギャザリングを探し出せるだけの仕組みを提供している自負があります。 そのため、このような機能は提供していません。 ギャザリングにパスワードを設定したい パスワードを属性値に設定してマッチメイキング条件の一部としてください。 シーズンマッチメイキング シーズンマッチメイキングは特定の期間永続的なギャザリングを作成します。 リアルタイム対戦のためのマッチメイキングというよりは、特定期間永続化されるクラスターを形成し、GS2-Ranking2 のクラスターランキングを組み合わせて、ギャザリング内でのランキングを実現するのが一般的な用法です。 シーズン シーズンマッチメイキングを利用するにあたって、GS2-Schedule のイベントを指定することで期間を設定します。 イベントに繰り返し設定がある場合は繰り返すたびに新しいギャザリングが形成されます。 ティアー シーズンマッチメイキングに GS2-Experience を組み合わせると特定ランク同士でマッチメイキングすることができます。 GS2-Ranking2 のクラスターランキングにはランキング報酬を設定する機能があり、ランキング上位のプレイヤーに経験値を付与することで上位ティアーにあがることができるようにできます。 最大人数 シーズンマッチメイキングでは最大1000人のプレイヤーをマッチメイキングできます。 マッチメイキング条件 シーズンマッチメイキングでは、スタンダードマッチメイキングのような複雑な検索条件を設定することはできません。 検索条件に利用可能なパラメーターは1つだけ、GS2-Experience のランクのみで、値はAPIの引数として取ることはなく、GS2-Matchmaking が内部処理で GS2-Experience から値を取得します。 GS2-Experience との連携機能を利用しない場合は全てのプレイヤーを対象としてマッチメイキングが行われます。 永続ギャザリングからの退出 スタンダードマッチメイキングでは、マッチメイキングされたギャザリングが退出ができました。 しかし、シーズンマッチメイキングでは退出することはできず、すでにマッチメイキングしたことがある状態でマッチメイキングリクエストを出してもすでに参加しているギャザリングが応答されます。 つまり、シーズンの間は他のギャザリングにマッチメイキングし直す手段は原則ありません。 一つだけ例外があり、それは永続ギャザリングを削除した時で、永続ギャザリングを削除することで参加中のプレイヤーは再度マッチメイキングした際に新しいギャザリングにマッチメイキングされます。 マッチメイキング処理の優先度 シーズンマッチメイキングでは、マッチメイキング時に同一ティアーの永続ギャザリングをで規定人数に達していないギャザリングを探して、ギャザリングに参加します。 参加可能なギャザリングが存在しない場合は自動的にギャザリングを作成し、参加処理を行った上でAPIを応答します。 参加可能なギャザリングが複数存在する場合はより参加人数が多いギャザリングが優先されます。 マッチメイキング処理が競合した時の挙動 マッチメイキングの参加処理は一般的に数ミリ秒以下で処理されますが、それでも同時に同じギャザリングが参加処理の候補に選別されることはあり得ます。 このような場合、規定人数より多くのプレイヤーが参加してしまうことを防ぐために GS2-Matchmaking はギャザリングのロックを取った上でプレイヤーの参加処理を行います。 そのため、参加可能なギャザリングがあったとしても、他のプレイヤーの参加処理中のわずかな期間はマッチメイキング対象にはならず他の候補が選択されます。 この仕様によって、1000人を最大収容可能な永続ギャザリングを用意して、同じティアーのプレイヤー1000人を完全に同時にマッチメイキングリクエストを出した時、1000人が参加する1つの永続ギャザリングが出来上がるとは限らず、複数の永続ギャザリングに分かれてマッチメイキングされる可能性があります。 この時、なるべく参加人数の多いギャザリングに優先してプレイヤーを参加させていきますので、一般的に以下のような結果が想定されます。 ギャザリングAの参加人数 ギャザリングBの参加人数 ギャザリングCの参加人数 1000 - - 999 1 - 998 1 1 997 2 1 995 4 1 995 5 - 990 8 2 この結果はあくまで一例であり、異なるパターンも発生し得ます。 詳細なリファレンス GS2-Matchmaking リファレンス","lang":"ja","section":"microservices","summary":"マッチメイキング機能\n","title":"GS2-Matchmaking","url":"/ja/microservices/matchmaking/"},{"content":"GS2-MegaField は、巨大な3D空間上に存在する大量のプレイヤーの位置情報を、効率的に共有・同期するための機能を提供します。 MMORPG やオープンワールド、メタバース型のサービスなど、同じワールドに大量のプレイヤーが同時にログインするタイトルでは、すべてのプレイヤーの位置情報を全プレイヤーに配信していると、ネットワーク帯域もCPUも破綻してしまいます。 GS2-MegaField は「自分の近傍にいるプレイヤーだけ」を効率的に取得できるようにすることで、この問題を解決します。 エリアとレイヤー GS2-MegaField の空間は「エリア (Area)」と「レイヤー (Layer)」の2つの概念で構成されます。 AreaModel (エリアモデル): 1つの大きな3D空間を表すマスターデータ。たとえば「街の中」「ダンジョン」「フィールド」など、ワールド内の論理的な区画ごとに作成します。 LayerModel (レイヤーモデル): 1つのエリアの中に存在する、用途別のレイヤー。たとえば「プレイヤー用」「NPC用」「アイテム用」のように、同じ場所を異なる目的で重ねて利用できます。 エリアモデルは複数のレイヤーモデルを内包する形でマスターデータとして定義します。 プレイヤーの位置は「どのエリアの、どのレイヤーに、どの座標に居るか」という形で表現されます。 graph TD AreaModel[\"AreaModel: town\"] --\u003e LayerPlayer[\"LayerModel: player\"] AreaModel --\u003e LayerNpc[\"LayerModel: npc\"] AreaModel --\u003e LayerItem[\"LayerModel: item\"] Player1[\"Player A\"] -- Spot --\u003e LayerPlayer Player2[\"Player B\"] -- Spot --\u003e LayerPlayer 空間インデックス GS2-MegaField は、レイヤー内のプレイヤーの位置を空間インデックス (R-Tree ベースの構造) で管理します。 これによって「自分の周囲 N メートル以内に居るプレイヤーをすべて取得する」といった近傍探索を、プレイヤー数に依存せず効率的に処理できます。 レイヤー単位で空間インデックスは独立しており、「プレイヤー同士の近傍」と「NPC との近傍」のような検索を別々に取り扱えます。 プレイヤーの位置情報 各プレイヤーは「自分の現在位置」を MyPosition として GS2-MegaField に送信します。 MyPosition には以下の情報が含まれます。 position: 3D 座標 (x, y, z) vector: 向きベクトル (x, y, z) r: 視界・関心の半径 プレイヤーは位置を送信する際に、同時に「自分が興味のある範囲」を Scope として指定でき、その範囲に居る他のプレイヤーの情報を応答として受け取ることができます。 Scope には以下の情報が含まれます。 layerName: 検索対象のレイヤー名 r: 検索半径 limit: 返却する最大件数 複数の Scope を指定することで、同時に複数のレイヤーの近傍プレイヤーを取得することも可能です。 ゲームクライアント間の位置同期 GS2-MegaField は、プレイヤーの位置情報を「ある程度間引いた近傍プレイヤーのリスト」として提供します。 このリストには各プレイヤーの位置・向きベクトル・最終同期時刻などが含まれ、ゲームクライアントはこの情報を補間処理しながら描画することで、滑らかな位置同期を実現できます。 ただし、 GS2-MegaField 自体はリアルタイム性能を保証する常時接続のプロトコルではありません。 高頻度なアクション同期や、入力ベースの厳密な同期が必要なケースでは、 GS2-Realtime と組み合わせるのが効果的です。 トランザクションアクション GS2-MegaField ではトランザクションアクションを提供していません。 マスターデータ管理 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 AreaModel : ワールド内の論理的な区画 (エリア) の定義 LayerModel : エリアの中の用途別レイヤーの定義 (AreaModel の子として定義) 以下は AreaModel / LayerModel を設定するマスターデータの JSON 例です。 { \"version\": \"2019-09-09\", \"areaModels\": [ { \"name\": \"town\", \"metadata\": \"starter town\", \"layerModels\": [ { \"name\": \"player\", \"metadata\": \"players\" }, { \"name\": \"npc\", \"metadata\": \"npcs\" } ] }, { \"name\": \"dungeon\", \"layerModels\": [ { \"name\": \"player\" }, { \"name\": \"enemy\" } ] } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 実装例 エリアモデル一覧の取得 ワールドにどのようなエリアが存在するかを取得します。 自分の位置を更新し、近傍プレイヤーを取得 自分の現在位置を GS2-MegaField に登録するとともに、周囲に居る他プレイヤーのリストを取得します。 位置の更新は一定間隔で繰り返し呼び出すのが基本的な使い方です。 特定プレイヤーの位置情報の参照 ユーザーIDが分かっているプレイヤーの位置情報を直接取得することもできます。 より実践的な情報 GS2-Realtime との組み合わせ GS2-MegaField は「広いワールド内における大局的なプレイヤーの配置」を扱うのに向いています。 一方、近接戦闘やフレンドとの協力プレイのような、ミリ秒単位の同期が必要なシーンには適していません。 このようなケースでは、 GS2-MegaField で取得した近傍プレイヤーをトリガーとして GS2-Realtime のルームに集約し、近接プレイヤー同士のあいだだけリアルタイム通信を行う、といったハイブリッドな構成が有効です。 graph LR Player[\"プレイヤー\"] -- 大局的な位置同期 --\u003e MegaField[\"GS2-MegaField\"] MegaField -- 近傍プレイヤー --\u003e Player Player -- 近接戦闘などの同期 --\u003e Realtime[\"GS2-Realtime\"] Realtime -- 同部屋プレイヤー --\u003e Player 更新頻度の設計 位置情報の更新は呼び出し頻度がそのままサーバー負荷とネットワーク帯域に直結します。 一般的には、画面表示のフレームレートよりも低い頻度 (例えば 5〜10Hz 程度) で更新を行い、クライアント側で補間処理を行う設計がバランスが取りやすいです。 Scope の指定の最適化 Scope で指定する半径と件数の上限は、ゲームの視界範囲や演出に応じて調整します。 すべてのプレイヤーが広い半径で大量に検索を行うと負荷が高くなるため、画面外の判定では狭い半径と少ない件数で問い合わせ、フォーカス時のみ広く取得する、といった工夫が有効です。 詳細なリファレンス GS2-MegaField リファレンス","lang":"ja","section":"microservices","summary":"大規模3D空間におけるプレイヤー位置の効率的な同期機能\n","title":"GS2-MegaField","url":"/ja/microservices/mega_field/"},{"content":"ゲーム内の蓄積した行動に基づいて、プレイヤーに報酬を与えるための仕組みです。 一般的に 実績・トロフィー・ミッション と呼ばれる機能を実現するための機能です。 graph TD Action[\"ゲーム内行動 (クエストクリア / ガチャ実行 など)\"] -- \"カウンター上昇 (IncreaseCounterByUserId)\" --\u003e Counter[\"ミッションカウンター (Counter / Scope)\"] Counter -- \"目標値到達\" --\u003e Task[\"ミッションタスク (MissionTaskModel)\"] Task -- \"ReceiveRewards\" --\u003e Reward[\"completeAcquireActions\"] Reward --\u003e Distributor[\"GS2-Distributor 報酬配布\"] Task --\u003e Group[\"ミッショングループ (MissionGroupModel)\"] Group -- \"resetType に基づき 受取フラグをリセット\" --\u003e Task ミッションカウンター プレイヤーの行動に基づく回数を数えるためのエンティティです。 「クエストをクリアした回数」「キャラクターを強化した回数」「ガチャを引いた回数」といったゲーム内の行動回数をカウントするためのカウンターを用意します。 カウンターにはスコープを設定できます。 スコープには以下の値を設定可能です。 スコープの種類 スコープの内容 リセットしない ゲームプレイ開始からの総計 毎日X時にリセット 当日実行した回数 毎週X曜日X時にリセット 今週実行した回数 毎月X日X時にリセット 今月実行した回数 一定日数ごとにリセット 基準時刻から指定日数ごとにリセット 検証アクションにマッチした時だけカウントアップ verifyAction の実行結果に基づいてカウンターを上昇 カウンターの値は各スコープで管理され、ミッションの達成条件には各スコープの値を利用できます。 graph LR Up[\"カウンター上昇要求\"] --\u003e Counter[\"Counter\"] Counter --\u003e Scope1[\"スコープ1 リセットしない\"] Counter --\u003e Scope2[\"スコープ2 毎日リセット\"] Counter --\u003e Scope3[\"スコープ3 毎週リセット\"] Scope1 -- ScopedValue --\u003e Mission1[\"累計100回ミッション\"] Scope2 -- ScopedValue --\u003e Mission2[\"デイリー10回ミッション\"] Scope3 -- ScopedValue --\u003e Mission3[\"ウィークリー50回ミッション\"] 検証アクションによるスコープ制御 scopeType=verifyAction を利用すると、conditionName と condition により任意条件を定義し、 他のマイクロサービスの検証結果に応じてカウンターを上昇するかの制御ができます。 これにより、特定のイベント期間だけカウンターを上昇するスコープや、特定のキャラクターを編成している状態でのみ上昇するスコープを作ることができます。 チャレンジ期間 CounterModel には challengePeriodEventId を設定でき、GS2-Schedule のイベント GRN を指定してカウンター操作期間を制限できます。 指定期間外はカウンターを更新できないため、期間限定イベントなどで使用する際に有効です。 ミッションタスク プレイヤーに提示する目標を定義するマスターデータです。 「ミッションカウンター」 と 「スコープ」 と「目標値」、そしてその目標を達成した時に得られる「報酬」を設定します。 たとえば以下のような設定ができます。 ミッションカウンター スコープの種類 目標値 報酬 クエストをクリアした回数 毎日X時にリセット 10 アイテムA クエストをクリアした回数 毎週X曜日X時にリセット 50 アイテムB キャラクターを強化した回数 毎日X時にリセット 5 アイテムC タスクの依存関係 premiseMissionTaskName を指定することで、先行するタスクを達成した後でのみ受け取れるミッションを定義できます。 「タスクAを達成するとタスクBが受け取り可能になる」といった段階的な達成フローを構築できます。 検証アクションを使用した達成判定 verifyCompleteType に verifyActions を指定することで、他のマイクロサービスの検証アクションを満たしているかでタスクの達成判定が可能です。 この機能を利用する場合、GS2-Mission が提供する Complete オブジェクトによる達成判定（サーバーサイドでの自動判定）は行われません。そのため、達成状態はクライアントで計算した上で受け取りUIを制御し、報酬受け取りアクションを実行する必要があります。 サーバーサイドで達成可能性を再評価する場合は EvaluateComplete API を呼び出すことで Complete の状態を最新化できます。 チャレンジ期間 MissionTaskModel の challengePeriodEventId により、達成可能期間を GS2-Schedule のイベントで制限できます。 達成済みのタスクは期間を過ぎても受け取ることが可能ですが、ミッションタスクにリセット間隔が設定されている場合はリセットタイミングを迎えると受け取りができなくなります。 ミッショングループ 複数のミッションタスクを束ねるエンティティです。 ミッショングループには報酬の受け取りフラグのリセット周期を設定できます。 ミッションカウンター スコープの種類 目標値 報酬 クエストをクリアした回数 毎日X時にリセット 10 アイテムA キャラクターを強化した回数 毎日X時にリセット 5 アイテムC これらのミッションタスクを一つのミッショングループに関連付けて、ミッショングループの報酬の受け取りフラグのリセット周期にも「毎日X時にリセット」を設定することで ミッションタスクを毎日達成すると、毎日報酬を受け取れるようになります。 リセット種別 resetType には以下を指定できます。 resetType 説明 notReset リセットしない（実績・トロフィー的な利用） daily 毎日 resetHour 時にリセット weekly 毎週 resetDayOfWeek の resetHour 時にリセット monthly 毎月 resetDayOfMonth の resetHour 時にリセット days anchorTimestamp を起点に days 日ごとにリセット 任意日数でのリセット resetType に days を指定することで、 anchorTimestamp で指定した起点時刻から指定日数ごとに報酬受取フラグをリセットできます。 例えば、イベント開始から3日ごとにリセットする、といった運用が可能です。 スクリプトトリガー ネームスペースに missionCompleteScript ・ counterIncrementScript ・ receiveRewardsScript を設定すると、ミッション達成・カウンター上昇・報酬受け取りといったタイミングでカスタムスクリプトを呼び出せます。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 missionCompleteScript : ミッション達成 counterIncrementScript : カウンター上昇 receiveRewardsScript : 報酬受け取り これらを活用することで、達成時のBI連携、不正なカウンター操作の検知、報酬受取時の特殊処理などをカスタマイズできます。 プッシュ通知 設定できる主なプッシュ通知と設定名は以下の通りです。 completeNotification : ミッションタスク達成時に通知 オフライン端末へのモバイルプッシュ転送にも対応し、報酬受取を促すことができます。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 CounterModel : カウント対象とリセット周期を定義する CounterScopeModel のリスト MissionGroupModel : グループ単位のリセット設定と所属するタスク MissionTaskModel : 達成条件（カウンターと目標値）と達成報酬 マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 以下はマスターデータの JSON 例です。 { \"version\": \"2019-04-12\", \"counters\": [ { \"name\": \"quest_complete\", \"metadata\": \"クエストクリア回数\", \"scopes\": [ { \"scopeType\": \"resetTimingScope\", \"resetType\": \"daily\", \"resetHour\": 5 }, { \"scopeType\": \"resetTimingScope\", \"resetType\": \"weekly\", \"resetDayOfWeek\": \"monday\", \"resetHour\": 5 } ] } ], \"missionGroups\": [ { \"name\": \"daily-mission\", \"metadata\": \"デイリーミッション\", \"resetType\": \"daily\", \"resetHour\": 5, \"tasks\": [ { \"name\": \"mission-task-0001\", \"metadata\": \"クエストを10回クリア\", \"counterName\": \"quest_complete\", \"targetResetType\": \"daily\", \"targetValue\": 10, \"completeAcquireActions\": [] } ] } ] } GS2-Buff 連携 GS2-Buff と連携すると、ミッションタスクモデルの completeAcquireActions をバフで補正し、イベントなどに応じて報酬量を柔軟に調整できます。 トランザクションアクション GS2-Mission では以下のトランザクションアクションを提供しています。 検証アクション: ミッション達成状況の検証、カウンター値の検証 消費アクション: 報酬の受け取り（一括含む）、カウンターの減算・リセット 入手アクション: カウンターの加算・設定、報酬受け取り状態の復元（未受け取り化） 「カウンターの加算」を入手アクションとして利用することで、ショップでの商品購入時やクエストクリア時の報酬として、直接ミッションの進行度を進めるといった処理が可能になります。また、「カウンターの減算」を消費アクションとして利用することで、特定の特典を受けるためのコスト（ポイント消費型ミッションなど）としてミッションカウンターを消費するといった運用も、トランザクション内で安全に実現できます。 実装例 ミッションカウンターの上昇 ミッションカウンターの上昇はゲームエンジン用の SDK では処理できません。 GS2-Quest のクリア報酬や、GS2-Lottery の抽選報酬としてカウンターを上昇するといった方法で実装してください。クライアントから直接カウンターを上昇させたい場合は、サーバー側でトランザクションを発行する形で GS2-Distributor 経由の入手アクションとして実行します。 ミッションタスクの達成状況・報酬受け取り情報を取得 ミッション達成報酬を受け取り 達成済み報酬の一括受け取り 達成済みかつ未受領のタスクを一度に受け取りたい場合、 BatchReceiveRewards を利用できます。 複数の missionTaskName を指定して、ひとつのトランザクションとして報酬を受け取ります。 検証アクションを利用したタスクの達成判定再評価 verifyCompleteType に verifyActions を指定したタスクの達成状況を、サーバー側で再評価したい場合に呼び出します。 ミッションカウンターの値を取得 ミッションカウンターのリセット 特定のスコープのカウンター値を手動でリセットできます。 イベント終了時にイベント関連カウンターを初期化する、といった用途で利用します。 ミッションの目標値を取得 詳細なリファレンス GS2-Mission リファレンス","lang":"ja","section":"microservices","summary":"ミッション・実績機能\n","title":"GS2-Mission","url":"/ja/microservices/mission/"},{"content":"Warning GS2-Money2 がリリースされました。 特別な理由がない限りは新しく利用する場合は GS2-Money2 を利用してください。 ゲーム内のリソースのうち、現金相当の価値を持つリソースを扱う機能です。 日本の資金決済法の前払い式支払い手段（自家型）に該当する資産を取り扱う場合は必ずこの機能を利用してください。 残高 GS2-Money はプレイヤーのもつ課金通貨の残高を単純な数量では管理せず、購入時の価値ごとに数量を管理します。 例えば、100円で100個の課金通貨を購入した場合は課金通貨1個の価値は1円相当となります。 同時に1000円で1200個の課金通貨を購入できるとしましょう。あくまで課金通貨の単価は1円とし、200個はおまけとして無料で処理するのも一つの手段ですし、1000円で購入した場合は単価を 0.8334円 として異なる単価で扱うのも一つの手段です。 後者のような方式を採用した場合、GS2-Money は「単価1円の課金通貨の残高」「単価0.8334円の課金通貨の残高」をそれぞれ分けて管理する機能を持っています。 graph TD Wallet[\"ウォレット (スロット番号で区別)\"] Wallet --\u003e Paid[\"有償通貨 (paid)\"] Wallet --\u003e Free[\"無償通貨 (free)\"] Paid --\u003e Detail1[\"単価1円の残高\"] Paid --\u003e Detail2[\"単価0.8334円の残高\"] Paid --\u003e Detail3[\"...購入価値ごと\"] 後者を選択するメリットは？ 明らかに後者は会計処理が複雑になり、メリットがないように感じるかもしれません。 サービス提供側としては全くのその通りです。しかし、立場を変えてゲームプレイヤーの立場で考えてみましょう。 ゲームの中には運営によって配られた現金相当の価値が0円の課金通貨（通称 無償通貨）があります。 プレイヤーに課金通貨を購入してもらうために、有償で購入した課金通貨(通称 有償通貨)でしか購入できない魅力的な商品を課金通貨300個で販売したとしましょう。 1000円 で 1200個の課金通貨を購入した際に、1000個の有償通貨と200個の無償通貨 を付与するように処理した場合 プレイヤーは有償通貨300個で購入できる商品を3回しか購入できません。 一方で、単価を0.8334円として1200個全てを有償通貨として取り扱う方法であればプレイヤーは4回購入できます。 この差はプレイヤー心理に多少なりとも影響を与えます。 会計上の都合を優先するか、プレイヤーの利益を優先するか 慎重に検討するべき仕様でしょう。 スロット GS2-Money ではウォレットを複数持つことができます。 その複数のウォレットを区別するためのキーがスロットです。 この機能は他のプラットフォームで購入した課金通貨を持ち込ませないようにしているプラットフォーマーが存在するため、そのガイドラインを遵守するために存在する機能です。 しかし、これらのガイドラインは有償通貨にのみ適用されるため、無償通貨については全てのスロットで共有できる機能があります。 ネームスペースの shareFree を true に設定すると、無償通貨は全スロット共通の残高として扱われます。 消費優先度 プレイヤーが課金通貨を消費する時に、無償通貨を優先して消費するか、有償通貨を優先して消費するかを選択できます。 一般的に無償通貨を優先して消費する仕様が採用されますが、会計上の都合がある場合は有償通貨を優先できます。 有償通貨を消費する場合は、より単価の高い通貨から優先して消費されます。 ネームスペースの priority で以下のいずれかを指定します。 priority 説明 free 無償通貨を優先して消費 paid 有償通貨（単価の高いものから）を優先して消費 無償・有償問わず、あるいは有償通貨の中で入手した順番に消費したいというニーズがあることを我々は理解しています。 ただし、現在はその機能は実装されていません。この要件が重要なプロジェクトを検討中の場合は開発チームにご連絡ください。 レシートの検証 ゲームの配信プラットフォームで追加コンテンツの購入時に得られるレシートの検証機能を有しています。 レシートを検証し、正しくプラットフォーマーによって発行された内容であることを確認するとともに、過去にゲーム内で使用したことがないかも確認します。 この機能を利用することで、不正なレシートを利用して課金通貨を入手しようとする攻撃を回避できます。 レシート検証を有効化するには、ネームスペースに以下の認証情報を登録します。 appleKey : Apple App Store のバンドルID googleKey : Google Play の公開鍵 enableFakeReceipt : 開発時にダミーレシートを許可するかどうか トランザクションログ レシートの検証履歴はもちろんですが、課金通貨の加算・減算履歴も全て記録されます。 そして、毎日数回 現在ゲーム内には未使用の課金通貨が現金相当額でいくらプールされているかを集計します。 集計結果はネームスペースの balance フィールドに反映されます。 状況に応じて未使用残高の一部を第三者機関に供託する対応が必要になることがありますが、その時にこの計算結果を利用できます。 法的手続き GS2-Money は各種法的手続きをとるために必要なデータを収集し、APIによってアクセス可能な状態で保持しますが、 法的手続き自体はGS2の利用者である あなた/あなたが所属する組織 が実行する必要があります。 どのような手続きが必要となるかは、GS2では責任を持つことができないためアドバイスもできません。顧問弁護士に相談するようにしてください。 スクリプトトリガー ネームスペースに各種スクリプト設定を登録すると、入出金処理やウォレット作成のタイミングでカスタムスクリプトを実行できます。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 createWalletScript : ウォレット作成時 depositScript : 入金処理時 withdrawScript : 出金処理時 トランザクションアクション GS2-Money では以下のトランザクションアクションを提供しています。 消費アクション: 残高の消費、レシートの記録 入手アクション: 残高の加算、レシート記録の削除 「残高の加算」を入手アクションとして利用することで、特定のイベントクリア時や、ガチャの「おまけ」として直接課金通貨（有償・無償）を付与するといった処理を、トランザクション内で安全に実行できます。これにより、課金とゲーム内報酬を組み合わせた柔軟な施策が可能になります。 実装例 残高を取得 ウォレットのスロットを指定して、現在の有償通貨残高（ paid ）、無償通貨残高（ free ）、購入単価別の内訳（ detail ）を取得します。 残高を加算 残高を加算する処理はゲームエンジン用の SDK では処理できません。 GS2-Showcase の購入時の報酬として残高を加算する、あるいは GS2-Money のレシート検証 API をサーバー間通信で呼び出して付与するといった方法で実装してください。 残高を消費 このAPIで直接残高の消費処理を行うことは推奨していません。 GS2-Showcase といったサービスを通して課金通貨の消費を行うことで、消費と引き換えに商品を付与する処理を一連のトランザクションとして安全に扱うことができます。 paidOnly を true に指定すると、有償通貨のみを消費対象とすることができます。 プラットフォーマーのガイドラインに準拠する必要がある場面で利用してください。 詳細なリファレンス GS2-Money リファレンス","lang":"ja","section":"microservices","summary":"課金通貨管理機能\n","title":"GS2-Money","url":"/ja/microservices/money/"},{"content":"Tip GS2-Money2 は名前の通りバージョン2に相当するマイクロサービスです。 以前のバージョンに関するドキュメントは GS2-Money を参照してください。 ゲーム内のリソースのうち、現金相当の価値を持つリソースを扱う機能です。 日本の資金決済法の前払い式支払い手段（自家型）に該当する資産を取り扱う場合は必ずこの機能を利用してください。 GS2-Money2 は単に「課金通貨の残高」を扱うサービスではなく、以下のような会計・法令対応上の要件をまとめて引き受けるマイクロサービスです。 入金日時・単価ごとの残高管理 レシート検証による不正入金の防止 ウォレットの加減算履歴の保持 プラットフォームのガイドラインに沿った通貨の隔離 サブスクリプション（期間課金）契約の状態管理 未使用残高の集計（前払式支払手段への対応） 残高 GS2-Money2 はプレイヤーのもつ課金通貨の残高を単純な数量では管理せず、購入時の価値ごとに数量を管理します。 例えば、100円で100個の課金通貨を購入した場合は課金通貨1個の価値は1円相当となります。 同時に1000円で1200個の課金通貨を購入できるとしましょう。あくまで課金通貨の単価は1円とし、200個はおまけとして無料で処理するのも一つの手段ですし、1000円で購入した場合は単価を 0.8334円 として異なる単価で扱うのも一つの手段です。 後者のような方式を採用した場合、GS2-Money2 は「単価1円の課金通貨の残高」「単価0.8334円の課金通貨の残高」をそれぞれ分けて管理する機能を持っています。 後者を選択するメリットは？ 明らかに後者は会計処理が複雑になり、メリットがないように感じるかもしれません。 サービス提供側としては全くのその通りです。しかし、立場を変えてゲームプレイヤーの立場で考えてみましょう。 ゲームの中には運営によって配られた現金相当の価値が0円の課金通貨（通称 無償通貨）があります。 プレイヤーに課金通貨を購入してもらうために、有償で購入した課金通貨(通称 有償通貨)でしか購入できない魅力的な商品を課金通貨300個で販売したとしましょう。 1000円 で 1200個の課金通貨を購入した際に、1000個の有償通貨と200個の無償通貨 を付与するように処理した場合 プレイヤーは有償通貨300個で購入できる商品を3回しか購入できません。 一方で、単価を0.8334円として1200個全てを有償通貨として取り扱う方法であればプレイヤーは4回購入できます。 この差はプレイヤー心理に多少なりとも影響を与えます。 会計上の都合を優先するか、プレイヤーの利益を優先するか 慎重に検討するべき仕様でしょう。 スロット GS2-Money ではウォレットを複数持つことができます。 その複数のウォレットを区別するためのキーがスロットです。 この機能は他のプラットフォームで購入した課金通貨を持ち込ませないようにしているプラットフォーマーが存在するため、そのガイドラインを遵守するために存在する機能です。 しかし、これらのガイドラインは有償通貨にのみ適用されるため、無償通貨については全てのスロットで共有できる機能があります。 ネームスペースの sharedFreeCurrency を有効にすると、無償通貨は全スロット共通として扱われ、有償通貨のみがスロットごとに隔離されます。 graph LR subgraph Wallets[Wallets] direction TB S0[\"Slot 0 (iOS) 有償残高: 1,000\"] S1[\"Slot 1 (Android) 有償残高: 500\"] S2[\"Slot 2 (Steam) 有償残高: 800\"] end Shared[\"無償残高: 200 (sharedFreeCurrency=true)\"] -.共有.-\u003e S0 Shared -.共有.-\u003e S1 Shared -.共有.-\u003e S2 購入通貨 GS2-Money2 では GS2-Money から変わった点として、1つのウォレットに複数の通貨で購入した課金通貨を保持できるようになりました。 たとえば、JPY で購入した有償通貨と、USD で購入した有償通貨を 1 つのウォレット内で別々の残高として保持できます。 1日数回の集計処理では通貨単位で DailyTransactionHistory が記録され、各通貨ごとの売上・消費を別個に把握できます。 消費優先度 プレイヤーが課金通貨を消費する時に、無償通貨を優先して消費するか、有償通貨を優先して消費するかを選択できます。 一般的に無償通貨を優先して消費する仕様が採用されますが、会計上の都合がある場合は有償通貨を優先できます。 有償通貨を消費する際には入金した時期が古いものから順番に消費されます。 ネームスペースの currencyUsagePriority で以下のいずれかを指定します。 設定値 説明 PrioritizeFree 無償通貨を優先的に消費（一般的） PrioritizePaid 有償通貨を優先的に消費 レシートの検証 ゲームの配信プラットフォームで追加コンテンツの購入時に得られるレシートの検証機能を有しています。 レシートを検証し、正しくプラットフォーマーによって発行された内容であることを確認するとともに、過去にゲーム内で使用したことがないかも確認します。 レシートの検証には、ネームスペースの platformSetting に Apple App Store や Google Play の認証情報を登録しておく必要があります。 この機能を利用することで、不正なレシートを利用して課金通貨を入手しようとする攻撃を回避できます。 サポートしているプラットフォーム プラットフォーム 設定キー 説明 Apple App Store appleAppStore iOS / iPadOS / macOS 向け課金 Google Play googlePlay Android 向け課金 Fake fake 開発・QA 用のダミーレシート発行 開発時には fake を利用してレシートを擬似的に発行することで、決済を実行せずにテストフローを回せます。 トランザクションログ レシートの検証履歴はもちろんですが、課金通貨の加算・減算履歴も全て記録されます。 そして、毎日数回 現在ゲーム内には未使用の課金通貨が現金相当額でいくらプールされているかを集計します。 状況に応じて未使用残高の一部を第三者機関に供託する対応が必要になることがありますが、その時にこの計算結果を利用できます。 主なログ・履歴データ データ 説明 DepositEvent 入金処理の履歴 WithdrawEvent 消費処理の履歴 VerifyReceiptEvent レシート検証の履歴 RefundEvent プラットフォームからの返金通知履歴 RefundHistory 返金の取り消し履歴 DailyTransactionHistory 1 日単位での通貨ごとの入出金集計 UnusedBalance 通貨ごとの未使用残高の現在値 法的手続き GS2-Money2 は各種法的手続きをとるために必要なデータを収集し、APIによってアクセス可能な状態で保持しますが、 法的手続き自体はGS2の利用者である あなた/あなたが所属する組織 が実行する必要があります。 どのような手続きが必要となるかは、GS2では責任を持つことができないためアドバイスもできません。顧問弁護士に相談するようにしてください。 トランザクションアクション GS2-Money2 では以下のトランザクションアクションを提供しています。 消費アクション: 残高の消費、レシートの検証 入手アクション: 残高の加算 「残高の加算」を入手アクションとして利用することで、特定のイベントクリア時や、ガチャの「おまけ」として直接課金通貨（有償・無償）を付与するといった処理を、トランザクション内で安全に実行できます。これにより、課金とゲーム内報酬を組み合わせた柔軟な施策が可能になります。 「レシートの検証」を消費アクションとして利用することで、レシートを使った購入処理から課金通貨を加算するまでを一連のトランザクションとして安全に処理できます。 期間課金（サブスクリプション） GS2-Money2 では、都度課金の課金通貨だけでなく期間課金（サブスクリプション）を扱えます。 あらかじめ StoreSubscriptionContentModel のマスターデータを登録し、scheduleNamespaceId と triggerName を使って GS2-Schedule と連動させることで、契約期間の開始・更新・終了を自動的に反映できます。 graph LR Player[\"プレイヤー\"] --\u003e|購入| Store[\"App Store / Google Play\"] Store --\u003e|レシート| Player Player --\u003e|AllocateSubscriptionStatus| Money2[GS2-Money2] Money2 --\u003e|Trigger| Schedule[GS2-Schedule] Schedule -.期限管理.-\u003e Money2 Money2 --\u003e|Notification| Player 契約情報の管理 各購入は SubscribeTransaction に記録され、トランザクションごとの契約詳細やストア情報を追跡できます。 プレイヤーごとの契約状態は SubscriptionStatus に保存され、現在のステータス (active / inactive) や expiresAt の確認が可能です。 AllocateSubscriptionStatus でレシートを使って契約状態をプレイヤーに紐付け、 TakeOverSubscriptionStatus を使って別のプレイヤーに引き継ぐことも可能です。これは家族で契約を共有する場合や、子供アカウントから大人アカウントへ契約を引き継ぐような運用に利用できます。 ライフサイクルに応じたスクリプトトリガー 契約操作の前後にはスクリプトを実行できます。同期・非同期のいずれかを選択し、外部サービス連携にも対応します。 トリガー名 主な用途 subscribeScript 新規契約時（ユーザーの紐づけ変更時は除く） renewScript 契約更新時 unsubscribeScript 解約時（ユーザーの紐づけ変更時は除く） takeOverScript 契約のユーザー割り当てを変更する際 契約状況の通知 サブスクリプションの状態が変化した場合、 changeSubscriptionStatusNotification に設定したプッシュ通知を送信できます。 プレイ中に期限切れや解約といった変化をハンドリングし、UIへ反映する用途に活用してください。 スクリプトトリガー ネームスペースに depositBalanceScript や withdrawBalanceScript verifyReceiptScript を設定すると、入出金処理の前後でカスタムスクリプトを実行できます。トリガーは同期・非同期の実行方式を選択でき、Amazon EventBridge を利用した外部連携にも対応します。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 depositBalanceScript （完了通知: depositBalanceDone ）: 入金処理の前後 withdrawBalanceScript （完了通知: withdrawBalanceDone ）: 出金処理の前後 verifyReceiptScript （完了通知: verifyReceiptDone ）: レシート検証の前後 同期スクリプトを使用して特定の条件に該当する場合に入出金処理を拒否したり、非同期スクリプトを利用して BI ツールへリアルタイムに売上を送信するといった運用が可能です。 プッシュ通知 設定できる主なプッシュ通知と設定名は以下の通りです。 changeSubscriptionStatusNotification : 期間課金の契約状況が変化したときに通知 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 StoreContentModel : 販売コンテンツ定義 StoreSubscriptionContentModel : 定期購読コンテンツ定義 マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 StoreContentModel の例 販売コンテンツに対する App Store / Google Play の商品IDの対応関係を定義します。 { \"version\": \"2022-07-13\", \"storeContentModels\": [ { \"name\": \"stone_300\", \"metadata\": \"石300個パック\", \"appleAppStore\": { \"productId\": \"io.gs2.sample.stone_300\" }, \"googlePlay\": { \"productId\": \"io.gs2.sample.stone_300\" } } ] } バフによる補正 GS2-Buff と連携すると DepositByUserId の count や Withdraw ・ WithdrawByUserId の withdrawCount にバフを適用して入金量や消費量を一時的に増減できます。イベントやキャンペーンに応じて柔軟に調整できます。 たとえば、課金通貨ボーナスキャンペーンとして「期間中に購入した課金通貨を 10% 増量する」といった施策を、 DepositByUserId の count に対する Rate Add 0.1 のバフとして実装できます。 実装例 残高を取得 ウォレット一覧を取得 スロットごとのウォレットをまとめて取得することができます。 複数プラットフォームで課金通貨を分離している場合の残高表示に活用できます。 残高を加算 残高を加算する処理はゲームエンジン用の SDK では処理できません。 GS2-Showcase の購入時の報酬として残高を加算するといった方法で実装してください。 残高を消費 このAPIで残高の消費処理を行うことは推奨していません。 GS2-Showcase といったサービスを通して課金通貨の消費を行う代わりに 何らかの処理を実行することを推奨します。 サブスクリプション契約状態の取得 サブスクリプション契約の割り当て App Store / Google Play で取得したレシートを使って、プレイヤーにサブスクリプション契約を割り当てます。 レシートの検証も合わせて行われ、不正なレシートを使った契約は拒否されます。 サブスクリプション契約の引き継ぎ 別のプレイヤーから現在のプレイヤーに対してサブスクリプション契約の紐付け先を変更します。 プラットフォーム側の契約自体は変更されず、ゲーム内での適用先のみが変更されます。 詳細なリファレンス GS2-Money2 リファレンス","lang":"ja","section":"microservices","summary":"課金通貨管理機能","title":"GS2-Money2","url":"/ja/microservices/money2/"},{"content":"ゲーム内のお知らせをHTML形式で配信するための仕組みです。 配信するHTMLコンテンツは hugo( https://gohugo.io/ ) で生成する必要があります。 GS2-News は記事データをアップロードすると、GS2 側で hugo によるビルドを行い、静的な Web コンテンツとしてホスティングします。ゲームクライアントは配信された一時 URL に対してアクセスすることでお知らせを閲覧できます。 graph LR Author[\"運営者\"] -- \"ZIP アップロード\" --\u003e GS2[\"GS2-News\"] GS2 -- \"hugo build (公開/非公開の 全パターンを事前生成)\" --\u003e CDN[\"CDN (HTML / ZIP)\"] Player[\"プレイヤー\"] -- \"GetContentsUrl\" --\u003e GS2 GS2 -- \"URL + Cookie (1時間有効)\" --\u003e Player Player -- \"WebView or ZIP DL\" --\u003e CDN hugo hugo は静的 Webページを生成するためのジェネレーターです。 ページのレイアウトやデザインを決定するためのテンプレートと、マークダウン形式で記述した記事データをビルドすることでHTMLファイルを生成します。 hugo の利用方法については、hugoの公式サイト または 各種解説サイトをご確認ください。 GS2 では最小限の hugo テンプレートと記事データのサンプルを GitHub で公開しています。 https://github.com/gs2io/gs2-news-sample イベントと連動する記事 GS2-News では、GS2-Schedule で管理するイベントと連動する記事データを管理できます。 記事データのマークダウンファイルの Front Matter に以下の記述をすることで、連携を有効化できます。 x_gs2_scheduleEventId: ${GS2-Schedule のイベントGRN} また、GS2-Schedule の Event ID には以下のプレースホルダが利用できます。 プレースホルダ 置換される値 {region} リージョン名 {ownerId} GS2のオーナーID 記述例は以下です。 x_gs2_scheduleEventId: grn:gs2:{region}:{ownerId}:schedule:schedule-0001:event:event-0001 イベントが開催中の場合のみ表示する記事や、特定イベント期間のみ非表示にする記事などを、運用ツールから切り替え操作することなく自動制御できます。 記事データのサイズ制限 GS2-News にアップロードする記事データは全体で 100MB以内 に収める必要があります。 また、記事データのビルドには --buildDrafts オプションは含まれません。Front Matter で draft: true と記述されたコンテンツは配信されません。 記事データのビルド GS2-News で配信する記事データはzip で圧縮した hugo のテンプレートと記事ファイルをアップロードすることで更新します。 その後、GS2-News は記事データをビルドして配信します。 記事データ内に x_gs2_scheduleEventId の記述がある場合は、各記事が公開状態・非公開状態 のそれぞれのバージョンを事前にビルドしてWebサーバーに配置します。 その後、プレイヤーが記事データにアクセスしようとした時に現在のイベントの開催状況から最も適切なコンテンツのURLをプレイヤーに応答します。 sequenceDiagram participant U as 運営者 participant N as GS2-News participant CDN as CDN U-\u003e\u003eN: PrepareUpdateCurrentNewsMaster N--\u003e\u003eU: アップロード用URL U-\u003e\u003eN: HTTP PUT (zip) U-\u003e\u003eN: UpdateCurrentNewsMaster N-\u003e\u003eN: hugo で全パターン ビルド N-\u003e\u003eCDN: 静的コンテンツ配置 進捗状況は Progress モデル（ generated / patternCount ）で確認でき、長時間のビルドが完了したかをポーリングできます。 記事データのアクセス権 記事データは事前に全てのパターンをビルドして配信すると説明しました。 悪意のあるプレイヤーがURLを特定して、本来ならまだ配信してはならないコンテンツにアクセスできてはいけません。 この問題を避けるために、GS2-News は Cookie を用いたアクセス制限を実装しています。 現在有効なコンテンツのURLを取得するとともに、そのURLにアクセスするための Cookie 情報を配信します。 ブラウザにその Cookie を設定した上でコンテンツURLにアクセスすることで、コンテンツのダウンロードが可能となります。 Cookie の有効期限 取得した Cookie は有効期限が設定されており、1時間が経過するとその Cookie ではコンテンツにアクセスできなくなります。 長時間ゲームをプレイしているプレイヤーに対しては、再取得を行ってください。 Zip形式で Webコンテンツをダウンロード GS2-News がホスティング した HTML に WebView を使用してアクセスする方法だけでなく、GS2-News がビルドした HTMLファイル全体を zip 形式でダウンロードすることも可能です。 こちらの方法を利用すれば、zip でダウンロードした HTML コンテンツをローカルストレージに展開し、それをブラウザで表示することでより快適にコンテンツを閲覧できるようになるとともに、同じコンテンツを何度もダウンロードしなくて良くなります。 zip ファイルをダウンロードしなおすべきかを判断するために、GS2-News はテンプレートファイルのハッシュ値と、GS2-Scheduleに基づいて公開状態になっているコンテンツのハッシュ値を取得できるようにしています。 これらの値を使用することで、zip ファイルを再ダウンロードするべきか判断することが可能となります。 ハッシュ値 説明 TemplateHash アップロードされたテンプレート ZIP のハッシュ値。テンプレート自体が更新された場合に変化します。 ContentHash 現在のイベント開催状況から決定される、公開状態のコンテンツ集合のハッシュ値。イベントの開始・終了で変化します。 スクリプトトリガー GS2-News ではスクリプトトリガーは提供していません。 マスターデータ管理 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 テンプレート : ニュース表示のHugoテンプレート 記事 : Markdown形式のニュース記事 マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 トランザクションアクション GS2-News ではトランザクションアクションを提供していません。 実装例 コンテンツURLを取得 GetContentsUrl の戻り値には Cookie のリストと、 BrowserUrl （WebView での閲覧用）／ ZipUrl （ZIP ダウンロード用）が含まれます。 取得した Cookie を WebView もしくは HTTP クライアントに登録した上で、それぞれの URL にアクセスしてください。 WebView での表示例 (Unity) unity-webview を使用して、取得した Cookie を WebView に設定してから BrowserUrl を開くことで、お知らせを表示できます。 foreach (var cookie in cookies) { webView.SetCookie(browserUrl, cookie.Key, cookie.Value); } webView.LoadURL(browserUrl); webView.SetVisibility(true); 記事データの一覧を取得 各記事は Section ／ Title ／ Content ／ FrontMatter などを保持しています。タイトル一覧を独自 UI で表示し、選択された記事のみ WebView で表示するといった構成も可能です。 キャッシュ再ダウンロード判定 ZIP ダウンロード方式を採用する場合、 TemplateHash と ContentHash をローカルに保存しておき、起動時に再取得した値と比較することで、不要な ZIP の再ダウンロードを避けることができます。 if (savedTemplateHash != domain.TemplateHash || savedContentHash != domain.ContentHash) { // 再ダウンロードを実行 } 詳細なリファレンス GS2-News リファレンス","lang":"ja","section":"microservices","summary":"おしらせ配信機能\n","title":"GS2-News","url":"/ja/microservices/news/"},{"content":"ゲームの進捗管理や、クエストの進捗管理を行います。 GS2-Quest はゲームのインゲーム（バトルやステージ）に挑戦するための「入口」と「出口」だけをサーバーで管理するマイクロサービスです。 インゲーム内部のロジックには関与せず、開始時のコスト消費・クリア時の報酬付与・前提条件の判定といった、サーバーで信頼すべき処理に責任を持ちます。 graph LR Start[\"クエスト開始 StartAsync\"] --\u003e Battle[\"インゲームを実行 (クライアント / 専用サーバー)\"] Battle -- 成功 --\u003e End1[\"クエスト終了報告 EndAsync(isComplete:true)\"] Battle -- 失敗 --\u003e End2[\"クエスト終了報告 EndAsync(isComplete:false)\"] End1 --\u003e Reward[\"クリア報酬を付与\"] End2 --\u003e FailedReward[\"失敗報酬を付与\"] クエスト クエスト はインゲームの基本単位で、インゲームを開始する時に選択するエンティティです。 クエストには挑戦に必要なコストと、挑戦によって得られる報酬を設定でき、GS2-Quest はその開始・終了をAPIとして受け付けます。 つまり、GS2-Quest はインゲームの内容には関与しません。 クエストの挑戦コスト クエストを開始状態にするために必要なコストを設定します。 一般的には GS2-Stamina で管理するスタミナを消費したり、GS2-Inventory で管理するアイテムを消費するようなコストを設定します。 QuestModel の consumeActions に消費アクションを設定することで、 Start 実行時にトランザクションとしてアトミックに処理されます。 クエストの検証条件 QuestModel の verifyActions に検証アクションを設定すると、クエスト開始時に追加の条件チェックを行えます。 たとえば「特定のアイテムを所持していること」「GS2-Dictionary に特定のエントリーが登録されていること」といった、消費せずに状態だけを確認する条件を表現できます。 クエストのクリア報酬 クエストに挑戦し、クリアした場合に得られる報酬を設定できます。 報酬には複数の種類（ Contents ）を用意することができます。各 Contents には抽選用の weight を設定でき、確率に応じてどの報酬パターンが適用されるかが決定されます。 この機能を利用すれば、一定の確率でレアモンスターが出現するバージョンのクエストが開始され、報酬が通常より豪華になるような設定が可能です。 初回クリア報酬 クエストを初めてクリアしたときにのみ、追加の報酬を得られるよう設定が可能です。 QuestModel の firstCompleteAcquireActions に入手アクションを設定します。 クリア報酬の減額 クエスト内で出現したモンスターを倒さなかった場合や、宝箱を見落とした場合にクエスト報酬を報酬から減額できます。 クエストの開始APIのレスポンスにはクエスト内で得られる報酬の最大値が応答され、クエストの完了APIにはそのうち実際に入手した数量をレポートします。 そのレポートの際に報酬を減らして報告することで減額が行われます。 報告の際に最大値を超える報酬をレポートしようとするとエラーが発生します。 クエストの失敗報酬 クエストに挑戦し、クリアできなかった場合に得られる報酬を設定できます。 QuestModel の failedAcquireActions に設定します。 クエストの失敗した場合は、挑戦時に支払ったスタミナを払い戻すような処理を実現できます。 クエストの前提条件 クエストに挑戦するために、他のクエストをクリアしていることを条件として設定することができます。 QuestModel の premiseQuestNames にクエスト名の配列を設定すると、指定した全てのクエストをクリア済みでないと挑戦できなくなります。 これによって、クエストをチェーンのように繋ぐことができます。 クエストの挑戦可能期間 クエストには挑戦可能期間として GS2-Schedule のイベントを関連づけることができます。 挑戦可能な期間は開始APIの実行時に判定され、終了処理時には判定されません。 そのため、終了報告までに期間が過ぎてもクエスト報酬が受け取れなくなるといった現象は発生しません。 クエストグループ 複数のクエストをまとめるエンティティです。 章やワールド単位でクエストをまとめて管理する用途で活用できます。 クエストグループの挑戦可能期間 クエストグループにも挑戦可能期間として GS2-Schedule のイベントを関連づけることができます。 クエストグループに挑戦可能期間を設定すると、配下のクエスト全てに条件が適用されます。 クエストグループとクエスト両方に挑戦可能な期間を設定した場合は、その両方のイベントが開催期間の時にのみクエストに挑戦可能となります。 進行中のクエスト（Progress） クエストを開始すると、ユーザーごとに1件だけ進行中の Progress がサーバーに記録されます。 Progress には抽選済みの報酬最大値や、サーバー側で生成された乱数シードが保持されており、これを利用して報告される報酬数量の妥当性を検証します。 進行中の Progress は1ユーザーあたり1件のみ保持できるため、通信切断などで完了報告ができなかった場合は DeleteProgress で破棄してから次のクエストを開始する必要があります。 別のクエストを開始する場合、 StartAsync に force: true を指定することで、進行中の Progress を破棄しつつ新規開始することもできます。 クリア状況の管理 クエストをクリアすると、そのクエストの名前が CompletedQuestList に記録されます。 クエストグループ単位で別のエンティティとして管理されており、特定のクエストグループのクリア状況をまとめて取得できます。 クリア状況はサーバー側で前提条件の判定にも利用されるため、外部から書き換える際はトランザクションアクションを経由する必要があります。 スクリプトトリガー ネームスペースに startQuestScript ・ completeQuestScript ・ failedQuestScript を設定すると、クエスト開始・クリア・失敗処理のタイミングでカスタムスクリプトを呼び出せます。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 startQuestScript : クエスト開始時 completeQuestScript : クエストクリア時 failedQuestScript : クエスト失敗時 スクリプト内で報酬の上書きや、クエスト開始の拒否といった判断を行うことができます。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 QuestGroupModel : クエストのまとまりと挑戦期間 QuestModel : コストや報酬の定義 マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 クエストモデルの主な設定項目は以下の通りです。 項目 内容 name クエスト名 contents 抽選される報酬パターン（ completeAcquireActions と weight ） firstCompleteAcquireActions 初回クリア時のみ付与される報酬 failedAcquireActions 失敗時に付与される報酬 consumeActions 開始時に消費するリソース verifyActions 開始時の前提条件チェック premiseQuestNames 前提となるクリア済みクエスト challengePeriodEventId 挑戦可能期間を表す GS2-Schedule イベント マスターデータの JSON 例： { \"version\": \"2022-02-15\", \"questGroupModels\": [ { \"name\": \"main\", \"metadata\": \"main-story\", \"quests\": [ { \"name\": \"quest-0001\", \"metadata\": \"intro\", \"contents\": [ { \"metadata\": \"normal\", \"completeAcquireActions\": [ { \"action\": \"Gs2Inventory:AcquireItemSetByUserId\", \"request\": \"{...}\" } ], \"weight\": 9 }, { \"metadata\": \"rare\", \"completeAcquireActions\": [ { \"action\": \"Gs2Inventory:AcquireItemSetByUserId\", \"request\": \"{...}\" } ], \"weight\": 1 } ], \"consumeActions\": [ { \"action\": \"Gs2Stamina:ConsumeStaminaByUserId\", \"request\": \"{...}\" } ], \"premiseQuestNames\": [] } ] } ] } バフによる補正 GS2-Buff と連携すると、クエストモデルの completeAcquireActions ・ firstCompleteAcquireActions ・ failedAcquireActions ・ verifyActions ・ consumeActions をバフで補正できます。イベントやキャンペーンに応じて報酬や参加条件、消費コストを柔軟に調整できます。 「ログインキャンペーン中はクエスト報酬1.5倍」「特定の装備を装着している間は挑戦コスト半額」といったゲーム体験を、マスターデータを書き換えずに実現できます。 トランザクションアクション GS2-Quest では以下のトランザクションアクションを提供しています。 消費アクション: クエスト進行状況（ Progress ）の削除 入手アクション: クエスト進行状況（ Progress ）の作成 「クエスト進行状況の作成」を入手アクションとして利用することで、ショップでの商品購入時や特定のミッション達成時の報酬として、直接特定のクエストを開始状態にするといった処理をトランザクション内で安全に実行できます。これにより、特定のアイテム購入後に即座にスペシャルクエストへ誘導するといった、シームレスなプレイ体験を提供することが容易になります。 実装例 クエストグループ一覧を取得 クエストモデルの一覧を取得 クエストのクリア状況を取得 クエストを開始 進行中のクエストを取得 クエスト開始時に抽選された報酬最大値を取得し、インゲームのクリア演出に活用できます。 クエストの終了を報告 isComplete にクリアの可否を、 rewards に実際に獲得した報酬数量をレポートします。 進行中の Progress が応答した最大値の範囲内であれば、その数量の報酬が付与されます。 進行中のクエストを破棄 通信断などで End が呼び出せなかった場合のリカバリーに使用します。 その他の機能 クエストの分岐 通常の仕様では、クエストを分岐させることはできません。 クエスト内に2つの出口を用意し、どちらの出口を利用したかで次に挑戦できるクエストが変動するようなクエストを実装したい場合は以下のようなデータ構造を検討してください。 クエスト名 前提クエスト Quest1 Quest1a Phantom Quest1b Phantom Quest2a Quest1a Quest2b Quest1b ややこしいですが、クエストの前提条件となるクエストにはマスターデータ内に存在しないクエスト名を設定できます。 今回は Quest1a / Quest1b は Phantom という名前のクエストを前提条件としていますが、Phantom というクエストはマスターデータ内に存在しません。 そのため、Quest1a / Quest1b は絶対に挑戦可能にならないクエストということになります。 Quest2a / Quest2b は Quest1a / Quest1b を前提クエストとしています。 この状態で、Quest1 のクリア報酬に 「Quest1a をクリア状態にする」「Quest1b をクリア状態にする」という報酬を設定しておき 利用した出口に応じて、どちらかのクリア状態を操作する報酬をプレイヤーに与えるかを決定します。 Quest1a / Quest1b が存在する理由は、マスターデータ内に存在しないクエストはクリア状態にできないためです。 graph TD Quest1 -- if use exit A --\u003e Quest1a Quest1 -- if use exit B --\u003e Quest1b phantom --- Quest1a phantom --- Quest1b Quest1a --\u003e Quest2a Quest1b --\u003e Quest2b linkStyle 2 stroke:#ccc,stroke-dasharray:4 linkStyle 3 stroke:#ccc,stroke-dasharray:4 class phantom pale class Quest1a pale class Quest1b pale Config を使用したスクリプトへのパラメータ受け渡し StartAsync / EndAsync には config パラメータを指定でき、スクリプトトリガー実行時に任意のキーと値のペアを渡せます。 プレイヤーが選択した難易度や使用したアイテム情報など、ゲーム固有の文脈をスクリプトに伝えることが可能です。 クリア状況のリセット CompletedQuestList を削除することで、特定クエストグループのクリア状況を初期化できます。 イベントの再周回や、章のニューゲーム＋などの実装で活用できます。 詳細なリファレンス GS2-Quest リファレンス","lang":"ja","section":"microservices","summary":"進捗管理機能\n","title":"GS2-Quest","url":"/ja/microservices/quest/"},{"content":"Warning GS2-Ranking2 がリリースされました。 特別な理由がない限りは新しく利用する場合は GS2-Ranking2 を利用してください。 ゲームのスコアやクリアタイムを競うランキング機能を実現します。 ランキングには2種類存在し「参加者全員が同じボード上で競い合うもの」と「購読したプレイヤーのスコアと競い合うもの」があります。 前者はグローバルランキング、後者はスコープランキングと呼びます。 グローバルランキング グローバルランキングは全てのプレイヤーと競い合うためのランキング機能を提供します。 GS2-Ranking では、数億人以上のプレイヤーが参加するような大規模なランキングを実現できます。 その代わり、ランキングの集計はリアルタイムではなく、事前に設定した周期で集計処理が行われ その集計結果をベースに順位計算などを行います。 カテゴリ ランキングの種類を設定します。 順位づけをするにあたって、スコアが大きい方が優れているのか、小さい方が優れているのかを設定する必要があります。 集計間隔 ランキングの集計を行う間隔を設定します。最小15分、最大24時間の範囲で指定ができます。 集計間隔の設定で気をつけなければならないのは、ここで設定する間隔は前回の集計開始時刻からの間隔ではなく、前回の集計終了時刻からの間隔であることです。 集計処理に5分要する状況で、00:00 に初回の集計が動いた場合について考えてみます。 集計開始時刻 集計終了時刻 00:00 00:05 00:20 00:25 00:40 00:45 固定集計時刻 集計間隔を24時間に設定した際に、その集計される時刻を固定したいというニーズがあります。 このようなニーズに対応するために、指定時刻になったら集計周期になっていなくても集計を実行する機能を提供しています。 集計間隔に24時間、固定集計時刻に AM5時 を設定したとします。 集計開始時刻 集計終了時刻 2020-01-01 05:00 2020-01-01 05:05 2020-01-02 05:00 2020-01-02 05:05 ← 23時間55分しか経過していないが、固定集計時刻になったため集計する 2020-01-03 05:00 2020-01-03 05:05 ← 23時間55分しか経過していないが、固定集計時刻になったため集計する スコアの有効範囲 スコアとして登録を受け付ける値の範囲を設定できます。 これによって、明らかに不適切なスコアの登録があった時に登録処理を行わずに捨てることができます。 この場合、不正なスコアの境界を調べるのを困難にするため、クライアントにエラーは返りません。 スコアの登録可能期間 スコアの登録を受け付ける期間の設定として GS2-Schedule のイベントを関連づけることができます。 スコア受け付け期間外にスコアを送信してもスコアは捨てられます。 スコアの登録可能期間外は集計処理は行われないため、集計にまつわる費用は発生しませんが、 スケジュールの判定のために GS2-Schedule のAPIコールは発生します。 そのため、明らかに2度と参照しないランキングに関してはマスターデータから削除することを推奨します。 ランキングデータへのアクセス可能期間 ランキングデータへのアクセス可能期間として GS2-Schedule のイベントを関連づけることができます。 イベント終了後はスコアの参照もできなくする場合などに活用できます。 ランキングの世代 カテゴリごとに世代を設定可能です。 世代を変更することで、カテゴリ名を変更せずにランキングの登録内容をリセットすることができます。 スコアの更新 スコアを送信する際に、サーバーでは最後に登録されたスコアを有効なスコアとして処理します。 そのため、最も優れたスコアをランキングとして記録したい場合、クライアントでスコアの優劣を判定し、スコアを送信するかしないかを判断する必要があります。 順位の取得 指定したユーザーIDのプレイヤーの順位を取得できます。 この処理では、なるべく最新の状況に近い順位を応答しようとします。 事前に集計された集計結果の内容の中で、最新のスコアの場合何位になるかを計算し、その順位を応答します。 そのため、スコア更新直後に順位を取得した場合も、集計時刻を迎えていなくても最新のスコアを使用した順位に相当する値を得ることができます。 指定したスコア周辺のランキングを取得 スコアを指定してその周辺のランキングを取得できます。 同一のスコアが大量に存在する場合、リストの中心に指定したスコアを設定されないことがあります。 スコープランキング スコープランキングはフレンド内のランキングといったごく一部のプレイヤー内でのランキングを実現します。 この機能を実現するために、各プレイヤーにスコアバケットを用意し プレイヤーがスコアを更新した際に、自分のスコアを購読しているプレイヤーのバケットのデータも更新することで 各プレイヤーは自分のバケット内のスコアを使用してランキングを計算することで実現しています。 マスターデータ管理 ランキングのカテゴリはマスターデータで定義します。 CategoryModel : ランキングのカテゴリ設定（並び順、集計間隔、固定集計時刻、スコアの有効範囲、登録可能期間、参照可能期間、世代、スコア保持方式 など） マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 スクリプトトリガー GS2-Ranking ではスクリプトトリガーを提供していません。 トランザクションアクション GS2-Ranking ではトランザクションアクションを提供していません。 実装例 スコアを登録 このAPIは、利便性の観点から ApplicationAccess で呼び出せるようになっています。 しかし、任意のスコアで送信できるのは脆弱性となります。 そのため、可能であればこのAPIをクライアントから呼び出せないように設定し、信頼できる送信元からのみスコアの登録を受け付けられるようにするべきです。 たとえば、アイテムの所持数量のランキングを実現したいのであれば、GS2-Inventory のアイテム入手時にトリガーされるスクリプトでスコアとしてアイテムの所持数量を登録する方が安全に処理できます。 順位を取得(グローバル) ランキングを取得 他プレイヤーを購読(スコープ) 他プレイヤーの購読を解除(スコープ) 購読中のプレイヤーリストを取得 スコアの保持設定 グローバルランキング・スコープランキングともに、ユーザーID毎に保持できるスコアを1個にするか、複数保持できるかを設定できます。登録したスコアのうち最後のものだけをランキング対象とするか、登録した全スコアをランキング対象とするかを選択できます。 全スコアをランキング対象とする場合、データ量が膨れ上がりやすくなり、GS2 の利用料金にも影響します。ゲームシステム上の大きな理由がなければ、最後に登録された1つのスコアのみをランキング対象とするよう設定することを推奨します。 詳細なリファレンス GS2-Ranking リファレンス","lang":"ja","section":"microservices","summary":"ランキング機能\n","title":"GS2-Ranking","url":"/ja/microservices/ranking/"},{"content":"Tip GS2-Ranking2 は名前の通りバージョン2に相当するマイクロサービスです。 以前のバージョンに関するドキュメントは GS2-Ranking を参照してください。 ゲームのスコアやクリアタイムを競うランキング機能を実現します。 GS2-Ranking2 は以下の3種類のモードを提供します。 グローバルランキング クラスターランキング 購読ランキング ゲームが必要とするランキング機能の多くはこのいずれかのモードで要件を満たせるはずです。 ランキングモード グローバルランキング グローバルランキングは全てのプレイヤーと競い合うためのランキング機能を提供します。 GS2-Ranking2 では上位1000位のプレイヤーのみランキングに参加可能で、1000位以下のプレイヤーのスコアは送信したとしてもランキングへは登録されません。 以前のバージョンである GS2-Ranking が1億を超えるプレイヤーの正確な順位を返す能力を有する形で提供していましたので、以前のバージョンと比較して大きく仕様が変化しています。 GS2-Ranking では、多くのスコアを扱える代わりに、15分〜24時間の範囲で指定した集計間隔で集計が行われるまでランキングへの登録が行われない仕様で、集計の度に参加人数に応じたコストが生じていました。 GS2-Ranking を利用した開発者からのフィードバックを受けて GS2-Ranking2 は再設計されました。 具体的に以下の点を重要なフィードバックと捉えて再設計しています。 多くのユースケースにおいて上位プレイヤーのみ表示できればよい 順位の変化を即座にランキングへと反映したい プレイヤーの増加によるランキング集計コストの増加は望ましくない 結果として、前述のように上位1000人のプレイヤーのみがランキングに参加でき、1001位以下のプレイヤーは「圏外」として処理する仕組みになりました。 その代わりスコアの登録直後にランキングに反映され、通常のAPIリクエストコスト以上の追加コストは発生しません。 クラスターランキング 概ねグローバルランキングと同じ仕様ですが、唯一異なるのはクラスターIDごとに異なるランキングが作成されることです。 クラスターIDに GS2-Guild のギルドIDを指定することで、ギルドメンバー同士で競うようなランキングを実現するために利用できます。 クラスター参加判定 クラスターランキングでは、クラスターの種類を定義しておくことでスコア登録時にクラスターに参加しているか確認してからスコア登録を実行できます。 たとえば、GS2-Guild のギルドをクラスターとしたランキングを実現する場合、ランキングモードの設定でクラスターの種類に「Gs2Guild::Guild」を指定することで スコア登録時にクラスターIDで指定されたギルドにスコアを登録しようとしているプレイヤーがメンバーとして登録されていることを確認した上でスコアを登録するようにできます。 購読ランキング GS2-Ranking のスコープランキングに類似する仕様のランキング機能です。 他プレイヤーを購読することで、自分のランキングボードに他プレイヤーの最新のスコアを含めることが可能となります。 フレンド内ランキングのようなプレイヤー間で非対称性が強いランキングを実現するために使用します。 購読ランキングにおける反映遅延 スコアの登録を実行すると、プレイヤーを購読しているプレイヤーのランキングに非同期でスコア登録が実行されます。 この処理は通常1秒以内に実行されますが、非同期処理のためスコアが反映されるまで若干の遅延が生じます。 シーズン 各ランキングにはスコアの登録を受け付ける期間として GS2-Schedule のイベントを関連づけることが可能です。 GS2-Schedule のイベントには繰り返し設定が可能で、各ランキングはイベントが繰り返す度にリセットされます。 この機能を実現するために、GS2-Ranking2 は各ランキングに シーズン というプロパティを持っています。 ランキングの結果はシーズンごとに格納され、過去のシーズンの結果をいつでも参照することができます。 ランキング報酬 グローバルランキング・クラスターランキングではランキングの順位報酬を設定できます。 報酬を設定するには 順位閾値 と 報酬の内容 を設定します。 閾値に 3 を指定すると、1,2,3位のプレイヤーへの報酬 続けて 10 を指定すると、4, 5, 6, 7, 8, 9, 10位プレイヤーへの報酬を設定できます。 ランキング圏外のプレイヤーへの報酬 1001 を閾値に指定すると、ランキング圏外のプレイヤーへの報酬を設定できます。 1001 を閾値とするランキング報酬の設定は任意で、未指定の場合は圏外のプレイヤーは報酬を受け取ることはできません。 過去シーズンの報酬受け取り 過去シーズンのランキング報酬は、報酬受け取りAPIに過去のシーズン番号を指定して呼び出すことで、いつでも受け取ることができます。 スコアの有効範囲 スコアとして登録を受け付ける値の範囲を設定できます。 これによって、明らかに不適切なスコアの登録があった時に登録処理を行わずに捨てることができます。 期間設定 スコアの登録可能期間 スコアの登録を受け付ける期間の設定として GS2-Schedule のイベントを関連づけることができます。 スコア受け付け期間外にスコアを送信してもスコアは捨てられます。 ランキングデータへのアクセス可能期間 ランキングデータへのアクセス可能期間として GS2-Schedule のイベントを関連づけることができます。 イベント終了後はスコアの参照もできなくする場合などに活用できます。 トランザクションアクション GS2-Ranking2 では以下のトランザクションアクションを提供しています。 検証アクション: グローバル・クラスター・購読 各ランキングのスコア検証 消費アクション: ランキング報酬受け取り履歴の記録 「ランキングのスコア検証」を検証アクションとして利用することで、特定のスコア以上を記録しているプレイヤーのみが購入できる商品や、挑戦できるクエストといった制限を、トランザクション内で安全に設けることが可能になります。これにより、上位ランカー限定の特別な報酬獲得イベントなどを確実に実現できます。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 RankingModel : ランキングモードや報酬閾値の設定 マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 実装例 スコアを登録 このAPIは、利便性の観点から ApplicationAccess で呼び出せるようになっています。 しかし、任意のスコアで送信できるのは脆弱性となります。 そのため、可能であればこのAPIをクライアントから呼び出せないように設定し、信頼できる送信元からのみスコアの登録を受け付けられるようにするべきです。 たとえば、アイテムの所持数量のランキングを実現したいのであれば、GS2-Inventory のアイテム入手時にトリガーされるスクリプトでスコアとしてアイテムの所持数量を登録する方が安全に処理できます。 グローバルランキング クラスターランキング 購読ランキング 順位を取得 グローバルランキング クラスターランキング 購読ランキング ランキングを取得 グローバルランキング クラスターランキング 購読ランキング ランキング報酬を受け取る ランキング報酬は、報酬閾値に該当するプレイヤーがAPIを呼び出すことで受け取れます。 受け取り処理はトランザクションとして実行され、設定された入手アクションが順に評価されます。 過去シーズンの報酬を受け取る場合は season に対象シーズン番号を指定します。 グローバルランキング クラスターランキング 詳細なリファレンス GS2-Ranking2 リファレンス","lang":"ja","section":"microservices","summary":"ランキング機能","title":"GS2-Ranking2","url":"/ja/microservices/ranking2/"},{"content":"ゲームプレイヤー同士での対戦機能を実現するために、低レイテンシーかつ高頻度で通信する場合に利用できる機能です。 GS2 では一般的にAPIリクエスト回数に対して料金が発生しますが、このサービスについてはゲームサーバーが起動すれば、 そのゲームサーバーの起動時間と、通信容量に対して費用が発生し、通信回数に対しては費用が発生しません。 graph TD Match[\"GS2-Matchmaking で ロビーを成立\"] --\u003e Want[\"RoomWant でルーム要求\"] Want -- ホットスタンバイから割り当て --\u003e Warm[\"Warm Start (1〜3秒)\"] Want -- 新規起動 --\u003e Cold[\"Cold Start (40〜60秒)\"] Warm --\u003e Connect[\"プレイヤーが接続\"] Cold --\u003e Connect Connect --\u003e Play[\"パケットリレーで対戦中通信\"] Play -- 1分間無通信または3時間経過 --\u003e Shutdown[\"ルーム終了\"] サーバータイプ 現在、GS2-Realtime はパケットリレー機能のみを提供しています。 これはゲームサーバーにメッセージを送信すると、そのメッセージが他のプレイヤーにブロードキャストされる機能を基本として プレイヤーIDを指定して、指定したプレイヤーにメッセージを届ける機能のみを有します。 RPCやオブジェクト同期といった機能はSDKには含まれておらず、単純なバイナリデータの送受信のみを行えます。 ペイロードのバイナリエンコーディングはアプリケーション側の責務となるため、Protocol Buffers / FlatBuffers / MessagePack といった任意のエンコーディングを採用できます。 Unreal Engine Dedicated Server ホスティング 開発者が Unreal Engine でビルドした Dedicated Server をホスティングできるようにすることを検討しています。 この機能の提供時期については未定です。 有償サポート契約をしたうえで開発を勧められる、強いニーズがあればスケジュールを調整できますので、ご相談ください。 サーバースペック サーバーの性能を設定できます。性能によって1分あたりの利用料金に差が生じます。 最も安い realtime1.nano で 8人プレイヤーが1秒間に3回メッセージを送り合えることを確認しています。 検討中の Unreal Engine Dedicated Server ホスティング では、要求スペックがこれより高くなることが予想されます。 開発効率ではなくコスト効率が最も重要なプロジェクトでは、Unreal Engine Dedicated Server の利用は推奨できません。 サーバースペックは Namespace ごとに設定し、 serverSpec フィールドに realtime1.nano のような識別子を指定します。 ライフサイクル ゲームサーバーは起動リクエストを受け付けてから手配が開始されます。 このとき、頻繁に起動リクエストが発生するゲームサーバーについては、GS2がホットスタンバイを用意します。 そのため、起動リクエストを受け付けた直後に割り当てが行われることが期待できますが、頻繁に起動リクエストが発生しない小規模なゲームでは起動リクエストから実際の割り当てまで時間がかかります。 ホットスタンバイからの割り当てを行うケースをウォームスタート、新しくサーバーを起動して割り当てるケースをコールドスタートと呼んでいます。 コールドスタート時の割り当てに必要な目安の時間は40秒〜60秒程度、ウォームスタート時の割り当てに必要な時間は1秒〜3秒を想定してください。 頻繁な起動リクエストが発生しない規模のタイトルで、コールドスタートの時間が許容できない場合 毎月固定費用が発生する前提でホットスタンバイを提供できます。ホットスタンバイの契約は5台から契約を受け付けています。 ホットスタンバイを契約していたり、頻繁な起動リクエストが発生している状況でもコールドスタートが発生しないことを保証できません。 ホットスタンバイを用意するより早くサーバーの起動リクエストを出したり、ゲームサーバーのバージョンアップ時にはコールドスタートが発生する可能性があります。 そのため、ワーストケースとしてコールドスタートが発生する状況を念頭にシステムを設計してください。 スタートの種類 種類 所要時間 説明 ウォームスタート 1〜3秒 ホットスタンバイから即時割り当て コールドスタート 40〜60秒 新しくサーバープロセスを起動 ルームの終了条件 起動されたルームは以下の条件で終了されます。 ルーム作成後 5分間 誰も接続に来なかった場合 ルームに参加する全プレイヤーから 1分間 無通信状態が続いた場合 ルームの最大起動時間である 3時間 が経過した場合 加えて、明示的に RoomShutdown を呼び出すことで、ルームを即時終了させることもできます。 なお、ホットスタンバイのルームにも同様の終了処理が適用されますが、ホットスタンバイの起動時間は利用料金に加算されません。 ルームへの接続 GS2-Realtime は以下のフローで接続します。 sequenceDiagram participant Player participant Realtime as GS2-Realtime participant Server as GameServer Player -\u003e\u003e Realtime: Room(roomName).Model() Realtime --\u003e\u003e Player: IpAddress / Port / EncryptionKey Player -\u003e\u003e Server: RelayRealtimeSession.ConnectAsync() Server --\u003e\u003e Player: 接続完了 Note over Player,Server: 以降はゲームサーバーと直接 WebSocket 通信 接続情報は以下の3つで構成されます。 IpAddress : ゲームサーバーの IP アドレス Port : 接続先ポート番号 EncryptionKey : メッセージペイロードの暗号化キー 接続時にはアクセストークンとプレイヤーのプロフィール初期値を渡します。 プロフィール リレーサーバーは受け取ったメッセージを他プレイヤーに伝搬するだけでなく、プレイヤーごとにプロフィールデータを持つことができます。 新しいプレイヤーがゲームサーバーに接続した時に参加中の全ての他プレイヤーのプロフィールデータを受け取ることができます。 プレイヤーの基本情報を格納しておくことで、新規プレイヤーが接続してきた時の処理を簡略化することができます。 プロフィールを更新すると、他プレイヤーにその内容が送信されるためメッセージ送信の代わりにも使えなくはありませんが、 更新時にペイロード全体が送受信されるプロフィール更新で高頻度のメッセージングを行うのは通信効率的に最適ではありません。 プロフィールはバイナリペイロードとして任意のフォーマットでエンコードできます。 プレイヤーのキャラクター情報、装備、レベル、ゲーム内通貨などのスナップショットを格納するのに適しています。 イベントハンドリング RelayRealtimeSession には以下のイベントハンドラを設定できます。 ハンドラ 発火タイミング OnJoinPlayer 他プレイヤーがルームへ参加した時 OnLeavePlayer 他プレイヤーがルームから退出した時 OnRelayMessage 他プレイヤーからリレーメッセージを受信した時 OnUpdateProfile 他プレイヤーがプロフィールを更新した時 OnError プロトコルエラーが発生した時 OnGeneralError 通信エラーが発生した時 OnClose ゲームサーバーとの接続が切断された時 各イベントには MessageMetadata を含む拡張版（ OnRelayMessageWithMetadata 等）も用意されており、メッセージのメタ情報を併せて取得できます。 プッシュ通知 設定できる主なプッシュ通知と設定名は以下の通りです。 createNotification : ルーム割り当て時に通知 enableTransferMobileNotification を有効にすると、オフライン端末へのモバイルプッシュ転送にも対応します。 GS2-Matchmaking で集まったメンバー全員にルーム割り当てを通知することで、対戦の準備完了をリアルタイムにアナウンスできます。 マスターデータ運用 GS2-Realtime はマスターデータを必要としません。 ネームスペースの設定（サーバータイプ・サーバースペック・プッシュ通知設定）のみで運用できます。 トランザクションアクション GS2-Realtime ではトランザクションアクションを提供していません。 他マイクロサービスとの連携 GS2-Realtime は単独で利用するよりも、以下のマイクロサービスと組み合わせて使うのが一般的です。 サービス 用途 GS2-Matchmaking 対戦相手をマッチングし、成立後に RoomWant を呼び出す GS2-Gateway プッシュ通知の経路として createNotification を利用 GS2-Account プレイヤーのアクセストークンを発行 実装例 ゲームサーバーへの接続情報を取得 ルーム名を指定して接続先情報を取得します。 RoomWant を経由してマッチメイク経由でルームが用意されている場合は、その roomName を指定します。 ゲームサーバーへ接続 他プレイヤーの接続をハンドリング 他プレイヤーの切断をハンドリング 他プレイヤーからのメッセージをハンドリング 他プレイヤーのプロフィール更新をハンドリング ゲームサーバーからの切断をハンドリング プロフィールを更新 ブロードキャストメッセージを送信 targetConnectionIds を省略すると、自身を除くルーム内の全プレイヤーへ配信されます。 ユニキャストメッセージを送信 targetConnectionIds に対象プレイヤーの ConnectionId を指定します。 ConnectionId は OnJoinPlayer などで受け取れます。 設計上の注意 バイナリペイロードの設計 GS2-Realtime はバイナリデータをそのまま中継するだけで、内容を解釈しません。 そのため、以下の点はアプリケーション側で設計する必要があります。 メッセージ種別を識別するためのヘッダ（先頭1バイトに opcode を入れるなど） シリアライズ形式（Protocol Buffers / FlatBuffers / MessagePack 等） 順序保証の必要性（必要な場合はアプリケーション層でシーケンス番号を付与） チート対策 リレーサーバーはペイロードの内容を解釈しないため、チート行為そのものを検知することはできません。 レーティングの計算などでは投票によって多数決で結果を決定します。 詳細なリファレンス GS2-Realtime リファレンス","lang":"ja","section":"microservices","summary":"リアルタイム通信機能\n","title":"GS2-Realtime","url":"/ja/microservices/realtime/"},{"content":"ゲーム内のイベントなどのスケジュールを管理する機能を提供します。 GS2-Schedule は単体ではイベントの期間情報のみを管理する機能を持ち、報酬の付与や購入制限といった処理は他のマイクロサービスと組み合わせて実現します。 GS2-Showcase / GS2-Exchange / GS2-LoginReward / GS2-Mission など、ほぼ全てのゲーム要素マイクロサービスがイベント期間との連携を前提に設計されているため、期間限定の運用施策を行う際の中核となるマイクロサービスです。 イベントの開催期間 イベントの開催期間には2種類あります。 1つ目は、全てのプレイヤーが同じ期間を共有する「絶対期間」、2つ目は、プレイヤーごとに期間が異なる「相対期間」となります。 graph TD Event[\"イベント\"] Event --\u003e Absolute[\"絶対期間 (scheduleType = absolute)\"] Event --\u003e Relative[\"相対期間 (scheduleType = relative)\"] Absolute --\u003e AbsoluteSample[\"例: 1月1日〜1月3日の ニューイヤーイベント\"] Relative --\u003e RelativeSample[\"例: 初プレイから7日間 初回ボス撃破から24時間\"] 絶対期間 「1月1日〜1月3日でニューイヤーイベントを開催する」といったケースで使用する期間タイプです。 全プレイヤーで同一の開催期間が共有されるため、 absoluteBegin / absoluteEnd をマスターデータで指定します。 相対期間 「ゲーム開始から1週間」や「初めてボスを倒してから24時間」のように、プレイヤーによってイベントの期間が異なるケースで使用する期間タイプです。 相対期間を実現するための「トリガー」という仕組みがあります。 トリガーを実行したあと、指定された期間（ttl）がイベントの開催期間として扱われます。 Gs2Schedule:TriggerByUserId アクション トリガーの引き方の種類 トリガーを引く時に、すでにトリガーが引かれている場合のイベント期間の指定方法には複数の方式があります。 トリガーを再起動する（renew） トリガーを延長する（extend） 何もしない（drop） イベントの繰り返し終了日時で有効期限を迎える（repeatCycleEnd） 次回の繰り返し開始日時で有効期限を迎える（repeatCycleNextStart） 絶対期間イベントの終了日時で有効期限を迎える（absoluteEnd） repeatCycleEnd / repeatCycleNextStart / absoluteEnd は、繰り返し設定や絶対期間を持つイベントに合わせて有効期限を自動調整する方式です。 2020年1月1日 00:00にトリガーを引き、7日間の相対期間イベントが開始された場合、2020年1月3日 00:00にトリガーを再度引いたときの各動作は以下のようになります。 方式 イベント終了日時 renew 2020年1月10日 00:00 トリガーの起動時点 2020年1月3日 00:00に7日間を追加 extend 2020年01月14日 00:00 すでに存在するトリガーの有効期限 2020年1月7日 00:00に7日間を追加 drop 2020年01月7日 00:00 すでに存在するトリガーをそのまま維持 繰り返し設定 絶対期間／相対期間ともに、 RepeatSetting を組み合わせることで「特定の曜日や時間帯のみ有効」「数日のサイクルで有効・無効を切り替える」といった繰り返しスケジュールを表現できます。 設定可能な繰り返しタイプは以下の通りです。 repeatType 説明 always 期間中は常に有効 daily 毎日 指定時刻〜指定時刻の間だけ有効（ beginHour / endHour ） weekly 毎週 指定曜日〜指定曜日の間だけ有効（ beginDayOfWeek / endDayOfWeek ） monthly 毎月 指定日〜指定日の間だけ有効（ beginDayOfMonth / endDayOfMonth ） custom 任意のサイクル日数で有効・無効を繰り返す（ anchorTimestamp / activeDays / inactiveDays ） custom タイプは「アンカー日時から3日有効・4日無効」のような任意の繰り返しサイクルを表現でき、変則的な常設イベントの設計に有用です。 繰り返しスケジュール状態の取得 繰り返し設定を持つイベントについては、現在および直前の繰り返しサイクルの開始日時／終了日時を RepeatSchedule として取得できます。 これにより、現在のサイクル内で報酬を何回受け取ったかといった集計や、次回サイクルまでの残り時間の表示が可能です。 トランザクションアクション GS2-Schedule では以下のトランザクションアクションを提供しています。 検証アクション: イベント開催期間中の検証、イベント期間外の検証、トリガーが引かれていることの検証、トリガーが引かれていないことの検証、トリガー引きからの経過時間の検証 消費アクション: トリガーの削除 入手アクション: トリガーの実行、トリガー期間の延長 「イベント開催期間の検証」を検証アクションとして利用することで、特定のイベント期間中のみ購入可能な商品や、期間限定の交換所といった制限を、トランザクション内で安全に設けることが可能になります。また、「トリガーの実行」を入手アクションとして利用することで、クエストクリア時やアイテム入手時に、そのプレイヤーだけの期間限定イベント（相対期間）を開始させるといった、動的なゲーム体験の制御が容易になります。 マスターデータ管理 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 EventMaster : イベント期間と繰り返し設定 以下はマスターデータの JSON 例です。 { \"version\": \"2019-03-31\", \"events\": [ { \"name\": \"newyear-2026\", \"metadata\": \"ニューイヤーイベント\", \"scheduleType\": \"absolute\", \"absoluteBegin\": 1735660800000, \"absoluteEnd\": 1735920000000, \"repeatType\": \"always\" }, { \"name\": \"tutorial-bonus\", \"metadata\": \"初回プレイから7日間限定\", \"scheduleType\": \"relative\", \"relativeTriggerName\": \"tutorial-clear\", \"repeatType\": \"always\" } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 実装例 トリガーを引く トリガーを引く処理はゲームエンジン用の SDK では処理できません。 GS2-Account のアカウント作成時のスクリプト内や、GS2-Quest のクリア報酬としてトリガーを引く、といった方法で実装してください。 開催中のイベント一覧を取得 現在のプレイヤーから見て開催中のイベントだけが返却されます。 絶対期間で開催中、もしくは相対期間でトリガーが引かれて有効期限内にあるイベントが該当します。 特定イベントの情報を取得 特定のイベント名を指定して、そのイベントの開催期間や繰り返し設定を取得します。 isInSchedule を true にすると現在開催中のイベントのみ、 false にするとマスターデータに登録された全てのイベントを参照できます。 トリガー一覧を取得 プレイヤーに対して引かれている相対期間トリガーの一覧と有効期限を取得できます。 繰り返しスケジュール状態の取得 繰り返し設定を持つイベントの現在の繰り返しサイクル情報を取得します。 繰り返し回数や、現在サイクルの開始日時・終了日時、直前サイクルの終了日時を確認できます。 詳細なリファレンス GS2-Schedule リファレンス","lang":"ja","section":"microservices","summary":"イベントスケジュール機能\n","title":"GS2-Schedule","url":"/ja/microservices/schedule/"},{"content":"GS2-Script は、GS2 の各マイクロサービスのイベントに応じてサーバーサイドでカスタムロジックを実行するための、Lua ベースのスクリプト実行環境です。 GS2 の各マイクロサービスには、特定の API 呼び出しの前後にスクリプトを実行する《スクリプトトリガー》という仕組みが用意されています。 これに GS2-Script で記述したスクリプトを紐付けることで、各サービスの標準機能では実現できないゲーム固有の検証ロジックやデータ加工処理、外部システム連携などをサーバー側で動かせます。 クライアント側のロジックは改ざんのリスクがあるため、不正防止や監査の観点で重要な処理はサーバー側で動かしたいケースが多くあります。 GS2-Script を使えば、GS2 のフルマネージド環境の中でそうしたサーバーロジックを記述・運用できます。 Lua スクリプト スクリプトの記述言語には Lua を採用しています。 Lua はゲーム業界での採用実績が豊富な軽量スクリプト言語であり、シンプルな文法と高速な実行性能を備えています。 スクリプトの登録は文字列を直接アップロードする方法と、GitHub リポジトリと連携してファイルを取得する方法の両方が利用できます。 GitHub 連携を利用することで、スクリプトの変更履歴を Git で管理し、Pull Request ベースでのレビュー・運用が可能になります。 スクリプトトリガー 各マイクロサービスのネームスペース設定で、特定の API 処理の前後に実行するスクリプトを指定できます。 スクリプトの実行タイミングは大きく2種類に分かれます。 graph LR Request[\"API リクエスト\"] --\u003e Pre[\"前処理スクリプト (同期実行)\"] Pre --\u003e Process[\"GS2 標準処理\"] Process --\u003e Done[\"完了通知スクリプト (非同期実行)\"] Process --\u003e Response[\"API レスポンス\"] 前処理スクリプト (同期実行) API 処理の実行直前に同期実行されるスクリプトです。 スクリプトの実行結果でリクエストパラメーターを変換したり、処理そのものを中断 (例外を発生) させたりできます。 レスポンスタイムには影響しますが、リクエストの内容をサーバー側で動的に判定・改変したい場合に有用です。 例: GS2-Account の createAccountScript の triggerScriptId を設定すると、アカウント作成 API の実行前にスクリプトが走り、特定の条件下では作成を拒否するといった制御ができます。 完了通知スクリプト (非同期実行) API 処理の完了後に非同期で実行されるスクリプトです。 レスポンスタイムには影響せず、ログ出力・統計記録・外部サービス連携などを安全に行えます。 例: GS2-Account の createAccountScript の doneTriggerScriptId を設定すると、アカウント作成が成功した後にスクリプトが走り、外部の分析基盤に新規ユーザー作成イベントを送信する、といった用途に利用できます。 スクリプトの実行モデル スクリプトの実行は標準で時間制限が設定されており、過剰に長いスクリプトはエラーになります。 スクリプトの実行時間は応答に含まれ、実行コストとして集計されます。 スクリプト内で発生した例外は API 呼び出し全体の例外として伝播し、前処理スクリプトで例外が発生した場合は GS2 標準処理は実行されません。 スクリプトからの GS2 API アクセス スクリプト内からは GS2 が提供する API 群をそのまま呼び出せます。 GS2-Inventory のアイテム数を確認してから GS2-Account の処理を行う、GS2-Stamina の残量を見て GS2-Mission の達成判定をするなど、複数のマイクロサービスを横断するロジックをスクリプト内で組み立てられます。 スクリプトの実行コンテキストには、API 呼び出しを行ったユーザーのアクセストークンなども渡されるため、認証済みプレイヤーのコンテキストでサーバー API を呼び出せます。 Amazon EventBridge 連携 完了通知の送信先には、GS2-Script のスクリプトの代わりに Amazon EventBridge を指定することもできます。 EventBridge にイベントを送信することで、AWS Lambda などの AWS サービスや、SaaS のイベント駆動型ワークフローに GS2 のイベントを連携でき、ゲーム外のシステムとの統合が容易になります。 GS2 内で完結する処理は GS2-Script、外部システムとの広範な連携は EventBridge と使い分けることで、シンプルかつスケーラブルな運用が可能です。 マスターデータ管理 GS2-Script ではマスターデータの概念はなく、スクリプトそのものが構成データとして管理されます。 スクリプトの登録・更新はマネージメントコンソールから直接行う他、GS2-Deploy のテンプレート ( Type: GS2::Script::Script ) として記述し、CI から自動的に反映するワークフローも可能です。 トランザクションアクション GS2-Script ではトランザクションアクションを提供していません。 スクリプト内から GS2 API を呼び出すことで、間接的に各マイクロサービスのトランザクションを発火させることは可能です。 実装例 GS2-Script は管理API中心のマイクロサービスです。ゲームエンジン用 SDK (Unity/Unreal Engine) には専用の Domain クラスが提供されていません。 スクリプトの登録・更新・実行はサーバー側およびネームスペースの構成に関わる操作のため、ゲームクライアントから直接呼び出すのではなく、以下のいずれかの手段で操作することを推奨します。 マネジメントコンソール GS2 CLI 各種言語向け一般SDK (C# / Go / Python / TypeScript / PHP / Java) GS2-Deploy によるテンプレート管理 各種SDKの詳細は対応するリファレンスページを参照してください。 マイクロサービスへのスクリプト紐付け スクリプトを各マイクロサービスのイベントトリガーに紐付ける場合は、対象サービスのネームスペース設定で参照します。 実運用では、マネージメントコンソールから直接設定する、もしくは GS2-Deploy のテンプレートに記述することで、スクリプトの紐付けまで含めて CI/CD で管理できます。 以下は、GS2-Account の CreateAccountScript に「アカウント作成前」( TriggerScriptId ) と「アカウント作成完了通知」( DoneTriggerScriptId ) のスクリプトを設定する例です。 GS2TemplateFormatVersion: \"2019-05-01\" Resources: Script: Type: GS2::Script::Script Properties: NamespaceName: namespace-0001 Name: createAccount Script: | local result = { permit = true } return result AccountNamespace: Type: GS2::Account::Namespace Properties: Name: account-namespace CreateAccountScript: TriggerScriptId: !GetAttr Script.Item.ScriptId DoneTriggerTargetType: gs2_script DoneTriggerScriptId: !GetAttr Script.Item.ScriptId DependsOn: - Script スクリプトは事前に登録しておき、ネームスペース側からは GRN で参照します。 DependsOn でリソース間の依存関係を宣言することで、スクリプトを先に作成してから、それを参照するネームスペースを作成する順序を保証できます。 詳細なリファレンス GS2-Script リファレンス","lang":"ja","section":"microservices","summary":"Luaスクリプト実行環境\n","title":"GS2-Script","url":"/ja/microservices/script/"},{"content":"GS2-Scriptの拡張スクリプト（Lua言語）で使用可能な拡張メソッドです。 GS2-Script のサンドボックス内で利用できる Lua 標準ライブラリには制限があります。 load / require / dofile / pcall のような外部リソースを読み込んだり、エラーを内部でハンドリングしたりする関数は使用できません。 os ライブラリも安全のため、 os.time() のみが利用可能です。 table / string / math ライブラリは概ねそのまま利用できます。 util.table_to_json Luaのテーブル型（配列）を、JSON形式の文字列に変換します。 Request 引数名 型 説明 table table Luaテーブル Result メンバ名 型 説明 isError bool エラーの有無 statusCode int ステータスコード errorMessage string エラーメッセージ result string 変換結果のJSON文字列 Sample Code result = util.table_to_json({a=\"a\", b=1, c=false}) if result.isError then fail(result['statusCode'], result['errorMessage']) end json_str = result[\"result\"] Output {\"a\":\"a\",\"b\":1,\"c\":false} util.json_to_table JSON形式の文字列を、Luaのテーブル型（配列）に変換します。 Request 引数名 型 説明 jsonText string JSON形式の文字列 disableNumberStringToNumber bool JSON内に文字列型で数値が格納されていた時に数値型に変換しない(default: false) Result メンバ名 型 説明 isError bool エラーの有無 statusCode int ステータスコード errorMessage string エラーメッセージ result table 変換結果のLuaテーブル Sample Code result = util.json_to_table(\"{\\\"a\\\": \\\"a\\\", \\\"b\\\": 1, \\\"c\\\": false}\") if result.isError then fail(result['statusCode'], result['errorMessage']) end json_table = result[\"result\"] util.split 文字列を分割します。 Request 引数名 型 説明 value string 元の文字列 sep string デリミタ、区切り文字列 Result メンバ名 型 説明 isError bool エラーの有無 statusCode int ステータスコード errorMessage string エラーメッセージ result table 分割した文字列のLuaテーブル Sample Code result = util.split(\"a,b,c\", \",\") if result.isError then fail(result['statusCode'], result['errorMessage']) end split_table = result[\"result\"] print(split_table[1]) print(split_table[2]) print(split_table[3]) Output a b c http.get HTTPのGETリクエストを発行します。 Request 引数名 型 説明 url string 接続先のURL Result メンバ名 型 説明 isError bool エラーの有無 statusCode int ステータスコード errorMessage string エラーメッセージ result string HTTPレスポンスのボディ Sample Code result = http.get(\"https://example.com\") if result.isError then fail(result['statusCode'], result['errorMessage']) end get_result = result[\"result\"] http.post HTTPのPOSTリクエストを発行します。 Request 引数名 型 説明 url string 接続先のURL contentType string HTTPヘッダーのContent-Type body string HTTPリクエストメッセージのボディ Result メンバ名 型 説明 isError bool エラーの有無 statusCode int ステータスコード errorMessage string エラーメッセージ result string HTTPレスポンスのボディ Sample Code result = http.post(\"https://example.com\", \"application/json\", \"{\\\"a\\\": 1}\") if result.isError then fail(result['statusCode'], result['errorMessage']) end post_result = result[\"result\"] util.random 0 〜 1 の浮動小数点数の乱数を生成する Request 引数名 型 説明 Result メンバ名 型 説明 isError bool エラーの有無 statusCode int ステータスコード errorMessage string エラーメッセージ result float 生成した乱数 Sample Code result = util.random() if result.isError then fail(result['statusCode'], result['errorMessage']) end random_value = result[\"result\"] util.uuid UUIDv4 に基づく文字列を生成する Request 引数名 型 説明 Result メンバ名 型 説明 isError bool エラーの有無 statusCode int ステータスコード errorMessage string エラーメッセージ result float 生成したUUID Sample Code result = util.uuid() if result.isError then fail(result['statusCode'], result['errorMessage']) end random_value = result[\"result\"] util.shared_random 抽選機能などで《同一の乱数列を再現したい》ケースのために、シードと連番に基づく決定論的な乱数を生成します。 スタンプシートの自動リトライによる再実行時にも、同じ乱数列が得られるように設計されています。 category ごとに独立した連番が管理されるため、同一スクリプト内で複数の独立した乱数列が必要な場合に使い分けられます。 Request 引数名 型 説明 category int 乱数列を区別するためのカテゴリ番号 Result メンバ名 型 説明 isError bool エラーの有無 statusCode int ステータスコード errorMessage string エラーメッセージ result float 生成した乱数 Sample Code result = util.shared_random(1) if result.isError then fail(result['statusCode'], result['errorMessage']) end shared_value = result[\"result\"] fail スクリプトの実行を失敗扱いで中断し、呼び出し元の API にエラーを返します。 事前スクリプト/事後スクリプトでバリデーションを行い、条件を満たさない場合にエラーを返したい場合に使用します。 Request 引数名 型 説明 errorCode string 返却するエラーコード（ BadRequest / Unauthorized / NotFound / Conflict / ServiceUnavailable / BadGateway 等。HTTP ステータスコード（ 400 / 401 等）も指定可能） message string エラーメッセージ errorCode に該当しない値を指定した場合は InternalServerError として処理されます。 Sample if not_allowed then fail(\"BadRequest\", \"validation.error.notAllowed\") end print ログに任意の文字列を出力します。GS2-Log を有効化している場合、出力した内容はアクセスログから確認できます。 スクリプト内のデバッグや、実行経路の記録に利用してください。 Request 引数名 型 説明 message string 出力するメッセージ Sample print(\"invoked with userId=\" .. args.userId) os.time スクリプトの実行時点のサーバー時刻を Unix 時間（秒）で取得します。 GS2-Distributor の時刻オフセット機能を利用している場合、その分のオフセットが反映された時刻が返ります。 Sample now = os.time() gs2 GS2-Script の Lua スクリプト内から、GS2 の各マイクロサービスの API を直接呼び出すためのクライアントです。 呼び出すサービス名を引数に取り、続けて API 名と引数を指定します。 呼び出した API がトランザクションを発行する場合、その発行内容はスクリプトを起動した API のトランザクションと合わせて返却されます。 Sample GS2-Inventory のアイテムを取得する例: result = gs2(\"inventory\").get_item_set_by_user_id({ namespaceName = \"namespace-0001\", userId = args.userId, inventoryName = \"inventory-0001\", itemName = \"item-0001\", }) if result.isError then fail(result['statusCode'], result['errorMessage']) end 利用可能なサービス名・API 名は、各マイクロサービスの API リファレンスを参照してください。","lang":"ja","section":"articles","summary":"GS2-Script で実行する Lua スクリプト内で利用可能なユーティリティメソッドの説明\n","title":"GS2-Script のユーティリティメソッド","url":"/ja/articles/script/"},{"content":"プレイヤースキルでプレイヤーを分類し、より近い実力のプレイヤーとのマッチメイキングを実現するための機能です。 レーティング値によるマッチメイキング機能は GS2-Matchmaking に備わっていますが、近年増えている現実時間で数週間〜数ヶ月程度のシーズンを通してプレイヤーをランクづけする仕組みには対応していませんでした。 このマイクロサービスは、定めた期間をシーズンと捉え、シーズン期間に高いティアーを目指して対戦を繰り返すゲームサイクルを実現するために利用できます。 そのため、この機能で強さを表す指標はレート値ではなく、どのティアーに属しているかによって表現されます。 graph TD Match[\"GS2-Matchmaking マッチメイキング成立\"] --\u003e Session[\"MatchSession 作成\"] Session --\u003e Ballot[\"各プレイヤーが投票用紙を取得 (Ballot / SignedBallot)\"] Ballot --\u003e GamePlay[\"ゲームプレイ\"] GamePlay --\u003e Vote[\"Vote / VoteMultiple 順位を投票\"] Vote --\u003e Aggregate{\"多数決で結果確定\"} Aggregate -- 確定 --\u003e Calc[\"ポイント変動量を計算 (TierModel に基づく)\"] Calc --\u003e Experience[\"GS2-Experience に ポイント / ランクを反映\"] Aggregate -- 分断 --\u003e Skip[\"集計せず終了\"] ティアー ティアーは一般的にブロンズから始まり、勝ち進めることでシルバー、ゴールド、プラチナ…のように上がっていく仕様が一般的です。 ティアーを上げるには、同一ティアー内のプレイヤーと対戦し、順位によって変動する入手ポイントが閾値を超えると次のティアーに上がれます。 勝負に負けるとポイントは減ることがあり、ポイントが閾値を下回ると前のティアーに下がることがあります。 ティアーモデルの設定項目 各ティアーは TierModel として定義し、以下のパラメータでポイントの増減や昇格時の挙動を制御できます。 項目 説明 metadata ティアー名などの自由記述（ブロンズ/シルバー/ゴールド 等） entryFee ゲーム参加時に消費するポイント。連戦連勝でなければ昇格できない難易度設計に利用 minimumChangePoint 最下位を取った時のポイント減算量 maximumChangePoint 最上位を取った時のポイント加算量 raiseRankBonus ランクアップした際に付与するボーナスポイント。直後に降格しないチャタリング防止に有効 ティアーをまたぐ対戦 レーティング戦において、マッチメイキングのルールは原則的に同一ティアーで構成するべきです。 しかし、プレイヤーが不足するなどの理由で前後のティアーのプレイヤーを含んだ状態でマッチメイキングをする場合も各プレイヤーが属しているティアーの最小・最大変動量と順位を元にポイントの変動量を決定します。 低いティアーのプレイヤーが高いティアーのプレイヤーに勝った場合にボーナスポイントを加算する仕組みやその逆のような仕組みはありません。 本来異なる強さのプレイヤー同士を対戦させて細工で工夫をするより、各ティアーに最低限ゲームプレイを成立させるだけのプレイヤーが滞留するようにティアーの閾値設計を行うことを推奨します。 ポイント 変動範囲 各ティアーごとに、最下位の時のポイント減算量、最上位の時のポイント加算量を設定できます。 中間の順位をとった場合には、報告された順位のパターン数で等分し、ポイントの加減算量を決定します。 参加料 ティアーによって、ゲームに参加する際にポイントを消費する必要があるように設定が可能です。 これによって、連戦連勝もティアーを上がるために必要となる条件を表現することが可能です。 参加料の支払いは、ゲーム結果をサーバーに報告するための投票用紙を取得する際に支払います。 ランクアップボーナス ポイントを加算してランクアップした際にボーナスポイントを加算できます。 これによって昇格後にすぐに降格するようなチャタリングを防止することができます。 ユーザーデータ管理 GS2-SeasonRating はポイントとランクを管理しません。 実際のユーザーデータの管理は GS2-Experience を使用します。 シーズンのマスターデータとして、シーズンのポイントを管理する GS2-Experience の経験値モデルを指定し、 プロパティIDにシーズンモデルのIDを指定して、 経験値にポイント、ランクにどのティアーに属しているかを管理します。 つまり、ポイントの増減量は GS2-SeasonRating のマスターデータで管理しますが、ポイントによってランクを決定する閾値の管理や、プレイヤーがどのティアーに属しているかといったユーザーデータは GS2-Experience が管理します。 これによって、シーズン終了後に特定のランクであればアイテムがもらえるような交換処理に GS2-Experience が提供するランク値の検証機能のような高度な機能が利用できます。 graph LR SeasonModel[\"SeasonModel (GS2-SeasonRating)\"] -- \"experienceModelId\" --\u003e ExpModel[\"ExperienceModel (GS2-Experience)\"] ExpModel -- \"ランク閾値\" --\u003e Status[\"プレイヤーのランク状態 (GS2-Experience に保存)\"] Vote[\"投票結果確定\"] -- \"ポイント加減算\" --\u003e Status マッチセッション レーティング戦を行うには、まずは GS2-SeasonRating にマッチセッションリソースを作成する必要があります。 GS2-Matchmaking にはマッチメイキング成立時に、マッチメイキング成立したギャザリング名でマッチセッションを作成する連携機能があります。 特に理由がなければこの方法でマッチセッションを作成してください。 マッチセッションの有効期限 マッチセッションには有効期限を秒単位で、最大24時間の範囲で指定できます。 この期間内に結果の投票を行う必要があり、最初の投票から5分が経過して全ての投票が行われない場合はその段階で結果の集計が行われます。 結果の投票 マッチメイキングが完了したら、各プレイヤーはマッチセッションから投票用紙を取得します。 投票用紙を使用して、結果の投票を行います。 投票の内容には対戦に参加したプレイヤーのユーザーIDと順位のリストを渡します。 投票用紙の署名 Ballot を取得すると、 SignedBallot として GS2 から署名された投票用紙が払い出されます。 署名は keyId に指定した GS2-Key で行われ、投票時にサーバー側で署名検証が行われるため、投票内容の改ざんを防止できます。 1試合複数投票（VoteMultiple） シングルプレイヤー視点のゲーム（CPU との対戦結果を投票する想定）など、参加者全員分の投票用紙を1人のプレイヤーがまとめて取得して投票する必要があるケースでは VoteMultiple を使用します。 複数の SignedBallot を一括で送信できます。 投票結果の分断 サーバーが受け付けた投票の多数決を取ろうとした時に、結果が同数で最終的な結果を確定できない場合はレートの計算が行われません。 そのため、1vs1 のゲームでは正しいレート値を求めるのは困難です。 この問題を解決するためには、裏で対戦には直接関わらない3人目のプレイヤーをマッチメイキングし、そのプレイヤーに第三者視点で投票してもらうといった工夫が必要となります。 スクリプトトリガー GS2-SeasonRating ではスクリプトトリガーを提供していません。 トランザクションアクション GS2-SeasonRating ではトランザクションアクションを提供していません。 ポイントとランクの増減は内部的に GS2-Experience のトランザクションアクションを通じて反映されます。シーズン終了後に特定ランク以上のプレイヤーへ報酬を配布する場合は、GS2-Exchange の交換処理に GS2-Experience の VerifyRankAction を組み合わせるなどの実装が一般的です。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 SeasonModel : シーズンに含まれるティアーと、紐付ける GS2-Experience の経験値モデル TierModel : 各ティアーごとのポイント変動量・参加料・ランクアップボーナス マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 以下はマスターデータの JSON 例です。 { \"version\": \"2023-04-05\", \"seasonModels\": [ { \"name\": \"season-0001\", \"metadata\": \"シーズン1\", \"experienceModelId\": \"grn:gs2:{region}:{ownerId}:experience:experience-0001:model:season\", \"tiers\": [ { \"metadata\": \"ブロンズ\", \"raiseRankBonus\": 100, \"entryFee\": 0, \"minimumChangePoint\": 10, \"maximumChangePoint\": 30 }, { \"metadata\": \"シルバー\", \"raiseRankBonus\": 150, \"entryFee\": 10, \"minimumChangePoint\": 20, \"maximumChangePoint\": 40 } ] } ] } 実装例 現在のポイントやランクを取得 GS2-Experience のAPIを利用してステータスを取得してください。 「NamespaceName」「ExperienceName」 にはシーズンマスターデータに指定した値を 「PropertyId」 にはシーズンモデルIDを指定してください。 マッチセッションを作成 マッチセッションの作成はゲームエンジン用の SDK では処理できません。 GS2-Matchmaking の連携機能を使用してください。GS2-Matchmaking のネームスペース設定でマッチメイキング成立時のスクリプトに GS2-SeasonRating のセッション作成を呼び出すスクリプトを設定することで、マッチメイキング成立と同時に対応するセッションを自動生成できます。 投票用紙を取得 投票を実行 複数の投票用紙をまとめて投票 CPU 戦の結果や、参加者全員の投票用紙を1人のプレイヤーが代表して投じるケースで利用します。 詳細なリファレンス GS2-SeasonRating リファレンス","lang":"ja","section":"microservices","summary":"シーズンレーティング機能","title":"GS2-SeasonRating","url":"/ja/microservices/season_rating/"},{"content":"ゲーム外の物販やリアルイベント、SNSキャンペーン、コラボキャンペーンなどを通じてゲーム内アイテムを配布したい場合に使用できます。 紙のパッケージや QR コードに印字したコード、メール／SNS で配布する文字列のいずれも同じ仕組みで取り扱うことができます。 ただし、この機能は一部プラットフォーマーは実装を許していないため、採用にあたってはプラットフォーマーのガイドラインを確認するようにしてください。 シリアルコードの種類 シリアルコードは以下の2種類があります。 シリアルキー：1回使用すると再利用できないコード キャンペーンコード：1つのコードを複数人で共有できるコード graph TD SerialCode[\"シリアルコード\"] SerialCode --\u003e SerialKey[\"シリアルキー 1人1回限定\"] SerialCode --\u003e CampaignCode[\"キャンペーンコード 複数人で共用\"] SerialKey --\u003e SerialKeyUse[\"RPCLP-FP7N-NCDMJ-FLVA-IRI4\"] CampaignCode --\u003e CampaignCodeUse[\"NEWYEAR2026\"] シリアルキー 1回使用すると2度と使用できなくなるコード です。 シリアルキーは「RPCLP-FP7N-NCDMJ-FLVA-IRI4」のような形式で発行され、データ長を変更することはできません。 シリアルキー内にはキャンペーンの種類の情報も含まれており、シリアルキーを使用する際にはネームスペースを指定するだけで使用できます。 キャンペーンコード 「ハロウィン2025」「SUMMER」のように人間にとって覚えやすい文字列を、運営側が任意に設定できるコード です。 1つのコードを多数のプレイヤーが共有して引き換えに使用することを想定しています。 キャンペーンコードはキャンペーンに紐づけて発行する シリアルキー とは異なり、キャンペーンの名前自体がコードとして引き換え可能になります。 キャンペーン 「シリアルキー」も「キャンペーンコード」もキャンペーンに属します。 キャンペーンには以下を設定します。 name : キャンペーン名（キャンペーンコードとしても利用される） metadata : 任意のメタデータ enableCampaignCode : キャンペーンコード（キャンペーン名そのものを使った引き換え）を有効化するか キャンペーンは GS2-Schedule のイベントと関連づけることで有効期間を設定することが可能です。 有効期間の検証はトランザクションアクションを組み合わせて実現できます。 シリアルキーの発行 対象のキャンペーンと発行数量を指定してシリアルキーの発行処理を実行することで、シリアルキーが発行されます。 発行処理は非同期ジョブとして実行され、 IssueJob を介して進捗を確認できます。 発行されたシリアルキーのリストはCSV形式でダウンロードが可能です。 物販パッケージに印字するなど、大量に発行する用途では数十万件単位での発行も可能です。 シリアルキーの状態 シリアルキーは以下の状態を持ちます。 状態 説明 ACTIVE プレイヤーが利用可能な状態 USED 既に使用済み（再利用不可） INACTIVE 運営によって無効化された状態 実際にプレイヤーが利用できる状態が ACTIVE で、使用すると USED になります。 運営サイドでシリアルキーを無効化すると INACTIVE になります。 トランザクションアクション GS2-SerialKey では以下のトランザクションアクションを提供しています。 検証アクション: シリアルコードの有効性の検証、シリアルコードが指定キャンペーンに属することの検証 消費アクション: シリアルコードの使用済み化 入手アクション: シリアルコードの未使用化（キャンセル用）、シリアルコードの発行 「シリアルコードの発行」を入手アクションとして利用することで、ゲーム内の特定のミッションを達成した際や、上位入賞の報酬として、プレイヤーごとにユニークなシリアルコード（他者へ譲渡可能）を自動発行してプレゼントするといった処理を、トランザクション内で安全に完結させることが可能になります。これにより、ゲーム外でのファン交流や、プレイヤー間でのプレゼント要素を促進する施策が容易になります。 コードによる引き換え回数制限 キャンペーンコードでの引き換えは何もしなければ、何回でも引き換えが可能です。 普通は「一度引き換えを行ったら二度と引き換えできなくする」か「一定期間引き換えをできなくしたい」といった要件があるはずですし、 キャンペーンコードにしろ、シリアルキーにしろ「同一キャンペーンでの引き換え可能な総回数に制限を設けたい」など、様々な要件があるはずです。 GS2-SerialKey はそのような制限機能はもたず、純粋に入力されたシリアルキーが有効かだけを判断する機能を提供します。 そのため、GS2-SerialKey 自身は交換を実行した時に得られる報酬も持ちません。 シリアルキーを使用する場合の実装例を以下に示します。 actor Player participant \"GS2-Exchange#Rate\" participant \"GS2-SerialKey#SerialKey\" participant \"GS2-Limit#Counter\" participant \"GS2-Inventory#Item\" Player -\u003e \"GS2-Exchange#Rate\" : Exchange \"GS2-Exchange#Rate\" -[#f00]-\u003e \"GS2-SerialKey#SerialKey\" : Use \"GS2-Exchange#Rate\" -\u003e \"GS2-Limit#Counter\" : Increase \"GS2-Exchange#Rate\" -\u003e \"GS2-Inventory#Item\" : Acquire \"GS2-Exchange#Rate\" -\u003e Player GS2-Exchange によってシリアルキーを使用した際に得られる報酬が定義され、 GS2-Limit によって回数制限が適用され、何度もアイテムを入手できないことになります。 報酬を構成する際は GS2-Schedule によるキャンペーン期間チェックや、GS2-Inventory での景品付与など、複数のマイクロサービスをトランザクションで結びつけることで複雑な要件を実現できます。 マスターデータ管理 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 CampaignModel : キャンペーン（シリアルキー／キャンペーンコードの母集団）の定義 以下はマスターデータの JSON 例です。 { \"version\": \"2019-08-19\", \"campaigns\": [ { \"name\": \"newyear-2026\", \"metadata\": \"ニューイヤーキャンペーン\", \"enableCampaignCode\": true }, { \"name\": \"package-promo\", \"metadata\": \"パッケージ封入用 (キャンペーンコード無効)\", \"enableCampaignCode\": false } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 実装例 シリアルキーを使用する このAPIで直接シリアルキーを使用する処理を行うことは推奨していません。 GS2-Exchange といったサービスを通してシリアルキーの使用を行うことで、シリアルキーの使用と報酬の付与・回数制限のチェックを一連のトランザクションとして扱うことができます。 シリアルキーの情報を取得 シリアルキーのコードを指定して、そのコードが所属するキャンペーンや現在の状態（ ACTIVE / USED / INACTIVE ）を確認できます。 引き換え画面で「入力されたコードは既に使用済みです」のようなエラーメッセージを表示する用途にも使用できます。 キャンペーン情報を取得 特定のキャンペーンの定義（メタデータ、キャンペーンコードの有効・無効など）を取得します。 詳細なリファレンス GS2-SerialKey リファレンス","lang":"ja","section":"microservices","summary":"シリアルコード機能\n","title":"GS2-SerialKey","url":"/ja/microservices/serial_key/"},{"content":"ゲーム内で商品を販売する際に使用します。 GS2-Exchange との違いは陳列棚が存在することです。 陳列棚には DisplayItem を陳列することができ、DisplayItem を購入するために必要な対価と、商品を購入した際に得られる報酬を設定できます。 陳列棚には2種類存在し、固定の DisplayItem が陳列される《スタンダード陳列棚》と、一定間隔で陳列内容がランダムに抽選される《ランダム陳列棚》が存在します。 graph TD Master[\"マスターデータ\"] --\u003e Showcase[\"スタンダード陳列棚 (ShowcaseModel)\"] Master --\u003e RandomShowcase[\"ランダム陳列棚 (RandomShowcaseModel)\"] Showcase --\u003e DisplayItem[\"DisplayItem (SalesItem / SalesItemGroup)\"] RandomShowcase --\u003e RandomDisplayItem[\"RandomDisplayItem (stock / weight)\"] Player[\"プレイヤー\"] -- Buy --\u003e DisplayItem Player -- RandomShowcaseBuy --\u003e RandomDisplayItem DisplayItem -- \"consumeActions / acquireActions\" --\u003e Transaction[\"GS2-Distributor トランザクション実行\"] RandomDisplayItem -- \"consumeActions / acquireActions\" --\u003e Transaction スタンダード陳列棚 スタンダード陳列棚は指定した DisplayItem が全て陳列されます。 DisplayItem には2種類存在し《SalesItem》と《SalesItemGroup》が存在します。 SalesItem SalesItem には購入するするために必要な対価と、購入した際に得られる報酬を設定できます。 SalesItem は次の3種類のアクションで挙動を表現します。 項目 説明 verifyActions 購入条件の検証アクション。指定したマイクロサービスの状態を検証し、条件を満たさない場合は購入を拒否します。 consumeActions 購入時に消費するアクション。GS2-Money2 の通貨や GS2-Inventory のアイテムなどを対価として消費します。 acquireActions 購入時に入手するアクション。GS2-Inventory・GS2-Experience・GS2-Lottery など、任意のマイクロサービスへ報酬として配布します。 SalesItemGroup SalesItemGroup は購入回数に応じて販売する SalesItem が変化する仕組みを実現します。 SalesItemGroup には複数の SalesItem を属させることができ、リストの最後の商品以外には GS2-Limit のカウンター上昇を対価に設定する必要があります。 SalesItemGroup を陳列棚に陳列する際には、内部の SalesItem が購入可能かを判定し、一番最初に購入可能と判定された商品が陳列されます。 この機能を利用することで、初回購入のみ半額で商品を販売したり、購入するごとに価格が高くなっていく商品を実現したり、10回目の購入にはおまけをつける。というような商品を実現できます。 graph LR Buy[\"購入要求\"] --\u003e Check1{\"SalesItem 1 (初回限定)\"} Check1 -- 購入可能 --\u003e Sell1[\"SalesItem 1 を販売\"] Check1 -- 購入済み --\u003e Check2{\"SalesItem 2 (2〜9回目)\"} Check2 -- 購入可能 --\u003e Sell2[\"SalesItem 2 を販売\"] Check2 -- 上限到達 --\u003e Check3{\"SalesItem 3 (10回目特典)\"} Check3 -- 購入可能 --\u003e Sell3[\"SalesItem 3 を販売\"] ランダム陳列棚 ランダム陳列棚は、マスターデータに指定した DisplayItem のうち指定した数がランダムに抽選されて陳列されます。 ランダム陳列棚は以下のパラメータで動作を制御します。 項目 説明 maximumNumberOfChoice 一度の抽選で陳列される DisplayItem の最大数 displayItems 抽選対象の RandomDisplayItem 一覧。各アイテムは weight （抽選重み）と stock （在庫数）を持ちます baseTimestamp / resetIntervalHours 陳列内容の再抽選間隔。指定時刻を起点に一定時間ごとに陳列内容がリフレッシュされます salesPeriodEventId GS2-Schedule のイベントID。販売可能期間を制限したい場合に指定します 抽選結果はプレイヤーごとに RandomShowcaseStatus として保存され、購入時には在庫が消費されます。再抽選間隔を迎えると次回アクセス時に陳列内容が更新されます。 バフによる補正 GS2-Buff と連携すると DisplayItem および RandomDisplayItemModel の acquireActions ・ verifyActions ・ consumeActions を動的に補正でき、ランダム陳列商品では stock の上書きも可能です。イベントやキャンペーンに合わせて報酬や必要対価、在庫数を柔軟に変更できます。 スクリプトトリガー ネームスペースに buyScript を設定すると、商品購入のタイミングでカスタムスクリプトを呼び出せます。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 buyScript : 商品購入時 これらを活用することで、購入処理に独自のバリデーションや監査ログ出力、KPI集計などを差し込むことが可能です。 トランザクションアクション GS2-Showcase では以下のトランザクションアクションを提供しています。 消費アクション: 購入回数の加算 入手アクション: 購入回数の減算、ランダム陳列棚の再抽選 「ランダム陳列棚の再抽選」を入手アクションとして利用することで、特定のアイテムを入手した際やクエストクリア時の報酬として、ショップの陳列内容を強制的に更新させるといった処理を、トランザクション内で安全に実行できます。これにより、プレイヤーの進捗に合わせたタイムリーな商品ラインナップの提供が可能になります。また、「購入回数の減算」を利用することで、商品の購入制限（限定商品の再販など）を個別に回復させるといった運用も容易になります。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 ShowcaseModel : スタンダード陳列棚の定義。 DisplayItem として SalesItem または SalesItemGroup を陳列できます。 RandomShowcaseModel : ランダム陳列棚の定義。 RandomDisplayItemModel のリストから maximumNumberOfChoice 件を抽選して陳列します。 SalesItem / SalesItemMaster : 単一の販売商品の定義。 SalesItemGroup / SalesItemGroupMaster : 購入状況によって陳列内容が変化する商品グループの定義。 マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 以下はランダム陳列棚を含むマスターデータの JSON 例です。 { \"version\": \"2019-09-13\", \"showcases\": [ { \"name\": \"showcase-0001\", \"metadata\": \"通常ショップ\", \"salesPeriodEventId\": null, \"displayItems\": [ { \"displayItemId\": \"display-item-0001\", \"type\": \"salesItem\", \"salesItemName\": \"item-0001\" } ] } ], \"randomShowcases\": [ { \"name\": \"random-showcase-0001\", \"metadata\": \"日替わりショップ\", \"maximumNumberOfChoice\": 4, \"baseTimestamp\": 1700000000000, \"resetIntervalHours\": 24, \"displayItems\": [ { \"name\": \"display-item-0001\", \"weight\": 10, \"stock\": 3, \"consumeActions\": [], \"acquireActions\": [] } ] } ] } 実装例 スタンダード陳列棚 陳列棚を取得 陳列棚一覧を取得 陳列棚一覧を取得する API はゲームエンジン用 SDK には提供されていません。 取得が必要な場合は、マネジメントコンソール / GS2 CLI / 各種言語向け一般 SDK (C# / Go / Python / TypeScript / PHP / Java) をご利用ください。 商品を購入 Buy は GS2-Distributor を介したトランザクション処理として実行されます。トランザクション結果を反映するには、戻り値である EzTransactionDomain の WaitAsync / Wait を呼び出し、トランザクションの完了を待機してください。 ランダム陳列棚 陳列棚を取得 商品を購入 ランダム陳列棚の状態を取得 ランダム陳列棚はプレイヤーごとに抽選結果と購入回数を RandomShowcaseStatus として保持しています。 次回の再抽選時刻や購入済み数を確認したい場合に取得します。 詳細なリファレンス GS2-Showcase リファレンス","lang":"ja","section":"microservices","summary":"商品販売機能","title":"GS2-Showcase","url":"/ja/microservices/showcase/"},{"content":"キャラクターなどの成長要素として一般的に使用されるスキルツリー機能を実現するためのマイクロサービスです。 スキルツリーとは、以下のような木構造を持ち、ノードを解放することでキャラクターのパラメーターを向上させることができる機能を指します。 ノードの解放にはコストが必要で、GS2-SkillTree では各マイクロサービスが提供する《消費アクション》を設定できます。 flowchart TD Base --\u003e Node1[STR+5] Node1 --\u003e Node2[DEF+5] Node2 --\u003e Node3[SPD+5] Node3 --\u003e Node4[STR+5] Node4 --\u003e Node5[DEF+5] Node5 --\u003e Node6[STR+5] Node6 --\u003e Node7[DEF+5] Node3 --\u003e Node10[SPD+5] Node10 --\u003e Node11[DEF+5] Node11 --\u003e Node12[SPD+5] Node12 --\u003e Node13[DEF+5] Node11 --\u003e Node30[SPD+5] Node30 --\u003e Node31[STR+5] Node31 --\u003e Node32[SPD+5] Node7 --\u003e Node20[STR+5] Node13 --\u003e Node20 Node20 --\u003e Node21[STR+5] Node21 --\u003e Node22[STR+5] ノード定義（NodeModel） スキルツリーを構成するノードはマスターデータ NodeModel として定義します。 各ノードは以下のフィールドで構成され、これによりノードの解放条件・コスト・効果・依存関係を表現します。 フィールド 役割 name ノードの識別子 metadata クライアントで表示する説明用テキスト releaseVerifyActions 解放に必要な検証アクション（特定ランクであることなど。最大10件） releaseConsumeActions 解放時に消費されるアクション（SP・アイテム・ゴールド等。1〜10件） restrainReturnRate 未解放化（リストレイン）時のコスト返還率（0.0〜1.0、デフォルト 1.0） premiseNodeNames 前提ノード（最大10個） 未解放化（リストレイン）時に返還される入手アクション（ returnAcquireActions ）は releaseConsumeActions を反転し、 restrainReturnRate を乗じた内容として自動生成されます。 スキルの効果（ステータス加算など）は、 releaseConsumeActions で消費するリソース（GS2-Experience のランクや GS2-Inventory のスキルポイントなど）を別マイクロサービスから連携する形で表現してください。 前提ノード 各ノードにはツリー構造を作るために《前提ノード》を設定できます。 前提ノードには最大10個のノードを設定でき、前提ノードに設定されたノードが解放状態でなければノードは解放することができません。 前提ノードにはそこに至るまでの全てのノードを設定する必要はなく、直前の1つだけ設定すれば木構造を作成できることにご注意ください。 flowchart LR A --\u003e B B --\u003e C C --\u003e D 上記の例では D の premiseNodeNames には C だけを指定すれば十分です。 A・B は C を解放するために必然的に解放済みになっているため、依存関係として記述する必要はありません。 解放処理の流れ sequenceDiagram participant Client participant SkillTree as GS2-SkillTree participant Other as 他マイクロサービス Client-\u003e\u003eSkillTree: Release(nodeModelNames) SkillTree-\u003e\u003eSkillTree: 前提ノード判定 SkillTree-\u003e\u003eSkillTree: releaseVerifyActions 検証 SkillTree-\u003e\u003eOther: releaseConsumeActions 実行 SkillTree--\u003e\u003eClient: 解放済みノード一覧 (Status) 解放したノードを未解放に戻す 各ノード単位、もしくは全てのノードを未解放状態に戻すことができます。 プレイヤーがビルドを組み直す「振り直し」機能の実装に利用できます。 コストの返還 その際、ノードを解放するのに消費したコストを restrainReturnRate で指定した割合に基づいて返還することができます。 このとき注意しなければならないのは、トランザクションの消費アクションには「反転可能」と「反転不可能」の2種類が存在することです。 「反転可能」な消費アクションについては返還が行われますが「反転不可能」な消費アクションについては返還が行われません。 消費アクションが「反転可能」かは、各マイクロサービスのリファレンスの記載を確認してください。 ツリーの途中にあるノードの操作 ノードに依存しているノードが解放済みの場合、ノードを未解放状態に戻すことはできません。 たとえば、A → B → C と依存関係がある場合に C を解放したままで B を未解放にすることはできません。 振り直しを実現する際は、依存関係の末端から順に未解放化するか、後述の ResetAsync で全ノードを一括して未解放に戻してください。 ノードの一括解放 ノードの解放は複数のノードを一括で解放することができます。 その際依存関係について気をつけながらノードを指定する必要はなく、GS2-SkillTree 側で依存関係の順番を考慮しながら解放処理を行い、解放可能判定を行います。 スクリプトトリガー ネームスペースに releaseScript ・ restrainScript を設定すると、ノード解放や未解放への戻し処理のタイミングでカスタムスクリプトを呼び出せます。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 releaseScript : ノード解放時 restrainScript : ノードを未解放に戻す時 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 NodeModel : スキルツリーのノード定義 マスターデータの JSON 例 { \"version\": \"2024-05-30\", \"nodeModels\": [ { \"name\": \"str-001\", \"metadata\": \"STR+5\", \"premiseNodeNames\": [], \"releaseConsumeActions\": [ { \"action\": \"Gs2Inventory:ConsumeItemSetByUserId\", \"request\": \"{\\\"namespaceName\\\":\\\"inventory-0001\\\",\\\"inventoryName\\\":\\\"skill_point\\\",\\\"itemName\\\":\\\"sp\\\",\\\"userId\\\":\\\"#{userId}\\\",\\\"consumeCount\\\":1}\" } ], \"restrainReturnRate\": 1.0 }, { \"name\": \"str-002\", \"metadata\": \"STR+10\", \"premiseNodeNames\": [\"str-001\"], \"releaseConsumeActions\": [ { \"action\": \"Gs2Inventory:ConsumeItemSetByUserId\", \"request\": \"{\\\"namespaceName\\\":\\\"inventory-0001\\\",\\\"inventoryName\\\":\\\"skill_point\\\",\\\"itemName\\\":\\\"sp\\\",\\\"userId\\\":\\\"#{userId}\\\",\\\"consumeCount\\\":2}\" } ], \"restrainReturnRate\": 1.0 } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 バフによる補正 GS2-Buff を利用すると、ノードモデルの releaseVerifyActions ・ releaseConsumeActions ・ restrainReturnRate をバフで補正し、解放条件やコスト、返還率をイベントに応じて調整できます。 たとえば、期間限定イベントとして「スキルポイント1個でも解放できる」「振り直し時の返還率を1.5倍にする」といった施策を、マスターデータを書き換えずにバフの適用だけで実現できます。 トランザクションアクション GS2-SkillTree では以下のトランザクションアクションを提供しています。 消費アクション: ノードの未解放化 入手アクション: ノードの解放済みの記録 「ノードの解放済みの記録」を入手アクションとして利用することで、ショップでの商品購入時やクエストクリア時の報酬として、直接スキルツリーの特定のノードを解放済みにするといった処理を、トランザクション内で安全に実行できます。これにより、特定の条件を達成したプレイヤーに対して、コストを消費させることなく特別なスキルを即座に付与するといった、柔軟なキャラクター成長の演出が可能になります。 実装例 ノードの解放状態を取得 Status には、現在解放済みのノード一覧（ releasedNodeNames ）が格納されています。 キャラクターごとにスキルツリーを分けて管理したい場合は、 propertyId を指定することで複数のスキルツリー状態を保持できます。 ノードの解放 複数ノードを一括で渡すことができます。前提関係を含めて指定しても GS2-SkillTree 側で順序を解決して解放を試みます。 ノードの解放状態を元に戻す 指定したノードを未解放状態に戻します。 restrainReturnRate で指定された割合に基づき、消費したアクションが返還されます（反転可能な消費アクションのみ）。 ノードの解放状態をリセットする 解放済みノードを一括で未解放に戻します。「スキル振り直しアイテム」を消費する仕様などで利用できます。 すべてのノードに対して restrainReturnRate に従ったコスト返還が試行されます。 キャラクター単位のスキルツリーを管理する 1つのアカウントの中で、複数のキャラクターそれぞれが独立したスキルツリーを持つようなケースでは、 Status の propertyId を活用します。 GS2-Dictionary や GS2-Inventory で管理しているキャラクターIDをそのまま propertyId として割り当てることで、キャラクターごとに独立した解放状態を保存できます。 詳細なリファレンス GS2-SkillTree リファレンス","lang":"ja","section":"microservices","summary":"スキルツリー機能","title":"GS2-SkillTree","url":"/ja/microservices/skill_tree/"},{"content":"スタミナはゲーム内の回数制限機能を実現するものです。 GS2-Limit は「1日に3回」のように回数制限を表現しますが、GS2-Stamina は「8時間で1ポイント回復するスタミナを使用して1日3回に回数制限を実現する」というように、時間経過と消費アクションの組み合わせで制限を表現します。 スタミナの場合、消費するポイントに差をつけることで、Aという行動であれば1日3回、Bという行動であれば1日5回のような仕様を実現できます。 これは、スタミナ1あたりで得られる経験値やゲーム内通貨の指針を設けることで、ゲーム内のどのような行動をとっても、効率のいい行動というものを排除することができ、ゲームバランスを調整しやすくなります。 毎日ログインしてもらうように開発者は努力をするべきなので、あまりこのような仕様にはしませんが、 プレイヤーにとっては8時間で1ポイント回復し、最大15ポイントまで蓄積できる仕様であれば、毎日ログインしなくても5日に1回のログインでもポイントを無駄にすることなく使い切ることができます。 スタミナ スタミナには「回復周期」「回復量」「最大値」を設定します。 graph LR Time[\"時間経過\"] -- \"recoverIntervalMinutes ごとに\" --\u003e Recover[\"回復 (+recoverValue)\"] Recover --\u003e Value[\"現在値\"] Consume[\"消費アクション\"] -- \"-consumeValue\" --\u003e Value Value -- \"maxValue を超過\" --\u003e Overflow[\"オーバーフロー状態\"] パラメーター 説明 value 現在の保有スタミナ値 maxValue 自然回復で到達できる上限値 recoverIntervalMinutes 1ポイント回復するのに必要な分数 recoverValue 1回の回復で増加する値 overflowValue 最大値を超過している分の値 nextRecoverAt 次回回復の予定日時 オーバーフロー スタミナは最大値を超えて回復させることができます。 最大値を超えた状態では時間経過による回復は発生しません。 また、最大値を超えた状態でもUIの都合などで、それ以上は加算させない「本当の最大値」を設定できます。 なぜオーバーフローさせるのですか？ この仕様はあまりスタミナを仕様に組み込んだゲームをプレイする機会のなかった開発者には奇妙に感じるかもしれません。 スタミナは一般的に回復するためのアイテムや、ゲーム内課金によって回復する手段が存在します。 そのアイテムを使用したり、スタミナを購入する際にプレイヤーのストレスを最小化しようとこのような仕様が生まれました。 具体的な例を示しましょう。 このゲームは5分で1ポイントスタミナが回復し、あなたのスタミナの最大値は50ポイントです。 あなたが次にプレイしたいクエストをプレイするにはスタミナが10ポイント必要です。 しかし、現在のあなたのスタミナ値は9ポイントしかなく、5分待たなければ次のクエストをプレイできません。 そこで、あなたはスタミナを購入しようと思いました。スタミナを購入するとスタミナが50ポイント回復します。 しかし、今すぐにスタミナを購入すると、50ポイント回復しても9ポイントは無駄になってしまいます。 そのため、あなたは5分待って1ポイント回復した後でクエストをプレイし、0ポイントにした後で、その次のクエストを遊ぶためにスタミナを購入しました。 これではプレイヤーがゲームを快適にプレイすることはできません。 そこで、最大値を超えてスタミナを回復できる仕様を導入するゲームが生まれました。 スタミナに最大値を超える仕様を加え、ユーザー体験がどのように変化するか見てみましょう。 現在のあなたのスタミナ値は9ポイントしかなく、5分待たなければ次のクエストをプレイできません。 そこで、あなたはスタミナを購入し、スタミナを50ポイント回復し、59ポイントしました。 この状態では時間経過によるスタミナの回復は行われなくなりますが、 あなたはすぐに次のクエストを開始し、スタミナを49ポイントにしました。 GS2-Experience との連携 MaxStaminaTable / RecoverIntervalTable / RecoverValueTable をマスターデータに登録し、GS2-Experience のランク（プレイヤーレベル等）に応じて自動的に最大値・回復周期・回復量を変化させることができます。 プレイヤーレベルアップに合わせて自動的にスタミナの上限が増えるといった、よくある成長要素を簡単に表現できます。 自然回復の同期 Apply API を呼ぶと、最後にアクセスしてから経過した時間分のスタミナ自然回復を即時反映できます。 通常はスタミナ取得 API の内部で自動的に反映されるため、明示的に呼ぶ必要はほとんどありませんが、サーバー側でスタミナ値を厳密に同期させたい場合に使用します。 スクリプトトリガー ネームスペースに overflowTriggerScript を設定すると、自然回復によってスタミナが最大値を超えた際にカスタムスクリプトを実行できます。これにより、オーバーフロー時にあふれたスタミナを別のリソースに変換するといった応用が可能です。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 overflowTriggerScript : スタミナオーバーフロー時 バフによる補正 GS2-Buff と連携すると、 maxValue ・ recoverIntervalMinutes ・ recoverValue のほか consumeValue や recoverValue といったアクションパラメーターをバフで補正でき、イベント等でスタミナ上限や回復速度、消費量を柔軟に調整できます。 「期間限定でスタミナ最大値を1.5倍にする」「ログイン直後の1時間だけ回復速度を2倍にする」といった、時限的なゲーム体験の調整に活用できます。 トランザクションアクション GS2-Stamina では以下のトランザクションアクションを提供しています。 検証アクション: 現在値の検証、最大値の検証、回復速度の検証、回復量の検証、オーバーフロー量の検証 消費アクション: スタミナの消費、最大値の減算 入手アクション: スタミナの回復（加算）、最大値の加算・設定、回復速度の設定、回復量の設定 「最大値の加算」を入手アクションとして利用することで、ショップでのアイテム購入時やプレイヤーランクが上昇した際などに、自動的にスタミナの最大容量を拡張するといった処理をトランザクション内で安全に実行できます。これにより、プレイヤーの成長を実感させる報酬設計が容易になります。また、「スタミナの回復」を報酬として設定することで、特定のミッション達成時にスタミナを全回復させ、継続プレイを促すといった運用も可能です。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 StaminaModel : 回復量・回復間隔・最大値・オーバーフローを許容するかの定義 MaxStaminaTable : GS2-Experience のランクから最大値を引くテーブル RecoverIntervalTable : GS2-Experience のランクから回復周期を引くテーブル RecoverValueTable : GS2-Experience のランクから回復量を引くテーブル 以下はマスターデータの JSON 例です。 { \"version\": \"2019-04-23\", \"staminaModels\": [ { \"name\": \"stamina-0001\", \"metadata\": \"クエスト用スタミナ\", \"recoverIntervalMinutes\": 5, \"recoverValue\": 1, \"initialCapacity\": 50, \"isOverflow\": true, \"maxCapacity\": 999 } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 実装例 現在のスタミナ値を取得 取得時刻における自然回復が反映された状態のスタミナ値が返却されます。 スタミナ一覧を取得 ネームスペースに登録された複数の StaminaModel のうち、プレイヤーが利用している全てのスタミナの現在値を一括で取得できます。 スタミナを消費 このAPIで直接スタミナを消費する処理を行うことは推奨していません。 GS2-Quest といったサービスを通してスタミナの消費を行うことで、消費と引き換えにクエスト開始やアイテム入手などの処理を一連のトランザクションとして安全に扱うことができます。 自然回復の反映 最後のアクセス以降に経過した時間分の自然回復を即時反映します。 通常は API 呼び出し時に内部で自動反映されるため、明示的に呼ぶ必要はほとんどありません。 応用例: 街づくりゲームの採集機能 スタミナの仕組みを応用すると、街づくりゲームの採集機能も実装できます。 スタミナモデルに建築物を設定し、スタミナ値を建築物の生産量として表現することで、時間経過によって資源が蓄積していく採集システムを実現できます。 たとえば、「鉄鉱石を生産する鉱山」を1つのスタミナモデルとして扱い、回復周期を採掘間隔、回復量を1回あたりの採掘量、最大値を倉庫の上限として表現できます。 プレイヤーが回収アクションを行ったときに Consume で全量を消費し、得られたポイント数を GS2-Inventory にアイテムとして格納する、といった構成が可能です。 詳細なリファレンス GS2-Stamina リファレンス","lang":"ja","section":"microservices","summary":"スタミナ機能\n","title":"GS2-Stamina","url":"/ja/microservices/stamina/"},{"content":"GS2-Quest はクエストの開始・終了を管理し、開始したクエストに応じて終了時に報酬を受け取れる仕組みを提供しました。 しかし、インゲームのランダム性が強く報酬を事前に特定することが困難なゲーム仕様は、GS2-Quest ではうまく扱えない課題がありました。 GS2-StateMachine はより細かい粒度でインゲームの状態管理をおこなうために開発されました。 ステートマシン インゲームの状態管理に使用するのはステートマシンです。 flowchart TD Start ----\u003e MainStateMachine_Initialize MainStateMachine_Pass ----\u003e Exit subgraph MainStateMachine MainStateMachine_Initialize[[Initialize]] --\u003e|Pass| MainStateMachine_ChoiceSkill MainStateMachine_ChoiceSkill[/ChoiceSkill/] MainStateMachine_InGame([InGame]) --\u003e|Pass| MainStateMachine_NextTurn MainStateMachine_InGame([InGame]) --\u003e|Fail| MainStateMachine_Pass MainStateMachine_NextTurn[[NextTurn]] --\u003e|Next| MainStateMachine_ChoiceSkill MainStateMachine_NextTurn[[NextTurn]] --\u003e|Exit| MainStateMachine_Pass MainStateMachine_Pass[\\Pass/] subgraph ChoiceSkill ChoiceSkill_Initialize[[Initialize]] --\u003e|Pass| ChoiceSkill_LotterySkills ChoiceSkill_LotterySkills[[LotterySkills]] --\u003e|Pass| ChoiceSkill_WaitChoiceSkill ChoiceSkill_WaitChoiceSkill([WaitChoiceSkill]) --\u003e|ChoiceSkill| ChoiceSkill_ChoiceSkill ChoiceSkill_WaitChoiceSkill([WaitChoiceSkill]) --\u003e|ReLotterySkill| ChoiceSkill_ReLotterySkill ChoiceSkill_ReLotterySkill[[ReLotterySkill]] --\u003e|Pass| ChoiceSkill_LotterySkills ChoiceSkill_ReLotterySkill[[ReLotterySkill]] --\u003e|AlreadyReLottery| ChoiceSkill_WaitChoiceSkill ChoiceSkill_ChoiceSkill[[ChoiceSkill]] --\u003e|Pass| ChoiceSkill_Pass ChoiceSkill_ChoiceSkill[[ChoiceSkill]] --\u003e|InvalidSkillIndex| ChoiceSkill_WaitChoiceSkill ChoiceSkill_Pass[\\Pass/] end end MainStateMachine_ChoiceSkill --\u003e ChoiceSkill_Initialize ChoiceSkill_Pass --\u003e|Pass| MainStateMachine_InGame Player -----\u003e|Interaction| MainStateMachine_InGame Player -----\u003e|Interaction| ChoiceSkill_WaitChoiceSkill あなたがプログラマーならプランナーから上記のようなフローチャートを受け取ったことがあるはずです。 このような状態遷移を表現したものがステートマシンです。 現在プレイヤーはどのステートにいるのか、ステートマシン内で使用できる変数はどのような値になっているのかを管理します。 ステートマシンはいずれ終了ステートに遷移し、その時のステートマシンが持つ状態変数によって報酬を確定できるというわけです。 イベントとトランジション ステートマシンのステート間を結ぶのがトランジションです。 トランジションでは、特定のステートから次のステートに遷移する条件を設定します。 条件にはイベントの受信を設定でき、イベントの種類ごとに次に遷移するステートを変えることができます。 イベントはステートマシン内で実行しているスクリプトから発行することもできますが、プレイヤーからの発行を受け付けることができます。 これによって、プレイヤーがとった選択や、ゲーム結果に応じて処理を分岐させることができます。 イベントにはパラメーターを付けることができますので、選択肢ごとにイベントを用意しなくても 《選択肢から選択した》というイベントと《選択した内容》というパラメーターを渡すようにすることで、ステートマシンをシンプルに保つことも可能です。 ステートマシンのバージョン管理 ステートマシンはバージョン管理されており、ステートマシンの内容をアップデートしても起動時に使用していたステートマシン定義で動作し続けます。これにより、ステートマシンの定義を変更しても動作中のステートマシンに影響を与えることなく、新しいステートマシン定義を適用できます。 互換性が失われるような変更をステートマシンに加える場合は、ネームスペース設定で指定バージョン以下のステートマシンで起動されたステートマシンを削除済みとする仕組みを利用してください。 なお、バージョン管理されるのはステートマシンの定義のみです。ステートマシンが参照する GS2-Script はバージョン管理されないため注意が必要です。 起動したステートマシンには有効期限を分単位で設定でき、有効期限が切れると自動的に削除されます。 ステートマシン定義言語 ステートマシンの定義には GS2 が独自に開発した GS2 States Language(GSL) を使用します。 GSL は以下のような記法で記述します。 StateMachine MainStateMachine { Variables { int turn; int choiceSkill; array skills; } EntryPoint Initialize; Task Initialize() { Event Pass(); Event Error(string reason); Script grn:gs2:{region}:{ownerId}:script:statemachine-script:script:MainStateMachine_Initialize } SubStateMachineTask ChoiceSkill { using ChoiceSkill; in (turn choiceSkill); } WaitTask InGame { Event Pass(); Event Fail(); Event Error(string reason); } Task NextTurn() { Event Next(); Event Exit(); Event Error(string reason); Script grn:gs2:{region}:{ownerId}:script:statemachine-script:script:MainStateMachine_NextTurn } PassTask Pass; ErrorTask Error(string reason); Transition Initialize handling Pass -\u003e ChoiceSkill; Transition Initialize handling Error -\u003e Error; Transition ChoiceSkill handling Pass -\u003e InGame; Transition InGame handling Pass -\u003e NextTurn; Transition InGame handling Fail -\u003e Pass; Transition InGame handling Error -\u003e Error; Transition NextTurn handling Next -\u003e ChoiceSkill; Transition NextTurn handling Exit -\u003e Pass; Transition NextTurn handling Error -\u003e Error; } 詳しい仕様は GS2 States Language の言語仕様について を参照してください。 ステートマシンの投機的実行 GS2-StateMachine で提供するステートマシンは Unity において投機的実行が利用できます。 この機能を利用することで、複雑なロジックを持つサーバープログラムをプレイヤーに通信時間を体感させずに、なおかつチート行為も行えない形で実現が可能となります。 ステートマシンの投機的実行のメカニズム actor Player participant \"Game\" participant \"GS2-SDK\" participant \"Local State Machine\" participant \"Event Stream\" participant \"GS2-StateMachine\" Player -\u003e \"Game\" : 遊ぶ \"Game\" -\u003e \"GS2-SDK\" : ステートマシンの読み込み \"GS2-SDK\" -\u003e \"GS2-StateMachine\" : ステートマシンの読み込み \"GS2-SDK\" \"Local State Machine\" : ローカルステートマシンを開始 \"Local State Machine\" -\u003e \"Event Stream\" : イベントストリームを作成 \"GS2-SDK\" \"Game\" : 操作 \"Game\" -\u003e \"Local State Machine\" : メッセージを送信 \"Local State Machine\" -\u003e \"Event Stream\" : 受け取ったメッセージのイベントを記録 \"Local State Machine\" -\u003e \"Local State Machine\" : 状態が変化 \"Local State Machine\" -\u003e \"Event Stream\" : 変化後の状態のハッシュ値のイベントを記録 \"Game\" \"GS2-StateMachine\" : イベントレポートを送信 note over \"GS2-StateMachine\" : サーバーはイベントを再生して\\n状態変数のハッシュ値が一致することを検証 group ハッシュ値が不一致 \"GS2-SDK\" \"GS2-SDK\" : ステートマシンの読み込み \"GS2-SDK\" -\u003e \"GS2-StateMachine\" : ステートマシンの読み込み \"GS2-SDK\" \"Local State Machine\" : ローカルステートマシンを再起動(最大3秒間ロールバック) end end end 図で示したように、ローカルステートマシンはサーバーから受け取った GSL を実行する機能を持ちます。 ただし、サーバー上のユーザーデータを書き換える権限はなく、ステートマシン内で発生したユーザーデータの書き換えは SDK のローカルキャッシュの書き換えのみ行います。 ローカルステートマシンは、ゲームから受け取ったメッセージを元に状態遷移を行いますが、受け取ったメッセージとステートマシンの状態変数のハッシュ値をイベントストリームに記録します。 イベントストリームは3秒毎に発生したイベントがあれば GS2-StateMachine にレポートを送信します。 GS2-StateMachine はレポートを受け取ると、そこに記録されたイベントをサーバーで保持してるステートマシンに対して実行します。 状態遷移した際にはレポート内に含まれる状態変数のハッシュ値と一致することを検証し、最後のイベントまで問題がなければステートマシンが実行したユーザーデータの書き換えも実際に実行し、ステートマシンの状態をデータベースに保存します。 もし、遷移先のステートが異なったり、状態変数のハッシュ値に不一致が生じた場合「状態の不一致」エラーを返します。 これはゲームプログラムからは、ローカルステートマシンの「OnDetectStateMismatch」コールバックでハンドリングが可能です。 不一致が生じると、イベントストリームは GS2-StateMachine へのレポートを止めますので、ローカルステートマシンを再度作成し直す必要があります。 このとき、最後に整合性が確認できた状態（データベースに保存された状態）までロールバックすることがありえます。 ステートマシンにおける乱数 ステートマシンが乱数に基づいて処理を分岐したいことがあるでしょう。 そのような用途のためにサーバーと乱数シードを共有した乱数生成機を利用することができます。 category = 1 result = util.shared_random(category) if result.isError then fail(result['statusCode'], result['errorMessage']) end random_value = result[\"result\"] category には用途毎に異なる値を指定することで、異なる乱数列を元に乱数を取得できます。 この仕組みを活用することで、乱数値の厳選行為に対して高い耐性を得ることができます。 この方法で生成した乱数はサーバーでも全く同じ乱数値が取得できることが保証されており、乱数が元となって状態の不一致は発生しません。 ステートマシンにおけるトランザクション処理 ステートマシンの実行の過程でユーザーデータを書き換える場合は GS2-SDK for Lua を使用するのではなく、専用の構文を使用します。 そうすることで、投機的実行の際にも通信処理をせずに SDK がもつキャッシュデータを書き換える形で、ユーザーデータの書き換えについても投機的実行が可能となります。 詳細なAPIについては、各マイクロサービスのトランザクションアクションのドキュメントをご確認ください。 transaction.execute({ consumeActions={}, acquireActions={ transaction.service(\"inventory\").acquire.acquire_simple_items_by_user_id({ namespaceName=\"namespace\", inventoryName=\"inventory\", acquireCounts={ { itemName=\"item\", count=1, }, }, }) } }) ステートマシンにおける通信処理 投機的実行を利用したステートマシンでは外部と通信することは推奨できません。 なぜなら、外的要因によってステートマシンの実行結果に差が生じると状態の不一致になる可能性が飛躍的に向上してしまうためです。 ローカルステートマシンの実行環境 ローカルステートマシンを利用できるようにするには、GS2-SDK ととは別に LocalStateMachineKit をインストールする必要があります。 GS2-SDK Installer から LocalStateMachineKit のインストールが可能です。 ただし、追加のオープンソースライブラリを導入することになりますので、ライセンス表記について注意が必要です。 詳細は GS2 LocalStateMachineKit for Unity を確認してください。 スクリプト連携 ステートマシン内で Task ステートを実行する際に、GS2-Script を呼び出すことができます。スクリプトの実行結果として「イベント」を返却することで、スクリプトのロジックに基づいてステートマシンを遷移させることが可能です。 マスターデータ管理 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 StateMachineMaster : ステートマシン定義(GSL)。バージョン管理されており、互換性が失われる変更を行いたい場合はネームスペース設定の lowestStateMachineVersion を利用して旧バージョンのステートマシンを削除済み扱いにできます マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 スクリプトトリガー ステートマシンの開始時や、終了状態に到達したタイミングで GS2-Script を呼び出せます。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 startScript : ステートマシンの開始時 passScript : ステートマシンが PassTask に到達した時 errorScript : ステートマシンが ErrorTask に到達した時 なお、ステートマシン内の Task ステートから呼び出される GS2-Script は別途 GSL の Script ディレクティブで指定し、状態遷移そのものを駆動する用途に利用します。 トランザクションアクション GS2-StateMachine では以下のトランザクションアクションを提供しています。 入手アクション: ステートマシンの開始 「ステートマシンの開始」を入手アクションとして利用することで、ショップでの商品購入時やミッション達成時の報酬として、直接特定のインゲーム（ローグライクなダンジョン攻略など、複雑な状態管理を伴うゲームループ）を開始させるといった処理を、トランザクション内で安全に実行できます。これにより、購入からプレイ開始までをスムーズに繋げる体験を提供できます。 ステートマシン内部からのユーザーデータ書き換えについては、 transaction.execute 構文を用いることでローカルステートマシンの投機的実行と整合するトランザクションアクションを発行できます。詳細は ステートマシンにおけるトランザクション処理 を参照してください。 実装例 ステートマシンの開始 ステートマシンの開始はゲームエンジン用の SDK では処理できません。 GS2-Quest などのマイクロサービスの報酬として設定してください。 ステートマシンにイベントを送信 ステートマシンの状態を取得 ローカルステートマシン(ステートマシンの投機的実行) ローカルステートマシンを開始 ローカルステートマシンにイベントを送信 状態の不一致をハンドリング 状態の不一致のコールバックを受けとったら、最新のステートマシンの状態をサーバーから取得し直してローカルステートマシンの起動からやり直してください。 イベントストリームのディスパッチ ローカルステートマシンを利用している間、イベントストリームが GS2-StateMachine にイベントを送信するように一定間隔で Dispatch 関数を呼び出す必要があります。 詳細なリファレンス GS2-StateMachine リファレンス","lang":"ja","section":"microservices","summary":"ステートマシン管理機能","title":"GS2-StateMachine","url":"/ja/microservices/state_machine/"},{"content":"アプリケーションのバージョンや、追加アセットのバージョン、利用規約に同意しているバージョンなどを判定する機能を提供します。 バージョンチェックを通過した際に、新しい一時的なGS2のクライアントID/シークレットを発行できます。 この機能を利用することで、アプリ内に組み込んだGS2のクライアントID/シークレットは、ログインを行いバージョンチェックを行うAPIしか呼び出す権限を持たず、バージョンチェックを通過した後で、実際にゲームをプレイするのに十分な権限のクライアントID/シークレットを受け取れるようにできます。 graph TD Boot[\"アプリ起動\"] --\u003e Login[\"GS2-Account でログイン\"] Login -- \"最小権限の クライアントID/シークレット\" --\u003e Check[\"GS2-Version CheckVersion\"] Check -- \"OK\" --\u003e Token[\"新しい ProjectToken を取得 (本来の権限)\"] Check -- \"Warning\" --\u003e Notify[\"プレイヤーに更新を促す\"] Check -- \"Error\" --\u003e Force[\"強制バージョンアップ\"] Notify --\u003e Token Token --\u003e Game[\"ゲーム本編\"] バージョンモデル ネームスペースには最大10個のバージョンモデルを宣言できます。バージョンチェックには複数の項目を設定でき、全てのバージョンチェックが通過した場合にのみ、チェックを通過できます。 バージョンモデルには2種類あり「アプリケーションが送信してきたバージョンを元にバージョン判定をする」「ログイン中のユーザーが過去に同意した規約のバージョンを元にバージョン判定をする」ことができます。 前者を「パッシブバージョンチェック」後者を「アクティブバージョンチェック」と呼びます。 マスター項目 説明 name バージョンモデル名（チェック時の識別子） scope passive （パッシブ） / active （アクティブ） type simple （単一のしきい値） / schedule （時刻でしきい値を切り替え） currentVersion アクティブバージョンチェックで、初回参加時に自動的に承認したことにするバージョン warningVersion 警告を出すバージョン閾値（このバージョン以下で warnings を返却） errorVersion エラーとするバージョン閾値（このバージョン以下で errors を返却） scheduleVersions type: schedule 時に時刻ごとのしきい値を定義 needSignature バージョン情報に署名を要求するか signatureKeyId 署名検証に使用する GS2-Key の鍵ID approveRequirement アクティブバージョンチェック時の承認要件（ required / optional ） バージョン番号のフォーマット {major}.{minor}.{micro} 形式のバージョン番号を利用でき、各項目には整数値が指定できます。 バージョン値の比較は major → minor → micro の順に行われ、辞書順ではなく数値として比較されます。 パッシブバージョンチェック ゲームの実行バイナリや、ゲームがダウンロードしたアセットごとのバージョンチェックに利用します。 マスターデータでは、バージョンモデルごとに「警告を発するバージョンの閾値」「エラーとするバージョンの閾値」を設定できます。 クライアントは CheckVersion API に対して、現在のアプリのビルド番号やダウンロード済みアセットのバージョンを送信し、サーバー側で閾値判定された結果を受け取ります。 判定結果は以下のいずれかになります。 結果 条件 期待される挙動 通過 全項目が warningVersion を上回る ゲーム本編へ進む 警告 ( warnings ) いずれかが warningVersion 以下、かつ errorVersion 超過 プレイヤーに更新を促しつつ続行可能 エラー ( errors ) いずれかが errorVersion 以下 強制バージョンアップ アクティブバージョンチェック EULA・プライバシーポリシー・特定地域の規約改定のように、「プレイヤーがどのバージョンに同意済みか」を判定する用途に利用します。 AcceptVersion API を呼び出すことで、ユーザーが任意のバージョンを承認状態にできます。 クライアントから送信されるバージョンではなく、サーバー側で記録された承認バージョンが閾値判定の対象となるため、なりすましで規約同意を回避することができません。 スケジュールによるしきい値切り替え type: schedule を選択すると、 scheduleVersions に GS2-Schedule のイベントID と そのイベント期間中のバージョンを設定できます。 例えば「12月1日からは利用規約 v2 を必須にする」といった運用を、デプロイなしで予約できます。 署名の検証 needSignature を有効にすると、 CheckVersion 時に署名付きバージョン情報を要求できます。 署名は GS2-Key で発行された鍵（ signatureKeyId ）で検証されるため、改ざんされたバージョン情報を排除できます。 スクリプトトリガー ネームスペースに checkVersionTriggerScriptId ・ acceptVersionScript を設定すると、バージョンチェック時やバージョン承認時にカスタムスクリプトを実行できます。 設定できる主なイベントトリガーとスクリプト設定名は以下の通りです。 checkVersionTriggerScriptId : バージョンチェック処理時に呼び出されるスクリプト。動的な判定ロジックを追加できます。 acceptVersionScript : バージョン承認時に呼び出されるスクリプト。 トランザクションアクション GS2-Version では以下のトランザクションアクションを提供しています。 入手アクション アクション 用途 Gs2Version:AcceptByUserId 指定したバージョンを承認状態にします（アクティブバージョンチェック用）。 「指定したバージョンの承認」を入手アクションとして利用することで、特定のアイテムを入手した際や、ミッションを達成した際などに、自動的に特定の規約やバージョンを承認済みにするといった処理が可能になります。 マスターデータ運用 マスターデータを登録することでマイクロサービスで利用可能なデータや振る舞いを設定できます。 マスターデータの種類には以下があります。 VersionModel : バージョンモデル定義 以下はマスターデータ JSON の例です。 { \"version\": \"2019-08-19\", \"versionModels\": [ { \"name\": \"app\", \"metadata\": \"アプリ本体\", \"scope\": \"passive\", \"type\": \"simple\", \"warningVersion\": { \"major\": 1, \"minor\": 2, \"micro\": 0 }, \"errorVersion\": { \"major\": 1, \"minor\": 0, \"micro\": 0 } }, { \"name\": \"eula\", \"metadata\": \"利用規約\", \"scope\": \"active\", \"type\": \"simple\", \"currentVersion\": { \"major\": 1, \"minor\": 0, \"micro\": 0 }, \"warningVersion\": { \"major\": 1, \"minor\": 0, \"micro\": 0 }, \"errorVersion\": { \"major\": 1, \"minor\": 0, \"micro\": 0 }, \"approveRequirement\": \"required\" } ] } マスターデータの登録はマネージメントコンソールから登録する他、GitHubからデータを反映したり、GS2-Deployを使ってCIから登録するようなワークフローを組むことが可能です。 実装例 バージョンチェックを実行 CheckVersion の結果には、警告に該当した項目 ( Warnings )・エラーに該当した項目 ( Errors )・成功時に発行される ProjectToken が含まれます。 ProjectToken を受け取った場合は、それを用いて再認証を行うことで、本来のゲームプレイに必要な権限を持つセッションを取得できます。 アクティブバージョンチェックに同意 利用規約への同意ボタンを押した際などに AcceptAsync を呼び出します。 同意したバージョンは AcceptVersion モデルにユーザーごとに記録され、以降の CheckVersion で参照されます。 バージョンモデルの取得 UI に「現在の規約バージョン」「警告対象のしきい値」を表示するために、バージョンモデルそのものを取得できます。 より実践的な情報 バージョン更新の運用手順 バージョン更新時に、一度プレイ中のプレイヤーを全員追い出して、最新のバージョンでのみ遊べるようにしたいことがあります。 GS2-Version では新規ログインを止めることはできますが、すでにログイン済みのプレイヤーに対してはバージョンチェック後に一時的に発行されるクライアントID/クライアントシークレット の有効期限が切れるまではアクセスし続けることが可能です。 そこで、全てのプレイヤーの GS2-Gateway が提供している通知用の常時接続セッションを切断し、ゲームはセッションの切断をハンドリングすると、バージョンチェック後に再接続処理を行うようにします。 バージョンチェックに失敗した場合は、そのままバージョンアップシーケンスに入ります。 これで、バージョンを更新して全てのプレイ中のプレイヤーにもバージョンチェックを強制することができます。 一時クライアントID の活用 ProjectToken を組み合わせると、起動時にアプリへ組み込まれているクライアントID/シークレットには「ログインとバージョンチェックのみ可能」な最低限の権限のみを付与しておき、バージョンチェック通過後に得られる ProjectToken を介して、ゲームプレイに必要な強力な権限を行使するという二段階認証構成を取れます。 これによりアプリのリバースエンジニアリングによってクライアントID/シークレットが漏洩した場合でも、被害をバージョンチェックの突破に限定できます。 詳細なリファレンス GS2-Version リファレンス","lang":"ja","section":"microservices","summary":"バージョンチェック機能\n","title":"GS2-Version","url":"/ja/microservices/version/"},{"content":"Game Server Services の利用を開始するには、まずはアカウントの登録が必要です。 アカウントの登録は https://gs2.io のページ下部よりできます。 このフェーズで開発者が利用するアカウントの運用方針について検討する必要があります。 開発者がそれぞれ専用のアカウントを作成して開発 共有アカウントで開発 開発者がそれぞれ専用のアカウントを作成して開発 GS2 としてはこちらの方法を推奨しています。 開発者が専用のアカウントを作成し、専用の環境で開発を進めることで、他の開発者のGS2の設定変更の影響を受けることなくスムーズに開発を進めることができます。 GS2 では 開発者間で GS2のリソース設定を共有する方法を提供しており、この機能を活用することで専用の開発環境を最小の手間でメンテナンスすることができます。 Project \"1\" *-- \"many\" Developer Developer \"1\" -- \"1\" Gs2Account Gs2Account \"1\" *-- \"many\" Gs2Project Gs2Project \"1\" *-- \"many\" GS2Resources この方法を採用した時、コストも気になる点かもしれません。 GS2 では Pay-as-you-go スタイルの料金請求を行なっているため、アカウント数やプロジェクト数が増えたからといって追加の費用は発生しません。 その方法については後のステップで解説します。 共有アカウントで開発 プロジェクト用の GS2 アカウント、または開発用の GS2 アカウント を作成し、そのアカウント内に開発用のプロジェクトを作成します。 プロジェクトごとに、プロジェクトの管理機能にアクセス可能なサブアカウントを作成できるため、この仕組みを利用して1つのプロジェクトを複数人で管理できます。 Project \"1\" *-- \"1\" \"Gs2Project(Dev Env)\" \"Gs2Project(Dev Env)\" \"1\" *-- \"many\" User User \"1\" -- \"1\" LoginPassword User \"1\" -- \"1\" Developer","lang":"ja","section":"overview","summary":"GS2 のアカウント登録手順と運用方針\n","title":"GS2のアカウントを登録","url":"/ja/overview/workflow/setup_gs2/create_account/"},{"content":"このセクションでは、Unity / Unreal Engine 5 のプロジェクトを作成して GS2 の機能を利用するために必要な、 GS2のマネージメントコンソールでの設定手順 　についてまとめています。 GS2アカウントを作成する まずはじめに、 GS2 のサイト からGS2開発者アカウントの登録を行なってください。 登録後、メールアドレスの確認メールが届きます。 メール記載のURLにアクセスしてメールアドレスを認証後、登録したアカウント情報で マネージメントコンソール にログインしてください。 プロジェクトを作成する つぎに、 マネージメントコンソール でプロジェクトを作成してください。 プロジェクトは、開発ゲームタイトルと対になるものです。 GS2 のリソース（設定した内容、マスターデータ等）はプロジェクトごとに保持されます。 他のプロジェクトのリソースには干渉できません。 プロジェクトの作成は新たにゲームタイトルを作り始めるときでも、開発の途中からでも可能です。 マネージメントコンソール にログインします。 Project \u003e プロジェクト一覧 のページを開きます。 プロジェクトの新規作成 をクリックします。 プロジェクト名 と 説明文 を入力し、作成ボタンをクリックします。 プロジェクト名には 英数字大文字小文字とハイフン、アンダーバーのみが使用可能です。 例: MySuperCool_Stg_Game-001 漢字、ひらがな等は使用できません。","lang":"ja","section":"get_start","summary":"GS2 に登録し、プロジェクトを作成します\n","title":"GS2のセットアップ","url":"/ja/get_start/tutorial/setup_gs2/"},{"content":"SDK Game Engine Game Server Services は 主要なゲームエンジンから利用できるSDKを提供しています。 ゲームエンジン向け SDK では、ゲーム内から利用することにフォーカスして通常の SDK より高レベルなAPI形式で提供しています。 各種プログラミング言語 Go、PHP、Java、C＃、TypeScript、Pythonの各種プログラミング言語でGS2の利用が可能です。 GitHubからソースコードをダウンロードするか、それぞれのパッケージマネージャーを介して取得できます。 CDK CDK とは Cloud Development Kit の略で、GS2 のオーケストレーションをコードで行えるようにするための開発キットです。 より具体的に機能の内容を説明すると、CDK で GS2 リソースに相当するオブジェクトをインスタンス化するコードを記述し、ダンプAPIを呼び出すことで GS2-Deploy のテンプレートを生成することができます。 GS2-Deploy のテンプレートは YAML 形式で記述できますが、YAML ファイルはプログラムのコードではないため、外部ファイルを取り込んだりループを実行することはできず、ワークフローを最適化するためには、テンプレートを生成するためのコードを記述することが求められました。 CDK はこのようなワークフローを最適化するためのソリューションで、CDKを使用したツール内でマスターデータのExcelファイルをパースしたり、イベントの期間をループで定義しつつ GS2-Deploy のテンプレートを生成できます。 SDKのインストールは終わりましたか？ 次は、GS2 を実際に利用してみる チュートリアル に挑戦してみましょう。","lang":"ja","section":"get_start","summary":"Game Server Services の利用を開始する方法について\n","title":"GS2の利用を開始","url":"/ja/get_start/"},{"content":"GS2 Sample Project for Unity 以下の機能のゲーム内での動作をイメージした実装サンプルになっています。 クレデンシャル(認証情報） ログイン アプリバージョンチェック 利用規約確認 アカウント連携・引継ぎ お知らせ スタミナ/スタミナストア 課金通貨/課金通貨ストア ゴールド インベントリ クエスト 抽選機能 チャット フレンド マッチメイキング リアルタイム対戦","lang":"ja","section":"articles","summary":"GS2の実装サンプルの紹介\n","title":"GS2の実装サンプル","url":"/ja/articles/sample/project/"},{"content":"GS2 は様々な機能をマイクロサービスとして提供しています。 しかし、場合によっては機能を拡張したいと感じる場面があるかもしれません。 GS2-Script は Lua 言語を利用したスクリプティング機能を提供し、GS2 のマイクロサービスの機能を拡張できます。 GS2-Script に記述したスクリプトは任意のタイミングで呼び出せるようなものではなく、GS2 の各マイクロサービスが定義するトリガーに応じて実行されます。 たとえば、GS2-Account には以下のトリガーが存在します。 アカウント新規作成 認証実行 引き継ぎ情報登録 引き継ぎ実行 それぞれ、スクリプトの実行タイミングとして「同期処理」「非同期処理」が利用できます。 アカウント新規作成時に実行されるスクリプトの例 Request 型 説明 namespace Namespace ネームスペース account Account ゲームプレイヤーアカウント Result 型 必須 デフォルト 値の制限 説明 permit bool  アカウントの作成を許可するか 実装例 namespace = args.namespace account = args.account result = { permit=permit } GS2-Script の同期処理 トリガーに対して同期処理を設定すると、スクリプトの実行が完了するまでAPIの処理はブロックされます。 スクリプトの実行時間分、APIの応答速度が落ちる代わりに 「スクリプトから結果を改竄」したり「処理を止める」ことができます。 もう少し具体的な例を示すと、スクリプトからクエストの入手経験値量を 2倍 に書き換えたり、クエストの開始処理で編成されたパーティに特定のキャラクターが含まれていない場合はエラー応答させることができます。 GS2-Script の非同期処理 トリガーに対して非同期処理を設定すると、APIが応答した後に非同期処理でスクリプトが実行されます。 アイテムの所持数量でランキングを実現したい場合、アイテムを入手・消費した際のトリガーに非同期スクリプトを割り当てることで、 APIの応答速度を損なうことなく、スクリプト内からアイテムの所持数量をスコアとしてランキングに登録するような処理ができます。 Amazon Event Bridge の非同期処理 GS2 は非同期処理の実装方法として、AWS が提供する 「Amazon Event Bridge」 が利用できます。 「Amazon Event Bridge」 の利用方法については別途資料を参考にしてください。","lang":"ja","section":"overview","summary":"GS2 のマイクロサービスの機能拡張方法\n","title":"GS2の機能拡張","url":"/ja/overview/workflow/coding/extend/"},{"content":"はじめに GS2 States Language(GSL) は独自の構造を持つステートマシン定義言語です。 ステートマシンは一般的に複数の状態を表す Task と、タスク間の遷移を表す Transition によって構成されます。 外部からのメッセージを送信すると、Transition によって定められたルールに基づいて、「実行中の Task」が遷移することで状態管理を行います。 ステートマシンは 「実行中の Task」以外に「状態変数」を持ちます。 Task にはいくつか種類がありますが、一般的には GS2-Script の実行によって処理を記述できます。 GS2-Script は「状態変数」を参照でき、またスクリプトの実行結果として、「状態変数」を書き換えることができます。 (C) Game Server Services Inc. and affiliates. GSL の仕様の実装および派生仕様は無償で許可します。 ただし、上記コピーライトを派生物に含んでください。 本仕様の派生物をサブライセンスおよび販売を行うことはできません。 本仕様は「現状のまま」提供され、本仕様によって他社の著作権などを侵害していないことを保証するものではありません。 本使用によって生じるあらゆる請求、損害、その他責任についても Game Server Services, Inc. は責任を負わないものとします。 本仕様書に含まれるサンプルコードは特に指定がない限り Apache License, Version 2.0 の下でライセンスされます。 GSL の例 StateMachine MainStateMachine { Variables { int counter; } EntryPoint Task1; Task Task1(int initCounter) { Event StartLoop(); Event Error(string Reason); Payload { args.variables.counter = args.params.initCounter result = { event=\"StartLoop\", params={}, updatedVariables=args.variables } } } SubStateMachineTask Task2 { using SubStateMachine; in (initCounter counter); } WaitTask WaitForExternalEvent { Event ExternalEvent(int newCounter); } Task Task3(int newCounter) { Event Pass(); Payload { print(args.variables.counter) print(args.params.newCounter) result = { event=\"Pass\", params={}, updatedVariables=args.variables } } } PassTask Pass; ErrorTask Error(string reason); Transition Task1 handling StartLoop -\u003e Task2; Transition Task2 handling Pass -\u003e WaitForExternalEvent; Transition Task2 handling Error -\u003e Error; Transition WaitForExternalEvent handling ExternalEvent -\u003e Task3; Transition Task3 handling Pass -\u003e Pass; } StateMachine SubStateMachine { Variables { int currentCounter; int loopCounter; } EntryPoint SubTask1; Task SubTask1(int initCounter) { Event Pass(); Event Error(string reason); Script grn:gs2:{region}:{ownerId}:script:state-machine-0001:script:SubTask1 } Task SubTask2(int currentCounter) { Event IncrementCounter(); Event Pass(); Event Error(string reason); Script grn:gs2:{region}:{ownerId}:script:state-machine-0001:script:SubTask2 } PassTask Pass; ErrorTask Error(string reason); Transition SubTask1 handling Pass -\u003e SubTask2; Transition SubTask1 handling Error -\u003e Error; Transition SubTask2 handling IncrementCounter -\u003e SubTask2; Transition SubTask2 handling Pass -\u003e Pass; Transition SubTask2 handling Error -\u003e Error; } サンプルに対応する GS2-Script 例 SubTask1 args.variables.currentCounter = args.params.initCounter args.variables.loopCounter = 0 result = { event=\"Pass\", params={}, updatedVariables=args.variables } SubTask2 args.variables.loopCounter = args.variables.loopCounter + 1 if args.variables.currentCounter 言語仕様 StateMachine StateMachine ${name} { } StateMachine ブロックはステートマシンを定義するために使用し、ファイル内に複数記述することができます。 StateMachine は名前をつけることができ、ファイル内で一意である必要があります。 Variables Variables { string ${variableName}; int ${variableName}; float ${variableName}; bool ${variableName}; } Variables ブロックはステートマシンが持つ状態変数を指定できます。 状態変数は「データ型」と「変数名」によって構成されます。 データ型には以下の種類を指定できます。 名前 データ型 string 文字列 int 64bit符号付き整数値 float 64bit浮動小数点数 bool 真偽値 EntryPoint EntryPoint ${taskName}; EntryPoint にはステートマシンを起動した時に最初に遷移するタスクを指定します。 Task Task は状態を表すノードを定義します。 ノードには用途ごとにいくつかの種類が存在します。 Task Task ${taskName}(sting ${argumentName}, int ${argumentName}) { Event ${eventName}(); Event Error(string Reason); Script ${scriptId} } Task ブロックは最も一般的なノードで、GS2-Script のスクリプトを実行します。 Task は名前をつけることができますが、StateMachine 内で一意である必要があります。 ここで定義した名前はタスク間の Transition の指定に使用します。 Task ${taskName}(sting ${argumentName}, int ${argumentName}) Task は引数を受け取ることができます。 引数は なし、または単数、または複数 の指定が可能です。 引数の宣言には「データ型 変数名」を使用し、複数の引数を使用する場合はカンマで区切ります。 Event ${eventName}(); Event はタスクを実行中に受け取るイベントの種類を定義します。Event は複数定義が可能です。 イベントには名前をつけることができ、さらにイベントに付加するパラメーターを指定できます。 Event Error(string Reason); 注意点として、Error(string Reason) というイベントは宣言が必須です。 これはスクリプト内でエラーが発生した時にメッセージを送出することも可能ですが、スクリプトの実行に失敗するなど内部処理でも送出される可能性があります。 Script ${scriptId} Script はタスクに遷移した時に実行する GS2-Script のスクリプトGRN を指定します。 Payload { result = { event=\"Event\", params={}, updatedVariables=args.variables } } Payload はタスクに遷移した時に実行する GS2-Script を直接指定します。 Task は Script または Payload のどちらか片方を実装する必要があります。 同時に記述した場合は Script が採用されます。 SubStateMachineTask SubStateMachineTask ${taskName} { using ${nextStateMachine}; in (${inputArgumentName} ${variableName}); } SubStateMachineTask は別のステートマシンに処理を移す処理を定義します。 nextStateMachine には遷移先のステートマシンの名前を指定します。 in (${inputArgumentName} in には遷移先のステートマシンのエントリーポイントへ渡す引数を指定します。 inputArgumentName にはエントリーポイントで指定したタスクが受け取る引数の名前を指定し、variableName には引数に渡す値を遷移元のステートマシンが持つ状態変数名で指定します。 out (${outputVariableName} -\u003e ${variableName}); out には遷移先のステートマシンが PassTask に遷移した時に受け取るパラメーターを指定します。 outputVariableName には遷移先のステートマシンが持つ状態変数の名前を指定し、variableName には戻ってきた結果を受け取る現在のステートマシンの状態変数の名前を指定します。 WaitTask WaitTask ${taskName} { Event ${eventName}(sting ${argumentName}, int ${argumentName}); } WaitTask は特に何もしないタスクです。 ただ、外部からのメッセージの送出を待ち受けます。一般的にクライアントで進行するゲームの結果を待つのに使用します。 Event ${eventName}(sting ${argumentName}, int ${argumentName}); Event はタスクを実行中に受け取るイベントの種類を定義します。Event は複数定義が可能です。 イベントには送出を受け付ける名前をつけることができ、さらにイベントに付加するパラメーターを指定できます。 PassTask PassTask Pass; PassTask は必須ノードでステートマシンの完了を示すタスクです。 PassTask の名前は Pass である必要があります。 ErrorTask ErrorTask Error(string reason); ErrorTask は必須ノードでステートマシンの異常終了を示すタスクです。 ErrorTask の名前は Error である必要があります。 Transition Transition ${taskName} handling ${eventName} -\u003e ${nextTaskName}; Transition はノード間の遷移を表します。 taskName に遷移元のタスク名を、eventName には受け取ったイベントの種類を、nextTaskName に遷移先のタスク名を指定します。","lang":"ja","section":"api_reference","summary":"はじめに GS2 States Language(GSL) は独自の構造を持つステートマシン定義言語です。 ステートマシンは一般的に複数の状態を表す Task と、タスク間の遷移を表す Transition によって構成されます。 外部からのメッセージを送信すると、Transition によって定められたルールに基づいて、「実行中の Task」が遷移することで状態管理を行います。\nステートマシンは 「実行中の Task」以外に「状態変数」を持ちます。 Task にはいくつか種類がありますが、一般的には GS2-Script の実行によって処理を記述できます。 GS2-Script は「状態変数」を参照でき、またスクリプトの実行結果として、「状態変数」を書き換えることができます。\n(C) Game Server Services Inc. and affiliates.\nGSL の仕様の実装および派生仕様は無償で許可します。 ただし、上記コピーライトを派生物に含んでください。 本仕様の派生物をサブライセンスおよび販売を行うことはできません。\n本仕様は「現状のまま」提供され、本仕様によって他社の著作権などを侵害していないことを保証するものではありません。 本使用によって生じるあらゆる請求、損害、その他責任についても Game Server Services, Inc. は責任を負わないものとします。\n本仕様書に含まれるサンプルコードは特に指定がない限り Apache License, Version 2.0 の下でライセンスされます。\nGSL の例 StateMachine MainStateMachine { Variables { int counter; } EntryPoint Task1; Task Task1(int initCounter) { Event StartLoop(); Event Error(string Reason); Payload { args.variables.counter = args.","title":"GS2 States Language フォーマット","url":"/ja/api_reference/state_machine/format/"},{"content":"プレゼントボックス機能を実装します。 リポジトリ https://github.com/gs2io/gs2-uikit-for-unity-sample/tree/main/Inbox GS2-Deploy テンプレート https://github.com/gs2io/gs2-uikit-for-unity-sample/blob/main/Inbox/initialize_inbox_template.yaml プロジェクト内容 プロジェクトを開くと上記の通りになります。 実行すると、上部には何もなく下部にメニューが表示されている画面が表示されます。 メニューから「Send」ボタンを3回押してみます。 3通のメッセージがリスト表示されます。 このように画面上部にはプレゼントボックスに届いているメッセージの一覧を表示します。 今度は、メニューから「Send With Expire」ボタンを押してみます。 メッセージ一覧に、新しく有効期限が設定されたメッセージの一覧が表示されます。 日時の表記が2行表示されていますが、上が受信日時で下が有効期限です。 有効期限は受信日時から1分後が設定されています。 このまま1分間待ってください。 有効期限を迎えたメッセージが勝手に表示されなくなります。 次は、3通あるメッセージの真ん中の「Read」ボタンを押してみます。 すでに読んだメッセージは Read ボタンがグレーアウトされます。 プロジェクトの解説 シーンのヒエラルキーに注目してください。 Canvas/InboxWindow Gs2InboxNamespaceContext この GameObject 以下のノードで取り扱う GS2-Inbox のネームスペースを指定しています。 今回は、GS2-Inbox の inbox-0001 というネームスペースを指定しています。 Canvas/InboxWindow/Inbox/…/Content Gs2InboxOwnMessageListFetcher NamespaceContext で指定されたネームスペースのメッセージ一覧を取得します。 Gs2InboxOwnMessageList Gs2InboxOwnMessageListFetcher で取得したメッセージを指定されたプレハブに割り当てて生成します。 Maximum Items にはプレハブを生成する最大数を指定します。 今回は子ノードにいる Message をプレハブとして指定しています。 フレハブとして指定された GameObject がシーン内にある場合、その GameObject は無効化され、それ以外に Maximum Items で指定された数だけ GameObject が生成されます。 Canvas/InboxWindow/Inbox/…/Content/Message Gs2InboxOwnMessageContext この GameObject 以下のノードで取り扱うメッセージを指定しています。 コンテキストの内容は Gs2InboxOwnMessageList によって割り当てられます。 Gs2InboxOwnMessageFetcher Gs2InboxOwnMessageContext で指定されたメッセージを取得します。 Canvas/InboxWindow/Inbox/…/Content/Message/Metadata メッセージのペイロードを表示します。 Gs2InboxOwnMessageLabel メッセージの内容を、Format で指定した形式で整形します。 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。 Canvas/InboxWindow/Inbox/…/Content/Message/Timestamp Gs2InboxOwnMessageExpiresAtEnabler メッセージに設定された有効期限の値を元に 表示・非表示 を制御します。 有効期限が設定している場合は ExpiresAt を有効化するように設定しています。 Canvas/InboxWindow/Inbox/…/Content/Message/Timestamp/ReceivedAt Gs2InboxOwnMessageLabel メッセージの受信日時を表示しています。整形の方法は Format で指定しており、 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。 Canvas/InboxWindow/Inbox/…/Content/Message/Timestamp/ExpiresAt Gs2InboxOwnMessageLabel メッセージの有効期限を表示しています。整形の方法は Format で指定しており、 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。 Canvas/InboxWindow/Inbox/…/Content/Message/Control Gs2InboxOwnMessageIsReadEnabler メッセージの既読状態の値を元に 表示・非表示 を制御します。 未読状態の場合は Read を有効化し、既読状態の場合は AlreadyRead を有効化しています。 Canvas/InboxWindow/Inbox/…/Content/Message/Control/Gs2InboxMessageReadAction こちらのコンテキストメニューよりプレハブを追加できます。 プレハブを有効化することで Gs2InboxOwnMessageContext で指定したメッセージを既読状態にします。 OnReadComplete(String) に既読化が正常終了した場合のコールバックを設定でき、自分自身を無効化しています。 Canvas/InboxWindow/Input/Send Gs2ExchangeRateModelContext GS2-Inbox のメッセージを送信する GS2-Exchange の交換レートを設定します。 ここでは、GS2-Exchange の exchange-0002 という名前のネームスペース の SendMessage という名前の交換レートを指定しています。 Canvas/ExperienceWindow/Input/Send/Gs2ExchangeExchangeExchangeAction Count に交換数量を指定し、プレハブを有効化することで Gs2ExchangeRateModelContext で指定した交換レートの交換を実行します。 OnExchangeComplete(String) に交換処理が正常終了した場合のコールバックを設定でき、自分自身を無効化しています。 Canvas/InboxWindow/Input/Send With Expire Gs2ExchangeRateModelContext GS2-Inbox の有効期限月メッセージを送信する GS2-Exchange の交換レートを設定します。 ここでは、GS2-Exchange の exchange-0002 という名前のネームスペース の SendMessageWithExpire という名前の交換レートを指定しています。 Canvas/ExperienceWindow/Input/Send With Expire/Gs2ExchangeExchangeExchangeAction Count に交換数量を指定し、プレハブを有効化することで Gs2ExchangeRateModelContext で指定した交換レートの交換を実行します。 OnExchangeComplete(String) に交換処理が正常終了した場合のコールバックを設定でき、自分自身を無効化しています。 Process/Gs2AutoLogin ログイン処理を実行するプレハブが設定されています。 Accountのサンプル で解説していますので、そちらを参照ください。","lang":"ja","section":"articles","summary":"GS2 UIKit for Unity を使用した GS2-Inbox の機能実装サンプルの紹介","title":"Inbox(GS2 UIKit for Unity) のサンプル","url":"/ja/articles/sample/uikit_project/inbox/"},{"content":"インベントリ機能を実装します。 リポジトリ https://github.com/gs2io/gs2-uikit-for-unity-sample/tree/main/Inventory GS2-Deploy テンプレート https://github.com/gs2io/gs2-uikit-for-unity-sample/blob/main/Inventory/initialize_inventory_template.yaml プロジェクト内容 プロジェクトを開くと上記の通りになります。 実行すると、右上にインベントリの容量の使用状況が表示され、下部にインベントリの操作ボタンが表示されます。 「Acquire Potion」をクリックします。 すると、ポーションを10個入手することができ、画面上部にポーションが表示されます。 同じように、次はエーテルを入手するために「Acquire Ether」をクリックします。 ポーションの隣に、エーテルが追加されます。 ちなみに、右上のインベントリの使用量も 2/10 になっています。 次に、ポーションの最大スタック数は 99個 に設定されていますので「Acquire Potion」をあと9回クリックして100個持っている状態にしてみます。 このように、ポーションが2スタックに別れて、インベントリの使用量も 3/10 になりました。 ポーションやエーテルのアイコンをクリックすることで、アイテムを消費することができます。 99個スタックされているポーションをクリックしてみましょう。 アイテムはスタックを明示的に指定して消費することができ、その場合詰める処理はありませんので 98個スタックされたポーションと 1個スタックされたポーションになります。 次は 1個スタックされているポーションをクリックしてみます。 このように、スタックの総数が2個になり、インベントリの消費量も 2/10 になりました。 プロジェクトの解説 シーンのヒエラルキーに注目してください。 Canvas/InventoryWindow Gs2InventoryOwnInventoryContext この GameObject 以下のノードで取り扱う GS2-Inventory のインベントリ（スタンダード）を指定しています。 今回は、GS2-Inventory の inventory-0001 というネームスペースの Bag というインベントリを指定しています。 Canvas/InventoryWindow/Capacity Gs2InventoryInventoryEnabler Gs2InventoryOwnInventoryContext で指定したインベントリの読み込みが終わると InventoryCapacityText GameObject が有効になります。 Canvas/InventoryWindow/Capacity/InventoryCapacityText Gs2InventoryInventoryLabel 現在のインベントリ使用量/現在のインベントリの最大量 を Format に指定しています。 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。 Canvas/InventoryWindow/Inventory/…/Content Gs2InventoryOwnItemSetListFetcher Gs2InventoryOwnInventoryContext で指定されたネームスペースのアイテム一覧を取得します。 Gs2InventoryOwnItemSetList Gs2InventoryOwnItemSetListFetcher で取得したアイテムを指定されたプレハブに割り当てて生成します。 Maximum Items にはプレハブを生成する最大数を指定します。 今回は子ノードにいる Item をプレハブとして指定しています。 フレハブとして指定された GameObject がシーン内にある場合、その GameObject は無効化され、それ以外に Maximum Items で指定された数だけ GameObject が生成されます。 Canvas/InventoryWindow/Inventory/…/Content/Item Gs2InventoryOwnItemSetContext この GameObject 以下のノードで取り扱うアイテムを指定しています。 コンテキストの内容は Gs2InventoryOwnItemSetList によって割り当てられます。 Gs2InventoryItemModelFetcher Gs2InventoryOwnItemSetContext で指定されたアイテムモデルを取得します。 Gs2InventoryOwnItemSetFetcher Gs2InventoryOwnItemSetContext で指定されたアイテムを取得します。 Canvas/InventoryWindow/Inventory/…/Content/Item/Icon Gs2InventoryItemModelNameEnabler 割り当てられたアイテムモデルの名前で有効化する GameObject を切り替えます。 Potion の場合は PotionImage を有効化し、Ether の場合は EnterImage を有効化しています。 その結果、リスト表示するアイテムの種類によってアイテムのアイコンが変わります。 Canvas/InventoryWindow/Inventory/…/Content/Item/Name Gs2InventoryItemModelLabel 割り当てられたアイテムモデルの内容を、Format で指定した形式で整形します。 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。 Canvas/InventoryWindow/Inventory/…/Content/Item/Count Gs2InventoryOwnItemSetLabel 割り当てられたアイテムセットの内容を、Format で指定した形式で整形します。 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。 Canvas/InventoryWindow/Inventory/…/Content/Item/Use/Gs2InventoryItemSetConsumeAction こちらのコンテキストメニューよりプレハブを追加できます。 Gs2InventoryItemSetConsumeAction Consume Count で消費する数量を指定できます。 プレハブを有効化することで Gs2InventoryOwnItemSetContext で指定したアイテムを消費します。 Canvas/InventoryWindow/Input/Acquire Potion Gs2ExchangeRateModelContext GS2-Inventory の Potion を入手する GS2-Exchange の交換レートを設定します。 ここでは、GS2-Exchange の exchange-0001 という名前のネームスペース の Potion という名前の交換レートを指定しています。 Canvas/InventoryWindow/Input/Acquire Potion/Gs2ExchangeExchangeExchangeAction Gs2ExchangeExchangeExchangeAction Count で交換する数量を指定できます。 プレハブを有効化することで Gs2ExchangeRateModelContext で指定した交換を実行します。 Canvas/InventoryWindow/Input/Acquire Ether Gs2ExchangeRateModelContext GS2-Inventory の Ether を入手する GS2-Exchange の交換レートを設定します。 ここでは、GS2-Exchange の exchange-0001 という名前のネームスペース の Potion という名前の交換レートを指定しています。 Canvas/InventoryWindow/Input/Acquire Ether/Gs2ExchangeExchangeExchangeAction Gs2ExchangeExchangeExchangeAction Count で交換する数量を指定できます。 プレハブを有効化することで Gs2ExchangeRateModelContext で指定した交換を実行します。 Process/Gs2AutoLogin ログイン処理を実行するプレハブが設定されています。 Accountのサンプル で解説していますので、そちらを参照ください。","lang":"ja","section":"articles","summary":"GS2 UIKit for Unity を使用した GS2-Inventory の機能実装サンプルの紹介","title":"Inventory(GS2 UIKit for Unity) のサンプル","url":"/ja/articles/sample/uikit_project/inventory/"},{"content":"課金通貨の残高管理を実装します。 リポジトリ https://github.com/gs2io/gs2-uikit-for-unity-sample/tree/main/Money GS2-Deploy テンプレート https://github.com/gs2io/gs2-uikit-for-unity-sample/blob/main/Money/initialize_money_template.yaml プロジェクト内容 プロジェクトを開くと上記の通りになります。 実行すると、このように課金通貨の残高が表示されます。 まずは「Deposit(Free)」をクリックします。 残高が 1000 になります。 次に「Deposit(Paid)」をクリックします。 残高が 2000 になります。 内部的には無償と有償で別のデータとして扱いますが、このサンプルでは総量を表示しています。 次は「Withdraw」をクリックします。 残高が 1900 になります。 プロジェクトの解説 シーンのヒエラルキーに注目してください。 Canvas/MoneyWindow Gs2MoneyOwnWalletContext この GameObject 以下のノードで取り扱う GS2-Money のウォレットを指定しています。 今回は、GS2-Money の money-0001 というネームスペースの スロット 0 ウォレットを指定しています。 Canvas/MoneyWindow/Wallet/Contents/WalletValue Gs2MoneyOwnWalletEnabler Gs2MoneyOwnWalletContext で指定したウォレットのロードが終わると Value GameObject を有効化します。 Canvas/MoneyWindow/Wallet/Contents/WalletValue/Value Gs2MoneyOwnWalletLabel Gs2MoneyOwnWalletContext で指定したウォレットを Format で指定した形式で整形します。 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。 Canvas/MoneyWindow/Input/Withdraw/Gs2MoneyWalletWithdrawAction 課金通貨の残高を減らします。 Gs2MoneyWalletWithdrawAction Count に消費する数量を指定します。 OnWithdrawComplete(EzWallet) に消費が終わった時にコールバックが返されます。 Canvas/MoneyWindow/Input/DepositFree Gs2ExchangeRateModelContext GS2-Money の無償通貨を加算する GS2-Exchange の交換レートを設定します。 ここでは、GS2-Exchange の exchange-0005 という名前のネームスペース の Gem0to1000 という名前の交換レートを指定しています。 Canvas/MoneyWindow/Input/DepositFree/Gs2ExchangeExchangeExchangeAction 無償課金通貨の残高を加算します。 Gs2ExchangeExchangeExchangeAction Count に交換する数量を指定します。 Canvas/MoneyWindow/Input/DepositPaid Gs2ExchangeRateModelContext GS2-Money の有償通貨を加算する GS2-Exchange の交換レートを設定します。 ここでは、GS2-Exchange の exchange-0005 という名前のネームスペース の Gem1000to1000 という名前の交換レートを指定しています。 Canvas/MoneyWindow/Input/DepositPaid/Gs2ExchangeExchangeExchangeAction 有償課金通貨の残高を加算します。 Gs2ExchangeExchangeExchangeAction Count に交換する数量を指定します。 Process/Gs2AutoLogin ログイン処理を実行するプレハブが設定されています。 Accountのサンプル で解説していますので、そちらを参照ください。","lang":"ja","section":"articles","summary":"GS2 UIKit for Unity を使用した GS2-Money の機能実装サンプルの紹介","title":"Money(GS2 UIKit for Unity) のサンプル","url":"/ja/articles/sample/uikit_project/money/"},{"content":"課金通貨の販売機能を実装します。 リポジトリ https://github.com/gs2io/gs2-uikit-for-unity-sample/tree/main/MoneyStore GS2-Deploy テンプレート https://github.com/gs2io/gs2-uikit-for-unity-sample/blob/main/MoneyStore/initialize_money_store_template.yaml プロジェクト内容 プロジェクトを開くと上記の通りになります。 実行すると、こちらのように販売されている商品の一覧が表示されます。 「¥100 x100」の「Buy」をクリックします。 残高が 100 になりました。 Editor では表示されませんが、iOS や Android で実行すると決済シーケンスが挟まります。 プロジェクトの解説 シーンのヒエラルキーに注目してください。 Canvas/MoneyStoreWindow/Wallet 課金通貨の残高を表示しています。 Moneyのサンプル で解説していますので、そちらを参照ください。 Canvas/MoneyStoreWindow/Store Gs2ShowcaseOwnShowcaseContext この GameObject 以下のノードで取り扱う GS2-Showcase の陳列棚を指定しています。 今回は、GS2-Showcase の showcase-0001 というネームスペースの GenStore という名前の陳列棚を指定しています。 Gs2ShowcaseOwnShowcaseFetcher Gs2ShowcaseOwnShowcaseContext で指定した陳列棚の情報を取得します。 Canvas/MoneyStoreWindow/Store/…/Content Gs2ShowcaseOwnDisplayItemList Gs2ShowcaseOwnShowcaseFetcher で取得した陳列棚に陳列された商品を指定されたプレハブに割り当てて生成します。 Maximum Items にはプレハブを生成する最大数を指定します。 今回は子ノードにいる DisplayItem をプレハブとして指定しています。 フレハブとして指定された GameObject がシーン内にある場合、その GameObject は無効化され、それ以外に Maximum Items で指定された数だけ GameObject が生成されます。 Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem Gs2ShowcaseOwnDisplayItemContext この GameObject 以下のノードで取り扱う商品を指定しています。 コンテキストの内容は Gs2ShowcaseOwnDisplayItemList によって割り当てられます。 Gs2ShowcaseOwnDisplayItemFetcher 陳列されている商品の詳細を取得します。 Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem/Icon Gs2ShowcaseOwnSalesItemNameEnabler 陳列されている商品の名前を使用して GameObject の表示・非表示を制御します。 商品によって表示する画像を切り替えるのに使用しています。 Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem/Price Gs2MoneyDepositByUserIdFetcher DisplayItem の AcquireActions から Gs2MoneyDepositByUserId を取り出します。 Gs2MoneyDepositByUserIdLabel Gs2MoneyDepositByUserId に設定されたパラメーターを Format で指定された形式に整形します。 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。 Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem/Count Gs2MoneyDepositByUserIdFetcher DisplayItem の AcquireActions から Gs2MoneyDepositByUserId を取り出します。 Gs2MoneyDepositByUserIdLabel Gs2MoneyDepositByUserId に設定されたパラメーターを Format で指定された形式に整形します。 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。 Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem/Buy/Gs2ShowcaseShowcaseBuyAction こちらのコンテキストメニューよりプレハブを追加できます。 Gs2ShowcaseShowcaseBuyAction Quantity で購入する数量を指定できます。 プレハブを有効化することで Gs2ShowcaseDisplayItemContext で指定した商品を購入します。 Process/Gs2AutoLogin ログイン処理を実行するプレハブが設定されています。 Accountのサンプル で解説していますので、そちらを参照ください。","lang":"ja","section":"articles","summary":"GS2 UIKit for Unity を使用した GS2-Money + GS2-Showcase の機能実装サンプルの紹介","title":"MoneyStore(GS2 UIKit for Unity) のサンプル","url":"/ja/articles/sample/uikit_project/money_store/"},{"content":"購入回数制限のついたセール販売のある課金通貨の販売機能を実装します。 リポジトリ https://github.com/gs2io/gs2-uikit-for-unity-sample/tree/main/MoneyStoreWithSale GS2-Deploy テンプレート https://github.com/gs2io/gs2-uikit-for-unity-sample/blob/main/MoneyStoreWithSale/initialize_money_store_with_sale_template.yaml プロジェクト内容 プロジェクトを開くと上記の通りになります。 実行すると、MoneyStore のサンプルとは異なり、購入回数の制限のある商品が陳列されています。 「¥10000 x 16000」の「Buy」をクリックします。 購入回数制限の表記が 1/2 になり、残高が 16000 になります。 もう一度購入します。 購入回数制限の表記が 2/2 になり、残高が 32000 になります。 購入回数の上限に達したので「Buy」ボタンが無効化されます。 プロジェクトの解説 シーンのヒエラルキーに注目してください。 Canvas/MoneyStoreWindow/Wallet 課金通貨の残高を表示しています。 Moneyのサンプル で解説していますので、そちらを参照ください。 Canvas/MoneyStoreWindow/Store 課金通貨の陳列棚を表示しています。 基本的な実装は MoneyStoreのサンプル で解説していますので、そちらを参照ください。 ここから先は MoneyStoreのサンプル との差分についてのみ説明します。 Canvas/MoneyStoreWindow/Store/…/DisplayItem Gs2LimitCountUpByUserIdEnabler DisplayItem の ConsumeActions に Gs2LimitCountUpByUserId が設定されている場合 EnableLimit が有効化され、設定されていない場合は DisableLimit が有効化されます。 Canvas/MoneyStoreWindow/Store/…/DisplayItem/EnableLimit Gs2LimitCountUpByUserIdFetcher DisplayItem の ConsumeActions に設定された Gs2LimitCountUpByUserId を取得します。 Gs2MoneyDepositByUserIdFetcher DisplayItem の AcquireActions に設定された Gs2MoneyDepositByUserId を取得します。 Canvas/MoneyStoreWindow/Store/…/DisplayItem/EnableLimit/PriceAndRemain/Remain 残り購入可能回数を表示します。 Gs2LimitOwnCounterFetcher Gs2LimitCountUpByUserIdFetcher で取得した消費アクションのカウンターの値を取得します。 Gs2LimitOwnCounterEnabler Gs2LimitOwnCounterFetcher でカウンターの取得が終わっているかどうかで CounterLoadingText か CounterLoadedText を有効化します。 Canvas/MoneyStoreWindow/Store/…/DisplayItem/EnableLimit/Buy ConsumeActionsEnabler DisplayItem の ConsumeActions に設定された消費アクションが実行条件を満たしているかで Active か InActive を有効化します。 このコンポーネントによって、購入回数の上限に達すると Buy ボタンが無効化されます。 Process/Gs2AutoLogin ログイン処理を実行するプレハブが設定されています。 Accountのサンプル で解説していますので、そちらを参照ください。","lang":"ja","section":"articles","summary":"GS2 UIKit for Unity を使用した GS2-Money + GS2-Showcase + GS2-Limit の機能実装サンプルの紹介","title":"MoneyStoreWithSale(GS2 UIKit for Unity) のサンプル","url":"/ja/articles/sample/uikit_project/money_store_with_sale/"},{"content":"SDK の初期化のためには Credential, Session というオブジェクトを作成する必要があります。 Credential GS2 のAPIキーを表現するオブジェクトです。 BasicGs2Credential というクラスが定義されており、clientId / clientSecret を使用したAPIの利用時には、こちらを使用します。 BasicGs2Credential パラメータ 引数名 説明 clientId クライアントID clientSecret クライアントシークレット Session Session には、HTTP 通信を利用する Gs2RestSession と、WebSocket 通信を利用する Gs2WebSocketSession の 2 種類があります。 プログラミング言語によっては Gs2WebSocketSession がサポートされていない場合があり、またペイロードが大きくなるリクエストには利用できない制約があります。 そのため、サーバーからのプッシュ通知を必要としない場合は、原則として Gs2RestSession を利用してください。 Gs2RestSession Request 引数名 説明 credential Credentialオブジェクト region 接続先のGS2リージョン Gs2WebSocketSession Request 引数名 説明 credential Credentialオブジェクト region 接続先のGS2リージョン 初期化 作成した Session オブジェクトは使用する前に接続処理が必要です。 セッションオブジェクトには接続APIが用意されており、そちらを呼び出すことで接続を実行できます。 カオスモード カオスモードを適用したSDK初期化処理を呼び出すことで、APIリクエストを一定の確率で失敗させることができます。 カオスモードを有効にしたクライアントを使用して開発を進めることで、エラーハンドリングを強固なものにすることができます。 マイクロサービスのクライアント GS2 が提供する各種マイクロサービスごとにクライアントが用意されています。 マイクロサービスのクライアントにも Gs2AccountRestClient と Gs2AccountWebSocketClient のように通信プロトコルごとのクライアントが用意されており、それぞれ Gs2RestSession と Gs2WebSocketSession を必要とします。 Gs2AccountRestClient Request 引数名 説明 session Gs2RestSession Gs2AccountWebSocketClient Request 引数名 説明 session Gs2WebSocketSession 実装例","lang":"ja","section":"api_reference","summary":"GS2-SDK の初期化方法について","title":"SDK","url":"/ja/api_reference/initialize/sdk/"},{"content":"GS2-SDK for Game Engine のトランザクション処理について 基本的な考え方や処理の流れは for Game Engine のドキュメントを参照してください。 一方で、GS2-SDK では for Game Engine ほど手厚いサポートはありません。 具体的にはキャッシュ機能や EzTransactionDomain のような仕組みは用意されていません。 トランザクションの実行 自動実行が有効な場合 完了通知を受け取るためには明示的に GS2-Gateway にユーザーIDを設定する必要があります。 GS2-Gateway::setUserId 完了通知をハンドリングする必要があります。 Gs2WebSocketSession クラスに通知のハンドリング関数が用意されていますので、そちらを利用してください。 プログラミング言語によっては WebSocket クライアントの実装が無い可能性もあります。 GS2-Distributor からトランザクションの実行完了通知を受け取ったら、明示的に結果を取得する必要があります。 実行結果にはエラーが含まれている可能性があり、成功するまで実行結果は更新される可能性があります。 GS2-Distributor::getStampSheetResult GS2-JobQueue からジョブの実行完了通知を受け取ったら、明示的に結果を取得する必要があります。 実行結果にはエラーが含まれている可能性があり、tryNumber を指定しなければ最新の結果を取得できるため、それを利用して成功するまで待つ必要があります。 GS2-JobQueue::getJobResult 自動実行が無効な場合 GS2-Showcase::Buy のようなトランザクション発行APIを呼び出すと、 stampSheet 変数にトランザクションデータが、 stampSheetEncryptionKeyId にトランザクションデータの署名計算に使用した暗号鍵のIDが応答されます。 トランザクションデータと暗号鍵の情報を GS2-Distributor に渡して、明示的にトランザクションを実行する必要があります。 GS2-Log にログを残したい場合は、ログの書き出し設定を行った GS2-Distributor のネームスペースを指定して runStampSheetExpress を呼び出し、必要ない場合は runStampSheetExpressWithoutNamespace を呼び出します。 GS2-Distributor::runStampSheetExpress GS2-Distributor::runStampSheetExpressWithoutNamespace runStampSheetExpress または runStampSheetExpressWithoutNamespace の実行結果に stampSheet が含まれる場合はそのトランザクションも明示的に実行する必要があります。 スタンプシートの入手アクションが「Gs2JobQueue:PushByUserId」だった場合は、GS2-JobQueue も実行する必要があります。 GS2-JobQueue::run","lang":"ja","section":"api_reference","summary":"GS2-SDK のトランザクション処理について","title":"SDK","url":"/ja/api_reference/transaction/sdk/"},{"content":"スタミナ機能を実装します。 リポジトリ https://github.com/gs2io/gs2-uikit-for-unity-sample/tree/main/Stamina GS2-Deploy テンプレート https://github.com/gs2io/gs2-uikit-for-unity-sample/blob/main/Stamina/initialize_stamina_template.yaml プロジェクト内容 プロジェクトを開くと上記の通りになります。 実行するとこのようにスタミナの残量と、スタミナ操作のUIが表示されます。 まずは「Consume(5)」のボタンをクリックします。 スタミナを消費したことで、残量の表示が「45/50」となり、回復するまでのカウントダウンが表示されます。 次に「Recover(10)」のボタンをクリックします。 スタミナの残量が「55/50」になります。 最大値を超えた状態になりましたので、再びカウントダウンは表示されなくなります。 プロジェクトの解説 シーンのヒエラルキーに注目してください。 Canvas/StaminaWindow Gs2StaminaOwnStaminaContext この GameObject 以下のノードで取り扱う GS2-Stamina のスタミナを指定しています。 今回は、GS2-Stamina の stamina-0001 というネームスペースの Stamina という名前のスタミナを指定しています。 Canvas/StaminaWindow/Stamina Gs2StaminaStaminaEnabler スタミナの読み込みが終わったら StaminaValue を有効化します。 Canvas/StaminaWindow/Stamina/StaminaValue/Slider Gs2StaminaStaminaProgress 現在のスタミナの値の最大値に対する割合を 0.0〜1.0 で取得します。 最大値を超えた状態では 1.0 に丸められます。 取得した結果は OnUpdate(Single) に渡され、Slider の値に反映しています。 Canvas/StaminaWindow/Stamina/StaminaValue/Slider/Label Gs2StaminaOwnStaminaValueEnabler スタミナが最大値に達しているかで GameObject を有効化します。 Canvas/StaminaWindow/Stamina/StaminaValue/Slider/Label/NextRecoverAt Gs2StaminaOwnStaminaNextRecoverAtFetcher スタミナが次回回復する日時を取得します。 取得した結果は OnUpdate(int64) にコールバックされ、Gs2CoreTimeSpanLabel に値を反映します。 Gs2CoreTimeSpanLabel スタミナが次回回復する日時までの残り時間を Format で指定した形式に整形します。 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。 Process/Gs2AutoLogin ログイン処理を実行するプレハブが設定されています。 Accountのサンプル で解説していますので、そちらを参照ください。","lang":"ja","section":"articles","summary":"GS2 UIKit for Unity を使用した GS2-Stamina の機能実装サンプルの紹介","title":"Stamina(GS2 UIKit for Unity) のサンプル","url":"/ja/articles/sample/uikit_project/stamina/"},{"content":"GS2の各サービスにアクセスするための、クレデンシャル(認証情報）やアクセス権限の管理をする 仕組みが GS2-Identifier です。 各サービスにアクセスが可能かの権限管理は、GS2-Identifierユーザー（以下ユーザー）ごとに行います。 ユーザーにはGS2のどういったサービスを利用可能かの定義（セキュリティポリシー）を割り当てます。 GS2はクレデンシャルを使ってアクセスしてきたユーザーを認証し、プロジェクトトークンを返します。 ゲームアプリ/管理ツールはこのプロジェクトトークンを使用して各サービスにアクセスを行います。 権限の詳細な設定はセキュリティポリシーで定義され、これを各ユーザーごとに割り当てます。 ユーザー ユーザーが持つデータ構造の概要は、以下のようになります。 class User { +userId +name : } class Identifier { +clientId +clientSecret : } class Password { +hashedPassword : } class AttachedSecurityPolicy { +securityPolicyId : } class SecurityPolicy { +policyDocument : } User \"1\" *-- \"many\" Identifier User \"1\" --- \"1\" Password User \"1\" *-- \" セキュリティポリシー セキュリティポリシーにはあらかじめ以下のポリシーが定義済みです。 セキュリティーポリシー名 説明 AdministratorAccess 全てのAPIを利用する権限 ApplicationAccess チート行為に繋がらないAPIのみが呼び出せる権限 DeliveryAccess GS2-Distributor がリソースの溢れ処理を実行するために必要となる権限 UnauthenticatedAccess バージョンチェック（GS2-Version）の実行に必要な処理（ログイン処理含む）のみ行える権限 AdministratorAccess ポリシー は、GS2のすべてのサービスにアクセス可能な権限です。 ゲームアプリ内に組み込んで使用する想定の ApplicationAccess ポリシーは、 チート行為につながるようなサーバの操作が可能なAPIの呼び出しができないよう設定されています。 セキュリティポリシーのフォーマット セキュリティポリシーはJSON形式で記述します。 Statements　の中に　Effect、Actions、Resources の各要素を含めます。 *(アスタリスク)はワイルドカードを表します。 最も単純なセキュリティポリシーは例のようになります。 このセキュリティポリシーは、あらゆる操作をあらゆるサービス、 APIに対して許可する、というものです。 { \"Version\": \"2016-04-01\", \"Statements\": [ { \"Effect\": \"Allow\", \"Actions\": [ \"*\" ], \"Resources\": [ \"*\" ] } ] } Actions 例に示したセキュリティポリシーは GS2-Inboxサービスに対しあらゆる操作が行える、というものになります。 この例のセキュリティポリシーが割り当てられているユーザーの権限は、GS2-Inbox 以外のサービスにアクセスできません。 *(アスタリスク)はワイルドカードを表しています。 { \"Version\": \"2016-04-01\", \"Statements\": [ { \"Effect\": \"Allow\", \"Actions\": [ \"Gs2Inbox:*\" ], \"Resources\": [ \"*\" ] } ] } Effect このポリシーでの、APIへのアクセスの 許可/不許可の指定をします。 指定 アクセス Allow 許可 Deny 不許可 アクションの列挙 Actions には アクション、アクセスし実行が可能/不可能なメソッドの指定を 列挙することができます。 各サービスのリファレンスに記載されているメソッドを指定します。 [サービス名]:[メソッド名] のように :(コロン) を間に挟んでください。 サービス名の指定は Gs2Inbox のように、-(ハイフン)を含まず、Gs2に各サービスの名称が連なったものになります。 メソッド名は SendMessage のように、先頭の文字は大文字（アッパーキャメルケース）になります。 { \"Version\": \"2016-04-01\", \"Statements\": [ { \"Effect\": \"Allow\", \"Actions\": [ \"Gs2Inbox:SendMessage\", \"Gs2Inbox:DescribeMessage\", \"Gs2Inbox:ReadMessage\", \"Gs2Inbox:DeleteMessage\" ], \"Resources\": [ \"*\" ] } ] } Resources このポリシーの影響を受けるリソースの範囲を指定する変数になります。 Resources には操作を許可もしくは拒否したいリソースのGRNを列挙します。 Actions 同様先頭および末尾にワイルドカードを用いることが可能です。 { \"Version\": \"2016-04-01\", \"Statements\": [ { \"Effect\": \"Allow\", \"Actions\": [ \"Gs2Inbox:SendMessage\" ], \"Resources\": [ \"grn:gs2:{region}:{ownerId}:inbox:namespace-0001\", \"grn:gs2:{region}:{ownerId}:inbox:namespace-0001:*\" ] } ] } こちらの例では namespace-0001 にのみ SendMessage が可能な権限を設定しています。 プレースホルダ GRN の要素のうち「リージョン名: {region}」「オーナーID: {ownerId}」「ユーザーID: {userId}」はプレースホルダを用いることができます。 プレースホルダを指定することで実行時にアクセスしている値に置き換えて評価されます。 セキュリティポリシーの判定 ユーザーは最大10個のセキュリティポリシーを割り当てることができます。 Effect に Allow が指定されたアクションについて Or で処理をした後に、Effect に Deny が指定されたアクションについて Or で処理をしたものを除いたAPIを呼び出し可能となります。 つまり、Allow と Deny の両方に記述がある場合は、Deny が優先されます。","lang":"ja","section":"articles","summary":"GS2 のAPIに対するアクセス制御\n","title":"アクセス制御","url":"/ja/articles/tech/identifier/"},{"content":"GS2 が応答するエラーは一定の法則を持って応答されます。 法則を理解することで、エラーの解消が迅速に行えるようになります。 エラーメッセージの例 [{\"component\":\"progress\",\"message\":\"quest.progress.progress.error.notFound\"}] セクション 説明 component エラーが発生した対象を示し、メンバー名、メソッド名が入ります。 message エラー箇所の詳細、エラーを表すキーワードが入ります。 サービス名 . コンポーネント .error. エラー内容 主要なエラー内容 主要なエラー内容 説明 failed 処理に失敗しました。 invalid 不正なパラメータです。 require 必要な引数がありません。 tooLong 引数の文字数が長すぎます。 tooMany 配列の要素数が多すぎます。 exists 既に存在しています。 duplicate 重複、既に存在しています。 notFound 見つかりませんでした。 notMatch 合致しませんでした。 例外の種類 SDK によってエラーはある程度分類され、送出される例外の型が変化します。 すべての例外は Gs2Exception を継承しており、以下のプロパティを参照することでリトライの要否を判断できます。 RecommendRetry : ユーザーに「リトライ」を促すボタンを表示するなど、手動リトライを検討すべきエラー。 RecommendAutoRetry : ユーザーに通知せず、システム側で自動的にリトライしても安全なエラー。 例外 エラー内容 ステータスコード RecommendRetry RecommendAutoRetry BadRequestException リクエストの内容が不正です。 400 UnauthorizedException 権限の認証ができませんでした。 401 QuotaLimitExceededException クォータの制限を超えました。 402 ✔︎ NotFoundException 対象が見つかりませんでした。 404 ConflictException 処理が衝突しました。 409 ✔︎ InternalServerErrorException サーバーでエラーが発生しました。 500 ✔︎ ✔︎ BadGatewayException サーバーが無効なレスポンスを受け取りました。 502 ✔︎ ✔︎ ServiceUnavailableException サービスで一時的なエラーが発生しました。 503 ✔︎ ✔︎ RequestTimeoutException リクエストがタイムアウトしました。 504 ✔︎ ✔︎ UnknownException 不明な例外が発生しました。 RecommendRetry が true の例外は、リクエストパラメータは正常だが、サーバーの状態によって発生する可能性があるエラーです。 このようなエラーを検知した場合、リトライすることを推奨します。 その際に成功するまでリトライするのではなく、一定回数や一定時間の経過でタイムアウトする実装を入れることを強く推奨します。 リトライをする際に、リクエスト間にスリープを入れることを推奨しており、リトライ回数に応じてスリープの長さを伸ばしていくことを推奨します。 ゲーム内でハンドリングを必要とするエラーについては、マイクロサービスごとに列挙した例外を継承したエラー固有の例外型を定義しているものがあります。 その場合、エラー固有の例外でエラーハンドリングをすることでより簡単にエラーハンドリングを実装できます。 固有のエラーを表現する例外が存在する場合、APIリファレンスのメソッドの説明に記載がありますので、そちらをご参照ください。 クライアントで発生する例外の取得 GS2-CSharp-SDK、GS2 SDK for Unityでは、接続に使用しているゲームエンジン/フレームワークで発生したエラー内容のメッセージの取得が可能です。 例外 エラー内容 ステータスコード NoInternetConnectionException インターネットの接続に失敗しました。 ※端末が機内モード/圏外/ルータに繋がっているが外に出られない等で、ソケット確立や DNS 解決に失敗したときの 接続エラーを含みます。 0 　ConnectionException (Unityのみ)　サーバーとの通信に失敗しました。 リクエストが接続できなかった、セキュリティで保護されたチャネルを確立できなかったなど。 0 　DataProcessingException (Unityのみ)　データ処理中にエラーが発生しました。 0 　HttpRequestException (.netのみ)　HttpRequestでエラーが発生しました。 0 カオスモード GS2 C# SDK および GS2 SDK for Unity にはカオスモードが搭載されています。 カオスモードを有効化すると、指定した割合でリトライが必要な例外をランダムに発します。 開発をカオスモードを有効にした状態で進めることで、ゲーム内のエラーハンドリングをより強固なものにすることができます。 カオスモードの有効化の方法は 初期化処理 を参照してください。 実装ガイド より具体的な実装方法やベストプラクティスについては、 エラーハンドリングの実装パターン を参照してください。","lang":"ja","section":"articles","summary":"Game Server Services を利用する上で発生する一般的なエラー\n","title":"エラー・例外","url":"/ja/articles/tech/error/"},{"content":"Game Server Services はサーバーソリューションではない サービスの名称を否定するようなお話をします。 私たちが Game Server Services を開発する際に最も大切にしているのは ゲーム開発者の開発体験を最高のものにする ことです。 ゲーム開発者から ネットワーク機能 はどう見えているでしょうか？ あることでゲームを楽しくできる 今時のゲームならあって当然 ゲームで長期間のビジネスをするには必要 一方で、ゲーム開発者から サーバー開発 はどう見えているでしょうか？ めんどくさい 大変そう 近づきたくない このギャップを埋めるためのソリューションが Game Server Services です。 サーバーを使うのって大変！ ネットワーク機能を実装するにはサーバーは必要です。 しかし、サーバー開発者は API を作ってくれても、SDK は作ってくれません。 では、サーバーのAPIとの通信処理は誰がプログラムするのでしょうか？ ゲーム開発者 です。 Game Server Services はできるだけゲーム開発者にフレンドリーなSDKを提供して、通信処理を めんどくさい ものから、 一般的なライブラリのように扱える ものにしようとしています。 代表的な取り組みとして以下のようなものがあります サーバーとの通信回数や通信時間を思考の外に出せるキャッシュ機構を搭載したSDK Unity / Unreal Engine との統合で、ノーコード開発が可能なSDK データ分析とかカスタマーサポートって大変！ Game as a Service を実践すると、プレイヤーがどのようにゲームを遊んでいるのかデータ分析が必要になります。 サーバーを新しく作ると、データ分析の仕組みもあわせて作らなければなりません。 カスタマーサポートもそうです。長期運営型ゲームでは、カスタマーサポートが対応することも増えます。 カスタマーが言っていることが真実とは限りません。行動ログを確認し、カスタマーが言っていることが正しいのか判断して開発部門にエスカレーションする必要があるでしょう。 この仕組みが貧弱だと全ての問い合わせがゲーム開発者に届いてしまい、ゲーム開発どころではなくなってしまいます。 Game Server Services はデータ分析や、カスタマーサポートツールも提供することで、このような事態を避けられるようにしています。 サーバーレスとマイクロサービス ゲーム開発者がサーバーを運用する場合、サーバーの死活監視やスケールアップ、OSのアップデートなど、ゲームの本質とは関係のない作業に追われがちです。 GS2 は サーバーレス なアーキテクチャを採用しており、開発者がサーバーの管理を意識する必要はありません。また、機能ごとに独立した マイクロサービス として提供されているため、必要な機能だけを選んで組み合わせることが可能です。 ネットワーク機能の総合開発運用環境 Game Server Services は単なる「APIの集まり」ではなく、開発から運用までを支える総合的な環境を提供しています。 graph LR subgraph \"Game Server Services (GS2)\" SDK[GS2 SDK] API[GS2 Microservices] Console[Management Console] Analytics[Analytics / Logs] end Developer[Game Developer] --\u003e SDK Developer --\u003e Console Developer --\u003e Analytics GameClient[Game Client] --\u003e SDK SDK --\u003e API API --\u003e Analytics つまり Game Server Services はゲームサーバーを主軸として、ゲーム開発者がネットワーク対応を簡単に行え、 その後のデータ分析・カスタマーサポートの仕組みも提供する ネットワーク機能の総合開発運用環境 を提供しています。","lang":"ja","section":"overview","summary":"Game Server Services が目指すゲーム開発環境について\n","title":"Game Server Services のコンセプト","url":"/ja/overview/concept/"},{"content":"GS2-Account 引き継ぎ情報に関して、同一ユーザの情報の登録・更新・削除は1秒間に3回以内に抑えるようにしてください。 異なるユーザであればこの制限はありません。 GS2-Chat 1つのルームに対して、1秒間に3回までしか投稿できません。 1ルームに参加できる人数を極端に多くする、一斉に投稿を促すような実装を避けてください。 GS2-Experience 同一プロパティに対する経験値付与は1秒間に3回までにおさえてください。 異なるユーザや同一ユーザでも異なるプロパティに対する経験値付与であればこの制限はありません。 GS2-Formation 同一フォームの更新処理は1秒間に3回以内に抑えてください。 GS2-Friend 同一ゲームプレイヤーによるプロフィールの更新は1秒間に3回までにおさえてください。 異なるユーザや同一ユーザでも異なるプロパティに対する経験値付与であればこの制限はありません。 1人のプレイヤーにフレンドリクエストが集中する仕様は避けてください。 1人のプレイヤーがフレンドリクエストを受け付けられるのは1秒間に3回までです。 GS2-Inventory 同一プロパティに対する所持数量の増減処理は1秒間に3回までにおさえてください。 異なるプロパティでもインベントリにとって初めて入手する、インベントリのアイテムを使い切る操作の場合は、インベントリ内の操作で1秒間に3回までにおさえてください。 異なるプロパティに対する所持数量の増減であればこの制限はありません。 GS2-JobQueue 同一ユーザに対するキューに対するジョブ登録は1秒間に3回までにおさえてください。 1回のジョブ登録で最大10個までジョブを登録できますので工夫をしてください。 自動実行機能を利用しない場合、ジョブの実行は1秒間に1回におさえてください。 異なるユーザに対する処理であればこの制限はありません。 GS2-Limit 同一カウンターに対する操作は1秒間に3回までにおさえてください。 異なるユーザや、同一ユーザでも異なるカウンターに対する処理であればこの制限はありません。 GS2-Lock 同一ミューテックスに対する操作は1秒間に3回までにおさえてください。 異なるミューテックスに対する処理であればこの制限はありません。 GS2-MegaField ユーザーごとに1秒間に座標情報を更新可能な回数は5回までです GS2-Mission 同一カウンターに対する操作は1秒間に3回までにおさえてください。 異なるユーザや、同一ユーザでも異なるカウンターに対する処理であればこの制限はありません。 GS2-Money 同一ウォレットに対する操作は1秒間に3回までにおさえてください。 異なるユーザや、同一ユーザでも異なるウォレットに対する処理であればこの制限はありません。 GS2-Script スクリプトの実行時間は10秒以内に完了させてください。 GS2-Stamina 同一スタミナに対する操作は1秒間に3回までにおさえてください。 異なるユーザや、同一ユーザでも異なるスタミナモデルに対する処理であればこの制限はありません。 GS2-StateMachine 同一ステートマシンの状態遷移回数は10,000回までです。10,000回を超過するとエラー応答されます。 同一ステートマシンへのイベント送信は1秒間に3回までにおさえてください。","lang":"ja","section":"articles","summary":"GS2 の各マイクロサービスの利用制限\n","title":"サービスの制限","url":"/ja/articles/service_limit/"},{"content":"GS2 を使ったゲーム開発の参考となるサンプルコードや学習リソースを公開しています。 学習目的や開発フェーズに応じて適切なリソースをご活用ください。 サンプルの選び方 サンプル 内容 向いている用途 GS2 の実装サンプル 各機能をひととおり盛り込んだ Unity 用の総合サンプル GS2 全体の連携イメージや、典型的なゲームサイクルの実装方法を把握したいとき UIKit を利用したサンプル 機能ごとに用意された UIKit ベースの最小サンプル アカウント・インベントリ・チャット等、特定機能の実装だけを参照したいとき 公式 YouTube チャンネル 機能解説・チュートリアル動画 テキストでは伝わりづらい、画面の遷移や手順を確認したいとき UIKit を利用したサンプルは機能ごとにリポジトリが分かれているため、自分のプロジェクトに必要な部分だけを段階的に取り込みやすい構成になっています。 一方、 GS2 の実装サンプル は複数のマイクロサービスが連携した状態のリファレンス実装として参照することを想定しています。","lang":"ja","section":"articles","summary":"サンプルコードのご紹介\n","title":"サンプルコード","url":"/ja/articles/sample/"},{"content":"","lang":"ja","section":"get_start","summary":"アカウント発行〜ログインまでを実装するサンプルコード\n","title":"サンプルコード全文","url":"/ja/get_start/tutorial/coding/all/"},{"content":"GS2 には各サービス間を連携させるトランザクションの仕組みとして《スタンプシート》という仕組みを使用します。 GS2内のAPIのうち、プレイヤーにとってデメリットとなる操作を《消費アクション》と呼び、逆にプレイヤーにとってメリットのある操作を《入手アクション》と呼びます。 ゲーム内のストアで《1000ジェムを使用》して《ガチャを10回引く》という処理があったとしましょう。 この場合、《1000ジェムを使用》が消費アクションで、《ガチャを10回引く》を入手アクションと捉えることが可能です。 もう少し例をいくつか並べてみましょう。 《メッセージを既読にする》消費アクションを実行して《メッセージに添付されたジェム100個を受け取る》入手アクションを実行する 《スタミナを10消費する》消費アクションを実行して《クエスト1を開始状態にする》入手アクションを実行する 《クエスト1の開始状態を削除する》消費アクションを実行して《クエスト1のクリア報酬を入手する》入手アクションを実行する 《現在時刻で最終放置報酬受け取り時間を更新する》消費アクションを実行して《放置時間に応じた報酬を入手する》入手アクションを実行する 《毎日リセットされる回数制限カウンターを1上昇させる》消費アクションを実行して《1日1回した受け取れないアイテムを入手する》入手アクションを実行する このようにGS2において、全てのゲームサイクルは何かを消費して、何かを得ることで表現されています。 スタンプシートの仕組み スタンプシートは複数の《消費アクション》と1つの《入手アクション》で構成され、 スタンプシートの発行も ストア機能や、クエスト機能といった GS2 のマイクロサービスが行います。 発行するスタンプシートの内容は、ストア機能に登録した商品マスターデータなどから決定しています。 スタンプシートの実行は 《消費アクション》の実行 -\u003e 《入手アクション》の実行 順番で処理されます。 この順番で処理することで、不正に《入手アクション》を何度も実行されることを防いでいます。 《消費アクション》を実行すると、GS2 の各機能を提供するマイクロサービスは実行済みを証明する署名を発行します。 《入手アクション》を実行する際には、全ての《消費アクション》で受け取った署名を一緒に送信します。 《入手アクション》を実行する前に署名検証を行い、全てが実行済みであることを確認できてから《入手アクション》を実行します。 サービスディスカバリ スタンプシートの《消費アクション》や《入手アクション》の内容に応じて、適切なマイクロサービスに処理を依頼する必要があります。 しかし、GS2 の機能は日々追加されており、《消費アクション》や《入手アクション》の種類は増え続けており、そのような分岐処理をメンテナンスするのは大変です。 そのため、GS2 には GS2-Distributor という、受け取ったスタンプシートを適切なマイクロサービスに転送するマイクロサービスを提供しています。 GS2-Distributor にスタンプシートを送信することで、スタンプシートの《消費アクション》や《入手アクション》の内容に応じて適切なマイクロサービスに転送する役割があります。 重複実行の防止 スタンプシートは重複実行できないように設計されています。 正しくは、GS2の全ての《消費アクション》や《入手アクション》のAPIには重複実行防止の仕組みが用意されています。 《消費アクション》や《入手アクション》のAPIは《Duplication Avoider》パラメーターを受け取れるようになっています。 ここに値を指定して API の処理が正常終了すると、応答内容が GS2 によって一定期間保存されます。 同一リクエストペイロードで、《Duplication Avoider》の指定がある場合、過去に《Duplication Avoider》の値が一致する処理を実行したことがある場合は、その結果を正常処理完了として応答して実際には処理を行わないようになっています。 そして、スタンプシートによる《消費アクション》や《入手アクション》の実行では、《Duplication Avoider》にはスタンプシート固有のIDである《トランザクションID》を指定することになっています。 それでは、重複実行防止 の仕組みがどのようなプロセスで実行されるのかを順を追ってみてみましょう。 まずは、以下のスタンプシートが存在すると仮定します。 消費アクション アイテムを1個消費 回数制限カウンターを1増加 入手アクション ジェムを10個入手 このスタンプシートを実行する場合、まずは《アイテムを1個消費》を実行します。 《アイテムを1個消費》の実行 アイテムが1個消費される。 サーバー側に「トランザクションID：XXX でアイテム消費成功」という記録が残る。 《回数制限カウンターを1増加》の実行 ここでネットワークエラーやサーバーエラーが発生し、処理が中断されたとします。 この時、アイテムはすでに消費された状態で止まっており、プレイヤーにとっては不利益な状態です。 スタンプシートのリトライ クライアントまたはサーバーサイドの自動実行によって、最初から実行し直されます。 再度 《アイテムを1個消費》 を実行しようとしますが、ここで Duplication Avoider が機能します。 すでに成功記録があるため、実際には消費処理を行わず、前回の成功レスポンスをそのまま返します。 《回数制限カウンターを1増加》の再試行 前回失敗した箇所ですが、今回は正常に成功したとします。 サーバー側に成功記録が残ります。 《ジェムを10個入手》の実行 最後に入手アクションを実行し、ジェムを付与して完了となります。 このように、スタンプシートを実行する側は「どこまで進んだか」を細かく管理する必要はなく、失敗したら単に「最初からやり直す」だけで、Duplication Avoider によって不整合なく最終的な状態まで到達できるようになっています。 スタンプシートのリトライの自動化 スタンプシートの実行に失敗した場合はリトライすればいい と言いましたが、簡単なようで実際はこれを徹底するのは難しいです。 そこで、GS2 のスタンプシートを発行するマイクロサービスは《スタンプシートの自動実行》というオプションを持っています。 このオプションを有効化すると、何らかの理由でリトライが必要な状況になった場合サーバーサイドで自動的にリトライが行われます。 《消費アクションで消費するアイテムの残量が足りない》というようなリトライで解決しない場合は、リトライが行われないことがあります。 複数の入手アクション 重複実行防止の仕組みがあれば、複数の入手アクションがあってもいいのではないかと思われるかもしれません。それは基本的に正しいです。 しかし、気をつけなければならないのは、重複実行防止のためのレスポンス内容の保持期間は無期限ではないということです。 レスポンス内容の保持期間をすぎると、再度過去に発行されたスタンプシートを実行できるようになってしまいます。 この場合も消費アクションの実行は必要となりますが、消費アクションを実行したとしても再度実行されること自体が望ましくないケースもあります。 このような問題に対処するため、スタンプシートの実行が終わった時にスタンプシート自体を無効化するプロセスを組み込むことで、レスポンス内容の保持期間を過ぎたとしても再度実行することはできないようにしています。 ここで《入手アクション》が複数あると、いつスタンプシートを無効化するべきかが難しくなってしまいます。 そのため、スタンプシートでは《入手アクション》は1つしか設定できないように設計されています。 しかし、現実問題としてゲームを作っていく上で、入手アクションが常に1つで済むわけではありません。 最も一般的なゲームサイクルを構成するクエスト機能ですら、《経験値の付与》と《ドロップアイテムの入手》という2つの入手アクションが同時に発生します。 そのようなケースに対応するために、GS2 ではジョブキューを利用しています。 ジョブキューはプレイヤーごとに用意される遅延実行用のキューです。 スタンプシートに《入手アクション》を設定したい状況では、《ジョブキューに入手アクションを実行するジョブを複数登録する》という1つの《入手アクション》を設定します。 このプロセスは自動化されており、クエストのマスターデータで報酬を設定する際には複数の《入手アクション》が設定できるようになっています。 そして、スタンプシートを発行する際にこれを《入手アクションを実行するジョブを複数登録する》という形に変形してスタンプシートを発行しています。 スタンプシートの実行は非同期処理 これまでの説明でわかったように、スタンプシートの完了を待つのは非常に困難です。 GS2 は多数のマイクロサービスを提供していますが、その1つが停止したとしてもサービス全体が停止しないように設計されています。 しかし、障害が発生した段階でスタンプシートやジョブキューの実行が滞り、結果の反映がすぐに完了することは保証されていないためです。 一方で、障害が復旧した際には皆さんは何もしなくてもスタンプシートやジョブキューのリトライによって処理は流れ始め、やがて正常化されます。 これまでの開発スタイルと異なるため困惑するかもしれません。 しかし、部分的なマイクロサービスの障害によって一時的に不整合な状況が発生したとしても、何も考えなくても障害復旧後にいずれ正常化されるという全体的なメリットをとって GS2 ではこのような設計を採用しています。 スタンプシート発行時のパラメータ設定 各サービスへのリクエストには、どのユーザーのリソースを操作するかという情報が必要ですが、 ゲーム内ストアやクエストのマスターデータに、あらかじめユーザーIDを静的に指定することができません。 そのためスタンプシートのリクエストに変数を埋め込むことができます。 マスターデータのアクションのリクエストに、#{userId} というプレースホルダー文字列を設定すると、 その部分はスタンプシートを発行する際にスタンプシートの発行をおこなったユーザーのユーザーIDに置換されます。 Config スタンプシートの発行リクエストには Config(EzConfig)というパラメータが渡せるようになっています。 Config(EzConfig) はキー・バリュー形式で、渡したパラメータで #{Config で指定したキー値} のプレースホルダー文字列を置換することができます。 ウォレットに残高を加算するスタンプシートの例 { \"name\": \"currency-120-jpy\", \"metadata\": \"price: 120 currencyCount: 50\", \"consumeActions\": [ { \"action\": \"Gs2Money:RecordReceipt\", \"request\": \"{\\\"namespaceName\\\": \\\"money-0001\\\", \\\"contentsId\\\": \\\"io.gs2.sample.currency120\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"receipt\\\": \\\"#{receipt}\\\"}\" } ], \"acquireActions\": [ { \"action\": \"Gs2Money:DepositByUserId\", \"request\": \"{\\\"namespaceName\\\": \\\"money-0001\\\", \\\"userId\\\": \\\"#{userId}\\\", \\\"slot\\\": \\\"#{slot}\\\", \\\"price\\\": 120, \\\"count\\\": 50}\" } ] } Unity から Config の値を設定する例 var result = await gs2.Showcase.Namespace( namespaceName: \"namespace-0001\" ).Me( gameSession: GameSession ).Showcase( showcaseName: \"showcase-0001\" ).BuyAsync( displayItemId: \"display-item-0001\", quantity: 1, config: new [] { new EzConfig { Key = \"slot\", Value = Slot.ToString(), }, new EzConfig { Key = \"receipt\", Value = receipt, }, } ); スタンプシートの《消費アクション》の実行結果 アクションのリクエストの記述内容に、例として %{Gs2Money:WithdrawByUserId.price} というプレースホルダー文字列を設定すると、 その部分は《消費アクション》の実行結果に置換され、変数として利用することができます。 例に示したケースでは、実行した《消費アクション》のうち Gs2Money:WithdrawByUserId の実行結果を参照し、戻り値の price を値として使用します。 子要素を参照する場合は %{Gs2Money:WithdrawByUserId.item.paid} のようにドットで繋ぐことで参照できます。 同一のアクションが《消費アクション》として複数登録されている場合に採用される値は不定です。","lang":"ja","section":"articles","summary":"Game Server Services のトランザクションシステムである スタンプシート の解説","title":"スタンプシート","url":"/ja/articles/tech/stamp_sheet/"},{"content":"セキュリティ要件には大きく3つのカテゴリがあります。 ゲーム実行ファイルの改竄 ゲーム実行中のメモリの改竄 ユーザーデータの改竄 ゲーム実行ファイルの改竄 とある武器の攻撃力が本来10であるべき箇所を不正行為によって9999に改竄するような攻撃です。 Android では apk ファイルを逆アセンブルして、ゲームデータを改竄して再パッケージした apk ファイルを作成することでこのような攻撃化が可能です。 GS2 ではこの攻撃に対するサポートはありません。 ゲームバイナリが改竄されていないかを検知するソリューションの導入によってこのような問題に対処する必要があります。 ゲーム実行中のメモリの改竄 実行時にメモリの情報を書き換えるなどして、不正に敵の体力を減らしたり クエストクリア判定に使用するフラグの値を書き換えて、失敗したはずなのにクリアしたシーケンスに入れる攻撃が該当します。 GS2 ではこの攻撃に対するサポートはありません。 ゲーム実行時にメモリの値が不正に改竄されていないかを検知するソリューションの導入によってこのような問題に対処する必要があります。 ユーザーデータの改竄 アイテムを所持している数量を改竄するような攻撃が該当します。 GS2 では、アイテムの所持数量などのユーザーデータ（セーブデータ）をサーバーサイドで管理し その増減をAPI経由で行えるようになっています。 とくにアイテムの増加のようなプレイヤーにとってメリットのあるユーザーデータ操作は、GS2が提供するマイクロサービスの副作用によってしか操作できないように設計されています。 たとえば GS2-Showcase で商品を購入した時にアイテムの所持数量を増やす GS2-Quest でクエストをクリアした時にアイテムの所持数量を増やす というような処理を通じてのみアイテムの所持数量を増やすことが可能です。 GS2-Showcase でアイテムを購入するということは、ゲーム内通貨を消費するなどの何らかの対価を支払う必要があり、 GS2-Quest でクエストを開始するためには、スタミナを消費するなどの何らかの対価を支払う必要があります。 このような設計にすることで、無制限にアイテムを増やす行為を行えなくしています。","lang":"ja","section":"articles","summary":"GS2 のセキュリティに対する考え方について","title":"セキュリティ","url":"/ja/articles/security/"},{"content":"","lang":"ja","section":"get_start","summary":"Game Server Services でアカウントを作成してログインするまでを実装してみましょう\n","title":"チュートリアル","url":"/ja/get_start/tutorial/"},{"content":"GS2 が提供するマイクロサービスには概ねネームスペース設定に TransactionSetting というフィールドが存在します。 TransactionSetting は以下の構造を持ちます。  enableAutoRun bool  false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true  false トランザクションの実行をアトミックにコミットするか enableAutoRun が true であれば 必須 transactionUseDistributor bool {enableAtomicCommit} == true  false トランザクションを非同期処理で実行する enableAtomicCommit が true であれば 必須 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true  false スクリプトの結果コミット処理を非同期処理で実行するか transactionUseDistributor が true であれば 必須 acquireActionUseJobQueue bool {enableAtomicCommit} == true  false 入手アクションを実行する際に GS2-JobQueue を使用するか enableAtomicCommit が true であれば 必須 distributorNamespaceId string  “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース queueNamespaceId string  “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース フィールドが多く、その用途も複雑ですのでこちらのドキュメントで詳細を説明します。 フィールドの解説 enableAutoRun 発行したトランザクションを自動実行するかを設定します。 ここで false にする理由は今や殆どありません。 かつて GS2 ではトランザクションを自動実行する仕組みがなく、発行されたトランザクションを手動で各マイクロサービスにリクエストして処理するのが主たるトランザクションの実行方法でしたが、今となってはトランザクションが途中で失敗した時のエラーハンドリングを複雑にするだけです。 enableAtomicCommit GS2 のトランザクションシステムの歴史の中でも比較的後発な機能がこの AtomicCommit 機能です。 AtomicCommit 機能がないころには発行されたトランザクションは非同期処理で実行されるもので、例えば GS2-Showcase で商品を購入するAPIを呼び出した段階では購入処理は完了しておらず、非同期処理で実行されるトランザクションの結果が返ってきて初めてトランザクションが成功したのか、失敗したのかがわかりました。 このような設計の課題は、トランザクションの実行過程でエラーが発生した時にありました。 消費アクションに成功した後、入手アクションの実行に失敗したとして、それがリトライする価値のあるサーバーエラーだった場合は、自動的にリトライされてトランザクションを完了するようにサーバーサイドで努力するのが自動実行の仕組みです。 しかし、入手アクションが所持数量オーバーであったり、消費アクションが複数設定されているうちの1つがリソース不足だったりして、リトライしても意味がない状況になるとその段階でトランザクションは失敗になりますが、成功してしまった消費アクションは実行されたままになることがありました。 このような問題を解決するために用意されたのが AtomicCommit で、GS2-Showcase の商品を購入するAPIの応答を返す前に消費アクションや入手アクションを実行し、すべてが成功したら結果をデータベースに反映するような挙動をするようになります。 この設定をすることで、トランザクションが中途半端な状態で実行されてしまう問題を回避することができます。 そのため、新しく GS2 を利用したゲームを開発する際には AtomicCommit を有効にして開発を進めることを強く推奨しています。 ただし、AtomicCommit は万能ではなく、消費アクションや入手アクションを同時に実行するためアクションないで同一のリソースに対して更新処理を行おうとするとエラーになります。 そのようなトランザクションを実行する際には AtomicCommit を有効にできない点に注意が必要です。 また、AtomicCommit を有効にすると、その効力はトランザクションの実行だけでなく、そのAPIで実行される事前スクリプトにも処理が適用されます。 例えば、商品購入時のスクリプトを設定している場合、そのスクリプトでGS2のAPIを呼び出してデータを書き換える処理や、スクリプトが発行したトランザクションも GS2-Showcase の商品購入APIが成功した時に結果が反映されるようになります。 transactionUseDistributor enableAtomicCommit を有効にした状態で利用できるオプションです。 トランザクションの実行を非同期処理で行うようにする設定です。この設定をすることで、消費アクションと入手アクションは AtomicCommit として処理されますが、その完了を待たずに GS2-Showcase の商品購入API は応答を返します。 トランザクションの結果を待つ必要がない時に有効化したり、商品購入時のスクリプトで書き換える内容と、トランザクションで書き換える内容が衝突する場合は有効化するような用途を想定しています。 commitScriptResultInUseDistributor transactionUseDistributor を有効にした時に利用できるオプションです。 事前スクリプトによって書き換えられる処理も非同期処理で実行される消費アクションと入手アクションのトランザクションに含めることができます。 これによって、スクリプトの実行結果だけが反映されることを防ぎつつ、トランザクションの実行を非同期処理にすることが可能となります。 acquireActionUseJobQueue enableAtomicCommit を有効にした状態で利用できるオプションです。 発行するトランザクションの入手アクションを GS2-JobQueue へのジョブ登録化し、非同期処理で入手アクションを実行するように設定ができます。 この設定によって、消費アクションと入手アクションが競合する場合や、複数設定された入手アクション間で競合する場合に問題を回避することが可能となります。 distributorNamespaceId トランザクションを自動実行する際に使用する GS2-Distributor のネームスペースを設定します。 queueNamespaceId トランザクションの入手アクションをジョブキュー経由で実行する際に使用する GS2-JobQueue のネームスペースを設定します。 どのトランザクションシステムを利用するべきか判断するフローチャート graph TD Start --\u003e 1st[\"enableAutoRun = true, enableAtomicCommit = true\"] 1st --\u003e Async{\"トランザクションの実行結果を ゲームで使用する必要があるか\"} Async -- 待つ必要がない --\u003e UseDistributor2[\"transactionUseDistributor = true\"] Async -- 待つ必要がある --\u003e Conflict{\"競合エラーが発生するか\"} Conflict -- 競合していない --\u003e End Conflict -- 競合した--\u003e 2nd{\"競合している内容を調査\"} 2nd -- 競合しているのが スクリプトと トランザクション --\u003e UseDistributor[\"transactionUseDistributor = true\"] 2nd -- トランザクションの 消費アクション同士 --\u003e NotAtomicCommit[\"enableAtomicCommit = false\"] 2nd -- トランザクションの 消費アクションと 入手アクション ----\u003e UseJobQueue[\"acquireActionUseJobQueue = true\"] 2nd -- トランザクションの 入手アクション同士 --\u003e UseJobQueue UseDistributor2 --\u003e 3rd{\"事前スクリプトを 設定しているか\"} 3rd -- 設定していない --\u003e Conflict 3rd -- 設定している --\u003e UseScript{\"スクリプトの結果もトランザクションと 一緒に反映して欲しいか\"} UseScript -- しなくてよい --\u003e Conflict UseScript -- してほしい --\u003e CommitScriptResultInUseDistributor[\"commitScriptResultInUseDistributor = true\"] CommitScriptResultInUseDistributor --\u003e Conflict NotAtomicCommit --\u003e End UseJobQueue --\u003e End","lang":"ja","section":"articles","summary":"Game Server Services のトランザクション設定の設計方針","title":"トランザクション設定","url":"/ja/articles/tech/transaction/"},{"content":"GS2 にはプロジェクトの管理のために、マネージメントコンソールからログイン可能なアカウントを複数用意することが可能です。 ログインに使用するユーザーの作成 まず、GS2-Identifier にログインユーザーごとに User を追加します。 ユーザー名を入力し、ユーザーを作成します。 ユーザーに権限を設定 ユーザーに適切な権限を設定します。 セキュリティポリシーの詳細については アクセス制御 を参照してください。 ユーザーにパスワードを設定 作成したユーザーを選択します。 Password タブを選択します。 パスワードを作成します。 ログインURLを確認 Password タブ内の情報にこのユーザーとしてマネージメントコンソールにログインするためのURLが記載されています。","lang":"ja","section":"articles","summary":"1つのプロジェクトを複数人で管理する方法\n","title":"プロジェクトの共有","url":"/ja/articles/project/share/"},{"content":"Game Server Services はゲーム内の機能を実現するために多数のマイクロサービスを提供しています。 ゲームの仕様に合わせてこれから紹介するマイクロサービスを組み合わせて実装することになります。 このセクションでは、ゲーム開発者がゲームの企画を検討する上で、GS2 の各マイクロサービスで何が出来るかにフォーカスして解説します。 マイクロサービスの組み合わせ方 GS2 のマイクロサービスは、それぞれが独立した責務を持ちながら、トランザクションアクションを介して連携します。 たとえば次のような連携で、複雑なゲームロジックを安全に実現できます。 graph LR Player[プレイヤー] -- 課金 --\u003e Platform[AppStore/GooglePlay] Showcase[GS2-Showcase] -- 商品一覧 --\u003e Player Player -- 購入(レシート付) --\u003e Showcase Showcase -- トランザクション発行 --\u003e Distributor[GS2-Distributor] Distributor -- 消費アクション(レシート検証) --\u003e Money Distributor -- 入手アクション(アイテム入手) --\u003e Inventory 各サービスが「検証アクション」「消費アクション」「入手アクション」と呼ばれるトランザクションアクションを公開しており、 これらを GS2-Distributor を介して連結することで、複数サービスにまたがる処理を 原子性 を保ったまま実行できます。 学習の進め方 はじめて GS2 を利用する場合は、まず GS2-Account を理解することをおすすめします。 匿名アカウントの考え方は GS2 のあらゆるサービスの前提となります。 次に、ゲームに必要な機能カテゴリのページを順に読み進めることで、ゲーム全体のシステム設計に必要なサービスの選び方が把握できます。","lang":"ja","section":"microservices","summary":"Game Server Services が提供するマイクロサービスの紹介\n","title":"マイクロサービス紹介","url":"/ja/microservices/"},{"content":"ここでは、長期運営型ゲームを設計するにあたって必要なマインドチェンジについて説明したいと思います。 特に私が欧米のゲーム開発者と話をしていて感じた長期運営型ゲームのマネタイズ設計で誤解だと感じた部分を中心に説明します。 プレイヤーは時間を買う 一番大切なことを一番最初に説明しましょう。 長期運営型ゲームのマネタイズは基本的に「時間」を買っています。 配信開始日に「ゲームをクリアまで遊ぼうと思ったのにスタミナが足りなくて課金を要求された。なんて酷いゲームだ」という意見をよく耳にします。 しかし、それは当然のことです。長期運営型ゲームは1日に15分〜30分、毎日遊んでもらいたいのです。1日でクリアできるゲームは1週間後には遊ぶものがなくてアンインストールされてしまいます。 あなたがゲーム開発者なら、10時間分のコンテンツを3ヶ月で作るというのがどれほど難しいのか理解しているはずです。 しかし、プレイヤーからすると3ヶ月も待たされたら普通は忘れてしまいます。なので制限をつけてプレイヤーを待たせる時間をできるだけ短くするのです。 一方で、毎日遊んでも先頭に追いつけないのはやりすぎです。 新規プレイヤーでも1〜3ヶ月遊べば先頭に追いつけて、エンドコンテンツにチャレンジできるようにするのがいいでしょう。 さて、ここでビジネスの話が出てきます。 月額サブスクリプションゲームであればここまでの原則にしたがってサービスを提供すればいいでしょう。 しかし、F2P スタイルで提供する場合は別の視点が必要です。 ローンチ時に3ヶ月間遊べるコンテンツを用意したとしても、世の中にはそのコンテンツをお金を払ってでも3日に短縮したいプレイヤーがいます。 そういうプレイヤーはほぼ確実に3ヶ月後には居なくなっていますが、3日間の間に一般的なライフタイムバリュー以上の支出をしてくれるならそれを許してもいいのではないでしょうか。 長期運営型ゲームのマネタイズはこのポイントを押さえつつ設計するようにしましょう。 ガチャは無料で回せる 日本式スマホゲームで最も誤解されている要素が「ガチャ」です。 「ガチャがあることで、欲しいものを手に入れるためにいくらかかるのかわからない」 これはある意味であっていますが、ある意味では間違えています。 ここで大切なのは「欲しいもの」というのはゲームを遊ぶ上で必須ではないということです。 日本でも毎月・毎週のようにあたらしいキャラクターが追加されますが、その全てを持っているプレイヤーは限りなく少ないです。 それでもゲームは十分遊べるのです。 日本式スマホゲームでは、ことあるごとにガチャを無料で回させてくれます。 それはクエストの初回クリア報酬かもしれないし、デイリーミッションかもしれないし、イベント報酬かもしれないし、メンテナンスでゲームプレイを中断したお詫びかもしれません。 とにかく継続してプレイしているだけで、毎月 $100 相当は確実に運営から払い出されます。 それでゲームを遊ぶためには十分なキャラクターを入手できます。 また、入手の難しいキャラクターは最大パラメーターは高いかもしれませんが、成長させるのも難しいように設計されています。 「実は入手の容易なキャラクターをしっかり育てた方が強い」ということもよくある話です。 対戦は重要ではない。むしろ悪かもしれない エンドコンテンツで一番プレイヤーを長く惹きつける要素として真っ先に思いつくのが PvP 要素でしょう。 しかし、日本では PvP 要素がある長期運営型ゲームは珍しいです。 なぜなら、PvP は弱いプレイヤーをゲームから弾き飛ばすメカニズムになりかねないからです。 エンドコンテンツは長く遊んでもらうための仕組みであるべきであり、その仕組みのせいで離脱するプレイヤーが出ては意味がありません。 PvP は参加者の大半が負けて気分を害することを忘れてはなりません。バトルロイヤルゲームでは、最後まで生き残ったプレイヤーは最高の喜びを得ますが、それ以外の多くのプレイヤーは机を叩き割りたいと思うこともあるでしょう。 冷静になって考えてみてください。あなたは机を叩き割ってでもそのゲームを何年も続けたいでしょうか？ 楽しくのんびり長く遊べるゲームを求めているプレイヤーが大勢いて、そういったプレイヤーのためのゲームにした方が長期運営には向いています。","lang":"ja","section":"design_knowledge","summary":"長期運営型ゲームのマネタイズを設計するために、開発者は多くのマインドチェンジが必要です","title":"長期運営型ゲームのマネタイズを実現するために、あなたがまずマインドチェンジしなければならないこと","url":"/ja/design_knowledge/change_your_mind/"},{"content":"用語の定義 用語 意味 モデルマスター マスターデータエディタが一時的に登録する ゲームプレイヤーごとに変わらないデータ モデル ゲーム内から使用する ゲームプレイヤーごとに変わらないデータ プロパティ モデルをもとに作成したゲームプレイヤーごとに異なるデータ ゲームを構成する要素には、所持アイテムのパラメータやクエストの構成データなど、 ゲームプレイヤーごとには変わらないデータがあります。 このようなデータをGS2では モデル と呼んでいます。 そして、モデルをもとにゲームプレイヤーの所持するデータになったものを プロパティ と呼んでいます。 一般的なマスターデータは GS2 においては モデル にあたり、GS2 においては モデルマスター という概念が存在します。 モデル / モデルマスター の違いは、データの内容は同一ですが、実際にゲームからアクセスされる状態にあるかどうか、という違いがあります。 graph TD subgraph \"管理用データ\" Master[モデルマスター] end subgraph \"実行用データ\" Model[モデル] end subgraph \"プレイヤーデータ\" Property[プロパティ] end Master -- \"エクスポート/反映 (Current)\" --\u003e Model Model -- \"インスタンス化\" --\u003e Property GS2 の管理画面上で編集できるデータは モデルマスター で、それを実際にゲーム内から使用できる状態に変換すると モデル に変わります。 この変換の工程が必要な理由は、 モデルマスター に対する変更を一括してゲーム内に反映するためです。 この工程がない場合、管理画面でデータを更新していく過程で、途中のデータがゲーム内に反映されてしまうことになります。 マスターデータの作成 この変換工程は、すべての モデルマスター を一旦 JSON 形式のファイルにエクスポートし、そのJSONファイルをアップロードすることで一括して モデル として反映する仕組みになっています。 GS2 の管理画面で モデルマスター を操作して JSON 形式のファイルにエクスポートして利用しても構いませんが、Excel や独自の管理ツールを作成し GS2 上に モデルマスター を一切登録せずに モデル にデータを反映することもできます。 また、GS2-Deploy のテンプレート内でマスターデータを管理することもできます。この場合 git などの バージョン管理ツール で取り扱いやすくなりますので、こちらも検討してみてください。 運営上都合の良い方法でマスターデータを管理してください。 マスターデータの固定化 プレイヤーがログイン中にマスターデータを更新した時に不整合を起こさないように、プレイヤーが使用するマスターデータをある日時時点の内容で固定化する仕組みが用意されています。 gs2 = await gs2.Distributor.Namespace( \"namespace-0001\" ).Me( _gameSession ).FreezeMasterDataAsync(); このように、GS2-Distributor の FreezeMasterData を呼び出すことで、このAPIを呼び出した時点でのマスターデータの内容で以降のAPIを処理することが可能です。 ただし、固定可能なのは30日間以内かつ各マイクロサービスのマスターデータで10世代前までの内容となります。 この制限を超えると最新のマスターデータを使用するようになります。 WebSocketSession の連続接続可能時間は2時間ですので、WebSocketSession の OnDisconnect が呼び出された時に再接続処理を行う際に再固定化することを推奨します。 再固定化するにあたって、マスターデータの更新がないかを GS2-Version などで確認し、更新がある場合はタイトル画面に戻すといった対応も検討してください。 Tip GS2-Version でマスターデータの更新判定について推奨される実装 マスターデータバージョンをマスターデータ更新時点での YYYY.MMDD.HHMM 形式で VersionModel に warningVersion として登録します。 クライアントは WebSocketSession 再接続時にマスターデータの固定化時点での日時でバージョンチェックを実行します。 もし、警告に引っかかった場合はマスターデータの更新があるということになりますので、タイトルに戻るなどして整合性を保ちつつ現在時刻で再固定化し直すようにします。","lang":"ja","section":"articles","summary":"GS2 のマイクロサービスに設定するマスターデータの一般的な仕様について\n","title":"マスターデータの管理","url":"/ja/articles/master_data/"},{"content":"認証情報を追加する プロジェクトに クレデンシャル(認証情報） を追加します。 アプリケーションはクレデンシャルに含まれるクライアントID、クライアントシークレットの情報を使って GS2-Identifier認証 を行うことで、各種APIへのアクセスが可能となります。 認証は GS2-Identifier ユーザー単位で行います。 GS2-Identifier ユーザーはGS2のサービス利用に関する権限の定義を持っています。 ここではアプリケーション向けのアクセス権限を持つユーザーの追加を行います。 ユーザーを作成 マネージメント コンソールのサイドメニューからIdentifierを選択し、Usersをクリックします。 『Identifier \u003e ユーザー一覧』ページが開きます。右側のユーザーの新規作成を選択します。 『Identifier \u003e ユーザー一覧 \u003e ユーザーの新規作成』ページが開きます。ユーザー名と説明文の項目を適宜入力し、作成をクリックします。（例：ユーザー名:Application 等） クレデンシャル(APIキー)を作成 『Identifier \u003e ユーザー一覧』ページで、今作成したユーザーを選択します。 『Identifier \u003e ユーザー一覧 \u003e ユーザー情報』ページで、ユーザーにクレデンシャルを追加します。クレデンシャルタブでクレデンシャルの新規作成をクリックします。 『Identifier \u003e ユーザー一覧 \u003e ユーザー情報 \u003e クレデンシャル \u003e クレデンシャルの新規作成』ページで作成をクリックすると、Client IdとClient Secretが発行されます。 発行されたクライアントIDとクライアントシークレットはお手元に保存してください。 ユーザーに権限を設定 新規作成したユーザーにセキュリティポリシーを割り当てます。 ここでは標準的なアプリケーションのアクセスポリシーとして定義済みの、ApplicationAccess というセキュリティーポリシーを割り当てます。 『Identifier \u003e ユーザー一覧 \u003e ユーザー情報』ページのセキュリティポリシータブでセキュリティポリシー名ApplicationAccessの割り当てボタンをクリックします。 これでアプリケーションがGS2のプロジェクトにアクセスするための準備ができました。","lang":"ja","section":"get_start","summary":"マネージメントコンソール(Web UI)を使用した作成手順\n","title":"マネージメントコンソール","url":"/ja/get_start/tutorial/setup_credential/ui/"},{"content":"開発者がまずマネージメントコンソールでやるべきことは、ネームスペースの作成とマスターデータの登録です。 これらはマネージメントコンソール上で作成が可能です。 リージョンの選択 サイドメニューの下方にリージョンメニューがあります。 ここからマイクロサービスを操作するリージョンを選択できます。 ネームスペースの作成 マネージメントコンソールにログインし、マイクロサービスを選択します。 ネームスペースの一覧が表示されたら、ネームスペースを新規作成します。 設定項目に値を入力し、確定すればネームスペースの作成は完了です。 マスターデータの登録 マイクロサービスによっては、機能を利用する前にマスターデータの登録が必要な場合があります。 マスターデータの登録が必要なマイクロサービスには、ネームスペースの詳細ページに「マスターデータ」というタブがあります。 タブを選択すると「Currently available master data could not be found」というようなエラーが表示され、まだマスターデータが登録されていないことがわかります。 マスターデータエディターの利用 マスターデータを作成するには マスターデータエディタ が利用できます。 ネームスペースの詳細ページに「マスターデータエディタ」というタブがありますので、それを選択します。 このスクリーンショットは GS2-Inventory の例です。 マスターデータの作成について説明するために、GS2-Inventory がどのようなマスターデータを必要とするのか説明しましょう。 class InventoryModel { +string 名前 +int 初期サイズ +int 最大サイズ } class ItemModel { +string 名前 +int スタック可能な最大数量 +bool スタック可能な最大数量を超えた時、複数枠にアイテムを保管することを許すか +int 表示順番 } Namespace \"1\" *-- \"many\" InventoryModel InventoryModel \"1\" *-- \"many\" ItemModel GS2-Inventory には容量制限のある Inventory と、Inventory に格納できる Item の定義が必要です。 Inventory には初期容量と最大容量。Item には1容量で最大いくつのアイテムをスタックできるか、アイテムの所持数量がスタックできる最大数に達した時、2スタック目を作成するかを設定します。 Inventory Model の作成 まずはマスターデータエディタを使って Inventory Model を作成しましょう。 各項目に値を入力して作成ボタンを押します。 Inventory Model のリストに追加されたら、作成した Inventory Model を選択して詳細ページを開きます。 Item Model の作成 Inventory Model の詳細ページを開くと、次は Item Model を作成するメニューがあります。 選択して、Item Model を作成します。 各項目に値を入力して作成ボタンを押します。 マスターデータのエクスポート 登録終わったら、マスターデータをエクスポートします。ネームスペースの詳細ページに戻って、マスターデータエディタ タブを選択してください。 タブペインの上部にある エクスポート ボタンを押します。 マスターデータのJSONファイルが書き出されます。 マスターデータはこのようなJSONファイルで管理されます。 そのため、必ずしもマネージメントコンソールのマスターデータエディタを使用しなくても、スプレッドシートで管理しているマスターデータをエクスポートするプログラムを用意しても問題ありません。 マスターデータのJSONフォーマットは各マイクロサービスのプログラミングガイドに詳細の記載があります。 マスターデータの反映 さきほどマスターデータの登録が無いエラーが発生していた「マスターデータ」タブを再び選択します。 マスターデータをアップロードするためのメニューを選択します。 エクスポートしたJSONファイルを選択してアップロードします。 マスターデータが表示されたら反映は完了です。 マスターデータの登録が必要なマイクロサービスは全てこの方法でマスターデータを登録・更新できます。","lang":"ja","section":"overview","summary":"マネージメントコンソールを使用してマイクロサービスにリソースを作成する\n","title":"マネージメントコンソールを使用したセットアップ","url":"/ja/overview/workflow/setup_gs2_resources/manual_setup/"},{"content":"日本では10年以上、欧米ではここ数年の間に運営型ゲームが一般的になりました、あるいは一般的になりつつあります。 運営型ゲームを実現する上では、メインゲームの面白さはもちろんですが、それを長期にわたって支えるメタゲームの存在が不可欠となります。 このセクションでは、メタゲームの考え方について解説することで、開発者がよりよいゲームデザインに一歩近づけることを支援したいと思います。 メインゲーム メインゲームはゲームの中核となる遊びです。 バトルロワイヤルゲームであれば、広大な戦場に100人が降り立って、最後の1人に戦うゲーム部分になりますし、 RPG であれば、敵とのバトルやシナリオの進行がメインゲームにあたります。 問題は、これだけでは長期運営型ゲームを成立させることは不可能に近いことです。 世の中にはメインゲームの面白さだけで何年にもわたってプレイヤーを虜にするゲームも存在しますが、そのようなゲームは稀有です。 メタゲーム メタゲームはそんなミラクルに任せるのではなく、開発者の努力によって長期間プレイヤーを虜にするためのゲームサイクルです。 欧米のゲームではメタゲームに取り組んでいるタイトルは少なく、一方でアジア圏のゲームでは当然のように行われています。 このような地域差がある前提で、今回はアジア圏でどのようなメタゲームを提供しているのか、その背景にはどのような経験があるのかについて解説します。 メタゲームの存在理由 メタゲームを用意する理由はいくつかありますが、以下の点が特に重要です。 ゲームの開発速度とプレイ速度のギャップを埋める プレイヤーを疲れさせない ゲームの開発速度とプレイ速度のギャップを埋める みなさんが毎日頑張って数年かけて開発したゲームが、プレイヤーによって10時間程度でクリアされてしまう現実を何度も目の当たりにしてきたことでしょう。 運営型ゲームを実現するにはこのギャップを埋める必要があります。 なぜなら、毎月何らかの変化をゲームにもたらさなければ、プレイヤーは飽きてしまいます。 しかし、開発速度は消費速度より明らかに時間がかかるのです。 メインゲームを繰り返し遊ぶだけでプレイヤーが満足して数年遊んでくれるのであればこんなことは考えなくていいですが、すでに述べたようにそのようなゲームを生み出せる確率は本当に低いです。 そこで開発者の工数は少なく、プレイヤーの工数は多くなるゲームサイクルとしてメタゲームを必要とします。 プレイヤーを疲れさせない プレイヤーに毎日少しでも遊んでもらうことは、ゲームを長期間運営するためには重要です。 なぜなら、一度プレイヤーがゲームを起動しなくなると、再度ゲームを起動してもらうために払うことになる労力は凄まじく高くなるためです。 メインゲームを遊ぶには最低20分間、本気で取り組まなければならないようなゲームサイクルの場合、毎日遊んでもらうことは徐々に難しくなってきます。 プレイヤーが疲れてきてしまうためです。 メタゲームには「毎日5分でいいから、とりあえず起動してくれ！」 というメッセージを込めることができます。 これによって、プレイヤーは毎日5分だけ起動してくれるようになれば、アップデートやシーズンイベントの告知〜メインゲーム復帰 がゲーム内でスムーズに行えるようになります。 メタゲームの定義 「メインゲームで使用するキャラクターを育成する」「メインゲームの広大なフィールドの中からビューポイントを探索する」など、メインゲームの外側で遊びの体験を提供するのがメタゲームです。 このような遊びは、基本的に目標を立ててから実際にそれを完遂するまでに、数週間〜数ヶ月を要するような非常に長いゲームサイクルになるよう設計します。 忘れてはならないのは、すでに説明したメタゲームの存在理由を満たすデザインとしてゲーム内に組み込みます。 メタゲームの生い立ち さて、メタゲームサイクルを理解するためには 日本・北米/欧州・中国/韓国 3地域はそれぞれ異なる過程を経て現在のスタンダードとなるゲームを形成してきた歴史を理解する必要があります。 flowchart TD PCGame[\"PCゲーム\"] subgraph 北米/欧州 PCGame --\u003e USAmusumentMachine[\"アミューズメントマシン\"] USAmusumentMachine --\u003e USConsoleGame[\"家庭用ゲーム\"] end subgraph 日本 PCGame --\u003e JPAmusumentMachine[\"ゲームセンター\"] JPAmusumentMachine --\u003e JPConsoleGame[\"家庭用ゲーム\"] JPConsoleGame --\u003e JPSocialGame[\"ソーシャルゲーム\"] JPSocialGame --\u003e JPSmartPhoneGame[\"スマートフォンゲーム\"] end subgraph 中国/韓国 PCGame --\u003e ASIAPCMMORPG[\"PC MMO RPG\"] ASIAPCMMORPG --\u003e ASIASmartPhoneGame[\"スマートフォンゲーム\"] end class JPSocialGame emphasis class ASIAPCMMORPG emphasis 図で示したような流れでそれぞれの地域のスタンダードゲームは醸成されてきました。 中でも、赤い箱で示した部分が Game as a Service を意識して開発された部分です。 つまり、日本や中国・韓国を中心としたアジア地域では長らく運営型ゲームについて考える機会があり、そのためのナレッジの蓄積があります。 その成果物として出てきているのが メタゲーム というゲームサイクルです。 日本のソーシャルゲームで培われたマネタイズ Facebookゲームを覚えていますか？おそらく、多くの地域の人にとって「ああ、そんなのあったね」と過去のものになっているでしょう。 しかし、Facebookゲームが与えたゲーム業界への影響は大きく、特に日本でその影響が顕著でした。 日本では Facebookゲーム を見て、mixi / mobage / GREE といった日本のソーシャルネットワークサービスもゲームに取り組んできました。 中でも、mobage / GREE の成長は凄まじく、一時期日本のテレビは彼らのCMで占拠されていたような時期がありました。 その源泉となったのが F2P でユーザー数を拡大し、携帯電話のブラウザという乏しい表現力でいかにプレイヤーを惹きつけるのか、という無謀とも思えるチャレンジでした。 しかし、当時任天堂で勤務をしていた私にとっても意外なことに、プレイヤーの多くはソーシャルゲームに没頭していきました。 当時の私は理解できていませんでしたが、ここにメタゲームの力があったのは言うまでもありません。 メタゲームの力でエンゲージメントを最大化したソーシャルゲームは、次第にマネタイズに力を入れ始めます。 そこでコナミのドラゴンコレクションによって生まれたのが「デジタルガチャ」です。 ガチャで入手したキャラクターをメタゲームで育成し、メインゲームを攻略するというゲームサイクルが確立された瞬間でした。 中国の合流と北米・欧州の今後 今、中国はゲーム市場で最も勢いのあるパブリッシャーが多い地域です。 ブラウザで動作するソーシャルゲームが、スマートフォンへの移行にあわせて徐々に表現をリッチに変化させてきた日本式のスマートフォンゲームも幾度となく北米・欧州市場にチャレンジしてきました。 しかし、グラフィックの表現力という観点で家庭用ゲームで目の肥えたプレイヤーに刺さらず、なかなか日本以外の地域で成果が出せていませんでした。 そこに、中国が得意とするMMORPGに日本式のガチャによるマネタイズと周辺のメタゲームサイクルを融合して設計された 原神 が世界中で大ヒット(2020年-2022年 で売上高5000億円以上)しています。 北米・欧州市場の今後を見据えるにあたって、原神の存在無しでは語れません。 日本の開発者にとっては、ブラウザゲーム時代のページ遷移を捨てきれていないUXではなく、原神が実現したシームレスなゲーム体験が非常に参考になるでしょう。 北米/欧州の開発者にとっては、すでに開発を行っているようなリッチなゲーム体験にメタゲームを融合することで、巨大な売り上げを産む長期運営型ゲームに仕立てる仕組みについて参考になるでしょう。 2022-02-11 Kazutomo Niwa","lang":"ja","section":"design_knowledge","summary":"何年にもわたってプレイヤーに満足を提供する運営型ゲームを支えるメタゲームとは","title":"Game as a Service を支えるメタゲームとは","url":"/ja/design_knowledge/what_the_metagame/"},{"content":"GS2 では現在4リージョンでサービスを提供しています。 名前 地域 ap-northeast-1 アジア東部 us-east-1 北米 eu-west-1 ヨーロッパ ap-southeast-1 アジア ゾーン 1つのリージョンは2つのゾーンから構成されています。 名前 配置国・地域 ap-northeast-1 日本・韓国 us-east-1 アメリカ合衆国（バージニア・オレゴン） eu-west-1 アイルランド・ドイツ ap-southeast-1 シンガポール・インド ゾーンは Active / Active で構成されており、ゲームプレイヤーにとって近いゾーンが利用されます。 ゾーン間ではデータベースはリアルタイムで同期されますが、1秒未満の遅延が発生します。 アクセス元が物理的に移動したり、ゾーンが使用不能になる障害が発生すると、自動的にゾーンが切り替わることがあります。 このようなケースでは、「書き込みが完了したはずだが読み込んでみると結果が反映されていない」という瞬間がわずかに発生する可能性があります。 GS2 では Game Engine 用の SDK では SDK レイヤーでサーバーから取得したデータをキャッシュしており、一度データを取得するとサーバーのデータが更新された際には自動的にそのキャッシュも最新の状態に更新します。 このような仕組みを採用することで、ゲームは読み込みリクエストに関して通信時間や費用を気にすることなく高頻度で GS2 SDK の API を呼び出せるように設計しており、ゾーン切り替え時にもベストエフォートで最新の情報がキャッシュに反映されるように設計されています。 ゲーム開発者の皆様はシーンの切り替え時だけでなく、躊躇なく GS2 SDK の読み込みAPIを呼び出してUIに値を反映するようにしていただくことで ゾーン切り替え時の遅延を気にすることなく、UIに最新の値を反映でき、ゲーム開発に専念いただけます。 データセンター 1つのゾーンは3つのデータセンターで構成されます。 データセンターは物理的に別の場所に構成されていますが、距離的には100km未満に配置されています。 データセンターのうち1箇所が使用不能になったとしても、ゾーンの切り替わりは発生せず、残った2つのデータセンターでサービスは継続して稼働します。","lang":"ja","section":"articles","summary":"GS2で利用可能なデータセンターの地域について\n","title":"リージョン","url":"/ja/articles/tech/region/"},{"content":"GS2 の公式 YouTube チャンネルでは、各マイクロサービスの解説動画や、サンプル実装の紹介動画、運用に関する情報などを公開しています。 Game Server Services JP","lang":"ja","section":"articles","summary":"公式 YouTube チャンネルの紹介\n","title":"公式 YouTube チャンネル","url":"/ja/articles/sample/youtube/"},{"content":"ここでは、全てのマイクロサービスに共通する初期化処理について解説します。 初期化処理は for Game Engine とそれ以外で大きく方針が異なります。 原則として、for Game Engine は開発者がより楽をできるようユーティリティクラスが充実しており ユーティリティクラスを用いた初期化処理を行う点が異なります。","lang":"ja","section":"api_reference","summary":"ここでは、全てのマイクロサービスに共通する初期化処理について解説します。\n初期化処理は for Game Engine とそれ以外で大きく方針が異なります。 原則として、for Game Engine は開発者がより楽をできるようユーティリティクラスが充実しており ユーティリティクラスを用いた初期化処理を行う点が異なります。","title":"初期化処理","url":"/ja/api_reference/initialize/"},{"content":"GS2 をより深く理解し、ゲームに組み込む際の設計判断を行うための技術資料を集めたセクションです。 個々の API リファレンスや、各マイクロサービスのマニュアルでは触れられない、横断的な仕組みやベストプラクティスを扱います。 セクション構成 セクション 内容 リージョン GS2 が提供するデータセンターのリージョン・ゾーン構成と、それに伴う一貫性モデル アクセス制御 GS2-Identifier のユーザー・セキュリティポリシーの仕組み スタンプシート GS2 のトランザクションシステムである《スタンプシート》の動作原理 トランザクション設定 ネームスペース設定の TransactionSetting の意味と推奨設定 GS2-Deploy テンプレートファイルの仕様 GS2-Deploy で使用するテンプレートファイルの書式 エラー・例外 API 応答エラーの構造と SDK の例外型、リトライ判断の指針 SDK のキャッシュ機構 SDK が内部に持つキャッシュの仕組みと活用方針 コストの最適化 利用料金を抑えつつパフォーマンスを維持するための設計ポイント 関連セクション マスターデータの管理 : モデル / モデルマスターの違いや、マスターデータの固定化 サービスの制限 : 各マイクロサービスの API 呼び出し頻度に関する制限 セキュリティ : GS2 のセキュリティモデルと、ゲーム側で対処すべき範囲 GS2-Script のユーティリティメソッド : GS2-Script で利用できる Lua の組み込み関数","lang":"ja","section":"articles","summary":"GS2をより深く理解するための技術資料\n","title":"技術資料","url":"/ja/articles/tech/"},{"content":"ゲームの仕様が決まってきたら、どのように実装するかを検討する必要があります。 GS2 ではゲームの様々な仕様を実現するために活用できるマイクロサービスを提供しています。 GS2 が提供するマイクロサービスの種類と、それぞれのマイクロサービスの役割については以下のドキュメントを参考にしてください。 マイクロサービスの紹介 Game Server Services では設計を手助けするための有償サポートを提供しています。 有償サポートを契約することで、ゲームの仕様を GS2 のスタッフが理解し、最適な GS2 のマイクロサービスの適用方法について一緒に検討します。 サポートメニュー","lang":"ja","section":"overview","summary":"GS2 を利用してゲームの仕様を実現するための設計\n","title":"設計","url":"/ja/overview/workflow/architect/"},{"content":"トレンド ながらく日本のスマホゲームはガチャでキャラクターを入手することがマネタイズのトレンドで、ガチャを引くために課金通貨を販売する動線が主流でした。 そのため、ゲーム内のリアルマネーで購入可能な販売アイテムも課金通貨のみ提供するゲームがマジョリティでした。 しかし、近年商品ラインナップを充実させるような販売スタイルが一般的になってきました。 課金通貨は現金価値の転換先としての調整役に 《商品ラインナップの充実》とは具体的にはどのようなものでしょうか？ スタミナ回復アイテム＋課金通貨 育成素材＋課金通貨 SSR確定ガチャチケット＋課金通貨 具体的には上記のようなラインナップが増えています。 このような変化の背景にはプレイヤーによりランダム性の低い即時に効果を発揮するベネフィットを提供する思惑が見えます。 しかも、SSR確定ガチャチケットや、かなりゲームの進行を効率化できる育成素材といったものをバンドルした、お得なパック商品をゲームの進行に合わせて時間限定で販売することで、課金欲を高めつつプレイヤーの満足度を高めています。 ここでミソとなっているのが課金通貨がバンドルに含まれていることです。 スタミナ回復アイテム、育成素材、ガチャチケット いずれもプレイヤーが利用するまで、即時に効果を発揮しない性質のあるアイテムをバンドルしています。 資金決済法の前払い支払い手段では、即時効果を発揮しないゲーム内アイテムは価値の転換をおこない、サービス終了時に返金ができるよう厳密な残高管理や供託を求められます。 しかし、課金通貨の単体販売の横にバンドル販売をして、金額と課金通貨の付与数のバランスを一致させることによって 「スタミナ回復アイテム、育成素材、ガチャチケット といったアイテムはおまけで、金銭的な価値はありません」という建て付けをすることができます。 この建て付けによって、ハンドルするアイテムの効果発揮タイミングについて考慮せず、柔軟にバンドルするアイテムを決めることができるようになりました。 プレイヤーの体感の変化 バンドル販売が増えてくると、課金通貨の見え方が変わってきます。 私個人の経験として、資金決済法の法解釈とは逆に課金通貨がおまけに感じてきます。 欲しいゲーム内アイテムを含むバンドルパックを購入していると、だんだん課金通貨が溜まっていく感覚になります。 「欲しいものを買っていたら課金通貨が溜まってきたので、ガチャを回そう」という気持ちでガチャを回していると、SSRが出なくても心理的なダメージが少なくなった気がします。 これはプレイヤーの満足度の向上・エンゲージメントを長期化する上で、別の効果があるかもしれません。 課金圧 時間限定販売はプレイヤーにとっては課金圧と受け取られます。 出現頻度に注意を払いつつ、実施することが大切です。 ジャムの法則に気をつけよう ここで気をつけなければならないのは「ジャムの法則」というマーケティング理論です。 消費者は選択肢が多くなればなるほど購買意欲が下がってしまうという法則です。 なんでもバンドルできるようになったので、プレイヤーが欲しくなる可能性がある様々なアイテムをバンドルしたパック商品を大量に用意すると逆効果になるかもしれません。 免責事項 この記事で触れた資金決済法の法解釈について GS2 は責任を負いません。 正式な法解釈については顧問弁護士に確認するようにしてください。 2023-10-06 Kazutomo Niwa","lang":"ja","section":"design_knowledge","summary":"2020年以降のマネタイズトレンドについて","title":"近年のマネタイズトレンド","url":"/ja/design_knowledge/japanese_metagame/trends/"},{"content":"モデル EzAccount ゲームプレイヤーアカウント ゲームプレイヤーを識別するID情報のエンティティです。 ゲームプレイヤーアカウントは匿名アカウントであり、ユーザーID(UUID)とパスワード(ランダムな32文字の文字列)で構成されるため、ゲームプレイヤーはメールアドレスなどの情報を入力する必要はありません。 発行されたゲームプレイヤーアカウントは、デバイスのローカルストレージに保存しておき、次回以降ログインに使用します。  userId string  UUID ~ 128文字 ユーザーID password string  ~ 128文字 パスワード アカウントのセキュリティを確保するためのパスワードを格納します。 パスワードは最大128文字の長さを持ち、アカウントの保護に重要な役割を果たします。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzTakeOver 引き継ぎ情報 引き継ぎ情報とは、デバイスの機種変更やプラットフォーム間のアカウントの移動・共有時に使用する情報です。 個人を識別するユニークな文字列とパスワードで構成され、その適切な組み合わせを入力することで、Account(匿名アカウント)を取得することができます。 1つの Account に対して複数の引き継ぎ情報を設定できます。 複数の引き継ぎ情報を設定するにはそれぞれ異なるスロットを指定する必要があります。 スロットには0～1024を指定できますので、最大1025種類の引き継ぎ情報を設定可能です。 具体的な用例としては 0 には Sign in with Apple のアカウント情報を、1 には Google のアカウント情報を保存するようにする。というような使い方が想定されています。 あくまでこの引き継ぎ情報はデータホルダーであり、ソーシャルアカウントとの認証の仕組みは別途用意する必要があります。  userId string  ~ 128文字 ユーザーID type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 userIdentifier string  ~ 1024文字 引き継ぎ用ユーザーID アカウントを引き継ぐ際に使用される個人を識別するためのユニークなキーです。 異なるアカウントで同一の userIdentifier を指定した場合、後で設定した値が優先されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzPlatformId プラットフォームID X、Instagram、Facebook などの各種プラットフォームにおけるIDを保持します。 他のプレイヤーは各種プラットフォームIDを使用して、プレイヤーを検索することができます。 Instagram のフォロワーや、Facebook のフレンドをゲーム内のフレンドとしてインポートする際に、GS2-Account のアカウントを特定するために使用します。  type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 userIdentifier string  ~ 1024文字 各種プラットフォームにおけるユーザーID 外部プラットフォームにおけるユーザーの一意な識別子（例：ソーシャルメディアのユーザーIDやメールアドレス）です。スロット番号（type）と組み合わせて、特定のプラットフォームアカウントを識別するために使用されます。 userId string  ~ 128文字 GS2-Account ユーザーID このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzPlatformUser 各種プラットフォームにおけるユーザー情報 外部プラットフォームのユーザー情報を保持します。プラットフォーム固有のユーザー識別子と対応する GS2-Account ユーザーIDのマッピングを含み、プラットフォームIDによるプレイヤー検索に使用されます。  type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 userIdentifier string  ~ 1024文字 各種プラットフォームにおけるユーザーID 外部プラットフォームにおけるユーザーの一意な識別子（例：ソーシャルメディアのユーザーIDやメールアドレス）です。スロット番号（type）と組み合わせて、特定のプラットフォームアカウントを識別するために使用されます。 userId string  ~ 128文字 GS2-Account ユーザーID このプラットフォームユーザーにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 EzBanStatus アカウントBANステータス ゲームプレイヤーアカウントに適用されたBAN（アクセス禁止）状態に関する情報を表します。 この型は、BANが適用された理由、BANの名称、およびBANの解除予定日時などの詳細情報を含みます。 BAN状態は、不正行為や規約違反など、様々な理由でアカウントに適用されることがあり、この型はその状態を管理するのに役立ちます。 システムは、この情報を基にアカウントのアクセス権限を制御し、必要に応じてアクセスの制限や解除を行います。  name string  UUID ~ 36文字 BANステータス名 BAN状態の一意な名前を保持します。名前には任意の値を設定できます。 省略した場合は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各BANステータスを識別するために使用されます。 このIDにより、複数のBANステータスを簡単に追跡できます。 reason string  ~ 256文字 アカウントBANされた理由 アカウントがBANされた具体的な理由を説明します。 最大256文字の長さで、アカウントBANの原因を明確にするのに役立ちます。 この情報は、アカウントの管理者や運営チームが参照するだけでなく、ゲームクライアントへの応答値にも含まれます。 releaseTimestamp long  BANが解除される日時 アカウントBANが解除される予定の日時を示します。 この日時が過ぎると、アカウントは自動的にBAN解除状態になり、通常のアクセスが可能になります。 メソッド authentication アカウントにログインする アカウント作成時に取得したユーザーIDとパスワードを使って、ゲームプレイヤーのログイン処理を行います。 ログインに成功すると、 アカウント認証情報 と 署名 が発行されます。 これらを GS2-Auth::Login に渡すと、GS2 の各サービスを利用するための アクセストークン を取得できます。 通常は GS2-Profile::Login を使うことで、この処理と GS2-Auth::Login をまとめて実行できます。 詳しくは「はじめかた」のサンプルプログラムを参照してください。 アカウント認証情報 と 署名 の有効期限は1時間です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN password string  ~ 128文字 パスワード アカウントのセキュリティを確保するためのパスワードを格納します。 パスワードは最大128文字の長さを持ち、アカウントの保護に重要な役割を果たします。 Result 型 説明 item EzAccount ゲームプレイヤーアカウント banStatuses List BAN状態リスト body string 署名対象のアカウント認証情報 signature string 署名 Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 PasswordIncorrectException UnauthorizedException パスワードの指定が不適切です BannedInfinityException UnauthorizedException アカウントが利用停止されています 実装例 create 新しいゲームプレイヤーアカウントを作成する ゲームを初めて起動したときに呼び出し、プレイヤーのアカウントを作成します。 作成に成功すると、ユーザーIDとパスワードが返されます。 この2つの値はゲームデータのセーブ領域（PlayerPrefs やローカルセーブなど）に保存し、次回のログインに使ってください。 パスワードは自動的にランダム生成されるため、プレイヤーが自由に設定することはできません。 プレイヤーがわかりやすいID（メールアドレスやSNSアカウントなど）で引き継ぎを行いたい場合は、別途 引き継ぎ情報 を登録してください。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzAccount 作成したゲームプレイヤーアカウント 実装例 addTakeOverSetting 引き継ぎ情報を登録する スマートフォンの機種変更やアプリの再インストール時に、アカウントを復元できるようにするための設定です。 引き継ぎ用ユーザーID （メールアドレスなど）と 引き継ぎ用パスワード を登録しておくと、 その組み合わせを入力することで別の端末でアカウントを引き継ぐことができます。 1つのアカウントに対して、複数の引き継ぎ方法を設定できます。 スロット番号 を分けることで、たとえばスロット0にメールアドレス、スロット1にSNSアカウントの情報を保存する、といった使い方ができます。 スロット番号は 0〜1024 の範囲で指定できます。 注意: この機能はデータの保存のみを行います。SNSアカウントとの認証連携（OAuth など）は、ゲーム側で別途実装する必要があります。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 userIdentifier string  ~ 1024文字 引き継ぎ用ユーザーID アカウントを引き継ぐ際に使用される個人を識別するためのユニークなキーです。 異なるアカウントで同一の userIdentifier を指定した場合、後で設定した値が優先されます。 password string  ~ 128文字 パスワード セキュリティを考慮して、このパスワードは機密情報として扱われ、ハッシュ値のみ保存されAPIの応答には値が含まれません。 Result 型 説明 item EzTakeOver 作成した引き継ぎ情報 実装例 addTakeOverSettingOpenIdConnect OpenID Connect を使って引き継ぎ情報を登録する Google や Apple などの外部ログインサービス（OpenID Connect）の認証結果を使って、引き継ぎ情報を登録します。 この方法ではパスワードの設定は不要です。 この機能を使うには、事前にマスターデータで スロット番号 と認証サービスの対応を設定しておく必要があります。 OpenID Connect の連携設定がされたスロットでは、通常の「ユーザーID＋パスワード」方式での引き継ぎ設定はできなくなります。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 idToken string  ~ 10240文字 OpenID Connect ID Token Result 型 説明 item EzTakeOver 作成した引き継ぎ情報 実装例 deleteTakeOverSetting 引き継ぎ情報を削除する 登録済みの引き継ぎ情報を削除します。 削除後は、その引き継ぎ情報を使ったアカウントの復元はできなくなります。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 Result 型 説明 item EzTakeOver 削除した引き継ぎ情報 実装例 doTakeOver アカウントの引き継ぎを実行する 引き継ぎ用ユーザーID と 引き継ぎ用パスワード を入力して、アカウントを引き継ぎます。 入力した情報が一致した場合、紐づけられたアカウントの ユーザーID と パスワード が返されます。 返されたユーザーIDとパスワードをセーブデータに保存して、次回以降のログインに使ってください。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 userIdentifier string  ~ 1024文字 引き継ぎ用ユーザーID アカウントを引き継ぐ際に使用される個人を識別するためのユニークなキーです。 異なるアカウントで同一の userIdentifier を指定した場合、後で設定した値が優先されます。 password string  ~ 128文字 パスワード セキュリティを考慮して、このパスワードは機密情報として扱われ、ハッシュ値のみ保存されAPIの応答には値が含まれません。 Result 型 説明 item EzAccount ゲームプレイヤーアカウント Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 PasswordIncorrectException UnauthorizedException パスワードの指定が不適切です 実装例 doTakeOverOpenIdConnect OpenID Connect を使ってアカウントの引き継ぎを実行する Google や Apple などのログインサービス（OpenID Connect）の認証情報を使って、アカウントを引き継ぎます。 認証情報に紐づけられたアカウントの ユーザーID と パスワード が返されます。 返されたユーザーIDとパスワードをセーブデータに保存して、次回以降のログインに使ってください。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 idToken string  ~ 10240文字 OpenID Connect ID Token Result 型 説明 item EzAccount ゲームプレイヤーアカウント 実装例 get 指定したタイプの引き継ぎ情報を取得する スロット番号（タイプ）を指定して、登録されている引き継ぎ情報を1件取得します。 どの引き継ぎ方法が設定されているかを確認するのに使います。 セキュリティのため、引き継ぎ用パスワードの値は取得できません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 Result 型 説明 item EzTakeOver 引き継ぎ情報 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getAuthorizationUrl OpenID Connect の認証URLを取得する Google や Apple などの外部ログインサービスの認証ページへリダイレクトするためのURLを取得します。 このURLにプレイヤーを誘導することで、OpenID Connect を使った引き継ぎ情報の登録や引き継ぎの実行を開始できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 Result 型 説明 authorizationUrl string 認証URL 実装例 listTakeOverSettings 引き継ぎ情報の一覧を取得する このプレイヤーに設定されている引き継ぎ情報の一覧を取得します。 セキュリティのため、引き継ぎ用パスワードの値は取得できません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 引き継ぎ情報のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 updateTakeOverSetting 引き継ぎ用パスワードを変更する 引き継ぎ情報のパスワードを変更します。 変更するには、現在設定されている古いパスワードの入力が必要です。 注意: このAPIを使ってセキュアなパスワード変更を実現する場合は、 引き継ぎ情報を削除 するAPIへのアクセス権限を無効にしてください。 削除にはパスワード認証が不要なため、削除→再作成で実質的にパスワードを変更できてしまいます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 oldPassword string  ~ 128文字 古いパスワード password string  ~ 128文字 パスワード セキュリティを考慮して、このパスワードは機密情報として扱われ、ハッシュ値のみ保存されAPIの応答には値が含まれません。 Result 型 説明 item EzTakeOver 更新した引き継ぎ情報 Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 PasswordIncorrectException UnauthorizedException パスワードの指定が不適切です 実装例 addPlatformIdSetting プラットフォームIDを登録する X（旧Twitter）、Instagram、Facebook などの外部サービスにおけるユーザーIDを、ゲームアカウントに紐づけて保存します。 type （スロット番号）には 0〜1024 の数値を指定し、プラットフォームの種類を区別します。 userIdentifier （ユーザー識別子）には、各プラットフォームにおけるユーザーIDを指定します。 他のプレイヤーはtype（スロット番号）とuserIdentifier（ユーザー識別子を指定して、そのプレイヤーを検索できるようになります。 たとえば、SNSのフレンドをゲーム内フレンドとして追加する機能を実装する際に利用できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 userIdentifier string  ~ 1024文字 各種プラットフォームにおけるユーザーID 外部プラットフォームにおけるユーザーの一意な識別子（例：ソーシャルメディアのユーザーIDやメールアドレス）です。スロット番号（type）と組み合わせて、特定のプラットフォームアカウントを識別するために使用されます。 Result 型 説明 item EzPlatformId 作成したプラットフォームID 実装例 deletePlatformIdSetting プラットフォームIDを削除する 登録済みのプラットフォームIDを削除します。 削除後は、そのプラットフォームIDを使ったプレイヤー検索ができなくなります。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 Result 型 説明 item EzPlatformId 削除したプラットフォームID 実装例 findPlatformUser プラットフォームIDからプレイヤーを検索する プラットフォームの種類（タイプ）とユーザー識別子を指定して、そのプラットフォームIDに紐づいたゲームプレイヤーを検索します。 たとえば、SNSのフレンドリストからゲーム内のプレイヤーを見つける際に利用できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 userIdentifier string  ~ 1024文字 各種プラットフォームにおけるユーザーID 外部プラットフォームにおけるユーザーの一意な識別子（例：ソーシャルメディアのユーザーIDやメールアドレス）です。スロット番号（type）と組み合わせて、特定のプラットフォームアカウントを識別するために使用されます。 Result 型 説明 item EzPlatformUser 各種プラットフォームにおけるユーザー情報 実装例 getPlatformId 指定したタイプのプラットフォームIDを取得する スロット番号（タイプ）を指定して、登録されているプラットフォームIDを1件取得します。 特定のプラットフォームに対して、どのユーザーIDが紐づけられているかを確認するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 Result 型 説明 item EzPlatformId プラットフォームID 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listPlatformIdSettings 登録済みのプラットフォームIDの一覧を取得する このプレイヤーに紐づけられている外部サービスのID情報の一覧を取得します。 どのプラットフォームのIDが登録されているかを確認するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List プラットフォームIDのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Account SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Account SDK for Game Engine API リファレンス","url":"/ja/api_reference/account/game_engine/"},{"content":"モデル EzPoint 広告を視聴することで獲得したポイント プレイヤーが広告視聴によって獲得したポイントの合計を表すモデルです。 プレイヤーは広告視聴のたびにポイントを獲得し、これらのポイントは報酬の交換やゲーム内特典の購入などに使用できます。  point long 0 0 ~ 9223372036854775805 ポイントの所持数 ユーザーが保持しているポイントの数を示します。 この数値は、ユーザーが広告を視聴することで増加し、報酬や特典と交換することで減少します。 メソッド getPoint 広告視聴で獲得したポイントの現在値を取得する リワード広告（AdMob、Unity Ads、AppLovin MAX など）の視聴によってプレイヤーが獲得したポイント数を取得します。 UIにポイント残高を表示したり、ポイントを使用する前に残高が足りているかを確認する際に使います。 まだポイントの記録がない場合は、0ポイントの記録が自動的に作成されて返されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 item EzPoint 広告を視聴することで獲得したポイント 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 イベントハンドラ OnChangePointNotification 広告視聴によってポイントが変動した際のプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-AdReward SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-AdReward SDK for Game Engine API リファレンス","url":"/ja/api_reference/ad_reward/game_engine/"},{"content":"モデル EzAccessToken アクセストークン ユーザー認証後に発行されるアクセストークンを管理するモデルです。 アクセストークンは、ユーザーがサービスにログインしている間、そのセッションの身元を証明するために使用されます。 トークンには有効期限が設定されており、期限切れになると再認証が必要になります。  token string  ~ 1024文字 アクセストークン アクセスを認証するためのトークンです。 このトークンはシステムによって自動的に生成され、ユーザーのセッションを識別します。 userId string  ~ 128文字 ユーザーID expire long 現在時刻から1時間後の絶対時刻 有効期限 トークンの有効期限を示すタイムスタンプです。この期限が過ぎると、トークンは無効になります。 UNIX 時間・ミリ秒 メソッド login アカウントの認証情報を使って GS2 にログインする GS2-Account::Authentication で取得した body と signature を渡してログインし、 アクセストークン を受け取ります。 アクセストークン は有効期限1時間の一時的なログイン情報で、GS2 の各サービスをそのプレイヤーとして利用するために必要です。 通常、このAPIを直接呼び出す必要はありません。 Unity や Unreal Engine 5 の SDK では、 GS2-Account::Authentication とこのAPIをまとめて実行する Profile::Login が用意されています。 詳しくは 初期化処理 / Game Engine を参照してください。 Request  keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN body string  ~ 524288文字 署名対象のアカウント認証情報 signature string  ~ 1024文字 署名 Result 型 説明 token string アクセストークン アクセスを認証するためのトークンです。 このトークンはシステムによって自動的に生成され、ユーザーのセッションを識別します。 userId string ユーザーID expire long 有効期限 トークンの有効期限を示すタイムスタンプです。この期限が過ぎると、トークンは無効になります。 UNIX 時間・ミリ秒 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Auth SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Auth SDK for Game Engine API リファレンス","url":"/ja/api_reference/auth/game_engine/"},{"content":"モデル EzBuffEntryModel バフエントリーモデル バフの適用量はバフエントリーモデルで管理し、同一の対象に対して複数のバフエントリーモデルを関連づけることが可能です。 バフエントリーモデルの適用順番はバフエントリーモデルの priority で管理し、 priority の値が小さいほど優先度が高くなります。 バフの適用方式は3種類存在し「Rate Add」、「Mul」と「Value Add」があります。 Rate Add はバフの適用レートに加算する命令、Mul はバフの適用レートに乗算する命令です。 Value Add はバフの補正計算後の値に加算を行う命令です。 たとえば、デフォルトのレートが 1.0 で、Rate Add 0.2 と設定するとバフの適用レートは 1.2 になります。 Mul 0.5 と設定するとバフの適用レートは 0.5 倍になります。 バフエントリーモデルには GS2-Schedule のイベントを関連づけることができ、イベントの開催期間中のみバフを適用するような設定も可能です。  name string  ~ 128文字 バフエントリーモデル名 バフエントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 targetType 文字列列挙型 enum {   “model”,   “action” }  バフを適用する対象の種類 バフをモデルのフィールド値に適用するか、アクションのパラメータに適用するかを指定します。「Model」は GS2 リソースモデルのフィールドを対象とし、「Action」は GS2 アクション（例：入手量や消費量）のパラメータを対象とします。 定義 説明 “model” モデル “action” アクション targetModel EzBuffTargetModel {targetType} == “model” ※ バフを適用する対象のモデル バフを適用する GS2 リソースモデルとフィールドを指定します。モデル名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “model” であれば 必須 targetAction EzBuffTargetAction {targetType} == “action” ※ バフを適用する対象のアクション バフを適用する GS2 アクションとパラメータを指定します。アクション名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “action” であれば 必須 expression 文字列列挙型 enum {   “rate_add”,   “mul”,   “value_add” }  バフの適用タイプ バフ値を対象にどのように適用するかを指定します。「Rate Add」は補正レートに加算（例: 1.0 + 0.2 = 1.2）、「Mul」は補正レートに乗算（例: レート * 0.5）、「Value Add」はレートベースの補正計算後の値に直接加算します。 定義 説明 “rate_add” 補正レートに加算 “mul” 補正レートに乗算 “value_add” 値を直接加算（モデルやアクションの数値のみ） applyPeriodScheduleEventId string ~ 1024文字 バフを適用するイベントの開催期間 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このバフの有効期間を制御する GS2-Schedule イベントの GRN です。指定した場合、イベントの開催期間中のみバフが適用されます。未指定の場合、バフは常に有効です。 EzBuffTargetModel バフを適用する対象のモデル バフ適用の対象となる GS2 リソースモデルとフィールドを定義します。どのモデルのどのフィールド値をバフで変更するかを指定し、対象リソースインスタンスを特定する条件GRNと適用するレート値を含みます。  targetModelName 文字列列挙型 enum { }  バフを適用するモデルの種類 targetFieldName string  ~ 64文字 バフの適用対象フィールド名 バフによって値が変更される対象モデル上の数値フィールド名です。例えば、経験値や攻撃力などの数値属性を表すフィールドが対象となります。 conditionGrns List  1 ~ 10 items バフの適用条件GRNのリスト バフ適用の対象リソースインスタンスを特定する GRN パターンのリストです。複数の GRN を組み合わせて、リソースを正確に特定する複合条件を形成します。 rate float  0 ~ 1000000 補正レート 適用されるバフ値です。適用タイプにより意味が異なります。「Rate Add」の場合は基本レートに加算、「Mul」の場合は現在のレートに乗算、「Value Add」の場合はレート計算後のフィールド値に直接加算されます。 EzBuffTargetAction バフを適用する対象のアクション バフ適用の対象となる GS2 アクションとパラメータを定義します。どのアクションのどのパラメータをバフで変更するかを指定し、対象リソースインスタンスを特定する条件GRNと適用するレート値を含みます。  targetActionName 文字列列挙型 enum { \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SubExperience\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:ConsumeItemSet\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeSimpleItems\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:ConsumeBigItem\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2Limit:CountUp\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:Withdraw\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Money2:Withdraw\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Stamina:ConsumeStamina\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , }  バフを適用するアクションの種類 targetFieldName string  ~ 64文字 バフの適用対象フィールド名 バフによって値が変更される対象アクション上の数値パラメータ名です。例えば、入手数、消費量、報酬数量などを表すパラメータが対象となります。 conditionGrns List  1 ~ 10 items バフの適用条件GRNのリスト バフ適用の対象リソースインスタンスを特定する GRN パターンのリストです。複数の GRN を組み合わせて、リソースを正確に特定する複合条件を形成します。 rate float  0 ~ 1000000 レート 適用されるバフ値です。適用タイプにより意味が異なります。「Rate Add」の場合は基本レートに加算、「Mul」の場合は現在のレートに乗算、「Value Add」の場合はレート計算後のパラメータ値に直接加算されます。 EzBuffTargetGrn バフ適用条件となるリソースのGRNパターン バフを適用する対象のリソースインスタンスを特定するための、プレースホルダーを含む GRN テンプレートです。モデル名で GS2 サービスモデルを特定し、GRN パターンにはランタイムで解決されるコンテキスト変数（例：region、ownerId、namespaceName）が含まれます。  targetModelName string  ~ 64文字 バフの適用条件のモデル名 条件GRNを解決するために使用される GS2 サービスモデルの名前です。GRN パターンがどのサービスのリソースモデルを参照するかを特定します。 targetGrn string  ~ 1024文字 バフの適用条件GRN ランタイムで解決されるコンテキストプレースホルダー（例：{region}、{ownerId}）を含む GRN テンプレートです。バフの対象となる特定のリソースインスタンスを特定するために使用されます。 メソッド getBuffEntryModel 名前を指定してバフ定義を取得する 名前を指定して、バフエントリーモデルを1件取得します。 取得できる情報には、適用方法（Rate Add / Mul / Value Add）、バフの対象、 優先度、および設定されている場合はバフが有効になるイベント期間が含まれます。 特定のバフの効果内容や有効期間などの詳細を表示する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 buffEntryName string  ~ 128文字 バフエントリーモデル名 バフエントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzBuffEntryModel バフエントリーモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listBuffEntryModels バフ定義の一覧を取得する このネームスペースに登録されているすべてのバフエントリーモデルを取得します。 各バフエントリーモデルは、1つのバフ効果を定義しています。 対象（モデルのステータスやアクションのパラメータ）、適用方法（Rate Add / Mul / Value Add）、優先度、 そしてオプションでバフが有効になるイベント期間が含まれます。 ゲームUIでバフの一覧を表示したり、現在設定されているバフを確認する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List バフエントリーモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 applyBuff プレイヤーにバフを適用する このネームスペースに登録されたすべてのバフ設定を評価し、条件に合うものをプレイヤーに適用します。 たとえば「イベント中は経験値2倍」「特定アイテム所持時にゴールドドロップ率+10%」といったバフを設定できます。 バフの適用方法は3種類あります: Rate Add : 倍率に加算する（例: 基本 1.0 + 0.2 = 1.2倍） Mul : 現在の倍率に乗算する（例: 倍率 × 0.5） Value Add : 倍率計算後の値に固定値を加算する GS2-Schedule のイベントに紐づけたバフは、そのイベント開催中のみ有効になります。 複数のバフは優先度順に適用されます（値が小さいほど優先）。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 items List 適用したバフのリスト newContextStack string バフの適用状況を記録したコンテキスト 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Buff SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Buff SDK for Game Engine API リファレンス","url":"/ja/api_reference/buff/game_engine/"},{"content":"モデル EzRoom ルーム ルームはチャットのメッセージを届けられる範囲を表しています。 GS2-Chat のルームには参加という概念はありません。 そのため、メッセージを受信するにはルームの名前を知っているだけでよく、ルームへの参加やメンバー登録は必要ありません。 ルームのメッセージを閲覧できるゲームプレイヤーを限定したい場合は2つの方法があります。 1つ目はルームにパスワードを設定することです。 2つ目はルームに設定可能なホワイトリストでゲームプレイヤーのユーザーIDを設定することで限定ができます。 パスワードを設定した場合、パスワードを知らなければゲームの管理者でもメッセージの取得が出来なくなることに注意してください。 これは日本国憲法で定められた 通信の秘密 に該当する可能性があるためです。 ルームを購読すると、ルームに対して新しいメッセージが送信された際に GS2-Gateway のプッシュ通知を受けることが可能です。 この通知機能を利用することで、ルームに対してポーリングすることなく新しいメッセージの有無を知ることが可能となります。  name string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 whiteListUserIds List [] 0 ~ 1000 items ルームにアクセス可能なユーザーIDリスト 設定すると、リストに含まれるユーザーのみがルームのメッセージを取得・投稿できるようになります。空の場合、ユーザーIDによるアクセス制限は適用されません（ただしパスワードは別途必要な場合があります）。 EzMessage メッセージ メッセージはルームに投稿されたデータです。 カテゴリというフィールドを持ちますので、メッセージの分類が可能です。 たとえば、カテゴリが 0 の場合は通常のテキストメッセージとして解釈し、1 の場合はスタンプ（ステッカー）として処理するようにクライアントを実行することができます。 投稿されたメッセージは投稿後、Chat Namespace の messageLifeTimeDays で設定したメッセージ保持期間が経過すると自動的に削除されます。  name string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前はUUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID category int 0 0 ~ 2147483645 メッセージの種類を分類したい時の種類番号 メッセージを分類するための数値です。例えば、0 は通常のテキストメッセージ、1 はスタンプ（ステッカー）、その他の値はカスタムメッセージタイプとして使用できます。カテゴリーにより、メッセージに適用される CategoryModel のルールが決まります。 metadata string  ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzSubscribe ルーム購読 ルームを購読することで、そのルームに対する新着メッセージの存在を即座に知ることが出来るようになります。 購読する際にはメッセージのカテゴリを指定できます。 この機能をうまく利用すれば重要度の高いメッセージのみ受信するような設定も可能です。  userId string  ~ 128文字 ユーザーID roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 notificationTypes List [] 0 ~ 100 items 新着メッセージ通知を受け取るカテゴリリスト プッシュ通知をトリガーするメッセージカテゴリーをフィルタリングします。空の場合、すべてのカテゴリーで通知が送信されます。各エントリーはカテゴリー番号とオプションのモバイルプッシュ通知転送を指定します。 EzCategoryModel カテゴリーモデル カテゴリーモデルは、チャットルームに投稿されるメッセージを分類するためのカテゴリーを定義します。 各カテゴリーは数値で識別され、カテゴリーごとにプレイヤーのアクセストークンを使った投稿を許可するか拒否するかを設定できます。 これにより、サーバーのみが投稿可能なシステムアナウンスカテゴリーなどのユースケースを実現できます。  category int  0 ~ 2147483645 カテゴリー メッセージカテゴリーの数値識別子です。このカテゴリー番号で投稿されたメッセージは、プレイヤーの投稿を許可するかなど、このモデルで定義されたルールに従います。 rejectAccessTokenPost 文字列列挙型 enum {   “Enabled”,   “Disabled” } プレイヤーのアクセストークンを利用した投稿を拒否する 有効にすると、このカテゴリーではサーバーサイドの API 呼び出し（ユーザーID指定）のみがメッセージを投稿できます。プレイヤーが直接投稿すべきでないシステムアナウンスやサーバー生成メッセージに有用です。 定義 説明 “Enabled” アクセストークンを利用した投稿を拒否する “Disabled” アクセストークンを利用した投稿を許可する EzNotificationType 通知タイプ 新着メッセージ通知を受け取るカテゴリの設定  category int 0 0 ~ 2147483646 新着メッセージ通知を受け取るカテゴリ 通知をフィルタリングするためのカテゴリーの数値識別子です。このカテゴリーに一致するメッセージのみが、購読に対するプッシュ通知をトリガーします。 enableTransferMobilePushNotification bool false オフラインだった時にモバイルプッシュ通知に転送するか 有効にすると、通知時に受信先デバイスがオフラインだった場合、モバイルプッシュ通知サービスに転送されます。これにより、ゲームが実行されていない場合でもプレイヤーに新着メッセージを通知できます。 メソッド createRoom チャットルームを作成する プレイヤーがメッセージをやり取りできる新しいチャットルームを作成します。 ネームスペースの設定でプレイヤーによるルーム作成が許可されている必要があります。許可されていない場合は失敗します。 ルームにパスワードを設定することもできます。パスワードを設定した場合、メッセージの投稿・取得にはパスワードの入力が必要です。 ホワイトリストにユーザーIDを設定して、アクセスできるプレイヤーを制限することも可能です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession GameSession ルームのオーナーのユーザーIDです。設定すると、オーナーのみがルームを削除できるようになります。オーナーの設定は任意です。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 password string ~ 128文字 ルームにアクセスするために必要となるパスワード 設定すると、メッセージの取得・投稿時にパスワードの入力が必要になります。設定したパスワードは二度と参照できません。通信の秘密に該当する可能性があるため、ゲーム管理者でもパスワードを知らなければメッセージにアクセスできなくなります。 whiteListUserIds List [] 0 ~ 1000 items ルームにアクセス可能なユーザーIDリスト 設定すると、リストに含まれるユーザーのみがルームのメッセージを取得・投稿できるようになります。空の場合、ユーザーIDによるアクセス制限は適用されません（ただしパスワードは別途必要な場合があります）。 Result 型 説明 item EzRoom 作成したルーム Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 NoAccessPrivilegesException BadRequestException ルームに設定されたホワイトリストにログイン中のユーザーが含まれていません 実装例 deleteRoom チャットルームを削除する プレイヤーが作成したチャットルームを削除します。 ルームを作成したプレイヤー（オーナー）のみが削除できます。 ルーム内のすべてのメッセージも一緒に削除されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession GameSession ルームのオーナーのユーザーIDです。設定すると、オーナーのみがルームを削除できるようになります。オーナーの設定は任意です。 Result 型 説明 item EzRoom 削除したルーム Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 NoAccessPrivilegesException BadRequestException ルームに設定されたホワイトリストにログイン中のユーザーが含まれていません 実装例 getRoom チャットルームの情報を取得する 指定したチャットルームのメタデータや作成日時などの情報を取得します。 ルームにパスワードが設定されていても、パスワードなしで取得できます。 プレイヤーがルームに入る前に、ルームの詳細（ルーム名やトピックなど）を表示する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzRoom ルーム 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getMessage メッセージ名を指定してメッセージを1件取得する メッセージ名（ID）を指定して、チャットルーム内のメッセージを1件取得します。 通知をタップしたときなど、特定のメッセージの詳細を表示する際に使います。 ルームにパスワードが設定されている場合は、パスワードの入力が必要です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前はUUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 gameSession GameSession GameSession password string ~ 128文字 パスワード Result 型 説明 item EzMessage メッセージ Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 NoAccessPrivilegesException BadRequestException ルームに設定されたホワイトリストにログイン中のユーザーが含まれていません PasswordRequiredException BadRequestException ルームにアクセスするためにはパスワードの設定が必要です PasswordIncorrectException BadRequestException ルームに設定されたパスワードと指定されたパスワードが一致しません 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listLatestMessages チャットルームの最新メッセージを取得する チャットルーム内の最新のメッセージを、新しい順に取得します。 プレイヤーがチャット画面を開いたときに直近のやり取りを表示する際に使います。 ルームにパスワードが設定されている場合は、パスワードの入力が必要です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession limit int 30 1 ~ 1000 データの取得件数 password string ~ 128文字 ルームにアクセスするために必要となるパスワード 設定すると、メッセージの取得・投稿時にパスワードの入力が必要になります。設定したパスワードは二度と参照できません。通信の秘密に該当する可能性があるため、ゲーム管理者でもパスワードを知らなければメッセージにアクセスできなくなります。 Result 型 説明 items List メッセージのリスト nextPageToken string リストの続きを取得するためのページトークン Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 NoAccessPrivilegesException BadRequestException ルームに設定されたホワイトリストにログイン中のユーザーが含まれていません PasswordRequiredException BadRequestException ルームにアクセスするためにはパスワードの設定が必要です PasswordIncorrectException BadRequestException ルームに設定されたパスワードと指定されたパスワードが一致しません 実装例 listMessages チャットルームのメッセージを取得する（指定時刻以降） startAt に指定した時刻以降に投稿されたメッセージを、古い順に取得します。 前回の確認以降の新着メッセージを取得したいとき（再接続時やチャット画面を開いたときなど）に使います。 ネームスペースの設定で指定された保持期間内のメッセージのみ取得できます。 ルームにパスワードが設定されている場合は、パスワードの入力が必要です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession startAt long 現在時刻から1時間前の絶対時刻 メッセージの取得を開始する時刻 UNIX 時間・ミリ秒 limit int 30 1 ~ 1000 データの取得件数 password string ~ 128文字 ルームにアクセスするために必要となるパスワード 設定すると、メッセージの取得・投稿時にパスワードの入力が必要になります。設定したパスワードは二度と参照できません。通信の秘密に該当する可能性があるため、ゲーム管理者でもパスワードを知らなければメッセージにアクセスできなくなります。 Result 型 説明 items List メッセージのリスト Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 NoAccessPrivilegesException BadRequestException ルームに設定されたホワイトリストにログイン中のユーザーが含まれていません PasswordRequiredException BadRequestException ルームにアクセスするためにはパスワードの設定が必要です PasswordIncorrectException BadRequestException ルームに設定されたパスワードと指定されたパスワードが一致しません 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 post チャットルームにメッセージを投稿する 指定したチャットルームにメッセージを送信します。 カテゴリ の数値を付けることで、メッセージの種類を区別できます（例: 0 はテキスト、1 はスタンプ）。 メッセージの内容は metadata に自由な形式の文字列として保存されます。テキスト、JSON など、ゲームに合わせたデータを格納できます。 ルームにパスワードが設定されている場合は、パスワードの入力が必要です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession category int 0 0 ~ 2147483645 メッセージの種類を分類したい時の種類番号 メッセージを分類するための数値です。例えば、0 は通常のテキストメッセージ、1 はスタンプ（ステッカー）、その他の値はカスタムメッセージタイプとして使用できます。カテゴリーにより、メッセージに適用される CategoryModel のルールが決まります。 metadata string  ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 password string ~ 128文字 パスワード Result 型 説明 item EzMessage 投稿したメッセージ Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 NoAccessPrivilegesException BadRequestException ルームに設定されたホワイトリストにログイン中のユーザーが含まれていません PasswordRequiredException BadRequestException ルームにアクセスするためにはパスワードの設定が必要です PasswordIncorrectException BadRequestException ルームに設定されたパスワードと指定されたパスワードが一致しません 実装例 listSubscribeRooms プレイヤーが購読中のルーム一覧を取得する 新着メッセージ通知を受け取るために購読しているチャットルームの一覧を取得します。 チャットUIで「購読中のルーム」リストを表示し、プレイヤーが気になるルームにすぐアクセスできるようにする際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ルーム購読のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 subscribe チャットルームを購読する チャットルームを購読して、新しいメッセージが投稿されたときに通知を受け取れるようにします。 カテゴリの条件を設定することで、どのメッセージで通知を受け取るかをフィルタリングできます。 たとえば「カテゴリ1（スタンプ）のときだけ通知する」「すべてのカテゴリで通知する」といった設定が可能です。 通知を受けたときにプレイヤーがオフラインの場合、モバイルプッシュ通知として転送することもできます（ネームスペースの設定に依存）。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 gameSession GameSession  GameSession notificationTypes List [] 0 ~ 100 items 新着メッセージ通知を受け取るカテゴリリスト プッシュ通知をトリガーするメッセージカテゴリーをフィルタリングします。空の場合、すべてのカテゴリーで通知が送信されます。各エントリーはカテゴリー番号とオプションのモバイルプッシュ通知転送を指定します。 Result 型 説明 item EzSubscribe ルーム購読 実装例 unsubscribe チャットルームの購読を解除する 指定したチャットルームの新着メッセージ通知の受け取りを停止します。 グループから抜けたときや、設定画面で通知をオフにしたときなど、プレイヤーがルームのフォローをやめる際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 gameSession GameSession  GameSession Result 型 説明 item EzSubscribe 解除した購読 実装例 updateSubscribeSetting 購読中のルームの通知設定を変更する すでに購読しているルームで、どのカテゴリのメッセージで通知を受け取るかを変更します。 たとえば、最初はすべてのカテゴリで購読していたものを、設定画面から「スタンプのみ」に変更するといった使い方ができます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 gameSession GameSession  GameSession notificationTypes List [] 0 ~ 100 items 新着メッセージ通知を受け取るカテゴリリスト プッシュ通知をトリガーするメッセージカテゴリーをフィルタリングします。空の場合、すべてのカテゴリーで通知が送信されます。各エントリーはカテゴリー番号とオプションのモバイルプッシュ通知転送を指定します。 Result 型 説明 item EzSubscribe 更新した購読 実装例 getCategoryModel カテゴリ番号を指定してメッセージカテゴリ定義を取得する カテゴリ番号を指定して、メッセージカテゴリ定義を1件取得します。 取得できる情報には、プレイヤーがこのカテゴリへの投稿を制限されているかどうかが含まれます （サーバー側のシステムメッセージ専用カテゴリなどに利用できます）。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 category int  0 ~ 2147483645 カテゴリー メッセージカテゴリーの数値識別子です。このカテゴリー番号で投稿されたメッセージは、プレイヤーの投稿を許可するかなど、このモデルで定義されたルールに従います。 Result 型 説明 item EzCategoryModel カテゴリーモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listCategoryModels メッセージカテゴリ定義の一覧を取得する このネームスペースに登録されているすべてのメッセージカテゴリ定義を取得します。 カテゴリを使うとメッセージの種類を分類できます。たとえば、カテゴリ0を通常テキスト、カテゴリ1をスタンプに割り当てるといった使い方です。 カテゴリごとに投稿権限を制御することもできます（例: システムアナウンスはサーバーからのみ投稿可能）。 チャットUIでカテゴリ選択を表示したり、利用可能なメッセージタイプを確認する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List カテゴリーモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 イベントハンドラ OnPostNotification 購読しているルームに新しい投稿がされたときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID category int メッセージの種類を分類したい時の種類番号 メッセージを分類するための数値です。例えば、0 は通常のテキストメッセージ、1 はスタンプ（ステッカー）、その他の値はカスタムメッセージタイプとして使用できます。カテゴリーにより、メッセージに適用される CategoryModel のルールが決まります。 createdAt long 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Chat SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Chat SDK for Game Engine API リファレンス","url":"/ja/api_reference/chat/game_engine/"},{"content":"モデル EzDataObject データオブジェクト データオブジェクトはゲームプレイヤーがアップロードしたデータです。 データは世代管理され、30日分の過去のデータも保管されます。 データにはアクセス権限を設定できます。 スコープには3種類あり、 だれでもアクセスできる public 指定したユーザーIDのゲームプレイヤーのみがアクセスできる protected 自身のみがアクセスできる private があります。  dataObjectId string ※ ~ 1024文字 データオブジェクト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 userId string  ~ 128文字 ユーザーID scope 文字列列挙型 enum {   “public”,   “protected”,   “private” } “private” ファイルのアクセス権 このデータオブジェクトにアクセスできるユーザーを制御します。 public は誰でもアクセス可能、 protected は allowUserIds に指定されたユーザーIDのみアクセス可能、 private はオーナー本人のみアクセス可能です。 定義 説明 “public” 公開 “protected” 指定したユーザーにのみ公開 “private” 非公開 allowUserIds List {scope} == “protected” ※ [] 0 ~ 100 items 公開するユーザーIDリスト スコープが protected に設定されている場合に、このデータオブジェクトにアクセスできるユーザーを指定します。このリストに含まれるユーザーIDのユーザーのみが読み取りアクセスを許可されます。 ※ scope が “protected” であれば 有効 status 文字列列挙型 enum {   “ACTIVE”,   “UPLOADING”,   “DELETED” }  状態 データオブジェクトの現在のライフサイクル状態です。 ACTIVE はデータがアクセス可能であることを示し、 UPLOADING は新しいバージョンがアップロード中であることを示し、 DELETED は削除済みであることを示します（実際の削除は30日後に行われます）。 定義 説明 “ACTIVE” 有効 “UPLOADING” アップロード中 “DELETED” 削除済み(削除処理から30日後に実際に削除) generation string ~ 128文字 データの世代 アップロードされたデータの現在のバージョンを表す識別子です。データが再アップロードされるたびに新しい世代IDが割り当てられます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzDataObjectHistory データオブジェクト履歴 データオブジェクトの更新履歴が確認できます。 データオブジェクトが再アップロードされるたびに、世代IDとファイルサイズを含む履歴レコードが作成されます。履歴データは30日間保持され、以前のバージョンへのロールバックや監査が可能です。  dataObjectHistoryId string ※ ~ 1024文字 データオブジェクト履歴 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 generation string  ~ 128文字 世代ID アップロード時点のデータオブジェクトの特定バージョンを示す一意な識別子です。DataObject の generation フィールドに対応し、PrepareDownloadByGeneration でこの特定バージョンをダウンロードする際に使用できます。 contentLength long  0 ~ 10485760 データサイズ この世代のアップロードデータのサイズ（バイト単位）です。最大ファイルサイズは 10 MB（10,485,760 バイト）です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 メソッド deleteDataObject アップロードしたファイルを削除する 指定したデータオブジェクトを削除予定としてマークします。実際のファイルは30日後に削除されます。 プレイヤーが不要になったセーブデータやアップロード済みコンテンツを削除するときに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 Result 型 説明 item EzDataObject データオブジェクト Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 InvalidStatusException BadRequestException DataObject が操作可能な状態ではありません 実装例 doneUpload ファイルのアップロードを確定する PrepareUpload または PrepareReUpload で取得した URL へのファイルアップロードが完了したあとに呼び出します。 アップロードを確定し、データオブジェクトをダウンロード可能な状態（ステータス ACTIVE ）にします。 この呼び出しを行わないと、データオブジェクトは UPLOADING のままダウンロードできません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 Result 型 説明 item EzDataObject データオブジェクト Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 InvalidStatusException BadRequestException DataObject が操作可能な状態ではありません NotUploadedException BadRequestException DataObject がアップロードされていません 実装例 listMyDataObjects プレイヤーがアップロードしたデータの一覧を取得する プレイヤーがアップロードしたデータオブジェクト（ファイル）の一覧を取得します。 ステータスでフィルタリングできます: ACTIVE （ダウンロード可能）、 UPLOADING （アップロード中）、 DELETED （削除予定）。 セーブデータ一覧画面の表示や、プレイヤーが保存しているファイルの確認に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession status 状態 定義 説明 “ACTIVE” 有効 “UPLOADING” アップロード中 “DELETED” 削除済み(削除処理から30日後に実際に削除) pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List データオブジェクトのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 prepareDownload ファイルのダウンロード URL を取得する（データオブジェクトIDで指定） 指定したデータオブジェクトの一時的なダウンロード URL を返します。 データオブジェクトは ID（GRN）で指定します。アクセス制御が適用され、ファイルのオーナーまたは許可リストに登録されたユーザーのみダウンロードできます。 返された URL に HTTP GET でアクセスしてファイルをダウンロードします。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dataObjectId string  ~ 1024文字 データオブジェクト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN gameSession GameSession  GameSession Result 型 説明 item EzDataObject データオブジェクト fileUrl string ファイルをダウンロードするためのURL contentLength long ファイルの容量 実装例 prepareDownloadByUserIdAndDataObjectName 他プレイヤーのファイルのダウンロード URL を取得する（ユーザーIDと名前で指定） 他のプレイヤーのデータを、ユーザーIDとデータオブジェクト名を指定してダウンロードします。 アクセス制御が適用されます。データが public であるか、リクエストしたプレイヤーがオーナーの許可リストに含まれている必要があります。 カスタムレベルやリプレイデータなど、プレイヤー同士でデータを共有する場合に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 Result 型 説明 item EzDataObject データオブジェクト fileUrl string ファイルをダウンロードするためのURL contentLength long ファイルの容量 実装例 prepareDownloadOwnData プレイヤー自身のファイルのダウンロード URL を取得する（名前で指定） ID の代わりにデータオブジェクト名を指定して、プレイヤー自身のデータをダウンロードするための便利な方法です。 プレイヤーが自分のセーブデータやアップロード済みコンテンツを読み込むときに使います。 一時的なダウンロード URL とファイルサイズが返されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 gameSession GameSession  GameSession Result 型 説明 item EzDataObject データオブジェクト fileUrl string ファイルをダウンロードするためのURL contentLength long ファイルの容量 実装例 Download データをダウンロード Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 Result 型 説明 item byte配列 バイナリデータ 実装例 DownloadByUserIdAndDataObjectName ユーザIDとデータ名を指定してデータをダウンロード Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 Result 型 説明 item byte配列 バイナリデータ 実装例 DownloadOwn 自分のデータをダウンロード Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 Result 型 説明 item byte配列 バイナリデータ 実装例 ReUpload 再アップロード Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 data byte配列 バイナリデータ Result 型 説明 item EzDataObject データオブジェクト uploadUrl string アップロード処理の実行に使用するURL 実装例 prepareReUpload 既存ファイルの再アップロード（上書き）を準備する 既存のデータオブジェクトの内容を差し替えるための新しいアップロード URL を返します。 以前のファイルは履歴に残るので、世代番号を指定して古いバージョンをダウンロードすることもできます。 返された URL に新しいファイルをアップロードしたあと、DoneUpload を呼んで確定します。 再アップロードの流れ: PrepareReUpload → 返された URL に PUT でファイル送信 → DoneUpload Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 contentType string “application/octet-stream” ~ 256文字 アップロードするデータの MIME-Type Result 型 説明 item EzDataObject データオブジェクト uploadUrl string アップロード処理の実行に使用するURL 実装例 prepareUpload 新しいファイルのアップロードを準備する 新しいデータオブジェクトを作成し、アップロード用の URL を返します。 この API を呼んだあと、返された URL に HTTP PUT でファイルをアップロードし、DoneUpload を呼んで確定します。 アクセス範囲（ public または protected ）や、ダウンロードを許可するユーザーを指定できます。 updateIfExists を true にすると、同名のファイルが既にある場合はエラーにせず上書き更新します。 アップロードの流れ: PrepareUpload → 返された URL に PUT でファイル送信 → DoneUpload Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession name string ~ 128文字 データオブジェクトの名前 指定しなかった場合、自動的にUUIDが割り当てられます。 scope “private” ファイルのアクセス権 このデータオブジェクトにアクセスできるユーザーを制御します。 public は誰でもアクセス可能、 protected は allowUserIds に指定されたユーザーIDのみアクセス可能、 private はオーナー本人のみアクセス可能です。 定義 説明 “public” 公開 “protected” 指定したユーザーにのみ公開 “private” 非公開 contentType string “application/octet-stream” ~ 256文字 アップロードするデータの MIME-Type allowUserIds List {scope} == “protected” [] 0 ~ 100 items 公開するユーザーIDリスト スコープが protected に設定されている場合に、このデータオブジェクトにアクセスできるユーザーを指定します。このリストに含まれるユーザーIDのユーザーのみが読み取りアクセスを許可されます。 ※ scope が “protected” であれば有効 updateIfExists bool false 既にデータが存在する場合にエラーとするか、データを更新するか Result 型 説明 item EzDataObject データオブジェクト uploadUrl string アップロード処理の実行に使用するURL 実装例 restoreDataObject データオブジェクトの管理情報を修復する データオブジェクトのメタデータと実際のファイルの間の不整合を修正します。 記録されているファイルサイズやバージョン番号が実際のファイルと一致しない場合（アップロードが中断された場合など）、メタデータを正しく修正します。 通常は呼び出す必要はなく、アップロード中に問題が発生したときのリカバリ用です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dataObjectId string  ~ 1024文字 データオブジェクト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzDataObject データオブジェクト Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 InvalidStatusException BadRequestException DataObject が操作可能な状態ではありません 実装例 updateDataObject データオブジェクトのアクセス設定を変更する アップロード済みのデータオブジェクトにアクセスできる範囲を変更します。 スコープを public （誰でもダウンロード可能）と protected （指定ユーザーのみダウンロード可能）で切り替えたり、 許可するユーザーIDのリストを更新したりできます。 ファイルの中身は変更されません。ファイルを更新するには PrepareReUpload を使ってください。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession scope “private” ファイルのアクセス権 このデータオブジェクトにアクセスできるユーザーを制御します。 public は誰でもアクセス可能、 protected は allowUserIds に指定されたユーザーIDのみアクセス可能、 private はオーナー本人のみアクセス可能です。 定義 説明 “public” 公開 “protected” 指定したユーザーにのみ公開 “private” 非公開 allowUserIds List {scope} == “protected” [] 0 ~ 100 items 公開するユーザーIDリスト スコープが protected に設定されている場合に、このデータオブジェクトにアクセスできるユーザーを指定します。このリストに含まれるユーザーIDのユーザーのみが読み取りアクセスを許可されます。 ※ scope が “protected” であれば有効 Result 型 説明 item EzDataObject データオブジェクト 実装例 listDataObjectHistories データオブジェクトのバージョン履歴を取得する データオブジェクトの過去のバージョン（世代）の一覧を取得します。 PrepareReUpload でファイルを再アップロードするたびに、以前のバージョンが履歴に保存されます。 各エントリにはファイルサイズと作成日時が含まれるので、いつ何が変わったかを確認できます。 バージョン履歴画面の表示や、プレイヤーが古いセーブデータに戻す機能を実装する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List データオブジェクト履歴のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Datastore SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Datastore SDK for Game Engine API リファレンス","url":"/ja/api_reference/datastore/game_engine/"},{"content":"モデル EzEntry ゲームプレイヤーが入手したエントリー ゲームプレイヤーが収集した図鑑エントリーの1件を表します。各エントリーは EntryModel に対応し、入手日時を記録します。所持状態は「存在する（収集済み）/ 存在しない」の2値で管理され、数量の概念はありません。  entryId string ※ ~ 1024文字 エントリー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string ~ 128文字 ユーザーID name string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 acquiredAt long ※ 現在時刻 入手日時 このエントリーがゲームプレイヤーによって初めて収集された日時です。登録時に現在時刻が自動的に設定され、その後変更することはできません。 EzLike お気に入りに登録したエントリー ゲームプレイヤーがお気に入り（いいね）に登録した図鑑エントリーを表します。プレイヤーが図鑑内の特定のエントリーをブックマークしてすぐにアクセスできるようにします。各お気に入りは EntryModel を名前で参照し、ユーザーごとに一意です。同じエントリーを重複してお気に入りに登録することはできません。  likeId string ※ ~ 1024文字 お気に入りエントリー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string ~ 128文字 ユーザーID name string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 EzEntryModel エントリーモデル エントリーモデルは、GS2-Dictionary において図鑑に記録可能な対象を定義するマスターデータです。 各エントリーモデルは、モンスターやアイテム、アバターパーツなど、図鑑に記録されるエンティティの種類を表します。 エントリーの所持状態は「記録済み / 未記録」の2値で管理され、同一エントリーモデルに対して数量やスタックの概念はありません。  name string  ~ 128文字 エントリーモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 EzConfig コンフィグ設定 分散トランザクション実行時にトランザクション変数に適用されるキーと値のペアです。実行時にトランザクションパラメータ内のプレースホルダー値を動的に置換できます。  key string  ~ 64文字 名前 トランザクションパラメータ内のプレースホルダーキーとして使用される変数名です。トランザクションテンプレートで定義されたプレースホルダーと一致する必要があります。 value string ~ 51200文字 値 トランザクション実行時にプレースホルダーキーに代入する値です。トランザクションパラメータ内の対応するプレースホルダーがこの値に置換されます。 メソッド getEntryModel 名前を指定して収集アイテム定義を取得する 名前を指定して、エントリーモデルを1件取得します。 プレイヤーが図鑑画面でエントリーをタップしたときに、そのアイテムの説明やメタデータなどの詳細を表示する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 entryName string  ~ 128文字 エントリーモデル名 Result 型 説明 item EzEntryModel エントリーモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listEntryModels 収集アイテム定義の一覧を取得する このネームスペースに登録されているすべてのエントリーモデル（収集可能なアイテムの種類）を取得します。 エントリーモデルは、プレイヤーのコレクションに登場するアイテムを定義します。たとえば、図鑑のモンスター、アルバムのキャラクター、実績などです。 コレクション画面や図鑑画面で、収集可能なアイテムの全リストを表示する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List エントリーモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getEntry プレイヤーが特定のエントリーを収集済みか確認する エントリーモデル名を指定して、プレイヤーが特定の収集アイテムを獲得済みかどうかを確認します。 図鑑のアイテム詳細画面で「収集済み」「未収集」のステータスを表示する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession entryModelName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzEntry エントリー 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getEntryWithSignature 改ざん防止の署名付きでエントリーを取得する データが改ざんされていないことを証明する暗号署名と一緒にエントリーを取得します。 プレイヤーが特定のコレクションエントリーを本当に所持していることを外部サーバーで検証したい場合に使います。 たとえば、コレクションの進捗に応じてカスタムサーバーから報酬を付与する場合などに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession entryModelName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzEntry エントリー body string 署名対象のエントリー情報 signature string 署名 実装例 listEntries プレイヤーが収集済みのエントリー一覧を取得する プレイヤーがこれまでに獲得したエントリー（収集アイテム）の一覧を取得します。 プレイヤーがアンロックしたアイテムを表示する、コレクション画面や図鑑画面の構築に使います。 エントリーモデルの全リストと比較することで、収集済み・未収集のアイテムを表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession limit int 30 1 ~ 10000 データの取得件数 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン Result 型 説明 items List エントリーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 addLikes エントリーをお気に入りに追加する 1つ以上のエントリーをプレイヤーのお気に入りとして登録します。 複数のエントリー名を一度にまとめて指定できます。 すでにお気に入りに登録済みのエントリーはスキップされます（エラーにはなりません）。 コレクション画面でプレイヤーが「お気に入り」ボタンをタップしたときに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession entryModelNames List [] 0 ~ 100 items エントリーモデル名のリスト Result 型 説明 items List 登録したお気に入りエントリーのリスト 実装例 deleteLikes エントリーをお気に入りから外す プレイヤーのお気に入りリストから1つ以上のエントリーを削除します。 複数のエントリー名を一度にまとめて指定できます。 コレクション画面でプレイヤーが「お気に入り解除」ボタンをタップしたときに使います。 エントリーの収集状態には影響しません。収集済みのままです。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession entryModelNames List [] 0 ~ 100 items エントリーモデル名のリスト Result 型 説明 items List 削除したお気に入りエントリーのリスト 実装例 getLike 特定のエントリーがお気に入りかどうかを確認する プレイヤーが特定のエントリーをお気に入り登録しているかどうかを確認します。 図鑑のアイテム詳細画面で「お気に入り済み」アイコンやハイライトを表示する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession entryModelName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzLike お気に入りエントリー 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listLikes プレイヤーのお気に入りエントリー一覧を取得する プレイヤーがお気に入り登録したエントリーの一覧を取得します。 お気に入りは収集とは別に管理されます。エントリーを収集しても自動的にお気に入りにはなりません。 コレクション画面の「お気に入り」タブを表示し、プレイヤーが気になるアイテムにすぐアクセスできるようにする際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession limit int 30 1 ~ 1000 データの取得件数 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン Result 型 説明 items List お気に入りエントリーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Dictionary SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Dictionary SDK for Game Engine API リファレンス","url":"/ja/api_reference/dictionary/game_engine/"},{"content":"モデル EzStampSheetResult トランザクション実行結果（レガシー） サーバーサイドの自動実行で処理されたトランザクションの実行結果を記録します。 各フェーズのリクエスト内容とレスポンス結果を含みます：検証アクション（事前条件チェック）、消費アクション、入手アクション。エラー検出とリトライロジックのために HTTP ステータスコードも追跡します。  transactionId string  36 ~ 36文字 トランザクションID このトランザクションを一意に識別する UUID です。トランザクションとその実行結果、および連鎖する後続トランザクションの関連付けに使用されます。 taskRequests List 0 ~ 100 items 消費アクションのリクエスト内容 sheetRequest EzAcquireAction  入手アクションのリクエスト内容 taskResults List [] 0 ~ 100 items 消費アクションの実行結果 sheetResult string ~ 1048576文字 入手アクションの実行結果レスポンス内容 EzTransactionResult トランザクション実行結果 サーバーサイドの自動実行で処理された分散トランザクションの実行結果を記録します。 各フェーズの構造化された結果を含みます：検証アクション（事前条件チェック）、消費アクション（リソース消費）、入手アクション（リソース付与）。各アクション結果にはリクエスト、HTTP ステータスコード、レスポンスペイロードが含まれます。ステータスコード（非2xx）によるエラー検出と、コンフリクト（409）やサーバーエラー（5xx）でのリトライがサポートされます。  transactionId string  36 ~ 36文字 トランザクションID この分散トランザクションを一意に識別する UUID です。実行結果の検索や、元の API リクエストとの関連付けに使用されます。 verifyResults List 0 ~ 100 items 検証アクションの実行結果リスト consumeResults List 0 ~ 100 items 消費アクションの実行結果リスト acquireResults List 0 ~ 100 items 入手アクションの実行結果リスト EzDistributorModel 配信モデル 配信モデルとはリソースの入手時に所持枠を超えて入手した時のポリシーを設定するエンティティです。 GS2-Distributor を通して入手処理を行うことで、あふれたリソースを GS2-Inbox のメッセージとして転送することができます。  name string  ~ 128文字 配信モデル名 配信モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 inboxNamespaceId string ~ 1024文字 あふれたリソースを転送する GS2-Inbox のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN リソースの入手がプレイヤーの所持枠を超えた場合、あふれたリソースは指定された GS2-Inbox ネームスペースにメッセージとして転送されます。プレイヤーは後から受信箱からリソースを受け取ることができます。 whiteListTargetIds List [] 0 ~ 1000 items GS2-Distributorを通して処理出来る対象のリソースGRNのホワイトリスト この配信モデルを使用して入手処理を行える対象となるリソースのGRNプレフィックスを指定します。 EzConfig コンフィグ設定 トランザクションの変数に適用する設定値  key string  ~ 64文字 名前 value string ~ 51200文字 値 EzDistributeResource リソース配布 入手アクションとそのリクエストパラメータで構成される単一のリソース配布操作を表します。プレイヤーにリソースを配布する際に、どの GS2 API アクションをどのパラメータで実行するかを指定するために使用されます。  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzBatchRequestPayload API一括実行リクエスト 一括実行内の単一の API リクエストを表します。複数のバッチリクエストペイロードをまとめて送信することで、複数の GS2 API 呼び出しを1回のラウンドトリップで実行でき、ネットワークオーバーヘッドとレイテンシーを削減できます。  requestId string  ~ 128文字 リクエストID バッチ内でこのリクエストに対してクライアントが割り当てた識別子です。バッチレスポンス内で各リクエストと対応する結果を関連付けるために使用されます。 service 文字列列挙型 enum {   “account”,   “adReward”,   “auth”,   “buff”,   “chat”,   “datastore”,   “deploy”,   “dictionary”,   “distributor”,   “enchant”,   “enhance”,   “exchange”,   “experience”,   “formation”,   “friend”,   “gateway”,   “grade”,   “guard”,   “guild”,   “identifier”,   “idle”,   “inbox”,   “inventory”,   “jobQueue”,   “key”,   “limit”,   “lock”,   “log”,   “loginReward”,   “lottery”,   “matchmaking”,   “megaField”,   “mission”,   “money”,   “money2”,   “news”,   “quest”,   “ranking”,   “ranking2”,   “realtime”,   “schedule”,   “script”,   “seasonRating”,   “serialKey”,   “showcase”,   “skillTree”,   “stamina”,   “stateMachine”,   “version” }  マイクロサービス名 呼び出す GS2 マイクロサービス名です（例: “inventory”、“experience”、“money”）。この API リクエストを受信するサービスエンドポイントを決定します。 定義 説明 “account” GS2-Account “adReward” GS2-AdReward “auth” GS2-Auth “buff” GS2-Buff “chat” GS2-Chat “datastore” GS2-Datastore “deploy” GS2-Deploy “dictionary” GS2-Dictionary “distributor” GS2-Distributor “enchant” GS2-Enchant “enhance” GS2-Enhance “exchange” GS2-Exchange “experience” GS2-Experience “formation” GS2-Formation “friend” GS2-Friend “gateway” GS2-Gateway “grade” GS2-Grade “guard” GS2-Guard “guild” GS2-Guild “identifier” GS2-Identifier “idle” GS2-Idle “inbox” GS2-Inbox “inventory” GS2-Inventory “jobQueue” GS2-JobQueue “key” GS2-Key “limit” GS2-Limit “lock” GS2-Lock “log” GS2-Log “loginReward” GS2-LoginReward “lottery” GS2-Lottery “matchmaking” GS2-Matchmaking “megaField” GS2-MegaField “mission” GS2-Mission “money” GS2-Money “money2” GS2-Money2 “news” GS2-News “quest” GS2-Quest “ranking” GS2-Ranking “ranking2” GS2-Ranking2 “realtime” GS2-Realtime “schedule” GS2-Schedule “script” GS2-Script “seasonRating” GS2-SeasonRating “serialKey” GS2-SerialKey “showcase” GS2-Showcase “skillTree” GS2-SkillTree “stamina” GS2-Stamina “stateMachine” GS2-StateMachine “version” GS2-Version methodName string  ~ 128文字 メソッド名 対象サービスで呼び出す API メソッド名です（例: “describeNamespaces”、“getInventory”）。指定されたサービスの有効な API メソッドと一致する必要があります。 parameter string  ~ 10240文字 パラメータ API メソッドの JSON シリアライズされたリクエストパラメータです。指定されたサービスメソッドのリクエストスキーマに準拠する必要があります。 EzBatchResultPayload API一括実行結果 一括実行内の単一の API リクエストの結果を表します。各結果はリクエスト ID によって元のリクエストと関連付けられ、HTTP ステータスコードと JSON レスポンスペイロードを含みます。  requestId string  ~ 128文字 リクエストID 対応するバッチリクエストと一致するクライアント割り当て識別子です。この結果を元のリクエストと関連付けるために使用されます。 statusCode int  100 ~ 1000 ステータスコード このバッチリクエストに対して GS2 API が返した HTTP ステータスコードです。2xx は成功、4xx はクライアントエラー、5xx はサーバーエラーを示します。 resultPayload string  ~ 10240文字 レスポンス このバッチリクエストに対して GS2 API が返した JSON レスポンスボディです。API メソッドのレスポンスデータまたはエラー詳細を含みます。 EzAcquireAction 入手アクション 分散トランザクション内のリソース入手操作を表します。プレイヤーにリソース（アイテム、通貨、経験値など）を付与する入手アクションに対応します。GS2 API のアクション識別子と JSON シリアライズされたリクエストパラメータを含みます。  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzConsumeAction 消費アクション 分散トランザクション内のリソース消費操作を表します。プレイヤーからリソース（アイテム、通貨、スタミナなど）を消費する消費アクションに対応します。消費アクションは入手アクションの前に実行され、プレイヤーが必要なコストを満たしていることを確認します。  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzVerifyAction 検証アクション 分散トランザクション内の事前条件検証操作を表します。消費・入手アクションの前に実行され、条件が満たされていることを検証します（例：所持枠の確認、クエスト完了状態の検証など）。いずれかの検証アクションが失敗した場合、トランザクション全体が中止されます。  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzAcquireActionResult 入手アクションの実行結果 単一の入手アクション実行の結果を記録します。アクション識別子、元のリクエスト、成功・失敗を示す HTTP ステータスコード、GS2 API からの JSON レスポンスペイロードを含みます。  acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード この入手アクションに対して GS2 API が返した HTTP ステータスコードです。2xx は成功、409 はリトライが必要なコンフリクト、5xx はサーバーエラーを示します。 acquireResult string ~ 1048576文字 結果内容 入手アクションの実行後に GS2 API が返した JSON レスポンスボディです。入手したリソースの詳細を含み、連鎖するトランザクション ID が含まれる場合もあります。 EzConsumeActionResult 消費アクションの実行結果 単一の消費アクション実行の結果を記録します。アクション識別子、元のリクエスト、成功・失敗を示す HTTP ステータスコード、GS2 API からの JSON レスポンスペイロードを含みます。  consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード この消費アクションに対して GS2 API が返した HTTP ステータスコードです。2xx は成功、409 はリトライが必要なコンフリクト、5xx はサーバーエラーを示します。 consumeResult string ~ 1048576文字 結果内容 消費アクションの実行後に GS2 API が返した JSON レスポンスボディです。消費されたリソースの詳細を含みます。 EzVerifyActionResult 検証アクションの実行結果 単一の検証アクション実行の結果を記録します。アクション識別子、元のリクエスト、成功・失敗を示す HTTP ステータスコード、GS2 API からの JSON レスポンスペイロードを含みます。  verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード この検証アクションに対して GS2 API が返した HTTP ステータスコードです。2xx は検証成功、非2xx は事前条件が満たされなかったことを示します。 verifyResult string ~ 1048576文字 結果内容 検証アクションの実行後に GS2 API が返した JSON レスポンスボディです。検証結果の詳細を含みます。 メソッド getDistributorModel 名前を指定して配信モデル定義を取得する 名前を指定して、配信モデルを1件取得します。 取得できる情報には、許可されているサービスアクションと、溢れ処理用に設定されたプレゼントボックスのネームスペースが含まれます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 distributorName string  ~ 128文字 配信モデル名 配信モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzDistributorModel 配信モデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listDistributorModels 配信モデル定義の一覧を取得する このネームスペースに登録されているすべての配信モデルを取得します。 配信モデルは、リソース配信のルールを定義します。許可するサービスアクションや、プレイヤーのインベントリが満杯のときに溢れたアイテムをどこに送るか（例: プレゼントボックス / 受信箱）を設定します。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 配信モデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 batchExecuteApi 複数の API 呼び出しを一括実行する 複数の GS2 API リクエストを1回の呼び出しでまとめて送信し、レスポンスをまとめて受け取ります。 通信の往復回数が減り、複数の API を同時に呼ぶ必要がある場面でパフォーマンスが向上します。 たとえば、プレイヤーがホーム画面を開いたときに、インベントリ・スタミナ・クエスト進捗をまとめて取得する場合などに便利です。 Request  requestPayloads List  1 ~ 100 items バッチリクエスト Result 型 説明 results List バッチリザルト 実装例 freezeMasterData 現時点のマスターデータを固定化する 現在のマスターデータのスナップショットを作成し、以降のトランザクションがこの固定バージョンを使うようにします。マスターデータが後で更新されても影響を受けません。 整合性を保つために便利です。たとえば、プレイヤーがクエストを開始した場合、報酬はクリア時ではなく開始時のマスターデータに基づくべきです。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 newContextStack string マスターデータを固定する時刻を記録したコンテキスト 実装例 freezeMasterDataBySignedTimestamp 署名付きタイムスタンプの時点でマスターデータを固定化する 署名付きタイムスタンプを使って、特定の時点のマスターデータを固定化します。 FreezeMasterData（「今」の時点で固定）とは異なり、正確な時刻を指定できます。固定する時点がサーバー側で事前に決まっている場合などに使います。 署名付きタイムスタンプは SignFreezeMasterDataTimestamp で発行できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession body string  ~ 1024文字 ボディ signature string  ~ 256文字 署名 keyId string  ~ 1024文字 署名計算に使用した GS2-Key の暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 newContextStack string マスターデータを固定する時刻を記録したコンテキスト 実装例 runStampSheet 入手アクションを実行する（リソースの付与） トランザクションの一部として、プレイヤーにリソースを付与する入手アクションを1つ実行します。 たとえば、アイテムの付与、経験値の加算、ゲーム内通貨の付与などです。 通常は直接呼び出す必要はありません。トランザクション処理時に SDK が自動的に処理します。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 stampSheet string  ~ 5242880文字 トランザクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN contextStack string ~ 32768文字 リクエストコンテキスト Result 型 説明 statusCode int ステータスコード result string レスポンス内容 実装例 runStampSheetExpress トランザクション内の全アクションを一括実行する（エクスプレスモード） トランザクションの検証・消費・入手アクションを1回の API 呼び出しでまとめて実行します。個別に実行するより高速です。 エラーが発生した場合は再度呼び出してください。消費アクションが重複して適用されない仕組みがあるため、安全にリトライできます。 通常は直接呼び出す必要はありません。トランザクション処理時に SDK が自動的に処理します。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 stampSheet string  ~ 5242880文字 トランザクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 verifyTaskResultCodes List 検証アクションの実行ステータスコード verifyTaskResults List 検証アクションの実行結果 taskResultCodes List 消費アクションの実行ステータスコード taskResults List 消費アクションの実行結果 sheetResultCode int 入手アクションの実行ステータスコード sheetResult string 入手アクションの実行結果レスポンス内容 実装例 runStampSheetExpressWithoutNamespace ネームスペースなしでトランザクション内の全アクションを一括実行する（エクスプレスモード） エクスプレスモードの高速性と、ネームスペース省略の軽量さを組み合わせたバージョンです。 検証・消費・入手アクションを1回の呼び出しでまとめて実行します。重複実行排除の仕組みがあるため、安全にリトライできます。 トレードオフ: トランザクションログが GS2-Log に記録されない、溢れ処理が使えないなどの制約があります。 通常は直接呼び出す必要はありません。トランザクション処理時に SDK が自動的に処理します。 Request  stampSheet string  ~ 5242880文字 トランザクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 verifyTaskResultCodes List 検証アクションの実行ステータスコード verifyTaskResults List 検証アクションの実行結果 taskResultCodes List 消費アクションの実行ステータスコード taskResults List 消費アクションの実行結果 sheetResultCode int 入手アクションの実行ステータスコード sheetResult string 入手アクションの実行結果レスポンス内容 実装例 runStampSheetWithoutNamespace ネームスペースを指定せずに入手アクションを実行する ネームスペースの指定を省略した、RunStampSheet の軽量バージョンです。 オーバーヘッドが減りますが、トランザクションログが GS2-Log に記録されない、溢れ処理が使えないなどのトレードオフがあります。 通常は直接呼び出す必要はありません。トランザクション処理時に SDK が自動的に処理します。 Request  stampSheet string  ~ 5242880文字 トランザクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN contextStack string ~ 32768文字 リクエストコンテキスト Result 型 説明 statusCode int ステータスコード result string レスポンス内容 実装例 runStampTask 消費アクションを実行する（リソースの消費） トランザクションの一部として、プレイヤーからリソースを差し引く消費アクションを1つ実行します。 たとえば、ゲーム内通貨の支払い、スタミナの消費、アイテムの使用などです。 通常は直接呼び出す必要はありません。トランザクション処理時に SDK が自動的に処理します。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 stampTask string  ~ 5242880文字 消費アクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN contextStack string ~ 32768文字 リクエストコンテキスト Result 型 説明 contextStack string タスクの実行結果を反映したコンテキストスタック statusCode int ステータスコード result string レスポンス内容 実装例 runStampTaskWithoutNamespace ネームスペースを指定せずに消費アクションを実行する ネームスペースの指定を省略した、RunStampTask の軽量バージョンです。 オーバーヘッドが減りますが、トランザクションログが GS2-Log に記録されない、溢れ処理が使えないなどのトレードオフがあります。 通常は直接呼び出す必要はありません。トランザクション処理時に SDK が自動的に処理します。 Request  stampTask string  ~ 5242880文字 消費アクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN contextStack string ~ 32768文字 リクエストコンテキスト Result 型 説明 contextStack string タスクの実行結果を反映したコンテキストスタック statusCode int ステータスコード result string レスポンス内容 実装例 runVerifyTask 検証アクションを実行する（前提条件のチェック） トランザクションが進む前に前提条件が満たされているかどうかをチェックする、検証アクションを1つ実行します。 たとえば、プレイヤーが必要なアイテムを持っているか、特定のレベルに達しているかなどの検証です。 通常は直接呼び出す必要はありません。トランザクション処理時に SDK が自動的に処理します。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyTask string  ~ 5242880文字 検証アクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN contextStack string ~ 32768文字 リクエストコンテキスト Result 型 説明 contextStack string タスクの実行結果を反映したコンテキストスタック statusCode int ステータスコード result string レスポンス内容 実装例 runVerifyTaskWithoutNamespace ネームスペースを指定せずに検証アクションを実行する ネームスペースの指定を省略した、RunVerifyTask の軽量バージョンです。 オーバーヘッドが減りますが、トランザクションログが GS2-Log に記録されない、溢れ処理が使えないなどのトレードオフがあります。 通常は直接呼び出す必要はありません。トランザクション処理時に SDK が自動的に処理します。 Request  verifyTask string  ~ 5242880文字 検証アクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN contextStack string ~ 32768文字 リクエストコンテキスト Result 型 説明 contextStack string タスクの実行結果を反映したコンテキストスタック statusCode int ステータスコード result string レスポンス内容 実装例 setDefaultConfig トランザクションのデフォルト設定値を登録する トランザクション発行時に使用されるデフォルトの Config 値を保持したコンテキストを準備します。 Config はトランザクションのアクションに埋め込める変数として機能します。たとえば、スロット名や数量の指定などに使います。 ここでデフォルト値を設定しておけば、トランザクション発行のたびに毎回指定する必要がなくなります。 Request  gameSession GameSession  GameSession config List  1 ~ 1000 items トランザクションのプレースホルダに適用する設定値 Result 型 説明 newContextStack string デフォルトコンフィグを反映するためのコンテキストスタック 実装例 getStampSheetResult 完了したトランザクションの結果を取得する（レガシー） トランザクションIDを指定して、過去に完了したトランザクションの実行結果を取得します。 結果には、実行された各アクション（検証・消費・入手）のステータスとレスポンスが含まれます。 トランザクションで何が起きたかを確認するために使います。たとえば、実際にどの報酬が付与されたかの確認などに便利です。 この API はレガシー（スタンプシート方式）のトランザクション結果を取得します。新しいトランザクション形式の場合は GetTransactionResult を使用してください。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession transactionId string  36 ~ 36文字 トランザクションID このトランザクションを一意に識別する UUID です。トランザクションとその実行結果、および連鎖する後続トランザクションの関連付けに使用されます。 Result 型 説明 item EzStampSheetResult トランザクションの実行結果 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getTransactionResult 完了したトランザクションの結果を取得する トランザクションIDを指定して、過去に完了したトランザクションの実行結果を取得します。 結果には、実行された各アクション（検証・消費・入手）のステータスとレスポンスが含まれます。 トランザクションで何が起きたかを確認するために使います。たとえば、実際にどの報酬が付与されたか、どのリソースが消費されたかの確認に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession transactionId string  36 ~ 36文字 トランザクションID この分散トランザクションを一意に識別する UUID です。実行結果の検索や、元の API リクエストとの関連付けに使用されます。 Result 型 説明 item EzTransactionResult トランザクションの実行結果 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 イベントハンドラ OnAutoRunStampSheetNotification トランザクションの自動実行が完了した際に通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID transactionId string トランザクションID このトランザクションを一意に識別する UUID です。トランザクションとその実行結果、および連鎖する後続トランザクションの関連付けに使用されます。 実装例 OnAutoRunTransactionNotification トランザクションの自動実行が完了した際に通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID transactionId string トランザクションID この分散トランザクションを一意に識別する UUID です。実行結果の検索や、元の API リクエストとの関連付けに使用されます。 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Distributor SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Distributor SDK for Game Engine API リファレンス","url":"/ja/api_reference/distributor/game_engine/"},{"content":"モデル EzBalanceParameterStatus バランスパラメータの状態 ユーザーが所有する特定のリソースに対して抽選されたパラメータの実際の値を表します。各ステータスはバランスパラメータモデルに関連付けられ、抽選処理後に各パラメータスロットに割り当てられた具体的な値を保持します。  parameterName string  ~ 128文字 バランスパラメータモデル名 このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのバランスパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 parameterValues List  1 ~ 10 items バランスパラメータの値リスト 抽選処理後に各パラメータスロットに割り当てられた具体的な値です。各エントリはモデルで定義されたパラメータスロットに対応し、割り当てられた実際の数値を保持します。すべての値の合計はモデルで指定された合計値と等しくなります。 EzRarityParameterStatus レアリティパラメータの状態 ユーザーが所有する特定のリソースに対して抽選されたパラメータの実際の値を表します。各ステータスはレアリティパラメータモデルに関連付けられ、付与された各パラメータスロットに対して重み付き抽選で選択された具体的な値を保持します。  parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 parameterValues List 0 ~ 10 items レアリティパラメータの値リスト 付与された各スロットに対して重み付き抽選で選択された具体的なパラメータ値です。エントリ数は付与数の抽選で決定され、各エントリの値は値モデルプールから選択されます。最大パラメータ数より少ないエントリ数になる場合があります。 EzBalanceParameterModel バランスパラメータモデル バランスパラメータの抽選条件を定義します。 バランスパラメータは固定の合計値を複数のパラメータスロットに分配します。例えば、合計パワーが100の武器に対して ATK=60、DEF=30、SPD=10 のように配分されます。初期値の設定方針により値の割り当て方法が決まります： average は均等に分配し、 lottery は合計値をランダムに配分します。  name string  ~ 128文字 バランスパラメータモデル名 バランスパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 totalValue long  0 ~ 9223372036854775805 合計値 すべてのパラメータスロットに分配される固定の合計値です。パラメータが抽選される際、使用される配分方針に関わらず、個々の値の合計は常にこの合計値になります。 initialValueStrategy 文字列列挙型 enum {   “average”,   “lottery” } “average” 初期値の設定方針 初回割り当て時に合計値をパラメータスロットにどのように分配するかを決定します。 average は合計値をすべてのパラメータに均等に分配し、 lottery は合計値をランダムに分配してバラエティに富んだパラメータの組み合わせを作成します。 定義 説明 “average” 平均値 “lottery” 抽選 parameters List  1 ~ 10 items バランスパラメータ値モデルのリスト このバランスパラメータで利用可能なパラメータスロットを定義します。各エントリは名前付きパラメータスロット（例: ATK、DEF、SPD）をオプションのメタデータとともに指定します。合計値はこれらのスロットに分配されます。 EzBalanceParameterValueModel バランスパラメータ値モデル バランスパラメータ内で利用可能な単一のパラメータスロットを定義します。各エントリは、抽選処理中に合計値の一部を受け取る名前付きスロット（例: ATK、DEF、SPD）を指定します。  name string  ~ 64文字 名前 このパラメータスロットの識別子（例: ATK、DEF、SPD）です。バランスパラメータモデル内で一意である必要があります。抽選されたパラメータ値の保存・取得時にキーとして使用されます。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 EzRarityParameterModel レアリティパラメータモデル レアリティパラメータの抽選条件を定義します。レアリティパラメータは重み付き抽選システムを使用して、付与されるパラメータの数と割り当てられる具体的な値の両方を決定します。まず、付与数モデルのリストから重み付き抽選により埋めるパラメータスロット数が決定されます。次に、各スロットの値がパラメータ値モデルのリストから重み付き抽選で選択され、制御された確率分布によるランダムな装備属性を提供します。  name string  ~ 128文字 レアリティパラメータモデル名 レアリティパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumParameterCount int  1 ~ 10 付与するパラメータの最大数 リソースに付与できるパラメータスロット数の上限です。実際に付与される数は付与数モデルのリストからの重み付き抽選で決定されますが、この値を超えることはありません。 parameterCounts List  1 ~ 10 items レアリティパラメータの付与数モデルのリスト 付与されるパラメータスロット数を決定するための重み付き抽選エントリを定義します。各エントリは付与数と排出重みを指定します。重みが大きいほど、その付与数が選択される確率が高くなります。 parameters List  1 ~ 1000 items レアリティパラメータ値モデルのリスト 抽選可能なパラメータ値のプールを定義します。各エントリはパラメータ名、リソース詳細、排出重みを指定します。パラメータスロットを埋める際、このプールから重複なしの重み付き抽選で値が選択されます。 EzRarityParameterCountModel レアリティパラメータの付与数モデル リソースに付与されるパラメータスロット数を決定するための重み付き抽選の単一エントリを定義します。各エントリはパラメータ数と排出重みをペアにし、パラメータ数量の確率分布を細かく制御できます。  count int  0 ~ 10 付与数 このエントリが抽選された際に付与するパラメータスロット数です。例えば、付与数が 3 の場合、リソースは値モデルプールから選択された 3 つのパラメータ値を受け取ります。 weight int  1 ~ 2147483646 排出重み パラメータ付与数を決定する重み付き抽選で使用される相対的な重みです。値が大きいほど、この付与数が選択される確率が高くなります。実際の確率は、この重みを付与数モデルリスト内のすべての重みの合計で割った値になります。 EzRarityParameterValueModel レアリティパラメータ値モデル レアリティパラメータ値の重み付き抽選プール内の単一エントリを定義します。各エントリはパラメータ名、ゲーム定義のリソース詳細、およびプール内の他のエントリに対する選択確率を決定する排出重みを指定します。  name string  ~ 64文字 名前 この抽選エントリの識別子です。レアリティパラメータモデルの値プール内で一意である必要があります。抽選された際、この名前が結果のレアリティパラメータ値に保存されます。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 resourceName string  ~ 64文字 ゲーム内で使用するパラメータリソースの種類を表す名前（GS2の動作のためには使用しません） このパラメータ値に関連付けられたゲーム定義のリソース種別名（例: “fire_attack”、“ice_resist”）です。GS2 はこの値を自身の動作には使用せず、抽選結果にそのまま渡されゲームロジックで使用されます。 resourceValue long  0 ~ 9223372036854775805 ゲーム内で使用するパラメータリソースの値（GS2の動作のためには使用しません） このパラメータのゲーム定義の数値（例: 攻撃力+50 の場合は 50）です。GS2 はこの値を自身の動作には使用せず、抽選結果にそのまま渡されゲームロジックで使用されます。 weight int  1 ~ 2147483646 排出重み パラメータ値を選択する重み付き抽選で使用される相対的な重みです。値が大きいほど、このエントリが選択される確率が高くなります。実際の確率は、この重みをプール内のすべての重みの合計で割った値になります。 EzBalanceParameterValue バランスパラメータ値 バランスパラメータステータス内の単一パラメータスロットに割り当てられた実際の値を表します。抽選処理後のスロット名とその具体的な数値を保持します。  name string  ~ 64文字 名前 パラメータスロットの名前（例: ATK、DEF、SPD）です。バランスパラメータ値モデルで定義されたパラメータスロットに対応します。 value long  0 ~ 9223372036854775805 値 このパラメータスロットに割り当てられた数値です。バランスパラメータが最初に抽選される際に、初期値の設定方針（平均値または抽選）によって決定されます。すべてのスロット値の合計はモデルで定義された合計値と等しくなります。 EzRarityParameterValue レアリティパラメータ値 レアリティパラメータステータス内の単一パラメータスロットに割り当てられた実際の値を表します。スロット名と、値モデルプールから重み付き抽選で選択されたリソース詳細（名前と値）を保持します。  name string  ~ 64文字 名前 値モデルプールから選択されたパラメータ値の名前です。抽選されたレアリティパラメータ値モデルエントリで定義された名前に対応します。 resourceName string  ~ 64文字 リソースの名前 このパラメータ値に関連付けられたゲーム定義のリソース種別名（例: “fire_attack”、“ice_resist”）です。ゲームロジックで使用するため、抽選されたレアリティパラメータ値モデルエントリからコピーされます。 resourceValue long  0 ~ 9223372036854775805 リソースの値 このパラメータに関連付けられたリソースの数値です。抽選されたレアリティパラメータ値モデルエントリからコピーされます。ゲームロジックでパラメータの効果（例: 攻撃力+50）を適用するために使用されます。 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド getBalanceParameterModel 名前を指定してバランスパラメータ定義を取得する 名前を指定して、バランスパラメータモデルを1件取得します。 取得できる情報には、分配する合計値、パラメータスロットのリスト（例: ATK, DEF, SPD）、初期値の決定方法が含まれます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 バランスパラメータモデル名 バランスパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzBalanceParameterModel バランスパラメータモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listBalanceParameterModels バランスパラメータ定義の一覧を取得する このネームスペースに登録されているすべてのバランスパラメータモデルを取得します。 バランスパラメータは、固定の合計値を複数のステータスに分配します。たとえば、ATK・DEF・SPD に合計100ポイントを割り振り、合計が常に100になるようにします。 利用可能なパラメータタイプの表示や、武器・装備の詳細画面でパラメータモデルの設定を確認する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List バランスパラメータモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getBalanceParameterStatus 特定のアイテムのバランスパラメータ値を取得する プレイヤーが所持する特定のアイテム（プロパティ）に割り当てられた現在のバランスパラメータ値を取得します。 値はアイテム作成時（または最後の再抽選時）にランダムに決定され、すべての値の合計は常にモデルの合計値と等しくなります。 アイテム詳細画面で個別のステータス内訳（例: ATK: 40, DEF: 35, SPD: 25）を表示する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 バランスパラメータモデル名 このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。 gameSession GameSession  GameSession propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのバランスパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 Result 型 説明 item EzBalanceParameterStatus バランスパラメータの状態 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listBalanceParameterStatuses プレイヤーのバランスパラメータ値の一覧を取得する プレイヤーのアイテムに割り当てられた現在のバランスパラメータ値を取得します。 パラメータ名でフィルタリングして、特定のパラメータタイプの値のみを取得することもできます。 たとえば、プレイヤーが所持している各武器の ATK/DEF/SPD の配分を確認できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string ~ 128文字 バランスパラメータモデル名 このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List バランスパラメータの状態のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getRarityParameterModel 名前を指定してレアリティパラメータ定義を取得する 名前を指定して、レアリティパラメータモデルを1件取得します。 取得できる情報には、パラメータスロットの最大数、スロット数の決定方法、レアリティの重み（排出率）付きの候補値リストが含まれます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 レアリティパラメータモデル名 レアリティパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzRarityParameterModel レアリティパラメータモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listRarityParameterModels レアリティパラメータ定義の一覧を取得する このネームスペースに登録されているすべてのレアリティパラメータモデルを取得します。 レアリティパラメータは、レアリティの重み付き確率に基づいてパラメータスロットにランダムに値を割り当てます。たとえば、武器にコモン・レア・レジェンダリーのスキルスロットが付くといった仕組みです。 利用可能なパラメータタイプの表示や、装備画面でレアリティ設定を確認する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List レアリティパラメータモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getRarityParameterStatus 特定のアイテムのレアリティパラメータ値を取得する プレイヤーが所持する特定のアイテム（プロパティ）に割り当てられた現在のレアリティパラメータ値を取得します。 値はアイテム作成時（または最後の再抽選時）にモデルで定義されたレアリティの重みに基づいてランダムに抽選されたものです。 武器や装備の詳細画面で、付与されているスキルやアビリティを表示する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 gameSession GameSession  GameSession propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 Result 型 説明 item EzRarityParameterStatus レアリティパラメータの状態 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listRarityParameterStatuses プレイヤーのレアリティパラメータ値の一覧を取得する プレイヤーのアイテムに割り当てられた現在のレアリティパラメータ値を取得します。 パラメータ名でフィルタリングして、特定のパラメータタイプの値のみを取得することもできます。 たとえば、プレイヤーの各武器にどのスキルスロット（コモン・レア・レジェンダリー）が付いているかを確認できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List レアリティパラメータモデルのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 verifyRarityParameterStatus 特定のアイテムのレアリティパラメータを検証する 特定のアイテムのレアリティパラメータが指定した条件を満たすかどうかをチェックします。 3つのチェックタイプが利用できます: have : アイテムが特定のパラメータ値を持っている（例: 「炎斬り」スキルを持っている） havent : アイテムが特定のパラメータ値を持っていない count : アイテムのパラメータスロットが指定数だけ埋まっている 前提条件として使います。たとえば、強化する前に武器が特定のスキルを持っていることを要求する場合などに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 gameSession GameSession  GameSession propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 verifyType  検証の種類 定義 説明 “havent” 指定したパラメータを保有していないこと “have” 指定したパラメータを保有していること “count” 保有しているパラメータの数が指定数であること parameterValueName string {verifyType} in [“havent”, “have”]  ~ 64文字 名前 この抽選エントリの識別子です。レアリティパラメータモデルの値プール内で一意である必要があります。抽選された際、この名前が結果のレアリティパラメータ値に保存されます。 parameterCount int {verifyType} in [“count”]  0 ~ 10 検証するパラメータの数 Result 型 説明 item EzRarityParameterStatus レアリティパラメータの状態 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Enchant SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Enchant SDK for Game Engine API リファレンス","url":"/ja/api_reference/enchant/game_engine/"},{"content":"モデル EzProgress 強化進行状況 強化の開始時に作成され、終了時に削除されます。 強化の途中でアプリを終了した際にはこのデータが残った状態となり エンティティが保持する進行中の強化情報からゲームをリジュームすることが可能です。  name string  UUID ~ 36文字 強化進行状況ID 強化進行状況の一意なIDを保持します。 IDは UUID（Universally Unique Identifier）フォーマットで自動的に生成され、強化進行状況を識別するために使用されます。 rateName string  ~ 128文字 強化レートモデル名 この強化操作のパラメータを定義する強化レートモデルの名前です。対象インベントリ、素材インベントリ、経験値階層、ボーナスレートを指定するモデルを参照します。 propertyId string  ~ 1024文字 強化対象のプロパティID 強化される GS2-Inventory アイテムのプロパティ ID です。強化完了時に経験値を受け取る特定のアイテムインスタンスを識別します。 experienceValue long  0 ~ 9223372036854775805 入手できる経験値 消費した素材から算出された基本経験値です。この値は、各素材のメタデータに定義された経験値に素材数量を乗じた合計として決定されます。 rate float  0 ~ 100.0 経験値倍率 基本経験値に適用されるボーナス倍率です。強化レートモデルのボーナスレートからの重み付き抽選で決定されます。1.0 はボーナスなし、1.0 より大きい値は「大成功」ボーナスを表します（例: 1.5 で経験値 150%）。 EzRateModel 強化レートモデル 強化レートは強化に使用する素材と強化対象を定義したデータです。 素材データ、強化対象データは共に GS2-Inventory で管理されている必要があります。 強化で得られる経験値は GS2-Inventory のメタデータにJSON形式で記録します。 ここではメタデータのどの階層に経験値の値が格納されているかを記載する必要があります。 強化時に一定の確率で 大成功 といった形で入手できる経験値量に補正値をかけることができます。 その抽選確率もこのエンティティで定義します。  name string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 targetInventoryModelId string  ~ 1024文字 強化対象に使用できる GS2-Inventory インベントリモデルの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化対象となるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。強化されるアイテムはこのインベントリモデルに属している必要があります。 acquireExperienceSuffix string  ~ 1024文字 GS2-Experience で入手した経験値を格納するプロパティID に付与するサフィックス アイテムのプロパティ ID の末尾に追加され、経験値が保存される GS2-Experience のプロパティ ID を構成する文字列です。同じアイテムに複数の経験値種別を持たせることができます（例: キャラクターレベルの “level”、好感度の “like”）。 materialInventoryModelId string  ~ 1024文字 強化の素材に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化素材として使用できるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。各素材が提供する経験値は、acquireExperienceHierarchy で指定された JSON 階層を使用してアイテムモデルのメタデータに定義されます。 acquireExperienceHierarchy List 0 ~ 10 items ItemModelのメタデータに格納する、入手経験値を定義するJSONデータの階層構造の定義 GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 例えば、{ “aaa”: { “bbb”: { “experienceValue”: 100 } } } というような構造のデータ定義でメタデータに設定したい場合は、[ “aaa”, “bbb”, “experienceValue” ] のように指定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 experienceModelId string  ~ 1024文字 強化の結果得られる GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化で得られた経験値が記録される GS2-Experience の経験値モデルを指定します。経験値は、対象アイテムのプロパティ ID と acquireExperienceSuffix を組み合わせて識別されるプロパティに加算されます。 EzUnleashRateModel 限界突破レートモデル アイテムの限界突破（解放）条件を定義します。GS2-Inventory で管理されるアイテムと GS2-Grade のグレードモデルを関連付け、グレードの進行を可能にします。各グレードレベルで消費する同種アイテムの数を個別に設定でき、各限界突破段階のコストを細かく制御できます。  name string  ~ 128文字 限界突破レートモデル名 限界突破レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 targetInventoryModelId string  ~ 1024文字 限界突破対象に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 限界突破対象となるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。限界突破するアイテムと素材として消費する同種アイテムの両方がこのインベントリモデルに属している必要があります。 gradeModelId string  ~ 1024文字 グレードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 対象アイテムの限界突破レベルを追跡する GS2-Grade のグレードモデルを指定します。限界突破が成功すると、このグレードモデル内でアイテムのグレードが加算されます。 gradeEntries List  1 ~ 1000 items グレードエントリーリスト 限界突破の各グレードレベルに対する素材コストを定義します。各エントリはグレード値と、そのグレードに到達するために消費する必要がある同種アイテム数をマッピングします。例えば、グレード1は複製1個、グレード2は複製3個のように設定できます。 EzUnleashRateEntryModel 限界突破レートエントリモデル 限界突破の進行における単一グレードレベルの素材コストを定義します。各エントリは対象となるグレード値と、そのグレードを達成するために消費する必要がある同種アイテムの数を指定します。  gradeValue long  1 ~ 1000 対象グレード このエントリがコストを定義するグレード値です。このグレードレベルへの限界突破を実行する際、needCount で指定された数のアイテムが消費されます。 needCount int  1 ~ 1000 同種のアイテムを何個消費するか 対象グレードへの限界突破を実行するために消費する必要がある同種アイテムの数です。これらのアイテムは、限界突破されるアイテムと同じアイテムモデルのものです。 EzConfig コンフィグ設定 トランザクションの変数に適用する設定値  key string  ~ 64文字 名前 value string ~ 51200文字 値 EzMaterial 強化素材 強化操作中に消費される素材アイテムを表します。各素材は特定の GS2-Inventory アイテムセットを参照し、消費する数量を指定します。素材が提供する経験値はアイテムモデルのメタデータから決定されます。  materialItemSetId string  ~ 1024文字 強化の素材となるアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化素材として消費する特定の GS2-Inventory アイテムセットを参照します。アイテムは強化レートモデルで指定された素材インベントリモデルに属している必要があります。 count int 1 0 ~ 2147483645 消費数量 この素材アイテムの消費数量です。この素材から得られる合計経験値は、アイテム1個あたりの経験値（アイテムモデルのメタデータから取得）にこの数量を乗じて計算されます。 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド getRateModel 名前を指定して強化レートモデルを取得する 名前を指定して、強化レートモデルを1件取得します。 取得できる情報には、強化対象アイテムが属するインベントリ、素材が属するインベントリ、素材からの経験値計算方法、ボーナスレートの確率テーブルが含まれます。 特定の強化レシピの詳細を表示する際に使います。たとえば、武器の強化画面で必要な素材やボーナスレートの確率を表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzRateModel 強化レートモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listRateModels 強化レートモデルの一覧を取得する このネームスペースに登録されているすべての強化レートモデルを取得します。 レートモデルは強化のレシピを定義します。どのアイテムを素材に使えるか、各素材がどれだけ経験値を与えるか、ボーナス倍率の抽選があるかなどを設定します。 強化UIを構築する際に使います。たとえば、どの武器が強化可能で、どの素材を受け付けるかを表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 強化レートモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getUnleashRateModel 名前を指定して限界突破レートモデルを取得する 名前を指定して、限界突破（解放）レートモデルを1件取得します。 取得できる情報には、対象インベントリ、アイテムのグレードを管理するグレードモデル、各グレードレベルの素材要件を定義するグレードエントリのリストが含まれます。 特定の限界突破レシピの詳細を表示する際に使います。たとえば、アイテム詳細画面で「グレード1→2: 同アイテム1個必要」「グレード2→3: 同アイテム2個必要」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 限界突破レートモデル名 限界突破レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzUnleashRateModel 限界突破レートモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listUnleashRateModels 限界突破レートモデルの一覧を取得する このネームスペースに登録されているすべての限界突破（解放）レートモデルを取得します。 限界突破レートモデルは、アイテムのグレード（レベル上限）を引き上げる方法を定義します。たとえば、同じ武器の複製を消費してレベル上限を上げるといった仕組みです。 各モデルはグレードごとに必要な素材を指定できるため、アイテムが強くなるほどコストを高くすることもできます。 限界突破UIの構築に使います。どのアイテムが限界突破できるか、どの素材が必要かをプレイヤーに表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 限界突破レートモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 deleteProgress 進行中の強化をキャンセルする プレイヤーの進行中の強化の進行情報を削除し、強化をキャンセルします。 Start で消費された素材は返還されません。保留中の経験値付与のみがキャンセルされます。 プレイヤーが強化をキャンセルしたい場合や、別の強化を始める前にクリーンアップしたい場合に使います。 あるいは、Start の呼び出し時に force を true にすることで、既存の進行情報を自動的に破棄することもできます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 item EzProgress 強化の進行情報 実装例 end 強化を完了する（2フェーズフロー） Start API で開始した強化処理を完了します。 Start の際に事前計算された経験値とボーナスレートを対象アイテムに反映します。 完了後、進行情報は自動的に削除されます。 結果には獲得経験値とボーナスレートが含まれるため、「強化完了！+1200 EXP」のような最終結果画面を表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item EzProgress 強化の進行情報 transactionId string 発行されたトランザクションID stampSheet string 報酬付与処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 acquireExperience long 獲得経験値量 bonusRate float 経験値ボーナスの倍率(1.0=ボーナスなし) 実装例 getProgress 現在の強化の進行情報を取得する プレイヤーの進行中の強化の進行情報を取得します。 進行情報にはレートモデル名、対象アイテム、使用した素材、事前計算された経験値、抽選されたボーナスレートが含まれます。 プレイヤーが離脱して戻ってきた場合に強化確認画面を復元するのに使います。たとえば「+1200 EXP 獲得予定（大成功 x1.5）」を再表示する際に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 item EzProgress 実行中の強化の進行情報 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 start 強化を開始する（2フェーズフロー） 素材を消費して経験値とボーナスレートを計算しますが、経験値はまだ反映しません。 計算結果は進行情報として保存されるため、プレイヤーに確認画面を表示できます。たとえば「+1200 EXP 獲得予定（大成功 x1.5）」のようなプレビューを見せられます。 プレイヤーが確認したら、End を呼んで実際に対象アイテムに経験値を反映します。 すでに進行中の強化がある場合は、 force を true にすると破棄して新しい強化を開始できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 この強化操作のパラメータを定義する強化レートモデルの名前です。対象インベントリ、素材インベントリ、経験値階層、ボーナスレートを指定するモデルを参照します。 targetItemSetId string  ~ 1024文字 強化対象のアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN materials List 0 ~ 10 items 強化素材リスト gameSession GameSession  GameSession force bool false すでに開始している強化がある場合にそれを破棄して開始するか config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 transactionId string 発行されたトランザクションID stampSheet string 強化の開始処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例 enhance アイテムを強化する 指定した素材を消費して、対象アイテムに経験値を付与します（1ステップで完了）。 獲得経験値は強化レートモデルに基づいて計算され、ボーナスレートの確率テーブルから倍率が抽選されることがあります。たとえば「大成功」で経験値1.5倍になるといった仕組みです。 結果には獲得した経験値量と適用されたボーナスレートが含まれるため、「武器がレベルアップ！+1200 EXP（大成功 x1.5）」のような結果画面を表示できます。 これは最もシンプルな強化方法です。プレイヤーに結果を見せてから確定させたい場合は、Start/End フローを使ってください。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession targetItemSetId string  ~ 1024文字 強化対象のアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN materials List  1 ~ 10 items 強化素材リスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item EzRateModel 強化レートモデル transactionId string 発行されたトランザクションID stampSheet string 強化処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 acquireExperience long 獲得経験値量 bonusRate float 経験値ボーナスの倍率(1.0=ボーナスなし) 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Enhance SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Enhance SDK for Game Engine API リファレンス","url":"/ja/api_reference/enhance/game_engine/"},{"content":"モデル EzAwait 交換待機 報酬を受け取る前に実時間の経過が必要な交換の実行状態を表します。プレイヤーが await タイミングタイプの交換を開始した際に作成され、報酬が利用可能になるまでの待機期間を追跡します。待ち時間を短縮または解消するスキップ機能をサポートし、報酬取得時のデフォルト設定値を保存します。  userId string  ~ 128文字 ユーザーID rateName string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 skipSeconds int 0 0 ~ 2147483646 スキップ秒数 待ち時間から差し引く秒数です。スキップ秒数が適用されると、acquirableAt のタイムスタンプがこの分だけ前倒しされます。プレイヤーがリソースを支払って待ち時間を短縮する仕組みを実装するために使用されます。 config List [] 0 ~ 32 items 報酬取得時に適用するデフォルト設定値 待機完了時に報酬が配布される際にトランザクションのプレースホルダ変数として使用されるキーと値のペアです。これらの値は交換開始時に設定され、入手アクションのトランザクションパラメータに適用されます。 exchangedAt long 交換時間 交換が開始され待機が作成されたタイムスタンプです。報酬が利用可能になる時刻を計算するための基準時刻として使用されます（acquirableAt = exchangedAt + lockTime - skipSeconds）。 acquirableAt long 報酬を受け取れるようになる時間 待機期間が満了し報酬が受け取り可能になるタイムスタンプです。exchangedAt + lockTime - skipSeconds として計算されます。現在時刻がこのタイムスタンプを過ぎると、プレイヤーは取得 API を呼び出せるようになります。 EzRateModel 交換レートモデル 交換レートモデルはリソースとリソースを交換する際に使用するレートを定義するエンティティです。 直ちに交換できるレートだけでなく、現実時間で一定時間経過したのちに交換できるレートを設定できます。 現実時間での時間経過が必要な交換レートには、更に即時交換を実行するために必要なリソースを定義することが可能です。  name string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 timingType 文字列列挙型 enum {   “immediate”,   “await” } “immediate” 交換の種類 交換実行後に報酬がいつ配送されるかを決定します。 immediate は交換実行時に即座に報酬を配送します。 await は報酬を受け取る前に実時間の経過が必要で、待機期間（例: クラフト時間）を設けます。 定義 説明 “immediate” 即時 “await” 現実時間の経過待ち lockTime int {timingType} == “await” ※ 0 ~ 538214400 交換実行から実際に報酬を受け取れるようになるまでの待ち時間（分） timingType が await の場合にのみ適用されます。交換が開始されてからプレイヤーが報酬を受け取れるようになるまでに経過する必要がある実時間の分数を指定します。待ち時間はスキップ機能を使用して短縮できます。 ※ timingType が “await” であれば 必須 verifyActions List [] 0 ~ 10 items 検証アクションリスト 交換が実行される前にすべてパスする必要がある事前条件チェックです。いずれかの検証アクションが失敗すると、リソースを消費せずに交換が中止されます。レベル要件やインベントリ容量などの条件を強制するために使用されます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト この交換を実行するためにプレイヤーが支払う必要があるリソース（コスト）を定義します。複数の消費アクションを指定でき、ゴールドとアイテムの両方を必要とするような複雑な交換コストを実現できます。これらのアクションは分散トランザクション内の消費アクションとして実行されます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト 交換完了時にプレイヤーが受け取るリソース（報酬）を定義します。複数の入手アクションを指定して、さまざまなリソースタイプを同時に付与できます。これらのアクションは分散トランザクション内の入手アクションとして実行されます。 EzIncrementalRateModel コスト上昇型交換レートモデル 通常の交換レートは常に一定のレートでの交換を提供します。 上昇型交換レートでは、交換回数に応じてコストが上昇していくレートを定義することができます。 例えば、1回目の交換では 1:1 で交換できるが、2回目の交換では 2:1 で交換できる、といったレートを定義することができます。 このようなレートを定義することで、プレイヤーがゲームを進めることで得られるリソースの価値を上げることができます。 交換回数は現実時間の経過でリセットすることができます。 この機能を利用することで、毎日あるいは毎週交換に必要なコストをリセットすることができます。  name string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 calculateType 文字列列挙型 enum {   “linear”,   “power”,   “gs2_script” }  コスト上昇量の計算方式 交換回数に応じてコストがどのように上昇するかを決定します。 linear はコストを baseValue +（coefficientValue × 交換回数）として計算します。 power はコストを coefficientValue ×（交換回数 + 1）^2 として計算します。 gs2_script は任意のロジックのためにカスタム GS2-Script に計算を委任します。 定義 説明 “linear” ベース値 + (係数 * 交換回数) “power” 係数 * (交換回数 + 1) ^ 2 “gs2_script” GS2-Script による任意のロジック consumeAction EzConsumeAction  消費アクション（数量/値は自動的に上書きされます） 交換のコストとして消費されるリソースの種類を定義します。実際の数量は交換回数と計算方式（線形、べき乗、スクリプト）に基づいて動的に計算されます。アクションの種類と対象リソースのみ指定すればよく、数量フィールドは自動的に上書きされます。 baseValue long {calculateType} == “linear” ※ 0 ~ 9223372036854775805 ベース値 linear 計算方式を使用する場合の初回交換時の基本コストです。合計コストは baseValue +（coefficientValue × 交換回数）として計算されます。 ※ calculateType が “linear” であれば 必須 coefficientValue long {calculateType} in [“linear”, “power”] ※ 0 ~ 9223372036854775805 係数 交換回数に応じてコストがどれだけ速く上昇するかを制御する乗数です。 linear モードでは、各交換でこの値がコストに加算されます。 power モードでは、コストは coefficientValue ×（交換回数 + 1）^2 として計算されます。 ※ calculateType が “linear”,“power\"であれば 必須 exchangeCountId string  ~ 1024文字 交換実行回数を管理する GS2-Limit の回数制限モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 各ユーザーがこのコスト上昇型交換を何回実行したかを追跡する GS2-Limit の回数制限モデルを参照します。カウントは上昇するコストの計算に使用され、GS2-Limit のリセットタイミングを使用して定期的（例: 毎日または毎週）にリセットできます。 maximumExchangeCount int 2147483646 0 ~ 2147483646 交換回数の上限 ユーザーがこのコスト上昇型交換を実行できる最大回数です。交換回数がこの上限に達すると、GS2-Limit によるカウントリセットまでそれ以降の交換が拒否されます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト コスト上昇型交換の完了時にプレイヤーが受け取るリソース（報酬）を定義します。報酬は交換回数に関わらず一定で、コストのみが交換ごとに増加します。 EzConfig コンフィグ設定 トランザクションの変数に適用する設定値  key string  ~ 64文字 名前 value string ~ 51200文字 値 EzAcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzConsumeAction 消費アクション  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzVerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド acquire 完了した時間制交換の報酬を受け取る 必要な待機時間が経過した時間制交換の報酬を受け取ります。 待機時間がまだ経過していない場合、この呼び出しは失敗します。事前に GetAwait で残り時間を確認してください。 受け取ると待機レコードは消費され、プレイヤーはレートモデルで定義された報酬を受け取ります。 たとえば、「鉄の剣」の製作で3時間待った後にこれを呼ぶと、プレイヤーに剣が付与されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 Result 型 説明 item EzAwait 交換待機 transactionId string 発行されたトランザクションID stampSheet string 報酬取得処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例 deleteAwait 待機中の時間制交換をキャンセルする 待機中の交換待機レコードを削除し、交換をキャンセルします。 報酬は付与されず、交換開始時に支払ったリソースも返還されません。 プレイヤーが製作中や建設中の注文をキャンセルしたい場合に使います。コストが戻らないため、確認ダイアログを表示することをおすすめします。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 Result 型 説明 item EzAwait 交換待機 実装例 getAwait 特定の待機中の時間制交換を取得する 特定の交換待機レコードの詳細を取得します。 取得できる情報には、交換タイプ、リクエストした数量、開始日時、残りの待機時間が含まれます。 特定の待機中交換の詳細画面を表示する際に使います。たとえば、「鉄の剣を製作中… 残り2時間30分」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 Result 型 説明 item EzAwait 交換待機 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listAwaits 待機中の時間制交換の一覧を取得する プレイヤーの交換待機レコードを取得します。報酬を受け取る前に待機が必要な交換（クラフトや建設のような仕組み）の一覧です。 レート名を指定して、特定の交換タイプの待機のみを表示することもできます。 「製作中のアイテム」や「進行中」のリストを構築するのに使います。プレイヤーが何を待っていて、あとどのくらいかかるかを表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン Result 型 説明 items List 交換待機のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getRateModel 名前を指定して交換レートモデルを取得する 名前を指定して、交換レートモデルを1件取得します。 取得できる情報には、プレイヤーが支払うもの、受け取るもの、即時交換か待機が必要かが含まれます。 特定の交換の詳細を表示する際に使います。たとえば、ショップのアイテム詳細画面で「コスト: ゴールド100 → 報酬: 回復ポーション1個」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzRateModel 交換レートモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listRateModels 交換レートモデルの一覧を取得する このネームスペースに登録されているすべての交換レートモデルを取得します。 レートモデルは交換のレシピを定義します。プレイヤーが何を支払い（例: ゴールド100枚）、何を受け取るか（例: 回復ポーション1個）を設定します。 タイミングには2種類あります。「即時」交換はすぐに完了し、「待機」交換はプレイヤーが一定時間待ってから報酬を受け取ります（クラフトのような仕組み）。 ショップやクラフトUIを構築する際に、プレイヤーに利用可能な交換オプションを表示するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 交換レートモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getIncrementalRateModel 名前を指定してコスト上昇型交換レートモデルを取得する 名前を指定して、コスト上昇型交換レートモデルを1件取得します。 取得できる情報には、コスト計算方法（線形計算式またはカスタムスクリプト）、基本コスト、交換ごとのコスト増加量、最大交換回数、プレイヤーが受け取るものが含まれます。 特定のコスト上昇型交換の詳細を表示する際に使います。たとえば、ショップ画面で「スタミナ回復: ジェム30個（本日3回目、最大5回）」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzIncrementalRateModel コスト上昇型交換レートモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listIncrementalRateModels コスト上昇型交換レートモデルの一覧を取得する このネームスペースに登録されているすべてのコスト上昇型交換レートモデルを取得します。 コスト上昇型モデルは、プレイヤーが使うたびに値段が上がる交換を定義します。たとえば、スタミナ回復1回目はジェム10個、2回目は20個、3回目は30個…というような仕組みです。 コストの上昇は、シンプルな線形計算式（基本値 + 係数 × 回数）またはカスタムスクリプトで計算できます。 利用可能なコスト上昇型交換と現在のコストを表示するUIを構築するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List コスト上昇型交換レートモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 exchange 交換を実行する 指定した交換レートモデルに基づいてリソースを交換します。 プレイヤーはレートモデルで定義されたコストを支払い、報酬を受け取ります。たとえば、ゴールド100枚を回復ポーション1個と交換するといった処理です。 回数を指定して同じ交換をまとめて実行することもできます（例: ポーション5個をゴールド500枚で購入）。 レートモデルが「待機」タイミングの場合、即時完了ではなく時間待機型の交換が開始されます（報酬の受け取りは Await 系 API を参照してください）。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession count int  1 ~ 1073741821 交換回数 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item EzRateModel 交換レートモデル transactionId string 発行されたトランザクションID stampSheet string 交換処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例 incrementalExchange コスト上昇型の交換を実行する 使うたびにコストが上がるレートモデルを使ってリソースを交換します。 コストはプレイヤーがこれまでに何回交換したかに基づいて自動計算されます。たとえば、スタミナ回復1回目はジェム10個、2回目は20個…というように上がっていきます。 回数を指定してまとめて交換することもできます。その場合、合計コストは各回の価格の合計になります。 毎日のスタミナ回復、回数限定ショップ、繰り返し利用で値上がりさせたい仕組みに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession count int  1 ~ 1073741821 交換回数 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item EzIncrementalRateModel コスト上昇型交換レートモデル transactionId string 発行されたトランザクションID stampSheet string 交換処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Exchange SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Exchange SDK for Game Engine API リファレンス","url":"/ja/api_reference/exchange/game_engine/"},{"content":"モデル EzStatus ステータス ステータスとはプロパティID毎に存在するエンティティで、 現在の経験値やランクキャップの値を保持します。 プロパティID とはステータス固有のIDで、開発者が任意の値を設定できます。 GS2 では経験値を有する GS2-Inventory のアイテムセットGRN や GS2-Dictionary のエントリーGRN の後ろに 経験値モデルとなるサフィックスを追加した値をプロパティIDとすることを推奨しています。  experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 experienceValue long 0 0 ~ 9223372036854775805 累計獲得経験値 このステータスが蓄積した合計経験値です。現在のランクはこの値からランクアップ閾値テーブルを使用して算出されます。現在のランクキャップに対応する閾値を超えて経験値を獲得することはできません。 rankValue long 0 0 ~ 9223372036854775805 現在のランク ランクアップ閾値テーブルを使用して累計経験値から算出されるランク（レベル）です。0 から開始し、経験値閾値を超えるごとに増加します。現在のランクキャップ値を超えることはできません。 rankCapValue long  0 ~ 9223372036854775805 現在のランクキャップ このステータスが現在到達できる最大ランクです。初期値は経験値モデルの defaultRankCap に設定され、限界突破などのランクキャップ増加操作により maxRankCap まで引き上げることができます。 nextRankUpExperienceValue long 0 0 ~ 9223372036854775805 次のランクアップの経験値量 次のランクに到達するために必要な累計経験値の閾値です。ステータスが既にランクキャップに到達している場合は 0 を返します。ゲーム UI でプログレスバーや残り経験値を表示するのに便利です。 EzExperienceModel 経験値モデル 経験値とランクシステムのルールを定義します。ランクアップに必要な経験値の閾値、デフォルトのランクキャップ、最大ランクキャップを設定します。ランクキャップはステータスが到達できる最大ランクを制限し、ステータスごとに最大ランクキャップまで引き上げることができます（例: 限界突破）。オプションで、現在のランクに基づいて報酬倍率を調整する入手アクションレートテーブルを含めることができます。  name string  ~ 128文字 経験値モデル名 経験値モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultExperience long 0 0 ~ 9223372036854775805 経験値の初期値 新規作成されたステータスに割り当てられる経験値です。通常、プレイヤーが進行の最初から始めるように 0 に設定されます。初期ランクはこの値からランクアップ閾値テーブルを使用して決定されます。 defaultRankCap long  0 ~ 9223372036854775805 ランクキャップの初期値 新規作成されたステータスが到達できるデフォルトの最大ランクです。このランクの閾値を超えた経験値は破棄されるかオーバーフロースクリプトがトリガーされます。ランクキャップは限界突破などの操作により、ステータスごとに maxRankCap まで引き上げることができます。 maxRankCap long  0 ~ 9223372036854775805 ランクキャップの最大値 ランクキャップの絶対的な上限です。ランクキャップ増加操作（限界突破など）を行っても、ランクキャップはこの値を超えることはできません。defaultRankCap 以上の値である必要があります。 rankThreshold EzThreshold  ランクアップ閾値 各ランクに必要な累計経験値を定義する閾値テーブルを参照します。閾値のエントリ数が到達可能な最大ランクを決定し、各エントリの値は次のランクに到達するために必要な経験値を指定します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト ステータスのランクを参照として使用する際に報酬量を調整するランクベースの倍率テーブルを定義します。各テーブルはランクと倍率をマッピングし、同じアクションからより高ランクのキャラクターがより多くの報酬を受け取るような仕組みを実現できます。 EzThreshold ランクアップ閾値 ランクアップ閾値は経験値からランク（レベル）を決定するために必要な数列です。 [10, 20] という値を設定した場合、経験値の値が 1~9 の間はランク1、10~19 の間はランク2、経験値の値が 20 でランク3 となり、それ以上経験値を入手することが出来なくなります。  metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 values List  1 ~ 10000 items ランクアップ経験値閾値リスト ランク進行を定義する累計経験値の順序付き配列です。エントリ数が到達可能な最大ランクを決定します。例えば [10, 20] の場合、経験値 0〜9 でランク1、10〜19 でランク2、20 以上でランク3（それ以上の経験値獲得は不可）となります。 EzAcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzAcquireActionRate 報酬加算テーブル ステータスの現在のランクに基づいて報酬量を調整するランクベースの倍率テーブルを定義します。テーブルの各エントリはランクに対応し、入手量に適用される倍率を指定します。標準的な倍精度浮動小数点値と、大規模な計算用の大数値文字列表現の両方をサポートします。  name string  ~ 128文字 報酬加算テーブル名 この報酬加算テーブルの一意な識別子です。特定の入手アクションに適用する倍率テーブルを指定する際に参照されます。 mode 文字列列挙型 enum {   “double”,   “big” } “double” 報酬加算テーブルの種類 倍率値の数値精度を選択します。標準的な浮動小数点数（2^48 まで）には “double” を、大規模な計算が必要な場合は 1024 桁までの文字列表現をサポートする “big” を使用します。 定義 説明 “double” 2^48 未満の浮動小数点数 “big” 文字列表記で1024桁未満の浮動小数点数 rates List {mode} == “double” ※ 1 ~ 10000 items ランクごとの加算量(倍率) ランクをインデックスとする倍率値の配列です。i 番目のエントリはステータスがランク i の時に適用される報酬倍率を定義します。mode が “double” に設定されている場合に使用されます。 ※ mode が “double” であれば 必須 bigRates List {mode} == “big” ※ 1 ~ 10000 items ランクごとの加算量(倍率) ランクをインデックスとする文字列表現の倍率値の配列です。i 番目のエントリはステータスがランク i の時に適用される報酬倍率を定義します。大数値精度が必要な計算で mode が “big” に設定されている場合に使用されます。 ※ mode が “big” であれば 必須 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド getExperienceModel 名前を指定して経験値モデルを取得する 名前を指定して、経験値モデルを1件取得します。 取得できる情報には、各レベルに必要な経験値（ランクアップ閾値）、デフォルトの最大レベル、絶対的な最大レベルが含まれます。 レベルの進捗を計算・表示する際に使います。たとえば、プレイヤーの武器が次のレベルに到達するのにあとどれだけ経験値が必要か、限界突破後の最大レベルはいくつかを表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 experienceName string  ~ 128文字 経験値モデル名 経験値モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzExperienceModel 経験値モデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listExperienceModels 経験値モデルの一覧を取得する このネームスペースに登録されているすべての経験値モデルを取得します。 経験値モデルはレベルアップの仕組みを定義します。各レベルに必要な経験値、デフォルトの最大レベル、絶対的な最大レベルなどを設定します。 レベルアップ関連のUIを構築する際に使います。たとえば「次のレベルまで: 150/500 EXP」の表示や、キャラクター詳細画面でレベルアップの閾値を表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 経験値モデルリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getStatus 特定のアイテムやキャラクターのレベル・経験値ステータスを取得する プレイヤーが所持する特定のプロパティの現在のレベル、経験値、最大レベルを取得します。 プロパティは経験値モデル名（どのレベルアップシステムを使うか）とプロパティID（どのアイテムやキャラクターか）で識別します。 詳細画面を表示する際に使います。たとえば「鉄の剣 Lv.15 — EXP: 3200/5000 — 最大Lv: 50」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 gameSession GameSession  GameSession propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 Result 型 説明 item EzStatus ステータス 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getStatusWithSignature 改ざん防止の署名付きでレベル・経験値ステータスを取得する GetStatus と同じレベル・経験値情報を取得しますが、データが改ざんされていないことを証明する暗号署名も一緒に返します。 プレイヤーのレベルを信頼できる方法で検証する必要がある場合に便利です。たとえば、他のサービスでレベルを条件として使う場合や、外部システムにレベルデータを渡して真正性を確認する必要がある場合に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 gameSession GameSession  GameSession propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzStatus ステータス body string 検証対象のオブジェクト signature string 署名 実装例 listStatuses プレイヤーのレベル・経験値ステータスの一覧を取得する プレイヤーのアイテムやキャラクターの現在のレベルと経験値情報を取得します。 経験値モデル名でフィルタリングすることもできます。省略するとすべての経験値タイプのステータスが返されます。 各ステータスには、特定のプロパティ（武器やキャラクターなど）の現在の経験値、現在のレベル、最大レベルが含まれます。 プレイヤーがレベルを上げたアイテムの一覧画面を構築するのに使います。たとえば「鉄の剣 Lv.15、炎の杖 Lv.8」のように表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 experienceName string ~ 128文字 経験値モデル名 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ステータスのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Experience SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Experience SDK for Game Engine API リファレンス","url":"/ja/api_reference/experience/game_engine/"},{"content":"モデル EzMold フォームの保存領域 ゲームプレイヤーが編成した情報を保持するエンティティです。 編成情報(Form) は フォームの保存領域(Mold) ごとに複数保持することができ、いくつ保持できるかのキャパシティをゲームプレイヤー×フォームの保存領域 ごとに個別に設定できます。  name string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID capacity int  0 ~ 2147483646 現在のキャパシティ この保存領域でこのプレイヤーが現在利用できるフォーム保存スロット数です。初期値は保存領域モデルの initialMaxCapacity に設定され、キャパシティ増加操作により maxCapacity まで拡張できます。 EzForm フォーム 編成状況を表すエンティティです。 編成できる領域として スロット を定義できます。 武器・防具 であれば 「右手」「左手」「胴」「腕」のような部位をスロットとし、 パーティであれば「前衛」「中衛」「後衛」のようなポジションをスロットとして表現できます。  name string  ~ 128文字 フォーム名 このフォームが属する保存領域モデルの名前です。このフォームインスタンスに適用されるフォームモデル（スロット構成）を識別します。 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 slots List 0 ~ 10 items スロットリスト このフォームの現在のスロット割り当てです。各エントリはフォームモデルで定義されたスロットに対応し、そのポジションに割り当てられたリソースのプロパティ ID を保持します。スロット名はフォームモデルで定義されたものと一致する必要があります。 EzPropertyForm プロパティフォーム 編成状況を表すエンティティです。 Mold / Form との違いは、スロット数を定義して、各スロットに編成を記録するのが Mold / Form で、 所有している装備に対してスキルを設定するような、数を事前に決めるのが難しい編成を表現するのに利用するのがプロパティフォームです。  name string  ~ 128文字 プロパティフォーム名 このプロパティフォームのスロット構成を定義するプロパティフォームモデルの名前です。割り当て可能なスロットを決定します。 propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 slots List 0 ~ 10 items スロットリスト このプロパティフォームの現在のスロット割り当てです。各エントリはプロパティフォームモデルで定義されたスロットに対応します。例えば、プロパティフォームが装備のスキル設定を表す場合、各スロットは異なるスキル割り当てを保持します。 EzFormModel フォームモデル フォームモデルは編成状況を表すエンティティです。 編成できる領域として スロット を定義できます。 武器・防具 であれば 「右手」「左手」「胴」「腕」のような部位をスロットとし、 パーティであれば「前衛」「中衛」「後衛」のようなポジションをスロットとして表現できます。  name string  ~ 128文字 フォームモデル名 フォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このフォームを構成するスロット定義の順序付きリストです。各スロットは割り当て可能なポジションを表し、スロット名はフォーム内で一意である必要があります。装備では「weapon」「armor」「accessory」のようなスロット、パーティでは「position_1」「position_2」のようなスロットが考えられます。 EzMoldModel フォームの保存領域モデル フォームの保存領域モデルは、パーティ編成であれば「火属性パーティ」「水属性パーティ」のような形で保存することを想定しています。 保存できる領域の数は制限することができ、個別に拡張することもできます。  name string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 formModel EzFormModel  フォームモデル initialMaxCapacity int  1 ~ 2147483646 フォームを保存できる初期キャパシティ この保存領域で各プレイヤーが利用できるデフォルトのフォーム保存スロット数です。例えば 3 に設定すると、プレイヤーは初期状態で最大 3 つの異なる編成（例:「火属性パーティ」「水属性パーティ」「風属性パーティ」）を保存できます。プレイヤーごとに maxCapacity まで拡張可能です。 maxCapacity int  1 ~ 2147483646 フォームを保存できる最大キャパシティ この保存領域でプレイヤーごとのフォーム保存スロット数の絶対的な上限です。キャパシティ拡張操作を行っても、キャパシティはこの値を超えることはできません。initialMaxCapacity 以上の値である必要があります。 EzPropertyFormModel プロパティフォームモデル プロパティフォームモデルは編成状況を表すエンティティです。 Mold / Form との違いは、スロット数を定義して、各スロットに編成を記録するのが Mold / Form で、 所有している装備に対してスキルを設定するような、数を事前に決めるのが難しい編成を表現するのに利用するのがプロパティフォームモデルです。  name string  ~ 128文字 プロパティフォームモデル名 プロパティフォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このプロパティフォームのスロット定義の順序付きリストです。キャパシティでフォーム数が制限される Mold/Form とは異なり、プロパティフォームはプロパティ ID で識別され、所有するリソースごとに存在できます。スロット名はフォーム内で一意である必要があります。 EzSlotModel スロットモデル フォームモデル内の1つのスロットを定義します。スロットはゲームリソース（アイテム、キャラクター、装備など）を配置できる割り当て可能なポジションを表します。プロパティの正規表現によってスロットに設定可能な値が検証されます。  name string  ~ 128文字 スロットモデル名 フォームモデル内でこのスロットを一意に識別する名前です。装備フォームでは「right_hand」「body」のような名前が、パーティフォームでは「vanguard」「rear_guard」のような名前が一般的です。 propertyRegex string “.*” ~ 512文字 プロパティとして設定可能な値の正規表現 このスロットに割り当て可能なプロパティ ID 値を検証する正規表現パターンです。例えば、特定の GS2-Inventory アイテム GRN や GS2-Dictionary エントリー GRN に制限することができます。デフォルトは “.*” で任意の値を許可します。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 EzSlot スロット フォーム内の1つのスロットの実際の割り当て状態を表します。各スロットは、プレイヤーがそのポジションに配置したゲームリソース（GS2-Inventory のアイテムセットや GS2-Dictionary のエントリーなど）を参照するプロパティ ID を保持します。  name string  ~ 128文字 スロットモデル名 フォームモデル内でこのスロットを一意に識別する名前です。装備フォームでは「right_hand」「body」のような名前が、パーティフォームでは「vanguard」「rear_guard」のような名前が一般的です。 propertyId string ~ 1024文字 プロパティID このスロットに割り当てられたゲームリソースを参照する開発者定義の識別子です。通常、GS2-Inventory のアイテムセット GRN、GS2-Dictionary のエントリー GRN、またはその他のリソース識別子です。スロットモデルの propertyRegex パターンに一致する必要があります。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 EzSlotWithSignature 署名付きスロット プレイヤーが参照するリソースを所有していることを証明する暗号署名を含むスロット割り当てです。フォーム更新時に、プレイヤーがスロットに配置するアイテム、エントリー、またはその他のリソースを実際に所有していることを検証し、不正な割り当てを防止するために使用されます。  name string  ~ 128文字 スロットモデル名 スロットモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyType 文字列列挙型 enum {   “gs2_inventory”,   “gs2_simple_inventory”,   “gs2_dictionary” }  プロパティの種類 このスロットが参照する GS2 リソースの種類を指定します。署名の検証方法を決定します。GS2-Inventory のアイテムセット、GS2-Inventory のシンプルアイテム、GS2-Dictionary のエントリーはそれぞれ異なる署名形式を持ちます。 定義 説明 “gs2_inventory” GS2-Inventory::ItemSet “gs2_simple_inventory” GS2-Inventory::SimpleItem “gs2_dictionary” GS2-Dictionary::Entry body string ~ 1048576文字 ペイロード リソースを所有する GS2 サービスから取得したシリアライズされたリソースデータです。署名を検証し所有権を確認するために必要なリソース状態情報を含みます。 signature string ~ 1024文字 プロパティIDが指すリソースを所有していることを証明する署名 リソースを所有する GS2 サービスによって生成された暗号署名です。フォーム更新時に、プレイヤーが参照するアイテムセット、シンプルアイテム、またはディクショナリエントリーを所有していることを確認するために検証されます。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 EzConfig コンフィグ設定 トランザクションの変数に適用する設定値  key string  ~ 64文字 名前 value string ~ 51200文字 値 EzAcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド getMoldModel 名前を指定して編成プリセットモデルを取得する 名前を指定して、保存領域モデルを1件取得します。 取得できる情報には、紐づくフォームモデル（スロット構成）、プレイヤーが最初に保存できるプリセット数、拡張後の最大保存数が含まれます。 特定のプリセットカテゴリの詳細を表示する際に使います。たとえば、編成詳細画面で「装備プリセット: 3/5使用中、最大10まで拡張可能」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzMoldModel フォームの保存領域 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listMoldModels 編成プリセットモデルの一覧を取得する このネームスペースに登録されているすべての保存領域モデルを取得します。 保存領域モデルは「装備プリセット」や「パーティプリセット」のように、プレイヤーが保存できる編成プリセットの種類を定義します。初期の保存数や拡張後の最大保存数も含まれます。 各保存領域モデルはスロット構成を定義するフォームモデルに紐づいています。 編成管理画面で「装備セット（3/5枠使用中）」のように、利用可能なプリセットカテゴリを表示するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List フォームの保存領域のリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getMold 名前を指定して編成プリセット保存領域を取得する 特定の保存領域モデルに対するプレイヤーの保存領域レコードを取得します。 取得できる情報には、現在の容量（このカテゴリでプレイヤーが使えるプリセット枠の数）が含まれます。 特定のプリセットカテゴリの状態を確認する際に使います。たとえば、新しいプリセットを作る前に「装備プリセット: 3/5枠」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 item EzMold フォームの保存領域 moldModel EzMoldModel フォームの保存領域 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listMolds プレイヤーの編成プリセット保存領域の一覧を取得する プレイヤーが持つすべての保存領域（プリセットストレージ）のレコードを取得します。 各保存領域には、そのカテゴリでプレイヤーが保存できるフォームプリセットの現在の容量が記録されています。 たとえば「装備プリセット」が5枠中3枠使用中、「パーティプリセット」が3枠中1枠使用中のように確認できます。 編成管理の概要画面で、すべてのプリセットカテゴリとその使用状況を表示するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List フォームの保存領域のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getFormModel フォームのスロット構成定義を取得する 特定の保存領域モデルに紐づくフォームモデルを取得します。 フォームモデルは「武器スロット」「防具スロット」「アクセサリスロット」のように、装備編成やパーティ編成を構成するスロットの定義です。 各スロットには、どの種類のアイテム（インベントリ、シンプルインベントリ、辞書から）をセットできるかが設定されています。 装備編成画面やフォーメーション編集画面を構築する際に、どんなスロットがあるかを把握するために使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzFormModel フォーム 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 deleteForm 保存済み編成プリセットを削除する 保存領域内の指定したインデックスのフォームプリセットを削除し、すべてのスロット内容をクリアします。 プリセット枠は空になり、後で新しい編成を保存できるようになります。 プレイヤーが保存済みプリセットを削除したい場合に使います。たとえば、編成詳細画面の「プリセットを削除」ボタンに使えます。操作は取り消せないため、確認ダイアログの表示をおすすめします。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 gameSession GameSession  GameSession index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 Result 型 説明 item EzForm フォーム mold EzMold フォームの保存領域 moldModel EzMoldModel フォームの保存領域モデル formModel EzFormModel フォームモデル 実装例 getForm 特定の保存済み編成プリセットを取得する 保存領域モデル名とプリセットのインデックス（0, 1, 2, …）を指定して、フォームプリセットを1件取得します。 取得できる情報には、各スロットの内容（各ポジションにどのアイテムが装備されているか）が含まれます。 編成の詳細画面を表示する際に使います。たとえば「プリセット1: 武器＝鉄の剣、防具＝鋼の鎧、アクセサリ＝疾風の指輪」のように表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 gameSession GameSession  GameSession index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 Result 型 説明 item EzForm フォーム mold EzMold フォームの保存領域 moldModel EzMoldModel フォームの保存領域モデル formModel EzFormModel フォームモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getFormWithSignature 改ざん防止の署名付きで編成プリセットを取得する フォームプリセットを暗号署名付きで取得します。この署名はデータが改ざんされていないことを証明します。 クライアント側から SetForm でフォームを更新する際にこの署名が必要です。まずこのAPIで現在のフォームと署名を取得し、変更内容と一緒にその署名を送信します。 「編成を編集する」フローの最初のステップとして使います。現在のプリセットを署名付きで取得し、プレイヤーに変更させ、SetForm で保存する流れです。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 gameSession GameSession  GameSession index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzForm フォーム body string 署名対象の値 signature string 署名 mold EzMold フォームの保存領域 moldModel EzMoldModel フォームの保存領域モデル formModel EzFormModel フォームモデル 実装例 listForms 保存済み編成プリセットの一覧を取得する 特定の保存領域（プリセットカテゴリ）内にプレイヤーが保存したすべてのフォームプリセットを取得します。 各フォームは、アイテム参照がセットされたスロットの集まりです。たとえばプリセット1には武器スロットに「鉄の剣」、防具スロットに「鋼の鎧」がセットされているといった具合です。 プリセット選択画面を構築するのに使います。「プリセット1: 攻撃型ビルド」「プリセット2: 防御型ビルド」のように、保存済みの編成を一覧表示して切り替えられます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List フォームのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 setForm 編成プリセットの変更を保存する フォームプリセットのスロット内容を更新します。たとえば、武器スロットを「鉄の剣」から「炎の剣」に変更するといった操作です。 改ざん防止のため、GetFormWithSignature で取得した署名が必要です。典型的な流れは、(1) GetFormWithSignature で現在のフォームと署名を取得、(2) プレイヤーに編成を編集させる、(3) 新しいスロット値と署名を添えてこのAPIを呼ぶ、という手順です。 指定したインデックスにまだフォームがない場合、新しいプリセットが作成されます（保存領域に空き容量がある場合）。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 gameSession GameSession  GameSession index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 slots List  1 ~ 10 items スロットリスト keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzForm フォーム mold EzMold フォームの保存領域 moldModel EzMoldModel フォームの保存領域モデル formModel EzFormModel フォームモデル 実装例 getPropertyFormModel 名前を指定してアイテム別フォームモデルを取得する 名前を指定して、プロパティフォームモデルを1件取得します。 取得できる情報には、スロット定義が含まれます。どんなスロット（「武器」「防具」「スキル」など）があり、各スロットにどの種類のアイテムをセットできるかがわかります。 特定のキャラクターやアイテムの装備編集画面を構築する際に使います。たとえば、プレイヤーがキャラクターをタップして装備を管理する画面に使えます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 プロパティフォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzPropertyFormModel プロパティフォーム 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listPropertyFormModels アイテム別フォームモデルの一覧を取得する このネームスペースに登録されているすべてのプロパティフォームモデルを取得します。 プロパティフォームモデルは、番号付きプリセットではなくカスタムのプロパティID（キャラクターIDや武器IDなど）で識別されるフォームのスロット構成を定義します。 各キャラクターやアイテムごとに個別の装備セットを持たせたい場合に便利です。たとえば「勇者の装備」「魔法使いの装備」のように、プロパティIDにキャラクターの固有IDを使います。 編成管理画面で利用可能なアイテム別フォームの種類を表示するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List プロパティフォームのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 deletePropertyForm キャラクターやアイテムの装備セットを削除する 特定のプロパティIDのプロパティフォームを削除し、すべてのスロット内容をクリアします。 削除後、そのキャラクターやアイテムは装備セットを持たない状態になります。後から SetPropertyForm で新しいセットを作ることができます。 プレイヤーがキャラクターの装備をリセットしたい場合に使います。たとえば、キャラクター詳細画面の「装備をすべて外す」ボタンに使えます。装備中のアイテムがすべて外れるため、確認ダイアログの表示をおすすめします。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 Result 型 説明 item EzPropertyForm プロパティフォーム propertyFormModel EzPropertyFormModel プロパティフォームモデル 実装例 getPropertyForm 特定のキャラクターやアイテムの装備セットを取得する プロパティフォームモデル名とプロパティID（キャラクターIDなど）を指定して、プロパティフォームを1件取得します。 取得できる情報には、各スロットの内容（そのキャラクターやアイテムの各ポジションにどのアイテムが装備されているか）が含まれます。 キャラクターの装備詳細画面を表示する際に使います。たとえば「勇者: 武器＝炎の剣、鎧＝竜の鎧、盾＝聖なる盾」のように表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 gameSession GameSession  GameSession propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 Result 型 説明 item EzPropertyForm フォーム propertyFormModel EzPropertyFormModel フォームモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getPropertyFormWithSignature 改ざん防止の署名付きでキャラクター装備セットを取得する プロパティフォームを暗号署名付きで取得します。この署名はデータが改ざんされていないことを証明します。 クライアント側から SetPropertyForm で更新する際にこの署名が必要です。まずこのAPIで現在のフォームと署名を取得し、変更内容と一緒にその署名を送信します。 「キャラクターの装備を編集する」フローの最初のステップとして使います。現在の装備を署名付きで取得し、プレイヤーに変更させ、SetPropertyForm で保存する流れです。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 gameSession GameSession  GameSession propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzPropertyForm プロパティフォーム body string 署名対象の値 signature string 署名 propertyFormModel EzPropertyFormModel プロパティフォームモデル 実装例 listPropertyForms アイテム別装備セットの一覧を取得する 特定のプロパティフォームモデルに対するプレイヤーのすべてのプロパティフォームレコードを取得します。 通常のフォーム（番号付きプリセット枠に保存）とは異なり、プロパティフォームはカスタムのプロパティID（通常はキャラクターIDやアイテムID）で識別されます。 たとえば「勇者の装備」「魔法使いの装備」「弓使いの装備」のように、各キャラクターが個別の装備構成を持っている場合の一覧が取得できます。 すべてのキャラクターとその装備構成を表示する概要画面を構築するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List フォームのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 setPropertyForm キャラクターやアイテムの装備セットの変更を保存する プロパティフォームのスロット内容を更新します。たとえば、勇者の武器を「鉄の剣」から「炎の剣」に変更するといった操作です。 改ざん防止のため、GetPropertyFormWithSignature で取得した署名が必要です。典型的な流れは、(1) GetPropertyFormWithSignature で現在のフォームと署名を取得、(2) プレイヤーに装備を編集させる、(3) 新しいスロット値と署名を添えてこのAPIを呼ぶ、という手順です。 指定したプロパティIDにまだプロパティフォームがない場合、自動的に新規作成されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 gameSession GameSession  GameSession propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 slots List  1 ~ 10 items スロットリスト keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzPropertyForm プロパティフォーム proeprtyFormModel EzPropertyFormModel プロパティフォームモデル 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Formation SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Formation SDK for Game Engine API リファレンス","url":"/ja/api_reference/formation/game_engine/"},{"content":"モデル EzProfile プロフィール プロフィールはゲームプレイヤーに関する情報を格納します。 プロフィールは公開範囲ごとに設定することが可能で、3種類あります。 friend フレンド関係が成立している相手に閲覧可能な内容 follow フォローされている相手が閲覧可能な内容 public 誰でも閲覧可能な内容  userId string  ~ 128文字 ユーザーID publicProfile string ~ 1024文字 公開されるプロフィール 関係性に関わらずすべてのプレイヤーに表示されるプロフィール情報です。通常、表示名、アバター、その他公開可能な情報に使用されます。 followerProfile string ~ 1024文字 フォロワー向けに公開されるプロフィール このユーザーをフォローしているプレイヤーにのみ表示されるプロフィール情報です。公開プロフィールよりも詳細な情報（ゲームプレイ統計やステータスメッセージなど）を含むことができます。 friendProfile string ~ 1024文字 フレンド向けに公開されるプロフィール 相互フレンド関係が成立しているプレイヤーにのみ表示されるプロフィール情報です。最もプライベートなプロフィールレベルで、連絡先やプライベートメッセージなどの個人情報の共有に適しています。 EzBlackList ブラックリスト プレイヤーがブロックしたユーザーのリストを管理します。ブロックされたユーザーはこのプレイヤーにフレンドリクエストやフォローリクエストを送信できなくなり、望まないインタラクションを制御するメカニズムを提供します。  userId string  ~ 128文字 ユーザーID targetUserIds List 0 ~ 1000 items ブラックリストのユーザーIDリスト このプレイヤーがブロックしたユーザー ID のリストです。ブロックされたユーザーはこのプレイヤーにフレンドリクエストやフォローリクエストを送信できません。 EzFollowUser フォローユーザー 現在のユーザーがフォローしているユーザーを表します。フォロー対象ユーザーの公開プロフィールとフォロワーレベルのプロフィール情報へのアクセスを提供し、これはフォロワーには表示されますが一般には公開されません。  userId string  ~ 128文字 ユーザーID publicProfile string ~ 1024文字 公開されるプロフィール フォロー対象ユーザーの公開プロフィール情報で、すべてのプレイヤーがアクセスできます。 followerProfile string ~ 1024文字 フォロワー向けに公開されるプロフィール フォロワーにのみ表示されるプロフィール情報です。公開プロフィールよりも詳細な情報を含めることができます。 EzFriendUser フレンドユーザー 現在のユーザーと相互フレンド関係が成立しているユーザーを表します。フレンドの公開プロフィールとフレンドレベルのプロフィール情報へのアクセスを提供し、これは確認済みのフレンドにのみ表示されます。  userId string  ~ 128文字 ユーザーID publicProfile string ~ 1024文字 公開されるプロフィール フレンドの公開プロフィール情報で、すべてのプレイヤーがアクセスできます。 friendProfile string ~ 1024文字 フレンド向けに公開されるプロフィール 確認済みのフレンドにのみ表示されるフレンドのプロフィール情報です。公開プロフィールよりもプライベートな情報を含みます。 EzFriendRequest フレンドリクエスト 2人のプレイヤー間のフレンドリクエストを表します。送信者のユーザー ID、受信者のユーザー ID、および表示用の送信者の公開プロフィールを含みます。  userId string  ~ 128文字 フレンドリクエストを送信したユーザーID targetUserId string  ~ 128文字 フレンドリクエストを送信されたユーザーID publicProfile string ~ 1024文字 公開されるプロフィール フレンドリクエスト送信者の公開プロフィールです。受信者が誰がフレンド申請しているかを識別できるよう、表示用に含まれます。 EzPublicProfile 公開プロフィール ユーザーの公開プロフィール情報の読み取り専用ビューです。フレンドやフォロー関係を必要とせず、任意のユーザーについて取得できます。検索結果、リーダーボード、その他の公開コンテキストでプレイヤー情報を表示するために使用されます。  userId string  ~ 128文字 ユーザーID publicProfile string ~ 1024文字 公開されるプロフィール ユーザーの公開プロフィール内容です。フレンドやフォロワーの関係を必要とせずにアクセスできます。 メソッド getProfile プレイヤー自身のプロフィールを取得する プレイヤー自身のプロフィールを、3つの公開レベルすべて含めて取得します： 公開プロフィール: 誰でも見られる情報（プレイヤー名、アバターなど） フォロワー向けプロフィール: フォローしてくれている人だけに見える情報（プレイスタイル、好きなチームなど） フレンド向けプロフィール: 相互フレンドだけに見える情報（本名、連絡先など） 「マイプロフィール」や「プロフィール編集」画面で、プレイヤーが自分のプロフィール情報を確認・管理できるようにするために使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 item EzProfile プロフィール 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getPublicProfile 他のプレイヤーの公開プロフィールを取得する 指定したプレイヤーのプロフィールのうち、公開部分のみを取得します。フォローやフレンドの関係に関係なく、誰でも見られる情報です。 たとえば表示名、アバター、レベルなどが返されますが、フォロワー限定やフレンド限定のプロフィールデータは含まれません。 ランキング、チャット、マッチング結果などで他のプレイヤーの名前をタップした際に、プレイヤーカードやミニプロフィールを表示するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID Result 型 説明 item EzPublicProfile 公開プロフィール 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 updateProfile プレイヤー自身のプロフィールを更新する プレイヤーのプロフィールを3つの公開レベルで更新します： publicProfile: すべてのプレイヤーに表示される情報（表示名、レベル、アバターアイコンなど） followerProfile: フォロワーだけに表示される追加情報（「ギルドメンバー募集中！」など） friendProfile: フレンドだけに表示されるプライベートな情報（Discord ID、スケジュールなど） 各フィールドは自由形式の文字列なので、テキストやJSONデータなど何でも保存できます。設定画面やプロフィール編集画面からプレイヤーがプロフィールを編集する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession publicProfile string ~ 1024文字 公開されるプロフィール 関係性に関わらずすべてのプレイヤーに表示されるプロフィール情報です。通常、表示名、アバター、その他公開可能な情報に使用されます。 followerProfile string ~ 1024文字 フォロワー向けに公開されるプロフィール このユーザーをフォローしているプレイヤーにのみ表示されるプロフィール情報です。公開プロフィールよりも詳細な情報（ゲームプレイ統計やステータスメッセージなど）を含むことができます。 friendProfile string ~ 1024文字 フレンド向けに公開されるプロフィール 相互フレンド関係が成立しているプレイヤーにのみ表示されるプロフィール情報です。最もプライベートなプロフィールレベルで、連絡先やプライベートメッセージなどの個人情報の共有に適しています。 Result 型 説明 item EzProfile 更新したプロフィール 実装例 describeFollowUsers プレイヤーがフォローしているプレイヤーの一覧を取得する 現在のプレイヤーがフォローしているすべてのプレイヤーを取得します。 フォローは一方向の関係です。相手の承認なしにフォローできる、SNSのフォローのような仕組みです。 withProfile を true にすると、フォロー先プレイヤーのフォロワー向けプロフィール（フォロワーに公開している追加情報）も一緒に返されます。 「フォロー中」リスト画面を構築して、プレイヤーが自分のフォロー一覧を確認できるようにするのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession withProfile bool false プロフィールも一緒に取得するか limit int 30 1 ~ 1000 データの取得件数 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン Result 型 説明 items List フォローしているユーザーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 follow 他のプレイヤーをフォローする 指定したプレイヤーを現在のプレイヤーのフォローリストに追加します。 フォローは相手の承認が不要な一方向のアクションです。SNSのフォローと同じ仕組みです。 フォロー後、対象プレイヤーのフォロワー向けプロフィール情報（フォロワーに公開している追加情報）を見られるようになります。 他のプレイヤーのプロフィール画面、検索結果、ランキング画面などの「フォロー」ボタンに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession targetUserId string  ~ 128文字 フォローしたい相手のユーザーID withProfile bool  false プロフィールも一緒に取得するか Result 型 説明 item EzFollowUser フォローしたユーザ 実装例 getFollowUser 特定のプレイヤーをフォローしているか確認する 現在のプレイヤーのフォローリストから特定のプレイヤーを取得します。 対象プレイヤーがフォローリストにいれば、その情報が返されます。withProfile を true にすると、フォロワー向けプロフィールも含まれます。 プレイヤーがすでに相手をフォローしているか確認するのに使います。たとえば、他のプレイヤーのプロフィール画面で「フォロー中 / フォローする」ボタンの表示を切り替えるのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession withProfile bool false プロフィールも一緒に取得するか targetUserId string  ~ 128文字 ユーザーID Result 型 説明 item EzFollowUser フォローしているユーザー 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 unfollow プレイヤーのフォローを解除する 指定したプレイヤーを現在のプレイヤーのフォローリストから削除します。 フォロー解除後、対象プレイヤーのフォロワー向けプロフィール情報が見られなくなります。 フォロー中のプレイヤーのプロフィール画面や「フォロー中」リスト画面の「フォロー解除」ボタンに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession targetUserId string  ~ 128文字 ユーザーID withProfile bool  false プロフィールも一緒に取得するか Result 型 説明 item EzFollowUser アンフォローしたユーザ 実装例 deleteFriend フレンドリストからプレイヤーを削除する 指定したプレイヤーを現在のプレイヤーのフレンドリストから削除し、相互フレンド関係を解除します。 削除後、お互いのフレンド向けプロフィール情報が見られなくなります。 フレンドのプロフィール画面や詳細画面の「フレンド解除」ボタンに使います。相手側もフレンド関係が解除されるため、確認ダイアログの表示をおすすめします。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession targetUserId string  ~ 128文字 ユーザーID withProfile bool  false プロフィールも一緒に取得するか Result 型 説明 item EzFriendUser 削除したフレンドのユーザー 実装例 describeFriends プレイヤーのフレンドリストを取得する 現在のプレイヤーと相互フレンドになっているすべてのプレイヤーを取得します。 フォロー（一方向）とは異なり、フレンドはフレンドリクエストが承認されて成立する双方向の関係です。 withProfile を true にすると、各フレンドのフレンド向けプロフィール（最もプライベートなレベルのプロフィール情報）も一緒に返されます。 「フレンド」リスト画面を構築するのに使います。たとえば、フレンドの名前、アバター、オンライン状態などを表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession withProfile bool false プロフィールも一緒に取得するか limit int 30 1 ~ 1000 データの取得件数 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン Result 型 説明 items List フレンドのユーザーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getFriend 特定のフレンドの情報を取得する 現在のプレイヤーのフレンドリストから特定のプレイヤーの情報を取得します。 withProfile を true にすると、フレンドのフレンド向けプロフィール（最もプライベートなレベルのプロフィール情報）も返されます。 フレンドの詳細画面を表示する際に使います。たとえば、フレンドのプロフィール全体、ステータス、「フレンド解除」や「メッセージを送る」などのオプションを表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession targetUserId string  ~ 128文字 ユーザーID withProfile bool false プロフィールも一緒に取得するか Result 型 説明 item EzFriendUser フレンドのユーザー 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 deleteRequest 送信済みフレンドリクエストをキャンセルする プレイヤーが送信したフレンドリクエストを、相手が返答する前にキャンセルします。 リクエストは送信者の送信ボックスと受信者の受信箱の両方から削除されます。 送信済みリクエスト画面や、すでにリクエスト送信済みのプレイヤーのプロフィール画面の「リクエストをキャンセル」ボタンに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession targetUserId string  ~ 128文字 ユーザーID Result 型 説明 item EzFriendRequest 削除したフレンドリクエスト 実装例 describeSendRequests 送信済みフレンドリクエストの一覧を取得する 現在のプレイヤーが送信した、まだ返答待ちのフレンドリクエストをすべて取得します。 各リクエストには誰にいつ送ったかが表示されます。プレイヤーは気が変わったら送信済みリクエストをキャンセルできます。 「送信済みリクエスト」画面を構築するのに使います。たとえば「プレイヤーBの返答を待っています… [キャンセル]」のように表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 items List フレンドリクエストのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getSendRequest 特定の送信済みフレンドリクエストを取得する 現在のプレイヤーが特定のプレイヤーに送信したフレンドリクエストの詳細を取得します。 特定のリクエストの状態を表示する際に使います。たとえば、特定のプレイヤーへのリクエストがまだ保留中かどうかを確認したり、プレイヤープロフィール画面でリクエストの詳細を表示するのに使えます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession targetUserId string  ~ 128文字 ユーザーID Result 型 説明 item EzFriendRequest フレンドリクエスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 sendRequest 他のプレイヤーにフレンドリクエストを送信する 指定したプレイヤーにフレンドリクエストを送信します。リクエストは相手の受信箱に届き、承認または拒否できます。 承認されると、お互いが相互フレンドになり、フレンド向けプロフィール情報を見られるようになります。 注意: すでにフレンドが1000人いる場合はリクエストを送信できません。また、未承諾のリクエストが存在する場合、最も古い未承諾リクエストが自動的に取り下げられて新しいリクエストが送信されます。 他のプレイヤーのプロフィール画面や検索結果の「フレンドリクエストを送る」ボタンに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession targetUserId string  ~ 128文字 フレンドになりたい相手のユーザーID Result 型 説明 item EzFriendRequest 送信したフレンドリクエスト 実装例 accept フレンドリクエストを承認する 指定したプレイヤーからのフレンドリクエストを承認します。 承認すると相互フレンド関係が成立し、お互いのフレンドリストに追加されて、フレンド向けプロフィール情報を見られるようになります。 フレンドリクエスト通知や受信箱画面の「承認」ボタンに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item EzFriendRequest 承諾したフレンドリクエスト 実装例 describeReceiveRequests 届いているフレンドリクエストの一覧を取得する 他のプレイヤーから現在のプレイヤーに送信された、返答待ちのフレンドリクエストをすべて取得します。 各リクエストには誰がいつ送ったかが表示されます。プレイヤーはそれぞれ承認または拒否できます。 「フレンドリクエスト」の受信箱画面を構築するのに使います。たとえば「プレイヤーAがフレンドになりたがっています！ [承認] [拒否]」のように表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 items List フレンドリクエストのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getReceiveRequest 特定のフレンドリクエストの詳細を取得する 特定の送信者からのフレンドリクエストの詳細を取得します。 フレンドリクエストの詳細画面を表示する際に使います。たとえば、送信者のプロフィールやリクエスト送信日時を表示し、「承認」「拒否」ボタンを配置する画面に使えます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item EzFriendRequest フレンドリクエスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 reject フレンドリクエストを拒否する 指定したプレイヤーからのフレンドリクエストを拒否します。 リクエストは削除され、フレンド関係は成立しません。拒否されたことは送信者に通知されません。 フレンドリクエスト通知や受信箱画面の「拒否」や「断る」ボタンに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item EzFriendRequest 拒否したフレンドリクエスト 実装例 getBlackList プレイヤーのブロックリストを取得する 現在のプレイヤーがブロックしたユーザーIDの一覧を取得します。 ブロックされたプレイヤーは、現在のプレイヤーにフレンドリクエストを送ったりフォローしたりできなくなります。 「ブロック中のプレイヤー」管理画面を構築するのに使います。以前ブロックした相手を確認したり、ブロック解除したりできる画面に使えます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 items List ブラックリストに登録されたユーザーIDリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 registerBlackList プレイヤーをブロックする 指定したプレイヤーを現在のプレイヤーのブロックリストに追加します。 ブロックすると、対象プレイヤーは現在のプレイヤーにフレンドリクエストを送ったりフォローしたりできなくなります。 他のプレイヤーのプロフィール画面や通報・モデレーションメニューの「ブロック」ボタンに使います。プレイヤーが不要なやり取りから身を守るのに役立ちます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession targetUserId string  ~ 128文字 ユーザーID Result 型 説明 item EzBlackList ブラックリスト 実装例 unregisterBlackList プレイヤーのブロックを解除する 指定したプレイヤーを現在のプレイヤーのブロックリストから削除します。 ブロック解除後、対象プレイヤーは再び現在のプレイヤーにフレンドリクエストを送ったりフォローしたりできるようになります。 ブロック中のプレイヤー管理画面やブロック中プレイヤーのプロフィール画面の「ブロック解除」ボタンに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession targetUserId string  ~ 128文字 ユーザーID Result 型 説明 item EzBlackList ブラックリスト 実装例 イベントハンドラ OnFollowNotification フォローされたときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID fromUserId string ユーザーID 実装例 OnAcceptRequestNotification フレンドリクエストが承認されたときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID targetUserId string ユーザーID 実装例 OnRejectRequestNotification フレンドリクエストが拒否されたときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID targetUserId string ユーザーID 実装例 OnDeleteFriendNotification フレンドが削除されたときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID fromUserId string ユーザーID 実装例 OnReceiveRequestNotification フレンドリクエストが届いたときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID fromUserId string ユーザーID 実装例 OnCancelRequestNotification 受け取ったフレンドリクエストがキャンセルされたときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID fromUserId string ユーザーID 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Friend SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Friend SDK for Game Engine API リファレンス","url":"/ja/api_reference/friend/game_engine/"},{"content":"モデル EzWebSocketSession WebSocketSession WebSocketセッションはGS2サーバとクライアント間の持続的な接続で、リアルタイムに双方向通信を行います。 サーバに対してクライアント側から識別子としてユーザーIDを登録します。  connectionId string  ~ 128文字 コネクションID この WebSocket 接続に割り当てられた一意な識別子です。通知送信時に特定のクライアント接続を識別するために使用されます。 namespaceName string  ~ 128文字 ネームスペース名 userId string  ~ 128文字 ユーザーID メソッド setUserId サーバーからのプッシュ通知を受け取るためにプレイヤーの接続を登録する 現在のWebSocket接続をプレイヤーのユーザーIDに紐づけて、サーバーからこのクライアントにリアルタイムのプッシュ通知を送信できるようにします。 通常はプレイヤーがログインしてサーバーに接続した直後に呼び出します。このステップなしでは、サーバーはどの接続がどのプレイヤーのものか判別できません。 allowConcurrentAccess フラグで、同じプレイヤーが複数のデバイスから同時に接続できるかを制御します： true: 複数の同時接続を許可（スマホとタブレットの両方でプレイするなど） false: プレイヤーごとに1接続のみ許可（重複ログイン防止。古い接続は切断されます） ゲームのログイン・初期化フローの一部として使います。リアルタイムチャット通知、フレンドリクエストのアラート、マッチング成立の通知などの機能を有効にするのに必要です。 Request  namespaceName string  ~ 128文字 ネームスペース名 gameSession GameSession  GameSession allowConcurrentAccess bool true 同時に異なるクライアントからの接続を許容するか sessionId string {allowConcurrentAccess} == false ~ 128文字 allowConcurrentAccess を false にした場合でも、既存接続と同一の sessionId であれば接続を許可するために指定します。 ※ allowConcurrentAccess が false であれば有効 Result 型 説明 item EzWebSocketSession 更新したWebSocketセッション 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Gateway SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Gateway SDK for Game Engine API リファレンス","url":"/ja/api_reference/gateway/game_engine/"},{"content":"モデル EzStatus ステータス ステータスとはプロパティID毎に存在するエンティティで、 現在のグレードの値を保持します。 プロパティID とはステータス固有のIDで、開発者が任意の値を設定できます。 連動する GS2-Experience のプロパティIDと完全に一致する値を使用することを強く推奨しています。  gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 gradeValue long 1 1 ~ 9223372036854775805 現在のグレード このステータスの現在のグレード値です。連動する GS2-Experience モデルのランクキャップを決定するために、グレードモデルのグレードエントリ配列のインデックスとして使用されます。この値が変更されると、関連する経験値ステータスのランクキャップが対応するグレードエントリで定義された値に自動更新されます。 EzGradeModel グレードモデル グレードモデルとは、キャラクターや装備のランクを示すエンティティで、グレードによって GS2-Experience のランクキャップを設定することができます。  name string  ~ 128文字 グレードモデル名 グレードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このグレードモデルと連動させる GS2-Experience の経験値モデルの GRN です。グレード値が変更されると、グレードエントリのマッピングに基づいて連動する経験値モデルのランクキャップが自動的に更新されます。これにより、高いグレードが高いランクキャップを解放するグレード駆動の成長が実現できます。 gradeEntries List  1 ~ 100 items グレードエントリーモデルリスト 各グレード値を連動する GS2-Experience モデルのランクキャップにマッピングするグレードエントリの順序付きリストです。配列のインデックスがグレード値に対応し、最初のエントリ（インデックス 0）がグレード 0 のランクキャップを、2番目がグレード 1 を定義します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト グレードに基づいて報酬量をスケーリングするための名前付き倍率テーブルのコレクションです。複数のテーブルを定義して、異なる種類の報酬（例: 経験値、通貨、アイテム）に異なるスケーリングルールを適用できます。 EzGradeEntryModel グレードエントリーモデル グレード値と連動する GS2-Experience モデルのランクキャップのマッピングを定義します。各エントリはプロパティIDのマッチングに使用する正規表現パターンも指定し、グレードアップ操作に使用できるリソースとそのプロパティIDの変換方法を決定します。  metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 rankCapValue long  0 ~ 9223372036854775805 ランクキャップ値 このグレードが適用された際に連動する GS2-Experience モデルに設定するランクキャップ値です。プレイヤーのグレードがこのエントリに対応する値に変更されると、関連する経験値ステータスのランクキャップがこの値に自動更新され、到達可能な最大ランクが制御されます。 EzAcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzAcquireActionRate 報酬加算テーブル 現在のグレード値に基づいて報酬量をスケーリングする名前付き倍率テーブルを定義します。各グレード値は入手アクションに適用される倍率にマッピングされ、高いグレードのキャラクターや装備がより多くの報酬を受け取れるようになります。標準的な倍精度浮動小数点数モードと、非常に大きな値に対応するビッグナンバーモードの両方をサポートします。  name string  ~ 128文字 報酬加算テーブル名 グレードモデル内でこの倍率テーブルを一意に識別する名前です。トランザクションの特定の入手アクションにグレードベースの報酬スケーリングを適用する際に参照されます。 mode 文字列列挙型 enum {   “double”,   “big” } “double” 報酬加算テーブルの種類 倍率値の数値精度モードを選択します。“double” モードはほとんどのケースに適した標準的な浮動小数点数を使用します。“big” モードは最大1024桁までの文字列表現の数値を使用し、非常に大きな値の計算を必要とするゲームに対応します。 定義 説明 “double” 2^48 未満の浮動小数点数 “big” 文字列表記で1024桁未満の浮動小数点数 rates List {mode} == “double” ※ 1 ~ 1000 items グレードごとの倍率リスト（double モード） グレード値でインデックスされた報酬倍率の配列で、倍精度浮動小数点数を使用します。インデックス 0 のエントリがグレード 0 の倍率、インデックス 1 がグレード 1 の倍率となります。mode が “double” に設定されている場合に使用されます。 ※ mode が “double” であれば 必須 bigRates List {mode} == “big” ※ 1 ~ 1000 items グレードごとの倍率リスト（big モード） グレード値でインデックスされた報酬倍率の配列で、拡張精度のために文字列表現の数値を使用します。インデックス 0 のエントリがグレード 0 の倍率、インデックス 1 がグレード 1 の倍率となります。非常に大きな数値計算を必要とするゲーム向けに、mode が “big” に設定されている場合に使用されます。 ※ mode が “big” であれば 必須 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド getGradeModel 名前を指定して限界突破・覚醒モデルを取得する 名前を指定して、グレードモデルを1件取得します。 取得できる情報には、グレードエントリ（各グレードで最大レベルがどう変わるかの定義）、デフォルトの初期グレード、報酬倍率レートが含まれます。 特定の限界突破システムの詳細を表示する際に使います。たとえば「鉄の剣: グレード2 → 最大Lv 70、グレード3 → 最大Lv 80」や「現在の報酬ボーナス: x1.5」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gradeName string  ~ 128文字 グレードモデル名 グレードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzGradeModel グレードモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listGradeModels 限界突破・覚醒モデルの一覧を取得する このネームスペースに登録されているすべてのグレードモデルを取得します。 グレードモデルは「限界突破」や「覚醒」の仕組みを定義します。プレイヤーがグレードを上げることで、アイテムやキャラクターの最大レベル（ランクキャップ）がどれだけ上がるかを制御します。 たとえば、グレード0の武器は最大レベル50ですが、限界突破してグレード1にすると最大レベルが60に、グレード2で70に…と上がっていきます。 報酬倍率レートも定義でき、グレードレベルに応じて報酬量を増やせます（例: グレード3のキャラクターはゴールド獲得量1.5倍）。 限界突破・覚醒のUIを構築するのに使います。たとえば「グレード 2/5 — 最大Lv: 70 — 次回: 同キャラ3体必要」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List グレードモデルリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 applyRankCap 現在の限界突破グレードに合わせて最大レベルを同期する GS2-Experience の最大レベル（ランクキャップ）を現在のグレード（限界突破レベル）に合わせて更新します。 たとえば、キャラクターがグレード2（最大Lv 70）からグレード3（最大Lv 80）に限界突破された場合、これを呼ぶとExperienceシステムに新しい最大レベルが80であることが反映されます。 グレードが外部で変更されて、Experienceの最大レベルと同期する必要がある場合に便利です。 通常、グレード変更時に最大レベルは自動更新されますが、データがずれた場合に手動で呼び出すこともできます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 gameSession GameSession  GameSession propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 Result 型 説明 item EzStatus ステータス experienceNamespaceName string GS2-Experience ネームスペース名 experienceStatus EzStatus ランクキャップ更新後の GS2-Experience ステータス 実装例 getStatus 特定のアイテムやキャラクターの限界突破・覚醒ステータスを取得する プレイヤーが所持する特定のプロパティの現在のグレード（限界突破レベル）を取得します。 プロパティはグレードモデル名（どの限界突破システムを使うか）とプロパティID（どのアイテムやキャラクターか）で識別します。 限界突破の詳細画面を表示する際に使います。たとえば「鉄の剣 — グレード: ★3 — 最大Lv: 80 — 次の限界突破にはあと2体必要」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 gameSession GameSession  GameSession propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 Result 型 説明 item EzStatus ステータス 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listStatuses プレイヤーの限界突破・覚醒ステータスの一覧を取得する プレイヤーのアイテムやキャラクターの現在のグレード（限界突破レベル）を取得します。 グレードモデル名でフィルタリングすることもできます。省略するとすべてのグレードタイプのステータスが返されます。 各ステータスには、現在のグレード値とそれがどのプロパティ（アイテムやキャラクター）に属するかが含まれます。 限界突破済みアイテムの一覧を表示するのに使います。たとえば「鉄の剣 ★3、炎の杖 ★1、竜の鎧 ★5」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gradeName string ~ 128文字 グレードモデル名 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ステータスのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Grade SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Grade SDK for Game Engine API リファレンス","url":"/ja/api_reference/grade/game_engine/"},{"content":"モデル EzGuild ギルド ギルドは最大5個の属性を持つことができ、ギルドの検索やギルド一覧表示の際に利用できます。 ギルドには参加ポリシーを設定でき、自由参加と承認制を選択できます。 自由参加を選択した場合、ギルドへの参加リクエストを行うと即座にギルドメンバーとなります。 承認制を選択した場合、ギルドへの参加リクエストを行うとギルドマスターまたはギルドメンバーが承認するまでギルドメンバーにはなりません。 ギルドメンバーにはロールを設定でき、ギルドマスター、ギルドメンバーに加えてギルドが独自に定義した最大10個のカスタムロールを設定できます。 ギルドメンバーはギルドに参加した際にデフォルトで付与されるロールを設定できます。  guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 displayName string  ~ 64文字 表示名 UI でプレイヤーに表示されるギルドの人間が読める名前です。ギルド名（システム生成の UUID）とは異なり、表示名はギルド作成者が設定し、更新も可能です。ギルド検索結果、メンバーリスト、その他のプレイヤー向け表示に使用されます。 attribute1 int 0 ~ 2147483645 属性1 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。レベル、地域、プレイスタイル、アクティビティ要件などのカスタムギルドプロパティを定義するために、最大5つの属性を開発者が利用できます。 attribute2 int 0 ~ 2147483645 属性2 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute3 int 0 ~ 2147483645 属性3 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute4 int 0 ~ 2147483645 属性4 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute5 int 0 ~ 2147483645 属性5 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 metadata string ~ 1024文字 ギルドのメタデータ GS2 の動作に影響しないギルドに関連付けられた任意のデータです。ギルドの紋章、説明、募集メッセージ、その他のカスタムデータなど、ゲーム固有の情報を保存するために使用できます。 joinPolicy 文字列列挙型 enum {   “anybody”,   “approval” }  参加方針 ユーザーがこのギルドにどのように参加できるかを制御します。“anybody” は承認なしで任意のユーザーが即座に参加できます。“approval” はユーザーがメンバーになる前にギルドマスターまたは権限を持つメンバーが参加リクエストを承認する必要があります。ギルドマスターがいつでも変更可能です。 定義 説明 “anybody” 自由参加 “approval” 承認制 customRoles List [] 0 ~ 10 items カスタムロールリスト モデルレベルのロールをオーバーライドまたは拡張するギルド固有のカスタムロール定義のリストです。各ギルドは固有の権限セットを持つ最大10個のカスタムロールを定義できます。これらのロールはモデルレベルのロールに加えてメンバーに割り当てることができます。 members List [] 0 ~ 100 items ギルドメンバーリスト ギルドマスターと一般メンバーを含む、このギルドの全現在メンバーのリストです。各エントリにはメンバーのユーザーID、割り当てられたロール、メタデータ、参加タイムスタンプが含まれます。メンバー数は currentMaximumMemberCount を超えることができません。 EzReceiveMemberRequest 受信した参加リクエスト メンバーの登録申請を受け付けた状態であることを表すエンティティです。 該当ギルドが受け付けた参加リクエストです。 該当ギルドが承認を行うと参加リクエストは削除され、メンバーリストに登録されます。  userId string  ~ 128文字 ユーザーID このギルドに参加リクエストを送信したプレイヤーのGS2ユーザーIDです。申請者を識別し、承認時にギルドのメンバーリストに追加するため、または拒否時に通知するために使用されます。 targetGuildName string  ~ 128文字 宛先ギルド名 この参加リクエストを受信したギルドの一意な名前（UUID）です。この保留中のリクエストを受信ボックスに持つ特定のギルドインスタンスを識別し、ギルドのメンバー管理操作とリクエストを照合するために使用されます。 EzSendMemberRequest 送信した参加リクエスト メンバーの登録を申請中である状態を表すエンティティです。 該当ユーザーがほかのユーザーに対して送信した参加リクエストです。 送信先のユーザーが承認を行うと参加リクエストは削除され、メンバーリストに登録されます。  userId string  ~ 128文字 ユーザーID このギルド参加リクエストを送信したプレイヤーのGS2ユーザーIDです。リクエスト元のユーザーを識別し、承認時にギルドのメンバーリストに追加するために使用されます。 targetGuildName string  ~ 128文字 宛先ギルド名 参加リクエストが送信されたギルドの一意な名前（UUID）です。ユーザーが参加をリクエストしている特定のギルドインスタンスを識別し、リクエスト処理のためにギルドの受信ボックスを特定するために使用されます。 EzJoinedGuild 参加中のギルド 特定のギルドへのユーザーのメンバーシップを表します。ユーザーがギルドに参加した際（直接参加またはリクエスト承認）に作成され、ユーザーが離脱または追放された際に削除されます。ユーザーが現在どのギルドに所属しているかを追跡し、maxConcurrentJoinGuilds 制限の適用を可能にします。  guildModelName string  ~ 128文字 ギルドモデル名 参加中のギルドが属するギルドモデルの名前です。メンバーシップ制限、ロール設定、その他のギルドタイプ設定を含むギルドモデル定義を参照します。 guildName string  ~ 128文字 ギルド名 ユーザーが参加したギルドの一意な名前（UUID）です。ギルドモデル内の特定のギルドインスタンスを識別するために使用されます。 userId string  ~ 128文字 ユーザーID createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzIgnoreUser 拒否ユーザー 特定のギルドへの参加がブロックされているユーザーを表します。ユーザーが拒否リストに追加されると、参加リクエストは自動的に拒否され、参加ポリシーが自由参加に設定されていてもギルドに参加できません。ギルドマスターが不要なメンバーを管理するために使用します。  userId string  ~ 128文字 ユーザーID EzLastGuildMasterActivity 最後のギルドマスターアクティビティ ギルド内でギルドマスターが最後にアクティビティを行った日時を追跡します。このタイムスタンプは非アクティブベースの継承システムで使用されます。ギルドモデルで設定された inactivityPeriodDays がギルドマスターのアクティビティなしに経過すると、リーダーシップを別のメンバーに自動的に移譲できます。各ギルドはギルドマスターがギルド操作を行うたびに更新される1つのアクティビティレコードを持ちます。  userId string  ~ 128文字 ユーザーID updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzGuildModel ギルドモデル ギルドモデルとは、ギルドの加入可能最大人数の設定や、ギルド内での役職ごとの権限設定を持つエンティティです。  name string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultMaximumMemberCount int  1 ~ 2147483646 デフォルト最大メンバー数 新しいギルドが作成される際に許可されるメンバーの初期最大数です。この値は新規ギルドの currentMaximumMemberCount の初期値として使用されます。ギルド操作や入手アクションを通じて、後から maximumMemberCount の上限まで増加させることができます。 maximumMemberCount int  1 ~ 2147483646 最大メンバー数上限 ギルドが持つことができるメンバー数の絶対的な上限です。ギルドの currentMaximumMemberCount はこの値を超えることができません。ギルドが意図されたサイズを超えて成長するのを防ぐハードキャップとして機能します。 roles List  1 ~ 10 items ロールモデルリスト このタイプのギルド内で利用可能なロール定義のリストです。guildMasterRole および guildMemberDefaultRole で参照されるロールを少なくとも含む必要があります。各ロールはポリシードキュメントを介して固有の権限セットを定義します。最大10個のロールを定義できます。 rejoinCoolTimeMinutes int 0 0 ~ 2147483646 再参加クールタイム（分） ユーザーがギルドを離脱した後、再度ギルドに参加できるようになるまでのクールダウン期間（分）です。0 に設定すると即時再参加が可能になります。ユーザーが繰り返しギルドに参加・離脱する悪用パターンを防止します。 EzRoleModel ロールモデル ロールモデルはギルド内での役割を定義し、その役割ごと実行できる処理に関する権限を設定します。  name string  ~ 128文字 ロールモデル名 ロールモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 policyDocument string  ~ 10240文字 ポリシードキュメント このロールの権限を定義する JSON 形式のポリシードキュメントです。このロールに割り当てられたメンバーに対して、どのギルド操作（参加リクエストの承認/拒否、メンバー追放、ギルド情報の更新、メンバーロールの変更など）が許可または拒否されるかを指定します。 EzMember メンバー ギルドメンバーの一覧を管理するエンティティ  userId string  ~ 128文字 ユーザーID roleName string  ~ 128文字 ロールモデル名 ロールモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 512文字 ギルドメンバーのメタデータ GS2 の動作に影響しないこのギルドメンバーに関連付けられた任意のデータです。貢献ポイント、最終ログイン時間、ギルド役員に表示されるメモなど、メンバー固有の情報を保存するために使用できます。 joinedAt long ※ 現在時刻 参加日時 UNIX 時間・ミリ秒 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド getGuildModel 名前を指定してギルドタイプ定義を取得する 名前を指定して、ギルドモデルを1件取得します。 取得できる情報には、メンバー上限、ロール定義とその権限、参加方式の設定、再加入クールダウン期間、非アクティブギルドマスターの継承設定が含まれます。 特定のギルドタイプのルールを表示する際に使います。たとえば、ギルド作成画面や詳細画面で「最大メンバー: 30人、参加: 承認制、ロール: マスター / 副団長 / メンバー」のように表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzGuildModel ギルドモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listGuildModels ギルドタイプ定義の一覧を取得する このネームスペースに登録されているすべてのギルドモデルを取得します。 ギルドモデルはギルドのルールを定義します。最大メンバー数、ロール権限（「副団長はメンバーを除名できる」など）、参加方式（自由参加/承認制）、再加入クールダウン、プレイヤーが同時に所属できるギルド数などです。 ギルドマスターが長期間ログインしない場合の自動交代（最古参メンバーへの継承）の設定も含まれます。 プレイヤーがギルドを閲覧・作成する際に、どんなタイプのギルドがあるかを表示するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List ギルドモデルリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 assume ギルドの代理として操作する権限を取得する ギルドとして操作を行うためのギルドアクセストークンを取得します。ギルド設定の更新、参加リクエストの承認、メンバーの除名などの操作に必要です。 プレイヤーはそのギルドのメンバーである必要があり、実行できる操作はロール権限に依存します。 UpdateGuild、AcceptRequest、RejectRequest、DeleteMemberFromGuild などのギルド管理APIを呼ぶ前に必ず必要なステップです。 「ギルド管理モードに切り替える」ようなイメージです。これを呼んだ後、返されたトークンを使って続くギルド操作を行います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 Result 型 説明 token string アクセストークン userId string ユーザーID expire long 有効期限 トークンの有効期限を示すタイムスタンプです。この期限が過ぎると、トークンは無効になります。 UNIX 時間・ミリ秒 Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 NotIncludedGuildMemberException NotFoundException ギルドメンバーではありません。 実装例 batchUpdateGuildMemberRole 複数のギルドメンバーのロールをまとめて変更する 複数のギルドメンバーのロールを1回のAPI呼び出しでまとめて更新します。たとえば、複数のメンバーを同時に「副団長」に昇格させるといった操作です。 このAPIはギルドとして呼び出します（先に Assume が必要）。適切なロール権限を持つメンバーのみがこの操作を実行できます。 ギルドマスターが多数のメンバーのロールを一度に再編成したい場合に、1人ずつ変更する代わりに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 members List  1 ~ 100 items 更新するメンバーリスト Result 型 説明 item EzGuild 更新したギルド 実装例 createGuild ギルドを新規作成する プレイヤーをギルドマスター（リーダー）として新しいギルドを作成します。 ギルドの表示名、最大5つのカスタム属性（プレイスタイル、活動時間、言語など）、メタデータ、参加方式（自由参加/承認制）、カスタムロール定義を設定できます。 ギルドを作成したプレイヤーは自動的にギルドマスターロールの最初のメンバーになります。 「ギルドを作成」ボタンやフォームに使います。プレイヤーが新しいギルドの名前、ルール、設定を決める画面です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession displayName string  ~ 64文字 表示名 UI でプレイヤーに表示されるギルドの人間が読める名前です。ギルド名（システム生成の UUID）とは異なり、表示名はギルド作成者が設定し、更新も可能です。ギルド検索結果、メンバーリスト、その他のプレイヤー向け表示に使用されます。 attribute1 int 0 ~ 2147483645 属性1 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。レベル、地域、プレイスタイル、アクティビティ要件などのカスタムギルドプロパティを定義するために、最大5つの属性を開発者が利用できます。 attribute2 int 0 ~ 2147483645 属性2 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute3 int 0 ~ 2147483645 属性3 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute4 int 0 ~ 2147483645 属性4 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute5 int 0 ~ 2147483645 属性5 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 metadata string ~ 1024文字 ギルドのメタデータ GS2 の動作に影響しないギルドに関連付けられた任意のデータです。ギルドの紋章、説明、募集メッセージ、その他のカスタムデータなど、ゲーム固有の情報を保存するために使用できます。 memberMetadata string ~ 512文字 ギルドメンバーのメタデータ GS2 の動作に影響しないこのギルドメンバーに関連付けられた任意のデータです。貢献ポイント、最終ログイン時間、ギルド役員に表示されるメモなど、メンバー固有の情報を保存するために使用できます。 joinPolicy  参加方針 ユーザーがこのギルドにどのように参加できるかを制御します。“anybody” は承認なしで任意のユーザーが即座に参加できます。“approval” はユーザーがメンバーになる前にギルドマスターまたは権限を持つメンバーが参加リクエストを承認する必要があります。ギルドマスターがいつでも変更可能です。 定義 説明 “anybody” 自由参加 “approval” 承認制 customRoles List [] 0 ~ 10 items カスタムロールリスト モデルレベルのロールをオーバーライドまたは拡張するギルド固有のカスタムロール定義のリストです。各ギルドは固有の権限セットを持つ最大10個のカスタムロールを定義できます。これらのロールはモデルレベルのロールに加えてメンバーに割り当てることができます。 guildMemberDefaultRole string ~ 128文字 デフォルトカスタムロール この特定のギルドに新しいメンバーが参加した際に自動的に割り当てられるカスタムロールです。設定した場合、このギルドに対してギルドモデルの guildMemberDefaultRole をオーバーライドします。customRoles リストで定義されたロールを参照する必要があります。 Result 型 説明 item EzGuild 作成したギルド 実装例 deleteGuild ギルドを解散（削除）する ギルドを完全に削除します。すべてのメンバーが脱退し、ギルドはなくなります。 このAPIはギルドとして呼び出します（先に Assume が必要）。通常、ギルドマスターのみがギルドを解散する権限を持ちます。 ギルド設定画面の「ギルドを解散」ボタンに使います。全メンバーに影響する破壊的な操作なので、必ず確認ダイアログを表示してください。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 Result 型 説明 item EzGuild 削除したギルド 実装例 deleteMemberFromGuild メンバーをギルドから除名する 指定したプレイヤーをギルドのメンバーリストから削除します。 このAPIはギルドとして呼び出します（先に Assume が必要）。適切なロール権限を持つメンバー（通常はギルドマスターや副団長）のみがメンバーを除名できます。 メンバー管理画面の「除名」ボタンに使います。操作の取り消しが難しいため、確認ダイアログの表示をおすすめします。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 targetUserId string  ~ 128文字 除名するユーザーID Result 型 説明 item EzGuild 更新したギルド Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 GuildMasterRequiredException BadRequestException ギルドマスター権限を持つメンバーが最低1名必要です。 実装例 getGuild ギルドの詳細を取得する 特定のギルドの詳細情報を取得します。表示名、カスタム属性、メタデータ、メンバーリスト、参加方式などが含まれます。 返される情報は、リクエストしたプレイヤーとギルドの関係によって異なります。ギルドメンバーはメンバーリストを含む完全な情報を見られますが、非メンバーは公開情報のみです。 ギルド詳細画面を表示するのに使います。たとえば「ドラゴンナイツ — 25/30人 — 参加: 承認制」のように表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 Result 型 説明 item EzGuild ギルド 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listGuilds 参加できるギルドを検索する プレイヤーが参加できるギルドを検索します。表示名、属性、参加方式でフィルタリングできます。 最大5つのカスタム属性（プレイスタイル、言語、活動レベルなど）と参加方式（自由参加/承認制）でフィルタリング可能です。 すでに定員に達したギルドを含めるかどうかも選択できます。 注意: 過去24時間以内に更新されたギルドのみが検索結果に表示されます。ギルドを検索対象に残したい場合は、変更がなくても定期的に UpdateGuild を呼んでください。 「ギルドを探す」画面を構築して、検索フィルターとマッチするギルドの一覧を表示するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession displayName string ~ 64文字 検索するギルド表示名 attributes1 List 0 ~ 10 items 検索する属性1 attributes2 List 0 ~ 10 items 検索する属性2 attributes3 List 0 ~ 10 items 検索する属性3 attributes4 List 0 ~ 10 items 検索する属性4 attributes5 List 0 ~ 10 items 検索する属性5 joinPolicies List 0 ~ 10 items 検索するギルド参加方法リスト includeFullMembersGuild bool false ギルドメンバーが満員のギルドを検索結果に含めるか orderBy “number_of_players” 並び順 定義 説明 “number_of_players” 参加プレイヤー数 “attribute1_asc” 属性1昇順 “attribute1_desc” 属性1降順 “attribute2_asc” 属性2昇順 “attribute2_desc” 属性2降順 “attribute3_asc” 属性3昇順 “attribute3_desc” 属性3降順 “attribute4_asc” 属性4昇順 “attribute4_desc” 属性4降順 “attribute5_asc” 属性5昇順 “attribute5_desc” 属性5降順 “last_updated” 最終更新日時 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ギルドのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 updateGuild ギルドの設定を更新する ギルドの表示名、カスタム属性、メタデータ、参加方式、ロール定義を更新します。 このAPIはギルドとして呼び出します。先に Assume でギルドのアクセストークンを取得してから呼んでください。 適切なロール権限を持つメンバーのみがギルド設定を更新できます。 また、定期的にこれを呼ぶことで、ギルドが検索結果に表示され続けます（24時間更新がないギルドは検索から非表示になります）。 「ギルド設定」画面に使います。副団長やギルドマスターがギルド名、説明、募集方針を変更する画面です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 displayName string  ~ 64文字 表示名 UI でプレイヤーに表示されるギルドの人間が読める名前です。ギルド名（システム生成の UUID）とは異なり、表示名はギルド作成者が設定し、更新も可能です。ギルド検索結果、メンバーリスト、その他のプレイヤー向け表示に使用されます。 attribute1 int 0 ~ 2147483645 属性1 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。レベル、地域、プレイスタイル、アクティビティ要件などのカスタムギルドプロパティを定義するために、最大5つの属性を開発者が利用できます。 attribute2 int 0 ~ 2147483645 属性2 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute3 int 0 ~ 2147483645 属性3 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute4 int 0 ~ 2147483645 属性4 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute5 int 0 ~ 2147483645 属性5 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 metadata string ~ 1024文字 ギルドのメタデータ GS2 の動作に影響しないギルドに関連付けられた任意のデータです。ギルドの紋章、説明、募集メッセージ、その他のカスタムデータなど、ゲーム固有の情報を保存するために使用できます。 joinPolicy  参加方針 ユーザーがこのギルドにどのように参加できるかを制御します。“anybody” は承認なしで任意のユーザーが即座に参加できます。“approval” はユーザーがメンバーになる前にギルドマスターまたは権限を持つメンバーが参加リクエストを承認する必要があります。ギルドマスターがいつでも変更可能です。 定義 説明 “anybody” 自由参加 “approval” 承認制 customRoles List [] 0 ~ 10 items カスタムロールリスト モデルレベルのロールをオーバーライドまたは拡張するギルド固有のカスタムロール定義のリストです。各ギルドは固有の権限セットを持つ最大10個のカスタムロールを定義できます。これらのロールはモデルレベルのロールに加えてメンバーに割り当てることができます。 guildMemberDefaultRole string ~ 128文字 デフォルトカスタムロール この特定のギルドに新しいメンバーが参加した際に自動的に割り当てられるカスタムロールです。設定した場合、このギルドに対してギルドモデルの guildMemberDefaultRole をオーバーライドします。customRoles リストで定義されたロールを参照する必要があります。 Result 型 説明 item EzGuild 更新したギルド 実装例 updateGuildMemberRole ギルドメンバーのロールを変更する 特定のギルドメンバーのロールを変更します。たとえば、メンバーを「副団長」に昇格させたり、副団長を「メンバー」に降格させたりできます。 このAPIはギルドとして呼び出します（先に Assume が必要）。適切なロール権限を持つメンバーのみが他のメンバーのロールを変更できます。 「メンバー管理」画面に使います。ギルドマスターや副団長がメンバーの昇格・降格を行う画面です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 targetUserId string  ~ 128文字 更新するユーザーID roleName string  ~ 128文字 ロールモデル名 ロールモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzGuild 更新したギルド 実装例 acceptRequest プレイヤーの参加リクエストを承認する 保留中の参加リクエストを承認して、リクエストしたプレイヤーをギルドのメンバーリストに追加します。 このAPIはギルドとして呼び出します（先に Assume が必要）。適切なロール権限を持つメンバーのみが参加リクエストを承認できます。 承認後、プレイヤーはギルドモデルで定義されたデフォルトロールでギルドメンバーになります。 参加リクエストの詳細画面やリスト画面の「承認」ボタンに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item EzReceiveMemberRequest 承諾した参加リクエスト guild EzGuild ギルド Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 MaximumJoinedGuildsReachedException BadRequestException ギルドへの同時参加数が最大値に達しています。 MaximumMembersReachedException BadRequestException メンバーが上限に達しています。 実装例 getReceiveRequest 特定の参加リクエストの詳細を取得する 送信者のユーザーIDを指定して、ギルドが受け取った特定の参加リクエストの詳細を取得します。 このAPIはギルドとして呼び出します（先に Assume が必要）。 参加リクエストの詳細画面を表示するのに使います。たとえば、応募者のプロフィール、メッセージ、「承認」「拒否」ボタンを表示する画面です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item EzReceiveMemberRequest 参加リクエスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listReceiveRequests ギルドが受け取った参加リクエストの一覧を取得する プレイヤーたちがこのギルドに送った、保留中の参加リクエストをすべて取得します。 このAPIはギルドとして呼び出します（先に Assume でギルドのアクセストークンを取得してください）。 各リクエストには、送信者と添付されたメッセージやメタデータが含まれます。 ギルド管理パネルの「参加リクエスト」画面を構築するのに使います。たとえば「PlayerAが参加を希望（メッセージ: Lv50ヒーラー、毎日ログイン）」のようなリストを表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 参加リクエストのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 rejectRequest プレイヤーの参加リクエストを拒否する 保留中の参加リクエストを拒否します。リクエストしたプレイヤーはギルドに追加されません。 このAPIはギルドとして呼び出します（先に Assume が必要）。適切なロール権限を持つメンバーのみが参加リクエストを拒否できます。 拒否されたプレイヤーは、ギルドのブロックリスト（IgnoreUser）に追加されていない限り、再度参加リクエストを送ることができます。 参加リクエストの詳細画面やリスト画面の「拒否」ボタンに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item EzReceiveMemberRequest 拒否した参加リクエスト 実装例 cancelRequest プレイヤーが送信した参加リクエストを取り下げる プレイヤーが以前ギルドに送った、保留中の参加リクエストを取り下げ（キャンセル）します。 取り下げ後、リクエストはプレイヤーの送信リクエストとギルドの受信リクエストの両方から削除されます。 取り下げ後、同じギルドに新しい参加リクエストを送ることができます。 申請中のリクエスト詳細画面の「申請を取り下げ」「リクエストをキャンセル」ボタンに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 targetGuildName string  ~ 128文字 宛先ギルド名 参加リクエストが送信されたギルドの一意な名前（UUID）です。ユーザーが参加をリクエストしている特定のギルドインスタンスを識別し、リクエスト処理のためにギルドの受信ボックスを特定するために使用されます。 Result 型 説明 item EzSendMemberRequest 削除した参加リクエスト 実装例 getSendRequest プレイヤーが送信した参加リクエストの詳細を取得する プレイヤーがギルドに送信した特定の参加リクエストの詳細を取得します。 取得できる情報には、リクエスト先のギルドとリクエストに添付されたメタデータ（メッセージ）が含まれます。 申請中のリクエストの詳細を表示するのに使います。たとえば「ドラゴンナイツに申請中 — メッセージ: Lv50ヒーラー」と「取り下げ」ボタンを表示する画面に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 targetGuildName string  ~ 128文字 宛先ギルド名 参加リクエストが送信されたギルドの一意な名前（UUID）です。ユーザーが参加をリクエストしている特定のギルドインスタンスを識別し、リクエスト処理のためにギルドの受信ボックスを特定するために使用されます。 Result 型 説明 item EzSendMemberRequest 参加リクエスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listSendRequests プレイヤーが送信した参加リクエストの一覧を取得する プレイヤーが各ギルドに送信した、まだ保留中の参加リクエストをすべて取得します。 各エントリには、リクエスト先のギルドとリクエストに添付されたメタデータ（メッセージ）が含まれます。 「申請中」「保留中のリクエスト」画面を構築するのに使います。たとえば「ドラゴンナイツに申請中（保留）、スターアライアンスに申請中（保留）」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 参加リクエストのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 sendRequest ギルドに参加リクエストを送信する 指定したギルドに参加リクエストを送信します。ギルドの参加方式が「自由参加」の場合は即座に加入し、「承認制」の場合はギルドの受信箱に審査待ちとして届きます。 リクエストにメタデータ（「Lv50ヒーラー、レイドグループ探し中」などのメッセージ）を添付できます。 プレイヤーがギルドのブロックリスト（IgnoreUser）に登録されている場合、リクエストは自動的に拒否されます。 ギルド詳細画面の「参加を申請」「加入リクエスト」ボタンに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 targetGuildName string  ~ 128文字 送信先ギルド名 metadata string ~ 512文字 ギルドメンバーのメタデータ GS2 の動作に影響しないこのギルドメンバーに関連付けられた任意のデータです。貢献ポイント、最終ログイン時間、ギルド役員に表示されるメモなど、メンバー固有の情報を保存するために使用できます。 Result 型 説明 item EzGuild 参加したギルド 承認が不要なギルドに参加した際に応答されます sendMemberRequest EzSendMemberRequest 送信した参加リクエスト 承認が必要なギルドに参加リクエストを出した際に応答されます Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 MaximumMembersReachedException BadRequestException メンバーが上限に達しています。 MaximumJoinedGuildsReachedException BadRequestException ギルドへの同時参加数が最大値に達しています。 MaximumReceiveRequestsReachedException BadRequestException ギルドに対する参加リクエスト数が上限に達しています。 MaximumSendRequestsReachedException BadRequestException 自分が出している参加リクエスト数が上限に達しています。 DotMeetJoinRequirementsException BadRequestException ギルドへの参加条件を満たしていません。 実装例 getJoinedGuild プレイヤーが所属する特定のギルドの詳細を取得する プレイヤーが参加している特定のギルドのメンバーシップ詳細を取得します。 取得できる情報には、ギルド名、プレイヤーのロール、参加日、メンバーシップメタデータが含まれます。 特定のギルドでのプレイヤーのメンバーシップ情報を表示するのに使います。たとえば「参加日: 2024-01-15、ロール: 副団長、メモ: タンクメイン」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 Result 型 説明 item EzJoinedGuild 参加中のギルド 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listJoinedGuilds プレイヤーが所属しているギルドの一覧を取得する プレイヤーが現在メンバーとして所属しているすべてのギルドを取得します。 ギルドモデル名でフィルタリングすることもできます。省略するとすべてのタイプのギルドが返されます。 各エントリにはギルド名、参加日時、現在のロールが含まれます。 「マイギルド」画面を構築するのに使います。たとえば「ドラゴンナイツ（副団長）、スターアライアンス（メンバー）」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession guildModelName string ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 参加中のギルド nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 updateMemberMetadata ギルド内の自分のメンバーメタデータを更新する ギルド内でのプレイヤー自身のメタデータを更新します。メタデータは自由形式のテキストで、メンバー固有の情報を何でも保存できます。 たとえば、希望ロール（「ヒーラー」）、自己紹介（「レイド仲間募集中」）、プレイスタイルの設定などを保存できます。 自分自身のメタデータのみ更新可能で、他のメンバーのメタデータは変更できません。 「ギルド内プロフィール編集」機能に使います。メンバーがギルド内でのステータスやメモを設定する画面に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 gameSession GameSession  GameSession metadata string ~ 512文字 ギルドメンバーのメタデータ GS2 の動作に影響しないこのギルドメンバーに関連付けられた任意のデータです。貢献ポイント、最終ログイン時間、ギルド役員に表示されるメモなど、メンバー固有の情報を保存するために使用できます。 Result 型 説明 item EzGuild 更新したギルド 実装例 withdrawGuild ギルドから自主的に脱退する プレイヤーが現在所属しているギルドから脱退します。脱退後、プレイヤーはギルドのメンバーリストから削除されます。 どのメンバーでも自分の意志で脱退できます。ギルドマスターの承認は不要です。 注意: ギルドモデルに再加入クールダウンが設定されている場合、クールダウン期間が過ぎるまで同じギルドに再加入できません。 ギルド詳細画面や設定画面の「ギルドを脱退」ボタンに使います。再加入にクールダウンがある場合があるため、確認ダイアログの表示をおすすめします。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 Result 型 説明 item EzJoinedGuild 脱退したギルド guild EzGuild ギルド Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 GuildMasterRequiredException BadRequestException ギルドマスター権限を持つメンバーが最低1名必要です。 実装例 addIgnoreUser プレイヤーのギルド参加をブロックする プレイヤーをギルドのブロックリストに追加します。ブロックされると、そのプレイヤーはこのギルドに参加リクエストを送れなくなり、今後のリクエストは自動的に拒否されます。 このAPIはギルドとして呼び出します（先に Assume が必要）。適切なロール権限を持つメンバーのみがブロックリストを管理できます。 「ブロック」ボタンに使います。たとえば、問題のあるメンバーを除名した後に再加入リクエストを防ぐ場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 userId string  ~ 128文字 ユーザーID Result 型 説明 item EzIgnoreUser 参加を拒否するユーザーID guild EzGuild ギルド 実装例 deleteIgnoreUser ギルドのブロックリストからプレイヤーを解除する プレイヤーをギルドのブロックリストから削除します。ブロック解除後、そのプレイヤーは再びこのギルドに参加リクエストを送れるようになります。 このAPIはギルドとして呼び出します（先に Assume が必要）。適切なロール権限を持つメンバーのみがブロックリストを管理できます。 ブロック中のプレイヤー管理画面の「ブロック解除」ボタンに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 userId string  ~ 128文字 ユーザーID Result 型 説明 item EzIgnoreUser 参加を拒否するユーザーID 実装例 getIgnoreUser 特定のプレイヤーがギルドのブロックリストに登録されているか確認する 特定のプレイヤーがこのギルドへの参加をブロックされているかどうかを確認します。 このAPIはギルドとして呼び出します（先に Assume が必要）。 「ブロック」「ブロック解除」ボタンを表示する前にプレイヤーのブロック状態を確認するのに使います。たとえば、メンバー管理画面やプレイヤープロフィール画面で活用できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 userId string  ~ 128文字 ユーザーID Result 型 説明 item EzIgnoreUser 参加を拒否するユーザーID 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listIgnoreUsers ギルドのブロックリストを取得する ギルドが参加をブロックしているプレイヤーの一覧を取得します。 このAPIはギルドとして呼び出します（先に Assume でギルドのアクセストークンを取得してください）。 ブロックされたプレイヤーはこのギルドに参加リクエストを送れません。リクエストは自動的に拒否されます。 ギルド設定の「ブロック中のプレイヤー」管理画面を構築するのに使います。たとえば、ブロック中のプレイヤーのリストと「ブロック解除」ボタンを表示する画面です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 参加を拒否するユーザーIDリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getLastGuildMasterActivity ギルドマスターの最終アクティビティ日時を確認する ギルドマスターの最新のアクティビティの日時を取得します。 このAPIはギルドとして呼び出します（先に Assume でギルドのアクセストークンを取得してください）。 ギルドマスターの活動状況を表示するのに使います。たとえば「ギルドマスター最終ログイン: 3日前」のような表示に便利です。 ギルドマスターが十分な期間非アクティブで、自動交代（PromoteSeniorMember）を実行すべきかどうかの判断に役立ちます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 Result 型 説明 item EzLastGuildMasterActivity 参加を拒否するユーザーID guild EzGuild ギルド 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 promoteSeniorMember 非アクティブなギルドマスターを最古参メンバーに交代する ギルドモデルの非アクティブ設定で定義された期間、ギルドマスターがアクティブでない場合に、最も長く在籍しているメンバーを新しいギルドマスターに昇格させます。 このAPIはギルドとして呼び出します（先に Assume が必要）。非アクティブ期間のしきい値はギルドモデルで設定されます。 ギルドマスターがゲームをプレイしなくなった際に、ギルドが「停滞」するのを防ぎます。 ギルドマスターが非アクティブの場合に表示される「リーダーを引き継ぐ」ボタンに使います。たとえば「ギルドマスターが30日間ログインしていません。最古参メンバーとして、あなたが引き継ぐことができます。」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 Result 型 説明 item EzLastGuildMasterActivity 参加を拒否するユーザーID guild EzGuild ギルド 実装例 イベントハンドラ OnReceiveRequestNotification 参加リクエストを受信したときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 fromUserId string ユーザーID 実装例 OnRemoveRequestNotification 参加リクエストが削除されたときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 fromUserId string ユーザーID 実装例 OnChangeNotification ギルド情報が更新されたときに発行されるプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 実装例 OnJoinNotification ギルドメンバーが追加されたときに発行されるプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 joinedUserId string ユーザーID 実装例 OnLeaveNotification ギルドメンバーが除籍されたときに発行されるプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 leavedUserId string ユーザーID 実装例 OnChangeMemberNotification メンバーの情報が更新されたときに発行されるプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 changedUserId string ユーザーID 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Guild SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Guild SDK for Game Engine API リファレンス","url":"/ja/api_reference/guild/game_engine/"},{"content":"モデル EzStatus ステータス 初めて GetIdleStatus を呼び出した時に作成され、その時間から放置時間のカウントが始まります。 放置時間のカウントは報酬を受け取るとリセットされます。 GS2-Schedule のイベントが関連づけられている場合、イベントの開催前には Category にアクセスできず、ステータスを作成することもできません。 イベントが関連づけられている場合、ステータス はイベントの繰り返し回数を保持します。 現在のイベントIDとステータス作成時のイベントIDが一致しない場合、現在のイベントの繰り返し回数とステータスが保持する繰り返し回数が一致しない場合、またはイベントの開始時刻より前にステータスが作成されている場合、待機時間 はリセットされます。  categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 randomSeed long 0 0 ~ 9223372036854775805 乱数シード 放置報酬の計算時に決定論的な乱数生成に使用されるシード値です。報酬計算が再現可能で一貫性があることを保証し、サーバーが報酬結果を検証できるようにします。報酬を受け取るたびに更新されます。 idleMinutes int  0 ~ 2147483646 放置時間（分） 最後の報酬受け取りまたはステータス作成からの累積放置時間（分）です。この値は idleStartedAt からの経過時間から計算され、maximumIdleMinutes で上限が設定されます。利用可能な報酬数はこの値をカテゴリーモデルの rewardIntervalMinutes で割ることで決定されます。 maximumIdleMinutes int 0 0 ~ 2147483646 最大放置時間（分） このステータスが蓄積できる最大放置時間（分）です。ステータス作成時にカテゴリーモデルの defaultMaximumIdleMinutes から初期化されます。入手アクションを通じてユーザーごとに増加でき、プレミアムユーザーやイベント参加者がより多くの放置報酬を蓄積できるようにします。 EzCategoryModel カテゴリーモデル カテゴリーモデルとは、放置報酬を得られる待機カテゴリーを設定するエンティティです。 設定には、待機時間ごとの報酬や、最大待機時間などの情報が含まれます。  name string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 rewardIntervalMinutes int  0 ~ 2147483646 報酬間隔（分） 各放置報酬の間の時間間隔（分）です。例えば60に設定すると、ユーザーは放置時間60分ごとに1つの報酬ユニットを獲得します。報酬の総数は（経過放置分数）/ rewardIntervalMinutes として計算され、acquireActions配列を循環します。 defaultMaximumIdleMinutes int  0 ~ 2147483646 デフォルト最大放置時間（分） このカテゴリーの新しいステータスに対するデフォルトの最大放置時間（分）です。この制限を超える放置時間は追加の報酬を蓄積しません。この値はステータス作成時に各ステータスの maximumIdleMinutes にコピーされ、入手アクションを通じてユーザーごとに拡張できます。 acquireActions List [] 1 ~ 100 items 待機時間ごとに得られる入手アクションリスト 待機時間を「X分」だと仮定すると 「X / rewardIntervalMinutes」が報酬を受け取れる数になりますが、ここで指定した配列の要素をループすることで、待機時間ごとに異なる報酬を付与できます。 idlePeriodScheduleId string ~ 1024文字 放置期間スケジュールID 放置時間が蓄積される期間を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ放置時間がカウントされます。イベントが繰り返される場合、ステータスは繰り返し回数を追跡し、新しいサイクルの開始時に放置時間をリセットして、イベント期間ごとに報酬が計算されるようにします。 receivePeriodScheduleId string ~ 1024文字 受取期間スケジュールID ユーザーが蓄積された放置報酬を受け取れる時間枠を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ報酬の受け取りが受け付けられます。これにより、放置蓄積期間とは別の期間限定の報酬受取期間を設定できます。 EzConfig コンフィグ設定 トランザクションの変数に適用する設定値  key string  ~ 64文字 名前 value string ~ 51200文字 値 EzAcquireAction 入手アクション 放置報酬として使用される単一の入手アクションを表します。アクションタイプ（例：アイテム追加、通貨増加）とそのリクエストパラメータで構成されます。放置報酬が受け取られると、これらのアクションがトランザクションに組み立てられ、実行されてユーザーに報酬が配布されます。  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzAcquireActionList 入手アクションリスト 1つの報酬間隔で一括して付与される複数の入手アクションをグループ化するラッパーです。各 AcquireActionList はカテゴリーモデルの acquireActions 配列内の1つの報酬サイクルに対応し、各間隔で異なる報酬の組み合わせを設定できます。  acquireActions List [] 0 ~ 100 items 入手アクションリスト この報酬間隔がトリガーされた時に一括で実行される入手アクションのコレクションです。複数のアクションを組み合わせて、1つの放置報酬サイクルで異なる種類の報酬を同時に付与できます。リストあたり最大100アクションです。 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド getCategoryModel 名前を指定して放置報酬カテゴリー定義を取得する 名前を指定して、放置報酬カテゴリーモデルを1件取得します。 取得できる情報には、報酬間隔（何分ごとに報酬が蓄積されるか）、最大待機時間の上限、付与される報酬の内容、スケジュール設定が含まれます。 特定の放置報酬タイプの詳細を表示するのに使います。たとえば「金鉱 — 30分ごとに10ゴールド — 最大蓄積: 8時間 — 現在: 160ゴールド受け取り可能」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzCategoryModel カテゴリーモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listCategoryModels 放置報酬カテゴリー定義の一覧を取得する このネームスペースに登録されているすべての放置報酬カテゴリーを取得します。 カテゴリーモデルは、放置（AFK）報酬の仕組みを定義します。報酬が蓄積される間隔（例: 10分ごと）、最大待機時間（例: 最大8時間）、プレイヤーが受け取る報酬の内容、受け取り後にタイマーをリセットするかどうかなどです。 カテゴリーをスケジュールに紐づけて、放置報酬が有効な期間を制御することもできます（例: 平日イベント中のみ有効）。 プレイヤーにどんな種類の放置報酬があるかを表示するのに使います。たとえば「金鉱（30分ごとに10ゴールド、最大8時間）」「修行場（1時間ごとに50 XP、最大24時間）」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List カテゴリーモデルリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getStatus 特定カテゴリーの放置報酬ステータスを取得する 特定のカテゴリーにおけるプレイヤーの放置報酬ステータスを取得します。 ステータスには放置タイマーの開始時刻と現在の最大待機時間が含まれます。ステータスがまだ存在しない場合、現在時刻を開始時刻として自動的に作成されます。 特定の放置報酬の進捗を表示するのに使います。たとえば「金鉱 — 放置中 4時間30分 / 最大8時間 — 90ゴールド受け取り可能」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 gameSession GameSession  GameSession Result 型 説明 item EzStatus ステータス 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listStatuses プレイヤーの放置報酬ステータスの一覧を取得する すべてのカテゴリーにわたるプレイヤーの放置報酬ステータスを取得します。 各ステータスには、プレイヤーがいつから放置を開始したか（最後に報酬を受け取った時刻またはタイマー開始時刻）と、現在の最大待機時間が含まれます。 「放置報酬」の概要画面を構築するのに使います。たとえば「金鉱: 4時間30分蓄積中、修行場: 1時間15分蓄積中」のように各カテゴリーに「受け取る」ボタンをつけて表示する画面に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ステータスのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 prediction 今受け取れる放置報酬をプレビューする プレイヤーが今受け取りを行った場合にもらえる報酬を計算して返します。実際には受け取りは行いません。 報酬量は、放置した時間を報酬間隔で割った値に基づき、最大待機時間で上限が設定されます。 タイマーのリセットや報酬の付与は行いません。読み取り専用のプレビューです。 プレイヤーが「受け取る」ボタンを押す前に、何がもらえるかを表示するのに使います。たとえば「受け取り予定: ゴールド 90個、ジェム 5個」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 gameSession GameSession  GameSession Result 型 説明 items List 報酬 status EzStatus ステータス 実装例 receive 蓄積された放置報酬を受け取る 指定したカテゴリーでプレイヤーの放置時間に基づいて蓄積された報酬を受け取ります。 報酬量はプレイヤーが放置した時間を報酬間隔で割った値から計算され、最大待機時間で上限が設定されます。 受け取り後、放置タイマーはリセットされ、ゼロから再び蓄積が始まります。 放置報酬画面の「報酬を受け取る」「回収する」ボタンに使います。たとえば、プレイヤーが「回収」をタップすると、離れている間に蓄積された「ゴールド 90個、ジェム 5個」を受け取る、といった動作です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 gameSession GameSession  GameSession Result 型 説明 items List 報酬 status EzStatus 更新したステータス transactionId string 発行されたトランザクションID stampSheet string クエストの開始処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Idle SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Idle SDK for Game Engine API リファレンス","url":"/ja/api_reference/idle/game_engine/"},{"content":"モデル EzMessage メッセージ ゲームプレイヤー毎に用意されるメッセージボックスに届けられたメッセージデータ。 メッセージには開封状態がある他、開封時に実行する入手アクションを設定することができます。 メッセージには有効期限を設定でき、有効期限が切れたメッセージは、未読状態、開封後の既読状態にかかわらず、自動的に削除されます。 添付された報酬を受け取っていない場合でも削除されます。  messageId string ※ ~ 1024文字 メッセージ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 metadata string  ~ 4096文字 メタデータ メッセージのタイトル、本文、送信者情報、表示パラメータなどを含むJSON文字列など、メッセージの内容を表す任意のデータです。GS2はこの値を解釈せず、メッセージUIの描画のためにゲームクライアントにそのまま渡されます。最大4096文字です。 isRead bool false 既読状態 メッセージがユーザーによって開封されたかどうかを示します。メッセージが開封されると、このフラグがtrueに設定され、readAcquireActions が実行されて添付報酬が配布され、readAt タイムスタンプが記録されます。ネームスペースで isAutomaticDeletingEnabled が設定されている場合、既読後にメッセージは削除されます。 readAcquireActions List [] 0 ~ 100 items 開封時入手アクション ユーザーがこのメッセージを開封した際に実行される入手アクションのリストです。アイテム、通貨、リソースなどの報酬をメッセージに添付するために使用されます。複数のアクションを組み合わせて異なる種類の報酬を同時に付与できます。メッセージあたり最大100アクションです。 receivedAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 readAt long 0 開封日時 UNIX 時間・ミリ秒 expiresAt long 有効期限日時 UNIX 時間・ミリ秒 EzConfig コンフィグ設定 トランザクションの変数に適用する設定値  key string  ~ 64文字 名前 value string ~ 51200文字 値 EzAcquireAction 入手アクション 報酬としてメッセージに添付される単一の入手アクションを表します。アクションタイプ（例：インベントリへのアイテム追加、通貨増加）とそのリクエストパラメータで構成されます。メッセージが開封されると、これらのアクションがトランザクションに組み立てられ、実行されてユーザーに報酬が配布されます。  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド batchRead 複数のメッセージを一括開封してまとめて報酬を受け取る 最大10件のメッセージを一度に開封し、添付されたすべての報酬を1回の操作で付与します。 指定したメッセージのいずれかがすでに開封済みの場合、エラーが返されどのメッセージも処理されません。これにより報酬の二重受け取りが確実に防止されます。 プレゼントボックス画面の「一括開封」「すべて受け取る」ボタンに使います。プレイヤーがボタン1つで保留中の報酬をまとめて受け取れます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 messageNames List  1 ~ 10 items メッセージ名リスト gameSession GameSession  GameSession Result 型 説明 items List メッセージのリスト transactionId string 発行されたトランザクションID stampSheet string スタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 MessageExpiredException NotFoundException メッセージが有効期限が切れています 実装例 delete プレゼントボックスからメッセージを削除する 開封済みかどうかに関わらず、プレイヤーのプレゼントボックスからメッセージを完全に削除します。 プレゼントボックスの設定でメッセージ開封時に自動削除するように設定している場合は、手動で呼ぶ必要はありません。 ただし、自動削除が無効の場合（開封済みメッセージがプレゼントボックスに残り続ける設定）は、このAPIでプレイヤーが受信箱を整理できるようにします。 各メッセージの「削除」「破棄」ボタンに使います。たとえば、古い開封済みメッセージを不要なものとして削除するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 Result 型 説明 item EzMessage 削除されたメッセージ 実装例 get 特定のメッセージの詳細を取得する プレイヤーのプレゼントボックスにある特定のメッセージの全詳細を取得します。メタデータ（タイトル、本文など）、既読状態、添付された報酬、有効期限が含まれます。 メッセージの詳細画面を表示するのに使います。たとえば「メンテナンス補填 — ご不便をおかけし申し訳ありません！お詫びにジェム100個をお送りします。[開封する]」のような画面です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 gameSession GameSession  GameSession Result 型 説明 item EzMessage メッセージ 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 list プレイヤーのプレゼントボックスにあるメッセージの一覧を取得する プレイヤーのプレゼントボックス（ギフトボックス / 受信箱）にあるすべてのメッセージを、新しい順に取得します。 各メッセージにはプレイヤーが開封して受け取れる報酬（アイテム、通貨など）を含められます。 既読状態でフィルタリングすることもできます。たとえば、未開封のメッセージのみや開封済みのみを表示できます。 「プレゼントボックス」「ギフト」画面を構築するのに使います。たとえば「メンテナンス補填（ジェム x100）」「デイリーログインボーナス（ゴールド x500）」のようなリストに「開封」ボタンをつけて表示する画面に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession isRead bool 既読状態 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List メッセージのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 read メッセージを開封して報酬を受け取る 指定したメッセージを開封し、添付された報酬（アイテム、通貨など）をプレイヤーに付与します。 メッセージは既読になり、報酬の付与が1回の操作で行われます。すでに開封済みの場合は、報酬の二重受け取りを防ぐためにエラーが返されます。 報酬が添付されていないメッセージの場合は、単純に既読としてマークされます。 プレゼントボックスの各メッセージの「開封」「受け取る」ボタンに使います。たとえば、プレイヤーが「開封」をタップすると「ジェム x100」を受け取る、といった動作です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 gameSession GameSession  GameSession Result 型 説明 item EzMessage メッセージ transactionId string 発行されたトランザクションID stampSheet string スタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 MessageExpiredException NotFoundException メッセージが有効期限が切れています 実装例 receiveGlobalMessage 全プレイヤー宛てのメッセージを受信する グローバルメッセージ（メンテナンス補填やイベント報酬など、全プレイヤーに一括送信されたメッセージ）を確認し、まだ受け取っていないものをプレイヤーのプレゼントボックスに届けます。 各グローバルメッセージはプレイヤーの受信箱の個別メッセージに変換されます。すでに受信済みのメッセージはスキップされるため、複数回呼んでも安全です。 プレイヤーがプレゼントボックス画面を開いた時やログイン時に呼んで、すべてのグローバルメッセージを確実に受け取れるようにしてください。 プレゼントボックスの初期化の一部として使います。メッセージ一覧を取得する前に呼ぶことで、プレイヤーがすべてのギフトを確認できるようになります。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 item List 受信したメッセージ一覧 実装例 イベントハンドラ OnReceiveNotification メッセージを受信した時に使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID messageName string メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Inbox SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Inbox SDK for Game Engine API リファレンス","url":"/ja/api_reference/inbox/game_engine/"},{"content":"モデル EzInventory インベントリ インベントリは、ゲームプレイヤーが所有するアイテムを格納するためのカバンのようなものです。 カバンには容量があり、プレイヤーごとに容量を拡張することができます。  inventoryId string ※ ~ 1024文字 インベントリ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 inventoryName string  ~ 128文字 インベントリモデル名 このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 currentInventoryCapacityUsage int 0 0 ~ 2147483646 キャパシティ使用量 アイテムセットによって現在使用されているインベントリ枠の数です。新しいアイテムスタックが追加された時（例：allowMultipleStacksで新しい枠が作成された時）にインクリメントされ、アイテムセットが完全に消費または削除された時にデクリメントされます。currentInventoryMaxCapacityを超えることはできません。 currentInventoryMaxCapacity int  1 ~ 2147483646 最大キャパシティ このユーザーが使用可能なインベントリ枠の現在の最大数です。インベントリモデルのinitialCapacityから初期化され、入手アクションまたは直接のAPI呼び出しを通じてモデルのmaxCapacityまで拡張できます。 EzItemSet アイテムセット アイテムセットはゲームプレイヤーのインベントリ内に保存されている所有物を表しています。 インベントリモデル名とアイテムモデル名、所持数量、有効期限等を保持します。  itemSetId string ※ ~ 1024文字 アイテムセット GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 count long  1 ~ 9223372036854775805 所持数量 このスタック内のアイテム数です。1からアイテムモデルのスタック上限までの範囲です。アイテムを入手するとスタック上限までカウントが増加し、消費すると減少します。カウントが0になるとアイテムセットは削除され、インベントリ枠が解放されます。 sortValue int  0 ~ 2147483646 表示順番 アイテムモデルのsortValueからコピーされた数値で、インベントリ内のアイテムセットを表示用にソートするために使用されます。値が小さいほど先に表示されます。 expiresAt long 0 有効期限 UNIX 時間・ミリ秒 referenceOf List [] 0 ~ 24 items 参照元リスト このアイテムセットに登録された外部参照です。どのシステムがこのアイテムを使用しているか（例：武器として装備、編成に割り当て）を追跡するために使用されます。アイテムセットあたり最大24参照です。 EzSimpleItem シンプルアイテム シンプルアイテムはゲームプレイヤーのインベントリー内に保存されている所有物を表しています。 シンプルアイテムモデル名と所持数量を持ちます。  itemId string ※ ~ 1024文字 シンプルアイテム GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 count long  0 ~ 9223372036854775805 所持数量 ユーザーが所持するこのアイテムの種類の数です。通常のインベントリアイテムと異なり、シンプルアイテムにはスタック上限がなく、カウントはint64の範囲内で任意の値を取ることができます。他のシンプルアイテムとともにバッチ操作で増減できます。 EzBigItem 巨大アイテム 巨大アイテムはゲームプレイヤーの巨大インベントリー内に保存されている所有物を表しています。 巨大アイテムモデル名と、所持数量をint64の範囲を超えて保持できます。  itemId string ※ ~ 1024文字 巨大アイテム GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 itemName string  ~ 128文字 巨大アイテムモデル名 このレコードに格納されているアイテムの種類を定義する巨大アイテムモデルの名前です。この巨大アイテムの所持品がどのアイテム定義に対応するかを識別するために使用されます。 count string BigInteger (Unity)  ~ 1024文字 所持数量 最大1024桁までの整数値文字列 EzInventoryModel インベントリモデル インベントリはゲームプレイヤーが所有しているアイテムを格納するカバンのようなものです。 インベントリには容量が設定でき、容量を超えては所有できません。  name string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialCapacity int  0 ~ 2147483646 初期サイズ インベントリが初めて作成される際にユーザーに提供されるインベントリ枠の数です。各枠には1つのアイテムスタックを格納できます。ユーザーはゲームプレイのアクションを通じてmaxCapacityまで容量を拡張できます。 maxCapacity int  0 ~ 2147483646 最大サイズ ユーザーが拡張可能なインベントリ枠の上限値です。この値を超えて容量を増やすことはできません。すべての枠が使用中でアイテムをこれ以上スタックできない場合、オーバーフロースクリプトが超過分を処理しない限り、入手は失敗します。 EzItemModel アイテムモデル アイテムは、ポーション ×99 のように、1つのインベントリ枠に複数個まとめて所持できます。 このように 1枠に複数個まとめることを「スタック」 と呼び、アイテムごとに スタックできる上限数 を設定できます。 スタック上限に達した場合の挙動もアイテムごとに設定できます。 具体的には、以下のどちらかを選べます： 新しいインベントリ枠を追加して、さらに所持できるようにする 上限に達したため、これ以上入手できないようにする  name string  ~ 128文字 アイテムモデル名 アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 stackingLimit long  1 ~ 9223372036854775805 スタック可能な最大数量 1つのインベントリ枠（スタック）に保持できるこのアイテムの最大数です。この上限に達した場合の動作はallowMultipleStacks設定に依存し、新しい枠が割り当てられるか、それ以上の入手がブロックされます。 allowMultipleStacks bool  複数スタック許可 有効にすると、スタック上限に達した場合に新しいインベントリ枠が自動的に割り当てられ、このアイテムの追加数量を格納します（追加の容量を消費します）。無効の場合、既存の枠でスタック上限に達すると入手がブロックされます。 sortValue int  0 ~ 2147483646 表示順番 インベントリ内のアイテムを表示用にソートするための数値です。値が小さいほど先に表示されます。この値はItemSetレコードにもコピーされ、所持アイテムの一貫した順序付けを可能にします。 EzSimpleInventoryModel シンプルインベントリモデル 通常の InventoryModel では、インベントリ内に格納できるアイテムの容量制限ができました。 しかし、シンプルインベントリ ではそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。 ただし、シンプルインベントリでは、複数のアイテムの増減処理を1回の処理で実行可能なAPIが利用できます。  name string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 EzSimpleItemModel シンプルアイテムモデル ItemModel では、スタックできる数量の最大値を設定でき、一定数を超える場合は複数のスタックに分けるような実装が可能でした。 シンプルアイテム にはそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。  name string  ~ 128文字 シンプルアイテムモデル名 シンプルアイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 EzBigInventoryModel 巨大インベントリモデル 通常の InventoryModel や SimpleInventoryModel では、インベントリに格納できるアイテムの数は int64 の範囲に限られました。 インフレ系ゲームでは、もっと広い値の範囲を必要とする場合があります。 巨大インベントリモデルでは、インベントリに格納できるアイテムの数には1024桁の整数値を持たせることができます。  name string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 EzBigItemModel 巨大アイテムモデル 巨大アイテムモデルは、巨大インベントリモデルに格納される巨大アイテムを定義するモデルです。 巨大アイテムは、所持数量を int64 の範囲を超えて保持することができます。  name string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 EzConsumeCount シンプルアイテムの消費数量  itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 count long  1 ~ 9223372036854775805 消費する量 EzAcquireCount シンプルアイテムの入手数量  itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 count long  1 ~ 9223372036854775805 入手する量 メソッド getInventoryModel 名前を指定してインベントリタイプ定義を取得する 名前を指定して、インベントリモデルを1件取得します。 取得できる情報には、初期容量と最大容量、アイテム保護設定、このインベントリに属するすべてのアイテムモデルが含まれます。 特定のインベントリタイプの詳細を表示するのに使います。たとえば「装備バッグ — 容量: 50/100 — アイテム: 鉄の剣、鋼の盾、革の鎧…」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzInventoryModel インベントリモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listInventoryModels インベントリタイプ定義の一覧を取得する このネームスペースに登録されているすべてのインベントリモデルを取得します。 インベントリモデルは、アイテムを入れるコンテナの種類を定義します。「装備バッグ」「素材ポーチ」「消耗品ボックス」などです。 各モデルには初期容量と最大容量（何種類のアイテムを格納できるか）が設定されており、格納可能なアイテムモデルのリストも含まれます。 プレイヤーがどんな種類のインベントリを持っているかを表示するのに使います。たとえば「装備（50/100スロット）」「素材（30/200スロット）」のようなタブ表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List インベントリモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getItemModel 名前を指定してアイテム定義を取得する インベントリ名とアイテム名を指定して、アイテムモデルを1件取得します。 取得できる情報には、最大スタック数、複数スタックをサポートするか（例: 有効期限の異なるアイテムは別スタックに格納される）、ソート順が含まれます。 アイテムのルールを表示するのに使います。たとえば「回復ポーション — 1スタック最大: 99個 — 有効期限の異なるものは別スタックで保持」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 アイテムモデル名 アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzItemModel 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listItemModels インベントリ内のアイテム定義の一覧を取得する 指定したインベントリに属するすべてのアイテムモデルを取得します。 アイテムモデルは特定のアイテムタイプのルールを定義します。最大スタック数（例: ポーションは99個まで重ねられる）、複数スタックに分割できるか、表示のソート順などです。 インベントリにどんな種類のアイテムが存在できるかを表示するのに使います。たとえば「装備バッグ」の全装備タイプや「素材ポーチ」の全素材を一覧表示する際に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List アイテムモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getInventory 特定のインベントリの詳細を取得する 名前を指定して、特定のインベントリの詳細を取得します。現在の容量使用状況（使用中スロット / 最大スロット）が含まれます。 特定のインベントリのステータスを表示するのに使います。たとえば、装備インベントリ画面の上部に「装備バッグ — 45 / 100スロット使用中」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 gameSession GameSession  GameSession Result 型 説明 item EzInventory インベントリ 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listInventories プレイヤーのインベントリ一覧を取得する プレイヤーが持つすべてのインベントリを取得します。 各インベントリには、現在の容量使用状況（最大容量のうち何種類のアイテム（スロット）が使用されているか）が含まれます。 インベントリの概要画面を構築するのに使います。たとえば「装備バッグ: 45/100スロット使用中」「素材ポーチ: 120/200スロット使用中」のように、プレイヤーのアイテムコンテナを一覧表示する画面に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List インベントリのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 consume プレイヤーのインベントリからアイテムを消費する プレイヤーのインベントリにある特定のアイテムの数量を減らします。ゲーム独自のロジックでプレイヤーがアイテムを使ったり消費したりする場合に使います。 たとえば、バトルで回復ポーションを使う、クラフト素材を消費する、カスタムのゲーム機能でアイテムを使うといった場合です。 注意: 商品の購入（GS2-Showcase）やクエストの開始（GS2-Quest）の対価としてアイテムを消費する場合は、それらのシステムが自動的に処理するため、このAPIを呼ぶ必要はありません。 どのスタック（itemSetName）から消費するかを指定することもできます。省略した場合、最も古いスタックから優先的に消費されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 gameSession GameSession  GameSession consumeCount long  1 ~ 9223372036854775805 消費する量 itemSetName string ~ 36文字 アイテムセットを識別する名前 Result 型 説明 items List 消費後のアイテムセットのリスト itemModel EzItemModel アイテムモデル inventory EzInventory インベントリ Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 ConflictException ConflictException アイテムの操作処理が衝突しました。リトライが必要です InsufficientException BadRequestException アイテムの所持数量が不足しています 実装例 getItem インベントリ名とアイテム名を指定してアイテムを取得する 指定したインベントリでプレイヤーが所持する特定のアイテムタイプのすべてのスタックを取得します。 同じアイテムでも複数のスタック（アイテムセット）として返されることがあります。有効期限の異なるアイテムは必ず別のスタックになります。 たとえば「回復ポーション」をリクエストすると、期限の近い50個のスタックと後で期限が来る30個のスタックの2つが返されることがあります。 アイテム詳細画面を表示するのに使います。たとえば「回復ポーション — 合計: 80個 — スタック1: 50個（期限 2024-03-01）、スタック2: 30個（期限 2024-03-15）」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 gameSession GameSession  GameSession Result 型 説明 items List アイテムセットのリスト itemModel EzItemModel アイテムモデル inventory EzInventory インベントリ 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getItemWithSignature 所持証明の署名付きでアイテムを取得する アイテムセットと、プレイヤーがAPI呼び出し時点でこのアイテムを所持していたことを証明するサーバー署名を一緒に取得します。 外部サーバーや別のシステムでアイテムの所持を検証する必要がある場合に便利です。署名は改ざん防止の証拠として機能します。 たとえば、特別なダンジョンに入る前にプレイヤーが特定の武器を本当に所持しているかを検証するのに使えます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 gameSession GameSession  GameSession itemSetName string ~ 36文字 アイテムセットを識別する名前 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 items List アイテムセットのリスト itemModel EzItemModel アイテムモデル inventory EzInventory インベントリ body string 署名対象のアイテムセット情報 signature string 署名 実装例 listItems インベントリ内のプレイヤーが所持するアイテム一覧を取得する 指定したインベントリでプレイヤーが現在所持しているすべてのアイテムを取得します。 各エントリは「アイテムセット」で、数量とオプションの有効期限を持つアイテムのスタックです。同じアイテムタイプでも有効期限が異なる場合は複数のスタックとして表示されます。 たとえば「回復ポーション」が「回復ポーション x50（3日後に期限切れ）」と「回復ポーション x30（7日後に期限切れ）」の2つのエントリとして表示されることがあります。 インベントリのメインアイテムリスト画面を構築するのに使います。所持アイテムとその数量を一覧表示する画面です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List アイテムセットのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getSimpleInventoryModel 名前を指定してシンプルインベントリタイプ定義を取得する 名前を指定して、シンプルインベントリモデルを1件取得します。 取得できる情報には、このインベントリに属するシンプルアイテムモデルのリスト（格納できるアイテムとその属性の定義）が含まれます。 特定のシンプルインベントリの中身を表示するのに使います。たとえば「通貨」や「素材」インベントリに含まれるアイテムタイプを確認する際に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzSimpleInventoryModel シンプルインベントリモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listSimpleInventoryModels シンプルインベントリタイプ定義の一覧を取得する このネームスペースに登録されているすべてのシンプルインベントリモデルを取得します。 シンプルインベントリは標準インベントリの軽量版で、スタック・有効期限・容量制限なしに、アイテムを名前と数量のシンプルなペアで管理します。 通貨、クラフト素材、数量だけ管理すればよいアイテムに最適です。たとえば「ゴールド: 5000」「鉄鉱石: 150」「スタミナポーション: 12」のような用途です。 ゲームでどんな種類のシンプルインベントリが使えるかを確認するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List シンプルインベントリモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getSimpleItemModel 名前を指定してシンプルアイテム定義を取得する インベントリ名とアイテム名を指定して、シンプルアイテムモデルを1件取得します。 特定のシンプルアイテムタイプの定義を表示するのに使います。たとえば、ゲームUIで「ゴールド」や「鉄鉱石」の属性を表示する際に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 シンプルアイテムモデル名 シンプルアイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzSimpleItemModel 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listSimpleItemModels シンプルインベントリ内のアイテム定義の一覧を取得する 指定したシンプルインベントリに属するすべてのシンプルアイテムモデルを取得します。 シンプルアイテムモデルは数量のみで管理されるアイテムタイプを定義します。スタックルールや有効期限はなく、名前と数値だけです。 シンプルインベントリにどんなアイテムが存在できるかを確認するのに使います。たとえば「素材」インベントリ内の「ゴールド」「ジェム」「鉄鉱石」「木材」を一覧表示する際に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List シンプルアイテムモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 consumeSimpleItems プレイヤーのインベントリからシンプルアイテムを消費する プレイヤーのインベントリにある1種類以上のシンプルアイテムの数量を減らします。1回の呼び出しで複数のアイテムタイプをまとめて消費できます。 ゲーム独自のロジックでプレイヤーがリソースを消費する場合に使います。たとえば、武器を鍛造するためのクラフト素材の消費や、バトルでの消耗品の使用などです。 注意: 商品の購入（GS2-Showcase）やクエストの開始（GS2-Quest）の対価としてアイテムを消費する場合は、それらのシステムが自動的に処理するため、このAPIを呼ぶ必要はありません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession consumeCounts List  1 ~ 100 items シンプルアイテムの消費数量のリスト Result 型 説明 items List 消費後のシンプルアイテムのリスト Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 ConflictException ConflictException アイテムの操作処理が衝突しました。リトライが必要です InsufficientException BadRequestException アイテムの所持数量が不足しています 実装例 getSimpleItem 特定のシンプルアイテムの所持数を取得する プレイヤーが特定のシンプルアイテムを現在いくつ所持しているかを取得します。 特定のリソースの数量を確認するのに使います。たとえば、ショップ画面で購入前に「ゴールド: 5,000」と表示したり、クラフト画面で「鉄鉱石: 150/200個必要」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 gameSession GameSession  GameSession Result 型 説明 item EzSimpleItem シンプルアイテム itemModel EzSimpleItemModel シンプルアイテムモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getSimpleItemWithSignature 所持証明の署名付きでシンプルアイテムを取得する シンプルアイテムと、プレイヤーがAPI呼び出し時点でこのアイテムを所持していたことを証明するサーバー署名を一緒に取得します。 外部サーバーや別のシステムでアイテムの所持を検証する必要がある場合に便利です。署名は改ざん防止の証拠として機能します。 たとえば、外部マーケットプレイスでトレードを処理する前に、プレイヤーが十分な通貨や素材を持っているかを検証するのに使えます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 gameSession GameSession  GameSession keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzSimpleItem シンプルアイテム simpleItemModel EzSimpleItemModel シンプルアイテムモデル body string 署名対象のシンプルアイテム情報 signature string 署名 実装例 listSimpleItems シンプルインベントリ内のプレイヤーが所持するアイテム一覧を取得する 指定したシンプルインベントリでプレイヤーが現在所持しているすべてのシンプルアイテムを取得します。 各アイテムは名前と数量のシンプルなペアです。たとえば「ゴールド: 5000」「鉄鉱石: 150」のような形式です。 標準インベントリのアイテムと違い、シンプルアイテムにはスタック・有効期限・スロット制限がありません。 リソースや素材のリストを表示するのに使います。たとえば、プレイヤーの通貨残高、クラフト素材、消耗品の数量を表示する画面に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List シンプルアイテムのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getBigInventoryModel 名前を指定して巨大インベントリタイプ定義を取得する 名前を指定して、巨大インベントリモデルを1件取得します。 取得できる情報には、このインベントリに属する巨大アイテムモデルのリストが含まれます。 特定の巨大インベントリタイプの詳細を表示するのに使います。たとえば「メガ通貨」や「累積ポイント」インベントリで追跡されるアイテムを確認する際に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzBigInventoryModel 巨大インベントリモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listBigInventoryModels 巨大インベントリタイプ定義の一覧を取得する このネームスペースに登録されているすべての巨大インベントリモデルを取得します。 巨大インベントリは、通常の整数では扱えないほど非常に大きな数量を持つアイテムのために設計されています（例: 数十億、数兆）。 放置ゲーム/インクリメンタルゲームの通貨、累積ポイント、非常に大きな数に成長するリソースに便利です。 ゲームでどんな種類の巨大インベントリが使えるかを確認するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 巨大インベントリモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getBigItemModel 名前を指定して巨大アイテム定義を取得する インベントリ名とアイテム名を指定して、巨大アイテムモデルを1件取得します。 特定の巨大アイテムタイプの定義を表示するのに使います。たとえば、ゲームUIで「メガゴールド」や「累計XP」の属性を表示する際に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzBigItemModel 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listBigItemModels 巨大インベントリ内のアイテム定義の一覧を取得する 指定した巨大インベントリに属するすべての巨大アイテムモデルを取得します。 巨大アイテムモデルは、任意精度の数値（整数ではなく文字列として格納）を使って非常に大きな数量を持てるアイテムタイプを定義します。 巨大インベントリにどんなアイテムが存在できるかを確認するのに使います。たとえば「メガゴールド」「累計XP」「総ダメージ量」などの一覧表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 巨大アイテムモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 consumeBigItem プレイヤーのインベントリから巨大アイテムを消費する プレイヤーのインベントリにある特定の巨大アイテムの数量を減らします。非常に大きな値をサポートするため、消費数量は文字列で指定します。 ゲーム独自のロジックでプレイヤーが大きな数値のリソースを消費する場合に使います。たとえば、プレステージアップグレードに「メガゴールド 1,000,000,000」を使う場合や、累積ポイントを消費する場合です。 注意: 商品の購入（GS2-Showcase）やクエストの開始（GS2-Quest）の対価としてアイテムを消費する場合は、それらのシステムが自動的に処理するため、このAPIを呼ぶ必要はありません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession consumeCount string  ~ 1024文字 巨大アイテムの消費数量 最大1024桁までの整数値文字列 Result 型 説明 item EzBigItem 消費後の巨大アイテム Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 ConflictException ConflictException アイテムの操作処理が衝突しました。リトライが必要です InsufficientException BadRequestException アイテムの所持数量が不足しています 実装例 getBigItem 特定の巨大アイテムの所持数を取得する プレイヤーが所持する特定の巨大アイテムの現在の数量を取得します。非常に大きな値をサポートするため、数量は文字列で返されます。 特定の大きな数値のリソースを確認するのに使います。たとえば、ゲームのメイン画面で「メガゴールド: 1,234,567,890」と表示したり、プレイヤープロフィールで「累計XP: 9,876,543,210」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 巨大アイテムモデル名 このレコードに格納されているアイテムの種類を定義する巨大アイテムモデルの名前です。この巨大アイテムの所持品がどのアイテム定義に対応するかを識別するために使用されます。 gameSession GameSession  GameSession Result 型 説明 item EzBigItem 巨大アイテム itemModel EzBigItemModel 巨大アイテムモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listBigItems 巨大インベントリ内のプレイヤーが所持するアイテム一覧を取得する 指定した巨大インベントリでプレイヤーが現在所持しているすべての巨大アイテムを取得します。 各アイテムの数量は非常に大きな数値をサポートするため文字列で格納されています（例: “1234567890123456789”）。 一度も入手したことのないアイテムは結果に含まれません。 プレイヤーの大きな数値のリソースを表示するのに使います。たとえば「メガゴールド: 1,234,567,890」「総ダメージ: 9,876,543,210,000」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 巨大アイテムのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Inventory SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Inventory SDK for Game Engine API リファレンス","url":"/ja/api_reference/inventory/game_engine/"},{"content":"モデル EzJob ジョブ ジョブキューとは直ちに処理を完了せず、処理を遅延実行するための仕組みです。 例えば、キャラクターを入手したときに直ちに実行しなければならない処理としては所持品にキャラクターを格納することです。 一方で、直ちに処理しなければならないわけではない処理として、 図鑑に登録する という処理があります。 こういった直ちに処理するまでもない処理をジョブキューを経由して処理するようにすることで、障害に強い設計にすることができます。 なぜなら、図鑑サービスが何らかの障害によって止まっていたとしても、図鑑に登録されない状態でゲームを継続することができます。 ジョブキューに詰まれた処理は失敗しても、障害が解消した後でリトライすることで結果的に正しい状態にできます。 GS2 ではこのような 結果整合 処理を推奨しており、様々な場面でジョブキューを利用した遅延処理が行われます。  jobId string ※ ~ 1024文字 ジョブ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 scriptId string  ~ 1024文字 スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN args string  ~ 5242880文字 引数 ジョブの実行時にスクリプトに渡すJSON形式のリクエストパラメータです。アクションタイプや対象リソースなどの具体的な操作内容を含みます。最大5MBです。 currentRetryCount int 0 0 ~ 100 現在のリトライ回数 失敗後にこのジョブがリトライされた回数です。リトライ可能なエラーで実行が終了するたびにインクリメントされます。このカウントがmaxTryCountに達すると、ジョブは恒久的な失敗としてマークされます。 maxTryCount int 3 1 ~ 100 最大試行回数 初回の試行とリトライを含めて、このジョブを実行できる最大回数です。すべての試行が失敗した場合、ジョブは放棄されます。デフォルトは3、最大100です。 EzJobResult ジョブ実行結果（詳細） 単一のジョブ実行試行の結果を記録します。各試行ごとに個別のJobResultが作成されるため、複数回リトライされたジョブには複数の結果が存在します。statusCodeはジョブが成功したか失敗したかを示します。  statusCode int  0 ~ 1000 ステータスコード スクリプト実行から返されたHTTPステータスコードです。2xxコードは成功を示し、その他のコードは失敗を示します。リトライ可能なエラーの場合、maxTryCountに達していなければ自動リトライが行われることがあります。 result string  ~ 5242880文字 レスポンスの内容 スクリプト実行から返されたJSON形式のレスポンスボディです。成功時には結果データを、失敗時にはエラーの詳細を含みます。最大5MBです。 EzJobEntry 登録ジョブ ジョブキューに新しいジョブを登録するためのパラメータを表します。実行するスクリプト、JSON引数、最大リトライ回数を含みます。ジョブをキューにプッシュする際の入力として使用されます。  scriptId string  ~ 1024文字 スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN args string “{}” ~ 131072文字 引数 ジョブの実行時にスクリプトに渡すJSON形式のリクエストパラメータです。デフォルトは空のJSONオブジェクト “{}” です。最大128KBです。 maxTryCount int 3 0 ~ 100 最大試行回数 初回の試行とリトライを含めて、ジョブを実行できる最大回数です。デフォルトは3、最大100です。 EzJobResultBody ジョブの実行結果 試行番号、ステータスコード、レスポンス内容、実行タイムスタンプを含むジョブ実行結果の軽量な表現です。  tryNumber int  1 ~ 10000 試行回数 この実行結果の連番試行番号で、1から始まります。どのリトライ試行がこの結果を生成したかを識別するために使用されます。 statusCode int  0 ~ 1000 ステータスコード スクリプト実行から返されたHTTPステータスコードです。2xxコードは成功を示し、その他のコードは失敗を示します。リトライ可能なエラーの場合、maxTryCountに達していなければ自動リトライが行われることがあります。 result string  ~ 5242880文字 レスポンスの内容 スクリプト実行から返されたJSON形式のレスポンスボディです。成功時には結果データを、失敗時にはエラーの詳細を含みます。最大5MBです。 tryAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 メソッド run プレイヤーのジョブキューにある次のジョブを実行する GS2 では、すぐに完了しなくてもよい処理を「ジョブキュー」で遅延実行します。たとえば、キャラクターを入手したとき、所持品への追加は即座に行いますが、図鑑への登録はジョブキューを通じて後から処理できます。 この仕組みにより、関連サービスが一時的に停止していてもゲームを継続でき、キューに溜まったジョブはサービス復旧後にリトライされて正しい状態になります。 このAPIを呼び出すと、プレイヤーのキューにある次のジョブを1つ実行し、その結果を返します。 レスポンスに含まれる isLastJob フラグが false の場合はまだ未処理のジョブが残っているため、 true になるまで繰り返し呼び出してください。 ネームスペースにプッシュ通知を設定しておけば、新しいジョブが追加されたタイミングで通知を受け取れるため、ポーリングせずに通知をトリガーにしてこのAPIを呼び出すこともできます。 ネームスペースで enableAutoRun を有効にしている場合は、ジョブはサーバー側で自動実行されるため、このAPIを呼び出す必要はありません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 item EzJob ジョブ result EzJobResultBody ジョブの実行結果 isLastJob bool Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 ConflictException ConflictException ジョブキューの実行が衝突しました。リトライが必要です 実装例 getResult 完了したジョブの実行結果を取得する ジョブ名を指定して、そのジョブの実行結果を取得します。 結果には、成功・失敗を示すステータスコードと、ジョブが返したレスポンスの内容が含まれます。 図鑑への登録や報酬の配布など、遅延処理が正しく完了したかどうかを確認したい場合に使います。 ジョブが複数回リトライされた場合は、試行回数を指定して特定の試行の結果を確認することもできます。 ※ ジョブの実行結果は実行後一定期間のみ保持され、自動的に削除される場合があります。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession jobName string  UUID ~ 36文字 ジョブの名前 ジョブの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ジョブを識別するために使用されます。 Result 型 説明 item EzJobResult ジョブの実行結果 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 イベントハンドラ OnPushNotification ジョブキューにジョブが登録されたときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID 実装例 OnRunNotification ジョブキューのジョブを実行した時に使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID jobName string ジョブの名前 ジョブの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ジョブを識別するために使用されます。 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-JobQueue SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-JobQueue SDK for Game Engine API リファレンス","url":"/ja/api_reference/job_queue/game_engine/"},{"content":"モデル EzCounter 回数制限の現在の値 各ユーザーの回数制限モデル配下の特定カウンターの現在の使用回数を追跡します。1つの回数制限モデルの下に複数のカウンターを作成できます（例：1回限りの報酬用にクエストごとに1つのカウンター）。カウント値はカウントアップ操作時に指定される最大値と比較され、回数制限モデルのリセットスケジュールに基づいて自動的にゼロにリセットされます。  counterId string ※ ~ 1024文字 カウンター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 name string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 count int 0 0 ~ 2147483646 カウント値 このカウンターの現在の使用回数です。countUp操作でインクリメントされ、その際に指定された最大値と比較されます。回数制限モデルのリセットタイミングに達すると自動的にゼロにリセットされます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzLimitModel 回数制限モデル 回数制限モデルには、使用回数をリセットするタイミングを設定できます。 リセット間隔は 「毎日」「毎週」「毎月」「リセットしない」「一定日数」の 5 種類から選択できます。 また、回数制限の最大値はマスターデータ側では固定しません。 これは、ゲーム内のコンテキストに応じて、許可される最大回数を動的に変化させるためです。 たとえばステップアップガチャのように、 購入回数カウンターが 3 回未満 の場合に購入できる商品 上記の商品が購入できない場合に、購入回数カウンターが 5 回未満 なら購入できる別の商品 といったように、状況に応じて「最大回数」を切り替えられる設計を想定しています。  limitModelId string ※ ~ 1024文字 回数制限モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” }  リセットタイミング この回数制限モデル配下のカウンター値が自動的にゼロにリセットされるタイミングを決定します。notReset（恒久的、リセットなし）、daily（毎日指定時刻にリセット）、weekly（指定曜日にリセット）、monthly（指定日にリセット）、days（基準日時から一定日数ごとにリセット）から選択します。すべての時刻はUTCです。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセット日 resetTypeが “monthly” の場合にカウンターがリセットされる月の日にちです。1〜31の値が有効です。指定した日がその月の日数を超える場合（例：2月の31日）、その月の最終日にリセットされます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセット曜日 resetTypeが “weekly” の場合にカウンターがリセットされる曜日です。この曜日のresetHour（UTC）で指定された時刻にリセットされます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 daily、weekly、monthlyリセットタイプでカウンターがリセットされるUTCの時刻（0〜23）です。例えば0の場合、UTC午前0時にカウンターがリセットされます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば 必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 resetTypeが “days” の場合のカウンターリセットの間隔（日数）です。リセット周期はanchorTimestampから計算されます。例えばdaysが7でanchorTimestampが月曜日の正午なら、毎週月曜日の正午にカウンターがリセットされます。 ※ resetType が “days” であれば 必須 メソッド countUp 回数制限カウンターをカウントアップする 指定したカウンターを指定した量だけ増加させます。カウンターが最大値を超える場合、操作は失敗します。これが回数制限の仕組みです。 たとえば、デイリー購入制限が3回で、プレイヤーがすでに2回購入している場合、1回のカウントアップは成功します（合計: 3）。しかし、さらにカウントアップしようとすると制限を超えるため失敗します。 増加量（countUpValue）と許可される最大値（maxValue）の両方を指定できます。 プレイヤーが制限付きアクションを実行する際に使います。たとえば、デイリーショップ購入やダンジョン入場時に呼びます。カウントアップが失敗した場合、プレイヤーが制限に達したことを意味します。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 gameSession GameSession  GameSession countUpValue int 1 1 ~ 2147483646 カウントアップする量 maxValue int 1 ~ 2147483646 カウントアップを許容する最大値 Result 型 説明 item EzCounter カウントを増やしたカウンター Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 OverflowException BadRequestException 回数制限の上限に達しました 実装例 getCounter 特定の回数制限カウンターを取得する 回数制限モデル名とカウンター名を指定して、特定のカウンターを取得します。 カウンターは、現在の期間内にプレイヤーがこの特定のアクションを何回実行したかを示します。 特定のアクションの残り回数を確認するのに使います。たとえば、ダンジョン入場画面で「デイリーダンジョン: 3/5回使用済み — 残り2回」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 gameSession GameSession  GameSession Result 型 説明 item EzCounter カウンター 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listCounters プレイヤーの回数制限カウンターの一覧を取得する プレイヤーのすべての回数制限カウンターを取得し、各制限付きアクションを何回実行したかを確認できます。 回数制限モデル名でフィルタリングすることもできます。省略するとすべての制限タイプのカウンターが返されます。 各カウンターは特定のアクションの現在のカウントを追跡します（例: 「デイリーショップ購入: 本日2/3回使用」）。 「残り回数」「デイリー制限」の概要画面を構築するのに使います。たとえば「ショップ購入: 2/3回、ダンジョン入場: 1/5回、無料ガチャ: 0/1回」のような表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List カウンターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getLimitModel 名前を指定して回数制限定義を取得する 名前を指定して、回数制限モデルを1件取得します。 取得できる情報には、リセットタイプ（リセットなし / 日次 / 週次 / 月次）と関連設定が含まれます。 特定の制限のルールを表示するのに使います。たとえば、ショップ詳細画面で「デイリーショップ制限 — 毎日0時にリセット」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzLimitModel 回数制限モデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listLimitModels 回数制限定義の一覧を取得する このネームスペースに登録されているすべての回数制限モデルを取得します。 回数制限モデルは、カウンターの動作（特にリセットタイミング）を定義します。リセットの種類は以下の通りです: リセットなし: カウンターがリセットされない（例: 初回クリアボーナスなどの1回限りの報酬） 日次: 毎日リセット（例: 「1日3回まで購入可能」） 週次: 毎週リセット（例: 週間ダンジョンの挑戦回数） 月次: 毎月リセット（例: 月間報酬の受け取り回数） ゲームにどんな種類の回数制限があるかを確認するのに使います。たとえば、ショップや活動画面で「デイリー制限」「ウィークリー制限」のカテゴリを表示する際に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 回数制限モデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Limit SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Limit SDK for Game Engine API リファレンス","url":"/ja/api_reference/limit/game_engine/"},{"content":"モデル EzMutex ミューテックス GS2 の提供するミューテックスは再入可能ロックの一種です。 ロックを取得する際にはトランザクションIDを指定し、同一トランザクションIDを指定した場合にのみ再度ロックを取得できます。 参照カウンタを持つため、解放するときには同回数のアンロック処理が必要です。  mutexId string ※ ~ 1024文字 ミューテックス GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 propertyId string  ~ 1024文字 プロパティID ロック対象のリソースを識別するためのIDで、どのリソースに対するロックであるかを決定します。 複数の処理が同一リソースへの排他アクセスを必要とする場合、同じプロパティIDを指定する必要があります。 transactionId string  ~ 256文字 トランザクションID ロックを取得するトランザクションの識別子。この ID は再入可能ロックの実現に使用されます。 ロック要求が現在のロック保持者と同じトランザクションIDを指定した場合、ロックは再取得に成功し参照カウンタがインクリメントされます。 異なるトランザクションIDでのロック要求は、ロックが保持されている間は拒否されます。 ttlAt long 現在時刻から1時間後の絶対時刻 有効期限日時 UNIX 時間・ミリ秒 メソッド get ミューテックスの状態を取得 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyId string  ~ 1024文字 プロパティID ロック対象のリソースを識別するためのIDで、どのリソースに対するロックであるかを決定します。 複数の処理が同一リソースへの排他アクセスを必要とする場合、同じプロパティIDを指定する必要があります。 gameSession GameSession  GameSession Result 型 説明 item EzMutex ミューテックス 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 lock ロックを取得 ttl で指定した秒数 プロパティID のリソースをロックします。 ロックする際には トランザクションID を指定する必要があります。 異なる トランザクションID による同一 プロパティID に対するロック取得は失敗します。 同一トランザクションからのロック取得リクエストの場合は参照カウンタを増やします。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyId string  ~ 1024文字 プロパティID ロック対象のリソースを識別するためのIDで、どのリソースに対するロックであるかを決定します。 複数の処理が同一リソースへの排他アクセスを必要とする場合、同じプロパティIDを指定する必要があります。 gameSession GameSession  GameSession transactionId string  ~ 256文字 トランザクションID ロックを取得するトランザクションの識別子。この ID は再入可能ロックの実現に使用されます。 ロック要求が現在のロック保持者と同じトランザクションIDを指定した場合、ロックは再取得に成功し参照カウンタがインクリメントされます。 異なるトランザクションIDでのロック要求は、ロックが保持されている間は拒否されます。 ttl long  0 ~ 9223372036854775805 ロックを取得する期間（秒） Result 型 説明 item EzMutex ミューテックス 実装例 unlock ロックを解放 ロックの解放には同一 トランザクションID から解放する必要があります。 ロックの取得時に再入を行った場合は同一回数ロックの解放を行い、参照カウンタが0になったタイミングで実際に解放が行われます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyId string  ~ 1024文字 プロパティID ロック対象のリソースを識別するためのIDで、どのリソースに対するロックであるかを決定します。 複数の処理が同一リソースへの排他アクセスを必要とする場合、同じプロパティIDを指定する必要があります。 gameSession GameSession  GameSession transactionId string  ~ 256文字 トランザクションID ロックを取得するトランザクションの識別子。この ID は再入可能ロックの実現に使用されます。 ロック要求が現在のロック保持者と同じトランザクションIDを指定した場合、ロックは再取得に成功し参照カウンタがインクリメントされます。 異なるトランザクションIDでのロック要求は、ロックが保持されている間は拒否されます。 Result 型 説明 item EzMutex ミューテックス 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Lock SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Lock SDK for Game Engine API リファレンス","url":"/ja/api_reference/lock/game_engine/"},{"content":"モデル EzInGameLog インゲームログ ゲームクライアントまたはサーバーサイドスクリプトから送信されるカスタムログエントリです。GS2 API呼び出しにより自動生成されるアクセスログとは異なり、インゲームログはゲーム開発者がプレイヤーのアクション、ゲーム状態の変化、ビジネスメトリクスなどのゲーム固有のイベントを記録するために明示的に送信します。  timestamp long  日時 インゲームログが送信された日時です。 userId string ~ 128文字 ユーザーID tags List [] 0 ~ 20 items タグ フィルタリングと分類のためにログエントリに付与されたキーバリューペアです。タグによりインゲームログの効率的な検索と集計が可能です（例：イベントタイプ、ステージID、アイテムカテゴリ）。 payload string  ~ 10485760文字 ペイロード JSON形式のカスタムログデータです。プレイヤーのアクション、ゲーム状態、ビジネスメトリクスなど、ゲーム固有の任意の情報を含めることができます。最大10MBまで。 EzInGameLogTag ゲーム内ログのタグ インゲームログエントリのフィルタリングと分類に使用されるキーバリューペアです。各タグキーは1つのログエントリ内で一意でなければなりません。  key string  ~ 64文字 タグ名 このタグのキー名です。インゲームログを検索する際のフィルタ条件として使用されます。 value string  ~ 128文字 タグ値 このタグの値です。キーと組み合わせて、特定の条件でのログフィルタリングを可能にします（例：key=“stageId”, value=“stage-001”）。 メソッド sendInGameLog ゲーム内ログを送信します Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 tags List [] 0 ~ 20 items タグ フィルタリングと分類のためにログエントリに付与されたキーバリューペアです。タグによりインゲームログの効率的な検索と集計が可能です（例：イベントタイプ、ステージID、アイテムカテゴリ）。 payload string  ~ 10485760文字 ペイロード JSON形式のカスタムログデータです。プレイヤーのアクション、ゲーム状態、ビジネスメトリクスなど、ゲーム固有の任意の情報を含めることができます。最大10MBまで。 gameSession GameSession GameSession Result 型 説明 item EzInGameLog ゲーム内ログ 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Log SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Log SDK for Game Engine API リファレンス","url":"/ja/api_reference/log/game_engine/"},{"content":"モデル EzReceiveStatus 受け取り状態 ユーザーごと・ボーナスモデルごとのログインボーナスの受け取り状態を追跡します。 各エントリがその日の報酬を受け取り済みかどうかを示す真偽値の配列（receivedSteps）を保持します。 また、日次の受け取り資格を判定するために、最後にボーナスを受け取った時刻（lastReceivedAt）を記録します。 receivedSteps はボーナスサイクルの再開時（ストリーミングモードの繰り返し有効時など）にリセットされることがあります。  bonusModelName string  ~ 128文字 ボーナスモデル名 この受け取り状態が紐づくログインボーナスモデルの名前。 ユーザーの受け取り進捗を特定のボーナスモデル定義に関連づけ、どの報酬リストと配布ルールが適用されるかを決定します。 receivedSteps List [] 0 ~ 100 items 受け取りステップ 報酬リストの各日に対応する順序付きの真偽値配列。 true はユーザーがその日の報酬を受け取り済みであることを示し、false は取り逃がしたか未受け取りであることを示します。 配列のインデックスは関連する BonusModel の rewards 配列と対応します。 ストリーミングモードで繰り返しが有効な場合、サイクルの再開時にこの配列はリセットされます。 lastReceivedAt long 最終受け取り時刻 ユーザーが最後にログインボーナスを受け取った時刻のタイムスタンプ。 ボーナスモデルで定義されたリセット時間に基づき、ユーザーが本日のボーナスを既に受け取り済みかどうかを判定するために使用されます。 受け取り状態がクリアされた際（繰り返しモードでのサイクル再開時など）に 0 にリセットされます。 EzBonusModel ログインボーナスモデル ログインボーナスモデルにはログインボーナスの配布スケジュールを設定します。 配布スケジュールには《スケジュールモード》と《ストリーミングモード》があります。 スケジュールモードでは、GS2-Schedule のイベントの指定が必須で、そのイベントの開始日からの経過日数でボーナスの配布を行います。 途中で撮り逃しが発生した場合、その分のボーナスは配布されません。 ストリーミングモードでは、毎日ボーナスに設定された報酬を先頭から順番に配布します。 ストリーミングモードでは繰り返しの設定が可能です。その場合、ストリームの終端に達した場合、先頭から再度配布を行います。 スケジュールモード・ストリーミングモード 共に、取り逃がしの救済機能があります。 一定のコストを支払うことで、取り逃がしたボーナスを受け取ることができます。 ただし、GS2-Schedule のイベントが関連づけられている場合、イベントの開始日からの経過日数より先のボーナスは受け取ることができません。 取り逃がし機能はストリーミングモードかつ繰り返しが有効な場合は使用することができません。 スケジュールモード・ストリーミングモード 共に、設定可能なボーナスの最大日数は100日です。  name string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 mode 文字列列挙型 enum {   “schedule”,   “streaming” }  モード ログインボーナスの配布スケジュールの種類を指定します。 「schedule」モードでは、GS2-Schedule のイベント開始日からの経過日数に基づいて報酬が配布されます。 「streaming」モードでは、カレンダーの日付に関係なく、毎日先頭から順番に報酬が配布されます。 定義 説明 “schedule” スケジュールモード “streaming” ストリーミングモード periodEventId string ~ 1024文字 期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ログインボーナスを有効化する期間を表す GS2-Schedule のイベントGRN。 スケジュールモードでは必須で、報酬配布の経過日数を計算する起点の開始日を決定します。 ストリーミングモードでは省略可能ですが、指定した場合はイベント開始日からの経過日数より先のボーナスは受け取れなくなります。 resetHour int {periodEventId} == \"\" ※ 0 ~ 23 リセット時間（UTC） 受け取りフラグがリセットされる時刻（0-23、UTC）。 ログインボーナスにおける日付の切り替わりタイミングを決定します。 periodEventId が未指定の場合にのみ必要です。イベントが設定されている場合、リセットタイミングはイベントのスケジュールに従います。 ※ periodEventId が \"\" であれば 必須 repeat 文字列列挙型 enum {   “enabled”,   “disabled” } {mode} == “streaming” ※ 繰り返し 全ての報酬を配布し終えた後に、先頭から再度配布を行うかどうか。 ストリーミングモードでのみ有効です。有効にすると、最後の報酬を配布した後に最初の報酬に戻ってループします。 注意: 繰り返しが有効な場合、取り逃がし救済機能は使用できません。 定義 説明 “enabled” 有効 “disabled” 無効 ※ mode が “streaming” であれば 必須 rewards List 0 ~ 100 items 報酬リスト 日毎の報酬の順序付きリスト。各エントリは1日分のログインボーナスに対応し、インデックス 0 から順に配布されます。 スケジュールモードでは、インデックスはイベント開始日からの経過日数に対応します。 ストリーミングモードでは、インデックスはログイン日数に対応します。最大100エントリまで設定可能です。 missedReceiveRelief 文字列列挙型 enum {   “enabled”,   “disabled” } “disabled” 取り逃がし救済機能 取り逃がしたボーナスの救済機能を有効にするかどうか。有効にすると、ユーザーは指定されたコスト（消費アクション）を支払うことで、受け取り損ねたボーナスを遡って受け取ることができます。 任意で、救済の許可前に条件を確認する検証アクションも設定できます。 ストリーミングモードかつ繰り返しが有効な場合は使用できません。デフォルトは「disabled」です。 定義 説明 “enabled” 有効 “disabled” 無効 missedReceiveReliefVerifyActions List {missedReceiveRelief} == “enabled” ※ [] 0 ~ 10 items 取り逃がし救済の検証アクションリスト 取り逃がし救済を許可する前に実行される検証アクションのリスト。 救済処理の前にユーザーの資格などの前提条件をチェックします。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば 有効 missedReceiveReliefConsumeActions List {missedReceiveRelief} == “enabled” ※ [] 0 ~ 10 items 取り逃がし救済の消費アクションリスト 取り逃がしたボーナスを救済するためにユーザーが支払うコストを定義する消費アクションのリスト。 例えば、ゲーム内通貨やアイテムを救済コストとして消費するよう設定できます。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば 有効 EzReward 報酬 ログインボーナスの1日分の報酬設定を表します。 各 Reward にはユーザーが受け取るもの（アイテム、通貨、経験値など）を定義する入手アクションのリストが含まれます。 BonusModel の rewards 配列は1日あたり1つの Reward を保持し、順番に配布されます。 報酬の値はバフシステム（BonusModelBuff）を通じて実行時に変更でき、入手アクションにレート乗数を適用できます。  acquireActions List  1 ~ 10 items 入手アクションリスト この日の報酬としてユーザーに付与されるリソースを定義する入手アクションのリスト。 各アクションは入手アクション（アイテム追加、通貨付与など）とそのリクエストパラメータを指定します。 報酬あたり最低1個、最大10個のアクションを設定できます。 EzConfig コンフィグ設定 トランザクションの変数に適用する設定値のキーバリューペア。 Config エントリにより、実行時に入手アクションの動的なパラメータ化が可能になります。 例えば、スロット名やその他のコンテキスト依存の値を Config 設定を通じてトランザクションリクエストに注入でき、 マスターデータを変更することなく柔軟な報酬設定を実現できます。  key string  ~ 64文字 キー トランザクションパラメータ内で置換される変数名。最大64文字。 value string ~ 51200文字 値 トランザクションパラメータ内で対応するキーに代入される値。最大51,200文字。 EzConsumeAction 消費アクション 消費アクションの仕組みを通じてユーザーからリソースを消費するアクションを定義します。 取り逃がしボーナスの救済でユーザーが支払うコスト（通貨の差し引き、アイテムの消費など）を指定するために使用されます。 action フィールドは消費アクションの種類を指定し、request フィールドには対応するリクエストパラメータが含まれます。  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzVerifyAction 検証アクション 操作の実行前に条件を検証するアクションを定義します。 取り逃がしボーナスの救済で、救済を許可する前に前提条件（ユーザーの資格、リソースの利用可能性など）を確認するために使用されます。 action フィールドは検証アクションの種類を指定し、request フィールドには対応するリクエストパラメータが含まれます。  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzAcquireAction 入手アクション 入手アクションの仕組みを通じてユーザーにリソースを付与するアクションを定義します。 報酬内で使用され、ユーザーが受け取るもの（インベントリへのアイテム追加、通貨の付与、経験値の付与など）を指定します。 action フィールドは入手アクションの種類を指定し、request フィールドには対応するリクエストパラメータが含まれます。  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド missedReceive 取り逃がしたログインボーナスを受け取る 過去にログインできなかった日のボーナスを、後から受け取ることができます。 この機能を使うには、ボーナスモデルで「取り逃がし救済」が有効になっている必要があります。 有効な場合、プレイヤーはコストを支払うことで取り逃がした報酬を受け取れます。たとえば「ジェム50個を消費して3日目の報酬を受け取る」といった使い方ができます。 スケジュールモードでは、イベント開始日からの経過日数までの報酬のみ救済できます。 ストリーミングモードでは、ステップ番号は自動で判定できるため省略可能です。 ストリーミングモードで「繰り返し」が有効な場合、この機能は使用できません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession stepNumber int 0 ~ 100 受け取るステップ番号 ストリーミングモードでは省略が可能です config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item EzReceiveStatus 受け取り状態 bonusModel EzBonusModel ログインボーナスモデル transactionId string 発行されたトランザクションID stampSheet string ログインボーナスの受け取りの実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 AlreadyReceivedException BadRequestException 今日のログインボーナスはすでに受け取っています。 実装例 receive 今日のログインボーナスを受け取る 指定されたボーナスモデルに基づいて、今日分のログインボーナスを受け取ります。 各ボーナスモデルには日ごとの報酬が順番に定義されています。たとえば「1日目: ジェム100個、2日目: スタミナ回復薬5個、3日目: レアガチャチケット、…」のような設定が可能です。 プレイヤーはログインするたびにこのAPIを呼び出すことで、報酬ステップを順に進めていきます。 ボーナスの配布方式には2種類あります: スケジュールモード: 特定のカレンダー期間に紐づいて報酬が配布されます。ログインしなかった日の報酬はスキップされます。 ストリーミングモード: カレンダーの日付に関係なく、ログインするたびに先頭から順番に報酬が配布されます。 既に今日のボーナスを受け取り済みの場合はエラーになります。 すべての報酬を配布し終えた後、「繰り返し」が有効な場合（ストリーミングモードのみ）は、最初の報酬に戻ってサイクルが再開されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item EzReceiveStatus 受け取り状態 bonusModel EzBonusModel ログインボーナスモデル transactionId string 発行されたトランザクションID stampSheet string ログインボーナスの受け取りの実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 AlreadyReceivedException BadRequestException 今日のログインボーナスはすでに受け取っています。 実装例 getBonusModel 特定のログインボーナスのスケジュールを取得する ボーナスモデル名を指定して、1つのログインボーナスモデルの詳細を取得します。 特定のボーナスの詳細画面を表示する際に使います。たとえば、7日分の報酬を一覧表示し、受け取り済みの日にチェックマークを付けるような画面です。 返却されるモデルには報酬リスト、ボーナスモード、繰り返し設定、取り逃がし救済の設定が含まれます。 GetReceiveStatus と組み合わせることで、どの日の報酬を受け取り済みで、どの日がまだ受け取れるかを把握できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzBonusModel ログインボーナスモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listBonusModels ログインボーナスのスケジュール一覧を取得する ネームスペースに設定されているすべてのログインボーナスモデルを取得します。 各モデルは報酬スケジュールを定義しています。1日目に何がもらえるか、2日目に何がもらえるか、といった内容です。 ログインボーナスの一覧画面を作る際に使います。 たとえば「7日間新人ボーナス」と「月間ログインボーナス」が同時に開催されている場合、このAPIで両方の情報を取得できます。 返却されるモデルには、ボーナスモード（スケジュール / ストリーミング）、日ごとの報酬リスト、繰り返しの有無、取り逃がし救済の可否が含まれます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List ログインボーナスモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getReceiveStatus 特定のボーナスの受け取り進捗を取得する 1つのログインボーナスモデルに対するプレイヤーの受け取り状態を取得します。 受け取り状態には、各日の受け取り済み/未受け取りを示す真偽値のリスト（receivedSteps）が含まれます。たとえば [true, true, false, true, false, false, false] は「1日目と2日目は受け取り済み、3日目は取り逃がし、4日目は受け取り済み、5〜7日目はまだ」という意味です。 GetBonusModel と組み合わせて、各日の報酬内容と受け取り状況を並べて表示するログインボーナス詳細画面を作るのに使います。 レスポンスにはボーナスモデルの情報も含まれるため、1回のAPI呼び出しで報酬内容と受け取り状況の両方を表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ボーナスモデル名 この受け取り状態が紐づくログインボーナスモデルの名前。 ユーザーの受け取り進捗を特定のボーナスモデル定義に関連づけ、どの報酬リストと配布ルールが適用されるかを決定します。 gameSession GameSession  GameSession Result 型 説明 item EzReceiveStatus 受け取り状態 bonusModel EzBonusModel ログインボーナスモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listReceiveStatuss 全ボーナスの受け取り進捗を一覧で取得する プレイヤーが関わったすべてのログインボーナスモデルの受け取り状態を取得します。 各状態から、どの日の報酬を受け取り済みで、どの日がまだ受け取れるかがわかります。 ログインボーナスの概要画面を作る際に使います。たとえば「7日間新人ボーナス: 4/7受け取り済み」「月間ボーナス: 12/30受け取り済み」のように進捗を表示できます。 ゲーム起動時に未受け取りのボーナスがあるかどうかを確認し、プレイヤーに受け取りを促すのにも便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 items List 受け取り状態のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-LoginReward SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-LoginReward SDK for Game Engine API リファレンス","url":"/ja/api_reference/login_reward/game_engine/"},{"content":"モデル EzProbability 排出確率 特定の景品の算出された排出確率を表します。確率は排出確率テーブル内の全景品の重みの合計に対するこの景品の重みから計算されます。ボックスガチャの場合、景品がボックスから排出されるにつれて確率は動的に変化します。  prize EzDrawnPrize  景品 この確率が対応する景品で、IDと入手アクションを含みます。 rate float  0 ~ 1.0 排出確率 (0.0〜1.0) この景品が排出される確率で、0.0から1.0の値で表されます。この景品の重みをテーブル内の全景品の重みの合計で割って算出されます。 EzDrawnPrize 排出された景品 抽選で排出された景品を表します。景品IDとユーザーに景品を付与するために実行された入手アクションを含みます。  prizeId string  ~ 36文字 景品ID 排出された景品のIDで、排出確率テーブル内の景品エントリに対応します。 acquireActions List 0 ~ 100 items 入手アクションのリスト この景品をユーザーに付与するために実行された入手アクションのリストです。 EzBoxItems ボックスアイテムリスト 特定のユーザーと排出確率テーブルに対するボックスガチャの状態を記録します。ボックス内のすべての景品とその残数・初期数量のリストを含み、どの景品が排出済みでどの景品が残っているかをユーザーが確認できます。  boxId string ※ ~ 1024文字 ボックス GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 prizeTableName string  ~ 128文字 排出確率テーブル名 このボックスに関連付けられた排出確率テーブルの名前です。このレコードがどのボックスガチャに属するかを識別します。 items List [] 0 ~ 1000 items アイテムリスト ボックス内のすべての景品とその残数・初期数量のリストです。各アイテムはその景品が最初にボックスに何個あったか、何個残っているかを示し、ボックスガチャの抽選進行状況の追跡を可能にします。 EzLotteryModel 抽選モデル 抽選モデルは排出方式や排出テーブルの参照方法を定義するエンティティです。 排出方式は2種類用意されており、通常抽選は毎回一定の確率で抽選をする方式、Box抽選は箱の中にあらかじめ定義された数量の景品が入っており、抽選するたびに箱から景品を取り出していく抽選方式です。 抽選処理を行うにあたって、排出確率テーブルを利用しますが、 GS2-Script を使用すれば複数回抽選を実行した際に排出確率テーブルを一部だけ異なるテーブルに差し替えることができます。 この仕組みを利用することで、10連ガチャで1回だけ異なる抽選確率テーブルを適用することが可能となります。  name string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 mode 文字列列挙型 enum {   “normal”,   “box” }  抽選モード 景品の抽選方式を選択します。“normal” は毎回一定の確率で抽選を行います（景品は繰り返し排出されます）。“box” は仮想的な箱にあらかじめ定義された数量の景品を入れ、抽選するたびに箱から景品を取り出します（すべての景品が最終的に排出されることが保証されます）。 定義 説明 “normal” 通常抽選 “box” ボックス抽選 prizeTableName string {method} == “prize_table” ※ ~ 128文字 排出確率テーブルの名前 この抽選モデルで使用する排出確率テーブルの名前です。抽選方法が “prize_table” の場合に必須です。 ※ method が “prize_table” であれば 必須 EzAcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzBoxItem ボックスアイテム ボックスガチャ内の単一の景品タイプを表し、ボックス内の初期数量、残数量、および排出時に実行される入手アクションを示します。  prizeId string  ~ 128文字 景品ID このボックスアイテムが対応する排出確率テーブル内の景品IDです。 acquireActions List [] 0 ~ 100 items 入手アクションのリスト この景品がボックスから排出された時に実行する入手アクションのリストです。 remaining int  0 ~ 2147483646 残り数量 ボックス内に残っているこの景品の数です。この景品が排出されるたびに1つ減少します。 initial int  0 ~ 2147483646 初期数量 最初にボックスに入れられたこの景品の数です。残数と合わせてどれだけ排出されたかを計算するために使用されます。 EzConfig コンフィグ設定 トランザクションの変数に適用する設定値  key string  ~ 64文字 名前 value string ~ 51200文字 値 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド describeBoxes プレイヤーが引いたすべてのボックスガチャの状態を取得する ネームスペース内のすべてのボックスモードのガチャについて、ボックスの状態を取得します。 各エントリには、景品ごとの排出済み数と箱の中の残り数が含まれます。 すべてのボックスガチャの概要画面を作る際に使います。たとえば「初心者ボックス: 15/50排出済み」「プレミアムボックス: 3/100排出済み」のように進捗バー付きで表示できます。 このAPIはボックスモードのガチャにのみ適用されます。通常ガチャは景品が無制限に排出されるためボックスの状態はありません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ボックス状態のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getBox 特定のボックスガチャの状態を取得する 排出確率テーブル名を指定して、特定のボックスの現在の状態を取得します。 レスポンスにはボックス内の各景品、排出済み数、残り数が含まれます。 ボックスガチャの詳細画面を表示する際に使います。たとえば、残り数付きで全景品を一覧表示できます: 「SSR 伝説の剣: 0/1排出済み、SR 魔法の杖: 2/5排出済み、R ポーション: 10/30排出済み、…」 プレイヤーがもう1回引くかどうかを判断するために、箱の中に何が残っているかを確認できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 gameSession GameSession  GameSession Result 型 説明 item EzBoxItems ボックス内の景品と残数の情報 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 resetBox ボックスガチャを初期状態にリセットする ボックスをリセットして、すべての景品を元の数量に戻します。プレイヤーがまだ一度も引いていない状態に戻ります。 リセット後、すべての景品が再び排出可能になります。 ボックスガチャのUIで「ボックスリセット」ボタンを実装する際に使います。プレイヤーが目当ての景品を引いた後にボックスをリセットして、新しいボックスで再挑戦するような使い方ができます。 たとえば、SSRアイテムを引いた後にボックスをリセットして、新品のボックスからもう一度SSRを狙うといった流れです。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 gameSession GameSession  GameSession Result 型 説明 item EzBoxItems ボックス内の景品と初期数量の情報 実装例 listProbabilities ガチャの現在の排出確率を取得する 指定されたガチャのすべての景品と、その現在の排出確率を取得します。 多くのゲームでプレイヤーに表示する「排出確率」「ガチャ詳細」画面を作る際に使います。 返される確率はガチャのモードによって異なります: 通常ガチャ: すべてのプレイヤーに対して常に同じ確率が返されます（例: SSR: 3%、SR: 15%、R: 82%）。 ボックスガチャ: プレイヤーのボックスの現在の状態を反映した確率が返されます。景品が排出されて箱から取り除かれると、残りの景品の確率がそれに応じて変化します。たとえば、唯一のSSRが既に排出済みなら、SSRの確率は0%になります。 このAPIは、ガチャの排出確率表示義務への対応にも利用できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 lotteryName string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 items List 排出確率リスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getLotteryModel 特定のガチャ（抽選）の詳細を取得する 抽選名を指定して、1つの抽選モデルの詳細を取得します。 ガチャの詳細画面を表示する際に使います。抽選モード（通常/ボックス）、関連する排出確率テーブル名などの設定情報を確認できます。 たとえば、プレイヤーが「引く」ボタンをタップする前に、そのガチャが通常ガチャなのかボックスガチャなのかを表示したり、ListProbabilities と組み合わせて現在の排出確率を表示したりできます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 lotteryName string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzLotteryModel 抽選モデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listLotteryModels ガチャ（抽選）の設定一覧を取得する ネームスペースに設定されているすべての抽選モデルを取得します。 各モデルは1つのガチャ（抽選）を定義しており、抽選モード、参照する排出確率テーブル、景品の選出方法が含まれます。 抽選モードは2種類あります: 通常抽選: 毎回固定の確率テーブルに基づいて抽選します。同じ景品が何度でも排出されます。一般的なガチャの動作です。 ボックス抽選: あらかじめ決められた数量の景品が仮想的な箱に入っており、抽選するたびに箱から景品を1つ取り出します。設定された数量以上に同じ景品は排出されず、箱が空になるとすべての景品を獲得したことになります。 ガチャ一覧画面を表示する際に使います。たとえば「プレミアムガチャ」「武器ガチャ」「ステップアップガチャ」などの一覧です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 抽選モデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Lottery SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Lottery SDK for Game Engine API リファレンス","url":"/ja/api_reference/lottery/game_engine/"},{"content":"モデル EzGathering ギャザリング マッチメイキングによって集められたゲームプレイヤーグループを表すエンティティです。 マッチメイキング用のパラメータを複数持っており、パラメータを総合的に判断してプレイヤーをグルーピングします。 プレイヤーは自身のロール・属性値・拒否リスト（一緒にプレイしたくないユーザー）を指定してギャザリングに参加します。 参加時には属性値の範囲条件、ロールの定員、ホワイトリスト制限（allowUserIds）が検証されます。 すべてのロール枠が定員に達するとギャザリングは完成状態となり、マッチメイキングが完了します。 ギャザリング名は UUID 形式で自動生成され、有効期限を設定して自動クリーンアップすることも可能です。  gatheringId string ※ ~ 1024文字 ギャザリング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 attributeRanges List [] 0 ~ 5 items 募集条件 このギャザリングに参加するためにプレイヤーが満たすべき属性範囲条件のリスト。 各エントリは属性名と許容される最小値・最大値の範囲を指定します。 プレイヤー自身の属性値がこの範囲内でなければ参加できません。最大5件。 capacityOfRoles List [] 1 ~ 5 items 募集枠リスト このギャザリングの募集枠を定義します。 各エントリはロール名、その別名、およびそのロールに参加可能な最大人数を指定します。 すべてのロール枠が定員に達するとマッチメイキングが完了となります。最小1件、最大5件。 allowUserIds List [] 0 ~ 100 items 参加許可ユーザーIDリスト このギャザリングへの参加を許可されたユーザーIDのホワイトリスト。 指定した場合、リストに含まれるユーザーのみがこのギャザリングのマッチメイキングに参加できます。 フレンド限定マッチメイキングや招待制マッチメイキングに利用します。最大100件。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 expiresAt long ギャザリングの有効期限 このギャザリングが自動的に期限切れとなり削除される時刻。 この時刻までにマッチメイキングが完了しない場合、ギャザリングはクリーンアップされます。 未指定の場合、マッチメイキングが完了するか手動で削除されるまでギャザリングは維持されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzRating レーティング ゲームプレイヤー毎の現在のレーティングの値を保持するエンティティです。 プレイヤーが初めてレーティング付きマッチメイキングに参加した時に自動的に作成されます。 レーティングは Glicko-2 アルゴリズムを使用して計算され、初期レート値とレーティングの不確実性を表す Rating Deviation (rd) を持ちます。 対戦回数が増えるにつれて、レート値はプレイヤーの真の実力に収束していきます。  ratingId string ※ ~ 1024文字 レーティング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レーティング名 レーティング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rateValue float 1500.0 0 ~ 65535.0 レート値 Glicko-2 アルゴリズムで計算されたプレイヤーの現在のレーティングスコア。 RatingModel で定義された初期値（通常 1500.0）がデフォルトです。 対戦結果と対戦相手の相対的な強さに基づいて値が増減します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzJoinedSeasonGathering 参加中のシーズンギャザリング 特定のシーズンとティアーにおいて、プレイヤーがどのシーズンギャザリングに参加しているかを追跡するレコード。 プレイヤーがシーズンギャザリングに参加した際に自動的に作成され、プレイヤーの現在のギャザリングを素早く検索するためのインデックスとして機能します。 各プレイヤーはシーズンとティアーの組み合わせごとに最大1つのシーズンギャザリングに所属できます。  seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン tier long  0 ~ 9223372036854775805 ティアー 同程度のランクのプレイヤーをグルーピングするためのティアーレベル。 SeasonModel で指定された GS2-Experience モデルにおけるプレイヤーのランクによって決定されます。 プレイヤーは同じティアーのプレイヤーとのみマッチングされ、公平な対戦が保証されます。 seasonGatheringName string  ~ 128文字 シーズンギャザリング名 このプレイヤーが参加しているシーズンギャザリングの名前。 同一シーズン・ティアー内の特定のシーズンギャザリングエンティティを参照するために使用されます。 EzSeasonGathering シーズンギャザリング シーズン期間中にプレイヤーを集める永続的なギャザリング。 マッチメイキング完了後に解散する通常のギャザリングとは異なり、シーズンギャザリングはシーズン中ずっと存続し参加者を蓄積します。 プレイヤーはティアー（GS2-Experience のランクに基づく）とシーズン番号でグルーピングされ、各シーズンギャザリングには SeasonModel で定義された最大参加人数の制限があります。  seasonGatheringId string ※ ~ 1024文字 シーズンギャザリング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン tier long  0 ~ 9223372036854775805 ティアー 同程度のランクのプレイヤーをグルーピングするためのティアーレベル。 SeasonModel で指定された GS2-Experience モデルにおけるプレイヤーのランクによって決定されます。 プレイヤーは同じティアーのプレイヤーとのみマッチングされ、公平な対戦が保証されます。 name string  UUID ~ 128文字 シーズンギャザリング名 シーズンギャザリング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 participants List [] 0 ~ 1000 items 参加者のユーザーIDリスト このシーズンギャザリングに参加したプレイヤーのユーザーIDリスト。 プレイヤーが参加するとこのリストに追加され、最大参加人数に達するまでシーズン中ずっと増え続けます。 EzBallot 投票用紙 レーティング付きマッチメイキングのゲーム終了後に、各プレイヤーが対戦結果を報告するために発行される投票用紙。 レーティングモデル名、ギャザリング名、参加人数といった対戦のコンテキスト情報を含みます。 各プレイヤーはサーバーで署名された投票用紙を受け取り、ゲーム結果を記入して Vote API に提出します。 投票システムは、レーティング計算を確定するために提出された投票用紙の50%超の合意を必要とします。  userId string  ~ 128文字 ユーザーID ratingName string  ~ 128文字 レーティング名 この対戦後のレーティング計算に使用する RatingModel の名前。 この対戦の結果処理に適用されるレーティングシステムのパラメータ（初期値、ボラティリティ）を特定します。 gatheringName string  ~ 128文字 ギャザリング名 対戦結果の報告対象となるギャザリングの名前。 特定のマッチメイキングセッションを識別し、同じ対戦の全参加者からの投票を関連付けるために使用されます。 numberOfPlayer int  2 ~ 10 参加人数 この対戦に参加したプレイヤーの総数。 期待される投票数の決定と合意の検証（プレイヤーの50%超が一致する結果を提出する必要がある）に使用されます。 2 から 10 の範囲で指定します。 EzRatingModel レーティングモデル GS2 ではレーティングアルゴリズムとして Glicko-2 を採用しています。 Glicko-2 には複数のパラメータがありますが、GS2-Matchmaking ではそれらを総合的に表す ボラティリティ という1つのパラメータに集約しています。 ボラティリティ は変化の大きさを表すパラメータで、値が大きいほどレーティングの値の変動量が大きくなります。  name string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 volatility int 100 1 ~ 20000 レーティングのボラティリティ 各対戦後にレート値がどの程度変動するかを制御する Glicko-2 のパラメータ。 値が大きいほどレーティングの変動幅が大きくなり、より早くレーティングが調整されます。 値が小さいほどレーティングが安定し、緩やかに変化します。デフォルトは 100 です。 EzSeasonModel シーズンモデル シーズンマッチメイキングにおいて、一定期間有効な永続ギャザリングの期間・最大参加人数・ティアー連携設定を定義するマスターデータです。 GS2-Schedule により期間を管理し、必要に応じて GS2-Experience と連携して同一ティアー内で永続ギャザリングを形成します。  name string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumParticipants int  2 ~ 1000 最大参加人数 1つのシーズンギャザリングに参加可能なプレイヤーの最大人数。 この上限に達するとシーズンギャザリングは満員となり、それ以上のプレイヤーは参加できなくなります。 2 から 1000 の範囲で指定します。 experienceModelId string ~ 1024文字 ティアー管理用の経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN プレイヤーのティアーを決定するために使用する GS2-Experience の経験値モデルの GRN。 この経験値モデルにおけるプレイヤーのランクがマッチメイキングのティアーとして使用され、同程度のレベルのプレイヤー同士がグルーピングされます。 未指定の場合、ティアーによるグルーピングは無効となり、レベルに関係なく全プレイヤーがマッチングされます。 challengePeriodEventId string  ~ 1024文字 チャレンジ期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このシーズンの有効期間を定義する GS2-Schedule イベントの GRN。 このイベントがアクティブな間のみ、シーズンギャザリングの作成・参加が可能です。 イベント期間が終了するとシーズンがクローズし、新しいマッチメイキングはできなくなります。 EzPlayer 参加者のプレイヤー情報 マッチメイキングに参加するプレイヤーを表し、ID、属性、ロール、拒否リストを含みます。 ギャザリングに参加する際、プレイヤーの属性値、希望するロール、一緒にプレイしたくないユーザーのリストを持つ Player オブジェクトが作成されます。 プレイヤーの属性はギャザリングの属性範囲条件と照合され、拒否リストは不要なペアリングを防ぐためにクロスチェックされます。  userId string  ~ 128文字 ユーザーID attributes List [] 0 ~ 5 items 属性値のリスト マッチメイキング条件の評価に使用されるプレイヤーの名前付き数値属性。 各属性はギャザリングの AttributeRange 条件と照合され参加資格が判定されます。 ギャザリング作成時に範囲条件を設定する場合、プレイヤー自身の属性値もその範囲内である必要があります。最大5件。 roleName string “default” ~ 128文字 ロール名 このプレイヤーがギャザリングで埋めたいロール。 ロール区分のない一般的なマッチメイキングの場合、デフォルト値 “default” を使用します。 ロールベースのマッチメイキングの場合、プレイヤーの具体的なロール（例: “パラディン”、“ナイト”）を指定し、ギャザリングの定員定義のロール名および別名とマッチングされます。 denyUserIds List [] 0 ~ 100 items 参加拒否ユーザーIDリスト このプレイヤーがマッチングを拒否するユーザーIDのブラックリスト。 マッチメイキング時、ギャザリングに既に参加しているプレイヤーがこのリストに含まれている場合、そのギャザリングに参加できません。 逆に、既存の参加者の拒否リストにこのプレイヤーが含まれている場合も参加がブロックされます。最大100件。 EzAttributeRange 募集条件 ギャザリングに参加するための属性の許容範囲を定義する条件。 プレイヤーが参加を試みる際、対応する名前の属性値が指定された最小値・最大値の範囲内である必要があります。 スキルベースやレベルベースのマッチメイキングフィルターを作成するために使用されます。  name string  ~ 128文字 属性名 この範囲条件を適用する属性の名前。 条件が評価されるためには、プレイヤーの属性リスト内の属性名と一致する必要があります。 min int 0 0 ~ 2147483646 属性値の最小値 ギャザリングに参加するために必要な属性値の下限（この値を含む）。 属性値がこの閾値を下回るプレイヤーは参加できません。 max int 0 0 ~ 2147483646 属性値の最大値 ギャザリングに参加可能な属性値の上限（この値を含む）。 属性値がこの閾値を超えるプレイヤーは参加できません。 EzCapacityOfRole 募集枠 ギャザリング内の特定のロールに対する募集枠を定義します。 各ロールは名前、オプションの別名、最大定員、および現在参加しているプレイヤーリストを持ちます。 ロールの別名により柔軟なマッチングが可能です。例えば「タンク」ロールに「パラディン」「ナイト」の別名を設定すると、どちらのサブロールを指定したプレイヤーもタンク枠を埋められます。 すべてのロールの参加者が定員に達すると、ギャザリングのマッチメイキングが完了します。  roleName string “default” ~ 128文字 ロール名 この募集枠のロール名。 ロール区分のない一般的なマッチメイキングの場合、デフォルト値 “default” を使用します。 ロールベースのマッチメイキング（例: “タンク”、“ヒーラー”、“アタッカー”）の場合、ここにロールカテゴリ名を指定します。 roleAliases List [] 0 ~ 9 items ロール名の別名リスト この募集枠で受け入れ可能な代替ロール名。 これらの別名のいずれかをロール名として指定したプレイヤーが、この枠にマッチングされます。 サブロールマッチングを実現します。例: “タンク” ロールに対する “パラディン” と “ナイト” の別名。最大9件。 capacity int  1 ~ 256 募集人数 このロール枠を埋めることができるプレイヤーの最大数。 参加者数がこの定員に達すると、ロールは満員となりこのロールのプレイヤーはそれ以上参加できません。 1 から 256 の範囲で指定します。 participants List [] 0 ~ 1000 items 参加者のプレイヤー情報リスト 現在このロール枠を占有しているプレイヤーのリスト。 プレイヤーはギャザリングに参加すると追加され、離脱すると削除されます。 各プレイヤーエントリにはユーザーID、属性、ロール名、拒否リストが含まれます。ユーザーIDによる一意性が保証されます。 EzAttribute 属性値 マッチメイキングのためにプレイヤーに関連付けられた名前付きの数値属性。 ギャザリングの AttributeRange 条件と組み合わせて、どのプレイヤーが参加可能かをフィルタリングするために使用されます。 例えば「レベル」属性の値が 50 のプレイヤーは、レベル 40〜60 を要求するギャザリングにマッチします。 各プレイヤーは最大5つの属性を持てます。  name string  ~ 128文字 属性名 属性固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 value int 0 0 ~ 2147483646 属性値 このプレイヤーの属性の数値。 マッチメイキング時にギャザリングの AttributeRange 条件で指定された最小値・最大値の範囲と照合されます。 EzGameResult 対戦結果 Vote システムを通じたレーティング計算に使用される、対戦における1人のプレイヤーの結果を表します。 各 GameResult エントリはユーザーIDとその対戦での順位（最終順位）をペアにします。 順位の値が小さいほど高い成績を示します（1位 = rank 1）。同じ順位のプレイヤーは引き分けとして扱われます。  rank int  0 ~ 2147483646 順位 対戦におけるプレイヤーの最終順位。1 が最上位（勝者）です。 Glicko-2 アルゴリズムによるレーティング変動の計算に使用されます。上位のプレイヤーはレーティングが上昇し、下位のプレイヤーはレーティングが低下します。 同じ順位のプレイヤーは引き分けとして処理されます。 userId string  ~ 128文字 ユーザーID EzSignedBallot 署名付き投票用紙 真正性を検証するためのデジタル署名が付与された投票用紙。 マッチメイキング完了後にサーバーがプレイヤーに署名付き投票用紙を発行し、正当な参加者のみが対戦結果を提出できることを保証します。 投票用紙が Vote API に提出される際に署名が検証され、対戦コンテキスト（レーティング名、ギャザリング名、参加人数）の改ざんを防止します。  body string  ~ 1024文字 投票用紙本体 デジタル署名の対象となるシリアライズされた投票用紙データ。 署名と照合して検証可能な形式で、投票コンテキスト（ユーザーID、レーティング名、ギャザリング名、参加人数）を含みます。 signature string  ~ 256文字 署名 投票用紙本体の真正性と完全性を検証するためのデジタル署名。 GS2-Key の暗号化キーを使用してサーバーで生成され、投票用紙の提出時に偽造や改ざんを防止するために検証されます。 EzTimeSpan 時間間隔（期間） 日・時間・分で構成される時間の長さを表します。 現在時刻からのギャザリングの有効期限など、相対的な時間オフセットの指定に使用されます。 全体の期間は3つのコンポーネントを合算して計算されます。  days int 0 0 ~ 365 日数 期間における日数。最大365日。デフォルトは0。 hours int 0 0 ~ 24 時間 期間における時間数。最大24時間。デフォルトは0。 minutes int 0 0 ~ 60 分 期間における分数。最大60分。デフォルトは0。 メソッド cancelMatchmaking マッチメイキングをキャンセルしてギャザリングから離脱する プレイヤーが現在参加しているギャザリングから離脱し、マッチメイキングを中止します。 マッチメイキング待機画面で「キャンセル」ボタンをタップしたときに使います。 注意: キャンセルしようとした瞬間にマッチメイキングが完了していた場合、ギャザリングが既に存在しないため NotFoundException（404エラー）が返されます。 ゲーム側ではこのケースをハンドリングしてください。マッチが成立したということなので、プレイヤーをそのままゲームに進めてください。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 gameSession GameSession  GameSession Result 型 説明 item EzGathering キャンセルしたギャザリング 実装例 createGathering マッチメイキング用の部屋（ギャザリング）を新規作成する マッチメイキングの部屋を作成し、他のプレイヤーの参加を待ちます。 ギャザリング作成時に募集条件を設定します。たとえば「アタッカー1人とヒーラー1人を募集、プレイヤーレベルは10〜20」のような指定ができます。 主な設定項目: capacityOfRoles: ロールごとの募集人数を定義します（例: DPS 2人 + タンク 1人 + ヒーラー 1人）。 attributeRanges: レベルやランクなどのプレイヤー属性に基づく参加条件を設定します。 allowUserIds: 特定のプレイヤーのみ参加可能にします（フレンド限定や招待制のマッチメイキングに便利です）。 expiresAt: ギャザリングの有効期限を設定します。設定を推奨します。有効期限がないと、プレイヤーがゲームから離脱した後も古いギャザリングが残り続けます。有効期限を使う場合は、期限が来たらプレイヤーにギャザリングの再作成を促す仕組みにしてください。 Player パラメータの自分自身のユーザーIDは省略できます。 ギャザリング作成後、他のプレイヤーは DoMatchmaking を呼び出すことでこのギャザリングを見つけて参加できます。 すべてのロール枠が埋まるとマッチメイキングが完了し、全参加者に通知が送られます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession player EzPlayer  自身のプレイヤー情報 attributeRanges List [] 0 ~ 5 items 募集条件 このギャザリングに参加するためにプレイヤーが満たすべき属性範囲条件のリスト。 各エントリは属性名と許容される最小値・最大値の範囲を指定します。 プレイヤー自身の属性値がこの範囲内でなければ参加できません。最大5件。 capacityOfRoles List [] 1 ~ 5 items 募集枠リスト このギャザリングの募集枠を定義します。 各エントリはロール名、その別名、およびそのロールに参加可能な最大人数を指定します。 すべてのロール枠が定員に達するとマッチメイキングが完了となります。最小1件、最大5件。 allowUserIds List [] 0 ~ 100 items 参加許可ユーザーIDリスト このギャザリングへの参加を許可されたユーザーIDのホワイトリスト。 指定した場合、リストに含まれるユーザーのみがこのギャザリングのマッチメイキングに参加できます。 フレンド限定マッチメイキングや招待制マッチメイキングに利用します。最大100件。 expiresAt long ギャザリングの有効期限 このギャザリングが自動的に期限切れとなり削除される時刻。 この時刻までにマッチメイキングが完了しない場合、ギャザリングはクリーンアップされます。 未指定の場合、マッチメイキングが完了するか手動で削除されるまでギャザリングは維持されます。 expiresAtTimeSpan EzTimeSpan 有効期限までの時間 Result 型 説明 item EzGathering 作成したギャザリング 実装例 doMatchmaking 参加可能なギャザリングを探して参加する 既存のギャザリングの中からプレイヤーの属性に合い、空き枠のあるものを検索し、自動的に参加します。 自分でマッチを作るのではなく、既存のマッチに参加したいプレイヤーが使うメインのAPIです。 1回の呼び出しでは一定時間だけ検索を行います。まだ適切なギャザリングが見つからない場合は matchmakingContextToken が返されます。 次の呼び出しでこのトークンを渡すと、前回の続きから検索を再開できます。マッチが見つかるまでループで呼び出してください。 すべてのギャザリングを検索しても参加可能なものがなかった場合、ギャザリングもトークンも null になります。 この場合は CreateGathering で新しいギャザリングを作成してください。 一般的なマッチメイキングの流れ: DoMatchmaking をループで呼び出し、毎回トークンを渡す ギャザリングが返ってきた → マッチメイキング成功、ゲームへ進む ギャザリングもトークンも null → マッチが見つからなかったので、新しいギャザリングを作成する Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession player EzPlayer  自身のプレイヤー情報 matchmakingContextToken string ~ 5120文字 検索の再開に使用する マッチメイキングの状態を保持するトークン Result 型 説明 item EzGathering 参加したギャザリング matchmakingContextToken string マッチメイキングの状態を保持するトークン 実装例 earlyCompleteMatchmaking 定員に達していない状態でマッチメイキングを早期完了する すべてのロール枠が埋まる前にマッチメイキングを終了します。 当初の募集人数より少ない人数でゲームを開始したい場合に使います。たとえば、4人用の協力ダンジョンを3人で開始するようなケースです。 このAPIを呼び出せるのは、ギャザリングを作成したプレイヤーのみです。 呼び出し後、マッチメイキングは完了扱いとなり、全参加者にマッチ完了通知が送信されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 gameSession GameSession  GameSession Result 型 説明 item EzGathering キャンセルしたギャザリング 実装例 getGathering ギャザリングの現在の状態を取得する 特定のギャザリングの最新情報を取得します。参加者、募集条件、ロールの定員が含まれます。 待機画面を表示する際に使います。たとえば「2/4人参加済み、募集中: タンク1人、ヒーラー1人」のような表示ができます。 すべてのロール枠が埋まっているかを確認することで、マッチメイキングが完了したかどうかのチェックにも使えます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 Result 型 説明 item EzGathering ギャザリング 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 ping マッチメイキング待機中のキープアライブを送信する プレイヤーがまだマッチメイキングを待機中であることをサーバーに通知します。 プレイヤーがマッチメイキングの待機画面にいる間、定期的に呼び出してください。 これにより、どのプレイヤーがまだオンラインで待機中かをシステムが把握できます。 ネームスペースにタイムアウトが設定されている場合、タイムアウト期間内に ping を送らなかったプレイヤーはギャザリングから自動的に除外されることがあります。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 Result 型 説明 item EzGathering 更新したギャザリング 実装例 updateGathering ギャザリングの募集条件を変更する まだプレイヤーを待っている既存のギャザリングの属性範囲条件を変更します。 たとえば「レベル15〜20」の条件でプレイヤーが集まらない場合、「レベル10〜25」に広げて参加可能なプレイヤーの母数を増やすことができます。 変更できるのは属性範囲のみです。ロールの定員や参加許可ユーザーIDは作成後に変更できません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 gameSession GameSession  GameSession attributeRanges List [] 0 ~ 5 items 募集条件 このギャザリングに参加するためにプレイヤーが満たすべき属性範囲条件のリスト。 各エントリは属性名と許容される最小値・最大値の範囲を指定します。 プレイヤー自身の属性値がこの範囲内でなければ参加できません。最大5件。 Result 型 説明 item EzGathering 更新したギャザリング 実装例 getRatingModel 特定のレーティング設定の詳細を取得する レーティング名を指定して1つのレーティングモデルの詳細を取得します。 レーティングシステムの設定（初期レート値やボラティリティ）を表示する際に使います。 ボラティリティが高いと対戦ごとのレーティングの変動幅が大きくなり（新規プレイヤーの実力を素早く反映するのに適しています）、低いとより安定した緩やかな変動になります。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ratingName string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzRatingModel レーティングモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listRatingModels レーティング設定の一覧を取得する ネームスペースに設定されているすべてのレーティングモデルを取得します。 各レーティングモデルはプレイヤーの実力評価システムのパラメータを定義します。たとえば「ランクバトル」「アリーナ」「トーナメント」で別々のレーティングを持つことができます。 GS2 ではレーティング計算に Glicko-2 アルゴリズムを採用しています。各モデルは初期レート値（デフォルト: 1500）とボラティリティ（対戦ごとにレーティングがどの程度変動するか）を指定します。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List レーティングモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getRating 特定カテゴリのプレイヤーのレーティングスコアを取得する 指定されたレーティング名に対するプレイヤーの現在のレート値を取得します。 1つのレーティングを表示する際に使います。たとえば対戦結果画面やロビーで「あなたのランクバトルレーティング: 1823」のように表示できます。 レート値はプレイヤーが勝つと上がり、負けると下がります。変動量は対戦相手のレーティングとボラティリティの設定によって決まります。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession ratingName string  ~ 128文字 レーティング名 レーティング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzRating レーティング 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listRatings プレイヤーの全カテゴリのレーティングスコアを取得する プレイヤーの現在のレーティング値をすべて取得します。 ゲームに複数のレーティングカテゴリ（例: 「ランクバトル」と「アリーナ」）がある場合、それぞれのスコアが返されます。 プロフィール画面や戦績画面を作る際に使います。たとえば「ランクバトル: 1823、アリーナ: 1547」のように表示できます。 プレイヤーのレーティングはレーティング付きマッチに初めて参加した時に自動作成され、初期値（通常 1500）からスタートします。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List レーティングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 createVote 対戦結果報告用の署名付き投票用紙を作成する 対戦結果を報告する際に使用する投票用紙（バロット）を生成します。 レーティング付きの対戦が終了した後、各プレイヤーは誰が勝ち誰が負けたかを報告する必要があります。このAPIは、プレイヤーの身元情報と暗号署名を含む改ざん防止済みの投票用紙を作成します。 対戦結果報告の流れ: 対戦が終了し、各プレイヤーのゲームクライアントが CreateVote を呼び出して署名付き投票用紙を取得する 各プレイヤーが投票用紙と対戦結果を Vote API で送信する サーバーがすべての投票を集計し、多数決で最終結果を決定する 確定した結果に基づいてプレイヤーのレーティングが更新される パラメータ: ratingName: この対戦が属するレーティングカテゴリの名前（例: “ranked_battle”） gatheringName: この対戦が行われたギャザリング（マッチメイキングルーム）の名前 numberOfPlayer: 対戦の参加人数（2〜10人） keyId: 投票用紙の署名に使用する暗号鍵（カスタム鍵を設定していない場合はデフォルト鍵を使用） 返された投票用紙のボディと署名は、Vote または VoteMultiple API の呼び出しに必要です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ratingName string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 gameSession GameSession  GameSession numberOfPlayer int  2 ~ 10 参加人数 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzBallot 投票用紙 body string 署名対象のデータ signature string 署名データ 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 vote 対戦結果を投票する 対戦後、各プレイヤーがこのAPIを個別に呼び出して、誰が勝ち誰が負けたかを報告します。 CreateVote で取得した投票用紙のボディと署名、および対戦結果（各プレイヤーの順位や勝敗のリスト）を渡します。 投票の仕組み: 最初のプレイヤーが投票した後、他のプレイヤーが投票するまでの猶予は5分間です 5分以内に全プレイヤーが投票した場合、結果は即座に確定します 5分以内に一部のプレイヤーが投票しなかった場合、その時点までの投票内容で多数決により結果が決定されます 票が同数だった場合（例: 2人が「プレイヤーAの勝ち」、2人が「プレイヤーBの勝ち」）、結果は破棄されレーティングは更新されません（この挙動はスクリプトでカスタマイズ可能です） 最もシンプルなアプローチで、各プレイヤーが独立して投票します。デメリットは結果の反映に最大5分かかる可能性がある点です。 即座に結果を反映したい場合は VoteMultiple を使ってください。勝利したプレイヤーが全員の投票用紙を集めてまとめて送信します。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ballotBody string  ~ 1024文字 投票用紙の署名対象のデータ ballotSignature string  ~ 256文字 投票用紙の署名 gameResults List 0 ~ 10 items 投票内容。対戦を行ったプレイヤーグループ1に所属するユーザーIDのリスト keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzBallot 投票用紙 実装例 voteMultiple 全投票用紙をまとめて送信し、対戦結果を即座に確定する 各プレイヤーが個別に投票する方式（最大5分かかる）の代わりに、勝利したプレイヤーが全員の署名付き投票用紙を集めてまとめて送信します。これにより結果が即座に確定します。 推奨フロー: 対戦が終了 — 各プレイヤーが CreateVote を呼び出して署名付き投票用紙を取得する 各プレイヤーがゲームの通信手段（ゲームサーバーやP2P通信など）を使って、自分の投票用紙（ボディ + 署名）を勝利側のプレイヤーに送る 勝利側のプレイヤーが VoteMultiple を呼び出し、集めた全投票用紙と対戦結果を送信する 結果が即座に確定し、レーティングが更新される なぜ勝利した側が投票用紙を集めるのか: 敗北した側は勝ったと嘘をつく理由がなく（何も得られません）、投票用紙を渡すのを拒否するかもしれません 敗北側が協力しなくても、過半数の投票用紙（半数超）があれば結果は受理されます たとえば2対2の試合で、勝利した2人が投票用紙を送れば4人中2人分 — 過半数として十分です 実装はやや複雑になりますが、結果が即座に反映されるため、プレイヤー体験としてはより良い方式です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 signedBallots List 0 ~ 10 items 署名付の投票用紙リスト gameResults List 0 ~ 10 items 投票内容。対戦を行ったプレイヤーグループ1に所属するユーザーIDのリスト keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzBallot 投票用紙 実装例 getJoinedSeasonGathering 特定のシーズンでプレイヤーが参加したシーズンギャザリングを取得する 指定されたシーズン番号でプレイヤーが所属するシーズンギャザリングを取得します。 現在のシーズンでプレイヤーがどのマッチグループにいるかを確認する際に使います。たとえば、アプリ再起動後にマッチロビーの表示を復元するような場合です。 指定されたシーズンでプレイヤーがシーズンギャザリングに参加していない場合、またはギャザリングが既に存在しない場合、情報は返されません。 その場合は DoSeasonMatchmaking で新しいマッチメイキング検索を開始してください。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession Result 型 説明 item EzJoinedSeasonGathering シーズンギャザリング 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listJoinedSeasonGatherings プレイヤーが参加したシーズンギャザリングの一覧を取得する プレイヤーが現在メンバーになっているすべてのシーズンギャザリングを取得します。 対戦履歴やアクティブな対戦の画面を表示する際に使います。たとえば、今シーズンにプレイヤーが参加中または参加済みのランク戦を一覧表示できます。 シーズン名でフィルタリングして、特定のランクモード（例: 「ランク1v1」のみ）の対戦だけを表示することもできます。 主な用途: ゲーム起動時に、プレイヤーの現在アクティブな対戦を表示する 対戦履歴画面を構築する 新しいマッチメイキング検索を始める前に、プレイヤーが既に対戦中かどうかを確認する Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 items List シーズンギャザリングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 doSeasonMatchmaking 参加可能なシーズンマッチを検索して参加する プレイヤーのティアー内で空き枠のあるシーズンギャザリング（永続的なマッチメイキンググループ）を検索し、自動的に参加します。 プレイヤーのティアーは、連携する GS2-Experience モデルの経験値レベルによって決まるため、実力が近いプレイヤー同士がマッチングされます。 通常の DoMatchmaking と似た仕組みですが、ティアーによるグループ分けがあります: 1回の呼び出しでは一定時間だけ検索します。まだマッチが見つからない場合は matchmakingContextToken が返されます。 次の呼び出しでこのトークンを渡すと、前回の続きから検索を再開できます。 マッチが見つかるまでループで呼び出してください。 すべてのシーズンギャザリングを検索しても空きがなかった場合、シーズンギャザリングもトークンも null で返されます。 通常のマッチメイキングでは自分で新しいギャザリングを作成しますが、シーズンマッチメイキングではシステムが必要に応じて新しいシーズンギャザリングを自動作成します。 一般的なシーズンマッチメイキングの流れ: DoSeasonMatchmaking をループで呼び出し、毎回トークンを渡す シーズンギャザリングが返ってきた → マッチ成立、ゲームへ進む 両方 null → 現在利用可能なマッチがない。「検索中」画面を表示して少し待ってからリトライ Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession matchmakingContextToken string ~ 5120文字 検索の再開に使用する マッチメイキングの状態を保持するトークン Result 型 説明 item EzSeasonGathering 参加したシーズンギャザリング matchmakingContextToken string マッチメイキングの状態を保持するトークン 実装例 getSeasonGathering シーズンギャザリングの現在の状態を取得する 特定のシーズンギャザリングの詳細を取得します。参加者リストや所属ティアーの情報が含まれます。 シーズンマッチのロビーや待機画面を表示する際に使います。たとえば「ゴールドティアー マッチ#42: 3/4人参加中」のような表示ができます。 正確なシーズンギャザリングを特定するには、シーズン番号、ティアー、ギャザリング名を指定する必要があります。 これらの情報は DoSeasonMatchmaking でシーズンギャザリングへの参加に成功した際に返されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン tier long  0 ~ 9223372036854775805 ティアー 同程度のランクのプレイヤーをグルーピングするためのティアーレベル。 SeasonModel で指定された GS2-Experience モデルにおけるプレイヤーのランクによって決定されます。 プレイヤーは同じティアーのプレイヤーとのみマッチングされ、公平な対戦が保証されます。 seasonGatheringName string  UUID ~ 128文字 シーズンギャザリング名 シーズンギャザリング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzSeasonGathering シーズンギャザリング 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getSeasonModel 特定のシーズンマッチメイキング設定の詳細を取得する シーズン名を指定して1つのシーズンモデルの詳細を取得します。 特定のランクモードのルールや設定を表示する際に使います。たとえば、モード選択画面で「ランク1v1: 最大2人、アリーナ経験値でティアー決定」のように表示できます。 レスポンスには以下が含まれます: maximumParticipants: 1試合の参加可能人数 experienceModelId: プレイヤーのティアーを決定するのに使用される GS2-Experience モデル。プレイヤーの経験値レベルがティアーにマッピングされ、同じティアー内のプレイヤー同士のみマッチングされます。 challengePeriodEventId: 設定されている場合、指定された期間内のみランク戦に参加できます（例: 週末のみ、毎日19時〜22時など） Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzSeasonModel シーズンモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listSeasonModels シーズンマッチメイキング設定の一覧を取得する ネームスペースに定義されているすべてのシーズンモデルを取得します。 シーズンマッチメイキングは、ランク戦のある対戦ゲーム向けに設計されています。「シーズン1」「シーズン2」のように期間ごとに区切り、プレイヤーを実力に応じたティアー（階級）に分けてマッチングします。 通常のギャザリングベースのマッチメイキング（一時的な部屋を作成する方式）とは異なり、シーズンマッチメイキングではシーズン中ずっと存続する永続的なグループを使います。 同じティアーのプレイヤー同士がマッチングされるため、公平な対戦が実現できます。 各シーズンモデルでは以下を定義します: 1試合あたりの最大参加人数 プレイヤーのティアーを計算するための経験値モデル（GS2-Experience と連携して、ブロンズ・シルバー・ゴールドなどの実力帯を決定します） オプションのチャレンジ期間イベント（GS2-Schedule と連携して、対戦可能な時間帯を制限できます） 利用可能なランクモードの一覧を表示する際に使います。たとえば「ランク1v1」「ランク3v3」のような画面です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List シーズンモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 イベントハンドラ OnJoinNotification ギャザリングに新しい参加者が参加したときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 joinUserId string ユーザーID 実装例 OnLeaveNotification ギャザリングから参加者が離脱したときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 leaveUserId string ユーザーID 実装例 OnCompleteNotification マッチメイキングが成立したときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 実装例 OnChangeRatingNotification レーティング値が変動したときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ratingName string レーティング名 レーティング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID rateValue float レート値 Glicko-2 アルゴリズムで計算されたプレイヤーの現在のレーティングスコア。 RatingModel で定義された初期値（通常 1500.0）がデフォルトです。 対戦結果と対戦相手の相対的な強さに基づいて値が増減します。 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Matchmaking SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Matchmaking SDK for Game Engine API リファレンス","url":"/ja/api_reference/matchmaking/game_engine/"},{"content":"モデル EzSpatial 空間情報  userId string  ~ 128文字 ユーザーID areaModelName string  ~ 128文字 エリア名 layerModelName string  ~ 128文字 レイヤー名 position EzPosition  座標 vector EzVector  向き EzAreaModel エリアは空間を分割するもので、同じ座標でもエリアが異なれば別空間として扱うことができます。  name string  ~ 128文字 エリアモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 layerModels List [] 0 ~ 1000 items レイヤーモデル一覧 EzLayerModel レイヤーは1つの空間内で複数の論理階層を実現します。 たとえば、キャラクターが大量に存在する空間で、エネミーが見えなくなってしまう問題を解決します。 レイヤー1 にはキャラクターを配置。レイヤー2にはエネミーを配置した場合、レイヤーごとに指定した距離内での取得数量を指定できるため、見えなくなる心配はありません。  name string  ~ 128文字 レイヤーモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 EzMyPosition 自分の位置情報  position EzPosition  座標 vector EzVector  向き r float 1 0 ~ 10000 半径 EzPosition 座標  x float  -1048574 ~ 1048574 X座標 y float  -1048574 ~ 1048574 Y座標 z float  -1048574 ~ 1048574 Z座標 EzScope 取得する周囲の状況  r float  1 ~ 16777214 半径 limit int  1 ~ 100 最大数 EzVector 座標  x float  -1048574 ~ 1048574 X座標 y float  -1048574 ~ 1048574 Y座標 z float  -1048574 ~ 1048574 Z座標 メソッド describeAreaModels エリアモデル一覧を取得 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List エリアモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getAreaModel エリアモデルを取得 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 Result 型 説明 item EzAreaModel エリアモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 describeLayerModels エリアモデル一覧を取得 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 Result 型 説明 items List レイヤーモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getLayerModel エリアモデルを取得 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 layerModelName string  ~ 128文字 レイヤーモデル名 Result 型 説明 item EzLayerModel 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 update 座標を送信 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリア名 layerModelName string  ~ 128文字 レイヤー名 position EzMyPosition  自分の位置情報 scopes List 0 ~ 10 items 他プレイヤーの取得範囲リスト gameSession GameSession  GameSession Result 型 説明 items List 物体リスト 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-MegaField SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-MegaField SDK for Game Engine API リファレンス","url":"/ja/api_reference/mega_field/game_engine/"},{"content":"モデル EzComplete ミッションの達成状況 特定のミッショングループに対するユーザーのミッション達成状況と報酬受け取り状況を追跡します。達成済みタスク名と報酬受け取り済みタスク名を別々のリストで管理し、達成されたタスクと実際に報酬が受け取られたタスクを区別します。  missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 completedMissionTaskNames List [] 0 ~ 1000 items 達成済みのタスク名リスト ユーザーが達成した（達成条件を満たした）ミッションタスクの名前です。カウンターが目標値に達するか検証アクションが成功した時点でこのリストに追加されます。報酬の受け取りの有無は問いません。 receivedMissionTaskNames List [] 0 ~ 1000 items 報酬の受け取り済みのタスク名リスト ユーザーが達成報酬を受け取り済みのミッションタスクの名前です。報酬を受け取るには、タスクが達成済みリストに含まれている必要があります。 EzCounter カウンター カウンターはミッションの進行状況をゲームプレイヤー毎に保持するエンティティです。 カウンターの値は関連付けられたタスクの期間ごとに集計されます。 そのため、1つのカウンターは複数の値を持ちます。 例えば、クエストのクリア回数カウンターであれば、今月のクリア回数、今週のクリア回数、今日のクリア回数、といった具合です。  name string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 values List [] 0 ~ 32 items 値 このカウンターのスコープ別の値のリストです。各エントリは特定のスコープ（リセットタイミングまたは検証アクション条件）のカウンター値と次回リセット時刻を保持します。1つのカウンターが複数のスコープの値を同時に保持します。 EzCounterScopeModel カウンターリセットタイミングモデル カウンターのスコープを定義し、カウンター値のリセット方法とタイミングを決定します。スコープはリセットタイミング（毎日、毎週、毎月、一定日数ごと、またはリセットなし）か検証アクション条件のいずれかです。各カウンターは複数のスコープを持ち、異なる期間の値を追跡できます。  scopeType 文字列列挙型 enum {   “resetTiming”,   “verifyAction” } “resetTiming” スコープの種類 カウンタースコープの定義方法を決定します。“resetTiming” は定期的なリセットスケジュールを使用し、“verifyAction” は検証アクションでカウンター値が適用されるかどうかを判定します。 定義 説明 “resetTiming” リセットタイミング “verifyAction” 検証アクション resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } “notReset” リセットタイミング このスコープのカウンター値がリセットされるタイミングを決定します。リセットしない（恒久累計）、毎日、毎週、毎月、一定日数ごとから選択します。scopeType が “resetTiming” の場合のみ使用されます。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセットをする日にち カウンター値がリセットされる月の日にちです。指定した値が月の日数を超える場合は、その月の最終日として扱われます。resetType が “monthly” の場合のみ使用されます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセットする曜日 カウンター値がリセットされる曜日です。resetType が “weekly” の場合のみ使用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 カウンター値がリセットされる時刻（0〜23）です。毎日、毎週、毎月のリセットタイプと組み合わせて使用されます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 conditionName string {scopeType} == “verifyAction” ※ ~ 128文字 条件名 この検証アクション条件スコープを識別する一意の名前です。カウンター内の対応するスコープ値の検索に使用されます。scopeType が “verifyAction” の場合のみ使用されます。 ※ scopeType が “verifyAction” であれば 必須 condition EzVerifyAction {scopeType} == “verifyAction” ※ 条件 このスコープのカウンター値が適用されるかどうかを判定する検証アクションです。scopeType が “verifyAction” の場合のみ使用されます。 ※ scopeType が “verifyAction” であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば 必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 基準日時からカウントされるカウンター値のリセット間隔の日数です。resetType が “days” の場合のみ使用されます。 ※ resetType が “days” であれば 必須 EzCounterModel カウンターモデル カウンターモデルはミッションタスクの達成条件に設定可能なエンティティです。 カウンターの値は複数のミッショングループから参照可能なため、1つのカウンターでウィークリーミッションとデイリーミッションといった複数のミッショングループの達成条件に設定ができます。  name string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scopes List [] 1 ~ 20 items カウンターのリセットタイミングリスト このカウンターのスコープ（リセットタイミングまたは検証アクション条件）を定義します。1つのカウンターに複数のスコープを設定でき、異なる期間の値（例：デイリー、ウィークリー、累計を同時に）を追跡できます。 challengePeriodEventId string ~ 1024文字 カウンターの操作が可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このカウンターの増減が可能な期間を定義する GS2-Schedule イベントを指定します。未設定の場合、カウンターはいつでも操作できます。 EzMissionGroupModel ミッショングループモデル ミッショングループは、カウンターのリセットタイミングでタスクをグルーピングするエンティティです。 たとえば、デイリーミッションで1つのグループ、ウィークリーミッションで1つのグループとなります。  name string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 tasks List [] 0 ~ 1000 items ミッションタスクリスト このグループに属するミッションタスクです。各タスクは達成条件（カウンターの閾値または検証アクション）と達成時に付与される報酬を定義します。 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } “notReset” リセットタイミング ミッショングループの達成状況がリセットされるタイミングを決定します。リセットしない（恒久）、毎日、毎週、毎月、基準日時から一定日数ごとから選択します。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセットをする日にち ミッショングループがリセットされる月の日にちです。指定した値が月の日数を超える場合は、その月の最終日として扱われます。resetType が “monthly” の場合のみ使用されます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセットする曜日 ミッショングループがリセットされる曜日です。resetType が “weekly” の場合のみ使用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 ミッショングループがリセットされる時刻（0〜23）です。毎日、毎週、毎月のリセットタイプと組み合わせて使用されます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 completeNotificationNamespaceId string ~ 1024文字 ミッションのタスクを達成したときのプッシュ通知 このグループ内のミッションタスクが達成された際にプッシュ通知を配信するために使用される GS2-Gateway のネームスペースGRNです。ゲームクライアントにリアルタイムで通知できます。 EzMissionTaskModel ミッションタスクモデル ミッションタスクは関連付けたカウンターの値が一定を超えたら報酬が貰える条件を定義するエンティティです。  name string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyCompleteType 文字列列挙型 enum {   “counter”,   “verifyActions” } “counter” 達成条件種別 ミッションタスクの達成判定方法を指定します。“counter” は関連するカウンターのスコープ値が目標閾値に達したかを確認します。“verifyActions” は検証アクションを使用して達成条件を確認します。 定義 説明 “counter” カウンター “verifyActions” 検証アクション targetCounter EzTargetCounterModel {verifyCompleteType} == “counter” ※ 目標カウンター ミッションタスクの達成判定に使用されるカウンター、スコープ、目標値を定義します。カウンターのスコープ値が指定された目標値に達するか超えた場合、タスクが達成されたとみなされます。 ※ verifyCompleteType が “counter” であれば 必須 verifyCompleteConsumeActions List {verifyCompleteType} == “verifyActions” ※ [] 0 ~ 10 items タスク達成判定に使用する検証アクション ミッションタスクの達成判定に使用される検証アクションのリストです。すべての検証アクションが成功した場合にタスクが達成とみなされます。verifyCompleteType が “verifyActions” の場合のみ使用されます。 ※ verifyCompleteType が “verifyActions” であれば 有効 completeAcquireActions List [] 0 ~ 100 items ミッション達成時の報酬 プレイヤーがミッション達成報酬を受け取る際に実行される入手アクションのリストです。 challengePeriodEventId string ~ 1024文字 報酬が受け取り可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ミッションタスクの報酬を受け取ることができる期間を定義する GS2-Schedule イベントを指定します。未設定の場合、達成後いつでも報酬を受け取ることができます。 premiseMissionTaskName string ~ 128文字 このタスクに挑戦するために達成しておく必要のあるタスクの名前 このタスクの報酬を受け取る前に達成しておく必要がある、同じグループ内の前提ミッションタスクを指定します。段階的なミッションチェーンの作成に使用します。 EzTargetCounterModel 目標カウンター ミッションの達成目標となるカウンターの情報  counterName string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 scopeType 文字列列挙型 enum {   “resetTiming”,   “verifyAction” } “resetTiming” スコープの種類 ミッション達成判定に使用するカウンタースコープの種類を指定します。“resetTiming” は特定のリセット期間のカウンター値を評価し、“verifyAction” は名前付き条件の値を評価します。 定義 説明 “resetTiming” リセットタイミング “verifyAction” 検証アクション resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } {scopeType} == “resetTiming” ※ 目標リセットタイミング 目標値と比較するカウンターのリセットタイミングスコープを指定します。例えば “daily” を選択すると、デイリーのカウンター値を確認します。省略した場合、ミッショングループのリセットタイミングが使用されます。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと ※ scopeType が “resetTiming” であれば 有効 conditionName string {scopeType} == “verifyAction” ※ ~ 128文字 条件名 目標値と比較する検証アクション条件スコープの名前です。カウンターモデルのスコープで定義された conditionName と一致する必要があります。scopeType が “verifyAction” の場合のみ使用されます。 ※ scopeType が “verifyAction” であれば 必須 value long  0 ~ 9223372036854775805 目標値 ミッションタスクが達成とみなされるために、カウンターのスコープ値が達するか超える必要がある閾値です。 EzConfig コンフィグ設定 トランザクションの変数に適用する設定値  key string  ~ 64文字 名前 value string ~ 51200文字 値 EzAcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzConsumeAction 消費アクション  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzVerifyAction 検証アクション 操作の実行前に条件を検証するアクションを定義します。 取り逃がしボーナスの救済で、救済を許可する前に前提条件（ユーザーの資格、リソースの利用可能性など）を確認するために使用されます。 action フィールドは検証アクションの種類を指定し、request フィールドには対応するリクエストパラメータが含まれます。  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzScopedValue スコープ値 特定のスコープ内のカウンター値を表します。各スコープ値は特定のリセットタイミング（例：毎日、毎週、毎月）または検証アクション条件の累積カウントを保持します。リセットタイミングが到来すると値はゼロにリセットされます。カウンター値には上限があり、増加しても最大値を超えることはありません。  scopeType 文字列列挙型 enum {   “resetTiming”,   “verifyAction” } “resetTiming” スコープの種類 このスコープ値がリセットタイミングスケジュールに基づくものか、検証アクション条件に基づくものかを示します。 定義 説明 “resetTiming” リセットタイミング “verifyAction” 検証アクション resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } {scopeType} == “resetTiming” ※ リセットタイミング このスコープ値のリセットタイミングです。カウンター値がリセットされるまでの累積期間を決定します。scopeType が “resetTiming” の場合のみ適用されます。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと ※ scopeType が “resetTiming” であれば 必須 conditionName string {scopeType} == “verifyAction” ※ ~ 128文字 条件名 このスコープ値が対応する検証アクション条件の名前です。この値がどの条件スコープに属するかを識別するために使用されます。scopeType が “verifyAction” の場合のみ適用されます。 ※ scopeType が “verifyAction” であれば 必須 value long 0 0 ~ 9223372036854775805 カウント このスコープの累積カウンター値です。カウンターが増加すると増え、減少すると減ります。値は最大値で上限が設けられ、ゼロを下回ることはありません。 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド batchReceiveRewards 複数の達成ミッションの報酬をまとめて受け取る 同じグループ内の複数のミッションタスクの報酬を1回の呼び出しで受け取ります。 ミッションUIの「一括受取」ボタンに対応します。プレイヤーが各ミッションの「受け取る」を1つずつタップする代わりに、まとめて受け取れます。 指定されたすべてのタスクは達成済みかつ未受領の状態である必要があります。すべてのタスクの報酬が1つのトランザクションにまとめられます。 たとえば「バトルに3回勝利」（報酬: ジェム50個）と「ゴールドを500収集」（報酬: ガチャチケット1枚）を達成している場合、両方のタスク名を指定して呼び出すと、ジェム50個 + ガチャチケット1枚が1回の操作で付与されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 missionTaskNames List  1 ~ 100 items タスク名のリスト gameSession GameSession  GameSession config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 transactionId string 発行されたトランザクションID stampSheet string ミッションの達成報酬を受領するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例 evaluateComplete ミッション達成状況を再評価する 指定されたグループ内のすべてのカウンター値をミッションタスク条件と照合し、達成状況を更新します。 通常、ミッションの達成判定はカウンターが加算されるたびに自動的に行われます。しかし、カウンターが既に加算された後に既存のグループに新しいミッションタスクを追加した場合、新しいタスクは自動的には評価されません。 そのような状況でこのAPIを呼び出すと、プレイヤーの既存のカウンター値が新しいタスクの条件を満たしているかを遡ってチェックできます。 例: デイリーミッションに「バトルに1回勝利」を新規追加した場合。今日既にバトルに勝利しているプレイヤーは条件を満たすカウンター値を持っていますが、システムはまだそれを認識していません。EvaluateComplete を呼び出すことで、チェックが行われ達成済みとしてマークされます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 gameSession GameSession  GameSession Result 型 説明 item EzComplete 再評価後の達成状況 実装例 getComplete 特定ミッショングループのプレイヤーの達成状況を取得する 指定されたミッショングループ内で、プレイヤーがどのミッションタスクを達成し、どの報酬を受領済みかを取得します。 特定グループのミッション一覧画面を表示する際に使います。たとえば、各デイリーミッションとそのステータスを表示できます: 「バトルに3回勝利」— 達成、報酬受取済み（チェックマーク） 「ゴールドを500収集」— 達成、報酬受取可能!（受け取りボタン） 「アイテムを10回使用」— 進行中: 7/10（プログレスバー） ListMissionTaskModels や GetMissionGroupModel と組み合わせてタスクの定義（目標、閾値、報酬）を取得し、GetCounter と組み合わせてプログレスバー用の現在のカウンター値を表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 gameSession GameSession  GameSession Result 型 説明 item EzComplete 達成状況 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listCompletes 全グループのプレイヤーのミッション達成状況を取得する すべてのミッショングループの達成状況と報酬受領状況を取得します。 各エントリには、プレイヤーがどのミッションタスクを達成し（カウンターの閾値を満たし）、どの報酬を受領済みかが含まれます。 ミッションの概要画面を作る際に使います。たとえば、未受領の報酬があるグループにバッジや通知ドットを表示できます: 「デイリーミッション（報酬2件受取可能!）」「ウィークリーミッション（完了）」「実績（新着1件!）」 ミッションタスクには2つの状態があります: 達成（Completed）: カウンターが閾値を満たした状態（例: 「バトルに5回勝利」で5回以上勝利済み） 受領（Received）: 達成したタスクの報酬をプレイヤーが受け取った状態 「達成済みだが未受領」のタスクは、プレイヤーが報酬を獲得したがまだ受け取っていないことを意味します。UIではこの状態をハイライト表示すべきです。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 達成状況のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 receiveRewards 達成したミッションの報酬を受け取る プレイヤーが達成したミッションタスクの報酬を受け取ります。 タスクは達成済み（カウンターが閾値を満たしている）かつ未受領の状態である必要があります。 呼び出すと、設定された報酬がプレイヤーに付与されます。たとえばジェム100個、ガチャチケット、ゴールド500のような報酬です。 ミッションUIの「受け取る」「受領」ボタンに対応します。一般的な流れ: プレイヤーが達成済みで受取可能な報酬のあるミッションを見る プレイヤーが「受け取る」ボタンをタップ ゲームが ReceiveRewards を呼び出す 報酬が付与され、タスクが「受領済み」としてマークされる タスクがまだ達成されていない場合や、報酬が既に受領済みの場合はエラーが返されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 missionTaskName string  ~ 128文字 タスク名 タスク固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 transactionId string 発行されたトランザクションID stampSheet string ミッションの達成報酬を受領するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例 deleteCounter カウンターを完全に削除する プレイヤーの指定されたカウンターとそのすべてのスコープ値を削除します。 ResetCounter（特定のスコープのみリセット）とは異なり、プレイヤーがまだ一度も進捗を持っていなかったかのように、カウンター全体を削除します。 特定カウンターのプレイヤーの進捗を完全にクリアしたいときに使います。たとえば、ミッションの完全リセット機能を実装する場合などです。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 Result 型 説明 item EzCounter 削除したカウンター 実装例 getCounter 特定カウンターのプレイヤーの値を取得する プレイヤーの特定カウンターの現在値を、すべてのスコープ値を含めて取得します。 たとえば「battle_wins」カウンターの場合、日次=3、週次=12、累計=87 のような値が返されます。 特定の目標に対するミッション進捗を表示する際に使います。たとえばデイリーミッションの横にプログレスバー「今日のバトル勝利数 3/5」のように表示できます。 各スコープ値は異なる期間で追跡されたカウンターを表しており、短期的な進捗と長期的な進捗の両方を表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 Result 型 説明 item EzCounter カウンター 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listCounters プレイヤーの現在のカウンター値を取得する プレイヤーのすべてのカウンター値を取得します。 各カウンターは特定のプレイヤーアクション（バトル勝利回数、アイテム収集数、ゴールド獲得量など）を追跡し、各スコープ（日次・週次・月次・累計）ごとの値を持ちます。 プレイヤーのミッション進捗の概要を表示する際に使います。たとえば「今日のバトル勝利数: 3」や「クエスト累計クリア数: 42」のようにステータスやミッション画面で表示できます。 カウンター値はプレイヤーがゲーム内でアクションを行ったとき（他サービスの報酬アクション経由）に自動的に加算され、ミッションタスクの閾値と自動的に照合されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List カウンターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 resetCounter カウンターの特定スコープをリセットする 指定されたスコープのカウンター値のみをリセットします。 たとえば、週次や累計の値に影響を与えずに、日次スコープだけをリセットできます。 特定の期間の進捗を手動でリセットしたいときに使います。たとえば、プレイヤーが特殊アイテムを使ってデイリーミッションを再挑戦する際に「デイリーチャレンジ」カウンターをリセットするような場合です。 指定されたスコープタイプに一致するスコープ付き値のみがリセットされ、その他のスコープ付き値は変更されません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 scopes List  1 ~ 20 items スコープリスト Result 型 説明 item EzCounter 削除したカウンター 実装例 getCounterModel 特定のカウンター定義の詳細を取得する カウンター名を指定して、スコープとリセット条件を含む詳細を取得します。 カウンターが何を追跡し、その値がどのように管理されるかを把握する際に使います。たとえば、ミッションの進捗にどのアクションが寄与するかをプレイヤーに表示する場合などです。 レスポンスにはこのカウンターに定義されたスコープのリストが含まれ、各スコープにはリセットタイプ（日次・週次・月次・なし）とリセットタイミングが設定されています。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzCounterModel カウンターモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listCounterModels カウンター定義の一覧を取得する ネームスペースに定義されているすべてのカウンターモデルを取得します。 カウンターはプレイヤーの行動を追跡し、ミッション達成の判定に使われる値です。たとえば「battle_wins」カウンターはバトル勝利回数を追跡し、「gold_collected」カウンターは獲得ゴールドの合計を追跡します。 各カウンターモデルでは1つ以上の「スコープ」を定義します。スコープはカウンター値がどの期間単位で追跡されるかを決定します: 1つのカウンターで日次・週次・月次・累計の値を同時に追跡できます たとえば「battle_wins」カウンターは、今日の勝利数（日次スコープ）、今週の勝利数（週次スコープ）、累計勝利数（累計スコープ）を持てます 異なるミッションタスクが同じカウンターの異なるスコープを参照できます（例: 「今日バトルに3回勝利」は日次スコープ、「累計100回勝利」は累計スコープを使用） カウンター値は通常、他のGS2サービスの報酬アクションとして自動的に加算されます（例: クエストクリア時やアイテム購入時）が、ゲームサーバーから手動で加算することもできます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List カウンターモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getMissionGroupModel 特定のミッショングループの詳細を取得する ミッショングループ名を指定して、リセットタイプ、リセットタイミング設定、および含まれるミッションタスクのリストを含む詳細を取得します。 特定グループ内のミッション一覧を表示する際に使います。たとえばプレイヤーが「デイリーミッション」タブをタップしたとき、このAPIを呼び出してすべてのデイリーミッションタスクとその詳細を取得します。 レスポンスにはグループに定義されたミッションタスクが含まれ、各タスクには対象カウンターの条件と報酬の設定があります。 GetComplete と組み合わせて、各タスクのプレイヤーの進捗状況と達成状態を表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzMissionGroupModel ミッショングループモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listMissionGroupModels ミッショングループの一覧を取得する ネームスペースに定義されているすべてのミッショングループを取得します。 ミッショングループは個々のミッションをまとめるカテゴリです。たとえば「デイリーミッション」「ウィークリーミッション」「ストーリーミッション」「実績ミッション」のようなものです。 各グループにはリセットタイプがあり、グループ内のミッションがいつリセットされるかを決定します: notReset: リセットしない（「ステージ10をクリア」「キャラクター100体収集」のような恒久的な実績） daily: 毎日リセット（例: 「今日バトルに3回勝利」） weekly: 毎週リセット（例: 「今週5日ログイン」） monthly: 毎月リセット（例: 「今月ゴールドを10,000消費」） ミッションのメイン一覧画面を作る際に使います。たとえば「デイリー」「ウィークリー」「実績」のタブを表示するような画面です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List ミッショングループモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getMissionTaskModel 特定のミッションタスクの詳細を取得する 指定されたミッショングループ内の特定のミッションタスクを名前を指定して取得します。 特定ミッションの詳細画面を表示する際に使います。目標、現在の進捗、報酬、達成済みかどうかを表示できます。 レスポンスには以下が含まれます: 対象カウンター名と閾値（プレイヤーが達成すべき目標） 報酬アクション（受け取り時にプレイヤーが獲得するもの） 前提タスク（先に達成が必要なタスク）がある場合はその情報 達成判定の検証タイプ Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionTaskName string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzMissionTaskModel ミッションタスクモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listMissionTaskModels グループ内のミッションタスクの一覧を取得する 指定されたミッショングループ内のすべての個別ミッションタスクを取得します。 各ミッションタスクは1つのミッション目標を表します。たとえば「バトルに5回勝利」「ゴールドを1,000収集」「ステージ3をクリア」のようなものです。 各タスクでは以下が定義されます: 対象カウンターと閾値（例: カウンター “battle_wins” が 5 以上） プレイヤーが達成報酬を受け取ったときに付与される報酬（例: ジェム100個） 前提タスク（オプション）（例: 「バトルに10回勝利」は「バトルに5回勝利」達成後にのみ表示される） ミッションシステムは自動的に動作します: プレイヤーがゲーム内で何かをすると（バトルに勝利、ゴールド収集など）、対応するカウンターが加算される システムがカウンター値がタスクの閾値を満たしているかチェックする 満たしていればタスクが「達成」としてマークされる プレイヤーは ReceiveRewards を使って報酬を受け取れる グループ内の各タスクの目標と報酬を含むミッション一覧を表示する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List ミッションタスクモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 イベントハンドラ OnCompleteNotification ミッションのタスクを達成したときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 groupName string ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 userId string ユーザーID taskName string ミッションタスク名 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Mission SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Mission SDK for Game Engine API リファレンス","url":"/ja/api_reference/mission/game_engine/"},{"content":"モデル EzWallet ウォレット ウォレット内の通貨は大きく有償で購入した通貨と、無償で入手した通貨が分けて管理されます。 有償で購入した通貨は更に購入時の単価毎に管理され、サービス終了になってしまった際の返金や資金決済法に該当するだけの残高が存在するかが集計できます。 ウォレットにはスロットがあり、スロットごとに異なる残高を管理できます。 プラットフォームをまたいで残高を共有できない場合にはプラットフォーム毎に異なるスロットを利用することで分けて管理することができます。 その際に無償で入手した通貨は全てのプラットフォームで共通した値を利用することもできます。  slot int  0 ~ 100000000 スロット番号 プラットフォームやコンテキストごとにウォレット残高を分離するための識別子。 異なるスロットにより、別々の有償通貨プールを管理できます（例: iOS購入はスロット0、Androidはスロット1）。 無償通貨はネームスペースの shareFree 設定により、全スロット間で共有することもできます。 paid int 0 0 ~ 2147483646 有償通貨所持量 このウォレットスロット内の有償（購入済み）通貨の合計量。 単価が0でないすべての WalletDetail エントリの合計です。 ストア購入による入金で増加し、消費優先度に従った出金で減少します。 free int 0 0 ~ 2147483646 無償通貨所持量 このウォレットスロット内の無償（付与された）通貨の合計量。 単価が0の WalletDetail エントリに対応します。 ネームスペースで shareFree が有効な場合、この値はスロット0から全ウォレットスロットに同期されます。 shareFree bool false 無償通貨の共有 このウォレットの無償通貨が全スロット間で共有されるかどうか。 この値はウォレット作成時にネームスペース設定から継承されます。 true の場合、無償通貨がスロット0から他のすべてのウォレットスロットに同期されます。 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 メソッド get プレイヤーの課金通貨ウォレットの残高を取得する 指定したスロットのプレイヤーのウォレットを取得し、有償通貨と無償通貨それぞれの現在の残高を確認できます。 「有償」通貨はプレイヤーがリアルマネーで購入したもの（例: 100ジェムを¥120で購入）、「無償」通貨はゲームプレイで獲得したもの（例: イベント報酬、ログインボーナス）です。 一部の機能で有償通貨のみを要求する場合があるため（例: 特定のガチャや特別オファー）、別々に管理されています。 プレイヤーの通貨残高を表示するのに使います。たとえば、ショップ画面やヘッダーUIで「ジェム: 350（有償: 100、無償: 250）」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession slot int  0 ~ 100000000 スロット番号 プラットフォームやコンテキストごとにウォレット残高を分離するための識別子。 異なるスロットにより、別々の有償通貨プールを管理できます（例: iOS購入はスロット0、Androidはスロット1）。 無償通貨はネームスペースの shareFree 設定により、全スロット間で共有することもできます。 Result 型 説明 item EzWallet ウォレット 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 withdraw プレイヤーのウォレットから課金通貨を消費する プレイヤーのウォレットから指定した量の課金通貨を差し引きます。 デフォルト（paidOnly = false）では、無償通貨が先に消費され、不足分は有償通貨から消費されます。これにより、プレイヤーは購入した通貨を使う前に無償通貨を使い切ることができます。 paidOnly を true にすると、有償通貨のみが消費されます。法律上有償通貨のみを使用しなければならない機能（例: 一部地域の有償限定ガチャ）に必要です。 プレイヤーが課金通貨で購入する際に使います。たとえば、特別なアイテムの購入やガチャを引くためにジェム100個を消費する、といった場合です。 注意: GS2-Showcase を通じた商品購入の対価として通貨を消費する場合は、自動的に処理されるため、このAPIを呼ぶ必要はありません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession slot int  0 ~ 100000000 スロット番号 プラットフォームやコンテキストごとにウォレット残高を分離するための識別子。 異なるスロットにより、別々の有償通貨プールを管理できます（例: iOS購入はスロット0、Androidはスロット1）。 無償通貨はネームスペースの shareFree 設定により、全スロット間で共有することもできます。 count int  1 ~ 2147483646 消費する課金通貨の数量 paidOnly bool false 有償通貨のみを対象とするか Result 型 説明 item EzWallet 消費後のウォレット price float 消費した通貨の価格 Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 ConflictException ConflictException ウォレットの操作処理が衝突しました。リトライが必要です InsufficientException BadRequestException ウォレットの残高が不足しています 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Money SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Money SDK for Game Engine API リファレンス","url":"/ja/api_reference/money/game_engine/"},{"content":"モデル EzWallet ウォレット ウォレット内の通貨は大きく有償で購入した通貨と、無償で入手した通貨が分けて管理されます。 有償で購入した通貨は更に購入時の単価毎に管理され、サービス終了になってしまった際の返金や資金決済法に該当するだけの残高が存在するかが集計できます。 ウォレットにはスロットがあり、スロットごとに異なる残高を管理できます。 プラットフォームをまたいで残高を共有できない場合にはプラットフォーム毎に異なるスロットを利用することで分けて管理することができます。 その際に無償で入手した通貨は全てのプラットフォームで共通した値を利用することもできます。  slot int  0 ~ 100000000 スロット番号 ウォレットスロットを識別します。プラットフォーム間の残高共有が許可されていない場合、異なるスロットを使用してプラットフォームごとに通貨を分けて管理できます（例：iOS用とAndroid用）。 summary EzWalletSummary  ウォレットの状態 ウォレットの現在の残高サマリーで、有償通貨、無償通貨、合計額に分けて表示されます。入金トランザクションから算出されます。 sharedFreeCurrency bool  無償通貨を共有するか このウォレットの無償通貨がすべてのスロット間で共有されるかどうかを示します。ウォレット作成時にネームスペースの設定から継承されます。 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzSubscribeTransaction サブスクリプションの購入情報 ストアプラットフォームからのサブスクリプション購入レコードを表します。有効、トライアル、初回割引、猶予期間、解約、期限切れ、取り消しなどのライフサイクルを通じた詳細なサブスクリプションステータスを追跡します。各トランザクションは特定のストアプラットフォームとユーザーに紐づけられます。  contentName string  ~ 128文字 ストア定期課金コンテンツモデル名 store 文字列列挙型 enum {   “AppleAppStore”,   “GooglePlay”,   “fake” }  ストア 購入が行われたストアプラットフォームです。レシート検証に使用される検証方法を決定します。 定義 説明 “AppleAppStore” Apple App Store “GooglePlay” Google Play “fake” Fake transactionId string  ~ 1024文字 トランザクションID ストアプラットフォームによって割り当てられた一意のトランザクション識別子です。同一購入の重複処理を防止するために使用されます。 statusDetail 文字列列挙型 enum {   “active@active”,   “active@converted_from_trial”,   “active@in_trial”,   “active@in_intro_offer”,   “grace@canceled”,   “grace@grace_period”,   “grace@on_hold”,   “inactive@expired”,   “inactive@revoked” }  ステータス 詳細なサブスクリプションステータスです。簡易カテゴリ（active/grace/inactive）の後に具体的な状態が続きます。active 状態はサブスクリプションが利用可能であることを、grace 状態は支払いに問題があるが一時的にアクセス可能であることを、inactive 状態はサブスクリプションが無効であることを示します。 定義 説明 “active@active” 有効 “active@converted_from_trial” 無料トライアルが終了し、有料プランに移行 “active@in_trial” 無料トライアル期間中 “active@in_intro_offer” 初回割引期間中 “grace@canceled” ユーザーが手動で解約済み “grace@grace_period” 支払いが失敗したが、猶予期間内 “grace@on_hold” 支払いが失敗し、一定期間内に支払いが完了しなければ利用不可 “inactive@expired” サブスクリプションが期限切れになった “inactive@revoked” 払い戻しなどで強制的にキャンセルされた expiresAt long  有効期限 このサブスクリプショントランザクションが期限切れになる日時です。ストアプラットフォームによってサブスクリプションが更新されると更新されます。 EzSubscriptionStatus サブスクリプションの契約状況 特定のサブスクリプションコンテンツに対するユーザーのサブスクリプション契約状況を追跡します。詳細なサブスクリプショントランザクションの状態から導出された簡易的な有効/無効ステータスと、有効期限、関連するサブスクリプショントランザクションのリストを提供します。  contentName string  ~ 128文字 ストア定期課金コンテンツモデル名 userId string ~ 128文字 ユーザーID status 文字列列挙型 enum {   “active”,   “inactive” }  ステータス 簡易的なサブスクリプションステータスです。“active” は有効、トライアル、初回割引、猶予期間の状態を含みます。“inactive” は期限切れと取り消しの状態を含みます。 定義 説明 “active” 有効 “inactive” 無効 expiresAt long  有効期限 サブスクリプションが期限切れになる日時です。サブスクリプションが更新されたりステータスが変化した際に更新されます。 detail List [] 0 ~ 100 items 契約状況の詳細 このサブスクリプションに関連するサブスクリプショントランザクションのリストです。各トランザクションはストアプラットフォームからの購入レコードで、詳細なステータス情報（有効、トライアル、猶予期間、期限切れ、取り消しなど）を持ちます。 EzStoreContentModel ストアコンテンツモデル 各種ストアプラットフォームのコンテンツを格納するモデルです。  name string  ~ 128文字 ストアコンテンツモデル名 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 appleAppStore EzAppleAppStoreContent Apple AppStore のコンテンツ このストアコンテンツの Apple App Store 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 googlePlay EzGooglePlayContent Google Play のコンテンツ このストアコンテンツの Google Play 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 EzWalletSummary ウォレットの状態 ウォレットの通貨残高のサマリービューで、有償と無償の金額を分離しています。ウォレット内のすべての入金トランザクションを価格に基づいて集計して算出されます（価格 \u003e 0 は有償、価格 = 0 は無償）。  paid int 0 0 ~ 2147483646 有償通貨 実際のお金で購入された通貨の合計量です（価格 \u003e 0 の入金トランザクション）。 free int 0 0 ~ 2147483646 無償通貨 無償で入手した通貨の合計量です（価格 = 0 の入金トランザクション）。ログインボーナスやイベント報酬などが含まれます。 total int 0 0 ~ 2147483646 総数 通貨残高の合計（有償 + 無償）。ウォレットで利用可能な全体量を表します。 EzDepositTransaction 入金トランザクション ウォレット内の単一の入金レコードを表します。有償の入金（価格 \u003e 0）は正確な返金計算と資金決済法への準拠のために単価ごとに追跡されます。無償の入金（価格 = 0）は別途追跡されます。出金時には、ネームスペースの通貨消費優先度に基づいて入金トランザクションが消費されます。  price double  0.0 ~ 100000000.0 購入価格 この入金に対して現地通貨で支払われた実際の金額です。0 は無償通貨を示します。返金目的の単価計算に使用されます。 currency string {price} \u003e 0 ※ ~ 8文字 通貨コード 実際の支払いのISO通貨コード（例：“JPY”、“USD”）です。有償の入金（価格 \u003e 0）の場合のみ適用されます。 ※ price が 0 より大きければ 必須 count int  0 ~ 2147483646 課金通貨の数量 この入金における仮想通貨の単位数です。ウォレットから出金されると減少します。 EzAppleAppStoreContent Apple AppStore のコンテンツ アプリ内課金商品に対応する Apple App Store のプロダクトIDを含みます。レシート検証時の照合に使用されます。  productId string ~ 1024文字 プロダクトID このアプリ内課金アイテムについて App Store Connect に登録されている Apple App Store のプロダクト識別子です。 EzGooglePlayContent Google Play のコンテンツ アプリ内課金商品に対応する Google Play のプロダクトIDを含みます。レシート検証時の照合に使用されます。  productId string ~ 1024文字 プロダクトID このアプリ内課金アイテムについて Google Play Console に登録されている Google Play のプロダクト識別子です。 EzAppleAppStoreSubscriptionContent Apple AppStore の期間課金コンテンツ サブスクリプションベースの商品の Apple App Store サブスクリプショングループ識別子を含みます。自動更新サブスクリプションの管理と検証に使用されます。  subscriptionGroupIdentifier string ~ 64文字 サブスクリプショングループID App Store Connect に登録されたサブスクリプショングループ識別子です。同じグループ内のサブスクリプションは相互排他的で、ユーザーは同時に1つしか契約できません。 EzGooglePlaySubscriptionContent Google Play の期間課金コンテンツ サブスクリプションベースの商品の Google Play プロダクトIDを含みます。Google Play での自動更新サブスクリプションの管理と検証に使用されます。  productId string ~ 1024文字 プロダクトID メソッド get プレイヤーの課金通貨ウォレットの残高を取得する 指定したスロットのプレイヤーのウォレットを取得し、有償通貨と無償通貨それぞれの現在の残高を確認できます。 「有償」通貨はプレイヤーがリアルマネーで購入したもの（例: 100ジェムを¥120で購入）、「無償」通貨はゲームプレイで獲得したもの（例: イベント報酬、ログインボーナス）です。 一部の機能で有償通貨のみを要求する場合があるため（例: 特定のガチャや特別オファー）、別々に管理されています。 プレイヤーの通貨残高を表示するのに使います。たとえば、ショップ画面やヘッダーUIで「ジェム: 350（有償: 100、無償: 250）」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession slot int  0 ~ 100000000 スロット番号 ウォレットスロットを識別します。プラットフォーム間の残高共有が許可されていない場合、異なるスロットを使用してプラットフォームごとに通貨を分けて管理できます（例：iOS用とAndroid用）。 Result 型 説明 item EzWallet ウォレット 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 list プレイヤーの課金通貨ウォレット一覧を取得する プレイヤーが現在持つすべてのウォレットを取得します。各ウォレットはそれぞれ独立した残高を持ち、有償通貨と無償通貨が別々に管理されます。 「有償」通貨はプレイヤーがリアルマネーで購入したもの（例: 100ジェムを¥120で購入）、「無償」通貨はゲームプレイで獲得したもの（例: イベント報酬、ログインボーナス）です。 プレイヤーの通貨の全体像を表示するのに使います。たとえば、通貨管理画面で全ウォレットスロットとその残高を一覧表示する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 items List ウォレットのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 withdraw プレイヤーのウォレットから課金通貨を消費する プレイヤーのウォレットから指定した量の課金通貨を差し引きます。 デフォルト（paidOnly = false）では、無償通貨が先に消費され、不足分は有償通貨から消費されます。これにより、プレイヤーは購入した通貨を使う前に無償通貨を使い切ることができます。 paidOnly を true にすると、有償通貨のみが消費されます。法律上有償通貨のみを使用しなければならない機能（例: 一部地域の有償限定ガチャ）に必要です。 プレイヤーが課金通貨で購入する際に使います。たとえば、特別なアイテムの購入やガチャを引くためにジェム100個を消費する、といった場合です。 注意: GS2-Showcase を通じた商品購入の対価として通貨を消費する場合は、自動的に処理されるため、このAPIを呼ぶ必要はありません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession slot int  0 ~ 100000000 スロット番号 ウォレットスロットを識別します。プラットフォーム間の残高共有が許可されていない場合、異なるスロットを使用してプラットフォームごとに通貨を分けて管理できます（例：iOS用とAndroid用）。 withdrawCount int  1 ~ 2147483646 消費する課金通貨の数量 paidOnly bool false 有償通貨のみを対象とするか Result 型 説明 item EzWallet 消費後のウォレット withdrawTransactions List 消費した入金トランザクションリスト Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 ConflictException ConflictException ウォレットの操作処理が衝突しました。リトライが必要です InsufficientException BadRequestException ウォレットの残高が不足しています 実装例 allocateSubscriptionStatus ストアレシートを使ってサブスクリプションを登録する App Store や Google Play のレシートを検証して、サブスクリプション購入をプレイヤーに紐づけます。 プレイヤーが端末でサブスクリプション（例: 「月額パス」）を購入した後、ストアレシートをこのAPIに渡してサーバー側でサブスクリプションを有効にします。 ストア購入をプレイヤーのアカウントに結びつけるための重要なステップです。この呼び出しがないと、サーバーはプレイヤーが契約したことを認識できません。 購入フローで使います。たとえば、アプリ内課金ダイアログでプレイヤーが「月額パス」を購入した後、レシートを送信してVIP特典を有効にする、といった場合です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession GameSession receipt string  ~ 1024文字 レシート Result 型 説明 item EzSubscriptionStatus サブスクリプションの契約状況 Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 AlreadyUsedException BadRequestException すでにその期間課金契約は他のユーザーによって利用されています 実装例 getSubscriptionStatus 特定のサブスクリプション契約状況を取得する コンテンツ名を指定して、特定のサブスクリプションの契約状況を取得します。 ステータスには、プレイヤーが現在契約中かどうかと、有効期限などの関連情報が含まれます。 プレイヤーが特定のサブスクリプションを持っているか確認するのに使います。たとえば、デイリーボーナス報酬を付与する前に「月額パス」が有効か確認したり、プレイヤープロフィールに「VIPメンバーシップ: 有効」と表示する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession GameSession contentName string  ~ 128文字 ストア定期課金コンテンツモデル名 Result 型 説明 item EzSubscriptionStatus サブスクリプションの契約状況 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listSubscriptionStatuses プレイヤーのサブスクリプション契約状況一覧を取得する プレイヤーが契約している可能性のあるすべてのサブスクリプションコンテンツの契約状況を取得します。 サブスクリプションとは、App Store や Google Play で購入する「月額パス」や「VIPメンバーシップ」のような定期購入です。 各ステータスは、プレイヤーがそのコンテンツを現在契約しているかどうかを示します。 サブスクリプションの概要を表示するのに使います。たとえば、メンバーシップ画面で「月額パス: 有効（3月15日まで）」「VIPメンバーシップ: 未契約」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession GameSession Result 型 説明 items List サブスクリプションの契約状況のリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 takeOverSubscriptionStatus 他のアカウントからこのプレイヤーにサブスクリプションを移行する 現在別のプレイヤーアカウントに紐づいているサブスクリプションを、このプレイヤーのアカウントに移動します。 プレイヤーがアカウント移行を行う場合に使います。たとえば、機種変更で新しいアカウントを作成した場合、ストアレシートを使って旧アカウントの「月額パス」サブスクリプションを新アカウントに移行できます。 サブスクリプションは旧アカウントから解除され新アカウントに紐づけられるため、旧アカウントではサブスクリプション特典を受けられなくなります。 アカウント移行フローで使います。たとえば、プレイヤーが新アカウントにログインし、移行を確認した後に呼び出します。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession GameSession receipt string  ~ 1024文字 レシート Result 型 説明 item EzSubscriptionStatus サブスクリプションの契約状況 Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 LockPeriodNotElapsedException BadRequestException 前回のユーザーの付け替えから、ロック期間が経過していません 実装例 イベントハンドラ OnChangeSubscriptionStatus 期間課金の契約状況が変化したときに使用するプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ユーザーID contentName string ストア定期課金コンテンツモデル名 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Money2 SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Money2 SDK for Game Engine API リファレンス","url":"/ja/api_reference/money2/game_engine/"},{"content":"モデル EzNews お知らせ記事 Hugo サイトデータから生成された個々のニュース記事を表します。 各記事はセクションとコンテンツパスに属し、タイトル、タイムスタンプ、Front Matter メタデータを持ちます。 GS2-Schedule のイベントとリンクして表示期間を制御することもできます。 Front Matter には JSON 形式の追加メタデータが含まれ、表示順序を制御するためのオプションの weight フィールドも含まれます。  section string  ~ 1024文字 セクション名 この記事が属するセクション（カテゴリ）。Hugo のコンテンツディレクトリ構造に対応します。 記事を表示用の論理グループに整理するために使用されます。 content string  ~ 1024文字 コンテンツ セクション内でのこの記事のコンテンツパス識別子。 セクションと合わせて、Hugo コンテンツ構造内の記事の位置を一意に識別します。 title string  ~ 1024文字 記事見出し ニュース記事のタイトル。通常、Hugo の Front Matter で定義されます。 プレイヤーへの記事一覧表示時に見出しとして表示されます。 scheduleEventId string ~ 1024文字 GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN timestamp long  タイムスタンプ UNIX 時間・ミリ秒 frontMatter string  ~ 1024文字 Front Matter JSON 形式の記事に関連付けられたメタデータ。元は Hugo マークダウンの Front Matter で定義されます。 weight（表示順序の制御用）、タグ、カテゴリ、その他のカスタムプロパティなどの任意のフィールドを含むことができます。 EzSetCookieRequestEntry Cookie 設定リクエストエントリ ニュース記事の Web コンテンツにアクセスするためにブラウザ/WebView に設定する必要がある Cookie のキーバリューペア。 クライアントは記事 URL を読み込む前にこれらの Cookie を設定し、コンテンツへの認可されたアクセスを確保する必要があります。  key string  ~ 128文字 Cookie キー ニュースコンテンツへの認証アクセスのために設定する Cookie の名前。 最大128文字。 value string  ~ 1024文字 Cookie 値 ニュースコンテンツへの認証アクセスのために設定する Cookie の値。 最大1024文字。 メソッド getContentsUrl お知らせコンテンツを表示するためのURLとCookieを取得する WebViewやブラウザでお知らせ記事を表示するために必要な情報を取得します。 お知らせコンテンツはWebページとしてホストされているため、表示するには (1) 認証用のCookie と (2) 開くURL が必要です。 レスポンスには、ブラウザURL（先にCookieの設定が必要）と、ZIP URL（Cookie不要で全コンテンツをダウンロード可能 — オフライン利用やカスタムレンダリングに便利）が含まれます。 お知らせ記事を開く前に使います。たとえば、このAPIを呼んで返されたCookieをWebViewにセットし、ブラウザURLに遷移して記事を表示します。または、ZIPをダウンロードしてゲームUI内でネイティブにコンテンツを描画することもできます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 items List お知らせWebコンテンツにアクセスするために設定の必要なクッキーのリスト browserUrl string お知らせWebコンテンツにアクセスするためのURL zipUrl string ZIP形式のお知らせWebコンテンツにアクセスするためのURL (アクセスにCookieの設定は不要) 実装例 listNewses お知らせ記事の一覧を取得する プレイヤー向けのゲーム内お知らせ記事（アナウンス）の一覧を取得します。 お知らせ記事はGS2で管理されるHTMLベースのWebコンテンツです。たとえば、メンテナンス告知、イベント告知、アップデートパッチノート、キャンペーン情報などです。 レスポンスにはキャッシュ検証用のハッシュ値も含まれるため、前回取得時からコンテンツが変更されたかチェックできます。 ゲーム内のお知らせ画面を構築するのに使います。たとえば「3月1日メンテナンスのお知らせ」「新イベント: 春の祭典」「バージョン2.5アップデートノート」のような記事一覧の表示に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 items List お知らせ記事のリスト contentHash string お知らせ記事データのハッシュ値 templateHash string テンプレートデータのハッシュ値 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-News SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-News SDK for Game Engine API リファレンス","url":"/ja/api_reference/news/game_engine/"},{"content":"モデル EzProgress クエスト進行状況 クエストの開始時に作成され、終了時に削除されます。 インゲームの途中でアプリを終了した際にはこのデータが残った状態となり エンティティが保持する進行中のクエスト情報からゲームをリジュームすることが可能です。  progressId string ※ ~ 1024文字 クエスト進行状況 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 transactionId string  UUID ~ 36文字 トランザクションID クエストトランザクションの一意の識別子です。クエスト進行状況と報酬配布を管理するトランザクションを紐付けるために使用されます。 questModelId string  ~ 1024文字 クエストモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 現在進行中のクエストモデルのGRNです。ユーザーがプレイ中のクエストを識別し、クエスト途中でアプリを終了した場合のゲームリジュームを可能にします。 randomSeed long  0 ~ 9223372036854775805 乱数シード クエスト開始時に割り当てられる乱数シードです。このクエスト試行で選択されるコンテンツバリエーション（報酬セット）の決定に使用され、再現可能な結果を保証します。 metadata string ~ 256文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 rewards List [] 0 ~ 1000 items クリア報酬リスト クエストクリア時に付与される報酬のリストです。乱数シードで選択されたコンテンツバリエーションに基づき、クエスト開始時に決定されます。 failedRewards List [] 0 ~ 1000 items 失敗時報酬リスト クエスト失敗時に付与される報酬のリストです。クエスト開始時に決定され、失敗時の慰労報酬やコストの一部返還として提供されます。 EzCompletedQuestList クリア済みクエストリスト クエストグループ内でユーザーがクリアしたクエストを追跡します。前提クエストのクリア判定や初回クリアボーナスの判定に使用されます。各クエスト名はクリア回数に関わらず一度だけ記録されます。  questGroupName string  ~ 128文字 クエストグループモデル名 このクリア済みクエストリストが属するクエストグループの名前です。ユーザーごと・クエストグループごとに1つの CompletedQuestList が存在します。 completeQuestNames List [] 0 ~ 1000 items クリア済みクエスト名リスト このクエストグループ内でユーザーがクリアしたクエスト名のリストです。初回クリア時にクエスト名が追加され、重複は排除されます。前提クエスト条件の評価や初回クリアボーナスの判定に使用されます。 EzQuestGroupModel クエストグループモデル クエストグループは複数のクエストをグルーピングするためのエンティティで、クエストの進行はグループ内で同時に1つしか実行できません。 つまり、並列でクエストを進行できるようにする必要がある場合はグループを分ける必要があります。  name string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 quests List [] 0 ~ 1000 items グループに属するクエスト このクエストグループに属するクエストモデルのリストです。グループ内では同時に1つのクエストのみ進行できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このグループ内のクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。 EzQuestModel クエストモデル クエストモデルはインゲームの開始に必要な対価とクリアしたときに得られる報酬を保持するエンティティです。 クリアしたときに得られる報酬は複数のバリエーションを用意でき、クエスト開始時に抽選することができます。 例えば、クエスト自体は同じでも、レアモンスターの出現有無によって2種類のコンテンツバリエーションを作成できます。  questModelId string ※ ~ 1024文字 クエストモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 クエストモデル名 クエストモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 contents List [] 1 ~ 10 items クエストの内容 このクエストのコンテンツバリエーションのリストです。クエスト開始時に重み付き抽選で1つのバリエーションが選択されます。各バリエーションに異なるクリア報酬を定義でき、同じクエストでも異なる結果（例：レアモンスターの出現）を実現できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。この設定はクエストグループの挑戦可能期間より優先されます。 firstCompleteAcquireActions List [] 0 ~ 10 items 初回クリア報酬入手アクションリスト このクエストの初回クリア時にのみ実行される入手アクションのリストです。通常のクリア報酬に加えて付与されるボーナス報酬で、初回クリアボーナスの実現に使用します。 verifyActions List [] 0 ~ 10 items 検証アクションリスト このクエストを開始するための前提条件となる検証アクションのリストです。すべての検証アクションが成功しないとクエストを開始できません。レベル確認やアイテム所持などの要件の強制に使用します。 consumeActions List [] 0 ~ 10 items 消費アクションリスト このクエストの開始コストとして実行される消費アクションです。スタミナや通貨などのコストがクエスト開始時に消費されます。 failedAcquireActions List [] 0 ~ 100 items 失敗時入手アクションリスト クエスト失敗時に実行される入手アクションです。失敗時の慰労報酬やクエスト参加コストの一部返還などに使用します。 premiseQuestNames List [] 0 ~ 10 items 前提クエスト名リスト このクエストに挑戦する前にクリアが必要な同グループ内のクエスト名のリストです。連続するクエストチェーンや分岐するクエストパスの作成に使用します。 EzContents コンテンツ クエストコンテンツの1つのバリエーションを表します。各クエストは異なる報酬を持つ複数のコンテンツバリエーションを持つことができ、クエスト開始時に重み付き抽選で1つが選択されます。メタデータはユーザーIDやコンフィグ値によるテンプレート変数の置換をサポートします。  metadata string ~ 256文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 completeAcquireActions List [] 0 ~ 10 items クリア報酬入手アクション このコンテンツバリエーションでクエストをクリアした際に実行される入手アクションです。プレイヤーがクエストクリア時に受け取る実際の報酬を定義します。 EzConsumeAction 消費アクション  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzVerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzAcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzReward 報酬 クエスト開始時に決定される個々の報酬アイテムを表します。実行する入手アクション、対象リソース、付与する数量を含みます。Progress エンティティに保存され、クエストのクリアまたは失敗時の報酬配布に使用されます。  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 5242880文字 リクエスト 入手アクション実行時に使用されるリクエストパラメータのJSON文字列です。対象ネームスペース、リソース名、数量など、報酬の具体的な詳細を含みます。 itemId string  ~ 1024文字 アイテムID 報酬として入手するリソースのGRNです。プレイヤーに付与されるアイテム、通貨、その他のリソースを特定します。 value int  0 ~ 2147483646 数量 報酬として付与するリソースの数量です。ゲームロジックに基づいて動的に調整することが可能です。 EzConfig コンフィグ設定 トランザクションの変数に適用する設定値  key string  ~ 64文字 名前 value string ~ 51200文字 値 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド deleteProgress プレイヤーの現在のクエストをキャンセルする プレイヤーの進行中のクエストを削除し、別のクエストを開始できるようにします。 プレイヤーがクエストを放棄したい場合に使います。たとえば「このクエストを諦めますか？」という確認ダイアログを表示し、プレイヤーが確認した時にこのAPIを呼びます。 新しいクエストを開始する際の force オプションの代替手段です。前のクエストを暗黙的に破棄するのではなく、プレイヤーに明示的な「クエスト放棄」ボタンを提供したい場合に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 item EzProgress クエスト進行状況 実装例 end クエストの完了または失敗を報告する プレイヤーがクエストのプレイを終えたことをサーバーに伝えます。以下の2つを報告する必要があります: isComplete : プレイヤーがクエストをクリアしたか（true）失敗したか（false）。 rewards : プレイヤーがクエスト中に実際に獲得した報酬。クエスト開始時に受け取った最大値を超えてはいけません。 プレイヤーがクエストをクリアした場合（isComplete = true）、報告された報酬がプレイヤーに付与されます（例: アイテムがインベントリに追加、通貨がウォレットに追加）。 プレイヤーが失敗した場合（isComplete = false）、rewardsパラメータは無視され、クエスト定義に設定された失敗報酬が代わりに付与されます。 サーバーは報告された報酬を検証します。許可された最大値を超えたり、このクエストに存在しないアイテムを報告した場合はエラーになります。 クエストのゲームプレイが終わった時に使います。たとえば、プレイヤーがボスを倒した後や「ゲームオーバー」画面が表示された後です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession rewards List [] 0 ~ 1000 items クエストで実際に得た報酬 isComplete bool  クエストをクリアしたか config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item EzProgress クエスト進行状況 transactionId string 発行されたトランザクションID stampSheet string 報酬付与処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例 getProgress プレイヤーの現在のクエスト進行状況を取得する プレイヤーが現在プレイ中のクエストを、クエストグループとクエスト定義の詳細とともに取得します。 アプリ再起動後にクエストを再開するのに便利です。たとえば、プレイヤーが「ステージ1-3」の途中でアプリを閉じた場合、起動時にこれを呼んで未完了のクエストを検出し「クエストを再開しますか？」ダイアログを表示できます。 プレイヤーが進行中のクエストを持っていない場合、進行データは返されません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 item EzProgress クエスト進行状況 questGroup EzQuestGroupModel クエストグループモデル quest EzQuestModel クエストモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 start クエストを開始する プレイヤーがクエストを開始することをサーバーに伝えます。プレイヤーはクエストグループごとに同時に1つのクエストしか進行できません。すでに別のクエストが実行中の場合は失敗します（ force = true を指定すると、前のクエストを破棄して新しく開始できます）。 クエストが正常に開始されると、レスポンスには以下が含まれます: このクエストで入手可能な報酬の最大値（例: 「剣×3まで、ゴールド×100まで」）。ゲームプレイ中にプレイヤーが獲得できるものを決定するのに使います。 再現可能なゲームプレイのための乱数シード。このシードを使うことで、同じ条件でゲームを再現できます。デバッグやクラッシュ後の再開に役立ちます。 このクエスト実行を一意に識別するトランザクションID。クエスト結果を報告する際に必要です。 プレイヤーがクエストの「開始」をタップした時に使います。たとえば「第1章」グループの「ステージ1-3」を開始する場合です。スタミナなどのクエストコストは自動的に消費されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 questName string  ~ 128文字 クエストモデル名 gameSession GameSession  GameSession force bool false すでに開始しているクエストがある場合にそれを破棄して開始するか config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 transactionId string 発行されたトランザクションID stampSheet string クエストの開始処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 InProgressException BadRequestException クエストはすでに進行中です 実装例 describeCompletedQuestLists プレイヤーのクリア済みクエスト記録の一覧を取得する 全クエストグループにおけるプレイヤーのクリア済みクエスト記録を取得します。 各エントリはクエストグループ1つに対応し、そのグループ内でプレイヤーがクリアしたクエスト名の一覧を含みます。 クエスト進捗の概要を表示するのに使います。たとえば、クエスト選択画面で「第1章: 5/10クリア」「第2章: 0/8クリア」「イベントダンジョン: 3/3クリア」のように表示するのに便利です。 一部のクエストは特定の前提クエストのクリアが必要なため、どのクエストが解放されているかを判定するのにも役立ちます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List クリア済みクエストリストの一覧 nextPageToken string リストの続きを取得するためのページトークン 実装例 getCompletedQuestList 特定グループのプレイヤーのクリア済みクエスト記録を取得する 指定したクエストグループ内で、プレイヤーがクリアしたクエスト名の一覧を取得します。 特定のグループ内でプレイヤーがどのクエストをクリア済みか確認するのに使います。たとえば「第1章」の各ステージのクリア/未クリア状態を表示したり、次のステージを解放するための前提クエストをクリアしているかチェックする場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 このクリア済みクエストリストが属するクエストグループの名前です。ユーザーごと・クエストグループごとに1つの CompletedQuestList が存在します。 gameSession GameSession  GameSession Result 型 説明 item EzCompletedQuestList クリア済みクエストリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getQuestGroup 名前を指定してクエストグループ定義を取得する 名前を指定して、クエストグループを1件取得します。 取得できる情報には、グループ内のクエスト一覧と、オプションのチャレンジ期間設定（例: 特定の期間のみ挑戦可能なイベントダンジョン）が含まれます。 特定のクエストカテゴリの詳細を表示するのに使います。たとえば「第1章」の全ステージや「イベントダンジョン」カテゴリ内の挑戦可能なクエスト一覧を表示する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzQuestGroupModel クエストグループモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listQuestGroups クエストグループ定義の一覧を取得する このネームスペースに登録されているすべてのクエストグループを取得します。 クエストグループは、関連するクエストをまとめるカテゴリです。たとえば「第1章」「イベントダンジョン」「デイリークエスト」などです。 プレイヤーはグループごとに1つのクエストしか同時に進行できないため、グループは同時実行の管理にも使われます。 クエスト選択画面を構築するのに使います。たとえば「メインストーリー」「サブクエスト」「イベントダンジョン」のようなカテゴリをプレイヤーに表示する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List クエストグループモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getQuest 名前を指定してクエスト定義を取得する グループ名とクエスト名を指定して、クエストを1件取得します。 取得できる情報には、クエストの報酬設定、消費アクション（開始コスト）、前提クエスト条件が含まれます。 プレイヤーがクエストを開始する前に詳細を表示するのに使います。たとえば「ステージ1-3: 報酬: 剣×1、ゴールド×100 ｜ コスト: スタミナ×10 ｜ 条件: ステージ1-2クリア」のようにクエスト詳細画面で表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questName string  ~ 128文字 クエストモデル名 クエストモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzQuestModel 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listQuests グループ内のクエスト定義の一覧を取得する 指定したクエストグループに属するすべてのクエストを取得します。 各クエストには、報酬（プレイヤーが獲得できるもの）、コスト（開始に必要なアイテムや通貨）、前提条件（先にクリアが必要なクエスト）が定義されています。 カテゴリ内のクエスト一覧を表示するのに使います。たとえば「第1章」グループ内で「ステージ1-1」「ステージ1-2」「ステージ1-3（ロック中 — 1-2をクリアしてください）」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List クエストモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Quest SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Quest SDK for Game Engine API リファレンス","url":"/ja/api_reference/quest/game_engine/"},{"content":"モデル EzScore スコア ゲームプレイヤーごと・カテゴリーごとに登録されたスコアを保持するエンティティです。 各スコアエントリはユニークIDで識別され、カテゴリーとスコア登録ユーザーに関連付けられます。 合算モードでは、新しいスコアは個別のエントリを作成するのではなく、AddScore 操作で既存の合計に加算されます。 カテゴリーの最小値・最大値の範囲外のスコアは登録時に拒否されます。  categoryName string  ~ 128文字 カテゴリー名 userId string  ~ 128文字 ユーザーID uniqueId string  UUID ~ 36文字 ユニークID このスコアエントリを一意に識別する UUID。 作成時に自動生成されます。uniqueByUserId が無効の場合、同一ユーザーの同一カテゴリー内の複数スコアエントリを区別するために使用されます。 scorerUserId string  ~ 128文字 ユーザーID score long  0 ~ 9223372036854775805 スコア プレイヤーが登録したスコア値。 カテゴリーに設定された最小値・最大値の範囲内である必要があります。合算モードでは、AddScore 操作でこの値をインクリメントできます。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 EzRanking ランキング ランキングリーダーボードの1エントリを表し、ユーザーの順位、スコア、および関連メタデータを含みます。 グローバルランキング（全プレイヤーが共有ボードでバッチ集計により競争）とスコープランキング（購読したプレイヤーに基づくユーザーごとのボードでリアルタイム反映）の2種類があります。 ランキングはカテゴリーに設定されたソート方向で並び替えられ、同スコアのエントリは同順位を共有しつつ異なるインデックスを保持します。  rank long  1 ~ 9223372036854775805 順位 このエントリのランキング順位（1始まり）。 同スコアのエントリは同じ順位を共有します。例えば、2ユーザーが1位タイの場合、両方とも順位1となり次のエントリは順位3になります。 index long  0 ~ 9223372036854775805 インデックス ランキングリスト内のゼロベースの連番インデックス。 rank と異なり、複数のエントリが同スコアを共有していてもインデックスは常にユニークで連続します。ページネーションや範囲ベースのクエリに使用されます。 userId string  ~ 128文字 ユーザーID score long  0 ~ 9223372036854775805 スコア このランキングエントリのスコア値。 合算モードの場合、登録された全スコアの累積合計です。ランキングのソート順に使用される値はカテゴリーの orderDirection 設定に依存します。 metadata string ~ 512文字 メタデータ このランキングエントリに関連付けられた任意のメタデータ。 スコア登録時に設定され、ランキング結果と共に返されます。最大512文字。 createdAt long  作成日時 UNIX 時間・ミリ秒 ※ サーバー側で自動的に設定 EzSubscribeUser 購読ユーザー スコープランキングカテゴリー内の個別の購読関係を表します。 各エントリは、親ユーザーが指定カテゴリーでターゲットユーザーのスコアを購読（フォロー）していることを示します。  userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 購読対象ユーザーID 購読先のプレイヤーのユーザーID。 このユーザーのスコアが、購読元ユーザーの指定カテゴリーにおけるスコープランキングに表示されます。 EzCategoryModel カテゴリーモデル カテゴリー毎に異なるランキングを作成できます。 カテゴリーには登録できるスコアの最小値・最大値を設定でき、その範囲外のスコアは破棄されます。 ランキングを集計する際にスコアを小さいものを上位（昇順）にするか、大きいものを上位（降順）にするかを設定できます。 ランキングの種類として グローバル と スコープ を選択できます。 グローバルは全プレイヤーが同じ結果を参照するもので、スコープはフレンド内ランキングや、ギルド内ランキングのようなゲームプレイヤー毎に結果の異なるランキングです。 グローバルランキングはカテゴリーごとにランキングの集計間隔を15分～24時間で設定できます。 スコープランキングはリアルタイムで集計結果が反映されます。 ランキングデータには世代という設定があり、世代を変更することで登録されたスコアをリセットすることができます。  name string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scope 文字列列挙型 enum {   “global”,   “scoped” }  ランキングの種類 このカテゴリーのランキングタイプ。 “global” は全プレイヤーが共有する単一のリーダーボードを作成し、設定された間隔でバッチ集計されます。 “scoped” は購読したプレイヤー（フレンドやギルドメンバー等）に基づくユーザーごとのリーダーボードを作成し、スコアがリアルタイムで反映されます。 定義 説明 “global” グローバル “scoped” スコープ globalRankingSetting EzGlobalRankingSetting {scope} == “global” ※ グローバルランキング設定 グローバルランキングモード固有の設定。集計間隔、固定時刻、スコアのユニーク性、世代管理、および追加の期間限定スコープを含みます。 scope が “global” に設定されている場合のみ適用されます。 ※ scope が “global” であれば 必須 entryPeriodEventId string ~ 1024文字 スコア登録期間イベントID スコア登録を受け付ける期間を定義する GS2-Schedule イベントの GRN。 この期間外のスコア登録リクエストは拒否されます。未設定の場合、スコアはいつでも登録できます。 accessPeriodEventId string ~ 1024文字 アクセス期間イベントID ランキングデータを閲覧できる期間を定義する GS2-Schedule イベントの GRN。 この期間外のランキング取得リクエストは拒否されます。未設定の場合、ランキングはいつでもアクセスできます。 EzGlobalRankingSetting グローバルランキング設定 グローバルは全プレイヤーが同じ結果を参照するものです。 ランキングの集計間隔を15分～24時間で設定できます。 ランキングデータには世代という設定があり、世代を変更することで登録されたスコアをリセットすることができます。  calculateIntervalMinutes int  15 ~ 1440 集計間隔（分） 連続するランキング再集計の間隔（分）。 システムはこの間隔で、登録された全スコアに基づいてグローバルランキングを定期的に再集計します。 範囲: 15～1440分（15分～24時間）。 additionalScopes List 0 ~ 10 items 追加スコープリスト 追加の期間限定集計スコープのリスト。 各スコープは指定した日数以内に登録されたスコアのみを対象とする別ランキングを定義します。 全期間のグローバルランキングと併せて、デイリー・ウィークリー・マンスリーなどのリーダーボードを作成できます。最大10件。 EzScope 集計スコープ グローバルランキングモードにおける追加の期間限定集計スコープを定義します。 通常、グローバルランキングは登録されたスコア全てを対象に集計が行われます。 スコープを追加することで、指定した日数以内に登録されたスコアのみを対象とする別ランキングを作成でき、全期間ランキングと併せてデイリー・ウィークリー・マンスリーなどのリーダーボードを実現できます。  name string  ~ 128文字 スコープ名 カテゴリー内でこの集計スコープを一意に識別する名前。 複数の期間限定ランキングボードを区別するために使用されます（例: “daily”, “weekly”）。最大128文字。 targetDays long  1 ~ 365 集計対象日数 集計ウィンドウに含める日数。 現在時刻からこの日数以内に登録されたスコアのみがスコープランキングの対象となります。範囲: 1～365日。 メソッド getCategory 特定のランキングカテゴリの詳細を取得する ランキングカテゴリ名を指定して、スコアリングルールと設定を含む詳細を取得します。 レスポンスには以下が含まれます: スコア範囲: 登録可能なスコアの最小値と最大値 ソート順: スコアが高いほど上位（降順）か、スコアが低いほど上位（昇順、タイムアタックランキングなどに便利）か スコープタイプ: グローバルランキングかスコープ付き（フレンド）ランキングか グローバルランキングの場合: 計算間隔とタイミング設定 エントリー/アクセス期間: GS2-Schedule のイベントと連携している場合、スコア登録やランキング閲覧が可能な期間 詳細画面でランキングのルールや設定を表示する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzCategoryModel カテゴリモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listCategories ランキングカテゴリの一覧を取得する ネームスペースに定義されているすべてのランキングカテゴリを取得します。 各カテゴリは独立したリーダーボードを表します。たとえば「ハイスコア」「ボスタイムアタック」「週間バトル勝利数」などです。 ランキングには2つのタイプがあります: グローバルランキング: すべてのプレイヤーが1つのリーダーボードで順位付けされます。ランキングは定期的に再計算される（リアルタイムではない）ため、スコア登録からランキングへの反映には遅延があります。 スコープ付きランキング: プレイヤーごとに、自分と購読（フォロー）しているプレイヤーだけが表示されるパーソナライズされたリーダーボードです（「フレンドランキング」のようなもの）。こちらはリアルタイムで計算されます。 ランキング画面で利用可能なリーダーボードの一覧を表示する際に使います。たとえば「世界ランキング」「フレンドランキング」「週間ランキング」などのタブを表示するような画面です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List カテゴリモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listSubscribes フレンドランキング用にフォローしているプレイヤーの一覧を取得する 指定されたランキングカテゴリで、現在のプレイヤーが購読（フォロー）しているプレイヤーの一覧を取得します。 スコープ付き（フレンド）ランキングで使用します。他のプレイヤーを購読すると、そのプレイヤーのスコアがパーソナライズされたフレンドランキングに表示されるようになります。 ランキング画面で「フォロー中」リストを表示する際に使います。フレンドリーダーボードにどのプレイヤーのスコアが含まれているかを確認できます。 たとえば PlayerA、PlayerB、PlayerC を購読している場合、フレンドランキングにはこの3人と自分自身のスコアが表示されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 gameSession GameSession  GameSession Result 型 説明 items List 購読対象ユーザー情報のリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 subscribe プレイヤーをフォローしてフレンドランキングに含める 指定されたカテゴリで他のプレイヤーを購読し、そのプレイヤーのスコアが自分のスコープ付き（フレンド）ランキングに表示されるようにします。 「フォロー」機能のようなものです。購読後、対象プレイヤーのスコアがパーソナライズされたフレンドリーダーボードに表示されるようになります。 主な使い方: プレイヤーがフレンド追加した際に、すべてのランキングカテゴリで自動的に購読する プレイヤーのプロフィール画面に「リーダーボードでフォロー」ボタンを設置する 対戦後、対戦した相手をフォローできるようにする 自分自身を購読することはできません（自分のスコアはフレンドランキングに自動的に含まれます）。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリー名 gameSession GameSession  GameSession targetUserId string  ~ 128文字 購読するユーザーID Result 型 説明 item EzSubscribeUser 購読対象ユーザー情報 実装例 unsubscribe プレイヤーのフォローを解除してフレンドランキングから除外する 指定されたランキングカテゴリで、指定されたプレイヤーの購読を解除します。 購読解除後、対象プレイヤーのスコアはスコープ付き（フレンド）ランキングに表示されなくなります。 プレイヤーがフレンドリーダーボードで誰かのスコアを表示しないようにしたいときに使います。たとえばフレンド解除時やフォロー解除時です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリー名 gameSession GameSession  GameSession targetUserId string  ~ 128文字 購読解除するユーザーID Result 型 説明 item EzSubscribeUser 解除した購読対象ユーザー情報 実装例 getNearRanking 特定のスコア付近のランキングを取得する 指定されたスコア値を中心としたランキングの一部を取得します。 プレイヤーが「自分がどのあたりの順位か」を確認するのに便利です。たとえばリーダーボード上で、プレイヤーのスコアの前後数人を表示できます。 一般的な使い方: プレイヤーがゲームを終えた後、自分のスコアとその付近のランキングを表示: 「98位: PlayerX (5,200 pt) → あなた: 5,150 pt → 99位: PlayerY (5,100 pt)」 このAPIはグローバルランキングでのみ使用できます。スコープ付き（フレンド）ランキングの場合はリストが十分小さいため、代わりに GetRanking を使ってください。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 additionalScopeName string ~ 128文字 スコープ名 カテゴリー内でこの集計スコープを一意に識別する名前。 複数の期間限定ランキングボードを区別するために使用されます（例: “daily”, “weekly”）。最大128文字。 score long  0 ~ 9223372036854775805 スコア このランキングエントリのスコア値。 合算モードの場合、登録された全スコアの累積合計です。ランキングのソート順に使用される値はカテゴリーの orderDirection 設定に依存します。 Result 型 説明 items List ランキングのリスト 実装例 getRank 特定プレイヤーの順位とスコアを取得する 特定プレイヤーのランキング情報を、順位とスコアを含めて取得します。 結果画面やプロフィールページで「あなたの順位: 42位 (8,500 pt)」のように表示する際に使います。 scorerUserId（順位を調べたいプレイヤー）を指定する必要があります。uniqueId はカテゴリがプレイヤーごとにスコアを1つしか許可しない場合は省略できます（デフォルト “0”）。カテゴリがプレイヤーごとに複数スコアを許可する場合は、uniqueId を指定してどのスコアを調べるか特定します。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 additionalScopeName string ~ 128文字 スコープ名 カテゴリー内でこの集計スコープを一意に識別する名前。 複数の期間限定ランキングボードを区別するために使用されます（例: “daily”, “weekly”）。最大128文字。 scorerUserId string  ~ 128文字 スコアを獲得したユーザーのユーザーID gameSession GameSession  GameSession uniqueId string “0” ~ 36文字 スコアのユニークID Result 型 説明 item EzRanking ランキング 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getRanking ランキングのリーダーボードを取得する 指定されたカテゴリのランキング一覧を取得します。プレイヤーがスコア順に並んで表示されます。 リーダーボード画面を表示するためのメインAPIです。たとえば「1位: PlayerA (10,500 pt)、2位: PlayerB (9,800 pt)、…」のような表示です。 startIndex を指定して特定の順位から取得を開始できます（例: startIndex=0 でトップから、startIndex=99 で100位付近から）。 グローバルランキングの場合、データは最後の計算結果に基づくため、スコア登録からランキング更新まで遅延がある場合があります。 スコープ付き（フレンド）ランキングの場合、データはリアルタイムで計算されます。 カテゴリが追加スコープに対応している場合、additionalScopeName を指定してランキングをさらに絞り込めます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 additionalScopeName string ~ 128文字 スコープ名 カテゴリー内でこの集計スコープを一意に識別する名前。 複数の期間限定ランキングボードを区別するために使用されます（例: “daily”, “weekly”）。最大128文字。 gameSession GameSession GameSession limit int 30 1 ~ 1000 データの取得件数 pageToken string ~ 4096文字 データの取得を開始する位置を指定するトークン startIndex long 0 ~ 9223372036854775805 ランキングの取得を開始するインデックス Result 型 説明 items List ランキングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 putScore ランキングにスコアを登録する 指定されたランキングカテゴリにプレイヤーのスコアを登録します。 プレイヤーが記録したいスコアを達成したときに呼び出します。たとえばステージクリア後、タイムアタック終了時、対戦終了時などです。 スコアにはメタデータ（文字列）をオプションで添付できます。リーダーボード上でスコアと一緒に表示したい追加情報を保存するのに便利です。たとえばプレイヤーのキャラクター名、チーム構成、リプレイデータなどです。 スコアの扱いはカテゴリのタイプによって異なります: グローバルランキング: スコアが収集され、次のスケジュールされた間隔でランキングが再計算されます。ランキングが更新されるまで遅延があります。 スコープ付きランキング: スコアは即座に反映され、このプレイヤーを購読（フォロー）しているプレイヤーのフレンドランキングに表示されます。 注意: カテゴリの設定によって、プレイヤーごとに最高スコア（昇順ランキングの場合は最低スコア）のみが保持される場合と、複数のスコアが許可される場合があります。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession score long  0 ~ 9223372036854775805 スコア このランキングエントリのスコア値。 合算モードの場合、登録された全スコアの累積合計です。ランキングのソート順に使用される値はカテゴリーの orderDirection 設定に依存します。 metadata string ~ 512文字 メタデータ このランキングエントリに関連付けられた任意のメタデータ。 スコア登録時に設定され、ランキング結果と共に返されます。最大512文字。 Result 型 説明 item EzScore 登録したスコア 実装例 getScore プレイヤーが登録した特定のスコアを取得する 指定されたランキングカテゴリで、指定されたプレイヤーの1つのスコアレコードを取得します。 特定スコアの詳細を表示する際に使います。たとえばスコアの値、登録日時、添付されたメタデータ（キャラクター名やリプレイデータなど）を表示できます。 uniqueId はプレイヤーが複数スコアを持つ場合にどのスコアを取得するかを指定します。カテゴリがプレイヤーごとにスコアを1つしか許可しない場合（最も一般的なケース）は、uniqueId を省略するか “0” に設定できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリー名 gameSession GameSession  GameSession scorerUserId string  ~ 128文字 ユーザーID uniqueId string “0” ~ 36文字 スコアのユニークID Result 型 説明 item EzScore スコア 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listScores 特定プレイヤーが登録したスコアの一覧を取得する 指定されたランキングカテゴリで、特定のプレイヤーが登録したすべてのスコアを取得します。 プレイヤーのスコア履歴を表示する際に使います。たとえば、タイムアタックステージの全挑戦記録を一覧表示するような場合です。 ランキングの表示（すべてのプレイヤーをスコア順に表示）とは異なり、このAPIは1人の特定プレイヤーの登録スコアに焦点を当てています。 カテゴリがプレイヤーごとにスコアを1つしか許可しない場合は1件だけ返されます。複数スコアが許可されている場合（例: 複数回の挑戦）は、すべてのスコアが返されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 scorerUserId string  ~ 128文字 ユーザーID gameSession GameSession  GameSession limit int 30 1 ~ 1000 データの取得件数 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン Result 型 説明 items List スコアのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Ranking SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Ranking SDK for Game Engine API リファレンス","url":"/ja/api_reference/ranking/game_engine/"},{"content":"モデル EzGlobalRankingData グローバルランキング 特定シーズンのグローバルランキングにおけるランキングエントリを表します。ユーザーのスコア、0始まりのインデックス（ソート位置）、1始まりの順位（同点を考慮）を含みます。順位はインデックス + 1 で計算されます。  rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。新しいランキング期間ごとに増加します。 userId string  ~ 128文字 ユーザーID index int 0 ~ 2147483646 インデックス ランキング内のこのエントリの0始まりの一意のソート位置です。順位とは異なり、スコアが同点でもインデックスは常に一意です。インデックスベースの報酬計算に使用されます。 rank int 0 ~ 2147483646 順位 1始まりのランキング順位です。同スコアのプレイヤーは同じ順位を共有します。インデックス + 1 で計算されます。順位ベースの報酬計算に使用されます。 score long  0 ~ 9223372036854775805 スコア metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzGlobalRankingReceivedReward グローバルランキング報酬受け取り履歴 グローバルランキングでの順位に対して報酬を設定できます。 報酬を設定するには 順位閾値 と 報酬の内容 を設定します。  rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。新しいランキング期間ごとに増加します。 userId string  ~ 128文字 ユーザーID receivedAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzGlobalRankingScore グローバルランキングスコア 特定シーズンのグローバルランキングにおけるユーザーの登録スコアを保存します。合算モードが有効な場合、複数の登録スコアが累積されます。  rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。新しいランキング期間ごとに増加します。 userId string  ~ 128文字 ユーザーID score long  0 ~ 9223372036854775805 スコア ユーザーが登録したスコア値です。ランキングモデルの minimumValue と maximumValue で定義された範囲内である必要があります。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzClusterRankingData クラスターランキング 特定シーズン・クラスターにおけるクラスターランキングのランキングエントリを表します。クラスター内のユーザーのスコア、0始まりのインデックス、1始まりの順位を含みます。  rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このシーズンが属するクラスター（ギルド、ギャザリング、またはグループ）の名前です。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。 userId string  ~ 128文字 ユーザーID index int 0 ~ 2147483646 インデックス クラスターランキング内の0始まりの一意のソート位置です。スコアが同点でも常に一意です。 rank int 0 ~ 2147483646 順位 クラスター内の1始まりのランキング順位です。同スコアのプレイヤーは同じ順位を共有します。インデックス + 1 で計算されます。 score long  0 ~ 9223372036854775805 スコア metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzClusterRankingReceivedReward クラスターランキング報酬受け取り履歴 クラスターランキングの順位に応じた報酬を設定できます。 報酬を設定するには 順位閾値 と 報酬の内容 を設定します。  rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。 userId string  ~ 128文字 ユーザーID receivedAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzClusterRankingScore クラスターランキングスコア 特定シーズン・クラスターにおけるユーザーの登録スコアを保存します。スコアの受付前に、クラスタータイプ設定に基づいてユーザーのクラスター所属が検証されます。  rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。 userId string  ~ 128文字 ユーザーID score long  0 ~ 9223372036854775805 スコア このクラスター内でユーザーが登録したスコア値です。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzSubscribeRankingData 購読ランキング 特定シーズンのユーザーのパーソナライズされた購読ランキングにおけるランキングエントリを表します。購読ユーザーのスコアを含み、フレンドリスト内でランク付けされます。各エントリにはスコアを達成したユーザーIDが含まれます。  rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。 scorerUserId string  ~ 128文字 スコアを獲得したユーザーID このスコアを達成したプレイヤーのユーザーIDです。購読ランキングでは購読ユーザーのスコアがエントリとなるため、このフィールドはどのフレンドのスコアかを識別します。 index int 0 ~ 2147483646 インデックス 購読ランキング内の0始まりの一意のソート位置です。 rank int 0 ~ 2147483646 順位 購読ランキング内の1始まりのランキング順位です。インデックス + 1 で計算されます。 score long  0 ~ 9223372036854775805 スコア metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzSubscribeRankingScore 購読ランキングスコア 特定シーズンの購読ランキングにおけるユーザーの登録スコアを保存します。このスコアは、このユーザーを購読しているユーザーに表示され、パーソナライズされたフレンドランキングを形成します。  rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。 userId string  ~ 128文字 ユーザーID score long  0 ~ 9223372036854775805 スコア metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 EzSubscribeUser 購読対象ユーザー情報 購読ランキングにおける2ユーザー間の購読関係を表します。  rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 購読対象ユーザーID 購読対象のプレイヤーのユーザーIDです。このプレイヤーのスコアが購読者のパーソナライズされたランキングに含まれます。 EzGlobalRankingModel グローバルランキングモデル グローバルランキングは全てのプレイヤーを対象としたランキングを実現するためのモデルです。 上位1000位までのランキングを表示することができます。 GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。  globalRankingModelId string ※ ~ 1024文字 グローバルランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 rankingRewards List {entryPeriodEventId} != null ※ [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。各報酬は順位閾値と実行する入手アクションを定義します。 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、繰り返しサイクルごとにランキングがリセットされ、シーズン制ランキングを実現できます。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧と報酬の受け取りが可能な期間を定義する GS2-Schedule のイベントGRNです。通常、スコア登録期間の間のインターバルに設定します。 EzClusterRankingModel クラスターランキングモデル クラスターランキングはギルドやギャザリング内のプレイヤーを対象としたランキングを実現するためのモデルです。 上位1000位までのランキングを表示することができます。 GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。  clusterRankingModelId string ※ ~ 1024文字 クラスターランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 clusterType 文字列列挙型 enum {   “Raw”,   “Gs2Guild::Guild”,   “Gs2Matchmaking::SeasonGathering” }  クラスタータイプ ランキングのセグメンテーションに使用するグループ（クラスター）の種類を定義します。「Raw」は所属検証なしで任意のクラスター名を指定でき、「Gs2Guild::Guild」はGS2-Guildギルドへの所属を検証し、「Gs2Matchmaking::SeasonGathering」はGS2-Matchmakingシーズンギャザリングへの所属を検証します。 定義 説明 “Raw” 検証なし “Gs2Guild::Guild” GS2-Guild ギルド “Gs2Matchmaking::SeasonGathering” GS2-Matchmaking シーズンギャザリング rankingRewards List {entryPeriodEventId} != null ※ [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、シーズン制ランキングを実現できます。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧と報酬の受け取りが可能な期間を定義する GS2-Schedule のイベントGRNです。 EzSubscribeRankingModel 購読ランキングモデル 購読した他プレイヤーのスコアを集計し、ランキングを作成するモデルです。  subscribeRankingModelId string ※ ~ 1024文字 購読ランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、シーズン制ランキングを実現できます。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧が可能な期間を定義する GS2-Schedule のイベントGRNです。 EzRankingReward ランキング報酬 スコアの登録期間が設定されたランキングで、登録期間外で参照期間内の時に受け取れる報酬を設定します。 繰り返し設定が有効な場合、直近に期間を終えたランキングが報酬の受け取り対象となります。  thresholdRank int  1 ~ 1001 順位閾値 この報酬ティアの順位閾値です。順位（またはインデックス、rewardCalculationIndex の設定に依存）がこの閾値以上のプレイヤーがこの報酬を受け取ります。1001に設定すると、ランク外（上位1000位外）のプレイヤー向けの報酬を定義できます。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト プレイヤーがこのランキング報酬を受け取る際に実行される入手アクションのリストです。この順位閾値を達成した報酬として付与されるアイテム、通貨、その他のリソースを定義します。 EzAcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzConfig コンフィグ設定 トランザクションの変数に適用する設定値  key string  ~ 64文字 名前 value string ~ 51200文字 値 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド getGlobalRankingRank グローバルランキングでのプレイヤー自身の順位を取得する プレイヤー自身のランキングエントリを取得します。順位とスコアが含まれます。 リーダーボードでのプレイヤーの位置を表示するのに使います。たとえば、ランキング画面の上部で「あなたの順位: 第42位（15,000点）」と表示したり、「あなたは10,000人中42位です」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession Result 型 説明 item EzGlobalRankingData グローバルランキング 実装例 listGlobalRankings グローバルランキングのリーダーボードを取得する グローバルランキングのリーダーボードエントリを取得し、スコア順にランク付けされたプレイヤーを表示します。 各エントリには、プレイヤーのユーザーID、スコア、順位、添付されたメタデータが含まれます。 リーダーボードを表示するのに使います。たとえば、ランキング画面で「1位: Alice（25,000点）、2位: Bob（22,500点）、3位: Charlie（20,000点）」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List グローバルランキングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getGlobalRankingModel 名前を指定してグローバルランキング定義を取得する 名前を指定して、グローバルランキングモデルを1件取得します。 取得できる情報には、スコア範囲、ソート順、報酬設定、シーズン/エントリー期間の設定が含まれます。 特定のランキングのルールを表示するのに使います。たとえば、ランキング詳細画面で「ハイスコアランキング — 月次リセット、上位100名に報酬、スコアが高いほど上位」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzGlobalRankingModel グローバルランキングモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listGlobalRankingModels グローバルランキング定義の一覧を取得する このネームスペースに登録されているすべてのグローバルランキングモデルを取得します。 グローバルランキングは、ゲーム内の全プレイヤーが競い合うリーダーボードです。たとえば「世界ハイスコア」「アリーナレーティング」「総ダメージランキング」などです。 各モデルはランキングのルールを定義します: スコア範囲、ソート順（昇順または降順）、シーズンスケジュール、ランキング報酬。 どんなグローバルランキングがあるか確認するのに使います。たとえば「リーダーボード」メニューで「ハイスコアランキング」「スピードクリアランキング」「PvPレーティング」の選択肢を表示する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List グローバルランキングモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getGlobalRankingReceivedReward 特定のグローバルランキング報酬を受け取り済みか確認する 特定のグローバルランキングとシーズンの報酬受け取り記録を取得します。 プレイヤーが特定のランキングシーズンの報酬をすでに受け取ったか確認するのに使います。たとえば、未受取なら「報酬を受け取る」ボタンを表示し、受取済みなら「受取済み」と表示する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession Result 型 説明 item EzGlobalRankingReceivedReward グローバルランキング報酬受け取り履歴 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listGlobalRankingReceivedRewards プレイヤーのグローバルランキング報酬受け取り履歴の一覧を取得する グローバルランキングからプレイヤーが受け取ったランキング報酬の履歴を取得します。 各エントリには、どのランキングとシーズンの報酬を受け取ったかが表示され、どの報酬がすでに回収済みか確認できます。 報酬の受け取り状況を表示するのに使います。たとえば、ランキング報酬画面で「ハイスコアランキング シーズン1: 受取済、シーズン2: 受取済、シーズン3: 未受取」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List グローバルランキング報酬受け取り履歴のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 receiveGlobalRankingReward グローバルランキング報酬を受け取る 指定したグローバルランキングとシーズンでのプレイヤーの最終順位に基づいてランキング報酬を受け取ります。 報酬はプレイヤーの順位とランキングモデルの報酬設定によって決まります。たとえば、上位10名は特別アイテム、上位100名はジェムを受け取るといった設定が可能です。 報酬アイテムはプレイヤーに自動的に付与されます。 シーズン終了後にランキング結果画面でプレイヤーが「報酬を受け取る」をタップした時に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item EzGlobalRankingModel グローバルランキングモデル acquireActions List 報酬受け取り時に実行される入手アクションのリスト transactionId string 発行されたトランザクションID stampSheet string 交換処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例 getGlobalRankingScore 特定のグローバルランキングに登録したプレイヤーのスコアを取得する 特定のグローバルランキングとシーズンのプレイヤーのスコアを取得します。 特定のリーダーボードでプレイヤーの現在のスコアを表示するのに使います。たとえば、ランキング詳細画面で「あなたのスコア: 15,000点（シーズン3）」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession Result 型 説明 item EzGlobalRankingScore グローバルランキングスコア 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listGlobalRankingScores グローバルランキングに登録したプレイヤーのスコア一覧を取得する プレイヤーがグローバルランキングに登録したすべてのスコアを取得します。 各スコアエントリには、どのランキングに登録されたか、そのスコア値が表示されます。 プレイヤー自身のスコアを表示するのに使います。たとえば、プロフィール画面やランキング概要画面で「あなたのハイスコア: ステージクリア: 15,000点、アリーナ: 2,400点」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List グローバルランキングスコアのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 putGlobalRanking グローバルランキングにスコアを登録する 指定したグローバルランキングにプレイヤーのスコアを登録します。メタデータ（例: リプレイIDや使用キャラクター名）を添付することもできます。 プレイヤーがすでにスコアを登録している場合、ランキングのルールに基づいて更新されます（例: 最高スコアを保持、または常に最新を使用）。 プレイヤーがスコア対象のアクティビティを完了した後に使います。たとえば、ステージをクリアした後にクリアタイムやスコアを「ハイスコアランキング」に登録する場合です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession score long  0 ~ 9223372036854775805 スコア ユーザーが登録したスコア値です。ランキングモデルの minimumValue と maximumValue で定義された範囲内である必要があります。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item EzGlobalRankingScore 登録したグローバルランキングスコア 実装例 getClusterRankingRank クラスターランキングでのプレイヤー自身の順位を取得する 特定のクラスター（グループ）内でのプレイヤー自身のランキングエントリを取得します。順位とスコアが含まれます。 グループ内でのプレイヤーの位置を表示するのに使います。たとえば、ギルドランキング画面の上部で「あなたのギルド内順位: 第3位（8,500点）」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このシーズンが属するクラスター（ギルド、ギャザリング、またはグループ）の名前です。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession Result 型 説明 item EzClusterRankingData クラスターランキング 実装例 listClusterRankings クラスターランキングのリーダーボードを取得する 特定のクラスター（グループ）のリーダーボードエントリを取得し、そのグループ内でスコア順にランク付けされたプレイヤーを表示します。 各エントリには、プレイヤーのユーザーID、スコア、順位、添付されたメタデータが含まれます。 グループのリーダーボードを表示するのに使います。たとえば、ギルドランキング画面で「1位: Alice（8,500点）、2位: Bob（7,200点）、3位: Charlie（6,800点）」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このシーズンが属するクラスター（ギルド、ギャザリング、またはグループ）の名前です。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List クラスターランキングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getClusterRankingModel 名前を指定してクラスターランキング定義を取得する 名前を指定して、クラスターランキングモデルを1件取得します。 取得できる情報には、スコア範囲、ソート順、クラスタータイプ、報酬設定、シーズン/エントリー期間の設定が含まれます。 特定のクラスターランキングのルールを表示するのに使います。たとえば、ランキング詳細画面で「ギルドDPSランキング — 週次リセット、ギルド内で競争、上位10名に報酬」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzClusterRankingModel クラスターランキングモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listClusterRankingModels クラスターランキング定義の一覧を取得する このネームスペースに登録されているすべてのクラスターランキングモデルを取得します。 クラスターランキングは、特定のグループ（クラスター）内のリーダーボードです。たとえば、ギルド内ランキング、地域別ランキング、ゲームサーバー内ランキングなどです。 全プレイヤーが競い合うグローバルランキングと違い、クラスターランキングではグループ内で競い合います。ギルドイベントや地域対抗戦に便利です。 どんなクラスターランキングがあるか確認するのに使います。たとえば、ランキング画面で「ギルドDPSランキング」「地域スコアランキング」の選択肢を表示する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List クラスターランキングモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getClusterRankingReceivedReward 特定のクラスターランキング報酬を受け取り済みか確認する 特定のクラスターランキング、クラスター、シーズンの報酬受け取り記録を取得します。 プレイヤーがすでに報酬を受け取ったか確認するのに使います。たとえば、ギルドランキング結果画面で未受取なら「報酬を受け取る」ボタンを表示し、受取済みなら「受取済み」と表示する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession Result 型 説明 item EzClusterRankingReceivedReward クラスターランキング報酬受け取り履歴 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listClusterRankingReceivedRewards プレイヤーのクラスターランキング報酬受け取り履歴の一覧を取得する クラスターランキングからプレイヤーが受け取ったランキング報酬の履歴を取得します。 各エントリには、どのランキング、クラスター、シーズンの報酬を受け取ったかが表示されます。 グループランキングの報酬受け取り状況を表示するのに使います。たとえば、ギルドランキング報酬画面で「ギルドDPSランキング シーズン1: 受取済、シーズン2: 未受取」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List クラスターランキング報酬受け取り履歴のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 receiveClusterRankingReward クラスターランキング報酬を受け取る 指定したクラスターランキング、クラスター、シーズンでのプレイヤーの最終順位に基づいてランキング報酬を受け取ります。 報酬はグループ内でのプレイヤーの順位とランキングモデルの報酬設定によって決まります。たとえば、各ギルドの1位のプレイヤーが特別なギルドチャンピオンアイテムを受け取るといった設定が可能です。 報酬アイテムはプレイヤーに自動的に付与されます。 シーズン終了後にグループランキング結果画面でプレイヤーが「報酬を受け取る」をタップした時に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item EzClusterRankingModel クラスターランキングモデル acquireActions List 報酬受け取り時に実行される入手アクションのリスト transactionId string 発行されたトランザクションID stampSheet string 交換処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例 getClusterRankingScore 特定のクラスターランキングに登録したプレイヤーのスコアを取得する 特定のクラスターランキング、クラスター、シーズンのプレイヤーのスコアを取得します。 グループ内でのプレイヤーの現在のスコアを表示するのに使います。たとえば、ギルドランキング詳細画面で「Dragon Slayersギルドでのあなたのスコア: 8,500点（シーズン2）」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession Result 型 説明 item EzClusterRankingScore クラスターランキングスコア 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listClusterRankingScores クラスターランキングに登録したプレイヤーのスコア一覧を取得する 特定のクラスター（グループ）内の特定のクラスターランキングに登録したプレイヤーのスコアを取得します。 グループ内でのプレイヤー自身のスコアを表示するのに使います。たとえば、ギルドランキング画面で「あなたのギルドDPSスコア: 8,500点」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List クラスターランキングスコアのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 putClusterRanking クラスターランキングにスコアを登録する 特定のクラスター（グループ）内の指定したクラスターランキングにプレイヤーのスコアを登録します。メタデータを添付することもできます。 クラスター名はスコアがどのグループに属するかを識別します。たとえば、ギルドランキングの場合はギルド名です。 プレイヤーがグループ内のスコア対象アクティビティを完了した後に使います。たとえば、ギルドレイドボスをクリアした後にDPSスコアをプレイヤーのギルドの「ギルドDPSランキング」に登録する場合です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 gameSession GameSession  GameSession score long  0 ~ 9223372036854775805 スコア このクラスター内でユーザーが登録したスコア値です。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item EzClusterRankingScore 登録したクラスターランキングスコア 実装例 getSubscribe 特定のユーザーを購読ランキング用にフォローしているか確認する 特定の対象ユーザーの購読情報を取得します。 プレイヤーが特定のユーザーをすでにフォローしているか確認するのに使います。たとえば、他のプレイヤーのプロフィールで「フォロー中」「フォロー」ボタンを表示したり、フレンドリーダーボードにスコアを表示する前に購読を確認する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession targetUserId string  ~ 128文字 購読対象のユーザーID Result 型 説明 item EzSubscribeUser 購読対象ユーザー情報 実装例 listSubscribes 購読ランキング用にフォローしているユーザーの一覧を取得する 購読ランキングのためにプレイヤーが購読（フォロー）しているすべてのユーザーを取得します。 購読ランキングはフォローしたユーザーのスコアのみ表示されるため、この一覧がプレイヤーのフレンドリーダーボードに誰が表示されるかを決定します。 ランキング用の「フォロー中」リストを表示するのに使います。たとえば、フレンドランキング管理画面で「フォロー中: Alice、Bob、Charlie」と表示したり、プレイヤーが何人のフレンドを追跡しているか確認する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 購読対象ユーザー情報のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getSubscribeRankingRank 購読（フレンド）ランキングでのプレイヤー自身の順位を取得する フレンド間でのプレイヤー自身のランキングエントリを取得します。順位とスコアが含まれます。 フレンドリーダーボードでのプレイヤーの位置を表示するのに使います。たとえば、フレンドランキング画面の上部で「フレンド内順位: 第2位（10,500点）」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession Result 型 説明 item EzSubscribeRankingData 購読ランキング 実装例 listSubscribeRankings 購読（フレンド）ランキングのリーダーボードを取得する フレンドリーダーボードを取得します。プレイヤーが購読（フォロー）しているユーザーのスコアのみが表示されます。 各エントリには、ユーザーID、スコア、順位、添付されたメタデータが含まれます。 フレンドリーダーボードを表示するのに使います。たとえば、フレンドランキング画面で「1位: Alice（12,000点）、2位: あなた（10,500点）、3位: Bob（9,800点）」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 購読ランキングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getSubscribeRankingModel 名前を指定して購読ランキング定義を取得する 名前を指定して、購読ランキングモデルを1件取得します。 取得できる情報には、スコア範囲、ソート順、シーズン/エントリー期間の設定が含まれます。 特定の購読ランキングのルールを表示するのに使います。たとえば、ランキング詳細画面で「フレンドハイスコア — 週次リセット、スコアが高いほど上位」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzSubscribeRankingModel 購読ランキングモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listSubscribeRankingModels 購読ランキング定義の一覧を取得する このネームスペースに登録されているすべての購読ランキングモデルを取得します。 購読ランキングは、フレンド限定のリーダーボードです。プレイヤーは自分が購読（フォロー）したユーザーのスコアのみ表示されます。 フレンド同士の競争に最適です。たとえば「フレンドハイスコア」「フレンドウィークリーチャレンジ」のように、ゲーム全体ではなくフレンド間でのみ競い合うランキングです。 どんな購読ランキングがあるか確認するのに使います。たとえば、フレンドランキング画面で「フレンドハイスコア」「フレンドスピードクリア」の選択肢を表示する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 購読ランキングモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getSubscribeRankingScore 特定の購読ランキングに登録したプレイヤーのスコアを取得する 特定の購読（フレンド）ランキングとシーズンのプレイヤーのスコアを取得します。 特定のフレンドランキングでのプレイヤーの現在のスコアを表示するのに使います。たとえば、フレンドランキング詳細画面で「あなたのスコア: 12,000点（今週）」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン gameSession GameSession  GameSession Result 型 説明 item EzSubscribeRankingScore 購読ランキングスコア 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listSubscribeRankingScores 購読ランキングに登録したプレイヤーのスコア一覧を取得する プレイヤーが購読（フレンド）ランキングに登録したすべてのスコアを取得します。 フレンドランキングでのプレイヤー自身のスコアを表示するのに使います。たとえば、フレンドランキング概要画面で「あなたのフレンドハイスコア: 12,000点」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 購読ランキングスコアのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 putSubscribeRanking 購読ランキングにスコアを登録する 指定した購読（フレンド）ランキングにプレイヤーのスコアを登録します。メタデータを添付することもできます。 このスコアは、このプレイヤーを購読（フォロー）しているすべてのユーザーのフレンドリーダーボードに表示されます。 プレイヤーがスコア対象のアクティビティを完了した後に使います。たとえば、ステージをクリアした後にスコアを「フレンドハイスコア」ランキングに登録し、プレイヤーのフレンドが確認できるようにする場合です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession score long  0 ~ 9223372036854775805 スコア metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item EzSubscribeRankingScore 登録した購読ランキングスコア 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Ranking2 SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Ranking2 SDK for Game Engine API リファレンス","url":"/ja/api_reference/ranking2/game_engine/"},{"content":"モデル EzRoom ルーム マルチプレイヤー対戦でリアルタイム通信を処理するための専用ゲームサーバーインスタンスを表します。 ルーム作成は非同期で行われ、リクエスト後にシステムがサーバーをプロビジョニングし、インスタンスの準備ができるとIPアドレス、ポート、暗号鍵が割り当てられます。 クライアントは接続を試みる前に作成完了通知を待つか、ポーリングする必要があります。 暗号鍵はゲームクライアントとリレーサーバー間のセキュアな通信チャネルを確立するために使用されます。  name string  ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ipAddress string ~ 128文字 IPアドレス プロビジョニングされたゲームサーバーのIPアドレス。 ルームのサーバーインスタンスの準備ができた後、システムにより自動的に割り当てられます。ルーム作成直後には利用できません。最大128文字。 port int 0 ~ 65535 待受ポート プロビジョニングされたゲームサーバーの待受ポート番号。 サーバーインスタンスの準備ができた後、IPアドレスと共に自動的に割り当てられます。範囲: 0～65535。 encryptionKey string ~ 256文字 暗号鍵 ゲームクライアントとリレーサーバー間の通信を暗号化するためのキー。 サーバーインスタンスの準備ができた後、IPアドレスおよびポートと共に自動的に割り当てられます。 クライアントはリレーサーバーを介して送受信するメッセージの暗号化・復号化にこのキーを使用する必要があります。最大256文字。 メソッド now 現在のサーバー時刻を取得する GS2サーバーの現在時刻をUnixタイムスタンプ（ミリ秒）で返します。 ゲームクライアントの時計をサーバーと同期するために使います。たとえばカウントダウンタイマー、イベントの開始・終了時刻、クールダウン期間を正確に表示する際に便利です。 クライアント端末の時計は不正確だったり操作されたりする可能性があるため、サーバー時刻を使うことですべてのプレイヤーに一貫したタイミングを表示できます。 主な使い方: ゲーム起動時にクライアントとサーバーの時刻差を計算し、セッション中ずっとその差分を適用する 期間限定イベントやランキング期間の正確な「残り時間」を表示する タイミングに敏感なアクションをサーバーに送信する前にクライアント側で検証する Request  Result 型 説明 timestamp long 現在時刻 UNIX 時間・ミリ秒 実装例 getRoom リアルタイムゲームルームの接続情報を取得する リアルタイムゲームサーバールームに接続するために必要な情報を取得します。IPアドレス、ポート番号、暗号化キーが含まれます。 リアルタイムルームは、低遅延の通信が必要なマルチプレイヤーゲームプレイに使用されます。たとえばアクションゲーム、格闘ゲーム、協力ダンジョンなどです。 リアルタイムルームを使用する一般的な流れ: プレイヤーがルームの作成をリクエストする（別のAPIで行われ、非同期で処理されます） ルームの準備ができると、参加プレイヤーにプッシュ通知が届く 各プレイヤーが GetRoom を呼び出して接続情報（IPアドレス、ポート、暗号化キー）を取得する ゲームクライアントがこれらの情報を使ってルームサーバーに接続し、リアルタイム通信を開始する 暗号化キーはクライアントとゲームサーバー間の通信を保護するために使われます。各ルームに固有のキーが割り当てられます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzRoom ルーム情報 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 イベントハンドラ OnCreateNotification ルームの作成完了時に送信されるプッシュ通知 名前 型 説明 namespaceName string ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Realtime SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Realtime SDK for Game Engine API リファレンス","url":"/ja/api_reference/realtime/game_engine/"},{"content":"モデル EzTrigger トリガー 相対イベントスケジューリングの起点を定義し、プレイヤーごとのイベント期間を実現します。 プレイヤーに対してトリガーが発動されると、発動時刻（triggeredAt）と有効期限（expiresAt）が記録されます。 “relative” スケジュールタイプで設定されたイベントはトリガーを名前で参照し、そのプレイヤーのイベント期間はトリガーの発動時刻から有効期限まで続きます。 トリガーは更新可能（createdAt をリセットし expiresAt を更新）で、有効期限後は TTL により自動的にクリーンアップされます。  triggerId string ※ ~ 1024文字 トリガー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 expiresAt long  有効期限 このトリガーが期限切れとなり、相対イベント期間が終了するタイムスタンプ。 この時刻以降、トリガーは期限切れと見なされ（IsExpire が true を返す）、このプレイヤーに対する関連する相対イベントは無効になります。 トリガーデータは有効期限後に DynamoDB TTL により自動的にクリーンアップされます。UNIX 時間（ミリ秒）で表現されます。 EzEvent イベント イベントの期間は絶対期間と相対期間の2種類存在します。 絶対期間は 例えば YYYY年MM月DD日 00:00(UTC) ～ YYYY年MM月DD日 23:59(UTC) のような固定の期間で、 相対期間は トリガーを引いたタイミングから 24時間 のようなゲームプレイヤー毎に異なる期間をイベント期間とするものです。 イベントには開催期間だけでなく、繰り返しが設定できるようになっており イベント期間のうち、月曜日の 10:00 ～ 11:00 だけをイベント期間とするような設定も可能です。  name string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scheduleType 文字列列挙型 enum {   “absolute”,   “relative” }  スケジュールタイプ イベント期間の定義方法を決定します。 “absolute” は全プレイヤー共通の固定開始・終了タイムスタンプを使用します。 “relative” はプレイヤーごとのトリガーを起点として使用し、パーソナライズされたイベント期間を実現します（例: 各プレイヤーの初回ログインから24時間）。 定義 説明 “absolute” 固定期間 “relative” プレイヤー毎に異なる期間 absoluteBegin long 絶対開始日時 絶対スケジューリングにおけるイベント期間の固定開始時刻。 全プレイヤーが同じ開始時刻を共有します。絶対イベントで未設定の場合、イベントは過去から開始されているものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 absoluteEnd long 絶対終了日時 絶対スケジューリングにおけるイベント期間の固定終了時刻。 全プレイヤーが同じ終了時刻を共有します。絶対イベントで未設定の場合、イベントは終了しないものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 relativeTriggerName string {scheduleType} == “relative” ※ ~ 128文字 イベント開始トリガー名 ゲームプレイヤー毎にイベント期間を設定する ( relative ) 場合に、イベントの開始の起点とするトリガーの名前を指定します。 英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ※ scheduleType が “relative” であれば 必須 EzRepeatSchedule 繰り返しスケジュール状態 特定の時点におけるイベントの繰り返しサイクルの現在の状態を表します。 繰り返し回数（サイクルが発生した回数）、現在のアクティブウィンドウの開始・終了時刻、 前回完了したウィンドウの終了時刻、および次回のウィンドウの開始時刻を含みます。 この情報はイベントの繰り返し設定と現在時刻から動的に計算されます。  repeatCount int  0 ~ 2147483646 繰り返し回数 現在時刻までに完了した繰り返しサイクルの回数。 繰り返しウィンドウが終了するたびにインクリメントされます。シーズン制や定期イベントのサイクル進捗の追跡に使用できます。 currentRepeatStartAt long 現在のリピート開始日時 現在アクティブな繰り返しウィンドウの開始時刻。 イベントが現在アクティブな繰り返しウィンドウにない場合は null です。UNIX 時間（ミリ秒）で表現されます。 currentRepeatEndAt long 現在のリピート終了日時 現在アクティブな繰り返しウィンドウの終了時刻。 イベントが現在アクティブな繰り返しウィンドウにない場合は null です。UNIX 時間（ミリ秒）で表現されます。 lastRepeatEndAt long 前回のリピート終了日時 直近で完了した繰り返しウィンドウの終了時刻。 まだ繰り返しウィンドウが終了していない場合は null です。UNIX 時間（ミリ秒）で表現されます。 nextRepeatStartAt long 次回のリピート開始日時 次回の繰り返しウィンドウの開始時刻。 イベント期間内に次の繰り返しウィンドウがない場合は null です。UNIX 時間（ミリ秒）で表現されます。 メソッド getTrigger 特定のトリガーの状態を取得する 名前を指定して特定のトリガーを取得し、いつ有効化されたか、いつ期限切れになるかを確認できます。 特定のトリガーの状態を確認するのに使います。たとえば「first_login」トリガーがまだ有効か、期限切れまでの残り時間はどれくらいかを確認し、「初心者ボーナス終了まで残り3日12時間」のように関連イベントのカウントダウンを表示する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 triggerName string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 item EzTrigger トリガー 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listTriggers プレイヤーの有効なトリガー一覧を取得する プレイヤーに対して現在有効なすべてのトリガーを取得します。 トリガーは、相対スケジュールイベントを有効化するためのプレイヤー固有のタイマーです。トリガーが「引かれる」（有効化される）と、カウントダウンが始まり、そのトリガーに紐づいたイベントがプレイヤーに対して有効になります。 たとえば「first_login」トリガーが「7日間初心者ボーナス」イベントを有効化したり、「first_purchase」トリガーが「24時間サンキューセール」イベントを有効化したりします。 各トリガーには有効期限があり、期限が切れると、そのプレイヤーに対する関連イベントも終了します。 プレイヤーにどのトリガーが現在有効か確認するのに使います。たとえば、ステータス画面で「初心者ボーナス: 有効（残り5日で期限切れ）」と表示する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 items List トリガーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getEvent 特定のイベントのスケジュール状態を取得する 名前を指定して特定のイベントを、プレイヤーに対する現在のスケジュール状態とともに取得します。 レスポンスには、イベントが現在開催中か（inSchedule）、開始・終了時刻、該当する場合は繰り返しスケジュール情報が含まれます。 相対スケジュールイベントの場合、終了時刻はプレイヤーのトリガーに基づいて計算されるため、同じイベントでもプレイヤーによって終了時刻が異なる場合があります。 特定のイベントが開催中か確認し、残り時間を表示するのに使います。たとえば「サマーイベント: 残り3日」「初心者ボーナス: 残り12時間」のようにカウントダウンタイマーとともに表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 eventName string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 item EzEvent イベント inSchedule bool 現在イベント期間中か scheduleStartAt long イベント期間開始時刻 scheduleEndAt long イベント期間終了時刻 イベントの種類が absolute なら EventModel の absoluteEnd が格納されます。 イベントの種類が relative なら scheduleEndAt にはトリガーの有効期限または EventModel の absoluteEnd のどちらか終了が近い方が格納されます。 repeatSchedule EzRepeatSchedule 繰り返し情報 isGlobalSchedule bool イベントがグローバルスケジュールか 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listEvents プレイヤーの現在開催中のイベント一覧を取得する このプレイヤーに対して現在開催中のすべてのイベントを取得します。 イベントには2種類あります: 絶対スケジュールイベント: 全プレイヤー共通の固定日時イベント（例: 「クリスマスイベント: 12月24日〜25日」「サマーセール: 7月1日〜31日」） 相対スケジュールイベント: トリガーが有効化された時点からプレイヤーごとに開始するイベント（例: 初回ログインから始まる「7日間初心者ボーナス」、レベル10到達から始まる「24時間限定フラッシュセール」） 現在開催期間中のイベントのみが返されます。 今どんなイベントが開催中かプレイヤーに表示するのに使います。たとえば、ホーム画面にイベントバナーを表示したり、イベント専用UIを有効にする場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession Result 型 説明 items List イベントのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Schedule SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Schedule SDK for Game Engine API リファレンス","url":"/ja/api_reference/schedule/game_engine/"},{"content":"モデル EzBallot 投票用紙 特定のマッチセッションに対して各プレイヤーに発行される投票チケットです。 対戦コンテキスト（シーズン、セッション、参加人数）とプレイヤーのユーザーIDを含みます。 投票用紙はサーバーによって署名されプレイヤーに返却され、プレイヤーはゲーム結果を記入して WrittenBallot として再提出します。 投票集計時、全参加者の投票用紙が多数決で比較され、結果の改ざんを防止します。  userId string  ~ 128文字 ユーザーID seasonName string  ~ 128文字 シーズン名 この対戦のレーティング計算に使用するシーズンモデルの名前。 この対戦に適用されるティアー構造とポイント変動ルールを定義する SeasonModel を参照します。 sessionName string  ~ 128文字 セッション名 この投票用紙が属するマッチセッションの名前。 同一セッション内の全投票用紙は投票プロセスにおいて集約されます。 numberOfPlayer int  2 ~ 10 参加人数 この対戦の総参加者数。 投票の完了判定に使用されます。結果確定には全投票用紙の収集（または多数決の成立）が必要です。 有効範囲: 2〜10。 EzSeasonModel シーズンモデル シーズン期間中に適用されるティアー構造とポイント変動ルールを定義するマスターデータです。 各ティアーごとのポイント変動範囲・参加料・ランクアップボーナスを設定し、ポイント管理に使用する Experience モデルを指定します。 実際のポイントおよびティアーのユーザーデータは GS2-Experience によって管理されます。  seasonModelId string ※ ~ 1024文字 シーズンモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 tiers List  1 ~ 100 items ティアーモデルのリスト シーズンのランキングラダーを構成するティアー定義の順序付きリスト。 各ティアーは独自のポイント変動ルール（参加料、最小/最大変動量、昇格ボーナス）を定義します。 プレイヤーは GS2-Experience で管理される累積ポイントに基づいてティアーを進行します。 最小1ティアー、最大100ティアー。 experienceModelId string  ~ 1024文字 経験値モデルID シーズンポイントとティアー進行の管理に使用する GS2-Experience 経験値モデルの GRN。 経験値モデルのランク閾値がティアー境界を決定し、経験値がプレイヤーの現在のシーズンポイントを表します。 対戦結果によるポイント変動はこの経験値モデルに適用されます。 EzTierModel ティアーモデル ティアーモデルは、シーズン内の各ティアーにおけるポイント変動ルールを定義するモデルです。 順位に応じたポイント変動範囲、参加料、昇格時ボーナスを設定します。 ポイントの実データは GS2-Experience によって管理されますが、その増減ロジックは TierModel の設定に基づいて決定されます。  metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 raiseRankBonus int  0 ~ 10000 ランク昇格ボーナス プレイヤーがこのティアーに昇格した際に加算されるボーナスポイントで、即座の降格を防ぐバッファとして機能します。 例えば 100 に設定すると、昇格閾値より100ポイント多い状態で新ティアーを開始します。 有効範囲: 0〜10000。 minimumChangePoint int  -99999999 ~ -1 最小変動ポイント 1回の対戦結果で発生しうる最小（最も負の）ポイント変動量で、通常は最悪の敗北時の値を表します。 負の値である必要があります。敗北プレイヤーの実際のポイント変動はこの値と0の間になります。 有効範囲: -99999999〜-1。 maximumChangePoint int  1 ~ 99999999 最大変動ポイント 1回の対戦結果で発生しうる最大（最も正の）ポイント変動量で、通常は最高の勝利時の値を表します。 正の値である必要があります。勝利プレイヤーの実際のポイント変動は0とこの値の間になります。 有効範囲: 1〜99999999。 EzGameResult 対戦結果 対戦における1人のプレイヤーの結果を表すモデルです。 プレイヤーのユーザーIDと順位を保持します。WrittenBallot 内で全参加者の結果を報告するために使用されます。 投票集計時、全投票用紙のゲーム結果が多数決で比較され、公式な結果が決定されます。  rank int  0 ~ 2147483646 順位 対戦におけるこのプレイヤーの最終順位。 1 は1位（勝者）を表します。順位の値は TierModel の設定に基づいてポイント変動量を決定するために使用されます。 userId string  ~ 128文字 ユーザーID EzSignedBallot 署名付き投票用紙 GS2-Key を使用してサーバーが暗号署名した投票用紙です。 署名により、投票用紙の内容（シーズン、セッション、プレイヤー、参加人数）が改ざんされていないことが保証されます。 投票提出時、サーバー側で署名付き投票用紙が検証された後にゲーム結果が受理されます。  body string  ~ 1024文字 署名対象データ 署名対象となる投票用紙データのシリアライズされたJSON表現。 投票用紙の内容（ユーザーID、シーズン名、セッション名、参加人数）を署名と照合可能な形式で含みます。 最大1024文字。 signature string  ~ 256文字 署名 投票用紙の本文に対して GS2-Key が生成した暗号署名。 投票用紙がサーバーによって発行され、クライアントによって改変されていないことを検証するために使用されます。 Base64エンコード、最大256文字。 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド getSeasonModel 特定のシーズンレーティング定義の詳細を取得する シーズン名を指定して、ティア設定やルールを含む詳細を取得します。 レスポンスには以下が含まれます: ティア定義: レーティングティアの一覧（例: ブロンズ 0ポイント、シルバー 1000ポイント、ゴールド 2500ポイント）とランクアップ時に付与されるボーナスポイント 経験値モデル参照: レーティング値の保存・管理に使用される GS2-Experience モデル 挑戦期間イベント: GS2-Schedule のイベントと連携している場合、競技シーズンが有効でレーティング対戦に参加できる期間 ランク戦画面でシーズンの詳細を表示する際に使います。たとえばプレイヤーの現在のティア、次のティアまでに必要なポイント、シーズンが現在アクティブかどうかを表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzSeasonModel シーズンモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listSeasonModels シーズンレーティング定義の一覧を取得する ネームスペースに定義されているすべてのシーズンモデルを取得します。 各シーズンモデルは独立した競技レーティングシステムを表します。たとえば「ランクバトル シーズン1」「アリーナレーティング」「トーナメントレーティング」などです。 シーズンレーティングは、プレイヤーが対戦を行い、勝敗に応じてレーティングが上下するシステムです。 レーティングは GS2-Experience を使って保存されるため、レーティング値は経験値のように扱われます。増減し、ランクアップ（例: ブロンズ → シルバー → ゴールド）をトリガーできます。 各シーズンモデルには以下が定義されています: レーティングティア（例: ブロンズ、シルバー、ゴールド、プラチナ）と昇格の閾値 レーティング値を保存する GS2-Experience モデル オプションで、競技シーズンが有効な期間を制御する GS2-Schedule イベント（挑戦期間） ゲームのランク戦画面で、利用可能な競技モードの一覧を表示する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List シーズンモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 createVote 対戦結果報告用の署名付き投票用紙を作成する 対戦の結果を報告するために使う署名付き投票用紙を生成します。 これは対戦結果報告フローの最初のステップです。対戦に参加した各プレイヤーが自分の投票用紙を作成する必要があります。 対戦結果を報告する一連の流れ: 対戦が終了し、各プレイヤーのゲームクライアントが CreateVote を呼び出して署名付き投票用紙を取得する 各プレイヤーが投票用紙と対戦結果を Vote で送信する（個別投票） — または勝利側がすべての投票用紙を集めて VoteMultiple でまとめて送信する（即時結果反映） システムが投票用紙を検証し、多数決で結果を決定し、各プレイヤーのレーティングを更新する パラメータ: seasonName: この対戦がどのシーズンレーティングシステムに属するか（例: “ranked-battle-season-1”） sessionName: この特定の対戦を識別する一意のID（同じ対戦の全プレイヤーで共通） numberOfPlayer: 対戦に参加したプレイヤー数（2〜10人） keyId: 投票用紙の署名に使う暗号化キー（改ざん防止） 返される投票用紙にはボディ（データ）とシグネチャ（改ざんされていない証明）が含まれます。投票時には両方が必要です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 sessionName string  UUID ~ 128文字 セッション名 セッション固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession numberOfPlayer int  2 ~ 10 参加人数 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzBallot 投票用紙 body string 署名対象のデータ signature string 署名データ 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 vote 自分の投票用紙を送信して対戦結果を投票する（個別投票） 各プレイヤーが自分の署名付き投票用紙と対戦結果（誰が勝って誰が負けたか）を送信します。 対戦結果を報告する2つの方法のうちの1つで、各プレイヤーが独立して投票するシンプルなアプローチです。 個別投票の仕組み: 対戦終了後、各プレイヤーが CreateVote で署名付き投票用紙を取得し、Vote で送信する システムは最初の投票から最大5分間、全プレイヤーの投票を待つ 全プレイヤーが投票するか5分が経過すると、多数決で結果を決定する 投票が同数の場合（例: 2人が「プレイヤーAの勝ち」、2人が「プレイヤーBの勝ち」）、結果はデフォルトで破棄される（スクリプトで変更可能） 決定された結果に基づいて、各プレイヤーのレーティングポイントが調整される この方法は実装が簡単ですが遅延があります。全員が投票するか5分の待機時間が過ぎるまで結果が反映されません。 即時に結果を反映したい場合は、勝利側がすべての投票用紙を集めてまとめて送信する VoteMultiple を使ってください。 パラメータ: ballotBody / ballotSignature: CreateVote で取得した署名付き投票用紙 gameResults: 対戦結果 — 参加プレイヤーと順位のリスト（1位 = 勝者、2位 = 敗者など） keyId: 投票用紙の署名を検証するための暗号化キー Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ballotBody string  ~ 1024文字 投票用紙の署名対象のデータ ballotSignature string  ~ 256文字 投票用紙の署名 gameResults List 0 ~ 10 items 対戦結果 対戦を行ったプレイヤーグループに所属するユーザーIDのリスト keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzBallot 投票用紙 実装例 voteMultiple 全員の投票用紙を集めて対戦結果をまとめて送信する（即時結果反映） 勝利側の代表プレイヤーが全参加者の署名付き投票用紙を集め、対戦結果と一緒にまとめて送信します。 この方法では結果が即座に反映されます。5分間の投票待機時間はありません。 なぜ勝利側が投票用紙を集めるべきか: 敗北側には「自分たちが勝った」と嘘をつくインセンティブがあるが、勝利側には勝ったことについて嘘をつく理由がない 一部の敗北プレイヤーが投票用紙を渡さなくても、過半数の投票用紙が集まれば結果を確定できる たとえば2対2の対戦で、4人中3人が「チームAの勝ち」という投票用紙を提出すれば、過半数として十分 一般的な実装方法: 対戦が終了し、各プレイヤーが CreateVote で署名付き投票用紙を取得する 各プレイヤーがゲームの通信経路（リアルタイムサーバー、P2Pなど）を通じて、勝利側の代表プレイヤーに投票用紙（ボディ + シグネチャ）を送る 代表プレイヤーが集めた全投票用紙と対戦結果を VoteMultiple で送信する システムが即座に投票用紙を検証し、結果を決定し、全プレイヤーのレーティングを更新する パラメータ: signedBallots: 集めた署名付き投票用紙のリスト（各プレイヤーからのボディ + シグネチャのペア） gameResults: 対戦結果 — 参加プレイヤーと順位のリスト keyId: 投票用紙の署名を検証するための暗号化キー Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 signedBallots List 0 ~ 10 items 署名付の投票用紙リスト gameResults List 0 ~ 10 items 投票内容。対戦を行ったプレイヤーグループ1に所属するユーザーIDのリスト keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item EzBallot 投票用紙 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-SeasonRating SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-SeasonRating SDK for Game Engine API リファレンス","url":"/ja/api_reference/season_rating/game_engine/"},{"content":"モデル EzSerialKey シリアルコード 発行されたシリアルコードは1度のみ使用可能です。 シリアルコードは「RPCLP-FP7N-NCDMJ-FLVA-IRI4」のような形式で発行され、データ長を変更することはできません。 シリアルコード内にはキャンペーンの種類の情報も含まれており、シリアルコードを使用する際にはネームスペースを指定するだけで使用できます。  campaignModelName string  ~ 128文字 キャンペーン名 このシリアルコードが属するキャンペーンモデルの名前です。キャンペーン情報はシリアルコード自体に埋め込まれているため、コード使用時にはネームスペースを指定するだけで利用できます。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 code string  ~ 48文字 シリアルコード 「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。 status 文字列列挙型 enum {   “ACTIVE”,   “USED”,   “INACTIVE” } “ACTIVE” ステータス このシリアルコードの現在の使用状態です。ユーザーが消費すると ACTIVE から USED に遷移します。二重使用を防ぐため楽観的ロックで保護されています。INACTIVE のコードは使用できません。 定義 説明 “ACTIVE” 利用可能 “USED” 使用済み “INACTIVE” 無効（利用不可） EzCampaignModel キャンペーンモデル キャンペーンモデルはキャンペーンを定義し、シリアルコードと紐づけて管理するために使用されます。  name string  ~ 128文字 キャンペーンモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 enableCampaignCode bool false キャンペーンコードによる引き換えを許可するか 有効にすると、個別のシリアルコードではなく共通のキャンペーンコード（キャンペーン名）を使って報酬を引き換えられるようになります。これにより、1つのコードを複数のユーザーが使用できます。 メソッド getCampaignModel 特定のシリアルコードキャンペーンの詳細を取得する キャンペーン名を指定して、設定を含む詳細を取得します。 キャンペーンモデルは、同じ目的と設定を共有するシリアルコードのグループを定義します。 たとえば「リリース記念コード」「雑誌プロモーションコード」「イベント配布コード」などを別々のキャンペーンとして管理できます。 レスポンスには以下が含まれます: キャンペーン名とメタデータ キャンペーンが現在有効でコードの引き換えを受け付けているかどうか コード入力画面を表示する前にキャンペーンの詳細を確認する際に使います。たとえばプレイヤーにシリアルコードを入力させる前に、キャンペーンが有効かどうかを確認できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 campaignModelName string  ~ 128文字 キャンペーンモデル名 Result 型 説明 item EzCampaignModel キャンペーンモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 get シリアルコードの状態を確認する 特定のシリアルコードの詳細を取得します。使用済みかどうか、どのキャンペーンに属しているかなどの情報が含まれます。 コードの引き換え前後に状態を確認する際に使います。たとえば: プレイヤーが既に使用されたコードを入力した場合に「このコードは既に使用されています」と表示する プレイヤーが引き換えを確定する前にキャンペーン情報（コードで得られる報酬）を表示する カスタマーサポート目的でコードを調べる コードは「XXXXX-XXXX-XXXXX-XXXX-XXXXX」のような形式です。 レスポンスにはシリアルコードの詳細と、関連するキャンペーンモデルが含まれます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 code string  ~ 48文字 シリアルコード 「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。 Result 型 説明 item EzSerialKey シリアルコード campaignModel EzCampaignModel キャンペーンモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 useSerialCode シリアルコードを引き換える シリアルコードを使用（消費）し、現在のプレイヤーによって引き換え済みとしてマークします。 一度使用されたコードは、誰も再使用できません。 ゲーム内の「シリアルコード入力」機能で使うメインAPIです。一般的な流れ: プレイヤーがゲーム内の「コード引き換え」画面を開く プレイヤーがシリアルコードを入力する（プロモーションカード、メール、Webサイトなどから入手したもの） ゲームが入力されたコードで UseSerialCode を呼び出す 成功した場合、コードが使用済みとなる — 報酬配布システムと組み合わせてプレイヤーに報酬を付与する コードが既に使用済みの場合、「使用済み」エラーが返される コードが存在しない場合、「コードが見つかりません」エラーが返される 主な使い方: グッズや雑誌に同梱されるプロモーションコード イベントやSNSで配布されるギフトコード 事前登録特典コード コラボレーションキャンペーンコード Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession code string  ~ 48文字 シリアルコード 「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。 Result 型 説明 item EzSerialKey シリアルコード campaignModel EzCampaignModel キャンペーンモデル Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 AlreadyUsedException BadRequestException 指定されたシリアルコードはすでに使用されています CodeNotFoundException NotFoundException 指定されたシリアルコードは存在しません 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-SerialKey SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-SerialKey SDK for Game Engine API リファレンス","url":"/ja/api_reference/serial_key/game_engine/"},{"content":"モデル EzShowcase 陳列棚 陳列棚 には陳列する商品を定義できます。 また、 陳列棚 の商品の販売期間を設定することができます。  name string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 displayItems List [] 1 ~ 1000 items 陳列する商品リスト この陳列棚に陳列される商品のリストです。各陳列商品は単一の商品または商品グループのいずれかです。販売期間イベントが終了または無効な商品は、陳列棚の取得時に自動的にフィルタリングされます。 salesPeriodEventId string ~ 1024文字 陳列棚の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN この陳列棚全体の販売期間を制御します。指定した場合、関連する GS2-Schedule のイベント期間中のみ陳列棚が利用可能になります。イベントが有効でない場合、陳列棚は空で返されます。 EzDisplayItem 陳列する商品 陳列棚に表示される商品です。単一の商品または商品グループのいずれかを参照できます。各陳列商品には、陳列棚全体の販売期間とは独立して GS2-Schedule イベントによる個別の販売期間を設定できます。  displayItemId string  UUID ~ 128文字 陳列商品ID 陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 type 文字列列挙型 enum {   “salesItem”,   “salesItemGroup” }  種類 表示する商品の種類です。「salesItem」は固定の対価と報酬を持つ単一商品です。「salesItemGroup」は複数の商品を順番に評価する商品グループで、ステップアップ価格や初回限定割引などに使用されます。 定義 説明 “salesItem” 商品 “salesItemGroup” 商品グループ salesItem EzSalesItem {type} == “salesItem” ※ 商品 ※ type が “salesItem” であれば 必須 salesItemGroup EzSalesItemGroup {type} == “salesItemGroup” ※ 商品グループ ※ type が “salesItemGroup” であれば 必須 EzRandomDisplayItem ランダム陳列棚に陳列された商品 特定のユーザーに対してランダム陳列棚で抽選・表示された商品を表します。現在のローテーション期間における商品の対価、報酬、および購入回数の追跡情報を含みます。  name string  UUID ~ 128文字 ランダム陳列商品名 ランダム陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト consumeActions List [] 0 ~ 10 items 消費アクションリスト acquireActions List [] 1 ~ 100 items 入手アクションリスト currentPurchaseCount int  1 ~ 2147483646 現在の購入回数 現在のローテーション期間中にこの商品が購入された回数です。購入のたびに加算され、ローテーション期間が終了するとリセットされます。 maximumPurchaseCount int  1 ~ 2147483646 最大購入回数 現在のローテーション期間中にこの商品を購入できる最大回数です。currentPurchaseCount がこの値に達すると、次のローテーションまで購入できなくなります。 EzSalesItem 商品 商品を購入するために必要となる対価と、商品を購入したときに得られる報酬を設定します。  name string  ~ 128文字 商品名 商品固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト 購入前に実行される前提条件チェックです。すべての検証アクションが成功した後に消費・入手アクションが処理されます。購入資格の条件チェックに使用できます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト 購入対価としてリソースを消費するアクションです。商品グループの購入回数制御のために GS2-Limit の CountUp アクションを含めることができます。 acquireActions List [] 1 ~ 100 items 入手アクションリスト 購入報酬としてリソースを付与するアクションです。すべての消費アクションが正常に完了した後に実行されます。 EzSalesItemGroup 商品グループ 商品グループは陳列棚に陳列するためのエンティティです。 商品グループには複数の商品を所属させることができ、所属している商品の先頭から順番に購入可能かを判定し、一番最初に購入可能だと判定された商品が実際に陳列されます。 初回のみ割引する商品や、ステップアップガチャのように購入回数によって商品の内容が変化する仕組みに使用できます。  name string  ~ 128文字 商品グループ名 商品グループ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 salesItems List [] 2 ~ 10 items 商品グループに含める商品 このグループ内の商品の順序付きリストです。GS2-Limit カウンターを使って先頭から順に購入可能かを判定し、最初に購入可能と判定された商品が表示されます。いずれも該当しない場合、リストの最後の商品がフォールバックとして使用されます。 EzConfig コンフィグ設定 トランザクションの変数に適用する設定値  key string  ~ 64文字 名前 トランザクションテンプレートで置換される変数名です。入手アクションパラメータ内のプレースホルダーに対応します。 value string ~ 51200文字 値 トランザクションテンプレート内の対応する変数名に置換される値です。 EzConsumeAction 消費アクション  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzVerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzAcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド buy 陳列棚の商品を購入する 陳列棚から特定の商品を購入します。 プレイヤーが商品を購入すると、システムが購入フロー全体を自動的に処理します。条件のチェック（例: プレイヤーレベル）、コストの消費（例: ジェム100個）、報酬の付与（例: レア剣）がすべて自動で行われます。 これらはすべて1つのトランザクションで処理されるため、支払いだけ行われてアイテムが届かないという状況は発生しません。 プレイヤーがショップの商品の「購入」ボタンをタップした時に使います。たとえば「スターターパック」をジェム500個で購入し、スタミナポーション10個とゴールドチェスト1個を受け取るといった処理に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession displayItemId string  UUID ~ 128文字 陳列商品ID 陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 quantity int 1 1 ~ 1000 購入数量 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item EzSalesItem 商品 transactionId string 発行されたトランザクションID stampSheet string 購入処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例 getShowcase ショップの陳列棚と商品を取得する 特定の陳列棚（ショップページ）と、その陳列棚に表示されている商品の一覧を取得します。 陳列棚はゲーム内のショップ画面のようなものです。たとえば「ジェムショップ」「デイリーセール」「スペシャルオファー」などのページに相当します。 各陳列棚には商品が並んでおり、各商品にはプレイヤーが支払うもの（コスト）と受け取るもの（報酬）が定義されています。 陳列棚はスケジュールイベントに紐づけて特定の期間だけ表示させることもできます。たとえば、クリスマス期間だけ表示される「ホリデーショップ」のような使い方が可能です。 ショップUIの構築に使います。たとえば、プレイヤーがショップ画面を開いた時に、商品一覧を価格と「購入」ボタンとともに表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession showcaseName string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzShowcase 陳列棚 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getRandomShowcaseDisplayItem ランダム陳列棚の特定の商品を取得する ランダム陳列棚に現在表示されている特定の商品の詳細を取得します。 プレイヤーがランダムショップの特定商品をタップした時に詳細表示するのに使います。たとえば、詳細ポップアップでアイテムの説明、価格、「購入」ボタンを表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession showcaseName string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 displayItemName string  UUID ~ 128文字 ランダム陳列商品名 ランダム陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 Result 型 説明 item EzRandomDisplayItem 商品 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listRandomShowcaseDisplayItems ランダム陳列棚に現在表示されている商品一覧を取得する プレイヤーに対してランダム陳列棚に現在表示されている商品を取得します。 ランダム陳列棚は、商品プールからランダムに選ばれた商品が表示されるショップです。「デイリーセール」や「ミステリーショップ」のように、プレイヤーごとに異なる商品が表示されたり、定期的にラインナップが更新されたりします。 たとえば、50種類の商品プールから毎日5つがランダムに選ばれ、深夜0時にリフレッシュされるといった仕組みです。 表示される商品はプレイヤーごとに異なり、同じタイミングでも別のプレイヤーには別の商品が表示される場合があります。 ランダムショップのUI構築に使います。たとえば「本日のセール」として5つのランダム商品と、次のリフレッシュまでのカウントダウンタイマーを表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession showcaseName string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List ランダム陳列棚の商品リスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 randomShowcaseBuy ランダム陳列棚の商品を購入する ランダム陳列棚から特定の商品を購入します。 通常の陳列棚での購入と同様に、条件チェック、コストの消費、報酬の付与がすべて1つのトランザクションで自動的に処理されます。 ランダム陳列棚から商品を購入すると、設定によってはその商品が売り切れになり、次のリフレッシュまで新しい商品は表示されません。 プレイヤーがランダムショップの商品の「購入」ボタンをタップした時に使います。たとえば、デイリーセールでリフレッシュ前に割引された「レジェンダリー武器ボックス」を購入するといった処理に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession displayItemName string  UUID ~ 128文字 ランダム陳列商品名 ランダム陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 quantity int 1 1 ~ 1000 購入数量 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item EzRandomDisplayItem 購入した商品 transactionId string 発行されたトランザクションID stampSheet string 購入処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Showcase SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Showcase SDK for Game Engine API リファレンス","url":"/ja/api_reference/showcase/game_engine/"},{"content":"モデル EzStatus スキルツリーの解放状況 特定のプレイヤーとプロパティに対するスキルツリーの解放状態を追跡するモデルです。 解放済み（アンロック済み）のノード名のリストを管理します。ノードは解放（リストに追加）、拘束（リストから削除）、リセット（全クリア）が可能です。 既に解放済みのノードを解放しようとしたり、未解放のノードを拘束しようとするとエラーになります。 ユーザーが初めてアクセスした際に自動作成されます。  statusId string ※ ~ 1024文字 ステータス GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID releasedNodeNames List [] 0 ~ 1000 items 解放済みノードモデル名リスト このスキルツリーでプレイヤーがアンロックしたノードモデル名のリスト。 解放（追加）、拘束（削除）、リセット（全クリア）操作により更新されます。 最大1000エントリ。 EzNodeModel ノードモデル スキルツリー内のノードを定義するモデルで、解放コスト・前提条件・返却動作を含みます。 各ノードには検証アクション（解放前の条件チェック）、消費アクション（支払うコスト）、先に解放が必要な前提ノードを設定できます。 ノードを拘束（未解放状態に戻す）すると、消費したリソースが返却率に基づいて部分的に返却されます。 返却入手アクションは消費アクションに返却率を乗じて自動的に計算されます。  name string  ~ 128文字 ノードモデル名 ノードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 releaseVerifyActions List [] 0 ~ 10 items 解放検証アクションリスト このノードを解放する前に実行され、条件が満たされているかを確認する検証アクションのリスト。 例えば、プレイヤーが特定のレベルに達しているか、特定のアイテムを所持しているかを検証できます。 いずれかの検証アクションが失敗すると、ノード解放は拒否されます。最大10アクション。 releaseConsumeActions List [] 1 ~ 10 items 解放消費アクションリスト このノードを解放する際に実行される消費アクションのリストで、解放コストを表します。 これらのアクションは返却入手アクションの計算にも使用されます。ノードを拘束する際、各消費アクションが返却率に基づいて逆転されます。 最低1つの消費アクションが必要です。最大10アクション。 returnAcquireActions List 0 ~ 10 items 返却入手アクションリスト このノードを拘束（取り消し）する際に実行される入手アクションのリストで、プレイヤーに返却されるリソースを表します。 このフィールドは解放消費アクションに返却率を乗じて自動生成されます。 例えば、解放コストが100ゴールドで返却率が0.8の場合、拘束時に80ゴールドが返却されます。 最大10アクション。 restrainReturnRate float 1.0 0.0 ~ 1.0 返却率 このノードを拘束（未解放状態に戻す）した際に消費リソースが返却される割合。 1.0 は全額返却、0.5 は半額返却、0.0 は返却なしを意味します。 デフォルトは 1.0（全額返却）。有効範囲: 0.0〜1.0。 EzConfig コンフィグ設定 トランザクションの変数に適用する設定値  key string  ~ 64文字 名前 value string ~ 51200文字 値 EzAcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzConsumeAction 消費アクション  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzVerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド getNodeModel 特定のスキルツリーノードの詳細を取得する ノード名を指定して、前提条件、解放コスト、返還設定を含む詳細を取得します。 プレイヤーがスキルツリーでノードをタップした際に詳細情報を表示する場合に使います。たとえば: 「パワーストライク」— 必要: 通常攻撃（解放済み）。コスト: スキルポイント3。効果: 攻撃力+50% ノードの拘束返還率が80%なら、このノードを戻す際にコストの80%が返還される レスポンスには以下が含まれます: 前提ノード名: 先に解放が必要なノードのリスト 解放時の消費アクション: 解放に必要なコスト（例: スキルポイント3消費） 解放時の検証アクション: 解放を許可する前にチェックされる条件（例: プレイヤーレベル \u003e= 10） 拘束返還率: ノードを戻す際に返還されるリソースの割合（0.0〜1.0） Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 nodeModelName string  ~ 128文字 ノードモデル名 ノードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzNodeModel ノードモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listNodeModels スキルツリーの全ノードの一覧を取得する スキルツリーのすべてのノード定義を取得します。 各ノードはプレイヤーがリソースを消費して解放（アンロック）できるスキル、能力、または強化を表します。 スキルツリーは分岐構造で、ノードには前提条件があります。後のノードを解放するには先のノードを解放済みにしておく必要があります。 たとえば「通常攻撃」→「パワーストライク」→「クリティカルスラッシュ」のように、各ノードの解放には前のノードが必要です。 各ノード定義には以下が含まれます: 前提ノード: このノードを解放する前に解放済みである必要がある他のノード 解放コスト: ノードを解放するためにプレイヤーが消費するリソース（例: スキルポイント、ゴールド、素材） 解放条件: 追加で満たす必要がある要件（例: 最低レベル） 拘束返還率: プレイヤーが後でこのノードを戻す（ロックする）際に返還されるリソースの割合 スキルツリーUIを構築する際に使います。全ノードを描画し、前提条件に基づいて接続し、どのノードが解放可能かを表示できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List ノードモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 getStatus プレイヤーのスキルツリーの進行状況を取得する 指定されたプロパティIDのスキルツリーで、プレイヤーがどのノードを解放（アンロック）済みかを取得します。 propertyId はどのスキルツリーのインスタンスを参照するかを特定します。ゲームがキャラクターごとに1つのスキルツリーを持つ場合、propertyId にはキャラクターIDを使えます。 たとえば戦士キャラクターと魔法使いキャラクターはそれぞれ異なる propertyId で別々のスキルツリー進行状況が管理されます。 スキルツリー画面を描画する際に使います。ListNodeModels でツリー全体の構造を取得し、プレイヤーの解放状態を重ねて表示します: 解放済みノード（アンロック済み、ハイライト表示） 解放可能ノード（前提条件を満たしている、次に解放できる） ロック中ノード（前提条件を満たしていない、グレーアウト表示） Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 Result 型 説明 item EzStatus ステータス 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 release スキルツリーのノードを解放する スキルツリーの1つまたは複数のノードを解放（アンロック）します。プレイヤーが必要なリソースを消費し、ノードが有効になります。 スキルツリーUIの「スキル習得」「アンロック」ボタンに対応します。プレイヤーが解放したいノードをタップすると: すべての前提ノードが既に解放済みかチェックされる 解放条件（検証アクション）がチェックされる（例: プレイヤーの最低レベル） 解放コスト（消費アクション）が差し引かれる（例: スキルポイント3消費） ノードが解放済みとしてマークされる 複数のノード名を渡すことで一度に複数のノードを解放できます。各ノードの前提条件とコストがそれぞれ検証されます。 前提条件が満たされていない場合や、プレイヤーのリソースが不足している場合は解放が失敗し、リソースは消費されません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession nodeModelNames List  1 ~ 1000 items ノードモデル名のリスト propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 Result 型 説明 item EzStatus ステータス transactionId string 発行されたトランザクションID stampSheet string 解放処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例 reset スキルツリー全体をリセットする（フルリスペック） スキルツリーのすべての解放済みノードを一括で未解放状態に戻します。各ノードの拘束返還率に基づいてリソースが返還されます。 「全スキルリセット」「フルリスペック」ボタンに対応します。プレイヤーはスキルツリーをゼロからやり直します。 たとえばプレイヤーが様々なコストで10個のノードを解放済みの場合、10個すべてが戻され、設定された返還率に基づいてそれぞれ部分的な返金が行われます。 主な使い方: プレイヤーが異なる戦略でスキルツリーを組み直せる「リスペック」機能 全プレイヤーがゼロからやり直すシーズンリセット ゲームバランスの変更で現在のビルドが最適でなくなった際に、プレイヤーに再調整させたい場合 Restrain（特定のノードを選択的に戻す）とは異なり、Reset は依存関係に関係なくツリー全体に影響します。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 Result 型 説明 item EzStatus ステータス transactionId string 発行されたトランザクションID stampSheet string リセット処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例 restrain 特定のノードをロック状態に戻す 解放済みの1つまたは複数のノードを未解放状態に戻します。各ノードの拘束返還率に基づいて、解放時に消費したリソースの一部が返還されます。 「部分的なリスペック」機能です。スキルツリー全体をリセットする代わりに、特定のノードだけを選んで取り消せます。 たとえばノードの解放に100ゴールドかかり、拘束返還率が0.8（80%）の場合、拘束時に80ゴールドが返還されます。 重要なルール: 他の解放済みノードが依存しているノード（前提条件として参照されているノード）は拘束できない 他の解放済みノードの前提となっているノードを拘束するには、先に依存するノードを拘束する必要がある これによりスキルツリーは常に有効な状態が保たれます（孤立したノードが発生しません） スキルツリーUIの「スキル取り消し」「元に戻す」機能として使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession nodeModelNames List  1 ~ 1000 items ノードモデル名のリスト propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 Result 型 説明 item EzStatus ステータス transactionId string 発行されたトランザクションID stampSheet string 未解放状態に戻す処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool トランザクションの自動実行が有効か atomicCommit bool トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult EzTransactionResult トランザクション実行結果 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-SkillTree SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-SkillTree SDK for Game Engine API リファレンス","url":"/ja/api_reference/skill_tree/game_engine/"},{"content":"モデル EzStamina スタミナ スタミナとは現実時間の時間経過で回復するポイントです。 一般的にこのスタミナを消費してゲームをプレイできるようにすることで、プレイヤーの1日のプレイ回数を制限し、ゲームの進行速度をゲーム提供側がコントロールする目的で使用されます。  staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 value int  0 ~ 2147483646 スタミナ値 オーバーフロー分を除く、このユーザーの現在のスタミナ量。 回復間隔と回復量に基づいて時間経過で自動的に増加し、maxValue まで回復します。 lastRecoveredAt からの経過時間を用いて recoverSteps = elapsedMinutes / recoverIntervalMinutes の式で計算されます。 overflowValue int  0 ~ 2147483646 オーバーフロー値 通常の最大値（maxValue）を超えて格納されているスタミナ量。 StaminaModel の isOverflow が有効な場合のみ使用されます。実効スタミナの合計は value + overflowValue で、maxCapacity が上限です。 スタミナ消費時はオーバーフロー分が先に消費されます。 maxValue int  1 ~ 2147483646 スタミナの最大値 StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく MaxStaminaTable でオーバーライドされるユーザーごとのスタミナ最大値。 オーバーフロー無効時は initialCapacity が下限となります。オーバーフロー有効時は maxCapacity が上限となります。 自然回復はこの値で停止します。 recoverIntervalMinutes int 1 ~ 2147483646 スタミナの回復間隔（分） StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく RecoverIntervalTable でオーバーライドされるユーザーごとの回復間隔（分）。 テーブルが設定されていない場合、モデルのデフォルト recoverIntervalMinutes にフォールバックします。 recoverValue int 1 ~ 2147483646 スタミナの回復量 StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく RecoverValueTable でオーバーライドされるユーザーごとのティックあたりの回復量。 テーブルが設定されていない場合、モデルのデフォルト recoverValue にフォールバックします。 nextRecoverAt long 次回回復時刻 次のスタミナ回復ティックが発生する Unix タイムスタンプ（ミリ秒）。 lastRecoveredAt + recoverIntervalMinutes（ミリ秒換算）で計算されます。スタミナが既に maxValue の場合、このフィールドは未設定になることがあります。 EzStaminaModel スタミナモデル スタミナの最大値や、回復間隔、回復量といったパラメータを定義できます。 GS2-Experience と連動させて、最大値や回復量をコントロールすることもできます。  name string  ~ 128文字 スタミナモデル名 スタミナモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 recoverIntervalMinutes int  0 ~ 2147483646 回復間隔（分） スタミナ回復ティックの間隔（分単位）。 この間隔が経過するたびに、プレイヤーのスタミナが回復量分だけ増加します。 RecoverIntervalTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 0 に設定すると時間ベースの自動回復が無効になります。 recoverValue int 1 0 ~ 2147483646 回復量 回復ティックごとに回復するスタミナの量。 回復間隔が経過するたびに、最大値に達するまでこの値分スタミナが増加します。 RecoverValueTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 デフォルトは 1。 initialCapacity int  0 ~ 2147483646 最大値の初期値 全プレイヤーに対するデフォルトのスタミナ最大値。 オーバーフローが無効の場合、ユーザーごとの最大値の下限として機能します。 MaxStaminaTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 isOverflow bool  オーバーフロー可否 アイテム使用などの手段でスタミナが初期最大値を超えられるかどうか。 有効の場合、スタミナは initialCapacity を超えて maxCapacity まで設定可能です。自然回復は通常の最大値で停止します。 無効の場合、ユーザーごとの最大値は initialCapacity 以上に制限されます。 maxCapacity int {isOverflow} == true ※ 0 ~ 2147483646 オーバーフロー時の最大値 オーバーフロー有効時のスタミナの絶対上限値。 オーバーフローでもスタミナはこの値を超えることはできません。isOverflow が true の場合のみ表示されます。 例えば initialCapacity が 100、maxCapacity が 200 の場合、アイテムでスタミナを 200 まで増やせますが、自然回復は 100 で停止します。 ※ isOverflow が true であれば 必須 maxStaminaTable EzMaxStaminaTable スタミナ最大値テーブル プレイヤーの GS2-Experience ランクに基づいてスタミナ最大値を動的に決定する MaxStaminaTable への参照。 設定時、プレイヤーの最大スタミナは現在のランクインデックスでテーブルから参照され、initialCapacity をオーバーライドします。 未設定の場合、全プレイヤーが同じ initialCapacity を最大値として共有します。 recoverIntervalTable EzRecoverIntervalTable 回復間隔テーブル プレイヤーの GS2-Experience ランクに基づいて回復間隔を動的に決定する RecoverIntervalTable への参照。 設定時、プレイヤーの回復間隔は現在のランクインデックスでテーブルから参照され、recoverIntervalMinutes をオーバーライドします。 未設定の場合、全プレイヤーが同じ recoverIntervalMinutes を共有します。 recoverValueTable EzRecoverValueTable 回復量テーブル プレイヤーの GS2-Experience ランクに基づいて回復量を動的に決定する RecoverValueTable への参照。 設定時、プレイヤーの回復量は現在のランクインデックスでテーブルから参照され、recoverValue をオーバーライドします。 未設定の場合、全プレイヤーが同じ recoverValue を共有します。 EzMaxStaminaTable スタミナ最大値テーブル スタミナ最大値テーブルは、GS2-Experience のランクごとにスタミナの最大値を定義するエンティティです。  name string  ~ 128文字 スタミナ最大値テーブル名 スタミナ最大値テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとのスタミナ最大値が決定されます。 values List  1 ~ 1024 items ランク毎のスタミナ最大値 プレイヤーの GS2-Experience ランクインデックスで索引されるスタミナ最大値の配列。 インデックス i の値がランク i のプレイヤーの最大スタミナとして使用されます。配列長は参照先の ExperienceModel で定義されたランク数と一致させる必要があります。 EzRecoverIntervalTable 回復間隔テーブル 回復間隔テーブルは、GS2-Experience のランクごとにスタミナの回復間隔を定義するエンティティです。  name string  ~ 128文字 回復間隔テーブル名 回復間隔テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復間隔が決定されます。 values List  1 ~ 1024 items ランク毎の回復間隔 プレイヤーの GS2-Experience ランクインデックスで索引される回復間隔値（分単位）の配列。 インデックス i の値がランク i のプレイヤーの回復間隔として使用され、モデルのデフォルト recoverIntervalMinutes をオーバーライドします。 EzRecoverValueTable スタミナ回復量テーブル スタミナ回復量テーブルは、GS2-Experience のランクごとにスタミナの回復量を定義するエンティティです。  name string  ~ 128文字 スタミナ回復量テーブル名 スタミナ回復量テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復量が決定されます。 values List  1 ~ 1024 items ランク毎の回復量 プレイヤーの GS2-Experience ランクインデックスで索引される回復量値の配列。 インデックス i の値がランク i のプレイヤーのティックあたりの回復量として使用され、モデルのデフォルト recoverValue をオーバーライドします。 メソッド getStaminaModel 特定のスタミナ種別の定義を取得する 特定のスタミナの種別定義を取得します。 レスポンスには、回復間隔（どのくらいの頻度で回復するか）、回復量（1回にどれだけ回復するか）、最大容量、オーバーフロー設定が含まれます。 特定のスタミナの種別ルールを表示するのに使います。たとえば、スタミナ詳細画面で「アクションスタミナ: 5分ごとに1回復、最大100」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 スタミナモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzStaminaModel スタミナモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listStaminaModels スタミナ種別の定義一覧を取得する ゲームに設定されたすべてのスタミナモデル定義を取得します。 スタミナモデルは、スタミナの種別ごとのルールを定義します。時間経過での回復速度、1回の回復量、最大容量、最大値を超えたオーバーフローの可否などが含まれます。 たとえば「アクションスタミナ」（5分ごとに1回復、最大100）と「アリーナチケット」（2時間ごとに1回復、最大5）のように別々のスタミナモデルを用意できます。 一部のスタミナモデルはプレイヤーレベル（GS2-Experience経由）に連動させることもでき、レベルが高いプレイヤーほどスタミナ上限が増えたり回復が早くなったりします。 ヘルプ画面や設定画面で、利用可能なスタミナの種類とルールを表示するのに使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List スタミナモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 apply スタミナの時間経過による自然回復を適用する 最後の更新からの経過時間に基づいてスタミナがどれだけ回復したかを計算し、現在値に反映します。 スタミナは時間経過で自動的に回復します。たとえば、回復間隔が5分、回復量が1の場合、プレイヤーは5分ごとにスタミナが1ずつ最大値まで回復します。 通常、スタミナ値を読み取る際にサーバーが自動的に回復を計算します。このAPIを明示的に呼ぶのは、最新の回復値をサーバーに確実に書き込みたい場合です。たとえば、GS2のトランザクションで管理されていないアクションの前にスタミナが足りているか確認する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 gameSession GameSession  GameSession Result 型 説明 item EzStamina スタミナ staminaModel EzStaminaModel スタミナモデル 実装例 consume スタミナを使用（消費）する プレイヤーの現在のスタミナから指定した量を差し引きます。 スタミナが足りない場合はエラーとなり、消費は行われません。スタミナがゼロ以下になることはありません。 たとえば、クエストに20スタミナ必要でプレイヤーが15しか持っていない場合、消費は失敗し「スタミナが足りません」というメッセージを表示できます。 注意: 多くの場合、スタミナの消費はGS2-QuestやGS2-Showcaseがクエスト開始や購入時に自動的に処理します。このAPIを直接呼ぶ必要があるのは、それらのフロー外でスタミナを消費したい場合のみです。たとえば、独自のミニゲームやトレーニング機能でスタミナを消費する場合に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 gameSession GameSession  GameSession consumeValue int  1 ~ 2147483646 消費するスタミナ量 Result 型 説明 item EzStamina スタミナ staminaModel EzStaminaModel スタミナモデル Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 InsufficientException BadRequestException スタミナの残量が不足しています 実装例 getStamina 特定の種別のプレイヤーの現在スタミナを取得する 特定のスタミナ種別について、プレイヤーの現在のスタミナ値をモデル定義とともに取得します。 レスポンスには、現在値、最大容量、回復間隔、回復量、オーバーフロー量が含まれます。 特定のスタミナゲージを表示するのに使います。たとえば、クエスト開始画面で「アクションスタミナ: 45/100」をプログレスバーとともに表示し、「全回復まで4時間35分」と表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 gameSession GameSession  GameSession Result 型 説明 item EzStamina スタミナ staminaModel EzStaminaModel スタミナモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listStaminas プレイヤーのスタミナ値一覧を取得する プレイヤーの全スタミナ種別における現在のスタミナ値を取得します。 各エントリには、スタミナ種別ごとの現在値、最大容量、回復状況が含まれます。 スタミナの概要を表示するのに使います。たとえば、ホーム画面やステータスバーで「アクションスタミナ: 85/100（全回復まで1時間15分）」「アリーナチケット: 3/5（次の回復まで1時間30分）」のように表示するのに便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List スタミナのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 setMaxValue プレイヤーレベルに基づいてスタミナ上限を更新する GS2-Experienceのプレイヤーの現在レベル（ランク）に基づいて、スタミナの最大容量を更新します。 スタミナモデルには「スタミナ最大値テーブル」を設定でき、プレイヤーレベルとスタミナ上限を対応させます。たとえば、レベル1=上限50、レベル10=上限80、レベル50=上限150のように設定できます。 このAPIを呼ぶと、署名付きGS2-Experienceステータスからプレイヤーの現在レベルを読み取り、テーブルから対応するスタミナ上限を参照して更新します。 プレイヤーがレベルアップした後にスタミナ上限を更新するのに使います。たとえば、レベルアップ時にこのAPIを呼び、スタミナ上限を80から85に増やすといった処理に便利です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 gameSession GameSession  GameSession keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN signedStatusBody string  ~ 524288文字 署名対象の GS2-Experience ステータスのボディ signedStatusSignature string  ~ 128文字 GS2-Experience ステータスの署名 Result 型 説明 item EzStamina スタミナ old EzStamina スタミナ staminaModel EzStaminaModel スタミナモデル 実装例 setRecoverInterval プレイヤーレベルに基づいてスタミナ回復間隔を更新する GS2-Experienceのプレイヤーの現在レベル（ランク）に基づいて、スタミナが回復する頻度を更新します。 スタミナモデルには「回復間隔テーブル」を設定でき、プレイヤーレベルと回復間隔（分）を対応させます。たとえば、レベル1=6分ごとに回復、レベル20=5分ごと、レベル50=3分ごとのように設定できます。 プレイヤーがレベルアップした後にスタミナ回復頻度を上げるのに使います。たとえば、プレイヤーがレベル20に達すると回復間隔が6分から5分に短縮され、より頻繁にスタミナが回復するようになります。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 gameSession GameSession  GameSession keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN signedStatusBody string  ~ 524288文字 署名対象の GS2-Experience ステータスのボディ signedStatusSignature string  ~ 128文字 GS2-Experience ステータスの署名 Result 型 説明 item EzStamina スタミナ old EzStamina スタミナ staminaModel EzStaminaModel スタミナモデル 実装例 setRecoverValue プレイヤーレベルに基づいてスタミナ回復量を更新する GS2-Experienceのプレイヤーの現在レベル（ランク）に基づいて、1回あたりのスタミナ回復量を更新します。 スタミナモデルには「回復量テーブル」を設定でき、プレイヤーレベルと回復量を対応させます。たとえば、レベル1=1回復/間隔、レベル20=2回復、レベル50=3回復のように設定できます。 プレイヤーがレベルアップした後にスタミナ回復を速くするのに使います。たとえば、プレイヤーがレベル20に達すると回復量が1回復/間隔から2回復/間隔に増え、スタミナが2倍速く回復するようになります。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 gameSession GameSession  GameSession keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN signedStatusBody string  ~ 524288文字 署名対象の GS2-Experience ステータスのボディ signedStatusSignature string  ~ 128文字 GS2-Experience ステータスの署名 Result 型 説明 item EzStamina スタミナ old EzStamina スタミナ staminaModel EzStaminaModel スタミナモデル 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Stamina SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Stamina SDK for Game Engine API リファレンス","url":"/ja/api_reference/stamina/game_engine/"},{"content":"モデル EzStatus ステートマシンの状態 特定のユーザーに対するステートマシンの実行インスタンスを表します。変数、サブステートマシン用のコールスタック、遷移回数、乱数状態を含む現在の実行状態を追跡します。ステータスは Running、Wait、Pass（成功）、Error の状態を遷移します。  statusId string ※ ~ 1024文字 ステートマシンの状態 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 36文字 ステータス名 ステートマシンの状態の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ステートマシンの状態を識別するために使用されます。 enableSpeculativeExecution 文字列列挙型 enum {   “enable”,   “disable” } “disable” 投機的実行を有効にするか 有効にすると、ステートマシン定義と乱数状態がこの Status エンティティに含まれます。これによりクライアントがサーバー確認前にローカルで遷移をシミュレーションでき、体感遅延を軽減できます。 定義 説明 “enable” 有効 “disable” 無効 stateMachineDefinition string {enableSpeculativeExecution} == “enable” ※ ~ 16777216文字 ステートマシン定義 投機的実行のためにこのステータスに埋め込まれた GSL 定義です。enableSpeculativeExecution が有効な場合のみ存在します。通常の API レスポンスではフィルタリングされ、クライアント側シミュレーションに必要な場合のみ含まれます。 ※ enableSpeculativeExecution が “enable” であれば 有効 randomStatus EzRandomStatus {enableSpeculativeExecution} == “enable” ※ 乱数状態 この実行インスタンスの乱数生成状態です。投機的実行時にクライアントとサーバーで決定論的な乱数動作を保証するために使用されます。enableSpeculativeExecution が有効な場合のみ存在します。 ※ enableSpeculativeExecution が “enable” であれば 有効 stacks List [] 0 ~ 1024 items スタック サブステートマシン呼び出しのコールスタックです。ステートマシンがサブステートマシンを呼び出すと、呼び出し元のステートマシン名と戻り先タスクがプッシュされます。サブステートマシンが完了するとエントリがポップされ、戻り先タスクから実行が再開されます。 variables List [] 0 ~ 1000 items ステートマシンごとの状態変数 コール階層内の各ステートマシンの現在の変数値です。各エントリはステートマシン名と、int、float、string、bool、array、map 型をサポートする JSON シリアライズされた値を保持します。変数は同一実行インスタンス内の状態遷移を通じて永続化されます。 status 文字列列挙型 enum {   “Running”,   “Wait”,   “Pass”,   “Error” } “Running” ステータス このステートマシンインスタンスの現在の実行状態です。「Running」はマシンが遷移を処理中であることを意味します。「Wait」はマシンが外部イベント（emit）を待機中であることを意味します。「Pass」は正常に完了したことを意味します。「Error」はエラーで終了したことを意味します。 定義 説明 “Running” 実行中 “Wait” 待機中 “Pass” 終了 “Error” エラー lastError string ~ 1024文字 最後のエラー 最後に発生したエラーのメッセージです。ステータスが「Error」に遷移した際に設定されます。ステートマシンが異常終了した原因の詳細を含みます。 transitionCount int 0 0 ~ 2147483645 遷移回数 この実行インスタンスで実行された状態遷移の合計回数です。遷移ごとに加算されます。この値が1000を超えると、無限ループを防ぐためステートマシンはエラーで終了します。 EzStackEntry スタックエントリ サブステートマシンのコールスタック内の1つのエントリを表します。ステートマシンがサブステートマシンを呼び出すと、呼び出し元の名前と戻り先タスクがスタックにプッシュされます。サブステートマシンが完了すると、ポップされたエントリの戻り先タスクから実行が再開されます。  stateMachineName string  ~ 128文字 ステートマシン名 このスタックエントリをプッシュした呼び出し元ステートマシンの名前です。サブステートマシンから戻る際に、どのステートマシンのコンテキストを復元するかの識別に使用されます。 taskName string  ~ 128文字 タスク名 サブステートマシンが完了した際に戻るタスク（状態）の名前です。呼び出し元ステートマシンのこのタスクから実行が再開されます。 EzVariable ステートマシンごとの状態変数 コール階層内の特定のステートマシンの現在の変数状態を保持します。値は int、float、string、bool、array、map データ型をサポートする JSON シリアライズされた表現です。  stateMachineName string  ~ 128文字 ステートマシン名 これらの変数を所有するステートマシンの名前です。ネストされたコール階層では、各ステートマシンがこの名前で識別される独立した変数スコープを持ちます。 value string  ~ 1048576文字 値 このステートマシンの JSON シリアライズされた変数値です。int、float、string、bool、array、map データ型をサポートします。ステートマシンが遷移やアクションを処理する際に更新されます。 EzChangeStateEvent ステートの変更イベント ステートマシン内で発生した状態遷移を記録します。遷移先のタスク名、整合性検証用のハッシュ、および遷移のタイムスタンプを含みます。  taskName string  ~ 128文字 タスク名 ステートマシンが遷移した先のタスク（状態）の名前です。 hash string  ~ 64文字 ハッシュ 状態遷移の整合性を検証するためのハッシュ値です。遷移が正しく実行され、状態が一貫していることを検証するために使用されます。 timestamp long  タイムスタンプ EzEmitEvent メッセージの送信イベント 外部アクションをトリガーするためにステートマシンが送信するメッセージを表します。イベント名はアクションの種類を識別し、パラメータはアクション固有のデータを提供します。  event string  ~ 128文字 イベント名 送信されたイベントの種類を識別する名前です。報酬の付与やリソースの消費など、どの外部アクションを呼び出すかの判定に使用されます。 parameters string  ~ 1024文字 パラメータ 送信されたイベントに渡されるパラメータです。このイベントによってトリガーされる外部アクションを設定するために使用される、アクション固有のデータをシリアライズ形式で含みます。 timestamp long  タイムスタンプ EzEvent イベント ステートマシン実行中に発生したイベントを表します。ステート変更イベント（状態遷移の記録）または emit イベント（外部アクションをトリガーするメッセージの送信）のいずれかです。  eventType 文字列列挙型 enum {   “change_state”,   “emit” }  イベントの種類 イベントの種類です。「change_state」はステートマシン内の状態遷移を記録します。「emit」は報酬の付与やリソースの消費などの外部アクションをトリガーするメッセージの送信を表します。 定義 説明 “change_state” ステートの変更 “emit” メッセージの送信 changeStateEvent EzChangeStateEvent {eventType} == “change_state” ※ ステートの変更 ※ eventType が “change_state” であれば 必須 emitEvent EzEmitEvent {eventType} == “emit” ※ メッセージの送信 ※ eventType が “emit” であれば 必須 EzRandomStatus 乱数の状態 ステートマシン実行インスタンスの乱数生成状態を管理します。シード値とカテゴリごとの使用状況追跡を含みます。投機的実行時にクライアントとサーバーで決定論的な乱数動作を保証するために使用されます。  seed long  0 ~ 4294967294 乱数シード ステートマシン実行内での決定論的な乱数生成のためのシード値です。 used List 0 ~ 1000 items 使用済み乱数リスト カテゴリごとに消費された乱数を追跡します。各カテゴリは乱数使用の異なる目的を表し、投機的再実行時の一貫性を維持するための独立した追跡を可能にします。 EzRandomUsed 使用済み乱数 ステートマシン実行内の特定カテゴリで消費された乱数の数を追跡します。各カテゴリは異なる目的での独立した乱数追跡を可能にします。  category long  0 ~ 4294967294 カテゴリ 乱数使用カテゴリの数値識別子です。各カテゴリは乱数消費を独立して追跡し、ステートマシンが異なる目的に別々の乱数シーケンスを使用できるようにします。 used long  0 ~ 4294967294 使用回数 このカテゴリで消費された乱数の数です。このカテゴリのシーケンスから乱数が引かれるたびに増加します。 EzVerifyActionResult 検証アクションの実行結果  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 EzConsumeActionResult 消費アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 EzAcquireActionResult 入手アクションの実行結果  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 EzTransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト メソッド emit イベントを送信して状態遷移をトリガーする ステートマシンに名前付きイベントを送信し、定義された遷移ルールに基づいて現在の状態から次の状態へ移行させます。 ゲームクライアントがステートマシンを進めるためのメインの方法です。たとえば: プレイヤーがクエストダイアログで「受諾」をタップ → “accept” イベントを送信 → 状態が「提示中」から「進行中」に変更 プレイヤーがボスを倒す → “boss_defeated” イベントを送信 → 状態が「ボスステージ」から「完了」に変更 プレイヤーがストーリーで選択肢を選ぶ → “choose_path_a” イベントを送信 → 選択した分岐先の状態に遷移 追加データをJSON引数（args）として渡せます。たとえば “submit_answer” イベントを送信する際に、{“answer”: “B”} をargsに含めることができます。 ステートマシンは現在の状態で有効なイベントのみを受け付けます。現在の状態で定義されていないイベントを送信するとエラーが返され、遷移は発生しません。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession statusName string  ~ 36文字 ステータス名 eventName string  ~ 36文字 イベントの名前 args string “{}” ~ 4096文字 ステートマシンに渡す引数 Result 型 説明 item EzStatus ステートマシンの状態 実装例 exit 完了したステートマシンをクリーンアップする 実行が終了したステートマシンインスタンスを削除します。ステートマシンのステータスが「Pass」（正常完了）または「Error」（失敗）の場合にのみ呼び出せます。 ステートマシンが終端状態に到達した後も、Exit で明示的に削除するまでシステムに残り続けます。これにより以下のことが可能です: プレイヤーに完了結果を表示する（例: 「クエストクリア!」画面） 最終状態と変数を読み取って報酬を決定する エラー状態を処理して次にどうするか判断する 一般的な流れ: ステートマシンが終端状態に到達 → ステータスが「Pass」になる ゲームが最終状態を読み取り、プレイヤーに報酬を付与する ゲームが完了画面を表示する プレイヤーが画面を閉じる → ゲームが Exit を呼び出してクリーンアップ Running 状態のステートマシンには Exit を呼び出せません。実行中のステートマシンを強制停止するにはサーバー側の操作が必要です。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession statusName string  ~ 36文字 ステータス名 Result 型 説明 item EzStatus 終了したステートマシンの状態 実装例 getStatus 特定のステートマシンインスタンスの現在の状態を取得する 特定のステートマシンインスタンスの詳細情報を取得します。現在どの状態にあるか、保存されている変数などが含まれます。 ワークフローの現在の進行状況をプレイヤーに表示する際に使います。たとえば: クエストトラッカーで「現在のステップ: モンスターを3体倒す（2/3）」を表示 チュートリアルのインジケーターでプレイヤーがどのステップにいるかを表示 プロセスのステータスが進行中か、完了か、エラーかを表示 レスポンスには以下が含まれます: 現在の状態名: マシンが今どの状態にあるか 変数: ステートマシンに保存されたデータ（例: 進行カウンター、選択結果） ステータス: マシンが Running（動作中）、Pass（完了）、Error（エラー）のいずれか スタックトレース: 状態遷移の履歴（デバッグに便利） Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession statusName string  ~ 36文字 ステータス名 Result 型 説明 item EzStatus ステートマシンの状態 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listStatuses プレイヤーのステートマシンインスタンスの一覧を取得する 現在のプレイヤーに属するすべてのステートマシンインスタンスを取得します。 ステートマシンはサーバーで管理されるワークフローで、プレイヤーの一連のステップ（状態）の進行を追跡します。各ステップはアクションの実行、プレイヤー入力の待機、条件による分岐が可能です。 ステートマシンの主な使い方: クエスト進行: 「クエスト受諾」→「進行中」→「ボス戦」→「完了」→「報酬受取」 チュートリアルフロー: 「ようこそ」→「移動チュートリアル」→「バトルチュートリアル」→「ガチャチュートリアル」→「完了」 期間限定イベント: 制限時間付きの複数フェーズのイベントプロセス 各ステートマシンインスタンスは3つのステータスのいずれかを持ちます: Running: ステートマシンが動作中で、次のイベントを待機している Pass: ステートマシンが正常に完了した（終端状態に到達） Error: ステートマシンでエラーが発生した ステータスでフィルタリングできます。たとえばクエスト画面にアクティブ（Running）なステートマシンだけを表示したり、クリーンアップが必要な完了済みのものを見つけたりできます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession status ステータス このステートマシンインスタンスの現在の実行状態です。「Running」はマシンが遷移を処理中であることを意味します。「Wait」はマシンが外部イベント（emit）を待機中であることを意味します。「Pass」は正常に完了したことを意味します。「Error」はエラーで終了したことを意味します。 定義 説明 “Running” 実行中 “Wait” 待機中 “Pass” 終了 “Error” エラー pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ステートマシンの状態のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 report クライアント側のステートマシン実行結果をサーバーに送信して検証する ゲームクライアントでローカルに処理されたイベントのバッチをサーバーに送信し、検証を受けます。 これは「投機的実行」と呼ばれる最適化機能です。すべてのイベントで Emit を呼び出す（毎回ネットワーク遅延が発生する）代わりに、クライアントがローカルでステートマシンを実行し、複数のイベントをまとめて処理した後、結果を1回の呼び出しでサーバーに送信します。 投機的実行の仕組み: クライアントがステートマシン定義のローカルコピーを持つ イベントが連続して発生する場合（例: ゲームプレイ中）、クライアントはサーバーの応答を待たずにローカルで処理する イベントのバッチ処理後、クライアントが Report を呼び出してすべてのイベントをサーバーに送信する サーバーがイベントをリプレイし、最終状態がクライアントの報告と一致するか検証する 状態が一致すればサーバーが結果を受理する。一致しない場合（例: クライアントが改ざんされた場合）、StateMismatch エラーが返される 以下のようなパフォーマンス重視のシナリオで便利です: サーバー応答を待つとラグが発生するテンポの速いゲームプレイ プレイヤーが一時的に接続を失う可能性があるオフライン対応フロー 多数の高速な状態遷移のバッチ処理 注意: このAPIを使用するには、ネームスペースで投機的実行が有効になっている必要があります。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession statusName string  ~ 36文字 ステータス名 events List 0 ~ 1000 items イベントのリスト Result 型 説明 item EzStatus ステートマシンの状態 Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 StateMismatchException BadRequestException レポートの検証の結果状態が不一致となりました 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-StateMachine SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-StateMachine SDK for Game Engine API リファレンス","url":"/ja/api_reference/state_machine/game_engine/"},{"content":"モデル EzAcceptVersion 承認したバージョン アプリバージョンや、アセットバージョンのようなデータに紐づいたバージョンではなく 同意した利用規約のバージョンのようなユーザ毎にバージョン管理が必要なエンティティで使用します。  versionName string  ~ 128文字 バージョン名 この承認レコードが関連付けられているバージョンモデルの名前です。ユーザーの承認を特定のバージョンモデル定義に紐付けます。 userId string  ~ 128文字 ユーザーID version EzVersion  バージョン ユーザーが承認または拒否したバージョン番号です。「active」スコープのバージョンモデルで使用される場合、バージョンチェック時にモデルの現在のバージョンと比較されます。 EzVersionModel バージョンモデル バージョンモデルには、ログインを受け入れるが、バージョンアップ出来ることを通知する警告バージョンと、ログインを受け入れないエラーバージョンを設定できます。 現在のバージョンをクライアントに申告させるのに、署名の有無を指定できます。 署名付きを選択した場合、クライアントは嘘のバージョン申告を出来なくなります。  name string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 warningVersion EzVersion {type} == “simple” ※ バージョンアップを促すバージョン アップグレード通知を表示する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、ログインは許可されますがユーザーにアップグレードが促されます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば 必須 errorVersion EzVersion {type} == “simple” ※ バージョンチェックでエラーになるバージョン ログインを許可する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、バージョンチェックがエラーとなりログインがブロックされます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば 必須 scope 文字列列挙型 enum {   “passive”,   “active” }  判定に使用するバージョン値の種類 バージョンチェックに使用するバージョン値の取得方法を決定します。「passive」はチェック時にクライアントが現在のバージョンを申告する方式、「active」はユーザーが過去に明示的に承認したバージョン（利用規約への同意など）を使用する方式です。 定義 説明 “passive” クライアントから送信 “active” 過去明示的に承認したバージョン currentVersion EzVersion {type} == “simple” and {scope} == “active” ※ 現在のバージョン このバージョンモデルの最新バージョンです。「simple」モードの「active」スコープでのみ使用され、ユーザーがバージョン更新を承認・確認する際に現在のバージョンを通知します。 ※ type が “simple” で かつ scope が “active” であれば 必須 needSignature bool {scope} == “passive” ※ 判定するバージョン値に署名検証を必要とするか 有効にすると、クライアントはバージョン申告と共に暗号署名を提供する必要があります。これにより、クライアントがバージョンチェックを回避するために偽のバージョンを申告することを防止します。スコープが「passive」の場合にのみ適用されます。 ※ scope が “passive” であれば 必須 EzVersion バージョン 3階層（メジャー、マイナー、マイクロ）のバージョン番号を表します。バージョンの比較はメジャー、マイナー、マイクロの順に階層的に行われます。バージョンチェックの警告・エラー閾値の定義に使用されます。  major int  0 ~ 2147483646 メジャーバージョン バージョン比較で最も優先度の高いコンポーネントです。メジャーバージョンの差異はマイナーバージョンやマイクロバージョンより優先されます。 minor int  0 ~ 2147483646 マイナーバージョン バージョン比較で2番目に優先されるコンポーネントです。メジャーバージョンが同一の場合にのみ比較されます。 micro int  0 ~ 2147483646 マイクロバージョン バージョン比較で最も優先度の低いコンポーネントです。メジャーバージョンとマイナーバージョンがともに同一の場合にのみ比較されます。 EzStatus バージョンの状態 バージョンの検証結果を表します。チェックに使用されたバージョンモデルと、クライアントから申告された、またはユーザー承認から記録された現在のバージョンを含みます。バージョンチェック結果の一部として返され、バージョンが最新か、アップグレード警告が必要か、ブロックされるかをクライアントに通知します。  versionModel EzVersionModel  バージョンモデル このバージョンチェックに使用されたバージョンモデル定義です。チェック結果を決定した警告・エラーバージョン閾値、スコープ、その他の設定を含みます。 currentVersion EzVersion 現在のバージョン バージョンチェック時に評価されたバージョンです。「passive」スコープの場合はクライアントが申告したバージョン、「active」スコープの場合はユーザーが過去に承認したバージョンです。バージョン情報が利用できない場合は存在しないことがあります。 EzTargetVersion 検証するバージョン バージョンチェックのためにクライアントが送信するバージョン申告を表します。署名なしモードではバージョンを直接指定します。署名ありモードでは、改ざん防止のために暗号署名と共にバージョンがボディに埋め込まれます。  versionName string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 version EzVersion {signature} == \"\" ※ バージョン 検証対象のバージョン番号です。署名検証が不要な場合（署名が未提供）に使用されます。署名が提供されている場合、バージョンは署名済みボディから抽出されます。 ※ signature が \"\" であれば 必須 body string ~ 1048576文字 ボディ バージョン情報を含む署名済みペイロードです。署名検証が有効な場合（needSignature が true）に使用されます。ボディには署名と照合可能な形式でバージョンデータが含まれます。 signature string ~ 256文字 署名 ボディの内容を検証するための暗号署名です。提供された場合、サーバーはバージョンモデルで設定された GS2-Key の暗号鍵を使用して署名を検証し、申告されたバージョンを受け入れます。 メソッド getVersionModel 特定のバージョンチェック定義の詳細を取得する バージョン名を指定して、チェックルールと閾値を含む詳細を取得します。 レスポンスには以下が含まれます: スコープ: 「passive」チェック（アプリバージョン — クライアントがバージョンを報告）か「active」チェック（利用規約 — プレイヤーが明示的に同意する必要がある）か 警告バージョン: この閾値を下回るとソフトな警告が表示される（例: 「新しいバージョンが利用可能です。アップデートしてください。」） エラーバージョン: この閾値を下回るとハードなブロックが適用される（例: 「プレイを続けるにはアップデートが必要です。」） 現在のバージョン: 最新バージョン（activeスコープの場合、プレイヤーが同意する必要があるバージョン） スケジュール設定: GS2-Schedule と連携している場合、時間経過で変わるバージョン閾値（例: 大型アップデート後に最低バージョンを段階的に引き上げる） バージョンチェックの詳細を表示したり、カスタムのバージョンチェックUIロジックを構築する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 versionName string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EzVersionModel バージョンモデル 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 listVersionModels バージョンチェック定義の一覧を取得する ネームスペースに定義されているすべてのバージョンモデルを取得します。 各バージョンモデルはバージョンチェックルールを表します。たとえば「アプリバージョン」「利用規約」「アセットバージョン」などです。 GS2-Version は2種類のバージョンチェックに対応しています: アプリバージョンチェック（passiveスコープ）: ゲームクライアントが自身のバージョン（例: “1.2.3”）を報告し、サーバーが最低要求バージョンを満たしているかチェックします。 クライアントバージョンが「警告」閾値を下回る → アップデートを推奨（プレイは許可） クライアントバージョンが「エラー」閾値を下回る → アップデートを強制（プレイをブロック） 利用規約チェック（activeスコープ）: プレイヤーが現在のバージョンの規約に明示的に同意する必要があります。 プレイヤーが最新バージョンに同意していない → 利用規約ダイアログを表示 プレイヤーが既に同意済み → チェック通過 どのバージョンチェックが設定されているかを確認し、適切な起動フロー（バージョンチェック画面、アップデート案内、規約ダイアログなど）を構築する際に使います。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List バージョンモデルのリスト 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 accept バージョンを承認する（利用規約に同意する） プレイヤーが指定されたバージョンを承認（同意）したことを記録します。 利用規約、プライバシーポリシー、その他の法的な同意事項の「同意する」ボタンに対応します。 一般的な流れ: CheckVersion が「terms_of_service」についてエラーを返す（プレイヤーが最新バージョンに同意していないため） ゲームが利用規約の全文を表示するダイアログを表示する プレイヤーが内容を読んで「同意する」をタップする ゲームが表示されたバージョン番号で Accept を呼び出す 次回の CheckVersion 呼び出しで規約チェックが通過する 重要: 必ずプレイヤーに実際に表示されたバージョン番号を渡してください。プレイヤーが規約を読んでいる間にサーバー上で規約が更新された場合、古いバージョンを渡すとエラーになります。これにより、プレイヤーが常に最新の規約に同意することが保証されます。 バージョンを指定しない場合は最新バージョンが使用されます。ただし、競合状態を防ぐためにバージョンを明示的に指定することを推奨します。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession versionName string  ~ 128文字 バージョン名 この承認レコードが関連付けられているバージョンモデルの名前です。ユーザーの承認を特定のバージョンモデル定義に紐付けます。 version EzVersion 承認したバージョン Result 型 説明 item EzAcceptVersion 承認したバージョン Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 AcceptVersionInvalidException BadRequestException 承認プロセスの途中でサーバーバージョンが更新された結果、エラーとなりました 実装例 delete バージョン承認レコードを削除する 指定されたバージョンモデルに対するプレイヤーの承認または拒否レコードを削除します。 削除後、次回の CheckVersion 呼び出しでは、プレイヤーがこのバージョンチェックに一度も応答していないものとして扱われます。 ユースケース: プレイヤーがオプションの同意を取り消せるようにする（例: データ収集同意の撤回） テストやデバッグ目的で承認状態をリセットする バージョン番号を変更せずにプレイヤーに更新された規約を再読させたい場合に再承認を強制する activeスコープのチェック（利用規約）の場合、承認レコードを削除すると、プレイヤーは次回ログイン時またはバージョンチェック時に再度同意を求められます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession versionName string  ~ 128文字 バージョン名 この承認レコードが関連付けられているバージョンモデルの名前です。ユーザーの承認を特定のバージョンモデル定義に紐付けます。 Result 型 説明 item EzAcceptVersion 削除した承認バージョン 実装例 list プレイヤーが承認または拒否したバージョンの一覧を取得する 現在のプレイヤーのすべてのバージョン承認/拒否レコードを取得します。 各レコードには、プレイヤーがどのバージョンモデルに対して応答したか、どのバージョンを承認または拒否したかが含まれます。 主に利用規約やプライバシーポリシーの管理に使います。たとえば: プレイヤーが既に同意した規約とそのバージョンを表示する プレイヤーが更新された規約に再同意する必要があるかチェックする プレイヤーが同意した内容を確認できる「規約・ポリシー」設定画面を表示する アプリバージョンチェック（passiveスコープ）では承認レコードは使われません。クライアントが報告したバージョンを直接比較してチェックされます。このリストにはactiveスコープのチェック（プレイヤーが明示的に承認/拒否した）のレコードのみが含まれます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 承認したバージョンのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 値の変更イベントハンドリング Warning このイベントはSDKがもつローカルキャッシュの値が変更された時に呼び出されます。 ローカルキャッシュは SDK が持つ API の実行、または GS2-Gateway の通知を有効にした GS2-Distributor 経由でのスタンプシートの実行、または GS2-Gateway の通知を有効にした GS2-JobQueue の実行によって変化したもののみが対象となります。 そのため、これらの方法以外で値が変更されてもコールバックは呼び出されません。 reject バージョンを拒否する（任意の規約を辞退する） プレイヤーが指定されたバージョンを拒否（辞退）したことを記録します。 「辞退する」「結構です」ボタンに対応しますが、同意が必須でないオプションの規約にのみ使用できます。 バージョンモデルの承認要件が「optional」に設定されている場合にのみ使用可能です。承認が必須（mandatory）の場合、プレイヤーは同意する必要があり、拒否オプションはありません。 オプション規約のユースケース: 任意のデータ収集同意: 「ゲーム改善のために利用データを収集してもよろしいですか？」→ 同意する / 辞退する 任意のマーケティング通知: 「プロモーションメールの受信を希望しますか？」→ 同意する / 辞退する 任意のベータ機能: 「実験的な機能を試してみますか？」→ 同意する / 辞退する プレイヤーが拒否しても、拒否したことが記録されるため、プロンプトを見て応答したことがわかります。次回の CheckVersion ではバージョンチェックが通過し（オプションのため）、ゲームは拒否レコードを確認して動作を調整できます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession versionName string  ~ 128文字 バージョン名 この承認レコードが関連付けられているバージョンモデルの名前です。ユーザーの承認を特定のバージョンモデル定義に紐付けます。 version EzVersion 否認したバージョン Result 型 説明 item EzAcceptVersion 否認したバージョン Error このAPIには特別な例外が定義されています。 GS2-SDK for GameEngine ではゲーム内でハンドリングが必要そうなエラーは一般的な例外から派生した特殊化した例外を用意することでハンドリングしやすくしています。 一般的なエラーの種類や、ハンドリング方法は こちら のドキュメントを参考にしてください。 型 基底クラス 説明 AcceptVersionInvalidException BadRequestException 承認プロセスの途中でサーバーバージョンが更新された結果、エラーとなりました 実装例 checkVersion すべてのバージョンチェックを一括実行する ゲームクライアントのバージョンとプレイヤーの規約同意状況を、ネームスペース内のすべてのバージョンモデルに対してチェックします。 ゲーム起動時に呼び出して、プレイヤーが先に進めるか、アップデートや規約同意が必要かを判定するメインAPIです。 一般的な起動フロー: ゲームが起動し、クライアントの現在のバージョン（アプリバージョン、アセットバージョンなど）を渡して CheckVersion を呼び出す サーバーが各バージョンモデルをチェックし、2つのリストを返す: warnings: チェックは通過したがクライアントが推奨バージョンを下回っている（「アップデートがあります」ダイアログを表示） errors: チェックに失敗 — クライアントが古すぎる、または規約に未同意（プレイヤーをブロック） エラーがある場合、適切な画面を表示: アプリバージョンのエラー → 「App Store / Google Play からアップデートしてください」と表示しリダイレクト 利用規約のエラー → 規約ダイアログを表示し、プレイヤーが同意したら Accept を呼び出す 警告のみ（エラーなし）の場合、プレイヤーを先に進めつつ、任意でアップデート推奨を表示 警告もエラーもなければ、プレイヤーは通常通りゲームに入る targetVersions パラメータには、passiveスコープのチェック（アプリバージョンなど）用にクライアントの現在のバージョン番号を渡します。activeスコープのチェック（利用規約など）はプレイヤーの同意履歴に基づいて自動的に評価されます。 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameSession GameSession  GameSession targetVersions List [] 0 ~ 1000 items 検証するバージョンリスト Result 型 説明 projectToken string サインインしたプロジェクトトークン warnings List バージョンの検証結果 警告のリスト errors List バージョンの検証結果 エラーのリスト 実装例","lang":"ja","section":"api_reference","summary":"ゲームエンジン向け GS2-Version SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Version SDK for Game Engine API リファレンス","url":"/ja/api_reference/version/game_engine/"},{"content":"途中までは一般的なチュートリアルと同じ手順となります。 GS2のセットアップ SDKのセットアップ クレデンシャル(APIキー)の作成 ログイン処理に必要なリソースを準備 クライアントの初期化 環境情報を作成 まずは、環境情報を定義する ScriptableObject を作成します。 Project でコンテキストメニューを開き Create \u003e Game Server Services \u003e Core \u003e Environment を作成します。 作成した ScriptableObject に クレデンシャル(APIキー)の作成 で作成した clientId / clientSecret を設定します。 Name には環境名を入力します。 クライアントホルダーを作成 次に、GS2 クライアント を保持する GameObject を作成します。 シーン内に適当な GameObject を作成します。今回は「GS2」という名前で用意しました。 Environments に先程作成した Environment を指定し、現在有効な環境を決めるための Active Environment に環境名を指定します。 環境の切り替えを容易にするためにこのような設定を可能としていますが、製品リリース時には開発環境などの ScriptableObject はビルド成果物に含まれないようにすることをお勧めします。 OnError には初期化に失敗した場合に発生するイベントハンドラを設定できます。 GS2ClientHolder はエラーメッセージをダンプする DebugErrorHandler 関数が用意されています。今回はエラーが発生したことを把握できればいいので、このイベントハンドラを利用します。 これだけの設定で、ゲーム起動時に勝手にSDKの初期化が行われます。 アカウントの作成とログイン GS2リソース情報を作成 環境を作成したように、GS2で利用可能なリソースを ScriptableObject として宣言する必要があります。 今回は ログイン処理に必要なリソースを準備 で GS2-Account で 「game-0001」 というネームスペースを作成し、 GS2-Key で 「account-encryption-key-namespace」という名前のネームスペースと「account-encryption-key」という名前の暗号鍵を作成しましたので、その設定を反映する必要があります。 先程と同じように、Project のコンテキストメニューから Create \u003e Game Server Services \u003e Account \u003e Namespace で ScriptableObject を作成します。 作成した ScriptableObject にネームスペースの名前を入力します。 同じように GS2-Key の ScriptableObject も作成します。 ログイン処理の実装 実装とは言っても、 シーン内に配置するだけで「アカウントを作成して、ログイン」の処理を実行してくれる Prefab が用意されています。 Hierarchy で適当な GameObject を選択した状態でコンテキストメニューを開き、 Game Server Services \u003e Core \u003e Action \u003e AutoLogin を選択します。 すると、選択しているノードの下に Gs2AutoLogin というプレハブオブジェクトが追加されます。 Namespace に GS2-Account のネームスペースの ScriptableObject を、Key に GS2-Key の暗号鍵の ScriptableObject を指定します。 イベントハンドラとして、OnAutoLoginComplete と OnError が用意されています。 成功時には OnAutoLoginComplete が呼び出され、自分自身の GameObject を無効化する処理が動きます。 失敗時には OnError が呼び出され、 GS2ClientHolder の DebugErrorHandler を呼び出すように設定しています。 動きの可視化 ここからが UIKit の本領発揮です。 ログイン状況を画面に表示してみましょう。 テキストノードの作成 Canvas の配下に View という階層を用意し、その下に NotLoggedIn / LoggedIn というテキストを配置しています。 このように画面中央に2つのテキストが重なって表示されている状態です。 これから、ログイン状態にあわせて表示するテキストを切り替えるようにします。 ログイン状態にあわせてノードを表示・非表示する UI Kit には状態に合わせて特定のノードを有効化したり、無効化したりできる Enabler というコンポーネントが存在します。 View ノードを選択し、コンポーネントを追加します。 コンポーネントには、表示条件と制御対象を設定できます。 Logged In にチェックが入っていない状態 ＝ ログインしていない 時に 制御対象 を表示する ということになります。 コンポーネントを2つ登録し、それぞれログイン状態・未ログイン状態でどのノードを有効化したいかを設定します。 実行 実行してみましょう。 一瞬上記のような表示がされ、すぐに以下の表示に切り替わります。 つまり、AutoLogin プレハブがログイン処理を行い、その結果ログイン状態が変化してUIの表示も勝手に切り替わったことになります。 自分のユーザーIDを表示 先程は Enabler を使ってみましたが、次は Context と Fetcher と Label を使用してみましょう。 まずは UI を用意します。LoggedIn の配下に UserId という名前のテキストノードを作成します。 現在ログイン中のプレイヤーのユーザーIDをこのテキストに反映するようにしてみましょう。 LoggedIn ノードを選択します。 Gs2AccountOwnAccountContext と Gs2AccountOwnAccountFetcher コンポーネントを追加します。 Gs2AccountOwnAccountContext には表示したいアカウント情報を設定します。 Own Account の ScriptableObject を作成します。 Own Accountは、自分自身のユーザーID等のアカウント情報をコンテキストとして扱うための ScriptableObject です。 この ScriptableObject を Gs2AccountOwnAccountContext に指定することで LoggedIn ノードの下で Account に関する処理を UIKit を使用して行うと、Context で指定したオブジェクトに関する操作として処理されます。 Gs2AccountOwnAccountContext の下に Gs2AccountOwnAccountFetcher を配置しました。 これによって、Gs2AccountOwnAccountFetcher はログイン中のユーザーに関する情報をサーバーから取得して保持してくれます。 次に UserId ノードに Gs2AccountOwnAccountLabel を追加します。 Format にテキストに反映する文字列の整形方法を指定します。 今回は Fetcher が取得したアカウント情報の中から userId のフィールドを反映したテキストを作成しています。 OnUpdate に整形されたテキストが渡ってきますので、それをテキストコンポーネントに反映しています。 再度実行してみましょう。 ログインが完了すると、右下にユーザーIDが表示されました。 UI Kit の使い方が奇妙に感じましたか？ 記述したコードが上から下に処理されるようなプログラミングを 手続型プログラミング と呼びます。 一方で、UI Kit のようなプログラミングを 宣言的プログラミング と呼びます。 おそらく奇妙に感じたあなたは、 手続型プログラミング を主に行ってきたのだと思います。 手続型プログラミング に慣れ親しんだあなたは「処理の副作用がどのように発生するのか追いづらく、使いにくそう」と感じたかもしれません。 一方で、副作用について考える必要はなく、最終的に自分が各 GameObject にどのように振る舞って欲しいのかを定義することで、処理の順番や誰が実行するのかを意識の外に出せるのが 宣言的プログラミング のメリットです。 手続型プログラミング と 宣言的プログラミング の違いが理解できれば、 UI Kit のような状態に応じて、UIがどのようになって欲しいかを宣言する記述スタイルが Unity と相性がいいことが理解できると思います。","lang":"ja","section":"get_start","summary":"GS2 UIKit for Unity の利用方法について\n","title":"GS2 UIKit for Unity のチュートリアル","url":"/ja/get_start/uikit/"},{"content":"ユーザーやクレデンシャル(認証情報）の追加は GS2-Identifierの管理画面から行えますが、GS2-Deployを利用するとより簡単です。 GS2-Deployは継続的デリバリーの実現を目的としたサービスです。 YAML形式で記述されたコードを使ってリソースの自動構築を行えます。 例えば、ユーザーを新規追加するテンプレートを使ってスタックを作成すると、自動で新規ユーザーをGS2-Identifierに追加することができます。 スタックについて GS2-Deployは、テンプレート(GS2内のリソースをどう操作し構築するかの手順が記述されたもの) を元に、実際に各サービスのリソースを操作します。 このテンプレートで構築したリソースを集約したものをスタックといいます。 スタックに対して、内容を変更したテンプレートを再適用すると、更新の処理が実行されます。 変更の差分を検出し、新たに作成が必要になったリソースは新規作成、更新が必要なリソースは更新、削除が必要なリソースは自動で削除を、それぞれのリソースに対して行います。 この仕組みによって開発者は、要らなくなったリソースを削除する、などのオペレーションを行う必要がなくなり、望んでいるリソースの状態をテンプレートに記述するだけで自動で構築が可能になります。 それでは実際にテンプレートを使ってスタックを作成してみましょう。 例に示したのは、 ApplicationAccess 権限を設定したユーザーを作成する テンプレート のサンプルです。 ApplicationUserName: application の部分を変更すると、GS2-Identifier に作成されるユーザー名を変更できます。 テンプレートをダウンロード この テンプレートファイルを保存します。 続けて、マネージメントコンソールのサイドメニューから Deploy \u003e Stacks を選択します。 スタックの新規作成 で テンプレートデータ に指定してスタックを作成します。 作成したスタックに登録された設定の反映状態は、スタックの 実行状態 の項目で確認できます。 数秒後 CREATE_COMPLETE になり、 クレデンシャルの設定が完了します。 反映完了後に アウトプット タブを選択すると、クレデンシャルの クライアントID と クライアントシークレット が表示されます。 この値は後ほど ゲームアプリ側に設定します。","lang":"ja","section":"get_start","summary":"GS2-Deploy を使用して セットアップを自動化\n","title":"GS2-Deploy","url":"/ja/get_start/tutorial/setup_credential/deploy/"},{"content":"マネージメントコンソールを使用したセットアップは手軽に実行できるのは魅力です。 しかし「同じ環境をもう一つ作って欲しい」というオーダーを受けた時にあなたは絶望するに違いありません。 ゲーム開発では一般的に「開発環境」「検証環境」「本番環境」のように複数のサーバー環境を必要とします。 それぞれで、マネージメントコンソール上で同じ操作を繰り返して GS2 への設定をミスをせず行うのは不可能と言えるでしょう。 GS2-Deploy そこで、GS2 には環境構築のためのマイクロサービスである GS2-Deploy が用意されています。 あなたがクラウドに精通したエンジニアであれば、AWS が提供している Cloud Formation の GS2版 と言うだけで、このマイクロサービスの役割を理解できます。 理解できたあなたはこれ以上このページを読み進める必要はありません。GS2 は Cloud Formation のような機能を使って、マイクロサービスをオーケストレーションできます。 そうではないあなたも安心してください。ここから GS2-Deploy について詳しく解説します。 Infrastructure as Code 管理画面を使用して GS2 への設定を反映することの愚かさについて、すでにあなたが理解している信じています。 このような愚かさに対抗するべく、サーバーインフラの世界では様々な改善が行われてきました。 そして、その成果が Infrastructure as Code(IaC) です。 20年前には、サーバーを新しくセットアップすることになったインフラエンジニアは1台1台にコマンドを入力して環境を構築していました。 「HTTPサーバーをインストール」「HTTPサーバーの設定ファイルを更新」「データベースサーバーをインストール」「データベースにスキーマを登録」 その作業は1台であれば問題ありませんが、100台のサーバーに設定するとなるとどうでしょうか？ 1週間かけて100台のサーバーをセットアップしたが、そのうち数台は設定ミスがあって動かない なんてことが起こっていたわけです。 2006年に Amazon が現代のクラウドの基礎と言える Elastic Compute Cloud をローンチしました。 すると、これまで発注してからサーバーが手元に届くまで数ヶ月待つ必要がありましたが、発注してから5分後にはサーバーが手元にある状態になりました。 これはサーバーインフラの世界に激変をもたらしました。 これまでハードウェアのリードタイムが数ヶ月あるのだから、サーバーのセットアップをしてミスがあれば修正する作業を1週間かけてやっていても、非効率をごまかせていました。 しかし、5分でサーバーを調達した後1週間かけてサーバーをセットアップしているのは何かおかしい と気付いた人たちがいます。 そこで、サーバーのセットアップ手順を自動化し、セットアップにかける時間を短縮するモチベーションが高まりました。 その成果物として、出てきたのが サーバーのセットアップ手順をコード化する IaC です。 IaC によって、サーバーのセットアップ時間は高速かつ正確なものになりました。 IaC のアプローチ IaC には2つのアプローチが存在します。 1つ目は命令型、2つ目は宣言型です。 命令型は「apt install httpd」というようなセットアップ手順のコマンドを羅列させ、それを実行することで自動化しようという考えに基づいています。 これは人間が行なっていたセットアップ手順を自動化しようとした場合、素直なアイデアです。 宣言型は「Webサーバーが必要である」ということを明記します。この時、Webサーバーを作るために必要な手順は考えません。 さて、あなたは この2つの手法はどちらが優れているとおもいますか？ この2つのアプローチに優劣をつけるには、実務に基づいた例を述べるのがわかりやすいでしょう。 あなたは100台のサーバーがあるサービスを任されています。しかし、サービスは利用者が減ってきておりサーバーの台数を半減することを要求されました。 50台を残して、残りの50台は電源を切りました。 その半年後、サービスは好調になり、電源を切った50台のサーバーを再び使用して100台のサーバーを用意することを要求されます。 さて、半年ぶりに電源を入れたサーバーを最新の状態にする必要がありますが、この時 命令型 と 宣言型 の違いが明確になります。 命令型 は前回どこまで命令を実行したのかがわかりません。 一方で、宣言型 は現在の状態と、新しく宣言された状態の差分がわかれば 差分を埋めるための更新をすればいいことになります。 このような過去の事例を参考にして GS2-Deploy は宣言型の IaC を実現しています。 テンプレート GS2-Deploy はテンプレートファイルに GS2 の各マイクロサービスに求める状態を宣言して、適用することで環境構築を行えるようにしています。 マネージメントコンソールを通して GS2-Inventory にリソースを作成した手順をそのまま テンプレート にしてみましょう。 これで、test という名前のネームスペースを作成し、マスターデータを登録するテンプレートの完成です。 このファイルを GS2-Deploy にアップロードすることで環境構築ができるので、環境を新しく作るのももう怖くありませんね。 更新 GS2-Deploy は更新処理でも賢く振る舞います。 前回アップロードしたテンプレートと、新しくアップロードしたテンプレートの差分を検知しします。 増えているものがあれば作成 減っているものがあれば削除 変わっているものがあれば更新 この挙動により、1つのテンプレートファイルを多数の開発者で編集しても問題になりません。","lang":"ja","section":"overview","summary":"GS2-Deploy を使用してマイクロサービスにリソースを作成する\n","title":"GS2-Deploy を使用したセットアップ","url":"/ja/overview/workflow/setup_gs2_resources/automation_setup/"},{"content":"アカウントの作成が完了したら、プロジェクトを作成します。 プロジェクトには料金プランや、請求先を設定できます。 つまり、1つのアカウントでもプロジェクトごとに異なる請求先を設定できます。 これは、パブリッシャーにGS2の利用料金を負担してもらうデベロッパーにとっては有意義な構成のはずです。 プロジェクトの作成が完了したら、GS2の利用を開始するための準備は整いました。","lang":"ja","section":"overview","summary":"GS2にプロジェクトを作成する方法\n","title":"GS2にプロジェクトを作成","url":"/ja/overview/workflow/setup_gs2/create_project/"},{"content":"まずは、GS2 のアカウントとプロジェクトの関係について理解を深めましょう。 アカウントとプロジェクトは以下のデータ構造を持ちます。 Gs2Account \"1\" *-- \"many\" Gs2Project Gs2Project \"1\" -- \"1\" BillingMethod Gs2Project \"1\" *-- \"many\" GS2Resources","lang":"ja","section":"overview","summary":"GS2 の利用を開始する方法\n","title":"GS2の利用開始","url":"/ja/overview/workflow/setup_gs2/"},{"content":"このセクションでは、Game Engine 向けのSDK、GS2 SDK for Unity もしくは GS2 SDK for Unreal Engine 5 のインストール手順について詳述しています。 GS2 SDK for Unityのインストール手順 GS2 SDK for Unity Installer Version 2024.4.1 上記のリンクよりUnityPackege形式のインストーラーをダウンロードします。 新規で Unity プロジェクトを作成するか、既存の Unity プロジェクトを準備し、Unity Editor で開きます。 メニューの 『Assets \u003e Import Package \u003e Custum Packages…』 から gs2-unity-installer_2024.4.1.unitypackage ファイルをインポートします。 Unity Editor のメニューから 『Window \u003e Game Server Services \u003e SDK Installer』 を選択します。 SDK インストーラーのウィンドウが表示されます。『Install』を選択します。 インストールが完了すると、プロジェクトの『Packeges』にSDKがインストールされ、Package Managerでインストールされていることが確認できます。 GS2 SDK for Unity は GS2-CSharp-SDK と GS2 SDK for Unity で構成されています、 インストール完了後、正しく動作しない場合は、一度 Unity Editor を再起動してみてください。 GS2 UIKit for Unityのインストール手順 Unity Editor のメニューから 『Window \u003e Game Server Services \u003e UIKit for Unity Installer』 を選択します。 インストールが完了すると、プロジェクトの『Packeges』にSDKがインストールされ、Package Managerでインストールされていることが確認できます。 インストール完了後、正しく動作しない場合は、一度 Unity Editor を再起動してみてください。 GS2 SDK for Unreal Engine 5 のインストール手順 プロジェクトプラグインとしてインストール 新規で Unreal プロジェクトを作成するか、既存の Unreal プロジェクトを準備します。 GitHubの GS2 SDK for Unreal Engine 5 リポジトリ からソースコードをCloneします。 もしくはZip形式でダウンロードし、任意のフォルダーに展開します。 ソースコード一式を Unreal プロジェクトにコピーします。 Unreal プロジェクト内の以下のフォルダに配置してください。 (Unreal プロジェクト)/Plugins/Gs2Plugin Plugins フォルダが存在しない場合は新規作成してください。 Plugins フォルダ内に Gs2Plugin フォルダを作成し、その中にダウンロードしたファイル一式をコピーします。 Unreal Editor で uprojectファイルを起動します。 プラグイン ウィンドウを開き、GS2 プラグインにチェックをつけて有効化します。 Unreal Editor を再起動してください。 GS2プラグインのビルドを確認するダイアログが表示されますので、「はい」　を選びます。 環境によりますが、ビルドには相応の時間がかかります。 プラグインのビルドに成功すると Unreal Editorが起動します。 以上でインストールは完了です。 エンジンプラグインとしてインストール Unreal EngineソースコードをGithubもしくはPerforceから取得し、Engineをビルドしている環境に エンジンプラグインとしてインストールが可能です。 GitHubの GS2 SDK for Unreal Engine 5 リポジトリ からソースコードをCloneします。 もしくはZip形式でダウンロードし、任意のフォルダーに展開します。 Unreal Engineソースコード内に以下のフォルダを作成し、フォルダ内にダウンロードしたソースコード一式をコピーしてください。 (Unreal Engineソースコード)/Engine/Plugins/Gs2Plugin GenerateProjectFiles.batを実行して プロジェクト ファイルを更新します。 UE5.sln ファイルを開き、Unreal Engineをビルドします。 ビルドが完了したら UnrealEditorを起動し、GS2プラグインを有効化後、UnrealEditorを再起動してください。 以上でインストールは完了です。","lang":"ja","section":"get_start","summary":"GS2-SDK を Unity または Unreal Engine にインストールする\n","title":"SDKのセットアップ","url":"/ja/get_start/tutorial/setup_sdk/"},{"content":"UI 構成 まずシーンの全体像をお見せします。 画面上部にメッセージリスト、下部にテキスト入力フィールドと送信ボタンを配置しています。 コンテキスト Context の配置について解説します。 A は GS2-Chat のルームコンテキストです。 B は GS2-Chat のメッセージリストコンテキストです。 C は GS2-Chat のメッセージコンテキストです。 実装解説 メッセージ一覧の取得 ルームコンテキスト には事前に GS2-Chat で作成しておいたルームの情報を設定しています。 メッセージリストコンテキストには、2つのコンポーネントをつけてあります。 Gs2ChatMessageListFetcher はルームコンテキストで指定されたルーム内のメッセージの一覧を取得します。 Gs2ChatMessageList は Fetcher が取得したデータに基づいて、GameObject を作成します。 Maximum Items はリスト内の要素を生成する最大数です。 起動時に Maximum Items の数だけ Prefab として指定した GameObject を複製してインスタンス化します。 リストアイテムの増減にあわせてインスタンス化しなおすのはコストが高いため、事前に全ての GameObject をインスタンス化し、不要なものは非表示にします。 実行時の状態例 大量にインスタンス化された Message ノード。 Prefab には メッセージコンテキスト を持つ GameObject を指定することができ、表示する際にはかならず Fetcher から取得したメッセージのうち1つが設定されます。 実行時の状態例 インスタンス化した Message に割り当てられた メッセージコンテキスト の状態。 メッセージの表示 メッセージコンテキストには3つのコンポーネントを付けています。 Gs2ChatMessageContext には Message を指定していません。これは Gs2ChatMessageList によって値が設定されることを想定しているためです。 Gs2ChatMessageFetcher は Gs2ChatMessageContext に指定されたメッセージの情報を取得し、保持します。 Gs2ChatMessageEnabler は Gs2ChatMessageFetcher が値の取得を完了したら Text ノードを有効化するように設定しています。 Text には Gs2ChatMessageLabel を指定し、Message の metadata の内容をテキストに反映するように設定しています。 メッセージを投稿 メッセージの投稿を行うには GS2-Chat の Post API を呼び出す必要があります。 UI Kit には、Post を実行するための Prefab である Gs2ChatMessagePostAction が用意されています。 この Prefab は有効化されるとAPIが呼び出されるため、初期状態で無効化しておきます。 投稿するメッセージには2つのパラメーターを設定できます。 名前 説明 Category メッセージの種類 Metadata メッセージの本文 Category には任意の数字を指定でき、「0」はテキストメッセージ「1」はステッカー のようにカテゴライズし、Metadata の読み込み方法を決定する情報とすることができます。 Metadata はメッセージの本文です。 今回のサンプルでは Category は 0 のみを使用し、Metadata には生の文字列を指定することにします。 成功時には OnPostComplete が呼び出され、自分自身の GameObject を無効化し、InputField の入力内容を空に初期化しています。 InputField で OnValueChanged で入力フィールドの値の変更をハンドリングして、Gs2ChatMessagePostAction の Metadata に値を設定しています。 送信ボタンの OnClick イベントで Gs2ChatMessagePostAction Prefab を有効化しています。 動作確認 （事前に動作確認したことで3件のメッセージが存在します） ddd と入力し、送信ボタンを押します。 メッセージリストに ddd が追加され、InputField が初期化されます。 最後に UI Kit の 宣言的プログラミング の面白さが伝わったでしょうか？ メッセージの送信処理をした後、メッセージ一覧を取り直すような処理をわざわざ記述しなくても コンポーネントとして「メッセージ一覧を表示する」「メッセージの metadata の内容をテキストに反映する」という設定をするだけで挙動を制御できます。","lang":"ja","section":"get_start","summary":"もう少し高度なチュートリアルにも挑戦してみましょう","title":"UI Kit を使ってテキストチャットを実装","url":"/ja/get_start/uikit/chat/"},{"content":"ここでは、全てのマイクロサービスに共通するトランザクション処理について解説します。 トランザクション処理は for Game Engine とそれ以外で大きく方針が異なります。 原則として、for Game Engine は開発者がより楽をできるようユーティリティクラスが充実しており ユーティリティクラスを用いたトランザクション処理を行う点が異なります。","lang":"ja","section":"api_reference","summary":"ここでは、全てのマイクロサービスに共通するトランザクション処理について解説します。\nトランザクション処理は for Game Engine とそれ以外で大きく方針が異なります。 原則として、for Game Engine は開発者がより楽をできるようユーティリティクラスが充実しており ユーティリティクラスを用いたトランザクション処理を行う点が異なります。","title":"トランザクション処理","url":"/ja/api_reference/transaction/"},{"content":"GS2 を利用したネットワーク機能の実装において、エラーハンドリングはゲームの安定性とユーザー体験（UX）に直結します。 ここでは、単なる例外のキャッチに留まらない、実践的な実装パターンを紹介します。 1. エラーの分類と対応方針 GS2 の例外は、その性質によって大きく 3 つに分類できます。 分類 該当する例外 (例) 対応方針 一時的なエラー InternalServerError , ServiceUnavailable , RequestTimeout 自動リトライ 。数回試行してもダメな場合はエラーダイアログを表示。 ロジック/設定エラー BadRequest , NotFound 開発中に解消すべきエラー 。リリース後はバグとしてログ収集し、ユーザーには適切なメッセージを表示。 認証・状態エラー Unauthorized , Conflict , QuotaLimitExceeded 特別なリカバリ処理 が必要。再ログインや、データの再同期（ドメインの再取得）を行う。 2. リトライ戦略の実装（指数バックオフ） サーバーの過負荷や一時的なネットワークの不安定さによるエラーに対しては、即座にリトライするのではなく、間隔を空けてリトライする「指数バックオフ（Exponential Backoff）」が推奨されます。 Unity / C# での例（自動リトライ） public async Task ExecuteWithAutoRetry (Func \u003e action, int maxRetries = 3) { for (int i = 0; i 手動リトライの判断 RecommendAutoRetry が false かつ RecommendRetry が true の場合（例： ConflictException や QuotaLimitExceededException ）、自動で何度も繰り返すと状況を悪化させる可能性があるため、ユーザーに確認を促すダイアログを表示してリトライさせるのが一般的です。 3. 認証エラー ( UnauthorizedException ) の自動リカバリ アクセストークンの有効期限切れなどで UnauthorizedException が発生した場合、ユーザーにタイトル画面へ戻るよう促すのではなく、バックグラウンドで自動的にログインし直してリクエストを再試行するのが理想的です。 実装イメージ try { await gs2.Inventory.Namespace(\"...\").Me(GameSession).Inventory(\"...\").ModelAsync(); } catch (Gs2.Core.Exception.UnauthorizedException) { // 1. バックグラウンドで再ログイン処理を実行 GameSession = await ReLogin(); // 2. 新しい GameSession を使ってリクエストを再試行 await gs2.Inventory.Namespace(\"...\").Me(GameSession).Inventory(\"...\").ModelAsync(); } 4. コンフリクト ( ConflictException ) の解消 スタンプシートの実行中に通信が途切れた際などに ConflictException が発生することがあります。これは「前回の処理がまだサーバー側で完了していない、あるいは重複している」ことを示します。 対応策 : 多くの場合は単純なリトライで解消されます。GS2 SDK の高レベル API（Domain オブジェクト）を使用している場合、内部のキャッシュとサーバーの状態に不整合がある可能性があるため、Domain オブジェクトを再取得してからリトライすることをお勧めします。 5. ユーザーへのフィードバック（UX） 全てのエラーでダイアログを表示すると、ユーザーはストレスを感じます。 サイレント・リトライ : 一時的なエラーは、まずバックグラウンドで 1〜2 回リトライします。その間、UI には「通信中…」のインジケータを表示するに留めます。 回復可能なダイアログ : リトライしても失敗した場合、「通信に失敗しました。電波の良い場所で再度お試しください」といったメッセージと [リトライ] [タイトルへ] ボタンを表示します。 致命的なエラー : メンテナンス中やアプリバージョンの強制アップデートが必要な場合は、タイトル画面へ戻す以外の選択肢がない専用のダイアログを表示します。 まとめ リトライ可能なエラーには 指数バックオフ を適用する。 認証エラーは 自動再ログイン で隠蔽する。 開発中は カオスモード を有効にして、これらのハンドリングが正しく機能するか検証する。","lang":"ja","section":"articles","summary":"GS2 を使用したゲーム開発における、実践的なエラーハンドリングとリトライ戦略のベストプラクティス\n","title":"エラーハンドリングの実装パターン","url":"/ja/articles/tech/error/pattern/"},{"content":"ゲームサイクル graph TD MainGame[\"メインゲーム\"] -- もっと強くなりたい --\u003e Enhance[\"キャラクターの育成\"] MainGame[\"メインゲーム\"] -- 有利な属性のキャラクターが欲しい --\u003e Gacha[\"ガチャ\"] Gacha -- 手に入れたキャラクターを育成したい --\u003e Enhance Enhance -- キャラクターを育成した成果を見たい --\u003e MainGame これが日本式メタゲームのサイクルです。 読み解けばわかりますが、全ての起点となっているのがガチャです。 クエストのエネミー特性に対して有利なキャラクターをガチャで入手し、 入手したキャラクターを育成して、高難度のクエストをクリアしていくゲームサイクルになっています。 あなたがお金儲けをするつもりがなく、プレイヤーのエンゲージメントを最大化したいだけであれば、キャラクターの出所はガチャでなくても構いません。 メインゲームの報酬（シナリオの進行でキャラクターが加入など）としてもいいでしょう。 このゲームサイクルには以下のポイントでプレイヤーに満足を与えています。 graph TD MainGame[\"メインゲーム\"] --\u003e Enhance[\"キャラクターの育成\"] MainGame[\"メインゲーム\"] --\u003e Gacha[\"ガチャ\"] Gacha -- レアキャラクターを手に入れた --\u003e Enhance Enhance -- クリアできなかったクエストをクリアできた --\u003e MainGame このゲームサイクルの本質はガチャではなく、キャラクターの育成を数週間〜数ヶ月かけて行い その成長にあわせてメインゲームが少しずつ進めるようになるという、じっくり遊ぶゲームサイクルを実現していることです。 ただし、マネタイズを考えた場合 現在のガチャ の位置は効果的な位置にあるということも同時に理解するべきです。 キャラクターの育成 さて、キャラクターを育成するゲームデザインについて、もう少し掘り下げてみましょう。 単純に「育成」といっても、その実現方法は様々なアプローチが存在しています。 レベル もっともわかりやすい成長要素としてキャラクターのレベルがあります。 キャラクターをパーティに編成してメインゲームをプレイすることで、少しずつ経験値を獲得してレベルが上がっていきます。 ガチャの存在するゲームの特徴として、不要なキャラクターが増え続けるという問題があります。 この問題を解決するために、不要なキャラクターを素材としてキャラクターに合成することで経験値を得られる仕組みを提供することも一般的に行われています。 むしろ、成長の手段としてはメインゲームを遊んで経験値を稼ぐより、この合成によって経験値を稼ぐ方が効率的に行え、プレイヤーも成長のためにはメインゲームを遊ぶより合成の方が合理的と考えてプレイしてます。 レベルキャップ キャラクターにはレベルキャップが定義されています。 一般的に、ガチャから排出率が低いキャラクターほどレベルキャップが高く設定されています。 しかし、ゲームによっては低レアリティキャラクターは初期のレベルキャップが低いだけで、レベルキャップを引き上げていけば高レアリティキャラと同じレベルまで引き上げることができるようになっているものもあります。 このあたりの設計は、ゲームデザイナーの腕の見せ所だと思います。 具体的なレベルキャップの引き上げ方法は、同じキャラクターの合成や強化素材の合成で実現するのが一般的です。 前者は経済的な努力、後者は時間的な努力で実現すると捉えれば、どのようにプレイヤーに報いていくのか方針が立てやすいかもしれません。 同じキャラクターの合成 ガチャでは、どうしても既に入手済みのキャラクターを再度入手してしまう状況になってしまいます。 すでに入手しているキャラクターがガチャから排出された場合の使い道として、キャラクターのレベルキャップの引き上げができることが一般的です。 同じキャラクターを合成することで、レベルキャップを10引き上げられることで、そのキャラクターはより強くなれる ということです。 多くのゲームで、レベルキャップの引き上げは5段階ほど用意されています。 強化素材の合成 クエストを攻略した際に確率的にドロップする強化素材を使用してレベルキャップを引き上げられるようにするのも一般的に行われています。 レベルキャップを引き上げていくことに高難度のクエストでしかドロップしなかったり、ドロップする確率が低い素材を必要とするデザインが行われます。 キャラクターの特性 キャラクターには様々な特性を用意します。 様々な個性的なキャラクターを提供し、プレイヤーにどのキャラクターを今育成するべきか判断させるのも一つの遊びです。 属性 わかりやすい例では 地水火風 のような属性です。 火属性の敵が出現するクエストには水属性のキャラクターをパーティに編成してプレイする方が有利 となれば、水属性のキャラクターを必要とするプレイヤーが増えるでしょう。 ロール 次にわかりやすいのは、攻撃役・回復役・盾役のようなロールでしょう。 パーティを編成するにあたって、属性だけでなくロールも考慮して編成することでゲームに深みが出ます。 スキル 次にスキルです。 回復役 といってもそのスキルの設計は大きく3種類あります。 即時回復 徐々に回復 バリア 回復スキルを使った瞬間に回復できるタイプの回復役は使い勝手がいいでしょう。 徐々に回復するが総回復量は即時回復のヒーラーより多いようなスキルも、使用するタイミングは難しいかもしれないが、ゲーム性を底上げしてくれそうです。 バリアも面白いですね。ダメージ自体を受けないようにバリアを切らさないように運用するテクニカルなプレイができそうです。 キャラクター以外の育成要素 キャラクターだけでなく、装備もガチャで提供することも一般的におこなわれています。 当然、装備にもレベルが用意され、キャラクターと同じように育成できるようにしています。 様々な育成要素があることで、マネタイズの観点では有効となりますが、 あまりに多すぎるとプレイヤーに見透かされてしまいます。バランスをとることも重要です。 ガチャが生み出すパーティ編成のゲーム性 ガチャでキャラクターを入手するようなゲームサイクルにすると、面白い副作用が発生します。 全員が同じ手札を持つことはありませんので、自分の持つ手札の中でこれからチャレンジするクエストにとって最適なパーティ編成はなんなのか。 トレーディングカードゲームのデッキ編成のような遊びをプレイヤーに提供できます。 お金を払わないとゲームを楽しめないのか 日本式メタゲームのゲームをプレイした経験の少ない開発者からよく受ける質問です。 当然、自由にパーティ編成できないので、お金を払っているプレイヤーよりは楽しみの幅は狭くなります。 しかし、ゲームの運営方針として、どんどんプレイヤーに無料でガチャを回させることでこの問題に対処しています。 ゲームを始めた瞬間に30回（1万円相当）くらい無料でガチャを引かせるのも一般的に行われますし、イベント期間中毎日1回無料でガチャを引けるようにすることでエンゲージメントを高めることも一般的に行われています。 あとはクエストの進行に合わせて、ガチャを引くために必要なゲーム内通貨をプレゼントするのも一般的です。 大体1ヶ月間毎日プレイすれば、無課金のプレイヤーでも20回〜30回ほどガチャが引けるゲームが多いです。 私が知る限り最も大盤振る舞いしているゲームは グランブルーファンタジー ですが、このゲームは定期的に毎日10回〜100回ランダムで無料でガチャが引けるルーレットイベントを開催しています。 また、ゲームのメインストーリーを進める分には高レアリティキャラクターは数体いれば十分で、 高難度のエンドコンテンツを遊ぶような熱心なプレイヤーには、高レアリティキャラクターで編成したパーティを求めるようなゲームデザインを行うことで無課金でも十分楽しめるゲームを提供できます。 無課金のプレイヤーを増やす意味とは？ これは多くの人が疑問に思うかもしれません。 無課金プレイヤーからは一定の割合で課金プレイヤーが誕生します。 無課金プレイヤーを増やさなければ、課金プレイヤーも増えることはありません。その先にあるのはプレイヤー人口の縮小です。 長期運営型ゲームでは、どれだけエンゲージメントを高める取り組みをしても、プレイヤーが抜けていくことはおこります。 そのため、新規プレイヤーを呼び込み、プレイヤー人口を最大化し、少しでもエンドコンテンツを遊ぶようなプレイヤーを増やしていくことに大きな意味があります。 ゲーム売り上げの目標値は？ これはビジネスの方針や、地域の経済力によって大きく左右される部分ではありますが、 一般的に日本では ゲームプレイヤー1人に対して1ヶ月あたり1,000円の売り上げを見込んで設計しています(ARPU 1,000円) このゲームプレイヤー1人 というのは無課金プレイヤーも含んだ数字です。 つまり、多くの支出をしているプレイヤーはその何倍も支払っているということになります。 ゲームデザインをする際には、1ヶ月10万円支払うような高額課金プレイヤーが存在することも念頭において、デザインすることも重要です。 原神はリリースから 27ヶ月で 5,000億円 売り上げています。 これを ARPU 1000円 と考えると、月平均1850万人がプレイしていると捉えることができます。 スマートフォンだけでも1.1億回以上ダウンロードされているようですので、現実的なラインですね。 （それにしても凄まじいプレイヤー数だ…） 2023-02-11 Kazutomo Niwa","lang":"ja","section":"design_knowledge","summary":"日本で生まれたガチャを軸としたメタゲームについて","title":"ガチャを軸としたメタゲームとは","url":"/ja/design_knowledge/japanese_metagame/"},{"content":"Game Server Services を使用した開発の流れと、その時々で活用できる機能について解説します。 graph TD ProjectPlanning[\"プロジェクトの立案\"] --\u003e ArchitectGs2 subgraph 設計 ArchitectGs2[\"プロジェクトにGS2をどのように活用するか検討\"] end subgraph GS2の利用を開始 ArchitectGs2 --\u003e HasGS2Account HasGS2Account{\"すでにGS2のアカウントを持っている\"} -- NO --\u003e RegistrationAccount[\"GS2のアカウントを作成\"] --\u003e CreateGS2Project HasGS2Account -- YES --\u003e CreateGS2Project[\"GS2にプロジェクトを作成\"] end subgraph GS2にリソースを作成 CreateGS2Project --\u003e CreateResource CreateResource[\"GS2にリソースを作成\"] end subgraph 実装 CreateResource --\u003e CodingGame CodingGame[\"ゲームを開発\"] end subgraph 検証 CodingGame --\u003e QA QA[\"QA\"] end subgraph リリース QA --\u003e Launch Launch[\"サービスローンチ\"] end subgraph 分析 Launch --\u003e AnalyticsGame AnalyticsGame[\"プレイヤーの行動を分析\"] end AnalyticsGame --\u003e CreateResource","lang":"ja","section":"overview","summary":"Game Server Services を利用したゲーム開発の流れ\n","title":"開発の流れ","url":"/ja/overview/workflow/"},{"content":"GS2-Deploy は環境構築のために素晴らしい成果をあげています。 しかし、テンプレートの記述方法にはまだ課題がありました。それは、テンプレートファイルを記述するのに入力支援が得られないことです。 GS2-Deploy を設計するのに AWS の Cloud Formation を参考にしたのはすでに説明した通りですが、 2019年に AWS が発表したのが AWS CDK(Cloud Development Kit)です。 これは、従来のJSONやYAMLでのテンプレートファイルを記述するのに入力支援を得られない という問題の解決策として、各種プログラミング言語でテンプレートを記述できるようにしよう という成果です。 2019年のサービス開始から、GS2 はずっと JSON/YAML によるテンプレートのデプロイ機能を提供してきましたが、2022年11月に GS2 も CDK のサポートを開始しました。 CDK は現在 Go / Java / PHP / Python / TypeScript をサポートしています。 それぞれのプログラミング言語で、GS2-Inventory の GS2-Deploy 用のテンプレートを生成するコードを記述した例が以下です。 生成したテンプレートファイルを GS2-SDK を使用してマスターデータとして反映するところまで繋げば、GS2 のリソースメンテナンスを全てプログラミング言語上で完結することが可能となります。","lang":"ja","section":"overview","summary":"GS2-CDK を使用して GS2-Deploy のテンプレートを作成する\n","title":"GS2-CDK を使用したセットアップ","url":"/ja/overview/workflow/setup_gs2_resources/cdk_setup/"},{"content":"途中までは一般的なチュートリアルと同じ手順となります。 GS2のセットアップ SDKのセットアップ クレデンシャル(APIキー)の作成 ログイン処理に必要なリソースを準備 クライアントの初期化 GS2::Core::Action::Initialize ノードを作成し、clientId / clientSecret / 接続先のリージョンを設定します。 clientId / clientSecret には クレデンシャル(APIキー)の作成 で作成した値を設定します。 初期化に成功した場合は OnSuccess が呼び出され、失敗した場合は OnError が呼び出されます。 成功時は Client に GS2 のクライアントオブジェクト、失敗時は Error に失敗理由のエラーオブジェクトが返されます。 GS2-Account クライアントの生成 初期化した際に得られた Client オブジェクトを指定して GS2::Account::Service ノードを作成します。 Service に GS2-Account の機能を利用するためのサービスクライアントが返されます。 Namespace オブジェクトの生成 GS2-Account のサービスクライアントを指定して GS2::Account::Namespace ノードを作成します。 Namespace Name には ログイン処理に必要なリソースを準備 で作成したネームスペース名を指定します。 Namespace に GS2-Account の Namespace オブジェクトが返されます。 匿名アカウントの新規作成 GS2-Account の Namespace オブジェクトを指定して GS2::Account::Action::Create ノードを作成します。 アカウントの作成に成功した場合は OnSuccess が呼び出され、失敗した場合は OnError が呼び出されます。 成功時は Account に作成したアカウントオブジェクト、失敗時は Error に失敗理由のエラーオブジェクトが返されます。 アカウントオブジェクトから値の取り出し アカウントオブジェクトを指定して GS2::Account::Fetch::GetValueOfAccount ノードを作成します。 アカウントの値の取り出しに成功した場合は OnSuccess が呼び出され、失敗した場合は OnError が呼び出されます。 成功時は Value にアカウントオブジェクトの値、失敗時は Error に失敗理由のエラーオブジェクトが返されます。 構造体を展開することで、発行されたユーザーIDやパスワードを取り出すことができます。 ログイン ログイン処理を実行するために、 GS2::Core::Action::Login ノードを作成します。 Login ノードは Client と Authenticator の指定が必要となります。 Client には GS2::Core::Action::Initialize ノードで作成した Client を指定します。 Authenticator には GS2::Core::CreateGs2Authenticator ノードで作成した Authenticator を指定しています。 UserId / Password には先程作成したユーザーIDとパスワードを指定しています。 ログインに成功した場合は OnSuccess が呼び出され、失敗した場合は OnError が呼び出されます。 成功時は AccessToken に作成したアクセストークンオブジェクト、失敗時は Error に失敗理由のエラーオブジェクトが返されます。 アクセストークンはログインが必要なAPIの呼び出しで必要なパラメーターです。 ログイン後に呼び出せるAPIの呼び出し ログイン後に呼び出せるAPIの呼び出し例として、引き継ぎ情報の一覧を取得してみます。 アクセストークンオブジェクト を使用して GS2::Account::Me で自分のアカウントオブジェクトを作成します。 その後、自分のアカウントオブジェクトを使用して GS2::Account::Fetch::ListOfTakeOver ノードを作成し、引き継ぎ情報の一覧を取得します。 引き継ぎ情報の一覧の取得に成功した場合は OnSuccess が呼び出され、失敗した場合は OnError が呼び出されます。 成功時は Values に引き継ぎ情報の配列、失敗時は Error に失敗理由のエラーオブジェクトが返されます。 Values を For Each Loop ノードでループしながら値を取り出しています。","lang":"ja","section":"get_start","summary":"GS2-SDK for UE5 Blueprint でアカウントを作成してログインするまでを実装してみましょう","title":"GS2-SDK for UE5 Blueprint のチュートリアル","url":"/ja/get_start/blueprint/"},{"content":"まずは、プロジェクトとリージョン、マイクロサービスの関係について理解を深めましょう。 プロジェクトとマイクロサービスは以下のデータ構造を持ちます。 Gs2Project \"1\" *-- \"many\" Region Region \"1\" *-- \"many\" Microservice Microservice \"1\" *-- \"many\" Namespace Namespace \"1\" *-- \"many\" Resource リージョン プロジェクトの直下にはリージョンが存在します。 リージョンは GS2 がマイクロサービスを提供するのに使用しているデータセンターの地域を表します。 マイクロサービス 所持品の管理や、マッチメイキング、ゲーム内ストアなど様々な機能があります。 これらはリージョンごとにホストされ、マイクロサービスのデータベースは地域ごとに分断します。 リアルタイム通信ではプレイヤーの最も近い地域でホストしたマシンで動かすことが正義とされますが、GS2が提供するマイクロサービスの多くはリアルタイム性をそこまで求めない機能が大半を占めています。 そのため、GS2-Realtime のみ複数のリージョンに展開し、その他のマイクロサービスは1箇所のリージョンに固めて利用するという方法も考えられます。 ネームスペース 各マイクロサービスは複数のネームスペースを持つことができます。 ネームスペース間は完全に分断しますが、複数のスペースを持つことができます。 GS2-Inventory を利用する際に「消費型アイテムを保持するネームスペース」「ゲーム内通貨を保持するネームスペース」「入手したキャラクターを保持するネームスペース」のように分けて管理することができます。 リソース 各ネームスペースは固有のリソースを持ちます。 リソースには大きく2種類存在します。 マスターデータ ユーザーデータ マスターデータ GS2-Inventory であれば、どのようなアイテムが存在するのか。GS2-Showcase であれば、どのような商品が販売されているのか。GS2-Schedule であればどのようなイベントが予定されているのか。 開発者側があらかじめ定めたデータを保持する領域です。 ユーザーデータ ゲームプレイヤーが個別に保持するデータです。 GS2-Inventory であれば、アイテムをいくつ持っているのか。GS2-Quest であれば、どのクエストがクリア済みか。 ゲームを運営していく上で、勝手に増加していくデータを指します。 リソースの作成方法 リソースを作成する方法には大きく分けて 2 つあります。 1. マネージメントコンソールから手動で作成 ブラウザから GS2 のマネージメントコンソールにログインし、UI 上で設定を入力してリソースを作成します。 試行錯誤している段階や、設定項目が少ない場合には手軽で便利です。 2. GS2-Deploy を使用して自動作成（推奨） YAML 形式のテンプレートファイルを作成し、GS2-Deploy にアップロードすることでリソースを自動作成します。 この方法には以下のようなメリットがあるため、本格的な開発ではこちらが推奨されます。 再現性 : 同じ設定のリソース（開発環境、本番環境など）を確実に再現できる。 バージョン管理 : テンプレートファイルを Git 等で管理することで、設定の変更履歴を残せる。 一括管理 : 複数のサービス（Inventory, Quest, Accountなど）のリソースをまとめて定義できる。","lang":"ja","section":"overview","summary":"GS2 の各マイクロサービスにリソースを作成する\n","title":"GS2にリソースを作成","url":"/ja/overview/workflow/setup_gs2_resources/"},{"content":"Game Server Services は原則として pay-as-you-go スタイルの料金を採用しています。 料金プラン プラン名称 対象 価格 Individual 過去12か月間の売上高が1000万円未満の法人または個人 無料 Professional Individual プランに該当しない法人または個人 利用料金に準ずる Enterprise Individual プランに該当しない法人または個人 ASK Individual プランの注意事項 「過去12か月間の売上高が1000万円未満」の定義は、GS2を利用するゲームによる売り上げではなく、他の事業の売り上げも含みます。 月の平均リクエスト回数が秒間10回または、一定期間継続して秒間リクエスト回数が100回を超える場合は Individual プランの対象外となります。 対象外となった場合、アプリケーションの改修に必要な時間は考慮しますが、速やかに対応ください。 Individual プランを利用してゲームをローンチする際は、 起動シーケンス もしくは タイトル画面 に GS2 のロゴを掲載する必要があります。 ゲームのリリースの目処がたったタイミングで、チャットよりロゴデータと表示に伴うガイドラインを受け取ってください。 無料枠 Professional / Enterprise プランをご利用の際も、毎月1万円を超過するまでは無料でご利用いただけます。 1万円を超過すると超過分のみではなく、全利用額の請求が発生します。 利用料金 一般的な料金 APIリクエスト または リストAPIリクエスト30件以上のデータ取得時に30件ごと ティアー 価格 - 100,000,000 0.01円 100,000,001 - 500,000,000 0.008円 500,000,001 - 2,500,000,000 0.006円 2,500,000,001 - 7,500,000,000 0.004円 7,500,000,001 - 0.003円 年間一括払い 100,000,000 リクエスト/月 利用コミットメントあたり 360万円/年 月々の利用量がコミットメントを下回ったとしても返金はありません。 コミットメントを超過した利用料金については、月々のコミットメント量のティアーから利用料金を計算します。 料金例 前提： 1,000,000,000 リクエスト/月 の利用をコミットメントする場合 先払い金: 3,600万円 例1: 500,000,000 リクエスト/月（コミットメントを下回った場合） 月々の支払額: 0円/月 総額: 3,600万円 + 0円/年(0円 * 12ヶ月) = 3,600万円 通常利用料金では 420万円/月 = 5,040万円/年 となるため、実際の利用料がコミットメント量を下回ったとしても、1,440円/年 の節約 例2: 3,000,000,000 リクエスト/月(2,000,000,000 リクエスト超過) 月々の支払額: 1,500,000,000 リクエスト * 0.006円 + 500,000,000 リクエスト * 0.004円 = 1,100万円/月 総額: 3,600万円 + 1億3,200万円(1,100万円 * 12ヶ月) = 1億6,800万円 通常利用料金では 1,940万円/月 = 2億3,280万円/年 なので 6,480万円/年 の節約 サービスごとの追加料金 GS2-Datastore アクション 単位 価格 データの保存容量 1GB 10円 データのダウンロード容量 1GB 30円 GS2-Freeze アクション 単位 価格 基本使用量 ステージ/月額 300,000円 1ヶ月より前のバージョンを利用しているステージ(基本使用量に対して追加) ステージ/月額 3,000,000円 GS2-Freeze を使用する場合も最新のバージョンを追従することに最大限のリソースを割いてください。 GS2-Freeze でGS2のコードベースを固定することは安定性の向上にはつながりますが、脆弱性への対応速度の低下につながる可能性があります。 GS2-Guard アクション 単位 価格 基本利用料 ネームスペース/月額 20,000円 APIリクエスト ティアー 価格 - 10,000,000 0.005円 10,000,001 - 50,000,000 0.004円 50,000,001 - 250,000,000 0.003円 250,000,001 - 750,000,000 0.002円 750,000,001 - 0.001円 GS2-Log アクション 単位 価格 オンデマンド GS2-Insight の利用 1分 1円 ログの記録 1件ごと ティアー 価格 - 10,000,000 0.005円 10,000,001 - 50,000,000 0.004円 50,000,001 - 250,000,000 0.003円 250,000,001 - 750,000,000 0.002円 750,000,001 - 0.001円 ログの保管場所に GS2 を指定している場合の追加料金 アクション 単位 価格 ログの記録容量 1GB 5円 ログ参照時 スキャン容量 1GB 2円 GS2-Money 通常のAPI利用料金に加えて月間の流通額に対するレベニューシェアが適用されます。 月間流通額の範囲 レベニュー ¥0 〜 ¥999,999 10% ¥1,000,000 〜 ¥9,999,999 5% ¥10,000,000 〜 ¥99,999,999 3% ¥100,000,000 〜 ¥999,999,999 1% ¥1,000,000,000 〜 ¥100,000,000,000 0% レベニューシェアに対しては通常の無料枠の適用はありませんが、月間の流通額が 10,000円 に満たない場合は例外として利用料金を頂戴しません。 GS2-Money2 GS2全体の利用料金が下記に示すレベニューシェアを下回る場合に、月間の流通額に対するレベニューシェアが適用されます。 消費型コンテンツ 月間流通額の範囲 レベニュー ¥0 〜 ¥999,999 10% ¥1,000,000 〜 ¥9,999,999 5% ¥10,000,000 〜 ¥99,999,999 3% ¥100,000,000 〜 ¥999,999,999 1% ¥1,000,000,000 〜 ¥100,000,000,000 0% 定期購入コンテンツ 購読額の1% 特記事項 レベニューシェアに対しては通常の無料枠の適用はありませんが、月間の流通額が 10,000円 に満たない場合は例外として利用料金を頂戴しません。 GS2-News アクション 単位 価格 サイトビルド 1パターン 1円 サイトデータダウンロード容量 1GB 30円 GS2-Ranking グローバルランキング アクション 単位 価格 集計処理 ランキング対象スコア1万件 2円 スコープランキング アクション 単位 価格 スコア登録 スコアの購読数10件 0.01円 GS2-Realtime スペック 単位 価格 realtime1.nano 1分 0.04円 realtime1.micro 1分 0.06円 realtime1.small 1分 0.12円 realtime1.medium 1分 0.24円 realtime1.large 1分 0.5円 アクション 単位 価格 データ転送容量(アウトバウンド) 1GB 15円 ホットスタンバイ アクション 単位 価格 realtime1.nano 1台(5台〜)/月 1,500円 realtime1.micro 1台(5台〜)/月 2,250円 realtime1.small 1台(5台〜)/月 5,500円 realtime1.medium 1台(5台〜)/月 11,000円 realtime1.large 1台(5台〜)/月 23,000円 GS2-Script アクション 単位 価格 スクリプトの実行時間 1秒 0.005円 GS2-SerialKey アクション 単位 価格 シリアルコード発行 1件 0.005円 全てのマイクロサービスにおける特殊な操作 アクション 単位 価格 ユーザーデータのエクスポート 1アイテム 0.001円 ユーザーデータの完全な削除 1アイテム 0.002円 ユーザーデータのインポート 1アイテム 0.002円 1アイテム とは、GS2が内部的に管理するユーザーデータ1件を指します。 ここで示した操作はユーザーIDを指定して実行しますが、この実行時に保存されたデータの件数に応じて複数のアイテムに対する処理が発生します。","lang":"ja","section":"pricing","summary":"Game Server Services の利用料金について\n","title":"GS2の利用料金","url":"/ja/pricing/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 changePasswordIfTakeOver bool false アカウント引き継ぎ時にパスワードを変更するか アカウント引き継ぎ時にパスワードを変更するかどうかを指定します。 この設定により、アカウント引き継ぎを実行した後に引き継ぎ前のデバイスからのログインを制限することができます。 differentUserIdForLoginAndDataRetention bool false ログインに使用するユーザーIDとデータの保持に使用するユーザーIDを異なるものにする ログイン用ユーザーIDとデータ保持用ユーザーIDを分けるかどうかを指定します。 この設定により、プラットフォーマーが規定する個人情報保護の要件を少ない工数で満たせる可能性があります。 ※このパラメータは、ネームスペースの作成時にのみ設定が可能です。 createAccountScript ScriptSetting アカウント新規作成したときに実行するスクリプト アカウント作成のカスタムロジックを実装するのに使用されます。 Script トリガーリファレンス - createAccount authenticationScript ScriptSetting 認証したときに実行するスクリプト 認証プロセスのカスタマイズに役立ちます。 Script トリガーリファレンス - authentication createTakeOverScript ScriptSetting 引き継ぎ情報登録したときに実行するスクリプト 引き継ぎ情報を初めて登録した時に報酬を与えるために、GS2-Mission のカウンターを上昇するなどのカスタムロジックを追加するのに使用されます。 Script トリガーリファレンス - createTakeOver doTakeOverScript ScriptSetting 引き継ぎ実行したときに実行するスクリプト 引き継ぎ処理の追加ロジックを実装するのに役立ちます。 Script トリガーリファレンス - doTakeOver banScript ScriptSetting アカウントBANステータスを追加したときに実行するスクリプト Script トリガーリファレンス - ban unBanScript ScriptSetting アカウントBANステータスを解除したときに実行するスクリプト Script トリガーリファレンス - unBan logSetting LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log のネームスペース情報を保持します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Account ゲームプレイヤーアカウント ゲームプレイヤーを識別するID情報のエンティティです。 ゲームプレイヤーアカウントは匿名アカウントであり、ユーザーID(UUID)とパスワード(ランダムな32文字の文字列)で構成されるため、ゲームプレイヤーはメールアドレスなどの情報を入力する必要はありません。 発行されたゲームプレイヤーアカウントは、デバイスのローカルストレージに保存しておき、次回以降ログインに使用します。 詳細  accountId string ※ ~ 1024文字 ゲームプレイヤーアカウント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  UUID ~ 128文字 ユーザーID password string  ~ 128文字 パスワード アカウントのセキュリティを確保するためのパスワードを格納します。 パスワードは最大128文字の長さを持ち、アカウントの保護に重要な役割を果たします。 timeOffset int 0 0 ~ 315360000 現在時刻に対する補正値（現在時刻を起点とした秒数） 時刻補正値は、サーバーの現在時刻との差分を秒単位で表します。 この値はゲーム内のイベントや機能が特定の時間に合わせて動作する際に使用されます。 banStatuses List [] 0 ~ 10 items アカウントBANステータスリスト アカウントに関連付けられたBAN（アクセス禁止）状態の詳細を格納します。 各エントリにはBANの理由、期間、およびその他の関連情報が含まれます。 banned bool false アカウントBANされているか アカウントが現在BANされているかどうかを示します。 trueの場合、アカウントはアクセス禁止状態にあり、falseの場合はアクセス可能です。 lastAuthenticatedAt long 最終認証時刻 アカウントが最後に認証された時刻です。 この値はアカウントが認証されるたびに更新されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TakeOver 引き継ぎ情報 引き継ぎ情報とは、デバイスの機種変更やプラットフォーム間のアカウントの移動・共有時に使用する情報です。 個人を識別するユニークな文字列とパスワードで構成され、その適切な組み合わせを入力することで、Account(匿名アカウント)を取得することができます。 1つの Account に対して複数の引き継ぎ情報を設定できます。 複数の引き継ぎ情報を設定するにはそれぞれ異なるスロットを指定する必要があります。 スロットには0～1024を指定できますので、最大1025種類の引き継ぎ情報を設定可能です。 具体的な用例としては 0 には Sign in with Apple のアカウント情報を、1 には Google のアカウント情報を保存するようにする。というような使い方が想定されています。 あくまでこの引き継ぎ情報はデータホルダーであり、ソーシャルアカウントとの認証の仕組みは別途用意する必要があります。 詳細  takeOverId string ※ ~ 1024文字 引き継ぎ情報 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 userIdentifier string  ~ 1024文字 引き継ぎ用ユーザーID アカウントを引き継ぐ際に使用される個人を識別するためのユニークなキーです。 異なるアカウントで同一の userIdentifier を指定した場合、後で設定した値が優先されます。 password string  ~ 128文字 パスワード セキュリティを考慮して、このパスワードは機密情報として扱われ、ハッシュ値のみ保存されAPIの応答には値が含まれません。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン PlatformId プラットフォームID X、Instagram、Facebook などの各種プラットフォームにおけるIDを保持します。 他のプレイヤーは各種プラットフォームIDを使用して、プレイヤーを検索することができます。 Instagram のフォロワーや、Facebook のフレンドをゲーム内のフレンドとしてインポートする際に、GS2-Account のアカウントを特定するために使用します。 詳細  platformId string ※ ~ 1024文字 プラットフォームID GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 GS2-Account ユーザーID このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 userIdentifier string  ~ 1024文字 各種プラットフォームにおけるユーザーID 外部プラットフォームにおけるユーザーの一意な識別子（例：ソーシャルメディアのユーザーIDやメールアドレス）です。スロット番号（type）と組み合わせて、特定のプラットフォームアカウントを識別するために使用されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン DataOwner データオーナー データオーナーはネームスペースの設定で「ログインに使用するユーザーIDとデータの保持に使用するユーザーIDを異なるものにする」を指定した際に使用されます。 ユーザーIDとは異なるデータオーナーIDを発行し、GS2-Account の認証処理を通してアクセストークンを受け取った場合に取得できるユーザーIDはデータオーナーIDになります。 詳細  dataOwnerId string ※ ~ 1024文字 データオーナー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID name string  UUID ~ 36文字 データオーナーID データオーナーの一意な識別子として機能します。 データオーナーIDは、データの実際の所有者を表し、ユーザーIDとは異なる可能性があります。 このIDはシステムによって自動的に生成され、各データオーナーに対して一意です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TakeOverTypeModel 引き継ぎ情報タイプモデル 引き継ぎ情報を定義するモデルです。 引き継ぎ情報とは、デバイスの機種変更やプラットフォーム間のアカウントの移動・共有時に使用する情報です。 個人を識別するユニークな文字列とパスワードで構成され、その適切な組み合わせを入力することで、Account(匿名アカウント)を取得することができます。 1つの Account に対して複数の引き継ぎ情報を設定できます。 複数の引き継ぎ情報を設定するにはそれぞれ異なるスロットを指定する必要があります。 スロットには0～1024を指定できますので、最大1025種類の引き継ぎ情報を設定可能です。 具体的な用例としては 0 には Sign in with Apple のアカウント情報を、1 には Google のアカウント情報を保存するようにする。というような使い方が想定されています。 あくまでこの引き継ぎ情報はデータホルダーであり、ソーシャルアカウントとの認証の仕組みは別途用意する必要があります。 詳細  takeOverTypeModelId string ※ ~ 1024文字 引き継ぎ情報タイプモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 openIdConnectSetting OpenIdConnectSetting  OpenID Connect の設定 OpenID Connect 準拠の Identity Provider (IdP) と連携するための設定です。ディスカバリURL、クライアント認証情報、Apple Sign In パラメータなどのプラットフォーム固有の設定が含まれます。 OpenIdConnectSetting OpenID Connect の設定 OpenID Connect 準拠の IdP の設定を登録することで、アカウントの引き継ぎ情報として IdP 連携を利用できるようになります。 詳細  configurationPath string  ~ 1024文字 OpenID Connect 設定 URL OpenID Connect プロバイダーのディスカバリエンドポイント URL です。well-known 形式（例：https://example.com/.well-known/openid-configuration）に従う必要があります。 clientId string  ~ 1024文字 クライアントID IdP に登録されたアプリケーションのクライアントIDです。 clientSecret string {configurationPath} != “https://appleid.apple.com/.well-known/openid-configuration” ※ ~ 1024文字 クライアントシークレット ※ configurationPath が “https://appleid.apple.com/.well-known/openid-configuration” 以外の、その他の IdP 連携であれば 必須 appleTeamId string {configurationPath} == “https://appleid.apple.com/.well-known/openid-configuration” ※ ~ 1024文字 Apple Developer チームID Apple Developer アカウントのチームIDです。Apple Sign In 認証に必要です。 ※ configurationPath が “https://appleid.apple.com/.well-known/openid-configuration” であれば 必須 appleKeyId string {configurationPath} == “https://appleid.apple.com/.well-known/openid-configuration” ※ ~ 1024文字 Apple に登録済みのキーID Sign in with Apple 用に Apple Developer アカウントに登録されたキーIDです。 ※ configurationPath が “https://appleid.apple.com/.well-known/openid-configuration” であれば 必須 applePrivateKeyPem string {configurationPath} == “https://appleid.apple.com/.well-known/openid-configuration” ※ ~ 10240文字 Apple から受け取った秘密鍵 Apple Developer ポータルからダウンロードした PEM 形式の秘密鍵です。Apple Sign In 認証に必要です。 ※ configurationPath が “https://appleid.apple.com/.well-known/openid-configuration” であれば 必須 doneEndpointUrl string ~ 1024文字 認証完了時に遷移するURL 未指定の場合 /authorization/done に遷移します。 Query String に id_token が付与されます。 additionalScopeValues List [] 0 ~ 10 items OpenID Connect で取得する追加のスコープ デフォルトの OpenID Connect スコープに加えて IdP にリクエストする追加の OAuth スコープです。認証時に追加のユーザー情報を取得することができます。 additionalReturnValues List [] 0 ~ 10 items OpenID Connect で取得する追加の返却値 ID トークンまたは UserInfo レスポンスから返却値に含める追加のクレーム名です。指定されたクレームが抽出され、標準の認証結果とともに返却されます。 ScopeValue スコープ値 OpenID Connect 認証時に取得される追加の OAuth スコープ値を表すキーと値のペアです。標準の OpenID Connect クレーム以外に IdP から取得した追加データの保存に使用されます。 詳細  key string  ~ 64文字 名前 認証時に IdP に対してリクエストしたスコープ名です。 value string ~ 51200文字 値 対応するスコープに対して IdP から返却された値です。 PlatformUser 各種プラットフォームにおけるユーザー情報 外部プラットフォームのユーザー情報を保持します。プラットフォーム固有のユーザー識別子と対応する GS2-Account ユーザーIDのマッピングを含み、プラットフォームIDによるプレイヤー検索に使用されます。 詳細  type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 userIdentifier string  ~ 1024文字 各種プラットフォームにおけるユーザーID 外部プラットフォームにおけるユーザーの一意な識別子（例：ソーシャルメディアのユーザーIDやメールアドレス）です。スロット番号（type）と組み合わせて、特定のプラットフォームアカウントを識別するために使用されます。 userId string  ~ 128文字 GS2-Account ユーザーID このプラットフォームユーザーにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 BanStatus アカウントBANステータス ゲームプレイヤーアカウントに適用されたBAN（アクセス禁止）状態に関する情報を表します。 この型は、BANが適用された理由、BANの名称、およびBANの解除予定日時などの詳細情報を含みます。 BAN状態は、不正行為や規約違反など、様々な理由でアカウントに適用されることがあり、この型はその状態を管理するのに役立ちます。 システムは、この情報を基にアカウントのアクセス権限を制御し、必要に応じてアクセスの制限や解除を行います。 詳細  name string  UUID ~ 36文字 BANステータス名 BAN状態の一意な名前を保持します。名前には任意の値を設定できます。 省略した場合は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各BANステータスを識別するために使用されます。 このIDにより、複数のBANステータスを簡単に追跡できます。 reason string  ~ 256文字 アカウントBANされた理由 アカウントがBANされた具体的な理由を説明します。 最大256文字の長さで、アカウントBANの原因を明確にするのに役立ちます。 この情報は、アカウントの管理者や運営チームが参照するだけでなく、ゲームクライアントへの応答値にも含まれます。 releaseTimestamp long  BANが解除される日時 アカウントBANが解除される予定の日時を示します。 この日時が過ぎると、アカウントは自動的にBAN解除状態になり、通常のアクセスが可能になります。 CurrentModelMaster 現在アクティブな引き継ぎ情報タイプモデルのマスターデータ 現在ネームスペース内で有効な引き継ぎ情報タイプモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Account マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ TakeOverTypeModelMaster 引き継ぎ情報タイプモデルマスター 引き継ぎ情報タイプモデルマスターは、ゲーム内で使用される引き継ぎ情報タイプモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される引き継ぎ情報タイプモデルとして反映されます。 引き継ぎ情報とは、デバイスの機種変更やプラットフォーム間のアカウントの移動・共有時に使用する情報です。 個人を識別するユニークな文字列とパスワードで構成され、その適切な組み合わせを入力することで、Account(匿名アカウント)を取得することができます。 1つの Account に対して複数の引き継ぎ情報を設定できます。 複数の引き継ぎ情報を設定するにはそれぞれ異なるスロットを指定する必要があります。 スロットには0～1024を指定できますので、最大1025種類の引き継ぎ情報を設定可能です。 具体的な用例としては 0 には Sign in with Apple のアカウント情報を、1 には Google のアカウント情報を保存するようにする。というような使い方が想定されています。 あくまでこの引き継ぎ情報はデータホルダーであり、ソーシャルアカウントとの認証の仕組みは別途用意する必要があります。 詳細  takeOverTypeModelId string ※ ~ 1024文字 引き継ぎ情報タイプモデルマスターデータ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 openIdConnectSetting OpenIdConnectSetting  OpenID Connect の設定 OpenID Connect 準拠の Identity Provider (IdP) と連携するための設定です。ディスカバリURL、クライアント認証情報、Apple Sign In パラメータなどのプラットフォーム固有の設定が含まれます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 changePasswordIfTakeOver bool false アカウント引き継ぎ時にパスワードを変更するか アカウント引き継ぎ時にパスワードを変更するかどうかを指定します。 この設定により、アカウント引き継ぎを実行した後に引き継ぎ前のデバイスからのログインを制限することができます。 differentUserIdForLoginAndDataRetention bool false ログインに使用するユーザーIDとデータの保持に使用するユーザーIDを異なるものにする ログイン用ユーザーIDとデータ保持用ユーザーIDを分けるかどうかを指定します。 この設定により、プラットフォーマーが規定する個人情報保護の要件を少ない工数で満たせる可能性があります。 ※このパラメータは、ネームスペースの作成時にのみ設定が可能です。 createAccountScript ScriptSetting アカウント新規作成したときに実行するスクリプト アカウント作成のカスタムロジックを実装するのに使用されます。 Script トリガーリファレンス - createAccount authenticationScript ScriptSetting 認証したときに実行するスクリプト 認証プロセスのカスタマイズに役立ちます。 Script トリガーリファレンス - authentication createTakeOverScript ScriptSetting 引き継ぎ情報登録したときに実行するスクリプト 引き継ぎ情報を初めて登録した時に報酬を与えるために、GS2-Mission のカウンターを上昇するなどのカスタムロジックを追加するのに使用されます。 Script トリガーリファレンス - createTakeOver doTakeOverScript ScriptSetting 引き継ぎ実行したときに実行するスクリプト 引き継ぎ処理の追加ロジックを実装するのに役立ちます。 Script トリガーリファレンス - doTakeOver banScript ScriptSetting アカウントBANステータスを追加したときに実行するスクリプト Script トリガーリファレンス - ban unBanScript ScriptSetting アカウントBANステータスを解除したときに実行するスクリプト Script トリガーリファレンス - unBan logSetting LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log のネームスペース情報を保持します。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 changePasswordIfTakeOver bool false アカウント引き継ぎ時にパスワードを変更するか アカウント引き継ぎ時にパスワードを変更するかどうかを指定します。 この設定により、アカウント引き継ぎを実行した後に引き継ぎ前のデバイスからのログインを制限することができます。 createAccountScript ScriptSetting アカウント新規作成したときに実行するスクリプト アカウント作成のカスタムロジックを実装するのに使用されます。 Script トリガーリファレンス - createAccount authenticationScript ScriptSetting 認証したときに実行するスクリプト 認証プロセスのカスタマイズに役立ちます。 Script トリガーリファレンス - authentication createTakeOverScript ScriptSetting 引き継ぎ情報登録したときに実行するスクリプト 引き継ぎ情報を初めて登録した時に報酬を与えるために、GS2-Mission のカウンターを上昇するなどのカスタムロジックを追加するのに使用されます。 Script トリガーリファレンス - createTakeOver doTakeOverScript ScriptSetting 引き継ぎ実行したときに実行するスクリプト 引き継ぎ処理の追加ロジックを実装するのに役立ちます。 Script トリガーリファレンス - doTakeOver banScript ScriptSetting アカウントBANステータスを追加したときに実行するスクリプト Script トリガーリファレンス - ban unBanScript ScriptSetting アカウントBANステータスを解除したときに実行するスクリプト Script トリガーリファレンス - unBan logSetting LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log のネームスペース情報を保持します。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeAccounts ゲームプレイヤーアカウントの一覧を取得 指定されたネームスペースに存在するすべてのゲームプレイヤーアカウントの一覧を取得します。 取得されるアカウントの情報には、アカウントID、ステータス、作成日時などが含まれます。 ページネーションをサポートしており、一度に取得できるアカウントの数を制限し、次のページのトークンを提供します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ゲームプレイヤーアカウントのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createAccount ゲームプレイヤーアカウントを新規作成 このメソッドは新しいゲームプレイヤーアカウントを作成します。 アカウントの作成にあたってユーザーID、パスワードの指定は不要です。ユーザーID、パスワードは自動的に生成されます。 作成成功時、新しく作成されたアカウントの詳細情報がレスポンスとして返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Account 作成したゲームプレイヤーアカウント 実装例 updateTimeOffset ゲームプレイヤーアカウントの現在時刻に対する補正値を更新 特定のゲームプレイヤーアカウントの時刻補正値を更新します。 この時刻補正は、未来のイベントスケジュールを事前にテストするために活用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffset int 0 0 ~ 315360000 現在時刻に対する補正値（現在時刻を起点とした秒数） 時刻補正値は、サーバーの現在時刻との差分を秒単位で表します。 この値はゲーム内のイベントや機能が特定の時間に合わせて動作する際に使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Account 更新したゲームプレイヤーアカウント 実装例 updateBanned ゲームプレイヤーアカウントのアカウントBANステータスを更新 特定のゲームプレイヤーアカウントのBAN（アクセス禁止）状態を更新するために使用されます。 アカウントのBAN状態を有効または無効にすることができ、これによりアカウントのゲーム内利用を制限することができます。 アカウントIDと新しいBAN状態を指定して更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID banned bool false アカウントBANされているか アカウントが現在BANされているかどうかを示します。 trueの場合、アカウントはアクセス禁止状態にあり、falseの場合はアクセス可能です。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Account 更新したゲームプレイヤーアカウント 実装例 addBan ゲームプレイヤーアカウントにアカウントBANステータスを追加 ゲームプレイヤーアカウントにアカウントBANステータスを追加するために使用されます。 特定のアカウントに対して、一時的または永続的なアクセス禁止を設定できます。 BANを追加するには、アカウントIDとBAN状態（理由や期間を含む）を指定する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID banStatus BanStatus  BAN状態 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Account 更新したゲームプレイヤーアカウント 実装例 removeBan ゲームプレイヤーアカウントのアカウントBANステータスを削除 特定のゲームプレイヤーアカウントに適用されたアカウントBANステータスを削除します。 削除を行うには、ユーザーIDと削除するアカウントBANステータスの名前を指定します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID banStatusName string  ~ 36文字 BAN状態名 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Account 更新したゲームプレイヤーアカウント 実装例 getAccount ゲームプレイヤーアカウントを取得 指定されたIDを持つ特定のゲームプレイヤーアカウントの詳細情報を取得します。 取得される情報には、アカウントの名前、ステータス、作成日時などが含まれます。 このメソッドは、アカウントの詳細情報を表示するためのものです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  UUID ~ 128文字 ユーザーID includeLastAuthenticatedAt bool false 最終認証日時を含める timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Account ゲームプレイヤーアカウント 実装例 deleteAccount ゲームプレイヤーアカウントを削除 特定のゲームプレイヤーアカウントを削除するために使用されます。 アカウントを削除すると、そのアカウントでログインできなくなりますが、GS2-Account が管理していないユーザーデータについては引き続きGS2に残り続けます。 ユーザーデータも全て削除する必要がある場合は、マネージメントコンソールからアクセスできるユーザーデータの完全削除機能を利用してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  UUID ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Account 削除したゲームプレイヤーアカウント 実装例 authentication ゲームプレイヤーアカウントを認証 ゲームプレイヤーアカウントの認証に使用されます。 ユーザーがアカウントにログインする際に、ユーザー名とパスワードの照合を行います。 正しい認証情報が提供されると、アカウント情報とその署名が発行されます。 この情報を GS2-Auth に渡すことで、アクセストークンを得ることができ、GS2 が提供する様々なマイクロサービスにログインしたユーザーとしてアクセスすることができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN password string  ~ 128文字 パスワード アカウントのセキュリティを確保するためのパスワードを格納します。 パスワードは最大128文字の長さを持ち、アカウントの保護に重要な役割を果たします。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Account ゲームプレイヤーアカウント banStatuses List BAN状態リスト body string 署名対象のアカウント認証情報 signature string 署名 実装例 describeTakeOvers 引き継ぎ情報の一覧を取得 現在ログインしているゲームプレイヤーアカウントに登録されている引き継ぎ情報の一覧を取得します。 引き継ぎ情報は、機種変更やゲームの再インストール時にアカウントデータを移行するために使用されます。 ページネーションをサポートしており、一度に取得する件数を制限し、次のページのトークンを使って続きを取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 引き継ぎ情報のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeTakeOversByUserId ユーザーIDを指定して引き継ぎ情報の一覧を取得 指定されたゲームプレイヤーアカウントに登録されている引き継ぎ情報の一覧を取得します。 引き継ぎ情報は、機種変更やゲームの再インストール時にアカウントデータを移行するために使用されます。 ページネーションをサポートしており、一度に取得する件数を制限し、次のページのトークンを使って続きを取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 引き継ぎ情報のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createTakeOver 引き継ぎ情報を新規作成 現在ログインしているゲームプレイヤーアカウントに新しい引き継ぎ情報を登録します。 タイプスロット（数値）、ユーザー識別子（メールアドレスなど）、パスワードを指定する必要があります。 登録した情報は、後に別の端末で同じユーザー識別子とパスワードを使ってアカウントを復旧する際に使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 userIdentifier string  ~ 1024文字 引き継ぎ用ユーザーID アカウントを引き継ぐ際に使用される個人を識別するためのユニークなキーです。 異なるアカウントで同一の userIdentifier を指定した場合、後で設定した値が優先されます。 password string  ~ 128文字 パスワード セキュリティを考慮して、このパスワードは機密情報として扱われ、ハッシュ値のみ保存されAPIの応答には値が含まれません。 Result 型 説明 item TakeOver 作成した引き継ぎ情報 実装例 createTakeOverByUserId ユーザーIDを指定して引き継ぎ情報を新規作成 指定されたゲームプレイヤーアカウントに新しい引き継ぎ情報を登録します。 タイプスロット（数値）、ユーザー識別子（メールアドレスなど）、パスワードを指定する必要があります。 登録した情報は、後に別の端末で同じユーザー識別子とパスワードを使ってアカウントを復旧する際に使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 userIdentifier string  ~ 1024文字 引き継ぎ用ユーザーID アカウントを引き継ぐ際に使用される個人を識別するためのユニークなキーです。 異なるアカウントで同一の userIdentifier を指定した場合、後で設定した値が優先されます。 password string  ~ 128文字 パスワード セキュリティを考慮して、このパスワードは機密情報として扱われ、ハッシュ値のみ保存されAPIの応答には値が含まれません。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item TakeOver 作成した引き継ぎ情報 実装例 createTakeOverOpenIdConnect OpenID Connect を使用して引き継ぎ情報を新規作成 OpenID Connect の ID Token を使用して、現在ログインしているゲームプレイヤーアカウントに新しい引き継ぎ情報を登録します。 パスワードの代わりに、ID プロバイダー（Google、Apple など）から取得した ID Token を使用します。 ユーザー識別子（subject）は ID Token から自動的に抽出され、アカウントに紐付けられます。 対応する引き継ぎタイプモデルに OpenID Connect の設定があらかじめ構成されている必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 idToken string  ~ 10240文字 OpenID Connect ID Token Result 型 説明 item TakeOver 作成した引き継ぎ情報 実装例 createTakeOverOpenIdConnectAndByUserId ユーザーIDを指定して OpenID Connect を使用して引き継ぎ情報を新規作成 OpenID Connect の ID Token を使用して、指定されたゲームプレイヤーアカウントに新しい引き継ぎ情報を登録します。 パスワードの代わりに、ID プロバイダー（Google、Apple など）から取得した ID Token を使用します。 ユーザー識別子（subject）は ID Token から自動的に抽出され、アカウントに紐付けられます。 対応する引き継ぎタイプモデルに OpenID Connect の設定があらかじめ構成されている必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 idToken string  ~ 10240文字 OpenID Connect ID Token timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item TakeOver 作成した引き継ぎ情報 実装例 getTakeOver 引き継ぎ情報を取得 現在ログインしているゲームプレイヤーアカウントに登録されている、指定されたタイプの引き継ぎ情報を取得します。 取得される情報には、タイプスロット、ユーザー識別子、作成日時などが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 Result 型 説明 item TakeOver 引き継ぎ情報 実装例 getTakeOverByUserId ユーザーIDを指定して引き継ぎ情報を取得 指定されたゲームプレイヤーアカウントに登録されている、指定されたタイプの引き継ぎ情報を取得します。 取得される情報には、タイプスロット、ユーザー識別子、作成日時などが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item TakeOver 引き継ぎ情報 実装例 updateTakeOver 引き継ぎ情報を更新 現在ログインしているゲームプレイヤーアカウントの指定されたタイプの引き継ぎ情報のパスワードを更新します。 新しいパスワードを設定する前に、古いパスワードの検証が必要です。 古いパスワードが一致しない場合、PasswordIncorrect エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 oldPassword string  ~ 128文字 古いパスワード password string  ~ 128文字 パスワード セキュリティを考慮して、このパスワードは機密情報として扱われ、ハッシュ値のみ保存されAPIの応答には値が含まれません。 Result 型 説明 item TakeOver 更新した引き継ぎ情報 実装例 updateTakeOverByUserId ユーザーIDを指定して引き継ぎ情報を更新 指定されたゲームプレイヤーアカウントの指定されたタイプの引き継ぎ情報のパスワードを更新します。 新しいパスワードを設定する前に、古いパスワードの検証が必要です。 古いパスワードが一致しない場合、PasswordIncorrect エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 oldPassword string  ~ 128文字 古いパスワード password string  ~ 128文字 パスワード セキュリティを考慮して、このパスワードは機密情報として扱われ、ハッシュ値のみ保存されAPIの応答には値が含まれません。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item TakeOver 更新した引き継ぎ情報 実装例 deleteTakeOver 引き継ぎ情報を削除 現在ログインしているゲームプレイヤーアカウントから、指定されたタイプの引き継ぎ情報を削除します。 削除後は、削除された引き継ぎ情報のユーザー識別子とパスワードを使ったアカウントの復旧はできなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 Result 型 説明 item TakeOver 削除した引き継ぎ情報 実装例 deleteTakeOverByUserIdentifier 引き継ぎ用ユーザーIDを指定して引き継ぎ情報を削除 GS2 のユーザーIDではなく、プラットフォーム側のユーザー識別子を使用して引き継ぎ情報を検索し削除します。 内部の GS2 ユーザーIDがわからない場合でも、外部のユーザー識別子（メールアドレスなど）で削除できます。 削除後は、削除された引き継ぎ情報のユーザー識別子とパスワードを使ったアカウントの復旧はできなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 userIdentifier string ~ 1024文字 引き継ぎ用ユーザーID Result 型 説明 item TakeOver 削除した引き継ぎ情報 実装例 deleteTakeOverByUserId ユーザーIDを指定して引き継ぎ情報を削除 GS2 ユーザーIDを使用して、指定されたゲームプレイヤーアカウントから指定されたタイプの引き継ぎ情報を削除します。 削除後は、削除された引き継ぎ情報のユーザー識別子とパスワードを使ったアカウントの復旧はできなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item TakeOver 削除した引き継ぎ情報 実装例 doTakeOver 引き継ぎを実行 ユーザー識別子とパスワードを使用してアカウントの引き継ぎ（復旧）処理を実行します。 機種変更やゲームの再インストール後にアカウントを復旧したい場合に使用します。 ユーザー識別子とパスワードが登録済みの引き継ぎ情報と一致する場合、関連するゲームプレイヤーアカウントが返されます。 パスワードが一致しない場合、PasswordIncorrect エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 userIdentifier string  ~ 1024文字 引き継ぎ用ユーザーID アカウントを引き継ぐ際に使用される個人を識別するためのユニークなキーです。 異なるアカウントで同一の userIdentifier を指定した場合、後で設定した値が優先されます。 password string  ~ 128文字 パスワード セキュリティを考慮して、このパスワードは機密情報として扱われ、ハッシュ値のみ保存されAPIの応答には値が含まれません。 Result 型 説明 item Account ゲームプレイヤーアカウント 実装例 doTakeOverOpenIdConnect OpenID Connect を使用して引き継ぎを実行 OpenID Connect の ID Token を使用してアカウントの引き継ぎ（復旧）処理を実行します。 パスワードの代わりに、ID プロバイダー（Google、Apple など）から取得した ID Token を使用する引き継ぎ実行の OIDC バリアントです。 ID Token が検証され、subject を使用して関連するゲームプレイヤーアカウントが検索されます。 対応する引き継ぎタイプモデルに OpenID Connect の設定があらかじめ構成されている必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 idToken string  ~ 10240文字 OpenID Connect ID Token Result 型 説明 item Account ゲームプレイヤーアカウント 実装例 getAuthorizationUrl 認証URLを取得 指定された引き継ぎタイプの OpenID Connect フローの認証URLを返します。 クライアントはこのURLを使用して、ユーザーを ID プロバイダーの認証ページにリダイレクトできます。 これは、アカウント引き継ぎのための OAuth/OIDC 認証フローを開始するエントリポイントです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 Result 型 説明 authorizationUrl string 認証URL 実装例 describePlatformIds プラットフォームIDの一覧を取得 プラットフォームID とは、X、Instagram、Facebook などの各種プラットフォームにおけるIDを保持するための情報です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List プラットフォームIDのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describePlatformIdsByUserId GS2-Account ユーザーIDを指定してプラットフォームIDの一覧を取得 プラットフォームID とは、X、Instagram、Facebook などの各種プラットフォームにおけるIDを保持するための情報です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List プラットフォームIDのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createPlatformId プラットフォームIDを新規作成 プラットフォームID とは、X、Instagram、Facebook などの各種プラットフォームにおけるIDを保持するための情報です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 userIdentifier string  ~ 1024文字 各種プラットフォームにおけるユーザーID 外部プラットフォームにおけるユーザーの一意な識別子（例：ソーシャルメディアのユーザーIDやメールアドレス）です。スロット番号（type）と組み合わせて、特定のプラットフォームアカウントを識別するために使用されます。 Result 型 説明 item PlatformId 作成したプラットフォームID 実装例 createPlatformIdByUserId GS2-Account ユーザーIDを指定してプラットフォームIDを新規作成 プラットフォームID とは、X、Instagram、Facebook などの各種プラットフォームにおけるIDを保持するための情報です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 GS2-Account ユーザーID このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 userIdentifier string  ~ 1024文字 各種プラットフォームにおけるユーザーID 外部プラットフォームにおけるユーザーの一意な識別子（例：ソーシャルメディアのユーザーIDやメールアドレス）です。スロット番号（type）と組み合わせて、特定のプラットフォームアカウントを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item PlatformId 作成したプラットフォームID 実装例 getPlatformId プラットフォームID を取得 プラットフォームID とは、X、Instagram、Facebook などの各種プラットフォームにおけるIDを保持するための情報です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 Result 型 説明 item PlatformId プラットフォームID 実装例 getPlatformIdByUserId ユーザーIDを指定して プラットフォームID を取得 プラットフォームID とは、X、Instagram、Facebook などの各種プラットフォームにおけるIDを保持するための情報です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 GS2-Account ユーザーID このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item PlatformId プラットフォームID 実装例 findPlatformId プラットフォームIDを指定してGS2-AccountのユーザーIDを取得 ネームスペースの設定で「ログインに使用するユーザーIDとデータの保持に使用するユーザーIDを異なるものにする」を有効にしている場合はデータオーナーIDを取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 userIdentifier string  ~ 1024文字 各種プラットフォームにおけるユーザーID 外部プラットフォームにおけるユーザーの一意な識別子（例：ソーシャルメディアのユーザーIDやメールアドレス）です。スロット番号（type）と組み合わせて、特定のプラットフォームアカウントを識別するために使用されます。 Result 型 説明 item PlatformUser 各種プラットフォームにおけるユーザー情報 実装例 findPlatformIdByUserId GS2-Account ユーザーIDを指定してプラットフォームIDを取得 ネームスペースの設定で「ログインに使用するユーザーIDとデータの保持に使用するユーザーIDを異なるものにする」を有効にしている場合はデータオーナーIDを取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 GS2-Account ユーザーID このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 userIdentifier string  ~ 1024文字 各種プラットフォームにおけるユーザーID 外部プラットフォームにおけるユーザーの一意な識別子（例：ソーシャルメディアのユーザーIDやメールアドレス）です。スロット番号（type）と組み合わせて、特定のプラットフォームアカウントを識別するために使用されます。 dontResolveDataOwner bool? false ログイン用とデータ保持用ユーザーIDを分離する場合にデータオーナーID解決を無効化 ネームスペースの設定で「ログインに使用するユーザーIDとデータの保持に使用するユーザーIDを異なるものにする」を有効にしている場合でもデータオーナーIDを解決しないようにするには true を設定します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item PlatformUser 各種プラットフォームにおけるユーザー情報 実装例 deletePlatformId プラットフォームIDを削除 現在ログインしているゲームプレイヤーアカウントから、指定されたタイプのプラットフォームIDを削除します。 削除後、GS2 アカウントとプラットフォーム上の ID との紐付けが解除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 userIdentifier string ~ 1024文字 各種プラットフォームにおけるユーザーID Result 型 説明 item PlatformId 削除したプラットフォームID 実装例 deletePlatformIdByUserIdentifier 各種プラットフォームにおけるユーザーIDを指定してプラットフォームIDを削除 GS2 のユーザーIDではなく、プラットフォーム側のユーザー識別子を使用してプラットフォームIDを検索し削除します。 内部の GS2 ユーザーIDがわからない場合でも、プラットフォーム上の外部ユーザー識別子で削除できます。 削除後、GS2 アカウントとプラットフォーム上の ID との紐付けが解除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 userIdentifier string ~ 1024文字 各種プラットフォームにおけるユーザーID Result 型 説明 item PlatformId 削除したプラットフォームID 実装例 deletePlatformIdByUserId GS2-Account ユーザーIDを指定してプラットフォームIDを削除 GS2 ユーザーIDを使用して、指定されたゲームプレイヤーアカウントから指定されたタイプのプラットフォームIDを削除します。 削除後、GS2 アカウントとプラットフォーム上の ID との紐付けが解除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 GS2-Account ユーザーID このプラットフォームIDにリンクされた GS2-Account のユーザーIDです。外部プラットフォームのIDと GS2 の匿名アカウントとの対応付けに使用されます。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、プラットフォームの種類を識別するために使用します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item PlatformId 削除したプラットフォームID 実装例 getDataOwnerByUserId データオーナーを取得 指定されたユーザーIDに関連付けられたデータオーナーの情報を取得するために使用されます。 このアクションは、指定されたネームスペース内の特定のアカウントに紐づくデータオーナーの詳細情報を返します。 データオーナー情報には、データオーナーID、関連するユーザーID、およびその他の関連情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  UUID ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item DataOwner データオーナー 実装例 updateDataOwnerByUserId データオーナーIDを任意の値で更新 指定されたユーザーIDに関連付けられたデータオーナー名を更新します。 データオーナーは、ネームスペースの設定で「ログインに使用するユーザーIDとデータの保持に使用するユーザーIDを異なるものにする」が有効な場合に、ログイン用ユーザーIDとデータ保持用ユーザーIDのマッピングを管理するために使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  UUID ~ 128文字 ユーザーID dataOwnerName string  UUID ~ 36文字 データオーナーID データオーナーの一意な識別子として機能します。 データオーナーIDは、データの実際の所有者を表し、ユーザーIDとは異なる可能性があります。 このIDはシステムによって自動的に生成され、各データオーナーに対して一意です。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item DataOwner データオーナー 実装例 deleteDataOwnerByUserId データオーナーを削除 特定のユーザーIDに関連付けられたデータオーナーの情報を削除するために使用されます。 このアクションは、指定されたネームスペース内のアカウントに関連するデータオーナーをシステムから完全に削除します。 ユーザーIDとデータオーナーIDの関連性が失われ、GS2 が管理するユーザーデータ内にユーザーIDが含まれない限り誰のデータかが不明な状態になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  UUID ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item DataOwner 削除したデータオーナー 実装例 describeTakeOverTypeModels 引き継ぎ情報タイプモデルの一覧を取得 指定されたネームスペースで現在有効化されているすべての引き継ぎ情報タイプモデルを取得します。 引き継ぎ情報タイプモデルは、メール/パスワードベースや OpenID Connect ベースの引き継ぎなど、利用可能なアカウント引き継ぎ方法の種類を定義します。 各タイプモデルには、ID プロバイダーの OpenID Connect 設定などが含まれます。 マスター版とは異なり、有効化（公開）済みのモデルのみを返し、ページネーションはありません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 引き継ぎ情報タイプモデルのリスト 実装例 getTakeOverTypeModel 引き継ぎ情報タイプモデルを取得 指定されたネームスペースで指定されたタイプの、現在有効な引き継ぎ情報タイプモデルを取得します。 タイプモデルには、この引き継ぎタイプに関連付けられた ID プロバイダーの OpenID Connect 設定やその他の設定が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 Result 型 説明 item TakeOverTypeModel 引き継ぎ情報タイプモデル 実装例 exportMaster 引き継ぎ情報タイプモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在の引き継ぎ情報タイプモデルマスターデータを有効化に使用できる形式でエクスポートします。 エクスポートされたデータは、現在のマスター構成のバックアップや別のネームスペースへのインポートに使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentModelMaster 有効化可能な引き継ぎ情報タイプモデルのマスターデータ 実装例 getCurrentModelMaster 現在アクティブな引き継ぎ情報タイプモデルのマスターデータを取得 指定されたネームスペースで現在有効化（公開）されている引き継ぎ情報タイプモデルのマスターデータを取得します。 これは編集可能なマスターデータとは異なり、実際に本番で使用されている構成を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentModelMaster 現在アクティブな引き継ぎ情報タイプモデルのマスターデータ 実装例 preUpdateCurrentModelMaster 現在アクティブな引き継ぎ情報タイプモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster を preUpload モードで、アップロードに使用したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentModelMaster 現在アクティブな引き継ぎ情報タイプモデルのマスターデータを更新 指定されたネームスペースの引き継ぎ情報タイプモデルのマスターデータを更新し有効化（公開）します。 2つのモードをサポートしています：インラインのマスターデータ用の ‘direct’ モードと、事前にアップロードされたマスターデータ用の ‘preUpload’ モードです。 1MBを超えるマスターデータの場合は、3フェーズの更新フロー（PreUpdate -\u003e アップロード -\u003e Update（preUpload モード））を使用してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentModelMaster 更新された現在アクティブな引き継ぎ情報タイプモデルのマスターデータ 実装例 updateCurrentModelMasterFromGitHub 現在アクティブな引き継ぎ情報タイプモデルのマスターデータをGitHubから更新 GitHub リポジトリから直接マスターデータを取得して更新・有効化（公開）します。 チェックアウト設定には、使用するリポジトリ、ブランチ/タグ、ファイルパスを指定します。 マスターデータをバージョン管理で管理し、直接デプロイする場合に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentModelMaster 更新された現在アクティブな引き継ぎ情報タイプモデルのマスターデータ 実装例 describeTakeOverTypeModelMasters 引き継ぎ情報タイプモデルマスターの一覧を取得 指定されたネームスペースの引き継ぎ情報タイプモデルマスターのページネーション付きリストを取得します。 引き継ぎ情報タイプモデルマスターは、利用可能なアカウント引き継ぎ方法の種類を定義する引き継ぎ情報タイプモデルの編集可能なバージョンです。 マスターデータへの変更は、現在のモデルマスターを通じて有効化（公開）されるまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 引き継ぎ情報タイプモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createTakeOverTypeModelMaster 引き継ぎ情報タイプモデルマスターを新規作成 アカウント引き継ぎ方法の種類を定義する新しい引き継ぎ情報タイプモデルマスターを作成します。 タイプスロット（数値）、説明、メタデータ、ID プロバイダーの OpenID Connect 設定を構成できます。 OpenID Connect 設定には、ID プロバイダー連携に必要なクライアントID、クライアントシークレット、イシュアー、その他の OIDC 設定が含まれます。 変更は、現在のモデルマスターを通じて有効化（公開）されるまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 openIdConnectSetting OpenIdConnectSetting  OpenID Connect の設定 OpenID Connect 準拠の Identity Provider (IdP) と連携するための設定です。ディスカバリURL、クライアント認証情報、Apple Sign In パラメータなどのプラットフォーム固有の設定が含まれます。 Result 型 説明 item TakeOverTypeModelMaster 作成した引き継ぎ情報タイプモデルマスター 実装例 getTakeOverTypeModelMaster 引き継ぎ情報タイプモデルマスターを取得 指定されたネームスペースのタイプを指定して、特定の引き継ぎ情報タイプモデルマスターを取得します。 取得される情報には、タイプスロット、説明、メタデータ、OpenID Connect 設定が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 Result 型 説明 item TakeOverTypeModelMaster 引き継ぎ情報タイプモデルマスター 実装例 updateTakeOverTypeModelMaster 引き継ぎ情報タイプモデルマスターデータを更新 指定された引き継ぎ情報タイプモデルマスターを更新します。 説明、メタデータ、ID プロバイダーの OpenID Connect 設定を変更できます。 変更は、現在のモデルマスターを通じて有効化（公開）されるまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 openIdConnectSetting OpenIdConnectSetting  OpenID Connect の設定 OpenID Connect 準拠の Identity Provider (IdP) と連携するための設定です。ディスカバリURL、クライアント認証情報、Apple Sign In パラメータなどのプラットフォーム固有の設定が含まれます。 Result 型 説明 item TakeOverTypeModelMaster 更新した引き継ぎ情報タイプモデルマスター 実装例 deleteTakeOverTypeModelMaster 引き継ぎ情報タイプモデルマスターデータを削除 指定されたネームスペースから指定された引き継ぎ情報タイプモデルマスターを削除します。 削除後、次回のマスターデータ有効化以降、この引き継ぎタイプは利用できなくなります。 この操作はマスターデータにのみ影響し、マスターデータが再有効化されるまで現在有効なモデルは変更されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 Result 型 説明 item TakeOverTypeModelMaster 削除した引き継ぎ情報タイプモデルマスターデータ 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Account SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Account SDK API リファレンス","url":"/ja/api_reference/account/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 広告視聴報酬の付与時に実行される分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションが含まれます。 admob AdMob AdMob の設定 AdMob に関連する広告の設定やパラメータを管理します。 unityAd UnityAd Unity Ads の設定 Unity Ads に関連する広告の設定やパラメータを管理します。 appLovinMaxes List 0 ~ 10 items AppLovin MAX の設定 AppLovin MAX に関連する広告の設定やパラメータを管理します。 acquirePointScript ScriptSetting ポイント入手時に実行するスクリプトの設定 Script トリガーリファレンス - acquirePoint consumePointScript ScriptSetting ポイント消費時に実行するスクリプトの設定 Script トリガーリファレンス - consumePoint changePointNotification NotificationSetting  広告視聴によりポイントが変動したときのプッシュ通知 広告視聴によるポイント変動時のプッシュ通知設定です。 ポイントが変動した際にゲームクライアントに通知するための設定を保持します。 この設定を行わなければ、獲得したポイントが即時にゲームに反映されません。 logSetting LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log のネームスペース情報を保持します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。 詳細  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 Point 広告を視聴することで獲得したポイント プレイヤーが広告視聴によって獲得したポイントの合計を表すモデルです。 プレイヤーは広告視聴のたびにポイントを獲得し、これらのポイントは報酬の交換やゲーム内特典の購入などに使用できます。 詳細  pointId string ※ ~ 1024文字 広告リワードポイント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID point long 0 0 ~ 9223372036854775805 ポイントの所持数 ユーザーが保持しているポイントの数を示します。 この数値は、ユーザーが広告を視聴することで増加し、報酬や特典と交換することで減少します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン AdMob AdMob 広告プラットフォームに関連する設定 許可された広告ユニットIDのリストを保持し、これに基づいて AdMob からの視聴完了 Webhook の検証を行います。 詳細  allowAdUnitIds List  1 ~ 10 items 許可する広告ユニットIDリスト AdMobからの広告視聴完了コールバックに含まれる広告ユニットIDを検証するために使用されます。 リストに含まれる広告ユニットIDは、アプリケーションまたはゲーム内での広告視聴が適切に完了したことを確認するためのものです。 AdMobプラットフォームから送信される広告視聴完了の通知に含まれる広告ユニットIDがこのリストにあるかどうかを確認することで、正当な広告視聴イベントのみを受け入れ、不正なリクエストやスパムを防ぐことができます。 UnityAd Unity Ads 広告プラットフォームに関連する設定 アプリケーションやゲームで使用されるUnity Ads関連の暗号鍵を保持するために使用されます。 暗号鍵はUnity Adsから発行され、広告視聴の完了を検証する際に使用します。 詳細  keys List 0 ~ 10 items 暗号鍵のリスト Unity Adsから発行された暗号鍵のリストを保持します。 これらの鍵は、Unity Ads 広告プラットフォームとの通信や広告イベントの検証に使用されます。 暗号鍵は Unity Dashboard で取得することができます。 リストに含まれる各鍵は、広告視聴の完了を検証するために必要です。 AppLovinMax AppLovin MAX 広告プラットフォームに関連する設定 許可された広告ユニットIDを保持し、これに基づいて AppLovin MAX からの視聴完了 Webhook の検証を行います。 詳細  allowAdUnitId string  ~ 16文字 許可する広告ユニットID AppLovin MAX から送信される広告視聴完了コールバックに含まれる ad_unit_id を検証するために使用されます。 この設定に登録された広告ユニットIDと、コールバックに含まれる ad_unit_id が一致する場合のみ、広告視聴が正当に完了したものとして受け付けます。 これにより、許可されていない広告ユニットからの通知や不正なリクエストを拒否し、不正な広告報酬の付与やスパムを防ぐことができます。 eventKey string  ~ 128文字 AppLovin Event Key AppLovin MAXからの広告視聴完了コールバックが適切なアクセス元からのアクセスであることを検証する際に利用します メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 広告視聴報酬の付与時に実行される分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションが含まれます。 admob AdMob AdMob の設定 AdMob に関連する広告の設定やパラメータを管理します。 unityAd UnityAd Unity Ads の設定 Unity Ads に関連する広告の設定やパラメータを管理します。 appLovinMaxes List 0 ~ 10 items AppLovin MAX の設定 AppLovin MAX に関連する広告の設定やパラメータを管理します。 acquirePointScript ScriptSetting ポイント入手時に実行するスクリプトの設定 Script トリガーリファレンス - acquirePoint consumePointScript ScriptSetting ポイント消費時に実行するスクリプトの設定 Script トリガーリファレンス - consumePoint changePointNotification NotificationSetting  広告視聴によりポイントが変動したときのプッシュ通知 広告視聴によるポイント変動時のプッシュ通知設定です。 ポイントが変動した際にゲームクライアントに通知するための設定を保持します。 この設定を行わなければ、獲得したポイントが即時にゲームに反映されません。 logSetting LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log のネームスペース情報を保持します。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 広告視聴報酬の付与時に実行される分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションが含まれます。 admob AdMob AdMob の設定 AdMob に関連する広告の設定やパラメータを管理します。 unityAd UnityAd Unity Ads の設定 Unity Ads に関連する広告の設定やパラメータを管理します。 appLovinMaxes List 0 ~ 10 items AppLovin MAX の設定 AppLovin MAX に関連する広告の設定やパラメータを管理します。 acquirePointScript ScriptSetting ポイント入手時に実行するスクリプトの設定 Script トリガーリファレンス - acquirePoint consumePointScript ScriptSetting ポイント消費時に実行するスクリプトの設定 Script トリガーリファレンス - consumePoint changePointNotification NotificationSetting  広告視聴によりポイントが変動したときのプッシュ通知 広告視聴によるポイント変動時のプッシュ通知設定です。 ポイントが変動した際にゲームクライアントに通知するための設定を保持します。 この設定を行わなければ、獲得したポイントが即時にゲームに反映されません。 logSetting LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log のネームスペース情報を保持します。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 getPoint 現在のポイント状態を取得 現在ログインしているユーザーに紐づくポイント情報を返します。 ユーザーのポイントレコードが存在しない場合、0ポイントの新しいレコードが自動的に作成されて返されます。 広告視聴報酬で獲得したポイントの現在の保持量を確認できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Point 広告を視聴することで獲得したポイント 実装例 getPointByUserId ユーザーIDを指定してポイント状態を取得 指定されたユーザーIDに紐づくポイント情報を返します。 ユーザーのポイントレコードが存在しない場合、0ポイントの新しいレコードが自動的に作成されて返されます。 広告視聴報酬で獲得したポイントの現在の保持量を確認できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Point 広告を視聴することで獲得したポイント 実装例 acquirePointByUserId ユーザーIDを指定してポイントを入手 指定されたユーザーIDに指定された数のポイントを追加し、更新後のポイント情報を返します。 ユーザーのポイントレコードが存在しない場合、ポイント追加前に新しいレコードが自動的に作成されます。 ネームスペースの入手スクリプト設定に GS2-Script が設定されている場合、ポイント追加前にスクリプトが実行され、カスタムバリデーションや入手量の変更が可能です。 ポイント追加後、ネームスペース設定で変更通知が構成されている場合は通知が送信されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID point long  1 ~ 9223372036854775805 入手するポイント timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Point ポイント 実装例 consumePoint ポイントを消費 現在ログインしているユーザーから指定された数のポイントを減算し、更新後のポイント情報を返します。 要求された消費量に対してポイントが不足している場合はエラーが返されます。 ネームスペースの消費スクリプト設定に GS2-Script が設定されている場合、ポイント減算前にスクリプトが実行され、カスタムバリデーションや消費量の変更が可能です。 ポイント減算後、ネームスペース設定で変更通知が構成されている場合は通知が送信されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン point long  1 ~ 9223372036854775805 消費するポイント Result 型 説明 item Point ポイント 実装例 consumePointByUserId ユーザーIDを指定してポイントを消費 指定されたユーザーIDから指定された数のポイントを減算し、更新後のポイント情報を返します。 要求された消費量に対してポイントが不足している場合はエラーが返されます。 ネームスペースの消費スクリプト設定に GS2-Script が設定されている場合、ポイント減算前にスクリプトが実行され、カスタムバリデーションや消費量の変更が可能です。 ポイント減算後、ネームスペース設定で変更通知が構成されている場合は通知が送信されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID point long  1 ~ 9223372036854775805 消費するポイント timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Point ポイント 実装例 deletePointByUserId ユーザーIDを指定してポイントをリセット 指定されたユーザーIDのポイントレコードを削除し、ユーザーのポイントを初期状態（0ポイント）にリセットします。 この操作は不可逆ですが、以降の Get や Acquire 操作により0ポイントの新しいポイントレコードが自動的に作成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Point ポイント 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-AdReward SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-AdReward SDK API リファレンス","url":"/ja/api_reference/ad_reward/sdk/"},{"content":"モデル AccessToken アクセストークン ユーザー認証後に発行されるアクセストークンを管理するモデルです。 アクセストークンは、ユーザーがサービスにログインしている間、そのセッションの身元を証明するために使用されます。 トークンには有効期限が設定されており、期限切れになると再認証が必要になります。 詳細  token string  ~ 1024文字 アクセストークン アクセスを認証するためのトークンです。 このトークンはシステムによって自動的に生成され、ユーザーのセッションを識別します。 userId string  ~ 128文字 ユーザーID federationFromUserId string ~ 128文字 フェデレーション元のユーザーID IDフェデレーションを開始した元のユーザーIDです。IDフェデレーションにより別のユーザーとして操作を行う場合、このフィールドに操作元のユーザーIDが格納されます。 expire long 現在時刻から1時間後の絶対時刻 有効期限 トークンの有効期限を示すタイムスタンプです。この期限が過ぎると、トークンは無効になります。 UNIX 時間・ミリ秒 timeOffset int 0 0 ~ 315360000 現在時刻に対する補正値（現在時刻を起点とした秒数） 時刻補正値は、サーバーの現在時刻との差分を秒単位で表します。 この値はゲーム内のイベントや機能が特定の時間に合わせて動作する際に使用されます。 メソッド login ユーザーIDを指定してGS2にログイン 指定したユーザーIDでGS2にログインし、アクセストークンを取得します。 本APIは信頼出来るゲームサーバーから呼び出されることを想定しています。 ユーザーIDの値の検証処理が存在しないため、クライアントから呼び出すのは不適切です。 オプションでタイムオフセット（秒単位）を指定すると、ログインしたユーザーの現在時刻を擬似的に進めることができ、未来のイベントスケジュールのテストに活用できます。 返却されるアクセストークンには有効期限があり、期限を過ぎると無効になります。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffset int 0 0 ~ 315360000 現在時刻に対する補正値（現在時刻を起点とした秒数） 時刻補正値は、サーバーの現在時刻との差分を秒単位で表します。 この値はゲーム内のイベントや機能が特定の時間に合わせて動作する際に使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 token string アクセストークン アクセスを認証するためのトークンです。 このトークンはシステムによって自動的に生成され、ユーザーのセッションを識別します。 userId string ユーザーID expire long 有効期限 トークンの有効期限を示すタイムスタンプです。この期限が過ぎると、トークンは無効になります。 UNIX 時間・ミリ秒 実装例 loginBySignature アカウント認証情報でGS2にログイン アカウント認証情報の署名を検証して GS2 にログインし、アクセストークンを取得します。 アカウント認証情報の署名検証を実施することで、本APIはクライアントから呼び出しても安全です。 body と signature は通常 GS2-Account の認証APIから取得したものを使用し、keyId は署名検証に使用する GS2-Key の暗号鍵を指定します。 返却されるアクセストークンには有効期限があり、期限を過ぎると無効になります。 詳細 Request  keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN body string  ~ 524288文字 署名対象のアカウント認証情報 signature string  ~ 1024文字 署名 Result 型 説明 token string アクセストークン アクセスを認証するためのトークンです。 このトークンはシステムによって自動的に生成され、ユーザーのセッションを識別します。 userId string ユーザーID expire long 有効期限 トークンの有効期限を示すタイムスタンプです。この期限が過ぎると、トークンは無効になります。 UNIX 時間・ミリ秒 実装例 federation ユーザーIDの連携 指定したユーザーIDを起点に別のユーザーIDとして振る舞うためのアクセストークンを取得します。 ギルドマスターが他のメンバーに代わって操作を行うなど、別のユーザーとしてアクションを実行する必要があるシナリオで活用できます。 このアクセストークンを使ってトランザクションを発行する場合、トランザクションアクション内の #{userId} はフェデレーション先のユーザーIDに置き換えられ #{originalUserId} はフェデレーション元のユーザーIDに置き換えられます。 ポリシードキュメントを指定することで、フェデレーテッドユーザーとしてAPIを呼び出すにあたってクレデンシャルが持つ権限より厳しい制約を設定することができます。 返却されるアクセストークンには有効期限があり、期限を過ぎると無効になります。 詳細 Request  originalUserId string  ~ 128文字 フェデレーション元のユーザーID userId string  ~ 128文字 フェデレーション先のユーザーID policyDocument string ~ 524288文字 ポリシードキュメント timeOffset int 0 0 ~ 315360000 現在時刻に対する補正値（現在時刻を起点とした秒数） 時刻補正値は、サーバーの現在時刻との差分を秒単位で表します。 この値はゲーム内のイベントや機能が特定の時間に合わせて動作する際に使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 token string アクセストークン アクセスを認証するためのトークンです。 このトークンはシステムによって自動的に生成され、ユーザーのセッションを識別します。 userId string ユーザーID expire long 有効期限 トークンの有効期限を示すタイムスタンプです。この期限が過ぎると、トークンは無効になります。 UNIX 時間・ミリ秒 実装例 issueTimeOffsetTokenByUserId 指定したユーザーIDで使用可能なタイムオフセットトークンを発行 タイムオフセットトークン は アクセストークンを使用せず、ユーザーID を要求するAPIに指定することで擬似的に時間を進めてAPI処理を実行できます。 アクセストークンを使用するAPIでタイムオフセットを利用したい場合は、アクセストークンの発行時にタイムオフセットを指定することでリクエストごとにトークンを指定せずとも同等の処理を実行できます。 タイムオフセットトークンは通常のアクセストークンとは異なる有効期間を持ちます。 主にテスト目的で使用され、スケジュールされたイベントや期間限定コンテンツの動作を事前に検証する際に活用されます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffset int 0 0 ~ 315360000 現在時刻に対する補正値（現在時刻を起点とした秒数） 時刻補正値は、サーバーの現在時刻との差分を秒単位で表します。 この値はゲーム内のイベントや機能が特定の時間に合わせて動作する際に使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 token string アクセストークン アクセスを認証するためのトークンです。 このトークンはシステムによって自動的に生成され、ユーザーのセッションを識別します。 userId string ユーザーID expire long 有効期限 トークンの有効期限を示すタイムスタンプです。この期限が過ぎると、トークンは無効になります。 UNIX 時間・ミリ秒 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Auth SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Auth SDK API リファレンス","url":"/ja/api_reference/auth/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 バフの適用結果に基づいて実行される分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションが含まれます。 applyBuffScript ScriptSetting バフを適用する際に実行するスクリプトの設定 Script トリガーリファレンス - apply logSetting LogSetting ログの出力設定 バフ操作のログデータを GS2-Log に出力するための設定です。APIリクエスト・レスポンスのログを収集する GS2-Log のネームスペースを指定します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 BuffTargetModel バフを適用する対象のモデル バフ適用の対象となる GS2 リソースモデルとフィールドを定義します。どのモデルのどのフィールド値をバフで変更するかを指定し、対象リソースインスタンスを特定する条件GRNと適用するレート値を含みます。 詳細  targetModelName 文字列列挙型 enum { }  バフを適用するモデルの種類 targetFieldName string  ~ 64文字 バフの適用対象フィールド名 バフによって値が変更される対象モデル上の数値フィールド名です。例えば、経験値や攻撃力などの数値属性を表すフィールドが対象となります。 conditionGrns List  1 ~ 10 items バフの適用条件GRNのリスト バフ適用の対象リソースインスタンスを特定する GRN パターンのリストです。複数の GRN を組み合わせて、リソースを正確に特定する複合条件を形成します。 rate float  0 ~ 1000000 補正レート 適用されるバフ値です。適用タイプにより意味が異なります。「Rate Add」の場合は基本レートに加算、「Mul」の場合は現在のレートに乗算、「Value Add」の場合はレート計算後のフィールド値に直接加算されます。 BuffEntryModel バフエントリーモデル バフの適用量はバフエントリーモデルで管理し、同一の対象に対して複数のバフエントリーモデルを関連づけることが可能です。 バフエントリーモデルの適用順番はバフエントリーモデルの priority で管理し、 priority の値が小さいほど優先度が高くなります。 バフの適用方式は3種類存在し「Rate Add」、「Mul」と「Value Add」があります。 Rate Add はバフの適用レートに加算する命令、Mul はバフの適用レートに乗算する命令です。 Value Add はバフの補正計算後の値に加算を行う命令です。 たとえば、デフォルトのレートが 1.0 で、Rate Add 0.2 と設定するとバフの適用レートは 1.2 になります。 Mul 0.5 と設定するとバフの適用レートは 0.5 倍になります。 バフエントリーモデルには GS2-Schedule のイベントを関連づけることができ、イベントの開催期間中のみバフを適用するような設定も可能です。 詳細  buffEntryModelId string ※ ~ 1024文字 バフエントリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 バフエントリーモデル名 バフエントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 expression 文字列列挙型 enum {   “rate_add”,   “mul”,   “value_add” }  バフの適用タイプ バフ値を対象にどのように適用するかを指定します。「Rate Add」は補正レートに加算（例: 1.0 + 0.2 = 1.2）、「Mul」は補正レートに乗算（例: レート * 0.5）、「Value Add」はレートベースの補正計算後の値に直接加算します。 定義 説明 “rate_add” 補正レートに加算 “mul” 補正レートに乗算 “value_add” 値を直接加算（モデルやアクションの数値のみ） targetType 文字列列挙型 enum {   “model”,   “action” }  バフを適用する対象の種類 バフをモデルのフィールド値に適用するか、アクションのパラメータに適用するかを指定します。「Model」は GS2 リソースモデルのフィールドを対象とし、「Action」は GS2 アクション（例：入手量や消費量）のパラメータを対象とします。 定義 説明 “model” モデル “action” アクション targetModel BuffTargetModel {targetType} == “model” ※ バフを適用する対象のモデル バフを適用する GS2 リソースモデルとフィールドを指定します。モデル名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “model” であれば 必須 targetAction BuffTargetAction {targetType} == “action” ※ バフを適用する対象のアクション バフを適用する GS2 アクションとパラメータを指定します。アクション名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “action” であれば 必須 priority int  0 ~ 2147483646 バフの適用優先度 バフエントリーモデルが評価される順序を決定します。値が小さいほど先に評価されます。同じフィールドを対象とする複数のバフがある場合、Rate Add と Mul 演算の相互作用により、適用順序が最終結果に影響します。 applyPeriodScheduleEventId string ~ 1024文字 バフを適用するイベントの開催期間 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このバフの有効期間を制御する GS2-Schedule イベントの GRN です。指定した場合、イベントの開催期間中のみバフが適用されます。未指定の場合、バフは常に有効です。 BuffTargetAction バフを適用する対象のアクション バフ適用の対象となる GS2 アクションとパラメータを定義します。どのアクションのどのパラメータをバフで変更するかを指定し、対象リソースインスタンスを特定する条件GRNと適用するレート値を含みます。 詳細  targetActionName 文字列列挙型 enum { \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SubExperience\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:ConsumeItemSet\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeSimpleItems\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:ConsumeBigItem\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2Limit:CountUp\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:Withdraw\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Money2:Withdraw\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Stamina:ConsumeStamina\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , }  バフを適用するアクションの種類 targetFieldName string  ~ 64文字 バフの適用対象フィールド名 バフによって値が変更される対象アクション上の数値パラメータ名です。例えば、入手数、消費量、報酬数量などを表すパラメータが対象となります。 conditionGrns List  1 ~ 10 items バフの適用条件GRNのリスト バフ適用の対象リソースインスタンスを特定する GRN パターンのリストです。複数の GRN を組み合わせて、リソースを正確に特定する複合条件を形成します。 rate float  0 ~ 1000000 レート 適用されるバフ値です。適用タイプにより意味が異なります。「Rate Add」の場合は基本レートに加算、「Mul」の場合は現在のレートに乗算、「Value Add」の場合はレート計算後のパラメータ値に直接加算されます。 BuffTargetGrn バフ適用条件となるリソースのGRNパターン バフを適用する対象のリソースインスタンスを特定するための、プレースホルダーを含む GRN テンプレートです。モデル名で GS2 サービスモデルを特定し、GRN パターンにはランタイムで解決されるコンテキスト変数（例：region、ownerId、namespaceName）が含まれます。 詳細  targetModelName string  ~ 64文字 バフの適用条件のモデル名 条件GRNを解決するために使用される GS2 サービスモデルの名前です。GRN パターンがどのサービスのリソースモデルを参照するかを特定します。 targetGrn string  ~ 1024文字 バフの適用条件GRN ランタイムで解決されるコンテキストプレースホルダー（例：{region}、{ownerId}）を含む GRN テンプレートです。バフの対象となる特定のリソースインスタンスを特定するために使用されます。 OverrideBuffRate バフの適用レート上書きモデル バフ適用時に特定の BuffEntryModel のレート値を上書きするためのモデルです。バフエントリー名とカスタムレートを指定することで、BuffEntryModel に定義されたデフォルトのレートを特定のリクエストで異なる値に置き換えることができます。 詳細  name string  ~ 128文字 バフエントリーモデル名 バフエントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rate float  0 ~ 100 レート BuffEntryModel に定義されたデフォルトのレートの代わりに使用する上書きレート値です。 CurrentBuffMaster 現在アクティブなバフエントリーモデルのマスターデータ 現在ネームスペース内で有効な、バフエントリーモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Buff マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ BuffEntryModelMaster バフエントリーモデルマスター バフエントリーモデルマスターは、ゲーム内で使用されるバフエントリーモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるバフエントリーモデルとして反映されます。 バフの適用量はバフエントリーモデルで管理し、同一の対象に対して複数のバフエントリーモデルを関連づけることが可能です。 バフエントリーモデルの適用順番はバフエントリーモデルの priority で管理し、 priority の値が小さいほど優先度が高くなります。 バフの適用方式は3種類存在し「Rate Add」、「Mul」と「Value Add」があります。 Rate Add はバフの適用レートに加算する命令、Mul はバフの適用レートに乗算する命令です。 Value Add はバフの補正計算後の値に加算を行う命令です。 たとえば、デフォルトのレートが 1.0 で、Rate Add 0.2 と設定するとバフの適用レートは 1.2 になります。 Mul 0.5 と設定するとバフの適用レートは 0.5 倍になります。 バフエントリーモデルには GS2-Schedule のイベントを関連づけることができ、イベントの開催期間中のみバフを適用するような設定も可能です。 詳細  buffEntryModelId string ※ ~ 1024文字 バフエントリーモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 バフエントリーモデル名 バフエントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 expression 文字列列挙型 enum {   “rate_add”,   “mul”,   “value_add” }  バフの適用タイプ バフ値を対象にどのように適用するかを指定します。「Rate Add」は補正レートに加算（例: 1.0 + 0.2 = 1.2）、「Mul」は補正レートに乗算（例: レート * 0.5）、「Value Add」はレートベースの補正計算後の値に直接加算します。 定義 説明 “rate_add” Rate Add “mul” Mul “value_add” Value Add targetType 文字列列挙型 enum {   “model”,   “action” }  バフを適用する対象の種類 バフをモデルのフィールド値に適用するか、アクションのパラメータに適用するかを指定します。「Model」は GS2 リソースモデルのフィールドを対象とし、「Action」は GS2 アクション（例：入手量や消費量）のパラメータを対象とします。 定義 説明 “model” モデル “action” アクション targetModel BuffTargetModel {targetType} == “model” ※ バフを適用する対象のモデル バフを適用する GS2 リソースモデルとフィールドを指定します。モデル名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “model” であれば 必須 targetAction BuffTargetAction {targetType} == “action” ※ バフを適用する対象のアクション バフを適用する GS2 アクションとパラメータを指定します。アクション名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “action” であれば 必須 priority int  0 ~ 2147483646 バフの適用優先度 バフエントリーモデルが評価される順序を決定します。値が小さいほど先に評価されます。同じフィールドを対象とする複数のバフがある場合、Rate Add と Mul 演算の相互作用により、適用順序が最終結果に影響します。 applyPeriodScheduleEventId string ~ 1024文字 バフを適用するイベントの開催期間 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このバフの有効期間を制御する GS2-Schedule イベントの GRN です。指定した場合、イベントの開催期間中のみバフが適用されます。未指定の場合、バフは常に有効です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 バフの適用結果に基づいて実行される分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションが含まれます。 applyBuffScript ScriptSetting バフを適用する際に実行するスクリプトの設定 Script トリガーリファレンス - apply logSetting LogSetting ログの出力設定 バフ操作のログデータを GS2-Log に出力するための設定です。APIリクエスト・レスポンスのログを収集する GS2-Log のネームスペースを指定します。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 バフの適用結果に基づいて実行される分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションが含まれます。 applyBuffScript ScriptSetting バフを適用する際に実行するスクリプトの設定 Script トリガーリファレンス - apply logSetting LogSetting ログの出力設定 バフ操作のログデータを GS2-Log に出力するための設定です。APIリクエスト・レスポンスのログを収集する GS2-Log のネームスペースを指定します。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 applyBuff バフを適用 指定されたネームスペース内のすべてのバフエントリーモデルを評価し、現在ログインしているユーザーに該当するバフを適用します。 バフは優先度（値が小さいほど先に評価）に従って評価され、Rate Add（補正レートに加算）、Mul（補正レートに乗算）、Value Add（値に直接加算）の3つの適用方式をサポートしています。 バフエントリーモデルが GS2-Schedule のイベントに関連付けられている場合、イベント開催期間中のみ適用されます。 適用されたバフのリストと、バフの適用状態を記録した更新済みコンテキストスタックが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 items List 適用したバフのリスト newContextStack string バフの適用状況を記録したコンテキスト 実装例 applyBuffByUserId ユーザーIDを指定してバフを適用 指定されたネームスペース内のすべてのバフエントリーモデルを評価し、指定されたユーザーに該当するバフを適用します。 バフは優先度（値が小さいほど先に評価）に従って評価され、Rate Add（補正レートに加算）、Mul（補正レートに乗算）、Value Add（値に直接加算）の3つの適用方式をサポートしています。 バフエントリーモデルが GS2-Schedule のイベントに関連付けられている場合、イベント開催期間中のみ適用されます。 適用されたバフのリストと、バフの適用状態を記録した更新済みコンテキストスタックが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 適用したバフのリスト newContextStack string バフの適用状況を記録したコンテキスト 実装例 describeBuffEntryModels バフエントリーモデルの一覧を取得 指定されたネームスペースで現在有効化されているすべてのバフエントリーモデルを取得します。 バフエントリーモデルは、ゲームデータに適用可能なバフ効果を定義し、適用方式（Rate Add、Mul、Value Add）、対象（モデルまたはアクション）、優先度などが含まれます。 マスター版とは異なり、有効化（公開）済みのモデルのみを返し、ページネーションはありません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List バフエントリーモデルのリスト 実装例 getBuffEntryModel バフエントリーモデルを取得 指定されたネームスペースで指定された名前の、現在有効なバフエントリーモデルを取得します。 取得される情報には、適用方式（Rate Add、Mul、Value Add）、対象の種類（モデルまたはアクション）、対象の詳細、優先度、および設定されている場合は関連する GS2-Schedule のイベント情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 buffEntryName string  ~ 128文字 バフエントリーモデル名 バフエントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BuffEntryModel バフエントリーモデル 実装例 exportMaster バフエントリーモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在のバフエントリーモデルマスターデータを有効化に使用できる形式でエクスポートします。 エクスポートされたデータは、現在のマスター構成のバックアップや別のネームスペースへのインポートに使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentBuffMaster 有効化可能なバフエントリーモデルのマスターデータ 実装例 getCurrentBuffMaster 現在アクティブなバフエントリーモデルのマスターデータを取得 指定されたネームスペースで現在有効化（公開）されているバフエントリーモデルのマスターデータを取得します。 これは編集可能なマスターデータとは異なり、実際に本番で使用されている構成を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentBuffMaster 現在アクティブなバフエントリーモデルのマスターデータ 実装例 preUpdateCurrentBuffMaster 現在アクティブなバフエントリーモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentBuffMaster 現在アクティブなバフエントリーモデルのマスターデータを更新 指定されたネームスペースのバフエントリーモデルのマスターデータを更新し有効化（公開）します。 2つのモードをサポートしています：インラインのマスターデータ用の ‘direct’ モードと、事前にアップロードされたマスターデータ用の ‘preUpload’ モードです。 1MBを超えるマスターデータの場合は、3フェーズの更新フロー（PreUpdate -\u003e アップロード -\u003e Update（preUpload モード））を使用してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentBuffMaster 更新された現在アクティブなバフエントリーモデルのマスターデータ 実装例 updateCurrentBuffMasterFromGitHub 現在アクティブなバフエントリーモデルのマスターデータをGitHubから更新 GitHub リポジトリから直接マスターデータを取得して更新・有効化（公開）します。 チェックアウト設定には、使用するリポジトリ、ブランチ/タグ、ファイルパスを指定します。 マスターデータをバージョン管理で管理し、直接デプロイする場合に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentBuffMaster 更新された現在アクティブなバフエントリーモデルのマスターデータ 実装例 describeBuffEntryModelMasters バフエントリーモデルマスターの一覧を取得 指定されたネームスペースのバフエントリーモデルマスターのページネーション付きリストを取得します。 バフエントリーモデルマスターは、ゲームデータに適用可能なバフ効果を定義するバフエントリーモデルの編集可能なバージョンです。 マスターデータへの変更は、現在のバフマスターを通じて有効化（公開）されるまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 バフエントリーモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List バフエントリーモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createBuffEntryModelMaster バフエントリーモデルマスターを新規作成 ゲームデータに適用可能なバフ効果を定義する新しいバフエントリーモデルマスターを作成します。 名前、適用方式（Rate Add、Mul、Value Add）、対象の種類（モデルまたはアクション）、対象の詳細、優先度を設定でき、オプションで GS2-Schedule のイベントに関連付けてバフを特定期間に限定することもできます。 同じ対象に複数のバフが適用される場合、優先度の値が小さいバフが先に評価されます。 変更は、現在のバフマスターを通じて有効化（公開）されるまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 バフエントリーモデル名 バフエントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 expression 文字列列挙型 enum {   “rate_add”,   “mul”,   “value_add” }  バフの適用タイプ バフ値を対象にどのように適用するかを指定します。「Rate Add」は補正レートに加算（例: 1.0 + 0.2 = 1.2）、「Mul」は補正レートに乗算（例: レート * 0.5）、「Value Add」はレートベースの補正計算後の値に直接加算します。 定義 説明 “rate_add” Rate Add “mul” Mul “value_add” Value Add targetType 文字列列挙型 enum {   “model”,   “action” }  バフを適用する対象の種類 バフをモデルのフィールド値に適用するか、アクションのパラメータに適用するかを指定します。「Model」は GS2 リソースモデルのフィールドを対象とし、「Action」は GS2 アクション（例：入手量や消費量）のパラメータを対象とします。 定義 説明 “model” モデル “action” アクション targetModel BuffTargetModel {targetType} == “model” ※ バフを適用する対象のモデル バフを適用する GS2 リソースモデルとフィールドを指定します。モデル名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “model” であれば必須 targetAction BuffTargetAction {targetType} == “action” ※ バフを適用する対象のアクション バフを適用する GS2 アクションとパラメータを指定します。アクション名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “action” であれば必須 priority int  0 ~ 2147483646 バフの適用優先度 バフエントリーモデルが評価される順序を決定します。値が小さいほど先に評価されます。同じフィールドを対象とする複数のバフがある場合、Rate Add と Mul 演算の相互作用により、適用順序が最終結果に影響します。 applyPeriodScheduleEventId string ~ 1024文字 バフを適用するイベントの開催期間 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item BuffEntryModelMaster 作成したバフエントリーモデルマスター 実装例 getBuffEntryModelMaster バフエントリーモデルマスターを取得 指定されたネームスペースの名前を指定して、特定のバフエントリーモデルマスターを取得します。 取得される情報には、適用方式、対象の種類、対象の詳細、優先度、メタデータ、および設定されている場合は関連する GS2-Schedule のイベント情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 buffEntryName string  ~ 128文字 バフエントリーモデル名 バフエントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BuffEntryModelMaster バフエントリーモデルマスター 実装例 updateBuffEntryModelMaster バフエントリーモデルマスターを更新 指定されたバフエントリーモデルマスターを更新します。 説明、メタデータ、適用方式（Rate Add、Mul、Value Add）、対象の種類、対象の詳細、優先度、および関連する GS2-Schedule のイベントを変更できます。 変更は、現在のバフマスターを通じて有効化（公開）されるまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 buffEntryName string  ~ 128文字 バフエントリーモデル名 バフエントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 expression 文字列列挙型 enum {   “rate_add”,   “mul”,   “value_add” }  バフの適用タイプ バフ値を対象にどのように適用するかを指定します。「Rate Add」は補正レートに加算（例: 1.0 + 0.2 = 1.2）、「Mul」は補正レートに乗算（例: レート * 0.5）、「Value Add」はレートベースの補正計算後の値に直接加算します。 定義 説明 “rate_add” Rate Add “mul” Mul “value_add” Value Add targetType 文字列列挙型 enum {   “model”,   “action” }  バフを適用する対象の種類 バフをモデルのフィールド値に適用するか、アクションのパラメータに適用するかを指定します。「Model」は GS2 リソースモデルのフィールドを対象とし、「Action」は GS2 アクション（例：入手量や消費量）のパラメータを対象とします。 定義 説明 “model” モデル “action” アクション targetModel BuffTargetModel {targetType} == “model” ※ バフを適用する対象のモデル バフを適用する GS2 リソースモデルとフィールドを指定します。モデル名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “model” であれば必須 targetAction BuffTargetAction {targetType} == “action” ※ バフを適用する対象のアクション バフを適用する GS2 アクションとパラメータを指定します。アクション名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “action” であれば必須 priority int  0 ~ 2147483646 バフの適用優先度 バフエントリーモデルが評価される順序を決定します。値が小さいほど先に評価されます。同じフィールドを対象とする複数のバフがある場合、Rate Add と Mul 演算の相互作用により、適用順序が最終結果に影響します。 applyPeriodScheduleEventId string ~ 1024文字 バフを適用するイベントの開催期間 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item BuffEntryModelMaster 更新したバフエントリーモデルマスター 実装例 deleteBuffEntryModelMaster バフエントリーモデルマスターを削除 指定されたネームスペースから指定されたバフエントリーモデルマスターを削除します。 削除後、次回のマスターデータ有効化以降、このバフエントリーは利用できなくなります。 この操作はマスターデータにのみ影響し、マスターデータが再有効化されるまで現在有効なモデルは変更されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 buffEntryName string  ~ 128文字 バフエントリーモデル名 バフエントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BuffEntryModelMaster 削除したバフエントリーモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Buff SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Buff SDK API リファレンス","url":"/ja/api_reference/buff/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 チャットサービス内でのトランザクションの処理方法を制御する設定です。 allowCreateRoom bool true ゲームプレイヤーによるルームの作成を許可するか ゲーム運営側があらかじめルームを作成しておいて、ゲームプレイヤーはそのルームを購読する形式の場合は「false」を指定します。 逆に、ゲームプレイヤーが自由にルームを作成して、他のプレイヤーを招待して遊ぶ形式の場合は「true」を指定します。 messageLifeTimeDays int 1 1 ~ 30 メッセージ保持期間(日数) ルーム内のメッセージを保持する日数。 postMessageScript ScriptSetting メッセージを投稿したときに実行するスクリプトの設定 Script トリガーリファレンス - postMessage createRoomScript ScriptSetting ルームを作成したときに実行するスクリプトの設定 Script トリガーリファレンス - createRoom deleteRoomScript ScriptSetting ルームを削除したときに実行するスクリプトの設定 Script トリガーリファレンス - deleteRoom subscribeRoomScript ScriptSetting ルームを購読したときに実行するスクリプトの設定 Script トリガーリファレンス - subscribeRoom unsubscribeRoomScript ScriptSetting ルームの購読を解除したときに実行するスクリプトの設定 Script トリガーリファレンス - unsubscribeRoom postNotification NotificationSetting  購読しているルームに新しい投稿がきたときのプッシュ通知 購読中のルームに新しいメッセージが投稿された際に GS2-Gateway 経由でプッシュ通知を送信するための設定です。この設定がなければ、クライアントは新しいメッセージを検出するためにルームをポーリングする必要があります。 logSetting LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log のネームスペース情報を保持します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。 詳細  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Room ルーム ルームはチャットのメッセージを届けられる範囲を表しています。 GS2-Chat のルームには参加という概念はありません。 そのため、メッセージを受信するにはルームの名前を知っているだけでよく、ルームへの参加やメンバー登録は必要ありません。 ルームのメッセージを閲覧できるゲームプレイヤーを限定したい場合は2つの方法があります。 1つ目はルームにパスワードを設定することです。 2つ目はルームに設定可能なホワイトリストでゲームプレイヤーのユーザーIDを設定することで限定ができます。 パスワードを設定した場合、パスワードを知らなければゲームの管理者でもメッセージの取得が出来なくなることに注意してください。 これは日本国憲法で定められた 通信の秘密 に該当する可能性があるためです。 ルームを購読すると、ルームに対して新しいメッセージが送信された際に GS2-Gateway のプッシュ通知を受けることが可能です。 この通知機能を利用することで、ルームに対してポーリングすることなく新しいメッセージの有無を知ることが可能となります。 詳細  roomId string ※ ~ 1024文字 ルーム GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ~ 128文字 オーナーユーザーID ルームのオーナーのユーザーIDです。設定すると、オーナーのみがルームを削除できるようになります。オーナーの設定は任意です。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 password string ~ 128文字 ルームにアクセスするために必要となるパスワード 設定すると、メッセージの取得・投稿時にパスワードの入力が必要になります。設定したパスワードは二度と参照できません。通信の秘密に該当する可能性があるため、ゲーム管理者でもパスワードを知らなければメッセージにアクセスできなくなります。 whiteListUserIds List [] 0 ~ 1000 items ルームにアクセス可能なユーザーIDリスト 設定すると、リストに含まれるユーザーのみがルームのメッセージを取得・投稿できるようになります。空の場合、ユーザーIDによるアクセス制限は適用されません（ただしパスワードは別途必要な場合があります）。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Message メッセージ メッセージはルームに投稿されたデータです。 カテゴリというフィールドを持ちますので、メッセージの分類が可能です。 たとえば、カテゴリが 0 の場合は通常のテキストメッセージとして解釈し、1 の場合はスタンプ（ステッカー）として処理するようにクライアントを実行することができます。 投稿されたメッセージは投稿後、Chat Namespace の messageLifeTimeDays で設定したメッセージ保持期間が経過すると自動的に削除されます。 詳細  messageId string ※ ~ 1024文字 メッセージ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前はUUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 userId string  ~ 128文字 ユーザーID category int 0 0 ~ 2147483645 メッセージの種類を分類したい時の種類番号 メッセージを分類するための数値です。例えば、0 は通常のテキストメッセージ、1 はスタンプ（ステッカー）、その他の値はカスタムメッセージタイプとして使用できます。カテゴリーにより、メッセージに適用される CategoryModel のルールが決まります。 metadata string  ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Subscribe ルーム購読 ルームを購読することで、そのルームに対する新着メッセージの存在を即座に知ることが出来るようになります。 購読する際にはメッセージのカテゴリを指定できます。 この機能をうまく利用すれば重要度の高いメッセージのみ受信するような設定も可能です。 詳細  subscribeId string ※ ~ 1024文字 購読 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 notificationTypes List [] 0 ~ 100 items 新着メッセージ通知を受け取るカテゴリリスト プッシュ通知をトリガーするメッセージカテゴリーをフィルタリングします。空の場合、すべてのカテゴリーで通知が送信されます。各エントリーはカテゴリー番号とオプションのモバイルプッシュ通知転送を指定します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン CategoryModel カテゴリーモデル カテゴリーモデルは、チャットルームに投稿されるメッセージを分類するためのカテゴリーを定義します。 各カテゴリーは数値で識別され、カテゴリーごとにプレイヤーのアクセストークンを使った投稿を許可するか拒否するかを設定できます。 これにより、サーバーのみが投稿可能なシステムアナウンスカテゴリーなどのユースケースを実現できます。 詳細  categoryModelId string ※ ~ 1024文字 カテゴリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 category int  0 ~ 2147483645 カテゴリー メッセージカテゴリーの数値識別子です。このカテゴリー番号で投稿されたメッセージは、プレイヤーの投稿を許可するかなど、このモデルで定義されたルールに従います。 rejectAccessTokenPost 文字列列挙型 enum {   “Enabled”,   “Disabled” } プレイヤーのアクセストークンを利用した投稿を拒否する 有効にすると、このカテゴリーではサーバーサイドの API 呼び出し（ユーザーID指定）のみがメッセージを投稿できます。プレイヤーが直接投稿すべきでないシステムアナウンスやサーバー生成メッセージに有用です。 定義 説明 “Enabled” アクセストークンを利用した投稿を拒否する “Disabled” アクセストークンを利用した投稿を許可する NotificationType 通知タイプ 新着メッセージ通知を受け取るカテゴリの設定 詳細  category int 0 0 ~ 2147483646 新着メッセージ通知を受け取るカテゴリ 通知をフィルタリングするためのカテゴリーの数値識別子です。このカテゴリーに一致するメッセージのみが、購読に対するプッシュ通知をトリガーします。 enableTransferMobilePushNotification bool false オフラインだった時にモバイルプッシュ通知に転送するか 有効にすると、通知時に受信先デバイスがオフラインだった場合、モバイルプッシュ通知サービスに転送されます。これにより、ゲームが実行されていない場合でもプレイヤーに新着メッセージを通知できます。 CurrentModelMaster 現在アクティブなカテゴリーモデルのマスターデータ 現在ネームスペース内で有効な、カテゴリーモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Chat マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ CategoryModelMaster カテゴリーモデルマスター カテゴリーモデルマスターは、ゲーム内で使用されるカテゴリーモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるカテゴリーモデルとして反映されます。 カテゴリーモデルとはルームに投稿するカテゴリーに関する設定です。 詳細  categoryModelId string ※ ~ 1024文字 カテゴリーモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 category int  0 ~ 2147483645 カテゴリー メッセージカテゴリーの数値識別子です。このカテゴリー番号で投稿されたメッセージは、プレイヤーの投稿を許可するかなど、このモデルで定義されたルールに従います。 description string ~ 1024文字 説明文 rejectAccessTokenPost 文字列列挙型 enum {   “Enabled”,   “Disabled” } プレイヤーのアクセストークンを利用した投稿を拒否する 有効にすると、このカテゴリーではサーバーサイドの API 呼び出し（ユーザーID指定）のみがメッセージを投稿できます。プレイヤーが直接投稿すべきでないシステムアナウンスやサーバー生成メッセージに有用です。 定義 説明 “Enabled” プレイヤーのアクセストークンを利用した投稿を拒否する “Disabled” プレイヤーのアクセストークンを利用した投稿を許可する createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 チャットサービス内でのトランザクションの処理方法を制御する設定です。 allowCreateRoom bool true ゲームプレイヤーによるルームの作成を許可するか ゲーム運営側があらかじめルームを作成しておいて、ゲームプレイヤーはそのルームを購読する形式の場合は「false」を指定します。 逆に、ゲームプレイヤーが自由にルームを作成して、他のプレイヤーを招待して遊ぶ形式の場合は「true」を指定します。 messageLifeTimeDays int 1 1 ~ 30 メッセージ保持期間(日数) ルーム内のメッセージを保持する日数。 postMessageScript ScriptSetting メッセージを投稿したときに実行するスクリプトの設定 Script トリガーリファレンス - postMessage createRoomScript ScriptSetting ルームを作成したときに実行するスクリプトの設定 Script トリガーリファレンス - createRoom deleteRoomScript ScriptSetting ルームを削除したときに実行するスクリプトの設定 Script トリガーリファレンス - deleteRoom subscribeRoomScript ScriptSetting ルームを購読したときに実行するスクリプトの設定 Script トリガーリファレンス - subscribeRoom unsubscribeRoomScript ScriptSetting ルームの購読を解除したときに実行するスクリプトの設定 Script トリガーリファレンス - unsubscribeRoom postNotification NotificationSetting  購読しているルームに新しい投稿がきたときのプッシュ通知 購読中のルームに新しいメッセージが投稿された際に GS2-Gateway 経由でプッシュ通知を送信するための設定です。この設定がなければ、クライアントは新しいメッセージを検出するためにルームをポーリングする必要があります。 logSetting LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log のネームスペース情報を保持します。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 チャットサービス内でのトランザクションの処理方法を制御する設定です。 allowCreateRoom bool true ゲームプレイヤーによるルームの作成を許可するか ゲーム運営側があらかじめルームを作成しておいて、ゲームプレイヤーはそのルームを購読する形式の場合は「false」を指定します。 逆に、ゲームプレイヤーが自由にルームを作成して、他のプレイヤーを招待して遊ぶ形式の場合は「true」を指定します。 messageLifeTimeDays int 1 1 ~ 30 メッセージ保持期間(日数) ルーム内のメッセージを保持する日数。 postMessageScript ScriptSetting メッセージを投稿したときに実行するスクリプトの設定 Script トリガーリファレンス - postMessage createRoomScript ScriptSetting ルームを作成したときに実行するスクリプトの設定 Script トリガーリファレンス - createRoom deleteRoomScript ScriptSetting ルームを削除したときに実行するスクリプトの設定 Script トリガーリファレンス - deleteRoom subscribeRoomScript ScriptSetting ルームを購読したときに実行するスクリプトの設定 Script トリガーリファレンス - subscribeRoom unsubscribeRoomScript ScriptSetting ルームの購読を解除したときに実行するスクリプトの設定 Script トリガーリファレンス - unsubscribeRoom postNotification NotificationSetting  購読しているルームに新しい投稿がきたときのプッシュ通知 購読中のルームに新しいメッセージが投稿された際に GS2-Gateway 経由でプッシュ通知を送信するための設定です。この設定がなければ、クライアントは新しいメッセージを検出するためにルームをポーリングする必要があります。 logSetting LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log のネームスペース情報を保持します。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeRooms ルーム情報の一覧取得 ページトークンと取得件数の制限を指定して、ルーム情報のリストを取得できます。 これにより、存在するルームの概要を確認することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 ルーム名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ルーム情報のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createRoom ルームを作成 ルーム名、ユーザーID、メタデータ、パスワード、ホワイトリストに登録されるユーザーIDを指定して、ルームを作成することができます。 ルーム名は省略可能で、省略した場合は UUID（Universally Unique Identifier）が自動的に採番されます。 新しいコミュニケーション空間を設けるために使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string ~ 128文字 アクセストークン ルームのオーナーのユーザーIDです。設定すると、オーナーのみがルームを削除できるようになります。オーナーの設定は任意です。 name string UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 password string ~ 128文字 ルームにアクセスするために必要となるパスワード 設定すると、メッセージの取得・投稿時にパスワードの入力が必要になります。設定したパスワードは二度と参照できません。通信の秘密に該当する可能性があるため、ゲーム管理者でもパスワードを知らなければメッセージにアクセスできなくなります。 whiteListUserIds List [] 0 ~ 1000 items ルームにアクセス可能なユーザーIDリスト 設定すると、リストに含まれるユーザーのみがルームのメッセージを取得・投稿できるようになります。空の場合、ユーザーIDによるアクセス制限は適用されません（ただしパスワードは別途必要な場合があります）。 Result 型 説明 item Room 作成したルーム 実装例 createRoomFromBackend バックエンドからルームを作成 このAPIはゲームプレイヤーから呼び出されるわけではなく、システム関連系でルームを作成する際に使用します。 ルーム名、ユーザーID、メタデータ、パスワード、ホワイトリストに登録されるユーザーIDを指定して、ルームを作成することができます。 ルーム名は省略可能で、省略した場合は UUID（Universally Unique Identifier）が自動的に採番されます。 新しいコミュニケーション空間を設けるために使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ~ 128文字 オーナーユーザーID ルームのオーナーのユーザーIDです。設定すると、オーナーのみがルームを削除できるようになります。オーナーの設定は任意です。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 password string ~ 128文字 ルームにアクセスするために必要となるパスワード 設定すると、メッセージの取得・投稿時にパスワードの入力が必要になります。設定したパスワードは二度と参照できません。通信の秘密に該当する可能性があるため、ゲーム管理者でもパスワードを知らなければメッセージにアクセスできなくなります。 whiteListUserIds List [] 0 ~ 1000 items ルームにアクセス可能なユーザーIDリスト 設定すると、リストに含まれるユーザーのみがルームのメッセージを取得・投稿できるようになります。空の場合、ユーザーIDによるアクセス制限は適用されません（ただしパスワードは別途必要な場合があります）。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Room 作成したルーム 実装例 getRoom ルーム情報を取得 指定されたネームスペースのルーム名を指定して、特定のルームの詳細情報を取得します。 取得される情報には、ルームのメタデータ、作成者のユーザーID、ホワイトリスト設定が含まれます。 この操作にパスワード検証は不要です。パスワードはレスポンスに含まれません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Room ルーム 実装例 updateRoom ルームを更新 指定されたルームのメタデータ、パスワード、ホワイトリスト設定を更新します。 ルームの作成者（元々ルームを作成したユーザー）またはホワイトリストに登録されたユーザーのみがこの操作を実行できます。 現在ログインしているユーザーにルームへの書き込み権限がない場合、エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 password string ~ 128文字 ルームにアクセスするために必要となるパスワード 設定すると、メッセージの取得・投稿時にパスワードの入力が必要になります。設定したパスワードは二度と参照できません。通信の秘密に該当する可能性があるため、ゲーム管理者でもパスワードを知らなければメッセージにアクセスできなくなります。 whiteListUserIds List [] 0 ~ 1000 items ルームにアクセス可能なユーザーIDリスト 設定すると、リストに含まれるユーザーのみがルームのメッセージを取得・投稿できるようになります。空の場合、ユーザーIDによるアクセス制限は適用されません（ただしパスワードは別途必要な場合があります）。 accessToken string ~ 128文字 アクセストークン ルームのオーナーのユーザーIDです。設定すると、オーナーのみがルームを削除できるようになります。オーナーの設定は任意です。 Result 型 説明 item Room 更新したルーム 実装例 updateRoomFromBackend バックエンドからルームを更新 サーバーサイドから指定されたルームのメタデータ、パスワード、ホワイトリスト設定を更新します。 プレイヤー向けの更新APIとは異なり、システムレベルの操作を目的としているため、アクセストークンに対する書き込み権限の検証は行いません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 password string ~ 128文字 ルームにアクセスするために必要となるパスワード 設定すると、メッセージの取得・投稿時にパスワードの入力が必要になります。設定したパスワードは二度と参照できません。通信の秘密に該当する可能性があるため、ゲーム管理者でもパスワードを知らなければメッセージにアクセスできなくなります。 whiteListUserIds List [] 0 ~ 1000 items ルームにアクセス可能なユーザーIDリスト 設定すると、リストに含まれるユーザーのみがルームのメッセージを取得・投稿できるようになります。空の場合、ユーザーIDによるアクセス制限は適用されません（ただしパスワードは別途必要な場合があります）。 userId string ~ 128文字 オーナーユーザーID ルームのオーナーのユーザーIDです。設定すると、オーナーのみがルームを削除できるようになります。オーナーの設定は任意です。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Room 更新したルーム 実装例 deleteRoom ルームを削除 指定されたネームスペースからルームを削除します。 ルームの作成者またはホワイトリストに登録されたユーザーのみがこの操作を実行できます。 現在ログインしているユーザーにルームへの書き込み権限がない場合、エラーが返されます。 ルームを削除すると、関連するすべてのメッセージと購読情報も削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string ~ 128文字 アクセストークン ルームのオーナーのユーザーIDです。設定すると、オーナーのみがルームを削除できるようになります。オーナーの設定は任意です。 Result 型 説明 item Room 削除したルーム 実装例 deleteRoomFromBackend バックエンドからルームを削除 サーバーサイドから指定されたルームを削除します。 プレイヤー向けの削除APIとは異なり、システムレベルの操作を目的としているため、アクセストークンに対する書き込み権限の検証は行いません。 ルームを削除すると、関連するすべてのメッセージと購読情報も削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ~ 128文字 オーナーユーザーID ルームのオーナーのユーザーIDです。設定すると、オーナーのみがルームを削除できるようになります。オーナーの設定は任意です。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Room 削除したルーム 実装例 describeMessages メッセージの一覧取得 指定されたルーム内のメッセージを、指定された開始時刻から現在時刻までの時系列順で取得します。 オプションでカテゴリ番号を指定して、特定の種類のメッセージ（テキストメッセージ、スタンプなど）のみを取得できます。 ルームにパスワードが設定されている場合は、正しいパスワードの提供が必要です。ルームにホワイトリストが設定されている場合、アクセスはリストされたユーザーに制限されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 password string ~ 128文字 ルームにアクセスするために必要となるパスワード 設定すると、メッセージの取得・投稿時にパスワードの入力が必要になります。設定したパスワードは二度と参照できません。通信の秘密に該当する可能性があるため、ゲーム管理者でもパスワードを知らなければメッセージにアクセスできなくなります。 category int 0 ~ 2147483645 メッセージの種類を分類したい時の種類番号 accessToken string  ~ 128文字 アクセストークン startAt long 現在時刻から1時間前の絶対時刻 メッセージの取得を開始する時刻 UNIX 時間・ミリ秒 limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List メッセージのリスト 実装例 describeMessagesByUserId ユーザーIDを指定してメッセージの一覧取得 指定されたルーム内のメッセージを、指定された開始時刻から現在時刻までの時系列順で取得します。 オプションでカテゴリ番号を指定して、特定の種類のメッセージ（テキストメッセージ、スタンプなど）のみを取得できます。 ルームにパスワードが設定されている場合は、正しいパスワードの提供が必要です。ルームにホワイトリストが設定されている場合、アクセスはリストされたユーザーに制限されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 password string ~ 128文字 ルームにアクセスするために必要となるパスワード 設定すると、メッセージの取得・投稿時にパスワードの入力が必要になります。設定したパスワードは二度と参照できません。通信の秘密に該当する可能性があるため、ゲーム管理者でもパスワードを知らなければメッセージにアクセスできなくなります。 category int 0 ~ 2147483645 メッセージの種類を分類したい時の種類番号 userId string  ~ 128文字 ユーザーID startAt long 現在時刻から1時間前の絶対時刻 メッセージの取得を開始する時刻 UNIX 時間・ミリ秒 limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List メッセージのリスト 実装例 describeLatestMessages 最新のメッセージの一覧取得 指定されたルーム内の最新のメッセージをページネーション付きで、新しいものから順に取得します。 チャットタイムラインで最新のメッセージを先に表示する場合に便利です。 オプションでカテゴリ番号を指定して、特定の種類のメッセージのみを取得できます。 ルームにパスワードが設定されている場合は、正しいパスワードの提供が必要です。ルームにホワイトリストが設定されている場合、アクセスはリストされたユーザーに制限されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 password string ~ 128文字 ルームにアクセスするために必要となるパスワード 設定すると、メッセージの取得・投稿時にパスワードの入力が必要になります。設定したパスワードは二度と参照できません。通信の秘密に該当する可能性があるため、ゲーム管理者でもパスワードを知らなければメッセージにアクセスできなくなります。 category int 0 ~ 2147483645 メッセージの種類を分類したい時の種類番号 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List メッセージのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeLatestMessagesByUserId ユーザーIDを指定して最新のメッセージの一覧取得 指定されたルーム内の最新のメッセージをページネーション付きで、新しいものから順に取得します。 チャットタイムラインで最新のメッセージを先に表示する場合に便利です。 オプションでカテゴリ番号を指定して、特定の種類のメッセージのみを取得できます。 ルームにパスワードが設定されている場合は、正しいパスワードの提供が必要です。ルームにホワイトリストが設定されている場合、アクセスはリストされたユーザーに制限されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  UUID ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 password string ~ 128文字 ルームにアクセスするために必要となるパスワード 設定すると、メッセージの取得・投稿時にパスワードの入力が必要になります。設定したパスワードは二度と参照できません。通信の秘密に該当する可能性があるため、ゲーム管理者でもパスワードを知らなければメッセージにアクセスできなくなります。 category int 0 ~ 2147483645 メッセージの種類を分類したい時の種類番号 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List メッセージのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 post メッセージを投稿 現在ログインしているユーザーとして、指定されたルームにメッセージを投稿します。 カテゴリ番号を指定してメッセージの種類（例：0 はテキスト、1 はスタンプ/ステッカー）を分類し、メタデータにメッセージの内容を含めることができます。 カテゴリモデルで rejectAccessTokenPost フラグが有効になっている場合、アクセストークンによる投稿は拒否されエラーが返されます。その場合は、サーバーサイドの PostByUserId API を使用してください。 ルームにパスワードが設定されている場合は、正しいパスワードの提供が必要です。ルームにホワイトリストがある場合、アクセスはリストされたユーザーに制限されます。 投稿後、メッセージのカテゴリ通知設定に一致するルーム購読ユーザー全員に自動的に通知が送信されます。 メッセージの TTL はネームスペースの messageLifeTimeDays 設定で決まります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン category int 0 0 ~ 2147483645 メッセージの種類を分類したい時の種類番号 メッセージを分類するための数値です。例えば、0 は通常のテキストメッセージ、1 はスタンプ（ステッカー）、その他の値はカスタムメッセージタイプとして使用できます。カテゴリーにより、メッセージに適用される CategoryModel のルールが決まります。 metadata string  ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 password string ~ 128文字 パスワード Result 型 説明 item Message 投稿したメッセージ 実装例 postByUserId ユーザーIDを指定してメッセージを投稿 サーバーサイドから指定されたユーザーとして、指定されたルームにメッセージを投稿します。 アクセストークンによる投稿とは異なり、カテゴリの rejectAccessTokenPost 制限を受けないため、システムメッセージやお知らせの投稿に適しています。 ルームにパスワードが設定されている場合は、正しいパスワードの提供が必要です。ルームにホワイトリストがある場合、アクセスはリストされたユーザーに制限されます。 投稿後、メッセージのカテゴリ通知設定に一致するルーム購読ユーザー全員に自動的に通知が送信されます。 メッセージの TTL はネームスペースの messageLifeTimeDays 設定で決まります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID category int 0 0 ~ 2147483645 メッセージの種類を分類したい時の種類番号 メッセージを分類するための数値です。例えば、0 は通常のテキストメッセージ、1 はスタンプ（ステッカー）、その他の値はカスタムメッセージタイプとして使用できます。カテゴリーにより、メッセージに適用される CategoryModel のルールが決まります。 metadata string  ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 password string ~ 128文字 パスワード timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Message 投稿したメッセージ 実装例 getMessage メッセージを取得 指定されたルームからメッセージ名を指定して特定のメッセージを取得します。 ルームにパスワードが設定されている場合は、正しいパスワードの提供が必要です。ルームにホワイトリストがある場合、アクセスはリストされたユーザーに制限されます。 取得される情報には、メッセージのカテゴリ、メタデータ（内容）、投稿ユーザーID、作成タイムスタンプが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前はUUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 password string ~ 128文字 パスワード accessToken string ~ 128文字 アクセストークン Result 型 説明 item Message メッセージ 実装例 getMessageByUserId ユーザーIDを指定してメッセージを取得 サーバーサイドのユーザーIDを使用して、指定されたルームからメッセージ名を指定して特定のメッセージを取得します。 ルームにパスワードが設定されている場合は、正しいパスワードの提供が必要です。ルームにホワイトリストがある場合、アクセスはリストされたユーザーに制限されます。 取得される情報には、メッセージのカテゴリ、メタデータ（内容）、投稿ユーザーID、作成タイムスタンプが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前はUUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 password string ~ 128文字 パスワード userId string ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Message メッセージ 実装例 deleteMessage メッセージを削除 指定されたルームから特定のメッセージを削除します。 この操作はメッセージを完全に削除し、復元することはできません。 投稿ユーザーに関係なく任意のメッセージを削除できる管理APIです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ~ 128文字 ユーザーID messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前はUUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Message 削除したメッセージ 実装例 describeSubscribes ルーム購読リストを取得 ページトークンと取得件数の制限を指定して、購読しているルームのリストを取得できます。 これにより、ユーザーが購読しているルームの概要を確認することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomNamePrefix string ~ 64文字 購読しているルーム名のフィルター接頭辞 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ルーム購読のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeSubscribesByUserId ユーザーIDを指定してルーム購読の一覧取得 ページトークンと取得件数の制限を指定して、購読リストを取得できます。 これにより、ユーザーが購読しているルームの概要を確認することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomNamePrefix string ~ 64文字 購読しているルーム名のフィルター接頭辞 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ルーム購読のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeSubscribesByRoomName ルーム名を指定して購読しているユーザの一覧取得 ページトークンと取得件数の制限を指定して、そのルームを購読しているユーザーリストを取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ルーム購読のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 subscribe ルームを購読 指定されたルームに新しいメッセージが投稿された際に通知を受け取るよう、現在ログインしているユーザーを購読登録します。 通知タイプを指定して通知設定を構成でき、メッセージのカテゴリによる通知のフィルタリングが可能です。 購読しているルームにメッセージが投稿されると、カテゴリフィルターが一致するすべての購読者に通知が配信されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 accessToken string  ~ 128文字 アクセストークン notificationTypes List [] 0 ~ 100 items 新着メッセージ通知を受け取るカテゴリリスト プッシュ通知をトリガーするメッセージカテゴリーをフィルタリングします。空の場合、すべてのカテゴリーで通知が送信されます。各エントリーはカテゴリー番号とオプションのモバイルプッシュ通知転送を指定します。 Result 型 説明 item Subscribe ルーム購読 実装例 subscribeByUserId ユーザーIDを指定してルームを購読 指定されたルームに新しいメッセージが投稿された際に通知を受け取るよう、指定されたユーザーを購読登録します。 通知タイプを指定して通知設定を構成でき、メッセージのカテゴリによる通知のフィルタリングが可能です。 購読しているルームにメッセージが投稿されると、カテゴリフィルターが一致するすべての購読者に通知が配信されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 userId string  ~ 128文字 ユーザーID notificationTypes List [] 0 ~ 100 items 新着メッセージ通知を受け取るカテゴリリスト プッシュ通知をトリガーするメッセージカテゴリーをフィルタリングします。空の場合、すべてのカテゴリーで通知が送信されます。各エントリーはカテゴリー番号とオプションのモバイルプッシュ通知転送を指定します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Subscribe ルーム購読 実装例 getSubscribe ルーム購読を取得 現在ログインしているユーザーの、指定されたルームに対する購読情報を取得します。 返される情報には、この購読に設定されている通知タイプの設定が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Subscribe ルーム購読 実装例 getSubscribeByUserId ユーザーIDを指定してルーム購読を取得 指定されたユーザーの、指定されたルームに対する購読情報を取得します。 返される情報には、この購読に設定されている通知タイプの設定が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Subscribe ルーム購読 実装例 updateNotificationType 通知方法を更新 現在ログインしているユーザーの、指定されたルームに対する購読の通知タイプ設定を更新します。 通知タイプを設定することで、どのメッセージカテゴリがユーザーへのプッシュ通知をトリガーするかを制御できます。 例えば、特定のカテゴリ番号の通知のみを受信するように設定したり、特定のカテゴリの通知を無効にしたりできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 accessToken string  ~ 128文字 アクセストークン notificationTypes List [] 0 ~ 100 items 新着メッセージ通知を受け取るカテゴリリスト プッシュ通知をトリガーするメッセージカテゴリーをフィルタリングします。空の場合、すべてのカテゴリーで通知が送信されます。各エントリーはカテゴリー番号とオプションのモバイルプッシュ通知転送を指定します。 Result 型 説明 item Subscribe 更新した購読 実装例 updateNotificationTypeByUserId ユーザーIDを指定して通知方法を更新 指定されたユーザーの、指定されたルームに対する購読の通知タイプ設定を更新します。 通知タイプを設定することで、どのメッセージカテゴリがユーザーへのプッシュ通知をトリガーするかを制御できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 userId string  ~ 128文字 ユーザーID notificationTypes List [] 0 ~ 100 items 新着メッセージ通知を受け取るカテゴリリスト プッシュ通知をトリガーするメッセージカテゴリーをフィルタリングします。空の場合、すべてのカテゴリーで通知が送信されます。各エントリーはカテゴリー番号とオプションのモバイルプッシュ通知転送を指定します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Subscribe 更新した購読 実装例 unsubscribe ルーム購読を解除 現在ログインしているユーザーの、指定されたルームへの購読を解除します。 購読解除後、このルームに新しいメッセージが投稿されても通知を受信しなくなります。 購読レコードは完全に削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Subscribe 解除した購読 実装例 unsubscribeByUserId ユーザーIDを指定してルーム購読を解除 指定されたユーザーの、指定されたルームへの購読を解除します。 購読解除後、このルームに新しいメッセージが投稿されても通知を受信しなくなります。 購読レコードは完全に削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 購読するルーム名 購読するチャットルームの名前です。購読すると、このルームに新しいメッセージが投稿されるたびに GS2-Gateway 経由でプッシュ通知が送信されます。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Subscribe 解除した購読 実装例 describeCategoryModels カテゴリーモデルの一覧を取得 指定されたネームスペースで現在有効化されているすべてのカテゴリーモデルを取得します。 カテゴリーモデルはメッセージのカテゴリ（通常のテキストメッセージ、スタンプ/ステッカーなど）を定義し、カテゴリごとの投稿権限を制御します。 マスター版とは異なり、有効化（公開）済みのモデルのみを返し、ページネーションはありません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List カテゴリーモデルのリスト 実装例 getCategoryModel カテゴリーモデルを取得 指定されたネームスペースで指定されたカテゴリ番号の、現在有効なカテゴリーモデルを取得します。 取得される情報には、アクセストークン認証ユーザーがこのカテゴリへの投稿を制限されているかどうか（rejectAccessTokenPost フラグ）が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 category int  0 ~ 2147483645 カテゴリー メッセージカテゴリーの数値識別子です。このカテゴリー番号で投稿されたメッセージは、プレイヤーの投稿を許可するかなど、このモデルで定義されたルールに従います。 Result 型 説明 item CategoryModel カテゴリーモデル 実装例 exportMaster カテゴリーモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在のカテゴリーモデルマスターデータを有効化に使用できる形式でエクスポートします。 エクスポートされたデータは、現在のマスター構成のバックアップや別のネームスペースへのインポートに使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentModelMaster 有効化可能なカテゴリーモデルのマスターデータ 実装例 getCurrentModelMaster 現在アクティブなカテゴリーモデルのマスターデータを取得 指定されたネームスペースで現在有効化（公開）されているカテゴリーモデルのマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentModelMaster 現在アクティブなカテゴリーモデルのマスターデータ 実装例 preUpdateCurrentModelMaster 現在アクティブなカテゴリーモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentModelMaster 現在アクティブなカテゴリーモデルのマスターデータを更新 指定されたネームスペースのカテゴリーモデルのマスターデータを更新し有効化（公開）します。 2つのモードをサポートしています：インラインのマスターデータ用の ‘direct’ モードと、事前にアップロードされたマスターデータ用の ‘preUpload’ モードです。 1MBを超えるマスターデータの場合は、3フェーズの更新フロー（PreUpdate -\u003e アップロード -\u003e Update（preUpload モード））を使用してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentModelMaster 更新された現在アクティブなカテゴリーモデルのマスターデータ 実装例 updateCurrentModelMasterFromGitHub 現在アクティブなカテゴリーモデルのマスターデータをGitHubから更新 GitHub リポジトリから直接マスターデータを取得して更新・有効化（公開）します。 チェックアウト設定には、使用するリポジトリ、ブランチ/タグ、ファイルパスを指定します。 マスターデータをバージョン管理で管理し、直接デプロイする場合に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentModelMaster 更新された現在アクティブなカテゴリーモデルのマスターデータ 実装例 describeCategoryModelMasters カテゴリーモデルマスターの一覧を取得 指定されたネームスペースのカテゴリーモデルマスターのページネーション付きリストを取得します。 カテゴリーモデルマスターは、メッセージのカテゴリとその投稿権限を定義するカテゴリーモデルの編集可能なバージョンです。 マスターデータへの変更は、現在のモデルマスターを通じて有効化（公開）されるまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List カテゴリーモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createCategoryModelMaster カテゴリーモデルマスターを新規作成 メッセージのカテゴリとその投稿権限を定義する新しいカテゴリーモデルマスターを作成します。 カテゴリ番号、説明、および rejectAccessTokenPost フラグを設定できます。このフラグは、アクセストークン認証ユーザー（ゲームプレイヤー）がこのカテゴリにメッセージを投稿できるかどうかを制御します。 rejectAccessTokenPost を有効にすると、このカテゴリではサーバーサイド（ユーザーID指定）からの投稿のみが許可され、システムメッセージやお知らせに適しています。 変更は、現在のモデルマスターを通じて有効化（公開）されるまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 category int  0 ~ 2147483645 カテゴリー メッセージカテゴリーの数値識別子です。このカテゴリー番号で投稿されたメッセージは、プレイヤーの投稿を許可するかなど、このモデルで定義されたルールに従います。 description string ~ 1024文字 説明文 rejectAccessTokenPost 文字列列挙型 enum {   “Enabled”,   “Disabled” } プレイヤーのアクセストークンを利用した投稿を拒否する 有効にすると、このカテゴリーではサーバーサイドの API 呼び出し（ユーザーID指定）のみがメッセージを投稿できます。プレイヤーが直接投稿すべきでないシステムアナウンスやサーバー生成メッセージに有用です。 定義 説明 “Enabled” プレイヤーのアクセストークンを利用した投稿を拒否する “Disabled” プレイヤーのアクセストークンを利用した投稿を許可する Result 型 説明 item CategoryModelMaster 作成したカテゴリーモデルマスター 実装例 getCategoryModelMaster カテゴリーモデルマスターを取得 指定されたネームスペースのカテゴリ番号を指定して、特定のカテゴリーモデルマスターを取得します。 取得される情報には、説明および rejectAccessTokenPost フラグが含まれ、編集用途に使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 category int  0 ~ 2147483645 カテゴリー メッセージカテゴリーの数値識別子です。このカテゴリー番号で投稿されたメッセージは、プレイヤーの投稿を許可するかなど、このモデルで定義されたルールに従います。 Result 型 説明 item CategoryModelMaster カテゴリーモデルマスター 実装例 updateCategoryModelMaster カテゴリーモデルマスターを更新 指定されたカテゴリーモデルマスターを更新します。 説明および、アクセストークン認証ユーザーがこのカテゴリに投稿できるかどうかを制御する rejectAccessTokenPost フラグを変更できます。 変更は、現在のモデルマスターを通じて有効化（公開）されるまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 category int  0 ~ 2147483645 カテゴリー メッセージカテゴリーの数値識別子です。このカテゴリー番号で投稿されたメッセージは、プレイヤーの投稿を許可するかなど、このモデルで定義されたルールに従います。 description string ~ 1024文字 説明文 rejectAccessTokenPost 文字列列挙型 enum {   “Enabled”,   “Disabled” } プレイヤーのアクセストークンを利用した投稿を拒否する 有効にすると、このカテゴリーではサーバーサイドの API 呼び出し（ユーザーID指定）のみがメッセージを投稿できます。プレイヤーが直接投稿すべきでないシステムアナウンスやサーバー生成メッセージに有用です。 定義 説明 “Enabled” プレイヤーのアクセストークンを利用した投稿を拒否する “Disabled” プレイヤーのアクセストークンを利用した投稿を許可する Result 型 説明 item CategoryModelMaster 更新したカテゴリーモデルマスター 実装例 deleteCategoryModelMaster カテゴリーモデルマスターを削除 指定されたネームスペースから指定されたカテゴリーモデルマスターを削除します。 削除後、次回のマスターデータ有効化以降、このカテゴリは利用できなくなります。 この操作はマスターデータにのみ影響し、マスターデータが再有効化されるまで現在有効なモデルは変更されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 category int  0 ~ 2147483645 カテゴリー メッセージカテゴリーの数値識別子です。このカテゴリー番号で投稿されたメッセージは、プレイヤーの投稿を許可するかなど、このモデルで定義されたルールに従います。 Result 型 説明 item CategoryModelMaster 削除したカテゴリーモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Chat SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Chat SDK API リファレンス","url":"/ja/api_reference/chat/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 データストア操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 doneUploadScript ScriptSetting アップロード完了報告時に実行するスクリプトの設定 Script トリガーリファレンス - doneUpload logSetting LogSetting ログの出力設定 データストア操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、データオブジェクトのアップロード・ダウンロード・アクセス権変更などの API リクエスト・レスポンスログを収集できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用されるログネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースIDは、ログデータを集約し、保存する対象の GS2-Log のネームスペースを指定します。 この設定を通じて、このネームスペース以下のAPIリクエスト・レスポンスログデータが対象の GS2-Log へ出力されるようになります。 GS2-Log にはリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 DataObject データオブジェクト データオブジェクトはゲームプレイヤーがアップロードしたデータです。 データは世代管理され、30日分の過去のデータも保管されます。 データにはアクセス権限を設定できます。 スコープには3種類あり、 だれでもアクセスできる public 指定したユーザーIDのゲームプレイヤーのみがアクセスできる protected 自身のみがアクセスできる private があります。 詳細  dataObjectId string ※ ~ 1024文字 データオブジェクト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 userId string  ~ 128文字 ユーザーID scope 文字列列挙型 enum {   “public”,   “protected”,   “private” } “private” ファイルのアクセス権 このデータオブジェクトにアクセスできるユーザーを制御します。 public は誰でもアクセス可能、 protected は allowUserIds に指定されたユーザーIDのみアクセス可能、 private はオーナー本人のみアクセス可能です。 定義 説明 “public” 公開 “protected” 指定したユーザーにのみ公開 “private” 非公開 allowUserIds List {scope} == “protected” [] 0 ~ 100 items 公開するユーザーIDリスト スコープが protected に設定されている場合に、このデータオブジェクトにアクセスできるユーザーを指定します。このリストに含まれるユーザーIDのユーザーのみが読み取りアクセスを許可されます。 ※ scope が “protected” であれば 有効 status 文字列列挙型 enum {   “ACTIVE”,   “UPLOADING”,   “DELETED” }  状態 データオブジェクトの現在のライフサイクル状態です。 ACTIVE はデータがアクセス可能であることを示し、 UPLOADING は新しいバージョンがアップロード中であることを示し、 DELETED は削除済みであることを示します（実際の削除は30日後に行われます）。 定義 説明 “ACTIVE” 有効 “UPLOADING” アップロード中 “DELETED” 削除済み(削除処理から30日後に実際に削除) generation string ~ 128文字 データの世代 アップロードされたデータの現在のバージョンを表す識別子です。データが再アップロードされるたびに新しい世代IDが割り当てられます。 previousGeneration string ~ 128文字 以前有効だったデータの世代 現在のアップロード前にアクティブだったデータバージョンの世代IDです。アップロード中（UPLOADING 状態）は、新しいアップロードが完了するまでデータの継続的なアクセスを保証するために、以前の世代が引き続きアクセス可能です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン DataObjectHistory データオブジェクト履歴 データオブジェクトの更新履歴が確認できます。 データオブジェクトが再アップロードされるたびに、世代IDとファイルサイズを含む履歴レコードが作成されます。履歴データは30日間保持され、以前のバージョンへのロールバックや監査が可能です。 詳細  dataObjectHistoryId string ※ ~ 1024文字 データオブジェクト履歴 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 generation string  ~ 128文字 世代ID アップロード時点のデータオブジェクトの特定バージョンを示す一意な識別子です。DataObject の generation フィールドに対応し、PrepareDownloadByGeneration でこの特定バージョンをダウンロードする際に使用できます。 contentLength long  0 ~ 10485760 データサイズ この世代のアップロードデータのサイズ（バイト単位）です。最大ファイルサイズは 10 MB（10,485,760 バイト）です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 データストア操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 logSetting LogSetting ログの出力設定 データストア操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、データオブジェクトのアップロード・ダウンロード・アクセス権変更などの API リクエスト・レスポンスログを収集できます。 doneUploadScript ScriptSetting アップロード完了報告時に実行するスクリプトの設定 Script トリガーリファレンス - doneUpload Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 データストア操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 logSetting LogSetting ログの出力設定 データストア操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、データオブジェクトのアップロード・ダウンロード・アクセス権変更などの API リクエスト・レスポンスログを収集できます。 doneUploadScript ScriptSetting アップロード完了報告時に実行するスクリプトの設定 Script トリガーリファレンス - doneUpload Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeDataObjects データオブジェクトの一覧を取得 指定されたネームスペースで現在ログインしているユーザーが所有するデータオブジェクトのページネーション付きリストを取得します。 オプションでステータス（ACTIVE、UPLOADING、DELETED）を指定して、特定の状態のオブジェクトのみを取得できます。 ステータスフィルターを指定しない場合、ステータスに関係なくすべてのデータオブジェクトが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン status 文字列列挙型 enum {   “ACTIVE”,   “UPLOADING”,   “DELETED” } 状態 定義 説明 “ACTIVE” 有効 “UPLOADING” アップロード中 “DELETED” 削除済み(削除処理から30日後に実際に削除) pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List データオブジェクトのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeDataObjectsByUserId ユーザーIDを指定してデータオブジェクトの一覧を取得 指定されたネームスペースで指定されたユーザーが所有するデータオブジェクトのページネーション付きリストを取得します。 オプションでステータス（ACTIVE、UPLOADING、DELETED）を指定して、特定の状態のオブジェクトのみを取得できます。 ステータスフィルターを指定しない場合、ステータスに関係なくすべてのデータオブジェクトが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID status 文字列列挙型 enum {   “ACTIVE”,   “UPLOADING”,   “DELETED” } 状態 定義 説明 “ACTIVE” 有効 “UPLOADING” アップロード中 “DELETED” 削除済み(削除処理から30日後に実際に削除) pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List データオブジェクトのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 prepareUpload データオブジェクトのアップロードを準備する 新しいデータオブジェクトを作成し、ファイルアップロード用の署名付きクラウドストレージ URL を生成します。 データオブジェクト名は省略可能で、省略した場合は UUID が自動的に割り当てられます。 アクセススコープ（public/private）の設定と、オブジェクトへのアクセスを許可するユーザーIDのリストを指定できます。 updateIfExists が true で同名のオブジェクトが既に存在する場合、既存オブジェクトのスコープと権限が更新され、エラーの代わりに再アップロード用の URL が生成されます。 返された署名付き URL を使用してファイルデータを直接 PUT してください。アップロード後、DoneUpload を呼び出してデータオブジェクトを確定します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン name string ~ 128文字 データオブジェクトの名前 指定しなかった場合、自動的にUUIDが割り当てられます。 contentType string “application/octet-stream” ~ 256文字 アップロードするデータの MIME-Type scope 文字列列挙型 enum {   “public”,   “protected”,   “private” } “private” ファイルのアクセス権 このデータオブジェクトにアクセスできるユーザーを制御します。 public は誰でもアクセス可能、 protected は allowUserIds に指定されたユーザーIDのみアクセス可能、 private はオーナー本人のみアクセス可能です。 定義 説明 “public” 公開 “protected” 指定したユーザーにのみ公開 “private” 非公開 allowUserIds List {scope} == “protected” [] 0 ~ 100 items 公開するユーザーIDリスト スコープが protected に設定されている場合に、このデータオブジェクトにアクセスできるユーザーを指定します。このリストに含まれるユーザーIDのユーザーのみが読み取りアクセスを許可されます。 ※ scope が “protected” であれば有効 updateIfExists bool false 既にデータが存在する場合にエラーとするか、データを更新するか Result 型 説明 item DataObject データオブジェクト uploadUrl string アップロード処理の実行に使用するURL 実装例 prepareUploadByUserId ユーザーIDを指定してデータオブジェクトのアップロードを準備する 指定されたユーザーの新しいデータオブジェクトを作成し、ファイルアップロード用の署名付きクラウドストレージ URL を生成します。 データオブジェクト名は省略可能で、省略した場合は UUID が自動的に割り当てられます。 アクセススコープ（public/private）の設定と、オブジェクトへのアクセスを許可するユーザーIDのリストを指定できます。 updateIfExists が true で同名のオブジェクトが既に存在する場合、既存オブジェクトのスコープと権限が更新され、エラーの代わりに再アップロード用の URL が生成されます。 返された署名付き URL を使用してファイルデータを直接 PUT してください。アップロード後、DoneUpload を呼び出してデータオブジェクトを確定します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID name string ~ 128文字 データオブジェクトの名前 指定しなかった場合、自動的にUUIDが割り当てられます。 contentType string “application/octet-stream” ~ 256文字 アップロードするデータの MIME-Type scope 文字列列挙型 enum {   “public”,   “protected”,   “private” } “private” ファイルのアクセス権 このデータオブジェクトにアクセスできるユーザーを制御します。 public は誰でもアクセス可能、 protected は allowUserIds に指定されたユーザーIDのみアクセス可能、 private はオーナー本人のみアクセス可能です。 定義 説明 “public” 公開 “protected” 指定したユーザーにのみ公開 “private” 非公開 allowUserIds List {scope} == “protected” [] 0 ~ 100 items 公開するユーザーIDリスト スコープが protected に設定されている場合に、このデータオブジェクトにアクセスできるユーザーを指定します。このリストに含まれるユーザーIDのユーザーのみが読み取りアクセスを許可されます。 ※ scope が “protected” であれば有効 updateIfExists bool false 既にデータが存在する場合にエラーとするか、データを更新するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item DataObject データオブジェクト uploadUrl string アップロード処理の実行に使用するURL 実装例 updateDataObject データオブジェクトを更新 現在ログインしているユーザーが所有する既存のデータオブジェクトのメタデータを更新します。 アクセススコープ（public/private）とオブジェクトへのアクセスを許可するユーザーIDのリストを変更できます。 この操作はアクセス制御設定のみを更新し、ファイルの内容自体は変更されません。ファイルの内容を更新するには、代わりに PrepareReUpload を使用してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 accessToken string  ~ 128文字 アクセストークン scope 文字列列挙型 enum {   “public”,   “protected”,   “private” } “private” ファイルのアクセス権 このデータオブジェクトにアクセスできるユーザーを制御します。 public は誰でもアクセス可能、 protected は allowUserIds に指定されたユーザーIDのみアクセス可能、 private はオーナー本人のみアクセス可能です。 定義 説明 “public” 公開 “protected” 指定したユーザーにのみ公開 “private” 非公開 allowUserIds List {scope} == “protected” [] 0 ~ 100 items 公開するユーザーIDリスト スコープが protected に設定されている場合に、このデータオブジェクトにアクセスできるユーザーを指定します。このリストに含まれるユーザーIDのユーザーのみが読み取りアクセスを許可されます。 ※ scope が “protected” であれば有効 Result 型 説明 item DataObject データオブジェクト 実装例 updateDataObjectByUserId ユーザーIDを指定してデータオブジェクトを更新 指定されたユーザーが所有する既存のデータオブジェクトのメタデータを更新します。 アクセススコープ（public/private）とオブジェクトへのアクセスを許可するユーザーIDのリストを変更できます。 この操作はアクセス制御設定のみを更新し、ファイルの内容自体は変更されません。ファイルの内容を更新するには、代わりに PrepareReUpload を使用してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 userId string  ~ 128文字 ユーザーID scope 文字列列挙型 enum {   “public”,   “protected”,   “private” } “private” ファイルのアクセス権 このデータオブジェクトにアクセスできるユーザーを制御します。 public は誰でもアクセス可能、 protected は allowUserIds に指定されたユーザーIDのみアクセス可能、 private はオーナー本人のみアクセス可能です。 定義 説明 “public” 公開 “protected” 指定したユーザーにのみ公開 “private” 非公開 allowUserIds List {scope} == “protected” [] 0 ~ 100 items 公開するユーザーIDリスト スコープが protected に設定されている場合に、このデータオブジェクトにアクセスできるユーザーを指定します。このリストに含まれるユーザーIDのユーザーのみが読み取りアクセスを許可されます。 ※ scope が “protected” であれば有効 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item DataObject データオブジェクト 実装例 prepareReUpload データオブジェクトの再アップロードを準備する 既存のデータオブジェクトのファイル内容を再アップロードするための新しい署名付きクラウドストレージ URL を生成します。 データオブジェクトのステータスは UPLOADING に変更され、新しい世代番号が割り当てられます。 以前のバージョンのファイルはデータオブジェクト履歴に保持され、世代番号を指定して古いバージョンをダウンロードできます。 返された URL に新しいファイルをアップロードした後、DoneUpload を呼び出して更新を確定します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 accessToken string  ~ 128文字 アクセストークン contentType string “application/octet-stream” ~ 256文字 アップロードするデータオブジェクトの MIME-Type Result 型 説明 item DataObject データオブジェクト uploadUrl string アップロード処理の実行に使用するURL 実装例 prepareReUploadByUserId ユーザーIDを指定してデータオブジェクトの再アップロードを準備する 指定されたユーザーが所有する既存のデータオブジェクトのファイル内容を再アップロードするための新しい署名付きクラウドストレージ URL を生成します。 データオブジェクトのステータスは UPLOADING に変更され、新しい世代番号が割り当てられます。 以前のバージョンのファイルはデータオブジェクト履歴に保持されます。 返された URL に新しいファイルをアップロードした後、DoneUpload を呼び出して更新を確定します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 userId string  ~ 128文字 ユーザーID contentType string “application/octet-stream” ~ 256文字 アップロードするデータオブジェクトの MIME-Type timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item DataObject データオブジェクト uploadUrl string アップロード処理の実行に使用するURL 実装例 doneUpload データオブジェクトのアップロード完了を報告 PrepareUpload または PrepareReUpload で取得した署名付き URL にファイルがアップロードされた後、データオブジェクトを確定します。 データオブジェクトのステータスが UPLOADING から ACTIVE に変更され、ファイルメタデータ（サイズ、世代）が記録されます。 ネームスペース設定で doneUploadScript が設定されている場合、アップロード確認後にフックとしてスクリプトが実行されます。 データオブジェクトが UPLOADING 状態でない場合、またはアップロードされたファイルが見つからない場合はエラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item DataObject データオブジェクト 実装例 doneUploadByUserId ユーザーIDを指定してデータオブジェクトのアップロード完了を報告 PrepareUpload または PrepareReUpload で取得した署名付き URL にファイルがアップロードされた後、データオブジェクトを確定します。 データオブジェクトのステータスが UPLOADING から ACTIVE に変更され、ファイルメタデータ（サイズ、世代）が記録されます。 ネームスペース設定で doneUploadScript が設定されている場合、アップロード確認後にフックとしてスクリプトが実行されます。 データオブジェクトが UPLOADING 状態でない場合、またはアップロードされたファイルが見つからない場合はエラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item DataObject データオブジェクト 実装例 deleteDataObject データオブジェクトの削除 指定されたデータオブジェクトを削除対象としてマークします。 現在ログインしているユーザーが所有するデータオブジェクトが対象です。実際のファイルデータは30日後に削除されます。 データオブジェクトが削除可能な状態にない場合（例：アップロード中）はエラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 Result 型 説明 item DataObject データオブジェクト 実装例 deleteDataObjectByUserId ユーザーIDを指定してデータオブジェクトの削除 指定されたユーザーが所有する指定されたデータオブジェクトを削除対象としてマークします。 実際のファイルデータは30日後に削除されます。 データオブジェクトが削除可能な状態にない場合（例：アップロード中）はエラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item DataObject データオブジェクト 実装例 prepareDownload データオブジェクトのダウンロード準備 指定されたデータオブジェクトの最新バージョンをダウンロードするための署名付きクラウドストレージ URL を生成します。 データオブジェクトは GRN（dataObjectId）で指定します。アクセス制御が適用され、データの所有者または allowUserIds に登録されたユーザーのみがダウンロードできます。 署名付きダウンロード URL とファイルサイズ（コンテンツ長）が返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン dataObjectId string  ~ 1024文字 データオブジェクト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item DataObject データオブジェクト fileUrl string ファイルをダウンロードするためのURL contentLength long ファイルの容量 実装例 prepareDownloadByUserId ユーザーIDを指定してデータオブジェクトのダウンロード準備 指定されたデータオブジェクトの最新バージョンをダウンロードするための署名付きクラウドストレージ URL を生成します。 データオブジェクトは GRN（dataObjectId）で指定します。アクセス制御が適用され、データの所有者または allowUserIds に登録されたユーザーのみがダウンロードできます。 署名付きダウンロード URL とファイルサイズ（コンテンツ長）が返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID dataObjectId string  ~ 1024文字 データオブジェクト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item DataObject データオブジェクト fileUrl string ファイルをダウンロードするためのURL contentLength long ファイルの容量 実装例 prepareDownloadByGeneration データオブジェクトを世代を指定してダウンロード準備 データオブジェクトの特定のバージョン（世代）をダウンロードするための署名付きクラウドストレージ URL を生成します。 データの再アップロード時に保持された以前のバージョンのファイルにアクセスできます。 アクセス制御が適用され、データの所有者または allowUserIds に登録されたユーザーのみがダウンロードできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン dataObjectId string  ~ 1024文字 データオブジェクト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN generation string  ~ 128文字 データの世代 Result 型 説明 item DataObject データオブジェクト fileUrl string ファイルをダウンロードするためのURL contentLength long ファイルの容量 実装例 prepareDownloadByGenerationAndUserId ユーザーIDを指定してデータオブジェクトの世代を指定してダウンロード準備 データオブジェクトの特定のバージョン（世代）をダウンロードするための署名付きクラウドストレージ URL を生成します。 データの再アップロード時に保持された以前のバージョンのファイルにアクセスできます。 アクセス制御が適用され、データの所有者または allowUserIds に登録されたユーザーのみがダウンロードできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID dataObjectId string  ~ 1024文字 データオブジェクト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN generation string  ~ 128文字 データの世代 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item DataObject データオブジェクト fileUrl string ファイルをダウンロードするためのURL contentLength long ファイルの容量 実装例 prepareDownloadOwnData 名前を指定して自分のデータオブジェクトのダウンロード準備 GRN（dataObjectId）の代わりに名前を指定して、現在ログインしているユーザー自身のデータオブジェクトをダウンロードするための簡易APIです。 署名付きダウンロード URL とファイルサイズ（コンテンツ長）が返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 Result 型 説明 item DataObject データオブジェクト fileUrl string ファイルをダウンロードするためのURL contentLength long ファイルの容量 実装例 prepareDownloadByUserIdAndDataObjectName ユーザーIDとオブジェクト名を指定してデータオブジェクトをダウンロード準備する GRN（dataObjectId）の代わりにユーザーIDとオブジェクト名を指定して、ユーザーのデータオブジェクトをダウンロードするための簡易APIです。 アクセス制御が適用され、データの所有者または allowUserIds に登録されたユーザーのみがダウンロードできます。 署名付きダウンロード URL とファイルサイズ（コンテンツ長）が返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item DataObject データオブジェクト fileUrl string ファイルをダウンロードするためのURL contentLength long ファイルの容量 実装例 prepareDownloadOwnDataByGeneration 自分のデータオブジェクトの世代を指定してダウンロード準備 GRN の代わりに名前を指定して、現在ログインしているユーザー自身のデータオブジェクトの特定のバージョン（世代）をダウンロードするための簡易APIです。 データの再アップロード時に保持された以前のバージョンのファイルにアクセスできます。 署名付きダウンロード URL とファイルサイズ（コンテンツ長）が返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 generation string  ~ 128文字 データの世代 Result 型 説明 item DataObject データオブジェクト fileUrl string ファイルをダウンロードするためのURL contentLength long ファイルの容量 実装例 prepareDownloadByUserIdAndDataObjectNameAndGeneration ユーザーID・オブジェクト名・世代を指定してデータオブジェクトのダウンロード準備 GRN の代わりにユーザーIDとオブジェクト名を指定して、ユーザーのデータオブジェクトの特定のバージョン（世代）をダウンロードするための簡易APIです。 データの再アップロード時に保持された以前のバージョンのファイルにアクセスできます。 アクセス制御が適用され、データの所有者または allowUserIds に登録されたユーザーのみがダウンロードできます。 署名付きダウンロード URL とファイルサイズ（コンテンツ長）が返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 generation string  ~ 128文字 データの世代 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item DataObject データオブジェクト fileUrl string ファイルをダウンロードするためのURL contentLength long ファイルの容量 実装例 restoreDataObject データオブジェクトの管理情報を修復 データオブジェクトの保存されたメタデータを実際のファイル状態と照合します。 記録されている世代番号やコンテンツ長が実際のファイルと異なる場合、メタデータが一致するように更新されます。 アップロード中の部分的な障害により発生する可能性のある不整合から回復する場合に役立ちます。 ACTIVE ステータスのデータオブジェクトのみ修復可能で、他のステータスの場合はエラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dataObjectId string  ~ 1024文字 データオブジェクト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item DataObject データオブジェクト 実装例 describeDataObjectHistories データオブジェクト履歴の一覧を取得 現在ログインしているユーザーが所有する特定のデータオブジェクトの全バージョン履歴（世代）を一覧取得します。 PrepareReUpload と DoneUpload を通じてデータオブジェクトのファイル内容が再アップロードされるたびに新しい世代が作成され、以前のバージョンが履歴に記録されます。 履歴エントリには、各世代のコンテンツサイズや作成タイムスタンプなどのメタデータが含まれます。 ページトークンと取得件数の制限を使用して結果をページネーションできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List データオブジェクト履歴のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeDataObjectHistoriesByUserId ユーザーIDを指定してデータオブジェクト履歴の一覧を取得 指定されたユーザーが所有する特定のデータオブジェクトの全バージョン履歴（世代）を一覧取得します。 PrepareReUpload と DoneUpload を通じてデータオブジェクトのファイル内容が再アップロードされるたびに新しい世代が作成され、以前のバージョンが履歴に記録されます。 履歴エントリには、各世代のコンテンツサイズや作成タイムスタンプなどのメタデータが含まれます。 ページトークンと取得件数の制限を使用して結果をページネーションできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List データオブジェクト履歴のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getDataObjectHistory データオブジェクト履歴を取得 現在ログインしているユーザーが所有するデータオブジェクトの特定の世代の履歴エントリを取得します。 世代番号を指定することで、データオブジェクトの特定バージョンに関するメタデータ（コンテンツサイズや作成タイムスタンプなど）にアクセスできます。 PrepareDownloadByGeneration で過去のバージョンをダウンロードする前に、そのバージョンの情報を確認するのに便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 generation string  ~ 128文字 世代ID アップロード時点のデータオブジェクトの特定バージョンを示す一意な識別子です。DataObject の generation フィールドに対応し、PrepareDownloadByGeneration でこの特定バージョンをダウンロードする際に使用できます。 Result 型 説明 item DataObjectHistory データオブジェクト履歴 実装例 getDataObjectHistoryByUserId ユーザーIDを指定してデータオブジェクト履歴を取得 指定されたユーザーが所有するデータオブジェクトの特定の世代の履歴エントリを取得します。 世代番号を指定することで、データオブジェクトの特定バージョンに関するメタデータ（コンテンツサイズや作成タイムスタンプなど）にアクセスできます。 PrepareDownloadByGeneration で過去のバージョンをダウンロードする前に、そのバージョンの情報を確認するのに便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID dataObjectName string  UUID ~ 128文字 データオブジェクトの名前 データオブジェクトを識別する一意な名前です。デフォルトでは UUID 形式で自動生成されます。ネームスペース内でアップロードされたデータの参照・管理に使用されます。 generation string  ~ 128文字 世代ID アップロード時点のデータオブジェクトの特定バージョンを示す一意な識別子です。DataObject の generation フィールドに対応し、PrepareDownloadByGeneration でこの特定バージョンをダウンロードする際に使用できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item DataObjectHistory データオブジェクト履歴 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Datastore SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Datastore SDK API リファレンス","url":"/ja/api_reference/datastore/sdk/"},{"content":"モデル GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 GitHub リポジトリからテンプレートやマスターデータファイルを直接取得するための設定です。コミットハッシュ・ブランチ名・タグ名による参照をサポートし、認証には GS2-Key の GitHub API キーが必要です。 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 ファイルを取得する GitHub リポジトリ名です。“owner/repo” 形式で指定します。 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス リポジトリ内の対象ファイルへのファイルパスです。例えば、“data/master.json” や “deploy/template.yaml” のように指定します。 referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 ファイルのチェックアウトに使用する Git 参照の種類です。 commit_hash は再現性のために特定のコミットから取得、 branch はブランチの最新を取得、 tag はタグ付きリリースから取得します。 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ チェックアウトする Git コミットの完全な SHA です。常に同一バージョンのファイルが取得されることを保証し、デプロイの再現性を提供します。 ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 チェックアウトする Git ブランチ名です。このブランチの最新コミットからファイルが取得されます。 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 チェックアウトする Git タグ名です。タグは通常リリースバージョンのマークに使用され、デプロイの安定した参照ポイントを提供します。 ※ referenceType が “tag” であれば 必須 Resource リソース リソースはスタックによって管理される個々の GS2 サービスエンティティを表します。 各リソースはスタックテンプレートで定義された GS2 API リソース（ネームスペースやモデルなど）に対応します。 詳細  resourceId string ※ ~ 1024文字 リソース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 type string  ~ 1024文字 リソースの種類 GS2 リソースタイプの識別子です（例: “GS2::Inventory::Namespace”、“GS2::Experience::ExperienceModel”）。このリソースの作成・更新・削除時にどの GS2 API が呼び出されるかを決定します。 name string  ~ 128文字 リソース名 スタックテンプレート内でこのリソースに割り当てられた論理名です。テンプレート内での依存関係の解決やアウトプットフィールドのマッピングにおいてリソースを参照するために使用されます。 request string  ~ 1048576文字 リクエストパラメータ このリソースの作成・更新に使用する JSON シリアライズされた API リクエストパラメータです。 response string  ~ 1048576文字 リソースの作成・更新のレスポンス リソースの作成・更新時に返された JSON シリアライズされた API レスポンスです。生成された ID やデフォルト値を含む実際のリソース状態が格納されます。 rollbackContext 文字列列挙型 enum {   “create”,   “update”,   “delete” } ロールバック操作の種類 このリソースのロールバック時に実行する操作の種類です。 create はリソースが新規作成されたためロールバック時に削除、 update はリソースが変更されたため元に戻す、 delete はリソースが削除されたため再作成することを意味します。 定義 説明 “create” Create “update” Update “delete” Delete rollbackRequest string ~ 1048576文字 ロールバック用のリクエストパラメータ このリソースのロールバック時に使用する JSON シリアライズされた API リクエストパラメータです。更新されたリソースの場合は復元する以前の状態、削除されたリソースの場合は再作成するための作成パラメータが格納されます。 rollbackAfter List [] 0 ~ 1000 items ロールバック時に依存しているリソースの名前 このリソースより先にロールバックする必要があるリソース名のリストです。整合性を維持するためにロールバック操作が正しい依存順序で実行されることを保証します。 outputFields List [] 0 ~ 1000 items リソースを作成したときに Output に記録するフィールド API レスポンスからどのフィールドを抽出してスタックのアウトプットとして保存するかを指定します。各エントリはアウトプット名をレスポンス内のフィールドパスにマッピングし、他のスタックや外部システムが作成されたリソースの値を参照できるようにします。 workId string  ~ 1024文字 このリソースが作成された時の実行 ID このリソースをプロビジョニングしたスタック操作（作成/更新）の一意な識別子です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 Event イベント スタック内のリソースの作成、更新、削除などの操作が行われる際、情報を提供するためにイベントが生成されます。 スタックのデプロイプロセスやリソースの変更がどのように進行しているかを開発者がモニタリングし、必要な対応を行うことができます。 詳細  eventId string ※ ~ 1024文字 イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 36文字 イベント名 イベントの一意な名前を保持します。 名前はUUID（Universally Unique Identifier）フォーマットで自動的に生成され、各イベントを識別するために使用されます。 resourceName string  ~ 128文字 リソース名 スタックテンプレート内でこのリソースに割り当てられた論理名です。テンプレート内での依存関係の解決やアウトプットフィールドのマッピングにおいてリソースを参照するために使用されます。 type 文字列列挙型 enum {   “CREATE_IN_PROGRESS”,   “CREATE_COMPLETE”,   “CREATE_FAILED”,   “UPDATE_IN_PROGRESS”,   “UPDATE_COMPLETE”,   “UPDATE_FAILED”,   “CLEAN_IN_PROGRESS”,   “CLEAN_COMPLETE”,   “CLEAN_FAILED”,   “DELETE_IN_PROGRESS”,   “DELETE_COMPLETE”,   “DELETE_FAILED”,   “ROLLBACK_IN_PROGRESS”,   “ROLLBACK_COMPLETE”,   “ROLLBACK_FAILED” }  状態 リソース操作の現在の状態を示すイベントの種類です。個々のリソースに対する作成・更新・クリーン・削除・ロールバック操作の処理中・完了・失敗の状態を追跡します。 定義 説明 “CREATE_IN_PROGRESS” 作成中 “CREATE_COMPLETE” 作成完了 “CREATE_FAILED” 作成失敗 “UPDATE_IN_PROGRESS” 更新中 “UPDATE_COMPLETE” 更新完了 “UPDATE_FAILED” 更新失敗 “CLEAN_IN_PROGRESS” リソース削除中 “CLEAN_COMPLETE” リソース削除完了 “CLEAN_FAILED” リソース削除失敗 “DELETE_IN_PROGRESS” 削除中 “DELETE_COMPLETE” 削除完了 “DELETE_FAILED” 削除失敗 “ROLLBACK_IN_PROGRESS” ロールバック中 “ROLLBACK_COMPLETE” ロールバック完了 “ROLLBACK_FAILED” ロールバック失敗 message string ~ 5242880文字 メッセージ イベントの詳細を説明するメッセージです。失敗した操作の場合、リソース操作が失敗した理由を説明するエラーメッセージが含まれます。成功した操作の場合、完了したアクションに関する追加のコンテキストが含まれることがあります。 eventAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Output スタックによって作成される出力 スタックの Outputs セクションに記録したいデータを記載することで、このモデルを使用して出力を作成できます。 たとえば、クレデンシャルを作成する際にクライアントシークレットは作成した瞬間にしか確認できませんが、その内容を出力として記録することで後でクライアントシークレットの値を参照することができるようになります。 詳細  outputId string ※ ~ 1024文字 アウトプット GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 1024文字 アウトプット名 スタックテンプレートの Outputs セクションで定義されたアウトプットの論理名です。他のスタックや外部システムからこのアウトプット値を参照するために使用されます。 value string ~ 1048576文字 値 リソースの API レスポンスから抽出された実際のアウトプット値です。例えば、リソース作成時に生成されたクライアントシークレットやリソース ARN など、後から参照可能な値が格納されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 Stack スタック スタックとは GS2-Deploy を利用してGS2上のリソースをセットアップするエンティティです。 スタックにはテンプレートファイルを指定するようになっており、テンプレートファイルには GS2 上で必要となるリソースを定義します。 GS2-Deploy はスタックを新規作成または更新する際にはテンプレートファイルの変更点を検出し、追加があればリソースを作成、変更があればリソースを更新、削除があればリソースを削除します。 この仕組みを利用することで、GS2上のリソースを宣言的に記述し、再現可能な状態で管理することが可能となります。 この再現性があることで、開発環境から本番環境に設定を移行する際などにミスなく実行できるようになります。 詳細  stackId string ※ ~ 1024文字 スタック GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 description string ~ 1024文字 説明文 template string  ~ 5242880文字 テンプレートデータ プロビジョニングする GS2 リソースを宣言的に定義する YAML または JSON ドキュメントです。GS2-Deploy は現在と以前のテンプレートの差分を検出し、必要に応じてリソースの作成・更新・削除を行います。最大サイズは 5 MB です。 status 文字列列挙型 enum {   “CREATE_PROCESSING”,   “CREATE_COMPLETE”,   “UPDATE_PROCESSING”,   “UPDATE_COMPLETE”,   “CLEAN_PROCESSING”,   “CLEAN_COMPLETE”,   “DELETE_PROCESSING”,   “DELETE_COMPLETE”,   “ROLLBACK_INITIALIZING”,   “ROLLBACK_PROCESSING”,   “ROLLBACK_COMPLETE” } “CREATE_PROCESSING” 実行状態 スタック操作の現在のライフサイクル状態です。作成・更新・クリーン（リソース削除）・削除・ロールバック操作の処理中および完了状態を遷移します。操作の失敗時にはロールバックがトリガーされ、以前の状態に復元される場合があります。 定義 説明 “CREATE_PROCESSING” 作成中 “CREATE_COMPLETE” 作成完了 “UPDATE_PROCESSING” 更新中 “UPDATE_COMPLETE” 更新完了 “CLEAN_PROCESSING” リソース削除中 “CLEAN_COMPLETE” リソース削除完了 “DELETE_PROCESSING” 削除中 “DELETE_COMPLETE” 削除完了 “ROLLBACK_INITIALIZING” ロールバック初期化中 “ROLLBACK_PROCESSING” ロールバック中 “ROLLBACK_COMPLETE” ロールバック完了 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン OutputField アウトプットフィールド リソースの API レスポンスフィールドから名前付きスタックアウトプットへのマッピングを定義します。 詳細  name string  ~ 1024文字 名前 抽出された値が格納されるアウトプットのキー名です。スタックの Outputs からアウトプット値を参照する際にこの名前が使用されます。 fieldName string  ~ 1024文字 フィールド名 値を抽出するリソースの API レスポンス内のフィールドパスです。作成・更新されたリソースのどのプロパティをアウトプットとして記録するかを指定します。 ChangeSet 変更内容 現在のスタックテンプレートと新しいテンプレートを比較した際に検出された単一のリソース変更を表します。スタック更新の実行前に、どのリソースが作成・更新・削除されるかをプレビューするバリデーション操作で使用されます。 詳細  resourceName string  ~ 128文字 リソース名 この変更の影響を受ける、スタックテンプレートで定義されたリソースの論理名です。 resourceType string  ~ 128文字 リソースの種類 変更されるリソースの GS2 リソースタイプ識別子です（例: “GS2::Inventory::Namespace”）。 operation 文字列列挙型 enum {   “create”,   “update”,   “delete” }  変更内容 このリソースに適用される変更の種類です。 create は新しいリソースがプロビジョニングされること、 update は既存のリソースが変更されること、 delete はリソースが削除されることを示します。 定義 説明 “create” 作成 “update” 更新 “delete” 削除 メソッド describeResources リソースの一覧を取得 指定されたスタックによって管理されているリソースのページネーション付きリストを取得します。 各リソースは、スタックのテンプレートによってプロビジョニングされた GS2 サービスコンポーネント（ネームスペース、モデル、構成など）を表します。 リソース情報には、タイプ、名前、現在のリクエストボディ、関連するプロパティが含まれます。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List リソースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getResource リソースを取得 スタックによって管理されている特定のリソースの詳細情報を取得します。 リソースの詳細には、タイプ、名前、プロビジョニングに使用されたリクエストボディ、作成後に返されたレスポンスプロパティが含まれます。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 resourceName string  ~ 128文字 リソース名 スタックテンプレート内でこのリソースに割り当てられた論理名です。テンプレート内での依存関係の解決やアウトプットフィールドのマッピングにおいてリソースを参照するために使用されます。 Result 型 説明 item Resource リソース 実装例 describeEvents イベントの一覧を取得 スタック操作（作成、更新、削除）中に発生したイベントのページネーション付きリストを取得します。 イベントには、各リソース操作の進行状況と結果（リソースタイプ、実行されたアクション、エラーメッセージなど）が記録されます。 実行中の操作のステータス監視や、完了した操作の履歴確認に便利です。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List イベントのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getEvent イベントを取得 スタック内の特定のイベントの詳細情報を取得します。 イベントには、リソースタイプ、アクション（作成/更新/削除）、ステータス、操作中に発生したエラーメッセージが含まれます。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 eventName string  UUID ~ 36文字 イベント名 イベントの一意な名前を保持します。 名前はUUID（Universally Unique Identifier）フォーマットで自動的に生成され、各イベントを識別するために使用されます。 Result 型 説明 item Event イベント 実装例 describeOutputs アウトプットの一覧を取得 スタックの作成・更新が成功した後に生成されたアウトプット値のページネーション付きリストを取得します。 アウトプットは、テンプレートで定義されたキーと値のペアで、スタックのプロビジョニング中に生成されたリソース識別子、エンドポイント、構成値などの重要な情報を公開します。 アウトプットはスタックが _COMPLETE ステータスの場合にのみ利用可能です。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List アウトプットのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getOutput アウトプットを取得 スタックから名前を指定して特定のアウトプット値を取得します。 アウトプットには、キー名とスタックのプロビジョニング中に生成された対応する値が含まれます。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 outputName string  ~ 1024文字 アウトプット名 スタックテンプレートの Outputs セクションで定義されたアウトプットの論理名です。他のスタックや外部システムからこのアウトプット値を参照するために使用されます。 Result 型 説明 item Output アウトプット 実装例 describeStacks スタックの一覧を取得 名前の接頭辞によるフィルタリングを指定して、スタックのリストを取得します。 ページトークンと取得件数の制限を使用して、結果をインクリメンタルに取得できます。 リスト内の各スタックには、現在のステータス、名前、説明、テンプレート情報が含まれます。 詳細 Request  namePrefix string ~ 64文字 スタック名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List スタックのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 preCreateStack スタックの新規作成を準備（事前アップロード） テンプレートファイルをアップロードするためのアップロードトークンと署名付き URL を取得します。 テンプレートが 1MB を超える場合、この3フェーズのフローが必要です：1) この API を呼び出してアップロード URL を取得、2) テンプレートを URL にアップロード、3) preUpload モードでアップロードトークンを指定して CreateStack を呼び出し。 署名付き URL の有効期限は60分です。 詳細 Request  Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 createStack スタックを新規作成 名前、説明、テンプレートを指定して新しいスタックを作成します。 2つのモードをサポートしています：テンプレートをリクエストボディにインラインで渡す ‘direct’ モードと、PreCreateStack API で事前にアップロードしたテンプレートを使用する ‘preUpload’ モードです。 テンプレートはスタック作成前に検証されます。検証に失敗した場合、エラーが返されます。 作成後、スタックは CREATE_PROCESSING ステータスに入り、リソースのプロビジョニングが非同期で開始されます。 詳細 Request  name string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 description string ~ 1024文字 説明文 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 template string {mode} == “direct” ※ ~ 5242880文字 テンプレートデータ プロビジョニングする GS2 リソースを宣言的に定義する YAML または JSON ドキュメントです。GS2-Deploy は現在と以前のテンプレートの差分を検出し、必要に応じてリソースの作成・更新・削除を行います。最大サイズは 5 MB です。 ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item Stack 作成したスタック 実装例 createStackFromGitHub GitHub からスタックを新規作成 GitHub リポジトリから直接テンプレートを取得して新しいスタックを作成します。 チェックアウト設定には、テンプレートのリポジトリ、ブランチまたはタグ、ファイルパスを指定します。 取得したテンプレートはスタック作成前に検証されます。 テンプレートをバージョン管理で管理し、リポジトリから直接インフラストラクチャをデプロイする場合に便利です。 詳細 Request  name string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 description string ~ 1024文字 説明文 checkoutSetting GitHubCheckoutSetting  GitHubからテンプレートファイルをチェックアウトしてくる設定 Result 型 説明 item Stack 作成したスタック 実装例 preValidate テンプレートの検証を準備（事前アップロード） 検証するテンプレートファイルをアップロードするためのアップロードトークンと署名付き URL を取得します。 テンプレートが 1MB を超える場合、この3フェーズのフローが必要です：1) この API を呼び出してアップロード URL を取得、2) テンプレートを URL にアップロード、3) preUpload モードでアップロードトークンを指定して Validate を呼び出し。 署名付き URL の有効期限は60分です。 詳細 Request  Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 validate テンプレートを検証 実際にスタックを作成・更新せずに、テンプレートの構造と構文を検証します。 2つのモードをサポートしています：テンプレートをインラインで渡す ‘direct’ モードと、PreValidate API で事前にアップロードしたテンプレートを使用する ‘preUpload’ モードです。 この API は構造的な検証のみを行います。検証をパスしても、実際のスタック作成・更新時にランタイムエラーが発生する可能性があります。 詳細 Request  mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 template string {mode} == “direct” ※ ~ 5242880文字 テンプレートデータ プロビジョニングする GS2 リソースを宣言的に定義する YAML または JSON ドキュメントです。GS2-Deploy は現在と以前のテンプレートの差分を検出し、必要に応じてリソースの作成・更新・削除を行います。最大サイズは 5 MB です。 ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 実装例 getStackStatus スタックのステータスを取得 指定されたスタックの現在のステータスのみを取得します。 ステータス文字列のみを返す API であり、スタック操作の進行状況をポーリングする場合に適しています。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 Result 型 説明 status string 実装例 getStack スタックを取得 指定されたスタックの詳細情報（名前、説明、テンプレート、ステータス、関連リソースなど）を取得します。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 Result 型 説明 item Stack スタック 実装例 preUpdateStack スタックの更新を準備（事前アップロード） スタックを更新するための新しいテンプレートファイルをアップロードするためのアップロードトークンと署名付き URL を取得します。 テンプレートが 1MB を超える場合、この3フェーズのフローが必要です：1) この API を呼び出してアップロード URL を取得、2) テンプレートを URL にアップロード、3) preUpload モードでアップロードトークンを指定して UpdateStack を呼び出し。 署名付き URL の有効期限は60分です。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateStack スタックを更新 新しいテンプレートと説明で既存のスタックを更新します。 更新するにはスタックが _COMPLETE ステータス（CREATE_COMPLETE、UPDATE_COMPLETE など）である必要があります。処理中のスタックを更新しようとするとエラーが返されます。 2つのモードをサポートしています：テンプレートをインラインで渡す ‘direct’ モードと、PreUpdateStack API で事前にアップロードしたテンプレートを使用する ‘preUpload’ モードです。 更新開始前に新しいテンプレートが検証されます。更新開始後、スタックは UPDATE_PROCESSING ステータスに入り、変更セットに従ってリソースが非同期で変更されます。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 description string ~ 1024文字 説明文 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 template string {mode} == “direct” ※ ~ 5242880文字 テンプレートデータ プロビジョニングする GS2 リソースを宣言的に定義する YAML または JSON ドキュメントです。GS2-Deploy は現在と以前のテンプレートの差分を検出し、必要に応じてリソースの作成・更新・削除を行います。最大サイズは 5 MB です。 ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item Stack 更新したスタック 実装例 preChangeSet 変更セットの取得を準備（事前アップロード） 変更内容をプレビューするための新しいテンプレートファイルをアップロードするためのアップロードトークンと署名付き URL を取得します。 テンプレートが 1MB を超える場合、この3フェーズのフローが必要です：1) この API を呼び出してアップロード URL を取得、2) テンプレートを URL にアップロード、3) preUpload モードでアップロードトークンを指定して ChangeSet を呼び出し。 署名付き URL の有効期限は60分です。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 changeSet 変更セットを取得 現在のスタックテンプレートと新しいテンプレートを比較し、適用される変更のリストを返します。 これにより、実際に更新を実行する前に影響をプレビューできます。 2つのモードをサポートしています：テンプレートをインラインで渡す ‘direct’ モードと、PreChangeSet API で事前にアップロードしたテンプレートを使用する ‘preUpload’ モードです。 返される変更セットには、作成、更新、削除されるリソースがそれぞれリストされます。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 template string {mode} == “direct” ※ ~ 5242880文字 テンプレートデータ プロビジョニングする GS2 リソースを宣言的に定義する YAML または JSON ドキュメントです。GS2-Deploy は現在と以前のテンプレートの差分を検出し、必要に応じてリソースの作成・更新・削除を行います。最大サイズは 5 MB です。 ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 items List スタックのリスト 実装例 updateStackFromGitHub GitHub からスタックを更新 GitHub リポジトリから新しいテンプレートを直接取得して、既存のスタックを更新します。 更新するにはスタックが _COMPLETE ステータスである必要があります。 チェックアウト設定には、テンプレートのリポジトリ、ブランチまたはタグ、ファイルパスを指定します。 取得したテンプレートは更新開始前に検証されます。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 description string ~ 1024文字 説明文 checkoutSetting GitHubCheckoutSetting  GitHubからテンプレートファイルをチェックアウトしてくる設定 Result 型 説明 item Stack 更新したスタック 実装例 deleteStack スタックを削除 スタックによって作成されたリソースの削除を行い、成功すればスタックエンティティを削除します。 削除するにはスタックが _COMPLETE ステータスである必要があります。 スタックが既に DELETE_COMPLETE ステータスの場合、スタックエンティティのみが削除されます。 それ以外の場合、スタックは DELETE_PROCESSING ステータスに入り、リソースのクリーンアップが非同期で開始されます。 何らかの理由でリソースの削除に失敗した場合、再試行または ForceDelete を使用できるよう、スタックエンティティが残ります。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 Result 型 説明 item Stack 削除したスタック 実装例 forceDeleteStack スタックを強制削除 現在のステータスやリソースの残存に関係なく、スタックエンティティを強制的に削除します。 通常の Delete API とは異なり、スタックが作成したリソースのクリーンアップは行いません。 残存するリソースは孤立状態となり、手動で管理する必要があります。 通常の削除プロセスが失敗した場合やスタックが回復不能な状態に陥った場合の最終手段として使用してください。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 Result 型 説明 item Stack 削除したスタック 実装例 deleteStackResources スタックのリソースを削除 スタックエンティティとテンプレートを保持しつつ、スタックが作成したリソースのみを削除します。 空のテンプレートでスタックを更新するのと同様の動作で、スタックは DELETE_PROCESSING ステータスに入り、リソースのクリーンアップが非同期で開始されます。 元のテンプレートがスタックエンティティに残るため、同じテンプレートまたは新しいテンプレートでスタックを再度更新することでリソースを復元できます。これにより、誤操作時の完全なスタック削除よりも安全な代替手段となります。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 Result 型 説明 item Stack リソースを削除したスタック 実装例 deleteStackEntity スタックを最終削除 すべてのリソースが正常にクリーンアップされた後、スタックエンティティを削除します。 通常、スタックリソースの削除（Clean）API が完了し、スタックが DELETE_COMPLETE ステータスになった後に使用します。 スタックにまだ残存リソースがある場合はエラーが返されます。先にスタックリソースの削除 API を使用してリソースを除去してください。 詳細 Request  stackName string  ~ 128文字 スタック名 スタックを識別する一意な名前です。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。作成・更新・削除操作時にスタックを参照するために使用されます。 Result 型 説明 item Stack 削除したスタック 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Deploy SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Deploy SDK API リファレンス","url":"/ja/api_reference/deploy/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 図鑑エントリー登録処理時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 entryScript ScriptSetting エントリー登録時に実行するスクリプトの設定 Script トリガーリファレンス - entry duplicateEntryScript string ~ 1024文字 登録済みのエントリーを再度登録しようとしたときに実行するスクリプトGRN Script トリガーリファレンス - duplicateEntry logSetting LogSetting ログの出力設定 図鑑操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、エントリー登録・お気に入り操作など図鑑関連の API リクエスト・レスポンスログを収集できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用されるログネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースIDは、ログデータを集約し、保存する対象の GS2-Log のネームスペースを指定します。 この設定を通じて、このネームスペース以下のAPIリクエスト・レスポンスログデータが対象の GS2-Log へ出力されるようになります。 GS2-Log にはリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Entry ゲームプレイヤーが入手したエントリー ゲームプレイヤーが収集した図鑑エントリーの1件を表します。各エントリーは EntryModel に対応し、入手日時を記録します。所持状態は「存在する（収集済み）/ 存在しない」の2値で管理され、数量の概念はありません。 詳細  entryId string ※ ~ 1024文字 エントリー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string ~ 128文字 ユーザーID name string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 acquiredAt long ※ 現在時刻 入手日時 このエントリーがゲームプレイヤーによって初めて収集された日時です。登録時に現在時刻が自動的に設定され、その後変更することはできません。 Like お気に入りに登録したエントリー ゲームプレイヤーがお気に入り（いいね）に登録した図鑑エントリーを表します。プレイヤーが図鑑内の特定のエントリーをブックマークしてすぐにアクセスできるようにします。各お気に入りは EntryModel を名前で参照し、ユーザーごとに一意です。同じエントリーを重複してお気に入りに登録することはできません。 詳細  likeId string ※ ~ 1024文字 お気に入りエントリー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string ~ 128文字 ユーザーID name string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 EntryModel エントリーモデル エントリーモデルは、GS2-Dictionary において図鑑に記録可能な対象を定義するマスターデータです。 各エントリーモデルは、モンスターやアイテム、アバターパーツなど、図鑑に記録されるエンティティの種類を表します。 エントリーの所持状態は「記録済み / 未記録」の2値で管理され、同一エントリーモデルに対して数量やスタックの概念はありません。 詳細  entryModelId string ※ ~ 1024文字 エントリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 エントリーモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Config コンフィグ設定 分散トランザクション実行時にトランザクション変数に適用されるキーと値のペアです。実行時にトランザクションパラメータ内のプレースホルダー値を動的に置換できます。 詳細  key string  ~ 64文字 名前 トランザクションパラメータ内のプレースホルダーキーとして使用される変数名です。トランザクションテンプレートで定義されたプレースホルダーと一致する必要があります。 value string ~ 51200文字 値 トランザクション実行時にプレースホルダーキーに代入する値です。トランザクションパラメータ内の対応するプレースホルダーがこの値に置換されます。 CurrentEntryMaster 現在アクティブなエントリーモデルのマスターデータ 現在ネームスペース内で有効な、エントリーモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Dictionary マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ EntryModelMaster エントリーモデルマスター エントリーモデルは、GS2-Dictionary において図鑑に記録可能な対象を定義するマスターデータです。 各エントリーモデルは、モンスターやアイテム、アバターパーツなど、図鑑に記録されるエンティティの種類を表します。 エントリーの所持状態は「記録済み / 未記録」の2値で管理され、同一エントリーモデルに対して数量やスタックの概念はありません。 詳細  entryModelId string ※ ~ 1024文字 エントリーモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 図鑑エントリー登録処理時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 entryScript ScriptSetting エントリー登録時に実行するスクリプトの設定 Script トリガーリファレンス - entry duplicateEntryScript string ~ 1024文字 登録済みのエントリーを再度登録しようとしたときに実行するスクリプトGRN Script トリガーリファレンス - duplicateEntry logSetting LogSetting ログの出力設定 図鑑操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、エントリー登録・お気に入り操作など図鑑関連の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 図鑑エントリー登録処理時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 entryScript ScriptSetting エントリー登録時に実行するスクリプトの設定 Script トリガーリファレンス - entry duplicateEntryScript string ~ 1024文字 登録済みのエントリーを再度登録しようとしたときに実行するスクリプトGRN Script トリガーリファレンス - duplicateEntry logSetting LogSetting ログの出力設定 図鑑操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、エントリー登録・お気に入り操作など図鑑関連の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeEntries エントリーの一覧を取得 現在ログインしているユーザーが収集したエントリーのページネーション付きリストを取得します。 各エントリーは、ユーザーがアンロックまたは取得した図鑑アイテムを表します。 ページトークンと取得件数の制限を使用して、結果をインクリメンタルに取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 10000 データの取得件数 Result 型 説明 items List エントリーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeEntriesByUserId ユーザーIDを指定してエントリーの一覧を取得 指定されたユーザーが収集したエントリーのページネーション付きリストを取得します。 各エントリーは、ユーザーがアンロックまたは取得した図鑑アイテムを表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 10000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List エントリーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 addEntriesByUserId ユーザーIDを指定してエントリーを追加 指定されたユーザーの図鑑に1つ以上のエントリーモデル名を登録します。 バッチ操作として複数のエントリーモデル名を一度に指定できます。 既に登録済みのエントリーはエラーにならず、スキップされます。 返されるリストには、新たに追加されたエントリーのみが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID entryModelNames List [] 0 ~ 100 items エントリーモデル名のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 登録したエントリーのリスト 実装例 getEntry エントリーを取得 現在ログインしているユーザーが、エントリーモデル名で指定された特定のエントリーを収集済みかどうかを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン entryModelName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Entry エントリー 実装例 getEntryByUserId ユーザーIDを指定してエントリーを取得 指定されたユーザーが、エントリーモデル名で指定された特定のエントリーを収集済みかどうかを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID entryModelName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Entry エントリー 実装例 getEntryWithSignature 署名付きでエントリーを取得 現在ログインしているユーザーのエントリーを暗号署名付きで取得します。 エントリーデータは JSON にシリアライズされ、指定された暗号鍵を使用して署名されます。 レスポンスにはエントリーアイテム、シリアライズされたボディ、署名文字列が含まれ、外部システムでの改ざん検証に使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン entryModelName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item Entry エントリー body string 署名対象のエントリー情報 signature string 署名 実装例 getEntryWithSignatureByUserId ユーザーIDを指定して署名付きでエントリーを取得 指定されたユーザーのエントリーを暗号署名付きで取得します。 エントリーデータは JSON にシリアライズされ、指定された暗号鍵を使用して署名されます。 レスポンスにはエントリーアイテム、シリアライズされたボディ、署名文字列が含まれ、外部システムでの改ざん検証に使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID entryModelName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Entry エントリー body string 署名対象のエントリー情報 signature string 署名 実装例 resetByUserId エントリーをリセット 指定されたユーザーが収集したすべてのエントリーを削除し、図鑑を空の状態にリセットします。 収集済みのすべてのエントリーが一括でクリアされます。 この操作は元に戻せません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 verifyEntry エントリーを検証 現在ログインしているユーザーが特定のエントリーを収集済みか未収集かを検証します。 検証タイプで条件を指定します：‘have’ はユーザーがエントリーを保有していることを確認し、‘havent’ は保有していないことを確認します。 検証に失敗した場合、エラーが返されます。前提条件の実装（例：特定のエントリーを持っていないとクエストに挑戦できない）に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン entryModelName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “havent”,   “have” }  検証の種類 定義 説明 “havent” 指定したエントリーを保有していないこと “have” 指定したエントリーを保有していること Result 型 説明 実装例 verifyEntryByUserId ユーザーIDを指定してエントリーを検証 指定されたユーザーが特定のエントリーを収集済みか未収集かを検証します。 検証タイプで条件を指定します：‘have’ はユーザーがエントリーを保有していることを確認し、‘havent’ は保有していないことを確認します。 検証に失敗した場合、エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID entryModelName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “havent”,   “have” }  検証の種類 定義 説明 “havent” 指定したエントリーを保有していないこと “have” 指定したエントリーを保有していること timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 deleteEntries エントリーを削除 エントリーモデル名のリストを指定して、現在ログインしているユーザーの図鑑から特定のエントリーを削除します。 バッチ操作として複数のエントリーを一度に削除できます。 返されるリストには、実際に削除されたエントリーが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン entryModelNames List [] 0 ~ 100 items エントリーモデル名のリスト Result 型 説明 items List 削除したエントリーのリスト 実装例 deleteEntriesByUserId ユーザーIDを指定してエントリーを削除 エントリーモデル名のリストを指定して、指定されたユーザーの図鑑から特定のエントリーを削除します。 バッチ操作として複数のエントリーを一度に削除できます。 返されるリストには、実際に削除されたエントリーが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID entryModelNames List [] 0 ~ 100 items エントリーモデル名のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 削除したエントリーのリスト 実装例 describeLikes お気に入りエントリーの一覧を取得 現在ログインしているユーザーがお気に入り登録したエントリーのページネーション付きリストを取得します。 お気に入りはエントリーの収集とは別に管理され、特定の図鑑アイテムに対するユーザーの好みを表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List お気に入りエントリーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeLikesByUserId ユーザーIDを指定してお気に入りエントリーの一覧を取得 指定されたユーザーがお気に入り登録したエントリーのページネーション付きリストを取得します。 お気に入りはエントリーの収集とは別に管理され、特定の図鑑アイテムに対するユーザーの好みを表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List お気に入りエントリーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 addLikes お気に入りエントリーを追加 現在ログインしているユーザーのお気に入りとして1つ以上のエントリーを登録します。 バッチ操作として複数のエントリーモデル名を一度に指定できます。 既にお気に入り登録済みのエントリーはエラーにならず、スキップされます。 返されるリストには、新たに追加されたお気に入りのみが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン entryModelNames List [] 0 ~ 100 items エントリーモデル名のリスト Result 型 説明 items List 登録したお気に入りエントリーのリスト 実装例 addLikesByUserId ユーザーIDを指定してお気に入りエントリーを追加 指定されたユーザーのお気に入りとして1つ以上のエントリーを登録します。 バッチ操作として複数のエントリーモデル名を一度に指定できます。 既にお気に入り登録済みのエントリーはエラーにならず、スキップされます。 返されるリストには、新たに追加されたお気に入りのみが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID entryModelNames List [] 0 ~ 100 items エントリーモデル名のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 登録したお気に入りエントリーのリスト 実装例 getLike お気に入りエントリーを取得 現在ログインしているユーザーが、エントリーモデル名で指定された特定のエントリーをお気に入り登録しているかどうかを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン entryModelName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Like お気に入りエントリー 実装例 getLikeByUserId ユーザーIDを指定してお気に入りエントリーを取得 指定されたユーザーが、エントリーモデル名で指定された特定のエントリーをお気に入り登録しているかどうかを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID entryModelName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Like お気に入りエントリー 実装例 resetLikes お気に入りエントリーをリセット 現在ログインしているユーザーのすべてのお気に入りを削除し、お気に入りを空の状態にリセットします。 すべてのお気に入りエントリーが一括でクリアされます。 この操作は元に戻せません。エントリーの収集状態には影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 実装例 resetLikesByUserId ユーザーIDを指定してお気に入りエントリーをリセット 指定されたユーザーのすべてのお気に入りを削除し、お気に入りを空の状態にリセットします。 すべてのお気に入りエントリーが一括でクリアされます。 この操作は元に戻せません。エントリーの収集状態には影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 deleteLikes お気に入りエントリーを削除 エントリーモデル名のリストを指定して、現在ログインしているユーザーの特定のお気に入りを削除します。 バッチ操作として複数のお気に入りを一度に削除できます。 返されるリストには、実際に削除されたお気に入りが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン entryModelNames List [] 0 ~ 100 items エントリーモデル名のリスト Result 型 説明 items List 削除したお気に入りエントリーのリスト 実装例 deleteLikesByUserId ユーザーIDを指定してお気に入りエントリーを削除 エントリーモデル名のリストを指定して、指定されたユーザーの特定のお気に入りを削除します。 バッチ操作として複数のお気に入りを一度に削除できます。 返されるリストには、実際に削除されたお気に入りが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID entryModelNames List [] 0 ~ 100 items エントリーモデル名のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 削除したお気に入りエントリーのリスト 実装例 describeEntryModels エントリーモデルの一覧を取得 指定されたネームスペースで現在有効化（公開）されているすべてのエントリーモデルを取得します。 エントリーモデルは、ユーザーが収集可能な図鑑アイテムの種類を定義します。 現在のマスターデータを通じて有効化されたモデルのみが返され、編集可能なマスターデータは含まれません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List エントリーモデルのリスト 実装例 getEntryModel エントリーモデルを取得 名前を指定して、特定の有効なエントリーモデルの詳細情報を取得します。 返される情報には、モデルの名前、メタデータ、説明が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 entryName string  ~ 128文字 エントリーモデル名 Result 型 説明 item EntryModel エントリーモデル 実装例 exportMaster エントリーモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在のエントリーモデルマスターデータを有効化に使用できる形式でエクスポートします。 エクスポートされたデータは、現在のマスター構成のバックアップや別のネームスペースへのインポートに使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentEntryMaster 有効化可能なエントリーモデルのマスターデータ 実装例 getCurrentEntryMaster 現在アクティブなエントリーモデルのマスターデータを取得 指定されたネームスペースで現在有効化（公開）されているエントリーモデルのマスターデータを取得します。 これは編集可能なマスターデータとは異なり、実際に本番で使用されている構成を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentEntryMaster 現在アクティブなエントリーモデルのマスターデータ 実装例 preUpdateCurrentEntryMaster 現在アクティブなエントリーモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentEntryMaster 現在アクティブなエントリーモデルのマスターデータを更新 指定されたネームスペースのエントリーモデルのマスターデータを更新し有効化（公開）します。 2つのモードをサポートしています：インラインのマスターデータ用の ‘direct’ モードと、事前にアップロードされたマスターデータ用の ‘preUpload’ モードです。 1MBを超えるマスターデータの場合は、3フェーズの更新フロー（PreUpdate -\u003e アップロード -\u003e Update（preUpload モード））を使用してください。 アップロードされたマスターデータは適用前に検証されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentEntryMaster 更新された現在アクティブなエントリーモデルのマスターデータ 実装例 updateCurrentEntryMasterFromGitHub 現在アクティブなエントリーモデルのマスターデータをGitHubから更新 GitHub リポジトリから直接マスターデータを取得して更新・有効化（公開）します。 チェックアウト設定には、使用するリポジトリ、ブランチ/タグ、ファイルパスを指定します。 マスターデータをバージョン管理で管理し、直接デプロイする場合に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentEntryMaster 更新された現在アクティブなエントリーモデルのマスターデータ 実装例 describeEntryModelMasters エントリーモデルマスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能なエントリーモデルマスターのページネーション付きリストを取得します。 エントリーモデルマスターは図鑑アイテム種別の編集可能な定義です。マスターへの変更は、CurrentEntryMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 エントリーモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List エントリーモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createEntryModelMaster エントリーモデルマスターを新規作成 名前、説明、メタデータを指定して、新しい編集可能なエントリーモデルマスター定義を作成します。 作成されたマスターは、ユーザーが収集可能な図鑑アイテム種別を定義します。 変更は CurrentEntryMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item EntryModelMaster 作成したエントリーモデルマスター 実装例 getEntryModelMaster エントリーモデルマスターを取得 名前を指定して、特定の編集可能なエントリーモデルマスターの詳細情報を取得します。 有効化前のマスター定義の閲覧・編集に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 entryName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EntryModelMaster エントリーモデルマスター 実装例 updateEntryModelMaster エントリーモデルマスターを更新 既存のエントリーモデルマスターの説明とメタデータを更新します。 エントリーモデル名は作成後に変更できません。 変更は CurrentEntryMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 entryName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item EntryModelMaster 更新したエントリーモデルマスター 実装例 deleteEntryModelMaster エントリーモデルマスターを削除 編集可能なエントリーモデルマスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 削除されたモデルに関連する既存のユーザーエントリーは自動的には削除されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 entryName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EntryModelMaster 削除したエントリーモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Dictionary SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Dictionary SDK API リファレンス","url":"/ja/api_reference/dictionary/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 リソース配布処理時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 assumeUserId string ~ 1024文字 GS2-Identifier ユーザー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN autoRunStampSheetNotification NotificationSetting  トランザクションの自動実行が完了したときのプッシュ通知(旧仕様) トランザクションがサーバーサイドで自動実行完了した際に GS2-Gateway 経由でプッシュ通知を送信するための設定です。これは旧仕様であり、新仕様では autoRunTransactionNotification を使用してください。 autoRunTransactionNotification NotificationSetting  トランザクションの自動実行が完了したときのプッシュ通知 分散トランザクションがサーバーサイドで自動実行完了した際に GS2-Gateway 経由でプッシュ通知を送信するための設定です。トランザクション結果をクライアントに通知し、ローカル状態を適切に更新できるようにします。 logSetting LogSetting ログの出力設定 ディストリビューター操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、リソース配布・入手アクション実行・トランザクション処理の API リクエスト・レスポンスログを収集できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。 詳細  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用されるログネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースIDは、ログデータを集約し、保存する対象の GS2-Log のネームスペースを指定します。 この設定を通じて、このネームスペース以下のAPIリクエスト・レスポンスログデータが対象の GS2-Log へ出力されるようになります。 GS2-Log にはリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 StampSheetResult トランザクション実行結果（レガシー） サーバーサイドの自動実行で処理されたトランザクションの実行結果を記録します。 各フェーズのリクエスト内容とレスポンス結果を含みます：検証アクション（事前条件チェック）、消費アクション、入手アクション。エラー検出とリトライロジックのために HTTP ステータスコードも追跡します。 詳細  stampSheetResultId string ※ ~ 1024文字 トランザクション実行結果 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID transactionId string  36 ~ 36文字 トランザクションID このトランザクションを一意に識別する UUID です。トランザクションとその実行結果、および連鎖する後続トランザクションの関連付けに使用されます。 verifyTaskRequests List 0 ~ 100 items 検証アクションのリクエスト内容 taskRequests List 0 ~ 100 items 消費アクションのリクエスト内容 sheetRequest AcquireAction  入手アクションのリクエスト内容 verifyTaskResultCodes List [] 0 ~ 100 items 検証アクションの実行ステータスコード verifyTaskResults List [] 0 ~ 100 items 検証アクションの実行結果 taskResultCodes List [] 0 ~ 100 items 消費アクションの実行ステータスコード taskResults List [] 0 ~ 100 items 消費アクションの実行結果 sheetResultCode int 0 ~ 999 入手アクションの実行ステータスコード sheetResult string ~ 1048576文字 入手アクションの実行結果レスポンス内容 nextTransactionId string 36 ~ 36文字 トランザクションの実行によって、新しく発行されたトランザクションのトランザクションID 入手アクションの結果に新しいトランザクション ID が含まれている場合、ここに抽出・格納されます。これにより、あるトランザクションの完了が別のトランザクションをトリガーするトランザクションチェーンが可能になります。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionResult トランザクション実行結果 サーバーサイドの自動実行で処理された分散トランザクションの実行結果を記録します。 各フェーズの構造化された結果を含みます：検証アクション（事前条件チェック）、消費アクション（リソース消費）、入手アクション（リソース付与）。各アクション結果にはリクエスト、HTTP ステータスコード、レスポンスペイロードが含まれます。ステータスコード（非2xx）によるエラー検出と、コンフリクト（409）やサーバーエラー（5xx）でのリトライがサポートされます。 詳細  transactionResultId string ※ ~ 1024文字 トランザクション実行結果 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID transactionId string  36 ~ 36文字 トランザクションID この分散トランザクションを一意に識別する UUID です。実行結果の検索や、元の API リクエストとの関連付けに使用されます。 verifyResults List 0 ~ 100 items 検証アクションの実行結果リスト consumeResults List 0 ~ 100 items 消費アクションの実行結果リスト acquireResults List 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか いずれかのアクション（検証・消費・入手）が非2xxのステータスコードを返した場合に true に設定されます。true の場合、クライアントは個々のアクション結果を調査して失敗原因を特定する必要があります。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン DistributorModel 配信モデル 配信モデルとはリソースの入手時に所持枠を超えて入手した時のポリシーを設定するエンティティです。 GS2-Distributor を通して入手処理を行うことで、あふれたリソースを GS2-Inbox のメッセージとして転送することができます。 詳細  distributorModelId string ※ ~ 1024文字 配信モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 配信モデル名 配信モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 inboxNamespaceId string ~ 1024文字 あふれたリソースを転送する GS2-Inbox のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN リソースの入手がプレイヤーの所持枠を超えた場合、あふれたリソースは指定された GS2-Inbox ネームスペースにメッセージとして転送されます。プレイヤーは後から受信箱からリソースを受け取ることができます。 whiteListTargetIds List [] 0 ~ 1000 items GS2-Distributorを通して処理出来る対象のリソースGRNのホワイトリスト この配信モデルを使用して入手処理を行える対象となるリソースのGRNプレフィックスを指定します。 BatchRequestPayload API一括実行リクエスト 一括実行内の単一の API リクエストを表します。複数のバッチリクエストペイロードをまとめて送信することで、複数の GS2 API 呼び出しを1回のラウンドトリップで実行でき、ネットワークオーバーヘッドとレイテンシーを削減できます。 詳細  requestId string  ~ 128文字 リクエストID バッチ内でこのリクエストに対してクライアントが割り当てた識別子です。バッチレスポンス内で各リクエストと対応する結果を関連付けるために使用されます。 service 文字列列挙型 enum {   “account”,   “adReward”,   “auth”,   “buff”,   “chat”,   “datastore”,   “deploy”,   “dictionary”,   “distributor”,   “enchant”,   “enhance”,   “exchange”,   “experience”,   “formation”,   “friend”,   “gateway”,   “grade”,   “guard”,   “guild”,   “identifier”,   “idle”,   “inbox”,   “inventory”,   “jobQueue”,   “key”,   “limit”,   “lock”,   “log”,   “loginReward”,   “lottery”,   “matchmaking”,   “megaField”,   “mission”,   “money”,   “money2”,   “news”,   “quest”,   “ranking”,   “ranking2”,   “realtime”,   “schedule”,   “script”,   “seasonRating”,   “serialKey”,   “showcase”,   “skillTree”,   “stamina”,   “stateMachine”,   “version” }  マイクロサービス名 呼び出す GS2 マイクロサービス名です（例: “inventory”、“experience”、“money”）。この API リクエストを受信するサービスエンドポイントを決定します。 定義 説明 “account” GS2-Account “adReward” GS2-AdReward “auth” GS2-Auth “buff” GS2-Buff “chat” GS2-Chat “datastore” GS2-Datastore “deploy” GS2-Deploy “dictionary” GS2-Dictionary “distributor” GS2-Distributor “enchant” GS2-Enchant “enhance” GS2-Enhance “exchange” GS2-Exchange “experience” GS2-Experience “formation” GS2-Formation “friend” GS2-Friend “gateway” GS2-Gateway “grade” GS2-Grade “guard” GS2-Guard “guild” GS2-Guild “identifier” GS2-Identifier “idle” GS2-Idle “inbox” GS2-Inbox “inventory” GS2-Inventory “jobQueue” GS2-JobQueue “key” GS2-Key “limit” GS2-Limit “lock” GS2-Lock “log” GS2-Log “loginReward” GS2-LoginReward “lottery” GS2-Lottery “matchmaking” GS2-Matchmaking “megaField” GS2-MegaField “mission” GS2-Mission “money” GS2-Money “money2” GS2-Money2 “news” GS2-News “quest” GS2-Quest “ranking” GS2-Ranking “ranking2” GS2-Ranking2 “realtime” GS2-Realtime “schedule” GS2-Schedule “script” GS2-Script “seasonRating” GS2-SeasonRating “serialKey” GS2-SerialKey “showcase” GS2-Showcase “skillTree” GS2-SkillTree “stamina” GS2-Stamina “stateMachine” GS2-StateMachine “version” GS2-Version methodName string  ~ 128文字 メソッド名 対象サービスで呼び出す API メソッド名です（例: “describeNamespaces”、“getInventory”）。指定されたサービスの有効な API メソッドと一致する必要があります。 parameter string  ~ 10240文字 パラメータ API メソッドの JSON シリアライズされたリクエストパラメータです。指定されたサービスメソッドのリクエストスキーマに準拠する必要があります。 BatchResultPayload API一括実行結果 一括実行内の単一の API リクエストの結果を表します。各結果はリクエスト ID によって元のリクエストと関連付けられ、HTTP ステータスコードと JSON レスポンスペイロードを含みます。 詳細  requestId string  ~ 128文字 リクエストID 対応するバッチリクエストと一致するクライアント割り当て識別子です。この結果を元のリクエストと関連付けるために使用されます。 statusCode int  100 ~ 1000 ステータスコード このバッチリクエストに対して GS2 API が返した HTTP ステータスコードです。2xx は成功、4xx はクライアントエラー、5xx はサーバーエラーを示します。 resultPayload string  ~ 10240文字 レスポンス このバッチリクエストに対して GS2 API が返した JSON レスポンスボディです。API メソッドのレスポンスデータまたはエラー詳細を含みます。 AcquireAction 入手アクション 分散トランザクション内のリソース入手操作を表します。プレイヤーにリソース（アイテム、通貨、経験値など）を付与する入手アクションに対応します。GS2 API のアクション識別子と JSON シリアライズされたリクエストパラメータを含みます。 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 ConsumeAction 消費アクション 分散トランザクション内のリソース消費操作を表します。プレイヤーからリソース（アイテム、通貨、スタミナなど）を消費する消費アクションに対応します。消費アクションは入手アクションの前に実行され、プレイヤーが必要なコストを満たしていることを確認します。 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション 分散トランザクション内の事前条件検証操作を表します。消費・入手アクションの前に実行され、条件が満たされていることを検証します（例：所持枠の確認、クエスト完了状態の検証など）。いずれかの検証アクションが失敗した場合、トランザクション全体が中止されます。 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 AcquireActionResult 入手アクションの実行結果 単一の入手アクション実行の結果を記録します。アクション識別子、元のリクエスト、成功・失敗を示す HTTP ステータスコード、GS2 API からの JSON レスポンスペイロードを含みます。 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード この入手アクションに対して GS2 API が返した HTTP ステータスコードです。2xx は成功、409 はリトライが必要なコンフリクト、5xx はサーバーエラーを示します。 acquireResult string ~ 1048576文字 結果内容 入手アクションの実行後に GS2 API が返した JSON レスポンスボディです。入手したリソースの詳細を含み、連鎖するトランザクション ID が含まれる場合もあります。 ConsumeActionResult 消費アクションの実行結果 単一の消費アクション実行の結果を記録します。アクション識別子、元のリクエスト、成功・失敗を示す HTTP ステータスコード、GS2 API からの JSON レスポンスペイロードを含みます。 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード この消費アクションに対して GS2 API が返した HTTP ステータスコードです。2xx は成功、409 はリトライが必要なコンフリクト、5xx はサーバーエラーを示します。 consumeResult string ~ 1048576文字 結果内容 消費アクションの実行後に GS2 API が返した JSON レスポンスボディです。消費されたリソースの詳細を含みます。 VerifyActionResult 検証アクションの実行結果 単一の検証アクション実行の結果を記録します。アクション識別子、元のリクエスト、成功・失敗を示す HTTP ステータスコード、GS2 API からの JSON レスポンスペイロードを含みます。 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード この検証アクションに対して GS2 API が返した HTTP ステータスコードです。2xx は検証成功、非2xx は事前条件が満たされなかったことを示します。 verifyResult string ~ 1048576文字 結果内容 検証アクションの実行後に GS2 API が返した JSON レスポンスボディです。検証結果の詳細を含みます。 Config コンフィグ設定 トランザクションの変数に適用する設定値 詳細  key string  ~ 64文字 名前 value string ~ 51200文字 値 DistributeResource リソース配布 入手アクションとそのリクエストパラメータで構成される単一のリソース配布操作を表します。プレイヤーにリソースを配布する際に、どの GS2 API アクションをどのパラメータで実行するかを指定するために使用されます。 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 CurrentDistributorMaster 現在アクティブな配信モデルのマスターデータ 現在ネームスペース内で有効な、配信モデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Distributor マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ DistributorModelMaster 配信モデルマスター 配信モデルマスターは、ゲーム内で使用される配信モデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される配信モデルとして反映されます。 配信モデルとはリソースの入手時に所持枠を超えて入手した時のポリシーを設定するエンティティです。 GS2-Distributor を通して入手処理を行うことで、あふれたリソースを GS2-Inbox のメッセージとして転送することができます。 詳細  distributorModelId string ※ ~ 1024文字 配信モデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 配信モデル名 配信モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 inboxNamespaceId string ~ 1024文字 あふれたリソースを転送する GS2-Inbox のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN リソースの入手がプレイヤーの所持枠を超えた場合、あふれたリソースは指定された GS2-Inbox ネームスペースにメッセージとして転送されます。プレイヤーは後から受信箱からリソースを受け取ることができます。 whiteListTargetIds List [] 0 ~ 1000 items GS2-Distributorを通して処理出来る対象のリソースGRNのホワイトリスト この配信モデルを使用して入手処理を行える対象となるリソースのGRNプレフィックスを指定します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 リソース配布処理時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 assumeUserId string ~ 1024文字 GS2-Identifier ユーザー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN autoRunStampSheetNotification NotificationSetting  トランザクションの自動実行が完了したときのプッシュ通知(旧仕様) トランザクションがサーバーサイドで自動実行完了した際に GS2-Gateway 経由でプッシュ通知を送信するための設定です。これは旧仕様であり、新仕様では autoRunTransactionNotification を使用してください。 autoRunTransactionNotification NotificationSetting  トランザクションの自動実行が完了したときのプッシュ通知 分散トランザクションがサーバーサイドで自動実行完了した際に GS2-Gateway 経由でプッシュ通知を送信するための設定です。トランザクション結果をクライアントに通知し、ローカル状態を適切に更新できるようにします。 logSetting LogSetting ログの出力設定 ディストリビューター操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、リソース配布・入手アクション実行・トランザクション処理の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 リソース配布処理時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 assumeUserId string ~ 1024文字 GS2-Identifier ユーザー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN autoRunStampSheetNotification NotificationSetting  トランザクションの自動実行が完了したときのプッシュ通知(旧仕様) トランザクションがサーバーサイドで自動実行完了した際に GS2-Gateway 経由でプッシュ通知を送信するための設定です。これは旧仕様であり、新仕様では autoRunTransactionNotification を使用してください。 autoRunTransactionNotification NotificationSetting  トランザクションの自動実行が完了したときのプッシュ通知 分散トランザクションがサーバーサイドで自動実行完了した際に GS2-Gateway 経由でプッシュ通知を送信するための設定です。トランザクション結果をクライアントに通知し、ローカル状態を適切に更新できるようにします。 logSetting LogSetting ログの出力設定 ディストリビューター操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、リソース配布・入手アクション実行・トランザクション処理の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 distribute 所持品を配布する 配布リソースに指定されたアクションに基づいてユーザーにリソースを配布します。 対応サービスには、Inventory、Stamina、Experience、Inbox、Money などが含まれます。 配布によりユーザーの所持品がキャパシティを超えた場合、溢れ分は配信モデルに設定されたプレゼントボックスのネームスペースに自動転送されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 distributorName string  ~ 128文字 配信モデル名 配信モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID distributeResource DistributeResource  加算するリソース timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 distributeResource DistributeResource 処理した DistributeResource inboxNamespaceId string 所持品がキャパシティをオーバーしたときに転送するプレゼントボックスのネームスペース のGRN result string レスポンス内容 実装例 distributeWithoutOverflowProcess 所持品を配布する(溢れた際の救済処置無し) 溢れ処理なしでユーザーにリソースを配布します。 通常の配布操作とは異なり、配布によりユーザーの所持品がキャパシティを超えた場合、超過分は単に破棄され、プレゼントボックスへの転送は行われません。 このバリエーションではネームスペースの指定は不要です。 詳細 Request  userId string  ~ 128文字 ユーザーID distributeResource DistributeResource  加算するリソース timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 distributeResource DistributeResource 処理した DistributeResource result string レスポンス内容 実装例 runVerifyTask トランザクションの検証アクションを実行する トランザクション内の単一の検証タスクを実行し、前提条件を確認します。 返されるコンテキストスタックは検証結果を反映し、トランザクション内の後続のタスクに渡されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyTask string  ~ 5242880文字 検証アクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 contextStack string タスクの実行結果を反映したコンテキストスタック statusCode int ステータスコード result string レスポンス内容 実装例 runStampSheetExpress トランザクションを実行する トランザクションの3つのフェーズを順番に実行します：検証アクション、消費アクション、入手アクション。 これは RunVerifyTask、RunStampTask、RunStampSheet を1回の呼び出しにまとめた便利なAPIです。 各検証タスク、消費アクション、入手アクションの個別のステータスコードとレスポンス内容を含む、すべてのフェーズの結果がまとめて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 stampSheet string  ~ 5242880文字 トランザクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 verifyTaskResultCodes List 検証アクションの実行ステータスコード verifyTaskResults List 検証アクションの実行結果 taskResultCodes List 消費アクションの実行ステータスコード taskResults List 消費アクションの実行結果 sheetResultCode int 入手アクションの実行ステータスコード sheetResult string 入手アクションの実行結果レスポンス内容 実装例 runVerifyTaskWithoutNamespace GS2-Distributor のネームスペースを指定せずに、トランザクションの検証アクションを実行する GS2-Distributor のネームスペースを指定せずに検証タスクを実行します。 ネームスペースの指定を省略することで、以下の副作用があります： 実行ログが記録されません リソース溢れ処理が実行されません ネームスペースレベルの機能のオーバーヘッドなしに軽量な検証実行が必要な場合に使用します。 詳細 Request  verifyTask string  ~ 5242880文字 検証アクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 contextStack string タスクの実行結果を反映したコンテキストスタック statusCode int ステータスコード result string レスポンス内容 実装例 runStampTaskWithoutNamespace GS2-Distributor のネームスペースを指定せずに、トランザクションの消費アクションを実行する GS2-Distributor のネームスペースを指定せずに消費アクションを実行します。 ネームスペースの指定を省略することで、以下の副作用があります： 実行ログが記録されません リソース溢れ処理が実行されません ネームスペースレベルの機能のオーバーヘッドなしに軽量な消費実行が必要な場合に使用します。 詳細 Request  stampTask string  ~ 5242880文字 消費アクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 contextStack string タスクの実行結果を反映したコンテキストスタック statusCode int ステータスコード result string レスポンス内容 実装例 runStampSheetWithoutNamespace GS2-Distributor のネームスペースを指定せずに、トランザクションの入手アクションを実行する GS2-Distributor のネームスペースを指定せずに入手アクションを実行します。 ネームスペースの指定を省略することで、以下の副作用があります： 実行ログが記録されません リソース溢れ処理が実行されません（超過リソースは破棄されます） ネームスペースレベルの機能のオーバーヘッドなしに軽量な入手実行が必要な場合に使用します。 詳細 Request  stampSheet string  ~ 5242880文字 トランザクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 statusCode int ステータスコード result string レスポンス内容 実装例 runStampSheetExpressWithoutNamespace GS2-Distributor のネームスペースを指定せずに、トランザクションを実行する GS2-Distributor のネームスペースを指定せずに、トランザクションの3つのフェーズ（検証、消費、入手）を順番に実行します。 ネームスペースの指定を省略することで、以下の副作用があります： 実行ログが記録されません リソース溢れ処理が実行されません（超過リソースは破棄されます） ネームスペースレベルの機能のオーバーヘッドなしに軽量なトランザクション全体の実行が必要な場合に使用します。 詳細 Request  stampSheet string  ~ 5242880文字 トランザクション keyId string  ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 verifyTaskResultCodes List 検証アクションの実行ステータスコード verifyTaskResults List 検証アクションの実行結果 taskResultCodes List 消費アクションの実行ステータスコード taskResults List 消費アクションの実行結果 sheetResultCode int 入手アクションの実行ステータスコード sheetResult string 入手アクションの実行結果レスポンス内容 実装例 setTransactionDefaultConfig トランザクション発行APIに対して指定する Config のデフォルト値を設定する 後続のトランザクションAPI呼び出しに自動的に適用されるデフォルトの Config 値を設定します。 デフォルト値は返される ContextStack に埋め込まれ、この ContextStack を後続のリクエストに含めることで Config 値が自動適用されます。 設定されたデフォルト値の有効期間は設定時から18時間です。それを超えると値は無視され、再設定が必要です。 スロット名やレートモデル名など、よく使用する Config 値を毎回指定せずに一度だけ設定する場合に便利です。 詳細 Request  accessToken string  ~ 128文字 アクセストークン config List  1 ~ 1000 items トランザクションのプレースホルダに適用する設定値 Result 型 説明 newContextStack string デフォルトコンフィグを反映するためのコンテキストスタック 実装例 setTransactionDefaultConfigByUserId ユーザーIDを指定してトランザクション発行APIに対して指定する Config のデフォルト値を設定する 指定されたユーザーの後続のトランザクションAPI呼び出しに自動的に適用されるデフォルトの Config 値を設定します。 デフォルト値は返される ContextStack に埋め込まれ、この ContextStack を後続のリクエストに含めることで Config 値が自動適用されます。 設定されたデフォルト値の有効期間は設定時から18時間です。それを超えると値は無視され、再設定が必要です。 スロット名やレートモデル名など、よく使用する Config 値を毎回指定せずに一度だけ設定する場合に便利です。 詳細 Request  userId string  ~ 128文字 ユーザーID config List  1 ~ 1000 items トランザクションのプレースホルダに適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 newContextStack string デフォルトコンフィグを反映するためのコンテキストスタック 実装例 freezeMasterData マスターデータを現在時刻の内容で固定する 現在ログインしているユーザーのマスターデータを現在のタイムスタンプで固定します。 固定タイムスタンプは返される ContextStack に記録され、この ContextStack を後続のリクエストに含めることで、最新版ではなく固定時点のマスターデータが使用されます。 これにより、一連の関連操作中にマスターデータの一貫性が保証され、操作途中の変更がユーザーに影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 newContextStack string マスターデータを固定する時刻を記録したコンテキスト 実装例 freezeMasterDataByUserId ユーザーIDを指定してマスターデータを現在時刻の内容で固定する 指定されたユーザーのマスターデータを現在のタイムスタンプで固定します。 固定タイムスタンプは返される ContextStack に記録され、この ContextStack を後続のリクエストに含めることで、最新版ではなく固定時点のマスターデータが使用されます。 これにより、一連の関連操作中にマスターデータの一貫性が保証され、操作途中の変更がユーザーに影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 newContextStack string マスターデータを固定する時刻を記録したコンテキスト 実装例 signFreezeMasterDataTimestamp マスターデータ固定用のタイムスタンプに署名する 指定された暗号鍵を使用して、指定されたタイムスタンプの暗号署名を作成します。 返されるボディと署名は、FreezeMasterDataBySignedTimestamp で指定時刻にマスターデータを固定するために使用できます。 これにより、サーバー側で固定タイムスタンプを制御でき、クライアントが任意のタイムスタンプを指定することを防ぎます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 timestamp long 現在時刻 マスターデータを固定化する時刻 keyId string  ~ 1024文字 署名計算に使用する GS2-Key の暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 body string ボディ signature string 署名 実装例 freezeMasterDataBySignedTimestamp マスターデータを指定された署名付き時刻で固定する SignFreezeMasterDataTimestamp で事前に署名されたタイムスタンプでマスターデータを固定します。 署名は指定された暗号鍵で検証され、タイムスタンプが改ざんされていないことを確認します。 固定タイムスタンプは返される ContextStack に記録され、後続のリクエストで使用されます。 クライアント側の操作を防止するため、サーバーが正確な固定時刻を制御する必要がある場合に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン body string  ~ 1024文字 ボディ signature string  ~ 256文字 署名 keyId string  ~ 1024文字 署名計算に使用した GS2-Key の暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 newContextStack string マスターデータを固定する時刻を記録したコンテキスト 実装例 freezeMasterDataByTimestamp マスターデータを指定された時刻で固定する 署名検証なしで直接指定されたタイムスタンプでマスターデータを固定します。 固定タイムスタンプは返される ContextStack に記録され、後続のリクエストで使用されます。 FreezeMasterDataBySignedTimestamp とは異なり、タイムスタンプは暗号的に検証されないため、信頼できるコンテキストでのみ使用してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン timestamp long  固定する時刻 Result 型 説明 newContextStack string マスターデータを固定する時刻を記録したコンテキスト 実装例 batchExecuteApi 複数のAPIを一括で実行する 単一のバッチリクエストで複数のAPI呼び出しを実行し、必要なラウンドトリップ数を削減します。 1回のバッチに最大100件のAPI呼び出しを含めることができます。 バッチ内の各リクエストは独立して処理され、結果はリクエストと同じ順序で返されます。 複数の独立したAPI呼び出しが必要な場合にレイテンシを削減するのに便利です。 詳細 Request  requestPayloads List  1 ~ 100 items バッチリクエスト Result 型 説明 results List バッチリザルト 実装例 ifExpressionByUserId 条件を検証し、消費アクションの内容を切り替える 検証アクションを条件として評価し、結果に基づいて trueActions または falseActions の消費アクションリストを実行します。 これによりトランザクション内で条件分岐が可能になり、検証結果に応じて異なる消費アクションを実行できます。 multiplyValueSpecifyingQuantity が有効な場合、検証に使用される値も指定された数量で乗算されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID condition VerifyAction  条件 trueActions List 0 ~ 10 items 条件が真のときに実行される消費アクションリスト falseActions List 0 ~ 10 items 条件が偽のときに実行される消費アクションリスト multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item TransactionResult トランザクションの実行結果 expressionResult bool? 条件評価の結果 実装例 andExpressionByUserId 複数の検証アクションを実行し、全てが真かどうかを判定する 複数の検証アクションを実行し、すべてが真と評価された場合にのみ成功します（AND論理）。 いずれかの検証アクションが失敗すると、式全体が失敗します。 トランザクションの実行前にすべて満たす必要がある複数の前提条件を組み合わせる場合に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID actions List 0 ~ 10 items 検証アクションリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 orExpressionByUserId 複数の検証アクションを実行し、いずれかが真かどうかを判定する 複数の検証アクションを実行し、少なくとも1つが真と評価された場合に成功します（OR論理）。 すべての検証アクションが失敗した場合にのみ式が失敗します。 いずれか1つを満たせば十分な代替条件を定義する場合に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID actions List 0 ~ 10 items 検証アクションリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 getStampSheetResult トランザクションの実行結果を取得 現在ログインしているユーザーの特定のトランザクションの実行結果を取得します。 結果には、トランザクションの各フェーズ（検証、消費、入手）のステータスコードとレスポンス内容が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン transactionId string  36 ~ 36文字 トランザクションID このトランザクションを一意に識別する UUID です。トランザクションとその実行結果、および連鎖する後続トランザクションの関連付けに使用されます。 Result 型 説明 item StampSheetResult トランザクションの実行結果 実装例 getStampSheetResultByUserId ユーザーIDを指定してトランザクションの実行結果を取得 指定されたユーザーの特定のトランザクションの実行結果を取得します。 結果には、トランザクションの各フェーズ（検証、消費、入手）のステータスコードとレスポンス内容が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID transactionId string  36 ~ 36文字 トランザクションID このトランザクションを一意に識別する UUID です。トランザクションとその実行結果、および連鎖する後続トランザクションの関連付けに使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item StampSheetResult トランザクションの実行結果 実装例 runTransaction トランザクションを実行する 検証アクション、消費アクション、入手アクションで構成されるトランザクションを実行します。 トランザクションは検証 -\u003e 消費 -\u003e 入手の順序で処理されます。 各フェーズのステータスコードやレスポンス内容を含む実行結果が記録され、後から取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID transaction string  ~ 5242880文字 トランザクション timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item TransactionResult トランザクションの実行結果 実装例 getTransactionResult トランザクションの実行結果を取得 現在ログインしているユーザーの特定のトランザクションの実行結果を取得します。 結果には、トランザクションの各フェーズ（検証、消費、入手）のステータスコードとレスポンス内容が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン transactionId string  36 ~ 36文字 トランザクションID この分散トランザクションを一意に識別する UUID です。実行結果の検索や、元の API リクエストとの関連付けに使用されます。 Result 型 説明 item TransactionResult トランザクションの実行結果 実装例 getTransactionResultByUserId ユーザーIDを指定してトランザクションの実行結果を取得 指定されたユーザーの特定のトランザクションの実行結果を取得します。 結果には、トランザクションの各フェーズ（検証、消費、入手）のステータスコードとレスポンス内容が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID transactionId string  36 ~ 36文字 トランザクションID この分散トランザクションを一意に識別する UUID です。実行結果の検索や、元の API リクエストとの関連付けに使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item TransactionResult トランザクションの実行結果 実装例 describeDistributorModels 配信モデルの一覧を取得 指定されたネームスペースで現在有効化（公開）されているすべての配信モデルを取得します。 配信モデルは、リソース配信のルールを定義し、溢れた場合の転送先となるプレゼントボックスのネームスペースや、対象となるサービスアクションのホワイトリストを含みます。 現在のマスターデータを通じて有効化されたモデルのみが返され、編集可能なマスターデータは含まれません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 配信モデルのリスト 実装例 getDistributorModel 配信モデルを取得 名前を指定して、特定の有効な配信モデルの詳細情報を取得します。 返される情報には、モデルの名前、メタデータ、溢れ処理用のプレゼントボックスのネームスペース、対象サービスアクションのホワイトリストが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 distributorName string  ~ 128文字 配信モデル名 配信モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item DistributorModel 配信モデル 実装例 exportMaster 配信モデルマスターを有効化可能なマスターデータ形式でエクスポート 現在の配信モデルマスターデータを有効化に使用できる形式でエクスポートします。 エクスポートされたデータは、現在のマスター構成のバックアップや別のネームスペースへのインポートに使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentDistributorMaster 有効化可能な配信モデルのマスターデータ 実装例 getCurrentDistributorMaster 現在アクティブな配信モデルのマスターデータを取得 指定されたネームスペースで現在有効化（公開）されている配信モデルのマスターデータを取得します。 これは編集可能なマスターデータとは異なり、実際に本番で使用されている構成を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentDistributorMaster 現在アクティブな配信モデルのマスターデータ 実装例 preUpdateCurrentDistributorMaster 現在アクティブな配信モデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentDistributorMaster 現在アクティブな配信モデルのマスターデータを更新 指定されたネームスペースの配信モデルのマスターデータを更新し有効化（公開）します。 2つのモードをサポートしています：インラインのマスターデータ用の ‘direct’ モードと、事前にアップロードされたマスターデータ用の ‘preUpload’ モードです。 1MBを超えるマスターデータの場合は、3フェーズの更新フロー（PreUpdate -\u003e アップロード -\u003e Update（preUpload モード））を使用してください。 アップロードされたマスターデータは適用前に検証されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentDistributorMaster 更新された現在アクティブな配信モデルのマスターデータ 実装例 updateCurrentDistributorMasterFromGitHub 現在アクティブな配信モデルのマスターデータをGitHubから更新 GitHub リポジトリから直接マスターデータを取得して更新・有効化（公開）します。 チェックアウト設定には、使用するリポジトリ、ブランチ/タグ、ファイルパスを指定します。 マスターデータをバージョン管理で管理し、直接デプロイする場合に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentDistributorMaster 更新された現在アクティブな配信モデルのマスターデータ 実装例 describeDistributorModelMasters 配信モデルマスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能な配信モデルマスターのページネーション付きリストを取得します。 配信モデルマスターはリソース配信ルールの編集可能な定義です。マスターへの変更は、CurrentDistributorMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 配信モデルマスター名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 配信モデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createDistributorModelMaster 配信モデルマスターを新規作成 名前、説明、メタデータ、溢れ処理用のプレゼントボックスのネームスペース、対象サービスアクションのホワイトリストを指定して、新しい編集可能な配信モデルマスター定義を作成します。 プレゼントボックスのネームスペースは、ユーザーの所持品がキャパシティを超えた場合にリソースが転送される先を指定します。 ホワイトリストは、このモデルを通じて配信が許可されるサービスアクションを制限します。 変更は CurrentDistributorMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 配信モデル名 配信モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 inboxNamespaceId string ~ 1024文字 あふれたリソースを転送する GS2-Inbox のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN whiteListTargetIds List [] 0 ~ 1000 items GS2-Distributorを通して処理出来る対象のリソースGRNのホワイトリスト この配信モデルを使用して入手処理を行える対象となるリソースのGRNプレフィックスを指定します。 Result 型 説明 item DistributorModelMaster 作成した配信モデルマスター 実装例 getDistributorModelMaster 配信モデルマスターを取得 名前を指定して、特定の編集可能な配信モデルマスターの詳細情報を取得します。 有効化前のマスター定義の閲覧・編集に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 distributorName string  ~ 128文字 配信モデル名 配信モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item DistributorModelMaster 配信モデルマスター 実装例 updateDistributorModelMaster 配信モデルマスターを更新 既存の配信モデルマスターの説明、メタデータ、プレゼントボックスのネームスペース、ホワイトリストを更新します。 配信モデル名は作成後に変更できません。 変更は CurrentDistributorMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 distributorName string  ~ 128文字 配信モデル名 配信モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 inboxNamespaceId string ~ 1024文字 あふれたリソースを転送する GS2-Inbox のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN whiteListTargetIds List [] 0 ~ 1000 items GS2-Distributorを通して処理出来る対象のリソースGRNのホワイトリスト この配信モデルを使用して入手処理を行える対象となるリソースのGRNプレフィックスを指定します。 Result 型 説明 item DistributorModelMaster 更新した配信モデルマスター 実装例 deleteDistributorModelMaster 配信モデルマスターを削除 編集可能な配信モデルマスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 distributorName string  ~ 128文字 配信モデル名 配信モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item DistributorModelMaster 削除した配信モデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Distributor SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Distributor SDK API リファレンス","url":"/ja/api_reference/distributor/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 エンチャントパラメータ操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログの出力設定 エンチャント操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、バランスパラメータおよびレアリティパラメータ操作の API リクエスト・レスポンスログを収集できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 BalanceParameterStatus バランスパラメータの状態 ユーザーが所有する特定のリソースに対して抽選されたパラメータの実際の値を表します。各ステータスはバランスパラメータモデルに関連付けられ、抽選処理後に各パラメータスロットに割り当てられた具体的な値を保持します。 詳細  balanceParameterStatusId string ※ ~ 1024文字 バランスパラメータ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID parameterName string  ~ 128文字 バランスパラメータモデル名 このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのバランスパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 parameterValues List  1 ~ 10 items バランスパラメータの値リスト 抽選処理後に各パラメータスロットに割り当てられた具体的な値です。各エントリはモデルで定義されたパラメータスロットに対応し、割り当てられた実際の数値を保持します。すべての値の合計はモデルで指定された合計値と等しくなります。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン RarityParameterStatus レアリティパラメータの状態 ユーザーが所有する特定のリソースに対して抽選されたパラメータの実際の値を表します。各ステータスはレアリティパラメータモデルに関連付けられ、付与された各パラメータスロットに対して重み付き抽選で選択された具体的な値を保持します。 詳細  rarityParameterStatusId string ※ ~ 1024文字 レアリティパラメータの状態 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 parameterValues List 0 ~ 10 items レアリティパラメータの値リスト 付与された各スロットに対して重み付き抽選で選択された具体的なパラメータ値です。エントリ数は付与数の抽選で決定され、各エントリの値は値モデルプールから選択されます。最大パラメータ数より少ないエントリ数になる場合があります。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン BalanceParameterModel バランスパラメータモデル バランスパラメータの抽選条件を定義します。 バランスパラメータは固定の合計値を複数のパラメータスロットに分配します。例えば、合計パワーが100の武器に対して ATK=60、DEF=30、SPD=10 のように配分されます。初期値の設定方針により値の割り当て方法が決まります： average は均等に分配し、 lottery は合計値をランダムに配分します。 詳細  balanceParameterModelId string ※ ~ 1024文字 バランスパラメータモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 バランスパラメータモデル名 バランスパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 totalValue long  0 ~ 9223372036854775805 合計値 すべてのパラメータスロットに分配される固定の合計値です。パラメータが抽選される際、使用される配分方針に関わらず、個々の値の合計は常にこの合計値になります。 initialValueStrategy 文字列列挙型 enum {   “average”,   “lottery” } “average” 初期値の設定方針 初回割り当て時に合計値をパラメータスロットにどのように分配するかを決定します。 average は合計値をすべてのパラメータに均等に分配し、 lottery は合計値をランダムに分配してバラエティに富んだパラメータの組み合わせを作成します。 定義 説明 “average” 平均値 “lottery” 抽選 parameters List  1 ~ 10 items バランスパラメータ値モデルのリスト このバランスパラメータで利用可能なパラメータスロットを定義します。各エントリは名前付きパラメータスロット（例: ATK、DEF、SPD）をオプションのメタデータとともに指定します。合計値はこれらのスロットに分配されます。 RarityParameterModel レアリティパラメータモデル レアリティパラメータの抽選条件を定義します。レアリティパラメータは重み付き抽選システムを使用して、付与されるパラメータの数と割り当てられる具体的な値の両方を決定します。まず、付与数モデルのリストから重み付き抽選により埋めるパラメータスロット数が決定されます。次に、各スロットの値がパラメータ値モデルのリストから重み付き抽選で選択され、制御された確率分布によるランダムな装備属性を提供します。 詳細  rarityParameterModelId string ※ ~ 1024文字 レアリティパラメータモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レアリティパラメータモデル名 レアリティパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumParameterCount int  1 ~ 10 付与するパラメータの最大数 リソースに付与できるパラメータスロット数の上限です。実際に付与される数は付与数モデルのリストからの重み付き抽選で決定されますが、この値を超えることはありません。 parameterCounts List  1 ~ 10 items レアリティパラメータの付与数モデルのリスト 付与されるパラメータスロット数を決定するための重み付き抽選エントリを定義します。各エントリは付与数と排出重みを指定します。重みが大きいほど、その付与数が選択される確率が高くなります。 parameters List  1 ~ 1000 items レアリティパラメータ値モデルのリスト 抽選可能なパラメータ値のプールを定義します。各エントリはパラメータ名、リソース詳細、排出重みを指定します。パラメータスロットを埋める際、このプールから重複なしの重み付き抽選で値が選択されます。 BalanceParameterValueModel バランスパラメータ値モデル バランスパラメータ内で利用可能な単一のパラメータスロットを定義します。各エントリは、抽選処理中に合計値の一部を受け取る名前付きスロット（例: ATK、DEF、SPD）を指定します。 詳細  name string  ~ 64文字 名前 このパラメータスロットの識別子（例: ATK、DEF、SPD）です。バランスパラメータモデル内で一意である必要があります。抽選されたパラメータ値の保存・取得時にキーとして使用されます。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 RarityParameterCountModel レアリティパラメータの付与数モデル リソースに付与されるパラメータスロット数を決定するための重み付き抽選の単一エントリを定義します。各エントリはパラメータ数と排出重みをペアにし、パラメータ数量の確率分布を細かく制御できます。 詳細  count int  0 ~ 10 付与数 このエントリが抽選された際に付与するパラメータスロット数です。例えば、付与数が 3 の場合、リソースは値モデルプールから選択された 3 つのパラメータ値を受け取ります。 weight int  1 ~ 2147483646 排出重み パラメータ付与数を決定する重み付き抽選で使用される相対的な重みです。値が大きいほど、この付与数が選択される確率が高くなります。実際の確率は、この重みを付与数モデルリスト内のすべての重みの合計で割った値になります。 RarityParameterValueModel レアリティパラメータ値モデル レアリティパラメータ値の重み付き抽選プール内の単一エントリを定義します。各エントリはパラメータ名、ゲーム定義のリソース詳細、およびプール内の他のエントリに対する選択確率を決定する排出重みを指定します。 詳細  name string  ~ 64文字 名前 この抽選エントリの識別子です。レアリティパラメータモデルの値プール内で一意である必要があります。抽選された際、この名前が結果のレアリティパラメータ値に保存されます。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 resourceName string  ~ 64文字 ゲーム内で使用するパラメータリソースの種類を表す名前（GS2の動作のためには使用しません） このパラメータ値に関連付けられたゲーム定義のリソース種別名（例: “fire_attack”、“ice_resist”）です。GS2 はこの値を自身の動作には使用せず、抽選結果にそのまま渡されゲームロジックで使用されます。 resourceValue long  0 ~ 9223372036854775805 ゲーム内で使用するパラメータリソースの値（GS2の動作のためには使用しません） このパラメータのゲーム定義の数値（例: 攻撃力+50 の場合は 50）です。GS2 はこの値を自身の動作には使用せず、抽選結果にそのまま渡されゲームロジックで使用されます。 weight int  1 ~ 2147483646 排出重み パラメータ値を選択する重み付き抽選で使用される相対的な重みです。値が大きいほど、このエントリが選択される確率が高くなります。実際の確率は、この重みをプール内のすべての重みの合計で割った値になります。 BalanceParameterValue バランスパラメータ値 バランスパラメータステータス内の単一パラメータスロットに割り当てられた実際の値を表します。抽選処理後のスロット名とその具体的な数値を保持します。 詳細  name string  ~ 64文字 名前 パラメータスロットの名前（例: ATK、DEF、SPD）です。バランスパラメータ値モデルで定義されたパラメータスロットに対応します。 value long  0 ~ 9223372036854775805 値 このパラメータスロットに割り当てられた数値です。バランスパラメータが最初に抽選される際に、初期値の設定方針（平均値または抽選）によって決定されます。すべてのスロット値の合計はモデルで定義された合計値と等しくなります。 RarityParameterValue レアリティパラメータ値 レアリティパラメータステータス内の単一パラメータスロットに割り当てられた実際の値を表します。スロット名と、値モデルプールから重み付き抽選で選択されたリソース詳細（名前と値）を保持します。 詳細  name string  ~ 64文字 名前 値モデルプールから選択されたパラメータ値の名前です。抽選されたレアリティパラメータ値モデルエントリで定義された名前に対応します。 resourceName string  ~ 64文字 リソースの名前 このパラメータ値に関連付けられたゲーム定義のリソース種別名（例: “fire_attack”、“ice_resist”）です。ゲームロジックで使用するため、抽選されたレアリティパラメータ値モデルエントリからコピーされます。 resourceValue long  0 ~ 9223372036854775805 リソースの値 このパラメータに関連付けられたリソースの数値です。抽選されたレアリティパラメータ値モデルエントリからコピーされます。ゲームロジックでパラメータの効果（例: 攻撃力+50）を適用するために使用されます。 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか Config コンフィグ設定 トランザクションの変数に適用する設定値 詳細  key string  ~ 64文字 名前 value string ~ 51200文字 値 CurrentParameterMaster 現在アクティブなパラメータモデルのマスターデータ 現在ネームスペース内で有効な、パラメータモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Enchant マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ BalanceParameterModelMaster バランスパラメータモデルマスター 管理コンソール操作に使用されるバランスパラメータモデルの編集可能バージョンです。バランスパラメータの抽選条件を定義します。バランスパラメータは固定の合計値を複数のパラメータスロットに分配します。例えば、合計パワーが100の武器に対して ATK=60、DEF=30、SPD=10 のように配分されます。初期値の設定方針により値の割り当て方法が決まります： average は均等に分配し、 lottery は合計値をランダムに配分します。 詳細  balanceParameterModelId string ※ ~ 1024文字 バランスパラメータモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 バランスパラメータモデル名 バランスパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 totalValue long  0 ~ 9223372036854775805 合計値 すべてのパラメータスロットに分配される固定の合計値です。パラメータが抽選される際、使用される配分方針に関わらず、個々の値の合計は常にこの合計値になります。 initialValueStrategy 文字列列挙型 enum {   “average”,   “lottery” } “average” 初期値の設定方針 初回割り当て時に合計値をパラメータスロットにどのように分配するかを決定します。 average は合計値をすべてのパラメータに均等に分配し、 lottery は合計値をランダムに分配してバラエティに富んだパラメータの組み合わせを作成します。 定義 説明 “average” 平均値 “lottery” 抽選 parameters List  1 ~ 10 items バランスパラメータ値モデルのリスト このバランスパラメータで利用可能なパラメータスロットを定義します。各エントリは名前付きパラメータスロット（例: ATK、DEF、SPD）をオプションのメタデータとともに指定します。合計値はこれらのスロットに分配されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン RarityParameterModelMaster レアリティパラメータモデルマスター 管理コンソール操作に使用されるレアリティパラメータモデルの編集可能バージョンです。重み付き抽選システムを使用して、付与されるパラメータの数と割り当てられる具体的な値の両方を決定するレアリティパラメータの抽選条件を定義します。 詳細  rarityParameterModelId string ※ ~ 1024文字 レアリティパラメータモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レアリティパラメータモデル名 レアリティパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumParameterCount int  1 ~ 10 付与するパラメータの最大数 リソースに付与できるパラメータスロット数の上限です。実際に付与される数は付与数モデルのリストからの重み付き抽選で決定されますが、この値を超えることはありません。 parameterCounts List  1 ~ 10 items レアリティパラメータの付与数モデルのリスト 付与されるパラメータスロット数を決定するための重み付き抽選エントリを定義します。各エントリは付与数と排出重みを指定します。重みが大きいほど、その付与数が選択される確率が高くなります。 parameters List  1 ~ 1000 items レアリティパラメータ値モデルのリスト 抽選可能なパラメータ値のプールを定義します。各エントリはパラメータ名、リソース詳細、排出重みを指定します。パラメータスロットを埋める際、このプールから重複なしの重み付き抽選で値が選択されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 エンチャントパラメータ操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログの出力設定 エンチャント操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、バランスパラメータおよびレアリティパラメータ操作の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 エンチャントパラメータ操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログの出力設定 エンチャント操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、バランスパラメータおよびレアリティパラメータ操作の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeBalanceParameterStatuses バランスパラメータの状態の一覧を取得 現在ログインしているユーザーのバランスパラメータの状態のページネーション付きリストを取得します。 パラメータ名でフィルタリングして、特定のパラメータモデルの状態のみを取得することもできます。 各状態は、特定のプロパティ（例：アイテム）に割り当てられた現在のパラメータ値を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン parameterName string ~ 128文字 バランスパラメータモデル名 このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List バランスパラメータの状態のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeBalanceParameterStatusesByUserId ユーザーIDを指定してバランスパラメータの状態の一覧を取得 指定されたユーザーのバランスパラメータの状態のページネーション付きリストを取得します。 パラメータ名でフィルタリングして、特定のパラメータモデルの状態のみを取得することもできます。 各状態は、特定のプロパティ（例：アイテム）に割り当てられた現在のパラメータ値を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID parameterName string ~ 128文字 バランスパラメータモデル名 このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List バランスパラメータの状態のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getBalanceParameterStatus バランスパラメータの状態を取得 現在ログインしているユーザーの特定のプロパティに対するバランスパラメータの現在の値を取得します。 状態には、パラメータが最初に抽選された時または最後に再抽選された時に割り当てられた値が含まれ、すべての値の合計はモデルの合計値と等しくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン parameterName string  ~ 128文字 バランスパラメータモデル名 このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのバランスパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 Result 型 説明 item BalanceParameterStatus バランスパラメータの状態 実装例 getBalanceParameterStatusByUserId ユーザーIDを指定してバランスパラメータの状態を取得 指定されたユーザーの特定のプロパティに対するバランスパラメータの現在の値を取得します。 状態には、パラメータが最初に抽選された時または最後に再抽選された時に割り当てられた値が含まれ、すべての値の合計はモデルの合計値と等しくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID parameterName string  ~ 128文字 バランスパラメータモデル名 このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのバランスパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BalanceParameterStatus バランスパラメータの状態 実装例 deleteBalanceParameterStatusByUserId バランスパラメータの状態を削除 指定されたユーザーの特定のプロパティに対するバランスパラメータの状態を削除します。 削除されたパラメータ値は永久に失われ、復元できません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID parameterName string  ~ 128文字 バランスパラメータモデル名 このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのバランスパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BalanceParameterStatus 削除したバランスパラメータの状態 実装例 reDrawBalanceParameterStatusByUserId ユーザーIDを指定してバランスパラメータを再抽選 特定のプロパティのバランスパラメータ値を再抽選し、合計値をパラメータ間で再分配します。 fixedParameterNames にパラメータ名を指定することで、特定のパラメータを固定（ロック）して再抽選対象から除外できます（最大10個）。 合計値の制約は維持されます：固定されたものを含むすべてのパラメータ値の合計は常にモデルの合計値と等しくなります。 更新後と更新前のパラメータ状態の両方が返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID parameterName string  ~ 128文字 バランスパラメータモデル名 このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのバランスパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 fixedParameterNames List [] 0 ~ 10 items 再抽選しないパラメータの名前リスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BalanceParameterStatus 更新したバランスパラメータの状態 old BalanceParameterStatus 更新する前のバランスパラメータの状態 実装例 setBalanceParameterStatusByUserId ユーザーIDを指定してバランスパラメータに任意の値を設定 通常の抽選/再抽選メカニズムを経ずに、指定されたユーザーの特定のプロパティにパラメータ値を直接設定します。 これは任意のパラメータ値を割り当てることができる管理操作です。 更新後と更新前のパラメータ状態の両方が返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID parameterName string  ~ 128文字 バランスパラメータモデル名 このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのバランスパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 parameterValues List  1 ~ 10 items バランスパラメータの値リスト 抽選処理後に各パラメータスロットに割り当てられた具体的な値です。各エントリはモデルで定義されたパラメータスロットに対応し、割り当てられた実際の数値を保持します。すべての値の合計はモデルで指定された合計値と等しくなります。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BalanceParameterStatus 更新したバランスパラメータの状態 old BalanceParameterStatus 更新する前のバランスパラメータの状態 実装例 describeRarityParameterStatuses レアリティパラメータの状態の一覧を取得 現在ログインしているユーザーのレアリティパラメータの状態のページネーション付きリストを取得します。 パラメータ名でフィルタリングして、特定のパラメータモデルの状態のみを取得することもできます。 各状態は、特定のプロパティ（例：アイテム）に割り当てられたレアリティベースのパラメータ値の現在のセットを表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン parameterName string ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List レアリティパラメータモデルのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeRarityParameterStatusesByUserId ユーザーIDを指定してレアリティパラメータの状態の一覧を取得 指定されたユーザーのレアリティパラメータの状態のページネーション付きリストを取得します。 パラメータ名でフィルタリングして、特定のパラメータモデルの状態のみを取得することもできます。 各状態は、特定のプロパティ（例：アイテム）に割り当てられたレアリティベースのパラメータ値の現在のセットを表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID parameterName string ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List レアリティパラメータモデルのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getRarityParameterStatus レアリティパラメータの状態を取得 現在ログインしているユーザーの特定のプロパティに対するレアリティパラメータの現在の値を取得します。 状態には、モデルで定義されたレアリティウェイトに基づいてランダムに抽選されたパラメータ値が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 Result 型 説明 item RarityParameterStatus レアリティパラメータの状態 実装例 getRarityParameterStatusByUserId ユーザーIDを指定してレアリティパラメータの状態を取得 指定されたユーザーの特定のプロパティに対するレアリティパラメータの現在の値を取得します。 状態には、モデルで定義されたレアリティウェイトに基づいてランダムに抽選されたパラメータ値が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item RarityParameterStatus レアリティパラメータの状態 実装例 deleteRarityParameterStatusByUserId レアリティパラメータの状態を削除 指定されたユーザーの特定のプロパティに対するレアリティパラメータの状態を削除します。 削除されたパラメータ値は永久に失われ、復元できません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item RarityParameterStatus 削除したレアリティパラメータの状態 実装例 reDrawRarityParameterStatusByUserId ユーザーIDを指定してレアリティパラメータを再抽選 特定のプロパティのレアリティパラメータ値を再抽選し、レアリティウェイトに基づいてランダムに新しい値を割り当てます。 fixedParameterNames にパラメータ名を指定することで、特定のパラメータを固定（ロック）して再抽選対象から除外できます（最大10個）。 固定されたパラメータは現在の値を保持し、固定されていないパラメータのみが再抽選されます。 更新後と更新前のパラメータ状態の両方が返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 fixedParameterNames List 0 ~ 10 items 再抽選しないパラメータの名前リスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item RarityParameterStatus 更新したレアリティパラメータの状態 old RarityParameterStatus 更新する前のレアリティパラメータの状態 実装例 addRarityParameterStatusByUserId ユーザーIDを指定してレアリティパラメータを追加 レアリティウェイトに基づいてランダムに値を抽選し、既存のレアリティパラメータ状態に新しいパラメータスロットを追加します。 count は追加するパラメータスロットの数（1〜10）を指定し、モデルの最大パラメータ数が上限となります。 更新後と更新前のパラメータ状態の両方が返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 count int 1 1 ~ 10 追加するパラメータの数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item RarityParameterStatus 更新したレアリティパラメータの状態 old RarityParameterStatus 更新する前のレアリティパラメータの状態 実装例 verifyRarityParameterStatus レアリティパラメータを検証 レアリティパラメータの状態が指定された条件を満たすかどうかを検証します。 3つの検証タイプがサポートされています： ‘have’: 指定されたパラメータ値が状態に存在することを検証 ‘havent’: 指定されたパラメータ値が状態に存在しないことを検証 ‘count’: パラメータの数が指定された数と一致することを検証 他のアクションを実行する前の前提条件チェックとして使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 accessToken string  ~ 128文字 アクセストークン propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 verifyType 文字列列挙型 enum {   “havent”,   “have”,   “count” }  検証の種類 定義 説明 “havent” 指定したパラメータを保有していないこと “have” 指定したパラメータを保有していること “count” 保有しているパラメータの数が指定数であること parameterValueName string {verifyType} in [“havent”, “have”] ※ ~ 64文字 名前 この抽選エントリの識別子です。レアリティパラメータモデルの値プール内で一意である必要があります。抽選された際、この名前が結果のレアリティパラメータ値に保存されます。 ※ verifyType が “havent”,“have\"であれば 必須 parameterCount int {verifyType} in [“count”] ※ 0 ~ 10 検証するパラメータの数 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item RarityParameterStatus レアリティパラメータの状態 実装例 verifyRarityParameterStatusByUserId ユーザーIDを指定してレアリティパラメータを検証 指定されたユーザーのレアリティパラメータの状態が指定された条件を満たすかどうかを検証します。 3つの検証タイプがサポートされています： ‘have’: 指定されたパラメータ値が状態に存在することを検証 ‘havent’: 指定されたパラメータ値が状態に存在しないことを検証 ‘count’: パラメータの数が指定された数と一致することを検証 他のアクションを実行する前の前提条件チェックとして使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 userId string  ~ 128文字 ユーザーID propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 verifyType 文字列列挙型 enum {   “havent”,   “have”,   “count” }  検証の種類 定義 説明 “havent” 指定したパラメータを保有していないこと “have” 指定したパラメータを保有していること “count” 保有しているパラメータの数が指定数であること parameterValueName string {verifyType} in [“havent”, “have”] ※ ~ 64文字 名前 この抽選エントリの識別子です。レアリティパラメータモデルの値プール内で一意である必要があります。抽選された際、この名前が結果のレアリティパラメータ値に保存されます。 ※ verifyType が “havent”,“have\"であれば 必須 parameterCount int {verifyType} in [“count”] ※ 0 ~ 10 検証するパラメータの数 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item RarityParameterStatus レアリティパラメータの状態 実装例 setRarityParameterStatusByUserId ユーザーIDを指定してレアリティパラメータに任意の値を設定 通常の抽選/再抽選メカニズムを経ずに、指定されたユーザーの特定のプロパティにパラメータ値を直接設定します。 これはレアリティウェイトに関係なく任意のパラメータ値を割り当てることができる管理操作です。 更新後と更新前のパラメータ状態の両方が返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 parameterValues List 0 ~ 10 items レアリティパラメータの値リスト 付与された各スロットに対して重み付き抽選で選択された具体的なパラメータ値です。エントリ数は付与数の抽選で決定され、各エントリの値は値モデルプールから選択されます。最大パラメータ数より少ないエントリ数になる場合があります。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item RarityParameterStatus 更新したレアリティパラメータの状態 old RarityParameterStatus 更新する前のレアリティパラメータの状態 実装例 describeBalanceParameterModels バランスパラメータモデルの一覧を取得 指定されたネームスペースで現在有効化（公開）されているすべてのバランスパラメータモデルを取得します。 バランスパラメータモデルは、合計値が複数のパラメータに分配され、常に合計が固定値になるパラメータセットを定義します。 現在のマスターデータを通じて有効化されたモデルのみが返され、編集可能なマスターデータは含まれません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List バランスパラメータモデルのリスト 実装例 getBalanceParameterModel バランスパラメータモデルを取得 名前を指定して、特定の有効なバランスパラメータモデルの詳細情報を取得します。 返される情報には、モデルの名前、メタデータ、合計値、初期値戦略、パラメータ定義が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 バランスパラメータモデル名 バランスパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BalanceParameterModel バランスパラメータモデル 実装例 describeRarityParameterModels レアリティパラメータモデルの一覧を取得 指定されたネームスペースで現在有効化（公開）されているすべてのレアリティパラメータモデルを取得します。 レアリティパラメータモデルは、各パラメータスロットがレアリティに基づく確率でランダムに抽選された値で埋められるパラメータセットを定義します。 現在のマスターデータを通じて有効化されたモデルのみが返され、編集可能なマスターデータは含まれません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List レアリティパラメータモデルのリスト 実装例 getRarityParameterModel レアリティパラメータモデルを取得 名前を指定して、特定の有効なレアリティパラメータモデルの詳細情報を取得します。 返される情報には、モデルの名前、メタデータ、最大パラメータ数、パラメータ数の分布、レアリティウェイト付きのパラメータ値定義が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 レアリティパラメータモデル名 レアリティパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RarityParameterModel レアリティパラメータモデル 実装例 exportMaster パラメータモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在のパラメータモデルマスターデータ（バランスパラメータモデルとレアリティパラメータモデルの両方）を有効化に使用できる形式でエクスポートします。 エクスポートされたデータは、現在のマスター構成のバックアップや別のネームスペースへのインポートに使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentParameterMaster 有効化可能なパラメータモデルマスターデータ 実装例 getCurrentParameterMaster 現在アクティブなパラメータモデルのマスターデータを取得 指定されたネームスペースで現在有効化（公開）されているパラメータモデル（バランスとレアリティの両方）のマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentParameterMaster 現在アクティブなパラメータモデルのマスターデータ 実装例 preUpdateCurrentParameterMaster 現在アクティブなパラメータモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentParameterMaster 現在アクティブなパラメータモデルのマスターデータを更新 指定されたネームスペースのパラメータモデルのマスターデータを更新し有効化（公開）します。 2つのモードをサポートしています：インラインのマスターデータ用の ‘direct’ モードと、事前にアップロードされたマスターデータ用の ‘preUpload’ モードです。 1MBを超えるマスターデータの場合は、3フェーズの更新フロー（PreUpdate -\u003e アップロード -\u003e Update（preUpload モード））を使用してください。 アップロードされたマスターデータは適用前に検証されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentParameterMaster 更新された現在アクティブなパラメータモデルのマスターデータ 実装例 updateCurrentParameterMasterFromGitHub 現在アクティブなパラメータモデルのマスターデータをGitHubから更新 GitHub リポジトリから直接マスターデータを取得して更新・有効化（公開）します。 チェックアウト設定には、使用するリポジトリ、ブランチ/タグ、ファイルパスを指定します。 マスターデータをバージョン管理で管理し、直接デプロイする場合に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentParameterMaster 更新された現在アクティブなパラメータモデルのマスターデータ 実装例 describeBalanceParameterModelMasters バランスパラメータモデルマスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能なバランスパラメータモデルマスターのページネーション付きリストを取得します。 バランスパラメータモデルマスターはバランスパラメータセットの編集可能な定義です。マスターへの変更は、CurrentParameterMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 バランスパラメータモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List バランスパラメータモデルマスターデータのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createBalanceParameterModelMaster バランスパラメータモデルマスターを新規作成 新しい編集可能なバランスパラメータモデルマスター定義を作成します。 合計値はパラメータに分配される総和を指定し、初期値戦略は値がどのように初期割り当てされるかを決定します。 パラメータは値の範囲を持つ個々のパラメータスロットを定義します。 変更は CurrentParameterMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 バランスパラメータモデル名 バランスパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 totalValue long  0 ~ 9223372036854775805 合計値 すべてのパラメータスロットに分配される固定の合計値です。パラメータが抽選される際、使用される配分方針に関わらず、個々の値の合計は常にこの合計値になります。 initialValueStrategy 文字列列挙型 enum {   “average”,   “lottery” } “average” 初期値の設定方針 初回割り当て時に合計値をパラメータスロットにどのように分配するかを決定します。 average は合計値をすべてのパラメータに均等に分配し、 lottery は合計値をランダムに分配してバラエティに富んだパラメータの組み合わせを作成します。 定義 説明 “average” 平均値 “lottery” 抽選 parameters List  1 ~ 10 items バランスパラメータ値モデルのリスト このバランスパラメータで利用可能なパラメータスロットを定義します。各エントリは名前付きパラメータスロット（例: ATK、DEF、SPD）をオプションのメタデータとともに指定します。合計値はこれらのスロットに分配されます。 Result 型 説明 item BalanceParameterModelMaster 作成したバランスパラメータモデルマスター 実装例 getBalanceParameterModelMaster バランスパラメータモデルマスターデータを取得 名前を指定して、特定の編集可能なバランスパラメータモデルマスターの詳細情報を取得します。 有効化前のマスター定義の閲覧・編集に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 バランスパラメータモデル名 バランスパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BalanceParameterModelMaster バランスパラメータモデルマスター 実装例 updateBalanceParameterModelMaster バランスパラメータモデルマスターデータを更新 既存のバランスパラメータモデルマスターの説明、メタデータ、合計値、初期値戦略、パラメータを更新します。 パラメータモデル名は作成後に変更できません。 変更は CurrentParameterMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 バランスパラメータモデル名 バランスパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 totalValue long  0 ~ 9223372036854775805 合計値 すべてのパラメータスロットに分配される固定の合計値です。パラメータが抽選される際、使用される配分方針に関わらず、個々の値の合計は常にこの合計値になります。 initialValueStrategy 文字列列挙型 enum {   “average”,   “lottery” } “average” 初期値の設定方針 初回割り当て時に合計値をパラメータスロットにどのように分配するかを決定します。 average は合計値をすべてのパラメータに均等に分配し、 lottery は合計値をランダムに分配してバラエティに富んだパラメータの組み合わせを作成します。 定義 説明 “average” 平均値 “lottery” 抽選 parameters List  1 ~ 10 items バランスパラメータ値モデルのリスト このバランスパラメータで利用可能なパラメータスロットを定義します。各エントリは名前付きパラメータスロット（例: ATK、DEF、SPD）をオプションのメタデータとともに指定します。合計値はこれらのスロットに分配されます。 Result 型 説明 item BalanceParameterModelMaster 更新したバランスパラメータモデルマスターデータ 実装例 deleteBalanceParameterModelMaster バランスパラメータモデルマスターデータを削除 編集可能なバランスパラメータモデルマスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 削除されたモデルに関連する既存のユーザーパラメータ状態は自動的には削除されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 バランスパラメータモデル名 バランスパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BalanceParameterModelMaster 削除したバランスパラメータモデルマスター 実装例 describeRarityParameterModelMasters レアリティパラメータモデルマスターの一覧を取得 編集可能なレアリティパラメータモデルマスターのページネーション付きリストを取得します。 レアリティパラメータモデルマスターはレアリティベースのパラメータセットの編集可能な定義です。マスターへの変更は、CurrentParameterMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List レアリティパラメータモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createRarityParameterModelMaster レアリティパラメータモデルマスターを新規作成 新しい編集可能なレアリティパラメータモデルマスター定義を作成します。 最大パラメータ数はパラメータスロットの上限を指定し、パラメータ数分布はスロットがいくつ埋められるかの確率分布を定義します。 パラメータはレアリティベースの抽選ウェイト付きの取りうる値を定義します。 変更は CurrentParameterMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 レアリティパラメータモデル名 レアリティパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumParameterCount int  1 ~ 10 付与するパラメータの最大数 リソースに付与できるパラメータスロット数の上限です。実際に付与される数は付与数モデルのリストからの重み付き抽選で決定されますが、この値を超えることはありません。 parameterCounts List  1 ~ 10 items レアリティパラメータの付与数モデルのリスト 付与されるパラメータスロット数を決定するための重み付き抽選エントリを定義します。各エントリは付与数と排出重みを指定します。重みが大きいほど、その付与数が選択される確率が高くなります。 parameters List  1 ~ 1000 items レアリティパラメータ値モデルのリスト 抽選可能なパラメータ値のプールを定義します。各エントリはパラメータ名、リソース詳細、排出重みを指定します。パラメータスロットを埋める際、このプールから重複なしの重み付き抽選で値が選択されます。 Result 型 説明 item RarityParameterModelMaster 作成したレアリティパラメータモデルマスターデータ 実装例 getRarityParameterModelMaster レアリティパラメータモデルマスターを取得 名前を指定して、特定の編集可能なレアリティパラメータモデルマスターの詳細情報を取得します。 有効化前のマスター定義の閲覧・編集に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 レアリティパラメータモデル名 レアリティパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RarityParameterModelMaster レアリティパラメータモデルマスター 実装例 updateRarityParameterModelMaster レアリティパラメータモデルマスターを更新 既存のレアリティパラメータモデルマスターの説明、メタデータ、最大パラメータ数、パラメータ数分布、パラメータを更新します。 パラメータモデル名は作成後に変更できません。 変更は CurrentParameterMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 レアリティパラメータモデル名 レアリティパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumParameterCount int  1 ~ 10 付与するパラメータの最大数 リソースに付与できるパラメータスロット数の上限です。実際に付与される数は付与数モデルのリストからの重み付き抽選で決定されますが、この値を超えることはありません。 parameterCounts List  1 ~ 10 items レアリティパラメータの付与数モデルのリスト 付与されるパラメータスロット数を決定するための重み付き抽選エントリを定義します。各エントリは付与数と排出重みを指定します。重みが大きいほど、その付与数が選択される確率が高くなります。 parameters List  1 ~ 1000 items レアリティパラメータ値モデルのリスト 抽選可能なパラメータ値のプールを定義します。各エントリはパラメータ名、リソース詳細、排出重みを指定します。パラメータスロットを埋める際、このプールから重複なしの重み付き抽選で値が選択されます。 Result 型 説明 item RarityParameterModelMaster 更新したレアリティパラメータモデルマスター 実装例 deleteRarityParameterModelMaster レアリティパラメータモデルマスターを削除 編集可能なレアリティパラメータモデルマスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 削除されたモデルに関連する既存のユーザーパラメータ状態は自動的には削除されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 レアリティパラメータモデル名 レアリティパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RarityParameterModelMaster 削除したレアリティパラメータモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Enchant SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Enchant SDK API リファレンス","url":"/ja/api_reference/enchant/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 強化操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 enhanceScript ScriptSetting 強化時に実行するスクリプトの設定 Script トリガーリファレンス - enhance logSetting LogSetting ログの出力設定 強化操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、強化および限界突破操作の API リクエスト・レスポンスログを収集できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Progress 強化進行状況 強化の開始時に作成され、終了時に削除されます。 強化の途中でアプリを終了した際にはこのデータが残った状態となり エンティティが保持する進行中の強化情報からゲームをリジュームすることが可能です。 詳細  progressId string ※ ~ 1024文字 実行 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID rateName string  ~ 128文字 強化レートモデル名 この強化操作のパラメータを定義する強化レートモデルの名前です。対象インベントリ、素材インベントリ、経験値階層、ボーナスレートを指定するモデルを参照します。 name string  UUID ~ 36文字 強化進行状況ID 強化進行状況の一意なIDを保持します。 IDは UUID（Universally Unique Identifier）フォーマットで自動的に生成され、強化進行状況を識別するために使用されます。 propertyId string  ~ 1024文字 強化対象のプロパティID 強化される GS2-Inventory アイテムのプロパティ ID です。強化完了時に経験値を受け取る特定のアイテムインスタンスを識別します。 experienceValue long  0 ~ 9223372036854775805 入手できる経験値 消費した素材から算出された基本経験値です。この値は、各素材のメタデータに定義された経験値に素材数量を乗じた合計として決定されます。 rate float  0 ~ 100.0 経験値倍率 基本経験値に適用されるボーナス倍率です。強化レートモデルのボーナスレートからの重み付き抽選で決定されます。1.0 はボーナスなし、1.0 より大きい値は「大成功」ボーナスを表します（例: 1.5 で経験値 150%）。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン RateModel 強化レートモデル 強化レートは強化に使用する素材と強化対象を定義したデータです。 素材データ、強化対象データは共に GS2-Inventory で管理されている必要があります。 強化で得られる経験値は GS2-Inventory のメタデータにJSON形式で記録します。 ここではメタデータのどの階層に経験値の値が格納されているかを記載する必要があります。 強化時に一定の確率で 大成功 といった形で入手できる経験値量に補正値をかけることができます。 その抽選確率もこのエンティティで定義します。 詳細  rateModelId string ※ ~ 1024文字 強化レートモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 targetInventoryModelId string  ~ 1024文字 強化対象に使用できる GS2-Inventory インベントリモデルの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化対象となるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。強化されるアイテムはこのインベントリモデルに属している必要があります。 acquireExperienceSuffix string  ~ 1024文字 GS2-Experience で入手した経験値を格納するプロパティID に付与するサフィックス アイテムのプロパティ ID の末尾に追加され、経験値が保存される GS2-Experience のプロパティ ID を構成する文字列です。同じアイテムに複数の経験値種別を持たせることができます（例: キャラクターレベルの “level”、好感度の “like”）。 materialInventoryModelId string  ~ 1024文字 強化の素材に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化素材として使用できるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。各素材が提供する経験値は、acquireExperienceHierarchy で指定された JSON 階層を使用してアイテムモデルのメタデータに定義されます。 acquireExperienceHierarchy List 0 ~ 10 items ItemModelのメタデータに格納する、入手経験値を定義するJSONデータの階層構造の定義 GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 例えば、{ “aaa”: { “bbb”: { “experienceValue”: 100 } } } というような構造のデータ定義でメタデータに設定したい場合は、[ “aaa”, “bbb”, “experienceValue” ] のように指定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 experienceModelId string  ~ 1024文字 強化の結果得られる GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化で得られた経験値が記録される GS2-Experience の経験値モデルを指定します。経験値は、対象アイテムのプロパティ ID と acquireExperienceSuffix を組み合わせて識別されるプロパティに加算されます。 bonusRates List 0 ~ 1000 items 経験値獲得量ボーナス 強化時のボーナス経験値倍率の重み付き抽選を定義します。各エントリは倍率（例: 1.5 で 150%）と排出重みを指定します。強化実行時に重み付き抽選で1つのエントリが選択され、「大成功」ボーナスが獲得経験値に適用されるかどうかが決定されます。 UnleashRateModel 限界突破レートモデル アイテムの限界突破（解放）条件を定義します。GS2-Inventory で管理されるアイテムと GS2-Grade のグレードモデルを関連付け、グレードの進行を可能にします。各グレードレベルで消費する同種アイテムの数を個別に設定でき、各限界突破段階のコストを細かく制御できます。 詳細  unleashRateModelId string ※ ~ 1024文字 限界突破レートモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 限界突破レートモデル名 限界突破レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 targetInventoryModelId string  ~ 1024文字 限界突破対象に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 限界突破対象となるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。限界突破するアイテムと素材として消費する同種アイテムの両方がこのインベントリモデルに属している必要があります。 gradeModelId string  ~ 1024文字 グレードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 対象アイテムの限界突破レベルを追跡する GS2-Grade のグレードモデルを指定します。限界突破が成功すると、このグレードモデル内でアイテムのグレードが加算されます。 gradeEntries List  1 ~ 1000 items グレードエントリーリスト 限界突破の各グレードレベルに対する素材コストを定義します。各エントリはグレード値と、そのグレードに到達するために消費する必要がある同種アイテム数をマッピングします。例えば、グレード1は複製1個、グレード2は複製3個のように設定できます。 UnleashRateEntryModel 限界突破レートエントリモデル 限界突破の進行における単一グレードレベルの素材コストを定義します。各エントリは対象となるグレード値と、そのグレードを達成するために消費する必要がある同種アイテムの数を指定します。 詳細  gradeValue long  1 ~ 1000 対象グレード このエントリがコストを定義するグレード値です。このグレードレベルへの限界突破を実行する際、needCount で指定された数のアイテムが消費されます。 needCount int  1 ~ 1000 同種のアイテムを何個消費するか 対象グレードへの限界突破を実行するために消費する必要がある同種アイテムの数です。これらのアイテムは、限界突破されるアイテムと同じアイテムモデルのものです。 BonusRate 経験値獲得量ボーナス 強化時の経験値ボーナス倍率を決定する重み付き抽選の単一エントリを定義します。異なる倍率と重みを持つ複数のエントリを設定することで、制御された確率による「大成功」や「超成功」の仕組みを実装できます。 詳細  rate float 1.0 0 ~ 10000 経験値ボーナスの倍率 (1.0 = ボーナスなし) このエントリが抽選された際に基本経験値に適用される倍率です。1.0 はボーナスなしの通常強化、1.5 は経験値 150%（大成功）、2.0 は経験値 200%（超成功）などを意味します。 weight int 1 0 ~ 2147483645 抽選重み ボーナスレートを選択する重み付き抽選で使用される相対的な重みです。値が大きいほど、このボーナスレートが選択される確率が高くなります。実際の確率は、この重みをボーナスレートリスト内のすべての重みの合計で割った値になります。 Material 強化素材 強化操作中に消費される素材アイテムを表します。各素材は特定の GS2-Inventory アイテムセットを参照し、消費する数量を指定します。素材が提供する経験値はアイテムモデルのメタデータから決定されます。 詳細  materialItemSetId string  ~ 1024文字 強化の素材となるアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化素材として消費する特定の GS2-Inventory アイテムセットを参照します。アイテムは強化レートモデルで指定された素材インベントリモデルに属している必要があります。 count int 1 0 ~ 2147483645 消費数量 この素材アイテムの消費数量です。この素材から得られる合計経験値は、アイテム1個あたりの経験値（アイテムモデルのメタデータから取得）にこの数量を乗じて計算されます。 Config コンフィグ設定 トランザクションの変数に適用する設定値 詳細  key string  ~ 64文字 名前 value string ~ 51200文字 値 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか CurrentRateMaster 現在アクティブなレートモデルのマスターデータ 現在ネームスペース内で有効な、レートモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Enhance マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ RateModelMaster 強化レートモデルマスター 強化レートモデルマスターは、ゲーム内で使用される強化レートモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される強化レートモデルとして反映されます。 強化レートは強化に使用する素材と強化対象を定義したデータです。 素材データ、強化対象データは共に GS2-Inventory で管理されている必要があります。 強化で得られる経験値は GS2-Inventory のメタデータにJSON形式で記録します。 ここではメタデータのどの階層に経験値の値が格納されているかを記載する必要があります。 強化時に一定の確率で 大成功 といった形で入手できる経験値量に補正値をかけることができます。 その抽選確率もこのエンティティで定義します。 詳細  rateModelId string ※ ~ 1024文字 強化レートモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 targetInventoryModelId string  ~ 1024文字 強化対象に使用できる GS2-Inventory インベントリモデルの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化対象となるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。強化されるアイテムはこのインベントリモデルに属している必要があります。 acquireExperienceSuffix string  ~ 1024文字 GS2-Experience で入手した経験値を格納するプロパティID に付与するサフィックス アイテムのプロパティ ID の末尾に追加され、経験値が保存される GS2-Experience のプロパティ ID を構成する文字列です。同じアイテムに複数の経験値種別を持たせることができます（例: キャラクターレベルの “level”、好感度の “like”）。 materialInventoryModelId string  ~ 1024文字 強化の素材に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化素材として使用できるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。各素材が提供する経験値は、acquireExperienceHierarchy で指定された JSON 階層を使用してアイテムモデルのメタデータに定義されます。 acquireExperienceHierarchy List 0 ~ 10 items ItemModelのメタデータに格納する、入手経験値を定義するJSONデータの階層構造の定義 GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 例えば、{ “aaa”: { “bbb”: { “experienceValue”: 100 } } } というような構造のデータ定義でメタデータに設定したい場合は、[ “aaa”, “bbb”, “experienceValue” ] のように指定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 experienceModelId string  ~ 1024文字 強化の結果得られる GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化で得られた経験値が記録される GS2-Experience の経験値モデルを指定します。経験値は、対象アイテムのプロパティ ID と acquireExperienceSuffix を組み合わせて識別されるプロパティに加算されます。 bonusRates List 0 ~ 1000 items 経験値獲得量ボーナス 強化時のボーナス経験値倍率の重み付き抽選を定義します。各エントリは倍率（例: 1.5 で 150%）と排出重みを指定します。強化実行時に重み付き抽選で1つのエントリが選択され、「大成功」ボーナスが獲得経験値に適用されるかどうかが決定されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン UnleashRateModelMaster 限界突破レートモデルマスター 管理コンソール操作に使用される限界突破レートモデルの編集可能バージョンです。GS2-Inventory のアイテムと GS2-Grade のグレードモデルを関連付けることで、アイテムの限界突破条件を定義します。各グレードレベルで消費する同種アイテムの数を個別に設定できます。 詳細  unleashRateModelId string ※ ~ 1024文字 限界突破レートモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 限界突破レートモデル名 限界突破レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 GS2 の動作には一切影響を与えませんので、ゲーム内で使用する値の保管場所として利用してください。 targetInventoryModelId string  ~ 1024文字 限界突破対象に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 限界突破対象となるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。限界突破するアイテムと素材として消費する同種アイテムの両方がこのインベントリモデルに属している必要があります。 gradeModelId string  ~ 1024文字 グレードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 対象アイテムの限界突破レベルを追跡する GS2-Grade のグレードモデルを指定します。限界突破が成功すると、このグレードモデル内でアイテムのグレードが加算されます。 gradeEntries List  1 ~ 1000 items グレードエントリリスト 限界突破の各グレードレベルに対する素材コストを定義します。各エントリはグレード値と、そのグレードに到達するために消費する必要がある同種アイテム数をマッピングします。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 強化操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 enhanceScript ScriptSetting 強化時に実行するスクリプトの設定 Script トリガーリファレンス - enhance logSetting LogSetting ログの出力設定 強化操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、強化および限界突破操作の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 強化操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 enhanceScript ScriptSetting 強化時に実行するスクリプトの設定 Script トリガーリファレンス - enhance logSetting LogSetting ログの出力設定 強化操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、強化および限界突破操作の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 directEnhance 強化を実行 強化レートモデルに基づいて、指定された素材を消費して対象アイテムセットに経験値を付与します。 獲得経験値はレートモデルで定義された経験値階層に従って素材から計算され、ボーナスレートは設定されたボーナスレート確率テーブルから抽選されます。 結果には獲得した経験値量と適用されたボーナスレートが含まれます。 素材の消費と経験値の取得を実行するためのトランザクションが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetItemSetId string  ~ 1024文字 強化対象のアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN materials List  1 ~ 10 items 強化素材リスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item RateModel 強化レートモデル transactionId string 発行されたトランザクションID stampSheet string 強化処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 acquireExperience long 獲得経験値量 bonusRate float 経験値ボーナスの倍率(1.0=ボーナスなし) 実装例 directEnhanceByUserId ユーザーIDを指定して強化を実行 強化レートモデルに基づいて、指定された素材を消費して対象アイテムセットに経験値を付与します。 獲得経験値はレートモデルで定義された経験値階層に従って素材から計算され、ボーナスレートは設定されたボーナスレート確率テーブルから抽選されます。 結果には獲得した経験値量と適用されたボーナスレートが含まれます。 素材の消費と経験値の取得を実行するためのトランザクションが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetItemSetId string  ~ 1024文字 強化対象のアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN materials List  1 ~ 10 items 強化素材リスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item RateModel 強化レートモデル transactionId string 発行されたトランザクションID stampSheet string 強化処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 acquireExperience long 獲得経験値量 bonusRate float 経験値ボーナスの倍率(1.0=ボーナスなし) 実装例 unleash 限界突破を実行 GS2-Grade で管理するグレードを引き上げる強化処理で利用します。 なかでも、同種アイテムを素材として消費することでレベルキャップを引き上げるタイプの限界突破に利用します。 指定された素材を消費する代わりに限界突破対象のリソースのグレードを1引き上げることができます。 素材となるリソースが経験値などのリソースを持っていたとしても、そのリソースは引き継がれません。 引き継ぎが必要な場合は、事前に別のリソースに引き継ぐためのリソースに変換しておく必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetItemSetId string  ~ 1024文字 限界突破対象のアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN materials List  1 ~ 1000 items 限界突破素材リスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item UnleashRateModel 限界突破レートモデル transactionId string 発行されたトランザクションID stampSheet string 強化処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 unleashByUserId ユーザーIDを指定して限界突破を実行 GS2-Grade で管理するグレードを引き上げる強化処理で利用します。 なかでも、同種アイテムを素材として消費することでレベルキャップを引き上げるタイプの限界突破に利用します。 指定された素材を消費する代わりに限界突破対象のリソースのグレードを1引き上げることができます。 素材となるリソースが経験値などのリソースを持っていたとしても、そのリソースは引き継がれません。 引き継ぎが必要な場合は、事前に別のリソースに引き継ぐためのリソースに変換しておく必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetItemSetId string  ~ 1024文字 限界突破対象のアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN materials List  1 ~ 1000 items 限界突破素材リスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item UnleashRateModel 限界突破レートモデル transactionId string 発行されたトランザクションID stampSheet string 強化処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 createProgressByUserId ユーザーIDを指定して強化を開始 2フェーズ強化フローのための進行情報レコードを作成します。 対象アイテムセットと素材をレートモデルに対して検証し、素材から獲得経験値を計算し、確率テーブルからボーナスレートを抽選します。 計算された経験値とボーナスレートは進行情報レコードに保存され、End API で強化完了時に使用されます。 force が true の場合、ユーザーの既存の進行情報は破棄され置き換えられます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rateName string  ~ 128文字 強化レートモデル名 この強化操作のパラメータを定義する強化レートモデルの名前です。対象インベントリ、素材インベントリ、経験値階層、ボーナスレートを指定するモデルを参照します。 targetItemSetId string  ~ 1024文字 強化対象のアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN materials List 0 ~ 10 items 強化素材リスト force bool false すでに開始している強化がある場合にそれを破棄して開始するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Progress 実行中の強化の進行情報 実装例 getProgress 実行中の強化の進行情報を取得 認証されたユーザーの現在進行中の強化の進行情報を取得します。 進行情報レコードには、強化開始時に決定されたレート名、対象アイテムセット、素材、計算済み経験値、抽選済みボーナスレートが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Progress 実行中の強化の進行情報 実装例 getProgressByUserId ユーザーIDを指定して実行中の強化の進行情報を取得 指定されたユーザーの現在進行中の強化の進行情報を取得します。 進行情報レコードには、強化開始時に決定されたレート名、対象アイテムセット、素材、計算済み経験値、抽選済みボーナスレートが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Progress 実行中の強化の進行情報 実装例 start 強化を開始 認証されたユーザーの2フェーズ強化処理を開始します。 対象と素材をレートモデルに対して検証し、経験値を計算し、ボーナスレートを抽選して進行情報レコードを作成します。 指定された素材を消費するためのトランザクションが発行されます。 force が true の場合、ユーザーの既存の進行情報は破棄され置き換えられます。 素材が消費された後、End API を呼び出して強化を完了し、計算済みの経験値を付与します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 この強化操作のパラメータを定義する強化レートモデルの名前です。対象インベントリ、素材インベントリ、経験値階層、ボーナスレートを指定するモデルを参照します。 targetItemSetId string  ~ 1024文字 強化対象のアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN materials List 0 ~ 10 items 強化素材リスト accessToken string  ~ 128文字 アクセストークン force bool false すでに開始している強化がある場合にそれを破棄して開始するか config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 transactionId string 発行されたトランザクションID stampSheet string 強化の開始処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 startByUserId ユーザーIDを指定して強化を開始 指定されたユーザーの2フェーズ強化処理を開始します。 対象と素材をレートモデルに対して検証し、経験値を計算し、ボーナスレートを抽選して進行情報レコードを作成します。 指定された素材を消費するためのトランザクションが発行されます。 force が true の場合、ユーザーの既存の進行情報は破棄され置き換えられます。 素材が消費された後、End API を呼び出して強化を完了し、計算済みの経験値を付与します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 この強化操作のパラメータを定義する強化レートモデルの名前です。対象インベントリ、素材インベントリ、経験値階層、ボーナスレートを指定するモデルを参照します。 targetItemSetId string  ~ 1024文字 強化対象のアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN materials List 0 ~ 10 items 強化素材リスト userId string  ~ 128文字 ユーザーID force bool false すでに開始している強化がある場合にそれを破棄して開始するか config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 transactionId string 発行されたトランザクションID stampSheet string 強化の開始処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 end 強化を完了 認証されたユーザーの2フェーズ強化処理を完了します。 Start フェーズで作成された進行情報レコード（事前計算された経験値とボーナスレートを含む）を取得します。 計算済みの経験値（ボーナスレート適用済み）を対象アイテムに付与するためのトランザクションが発行されます。 強化完了後、進行情報レコードは削除されます。 レスポンスには獲得した経験値量と適用されたボーナスレートが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item Progress 強化の進行情報 transactionId string 発行されたトランザクションID stampSheet string 報酬付与処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 acquireExperience long 獲得経験値量 bonusRate float 経験値ボーナスの倍率(1.0=ボーナスなし) 実装例 endByUserId ユーザーIDを指定して強化を完了 指定されたユーザーの2フェーズ強化処理を完了します。 Start フェーズで作成された進行情報レコード（事前計算された経験値とボーナスレートを含む）を取得します。 計算済みの経験値（ボーナスレート適用済み）を対象アイテムに付与するためのトランザクションが発行されます。 強化完了後、進行情報レコードは削除されます。 レスポンスには獲得した経験値量と適用されたボーナスレートが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Progress 強化の進行情報 transactionId string 発行されたトランザクションID stampSheet string 報酬付与処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 acquireExperience long 獲得経験値量 bonusRate float 経験値ボーナスの倍率(1.0=ボーナスなし) 実装例 deleteProgress 実行中の強化の進行情報を削除 認証されたユーザーの現在進行中の強化の進行情報レコードを削除します。 進行中の2フェーズ強化がキャンセルされ、事前計算された経験値とボーナスレートは破棄されます。 Start フェーズで既に消費された素材は自動的には返還されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Progress 強化の進行情報 実装例 deleteProgressByUserId ユーザーIDを指定して実行中の強化の進行情報を削除 指定されたユーザーの現在進行中の強化の進行情報レコードを削除します。 進行中の2フェーズ強化がキャンセルされ、事前計算された経験値とボーナスレートは破棄されます。 Start フェーズで既に消費された素材は自動的には返還されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Progress 強化の進行情報 実装例 describeRateModels 強化レートモデルの一覧を取得 指定されたネームスペースで現在有効化（公開）されている強化レートモデルのリストを取得します。 各レートモデルは、対象インベントリモデル、素材インベントリモデル、経験値階層、経験値サフィックス、ボーナスレートを含む強化設定を定義します。 CurrentRateMaster で有効化されたモデルのみが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 強化レートモデルのリスト 実装例 getRateModel 強化レートモデルを取得 名前を指定して、現在有効化されている特定の強化レートモデルの詳細情報を取得します。 返されるモデルには、対象インベントリモデルID、素材インベントリモデルID、取得経験値サフィックス、取得経験値階層、経験値モデルID、ボーナスレート定義が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RateModel 強化レートモデル 実装例 describeUnleashRateModels 限界突破レートモデルの一覧を取得 指定されたネームスペースで現在有効化（公開）されている限界突破レートモデルのリストを取得します。 各限界突破レートモデルは、対象インベントリモデル、グレードモデル、各グレードレベルに必要な素材を指定するグレードエントリを含む限界突破設定を定義します。 CurrentRateMaster で有効化されたモデルのみが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 限界突破レートモデルのリスト 実装例 getUnleashRateModel 限界突破レートモデルを取得 名前を指定して、現在有効化されている特定の限界突破レートモデルの詳細情報を取得します。 返されるモデルには、対象インベントリモデルID、グレードモデルID、限界突破の各グレードレベルに必要な素材要件を定義するグレードエントリが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 限界突破レートモデル名 限界突破レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item UnleashRateModel 限界突破レートモデル 実装例 exportMaster レートモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在のレートモデルマスターデータ（強化レートモデルと限界突破レートモデルの両方）を有効化に使用できる形式でエクスポートします。 エクスポートされたデータは、現在のマスター構成のバックアップや別のネームスペースへのインポートに使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentRateMaster 有効化可能なレートモデルのマスターデータ 実装例 getCurrentRateMaster 現在アクティブなレートモデルのマスターデータを取得 指定されたネームスペースで現在有効化（公開）されているレートモデル（強化レートモデルと限界突破レートモデルの両方）のマスターデータを取得します。 これは編集可能なマスターデータとは異なり、実際に本番で使用されている構成を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentRateMaster 現在アクティブなレートモデルのマスターデータ 実装例 preUpdateCurrentRateMaster 現在アクティブなレートモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentRateMaster 現在アクティブなレートモデルのマスターデータを更新 指定されたネームスペースのレートモデルのマスターデータを更新し有効化（公開）します。 2つのモードをサポートしています：インラインのマスターデータ用の ‘direct’ モードと、事前にアップロードされたマスターデータ用の ‘preUpload’ モードです。 1MBを超えるマスターデータの場合は、3フェーズの更新フロー（PreUpdate -\u003e アップロード -\u003e Update（preUpload モード））を使用してください。 アップロードされたマスターデータは適用前に検証されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentRateMaster 更新された現在アクティブなレートモデルのマスターデータ 実装例 updateCurrentRateMasterFromGitHub 現在アクティブなレートモデルのマスターデータをGitHubから更新 GitHub リポジトリから直接マスターデータを取得して更新・有効化（公開）します。 チェックアウト設定には、使用するリポジトリ、ブランチ/タグ、ファイルパスを指定します。 マスターデータをバージョン管理で管理し、直接デプロイする場合に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentRateMaster 更新された現在アクティブなレートモデルのマスターデータ 実装例 describeRateModelMasters 強化レートモデルマスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能な強化レートモデルマスターのページネーション付きリストを取得します。 強化レートモデルマスターは強化レート設定の編集可能な定義です。マスターへの変更は、CurrentRateMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 強化レート名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 強化レートモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createRateModelMaster 強化レートモデルマスターを新規作成 新しい編集可能な強化レートモデルマスター定義を作成します。 レートモデルは対象インベントリモデル、素材インベントリモデル、経験値階層、経験値サフィックス、経験値モデル、ボーナスレートを定義します。 ボーナスレートは強化実行時に経験値倍率が適用される確率を定義します。 変更は CurrentRateMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 targetInventoryModelId string  ~ 1024文字 強化対象に使用できる GS2-Inventory インベントリモデルの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN acquireExperienceSuffix string  ~ 1024文字 GS2-Experience で入手した経験値を格納するプロパティID に付与するサフィックス アイテムのプロパティ ID の末尾に追加され、経験値が保存される GS2-Experience のプロパティ ID を構成する文字列です。同じアイテムに複数の経験値種別を持たせることができます（例: キャラクターレベルの “level”、好感度の “like”）。 materialInventoryModelId string  ~ 1024文字 強化の素材に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN acquireExperienceHierarchy List 0 ~ 10 items ItemModelのメタデータに格納する、入手経験値を定義するJSONデータの階層構造の定義 GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 例えば、{ “aaa”: { “bbb”: { “experienceValue”: 100 } } } というような構造のデータ定義でメタデータに設定したい場合は、[ “aaa”, “bbb”, “experienceValue” ] のように指定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 experienceModelId string  ~ 1024文字 強化の結果得られる GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN bonusRates List 0 ~ 1000 items 経験値獲得量ボーナス 強化時のボーナス経験値倍率の重み付き抽選を定義します。各エントリは倍率（例: 1.5 で 150%）と排出重みを指定します。強化実行時に重み付き抽選で1つのエントリが選択され、「大成功」ボーナスが獲得経験値に適用されるかどうかが決定されます。 Result 型 説明 item RateModelMaster 作成した強化レートモデルマスター 実装例 getRateModelMaster 強化レートモデルマスターを取得 名前を指定して、特定の編集可能な強化レートモデルマスターの詳細情報を取得します。 有効化前のマスター定義の閲覧・編集に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RateModelMaster 強化レートモデルマスター 実装例 updateRateModelMaster 強化レートモデルマスターを更新 既存の強化レートモデルマスターの説明、メタデータ、対象インベントリモデル、素材インベントリモデル、経験値階層、経験値サフィックス、経験値モデル、ボーナスレートを更新します。 レートモデル名は作成後に変更できません。 変更は CurrentRateMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 targetInventoryModelId string  ~ 1024文字 強化対象に使用できる GS2-Inventory インベントリモデルの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN acquireExperienceSuffix string  ~ 1024文字 GS2-Experience で入手した経験値を格納するプロパティID に付与するサフィックス アイテムのプロパティ ID の末尾に追加され、経験値が保存される GS2-Experience のプロパティ ID を構成する文字列です。同じアイテムに複数の経験値種別を持たせることができます（例: キャラクターレベルの “level”、好感度の “like”）。 materialInventoryModelId string  ~ 1024文字 強化の素材に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN acquireExperienceHierarchy List 0 ~ 10 items ItemModelのメタデータに格納する、入手経験値を定義するJSONデータの階層構造の定義 GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 例えば、{ “aaa”: { “bbb”: { “experienceValue”: 100 } } } というような構造のデータ定義でメタデータに設定したい場合は、[ “aaa”, “bbb”, “experienceValue” ] のように指定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 experienceModelId string  ~ 1024文字 強化の結果得られる GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN bonusRates List 0 ~ 1000 items 経験値獲得量ボーナス 強化時のボーナス経験値倍率の重み付き抽選を定義します。各エントリは倍率（例: 1.5 で 150%）と排出重みを指定します。強化実行時に重み付き抽選で1つのエントリが選択され、「大成功」ボーナスが獲得経験値に適用されるかどうかが決定されます。 Result 型 説明 item RateModelMaster 更新した強化レートモデルマスター 実装例 deleteRateModelMaster 強化レートモデルマスターを削除 編集可能な強化レートモデルマスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RateModelMaster 削除した強化レートモデルマスター 実装例 describeUnleashRateModelMasters 限界突破レートモデルマスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能な限界突破レートモデルマスターのページネーション付きリストを取得します。 限界突破レートモデルマスターは限界突破レート設定の編集可能な定義です。マスターへの変更は、CurrentRateMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 限界突破レート名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 限界突破レートモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createUnleashRateModelMaster 限界突破レートモデルマスターを新規作成 新しい編集可能な限界突破レートモデルマスター定義を作成します。 限界突破レートモデルは対象インベントリモデル、グレードモデル、各グレードレベルに必要な素材を指定するグレードエントリを定義します。 グレードエントリはグレード値とそのグレードへの限界突破に必要な素材要件をマッピングします。 変更は CurrentRateMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 限界突破レートモデル名 限界突破レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 GS2 の動作には一切影響を与えませんので、ゲーム内で使用する値の保管場所として利用してください。 targetInventoryModelId string  ~ 1024文字 限界突破対象に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN gradeModelId string  ~ 1024文字 グレードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN gradeEntries List  1 ~ 1000 items グレードエントリリスト 限界突破の各グレードレベルに対する素材コストを定義します。各エントリはグレード値と、そのグレードに到達するために消費する必要がある同種アイテム数をマッピングします。 Result 型 説明 item UnleashRateModelMaster 作成した限界突破レートモデルマスター 実装例 getUnleashRateModelMaster 限界突破レートモデルマスターを取得 名前を指定して、特定の編集可能な限界突破レートモデルマスターの詳細情報を取得します。 有効化前のマスター定義の閲覧・編集に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 限界突破レートモデル名 限界突破レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item UnleashRateModelMaster 限界突破レートモデルマスター 実装例 updateUnleashRateModelMaster 限界突破レートモデルマスターを更新 既存の限界突破レートモデルマスターの説明、メタデータ、対象インベントリモデル、グレードモデル、グレードエントリを更新します。 限界突破レートモデル名は作成後に変更できません。 変更は CurrentRateMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 限界突破レートモデル名 限界突破レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 GS2 の動作には一切影響を与えませんので、ゲーム内で使用する値の保管場所として利用してください。 targetInventoryModelId string  ~ 1024文字 限界突破対象に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN gradeModelId string  ~ 1024文字 グレードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN gradeEntries List  1 ~ 1000 items グレードエントリリスト 限界突破の各グレードレベルに対する素材コストを定義します。各エントリはグレード値と、そのグレードに到達するために消費する必要がある同種アイテム数をマッピングします。 Result 型 説明 item UnleashRateModelMaster 更新した限界突破レートモデルマスター 実装例 deleteUnleashRateModelMaster 限界突破レートモデルマスターを削除 編集可能な限界突破レートモデルマスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 限界突破レートモデル名 限界突破レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item UnleashRateModelMaster 削除した限界突破レートモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Enhance SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Enhance SDK API リファレンス","url":"/ja/api_reference/enhance/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 enableDirectExchange bool true 直接交換 API の呼び出しを許可する 有効にすると、クライアントが交換 API を直接呼び出してリソース交換を実行できます。無効にすると、トランザクションアクション経由でのみ交換がトリガーされ、交換発生のサーバーサイド制御がより厳密になります。 enableAwaitExchange bool false 交換結果の受け取りに待ち時間の発生する交換機能を利用するか 有効にすると、 await タイミングタイプの交換レートモデルが利用可能になります。これらの交換は報酬を受け取る前に実時間の経過が必要で、プレイヤーが結果を待つ必要のあるクラフトや生産系の仕組みを実現できます。 transactionSetting TransactionSetting  トランザクション設定 交換操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 exchangeScript ScriptSetting 交換を実行しようとしたときに実行するスクリプトの設定 Script トリガーリファレンス - exchange incrementalExchangeScript ScriptSetting レート上昇型交換を実行しようとしたときに実行するスクリプトの設定 Script トリガーリファレンス - incrementalExchange acquireAwaitScript ScriptSetting 待機方式の交換処理で、待機が完了し報酬を受け取ろうとしたときに実行するスクリプトの設定 Script トリガーリファレンス - acquireAwait logSetting LogSetting ログの出力設定 交換操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、交換、コスト上昇型交換、待機操作の API リクエスト・レスポンスログを収集できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Await 交換待機 報酬を受け取る前に実時間の経過が必要な交換の実行状態を表します。プレイヤーが await タイミングタイプの交換を開始した際に作成され、報酬が利用可能になるまでの待機期間を追跡します。待ち時間を短縮または解消するスキップ機能をサポートし、報酬取得時のデフォルト設定値を保存します。 詳細  awaitId string ※ ~ 1024文字 交換待機 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID rateName string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 count int 1 1 ~ 10000 交換数 この交換を実行する回数です。複数回の交換を1つの待機にまとめることができ、消費されるコストと受け取る報酬の両方が乗算されます。 skipSeconds int 0 0 ~ 2147483646 スキップ秒数 待ち時間から差し引く秒数です。スキップ秒数が適用されると、acquirableAt のタイムスタンプがこの分だけ前倒しされます。プレイヤーがリソースを支払って待ち時間を短縮する仕組みを実装するために使用されます。 config List [] 0 ~ 32 items 報酬取得時に適用するデフォルト設定値 待機完了時に報酬が配布される際にトランザクションのプレースホルダ変数として使用されるキーと値のペアです。これらの値は交換開始時に設定され、入手アクションのトランザクションパラメータに適用されます。 acquirableAt long 報酬を受け取れるようになる時間 待機期間が満了し報酬が受け取り可能になるタイムスタンプです。exchangedAt + lockTime - skipSeconds として計算されます。現在時刻がこのタイムスタンプを過ぎると、プレイヤーは取得 API を呼び出せるようになります。 exchangedAt long 交換時間 交換が開始され待機が作成されたタイムスタンプです。報酬が利用可能になる時刻を計算するための基準時刻として使用されます（acquirableAt = exchangedAt + lockTime - skipSeconds）。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン RateModel 交換レートモデル 交換レートモデルはリソースとリソースを交換する際に使用するレートを定義するエンティティです。 直ちに交換できるレートだけでなく、現実時間で一定時間経過したのちに交換できるレートを設定できます。 現実時間での時間経過が必要な交換レートには、更に即時交換を実行するために必要なリソースを定義することが可能です。 詳細  rateModelId string ※ ~ 1024文字 交換レートモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト 交換が実行される前にすべてパスする必要がある事前条件チェックです。いずれかの検証アクションが失敗すると、リソースを消費せずに交換が中止されます。レベル要件やインベントリ容量などの条件を強制するために使用されます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト この交換を実行するためにプレイヤーが支払う必要があるリソース（コスト）を定義します。複数の消費アクションを指定でき、ゴールドとアイテムの両方を必要とするような複雑な交換コストを実現できます。これらのアクションは分散トランザクション内の消費アクションとして実行されます。 timingType 文字列列挙型 enum {   “immediate”,   “await” } “immediate” 交換の種類 交換実行後に報酬がいつ配送されるかを決定します。 immediate は交換実行時に即座に報酬を配送します。 await は報酬を受け取る前に実時間の経過が必要で、待機期間（例: クラフト時間）を設けます。 定義 説明 “immediate” 即時 “await” 現実時間の経過待ち lockTime int {timingType} == “await” ※ 0 ~ 538214400 交換実行から実際に報酬を受け取れるようになるまでの待ち時間（分） timingType が await の場合にのみ適用されます。交換が開始されてからプレイヤーが報酬を受け取れるようになるまでに経過する必要がある実時間の分数を指定します。待ち時間はスキップ機能を使用して短縮できます。 ※ timingType が “await” であれば 必須 acquireActions List [] 0 ~ 100 items 入手アクションリスト 交換完了時にプレイヤーが受け取るリソース（報酬）を定義します。複数の入手アクションを指定して、さまざまなリソースタイプを同時に付与できます。これらのアクションは分散トランザクション内の入手アクションとして実行されます。 IncrementalRateModel コスト上昇型交換レートモデル 通常の交換レートは常に一定のレートでの交換を提供します。 上昇型交換レートでは、交換回数に応じてコストが上昇していくレートを定義することができます。 例えば、1回目の交換では 1:1 で交換できるが、2回目の交換では 2:1 で交換できる、といったレートを定義することができます。 このようなレートを定義することで、プレイヤーがゲームを進めることで得られるリソースの価値を上げることができます。 交換回数は現実時間の経過でリセットすることができます。 この機能を利用することで、毎日あるいは毎週交換に必要なコストをリセットすることができます。 詳細  incrementalRateModelId string ※ ~ 1024文字 コスト上昇型交換レートモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 consumeAction ConsumeAction  消費アクション（数量/値は自動的に上書きされます） 交換のコストとして消費されるリソースの種類を定義します。実際の数量は交換回数と計算方式（線形、べき乗、スクリプト）に基づいて動的に計算されます。アクションの種類と対象リソースのみ指定すればよく、数量フィールドは自動的に上書きされます。 calculateType 文字列列挙型 enum {   “linear”,   “power”,   “gs2_script” }  コスト上昇量の計算方式 交換回数に応じてコストがどのように上昇するかを決定します。 linear はコストを baseValue +（coefficientValue × 交換回数）として計算します。 power はコストを coefficientValue ×（交換回数 + 1）^2 として計算します。 gs2_script は任意のロジックのためにカスタム GS2-Script に計算を委任します。 定義 説明 “linear” ベース値 + (係数 * 交換回数) “power” 係数 * (交換回数 + 1) ^ 2 “gs2_script” GS2-Script による任意のロジック baseValue long {calculateType} == “linear” ※ 0 ~ 9223372036854775805 ベース値 linear 計算方式を使用する場合の初回交換時の基本コストです。合計コストは baseValue +（coefficientValue × 交換回数）として計算されます。 ※ calculateType が “linear” であれば 必須 coefficientValue long {calculateType} in [“linear”, “power”] ※ 0 ~ 9223372036854775805 係数 交換回数に応じてコストがどれだけ速く上昇するかを制御する乗数です。 linear モードでは、各交換でこの値がコストに加算されます。 power モードでは、コストは coefficientValue ×（交換回数 + 1）^2 として計算されます。 ※ calculateType が “linear”,“power\"であれば 必須 calculateScriptId string {calculateType} == “gs2_script” ※ ~ 1024文字 コスト計算スクリプトの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - calculateCost ※ calculateType が “gs2_script” であれば 必須 exchangeCountId string  ~ 1024文字 交換実行回数を管理する GS2-Limit の回数制限モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 各ユーザーがこのコスト上昇型交換を何回実行したかを追跡する GS2-Limit の回数制限モデルを参照します。カウントは上昇するコストの計算に使用され、GS2-Limit のリセットタイミングを使用して定期的（例: 毎日または毎週）にリセットできます。 maximumExchangeCount int 2147483646 0 ~ 2147483646 交換回数の上限 ユーザーがこのコスト上昇型交換を実行できる最大回数です。交換回数がこの上限に達すると、GS2-Limit によるカウントリセットまでそれ以降の交換が拒否されます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト コスト上昇型交換の完了時にプレイヤーが受け取るリソース（報酬）を定義します。報酬は交換回数に関わらず一定で、コストのみが交換ごとに増加します。 LogCost 対数を使用したコスト計算結果 対数演算を使用して計算されたコスト値を表します。最終コストは、adds リストの対数値を合計し、subs リストの対数値を減算した後、指定された底を使用して対数形式から変換することで計算されます。オーバーフローを回避する精密な大数値コスト計算に使用されます。 詳細  base double  0 ~ 10 底 コスト計算に使用される対数の底です。adds および subs リストのすべての対数値はこの底を使用します。一般的な値は 2、e（約 2.718）、10 などです。 adds List  1 ~ 10000 items 加算する対数のリスト 最終コストにプラスに寄与する対数値です。これらの値は対数形式で合計された後、実際のコスト値に変換されます。対応する実数値を乗算することに相当します。 subs List 0 ~ 10000 items 減算する対数のリスト 最終コストを減少させる対数値です。これらの値は対数形式で減算され、adds リストの積から対応する実数値で除算することに相当します。 LogRate 対数を使用した入手量補正 対数演算を使用して計算された報酬量の補正値を表します。補正係数は、logs リストの対数値を合計し、指定された底を使用して変換することで計算されます。精密な大数値演算を使用して入手量に倍率を適用するために使用されます。 詳細  base double  0 ~ 10 底 入手量補正計算に使用される対数の底です。logs リストのすべての対数値はこの底を使用します。 logs List  1 ~ 10000 items 対数のリスト 入手量補正係数を計算するために合計される対数値です。合計は対数形式から変換され、報酬量に適用される最終倍率が算出されます。 AcquireAction 入手アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 ConsumeAction 消費アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 Config コンフィグ設定 トランザクションの変数に適用する設定値 詳細  key string  ~ 64文字 名前 value string ~ 51200文字 値 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか CurrentRateMaster 現在アクティブなレートモデルのマスターデータ 現在ネームスペース内で有効な、レートモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Exchange マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ RateModelMaster 交換レートモデルマスター 交換レートモデルマスターは、ゲーム内で使用される交換レートモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される交換レートモデルとして反映されます。 交換レートモデルはリソースとリソースを交換する際に使用するレートを定義するエンティティです。 直ちに交換できるレートだけでなく、現実時間で一定時間経過したのちに交換できるレートを設定できます。 現実時間での時間経過が必要な交換レートには、更に即時交換を実行するために必要なリソースを定義することが可能です。 詳細  rateModelId string ※ ~ 1024文字 交換レートモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト 交換が実行される前にすべてパスする必要がある事前条件チェックです。いずれかの検証アクションが失敗すると、リソースを消費せずに交換が中止されます。レベル要件やインベントリ容量などの条件を強制するために使用されます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト この交換を実行するためにプレイヤーが支払う必要があるリソース（コスト）を定義します。複数の消費アクションを指定でき、ゴールドとアイテムの両方を必要とするような複雑な交換コストを実現できます。これらのアクションは分散トランザクション内の消費アクションとして実行されます。 timingType 文字列列挙型 enum {   “immediate”,   “await” } “immediate” 交換の種類 交換実行後に報酬がいつ配送されるかを決定します。 immediate は交換実行時に即座に報酬を配送します。 await は報酬を受け取る前に実時間の経過が必要で、待機期間（例: クラフト時間）を設けます。 定義 説明 “immediate” 即時 “await” 現実時間の経過待ち lockTime int {timingType} == “await” ※ 0 ~ 538214400 交換実行から実際に報酬を受け取れるようになるまでの待ち時間（分） timingType が await の場合にのみ適用されます。交換が開始されてからプレイヤーが報酬を受け取れるようになるまでに経過する必要がある実時間の分数を指定します。待ち時間はスキップ機能を使用して短縮できます。 ※ timingType が “await” であれば 必須 acquireActions List [] 0 ~ 100 items 入手アクションリスト 交換完了時にプレイヤーが受け取るリソース（報酬）を定義します。複数の入手アクションを指定して、さまざまなリソースタイプを同時に付与できます。これらのアクションは分散トランザクション内の入手アクションとして実行されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン IncrementalRateModelMaster コスト上昇型交換レートモデルマスター コスト上昇型交換レートモデルマスターは、ゲーム内で使用されるコスト上昇型交換レートモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるコスト上昇型交換レートモデルとして反映されます。 通常の交換レートは常に一定のレートでの交換を提供します。 上昇型交換レートでは、交換回数に応じてコストが上昇していくレートを定義することができます。 例えば、1回目の交換では 1:1 で交換できるが、2回目の交換では 2:1 で交換できる、といったレートを定義することができます。 このようなレートを定義することで、プレイヤーがゲームを進めることで得られるリソースの価値を上げることができます。 交換回数は現実時間の経過でリセットすることができます。 この機能を利用することで、毎日あるいは毎週交換に必要なコストをリセットすることができます。 詳細  incrementalRateModelId string ※ ~ 1024文字 コスト上昇型交換レートモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 consumeAction ConsumeAction  消費アクション（数量/値は自動的に上書きされます） 交換のコストとして消費されるリソースの種類を定義します。実際の数量は交換回数と計算方式（線形、べき乗、スクリプト）に基づいて動的に計算されます。アクションの種類と対象リソースのみ指定すればよく、数量フィールドは自動的に上書きされます。 calculateType 文字列列挙型 enum {   “linear”,   “power”,   “gs2_script” }  コスト上昇量の計算方式 交換回数に応じてコストがどのように上昇するかを決定します。 linear はコストを baseValue +（coefficientValue × 交換回数）として計算します。 power はコストを coefficientValue ×（交換回数 + 1）^2 として計算します。 gs2_script は任意のロジックのためにカスタム GS2-Script に計算を委任します。 定義 説明 “linear” ベース値 + (係数 * 交換回数) “power” 係数 * (交換回数 + 1) ^ 2 “gs2_script” GS2-Script による任意のロジック baseValue long {calculateType} == “linear” ※ 0 ~ 9223372036854775805 ベース値 linear 計算方式を使用する場合の初回交換時の基本コストです。合計コストは baseValue +（coefficientValue × 交換回数）として計算されます。 ※ calculateType が “linear” であれば 必須 coefficientValue long {calculateType} in [“linear”, “power”] ※ 0 ~ 9223372036854775805 係数 交換回数に応じてコストがどれだけ速く上昇するかを制御する乗数です。 linear モードでは、各交換でこの値がコストに加算されます。 power モードでは、コストは coefficientValue ×（交換回数 + 1）^2 として計算されます。 ※ calculateType が “linear”,“power\"であれば 必須 calculateScriptId string {calculateType} == “gs2_script” ※ ~ 1024文字 コスト計算スクリプトの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - calculateCost ※ calculateType が “gs2_script” であれば 必須 exchangeCountId string  ~ 1024文字 交換実行回数を管理する GS2-Limit の回数制限モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 各ユーザーがこのコスト上昇型交換を何回実行したかを追跡する GS2-Limit の回数制限モデルを参照します。カウントは上昇するコストの計算に使用され、GS2-Limit のリセットタイミングを使用して定期的（例: 毎日または毎週）にリセットできます。 maximumExchangeCount int 2147483646 0 ~ 2147483646 交換回数の上限 ユーザーがこのコスト上昇型交換を実行できる最大回数です。交換回数がこの上限に達すると、GS2-Limit によるカウントリセットまでそれ以降の交換が拒否されます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト コスト上昇型交換の完了時にプレイヤーが受け取るリソース（報酬）を定義します。報酬は交換回数に関わらず一定で、コストのみが交換ごとに増加します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 enableAwaitExchange bool false 交換結果の受け取りに待ち時間の発生する交換機能を利用するか 有効にすると、 await タイミングタイプの交換レートモデルが利用可能になります。これらの交換は報酬を受け取る前に実時間の経過が必要で、プレイヤーが結果を待つ必要のあるクラフトや生産系の仕組みを実現できます。 enableDirectExchange bool true 直接交換 API の呼び出しを許可する 有効にすると、クライアントが交換 API を直接呼び出してリソース交換を実行できます。無効にすると、トランザクションアクション経由でのみ交換がトリガーされ、交換発生のサーバーサイド制御がより厳密になります。 transactionSetting TransactionSetting  トランザクション設定 交換操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 exchangeScript ScriptSetting 交換を実行しようとしたときに実行するスクリプトの設定 Script トリガーリファレンス - exchange incrementalExchangeScript ScriptSetting レート上昇型交換を実行しようとしたときに実行するスクリプトの設定 Script トリガーリファレンス - incrementalExchange acquireAwaitScript ScriptSetting 待機方式の交換処理で、待機が完了し報酬を受け取ろうとしたときに実行するスクリプトの設定 Script トリガーリファレンス - acquireAwait logSetting LogSetting ログの出力設定 交換操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、交換、コスト上昇型交換、待機操作の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 enableAwaitExchange bool false 交換結果の受け取りに待ち時間の発生する交換機能を利用するか 有効にすると、 await タイミングタイプの交換レートモデルが利用可能になります。これらの交換は報酬を受け取る前に実時間の経過が必要で、プレイヤーが結果を待つ必要のあるクラフトや生産系の仕組みを実現できます。 enableDirectExchange bool true 直接交換 API の呼び出しを許可する 有効にすると、クライアントが交換 API を直接呼び出してリソース交換を実行できます。無効にすると、トランザクションアクション経由でのみ交換がトリガーされ、交換発生のサーバーサイド制御がより厳密になります。 transactionSetting TransactionSetting  トランザクション設定 交換操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 exchangeScript ScriptSetting 交換を実行しようとしたときに実行するスクリプトの設定 Script トリガーリファレンス - exchange incrementalExchangeScript ScriptSetting レート上昇型交換を実行しようとしたときに実行するスクリプトの設定 Script トリガーリファレンス - incrementalExchange acquireAwaitScript ScriptSetting 待機方式の交換処理で、待機が完了し報酬を受け取ろうとしたときに実行するスクリプトの設定 Script トリガーリファレンス - acquireAwait logSetting LogSetting ログの出力設定 交換操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、交換、コスト上昇型交換、待機操作の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 exchange 交換を実行 指定された交換レートモデルに基づいてリソース交換を実行します。 レートモデルのタイミングタイプを検証します：‘immediate’ タイミングの場合はネームスペースで直接交換が有効である必要があり、‘await’ タイミングの場合は待機交換が有効である必要があります。 レートモデルで定義された消費・検証・入手アクションを指定回数分実行するトランザクションが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン count int  1 ~ 1073741821 交換回数 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item RateModel 交換レートモデル transactionId string 発行されたトランザクションID stampSheet string 交換処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 exchangeByUserId ユーザーIDを指定して交換を実行 指定されたユーザーに対して、指定された交換レートモデルに基づいてリソース交換を実行します。 レートモデルのタイミングタイプを検証します：‘immediate’ タイミングの場合はネームスペースで直接交換が有効である必要があり、‘await’ タイミングの場合は待機交換が有効である必要があります。 レートモデルで定義された消費・検証・入手アクションを指定回数分実行するトランザクションが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID count int  1 ~ 1073741821 交換回数 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item RateModel 交換レートモデル transactionId string 発行されたトランザクションID stampSheet string 交換処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 incrementalExchange コスト上昇型交換を実行 指定されたコスト上昇型交換レートモデルに基づいて、実行回数に応じてコストが段階的に上昇するリソース交換を実行します。 消費コストはモデルの計算タイプ（線形計算式またはGS2-Script）と現在の交換回数に基づいて計算されます。 消費・入手アクションを実行するトランザクションが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン count int  1 ~ 1073741821 交換回数 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item IncrementalRateModel コスト上昇型交換レートモデル transactionId string 発行されたトランザクションID stampSheet string 交換処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 incrementalExchangeByUserId ユーザーIDを指定してコスト上昇型交換を実行 指定されたユーザーに対して、指定されたコスト上昇型交換レートモデルに基づいて、実行回数に応じてコストが段階的に上昇するリソース交換を実行します。 消費コストはモデルの計算タイプ（線形計算式またはGS2-Script）と現在の交換回数に基づいて計算されます。 消費・入手アクションを実行するトランザクションが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID count int  1 ~ 1073741821 交換回数 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item IncrementalRateModel コスト上昇型交換レートモデル transactionId string 発行されたトランザクションID stampSheet string 交換処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 createAwaitByUserId ユーザーIDを指定して交換待機を作成 時間待機型交換の新しい交換待機レコードを作成します。 指定されたレートモデルのタイミングタイプは ‘await’ である必要があり、そうでない場合はリクエストが拒否されます。 待機はスキップ秒数ゼロで開始され、レートモデルで定義されたロック時間が報酬取得までのユーザーの待機時間を決定します。 作成時にデフォルトの設定値を指定でき、取得時に提供される設定値とマージされます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rateName string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 count int 1 1 ~ 10000 交換数 この交換を実行する回数です。複数回の交換を1つの待機にまとめることができ、消費されるコストと受け取る報酬の両方が乗算されます。 config List [] 0 ~ 32 items 報酬取得時に適用するデフォルト設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Await 交換待機 実装例 describeAwaits 交換待機の一覧を取得 認証されたユーザーの交換待機レコードのページネーション付きリストを取得します。 オプションでレート名を指定して特定の交換レートの待機のみをフィルタリングできます。 各待機レコードにはレート名、交換回数、スキップ秒数、タイミング情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rateName string ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 交換待機のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeAwaitsByUserId ユーザーIDを指定して交換待機の一覧を取得 指定されたユーザーの交換待機レコードのページネーション付きリストを取得します。 オプションでレート名を指定して特定の交換レートの待機のみをフィルタリングできます。 各待機レコードにはレート名、交換回数、スキップ秒数、タイミング情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rateName string ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 交換待機のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getAwait 交換待機を取得 認証されたユーザーの特定の交換待機レコードの詳細情報を取得します。 返される待機情報にはレート名、交換回数、現在のスキップ秒数、作成・取得タイミングが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 Result 型 説明 item Await 交換待機 実装例 getAwaitByUserId ユーザーIDを指定して交換待機を取得 指定されたユーザーの特定の交換待機レコードの詳細情報を取得します。 返される待機情報にはレート名、交換回数、現在のスキップ秒数、作成・取得タイミングが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Await 交換待機 実装例 acquire 交換待機の報酬を取得 完了した交換待機の報酬を取得します。 報酬を請求するには、待機がロック時間（スキップ秒数による調整後）を経過している必要があります。 提供された設定値は待機作成時に設定されたデフォルト設定値とマージされます。 レートモデルで定義された入手アクションを実行するトランザクションが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item Await 交換待機 transactionId string 発行されたトランザクションID stampSheet string 報酬取得処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 acquireByUserId ユーザーIDを指定して交換待機の報酬を取得 指定されたユーザーの完了した交換待機の報酬を取得します。 報酬を請求するには、待機がロック時間（スキップ秒数による調整後）を経過している必要があります。 提供された設定値は待機作成時に設定されたデフォルト設定値とマージされます。 レートモデルで定義された入手アクションを実行するトランザクションが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Await 交換待機 transactionId string 発行されたトランザクションID stampSheet string 報酬取得処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 acquireForceByUserId 交換待機の報酬を、待機時間の判定を行わず強制取得 ロック時間が経過しているかどうかに関係なく、交換待機の報酬を強制的に取得します。 通常の待機時間チェックをバイパスし、即時に報酬を取得できます。 提供された設定値は待機作成時に設定されたデフォルト設定値とマージされます。 レートモデルで定義された入手アクションを実行するトランザクションが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Await 交換待機 transactionId string 発行されたトランザクションID stampSheet string 報酬取得処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 skipByUserId ユーザーIDを指定して交換待機をスキップ 交換待機の待機時間を加速またはスキップします。 4つのスキップタイプをサポートしています：‘complete’ は残りの待機時間を全てスキップし、‘minutes’ は指定した分数をスキップ秒数に加算し、’totalRate’ は全体のロック時間の割合をスキップし、‘remainRate’ は残りの待機時間の割合をスキップします。 スキップ秒数は合計ロック時間が上限となり、それを超えることはできません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 skipType 文字列列挙型 enum {   “complete”,   “minutes”,   “totalRate”,   “remainRate” } “complete” スキップ方法 定義 説明 “complete” 完全にスキップ “minutes” 時間を指定してスキップ(分) “totalRate” 全体の待機時間の割合を指定してスキップ “remainRate” 残りの待機時間の割合を指定してスキップ minutes int {skipType} == “minutes” 0 ~ 2147483646 スキップする分数 ※ skipType が “minutes” であれば有効 rate float {skipType} == “totalRate” or {skipType} == “remainRate” 0 ~ 1 スキップする待機時間の割合 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Await 交換待機 実装例 deleteAwait 交換待機を削除 認証されたユーザーの交換待機レコードを削除します。 保留中の交換がキャンセルされ、まだ取得されていない報酬は放棄されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 Result 型 説明 item Await 交換待機 実装例 deleteAwaitByUserId ユーザーIDを指定して交換待機を削除 指定されたユーザーの交換待機レコードを削除します。 保留中の交換がキャンセルされ、まだ取得されていない報酬は放棄されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Await 交換待機 実装例 describeRateModels 交換レートモデルの一覧を取得 指定されたネームスペースで現在有効化（公開）されている交換レートモデルのリストを取得します。 各レートモデルは、タイミングタイプ（即時または待機）、待機交換のロック時間、交換実行時に実行される消費・検証・入手アクションを含む交換設定を定義します。 CurrentRateMaster で有効化されたモデルのみが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 交換レートモデルのリスト 実装例 getRateModel 交換レートモデルを取得 名前を指定して、現在有効化されている特定の交換レートモデルの詳細情報を取得します。 返されるモデルには、タイミングタイプ、ロック時間、交換の動作を定義する消費・検証・入手アクションが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RateModel 交換レートモデル 実装例 describeIncrementalRateModels コスト上昇型交換レートモデルの一覧を取得 指定されたネームスペースで現在有効化（公開）されているコスト上昇型交換レートモデルのリストを取得します。 各モデルは、実行回数に応じてコストが段階的に上昇する交換を定義し、消費アクション、計算タイプ（線形またはGS2-Script）、基本値・係数値、入手アクションを含みます。 CurrentRateMaster で有効化されたモデルのみが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List コスト上昇型交換レートモデルのリスト 実装例 getIncrementalRateModel コスト上昇型交換レートモデルを取得 名前を指定して、現在有効化されている特定のコスト上昇型交換レートモデルの詳細情報を取得します。 返されるモデルには、消費アクション、計算タイプ、基本値、係数値、交換回数ID、最大交換回数、入手アクションが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item IncrementalRateModel コスト上昇型交換レートモデル 実装例 exportMaster レートモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在のレートモデルマスターデータ（交換レートモデルとコスト上昇型交換レートモデルの両方）を有効化に使用できる形式でエクスポートします。 エクスポートされたデータは、現在のマスター構成のバックアップや別のネームスペースへのインポートに使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentRateMaster 有効化可能なレートモデルのマスターデータ 実装例 getCurrentRateMaster 現在アクティブなレートモデルのマスターデータを取得 指定されたネームスペースで現在有効化（公開）されているレートモデル（交換レートモデルとコスト上昇型交換レートモデルの両方）のマスターデータを取得します。 これは編集可能なマスターデータとは異なり、実際に本番で使用されている構成を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentRateMaster 現在アクティブなレートモデルのマスターデータ 実装例 preUpdateCurrentRateMaster 現在アクティブなレートモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentRateMaster 現在アクティブなレートモデルのマスターデータを更新 指定されたネームスペースのレートモデルのマスターデータを更新し有効化（公開）します。 2つのモードをサポートしています：インラインのマスターデータ用の ‘direct’ モードと、事前にアップロードされたマスターデータ用の ‘preUpload’ モードです。 1MBを超えるマスターデータの場合は、3フェーズの更新フロー（PreUpdate -\u003e アップロード -\u003e Update（preUpload モード））を使用してください。 アップロードされたマスターデータは適用前に検証されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentRateMaster 更新された現在アクティブなレートモデルのマスターデータ 実装例 updateCurrentRateMasterFromGitHub 現在アクティブなレートモデルのマスターデータをGitHubから更新 GitHub リポジトリから直接マスターデータを取得して更新・有効化（公開）します。 チェックアウト設定には、使用するリポジトリ、ブランチ/タグ、ファイルパスを指定します。 マスターデータをバージョン管理で管理し、直接デプロイする場合に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentRateMaster 更新された現在アクティブなレートモデルのマスターデータ 実装例 describeRateModelMasters 交換レートモデルマスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能な交換レートモデルマスターのページネーション付きリストを取得します。 交換レートモデルマスターは交換レート設定の編集可能な定義です。マスターへの変更は、CurrentRateMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 交換レート名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 交換レートモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createRateModelMaster 交換レートモデルマスターを新規作成 新しい編集可能な交換レートモデルマスター定義を作成します。 レートモデルはタイミングタイプ（即時交換用の ‘immediate’、時間待機交換用の ‘await’）、待機交換のロック時間、交換実行時に実行される消費・検証・入手アクションを定義します。 変更は CurrentRateMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 timingType 文字列列挙型 enum {   “immediate”,   “await” } “immediate” 交換の種類 交換実行後に報酬がいつ配送されるかを決定します。 immediate は交換実行時に即座に報酬を配送します。 await は報酬を受け取る前に実時間の経過が必要で、待機期間（例: クラフト時間）を設けます。 定義 説明 “immediate” 即時 “await” 現実時間の経過待ち lockTime int {timingType} == “await” ※ 0 ~ 538214400 交換実行から実際に報酬を受け取れるようになるまでの待ち時間（分） timingType が await の場合にのみ適用されます。交換が開始されてからプレイヤーが報酬を受け取れるようになるまでに経過する必要がある実時間の分数を指定します。待ち時間はスキップ機能を使用して短縮できます。 ※ timingType が “await” であれば必須 acquireActions List [] 0 ~ 100 items 入手アクションリスト 交換完了時にプレイヤーが受け取るリソース（報酬）を定義します。複数の入手アクションを指定して、さまざまなリソースタイプを同時に付与できます。これらのアクションは分散トランザクション内の入手アクションとして実行されます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト 交換が実行される前にすべてパスする必要がある事前条件チェックです。いずれかの検証アクションが失敗すると、リソースを消費せずに交換が中止されます。レベル要件やインベントリ容量などの条件を強制するために使用されます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト この交換を実行するためにプレイヤーが支払う必要があるリソース（コスト）を定義します。複数の消費アクションを指定でき、ゴールドとアイテムの両方を必要とするような複雑な交換コストを実現できます。これらのアクションは分散トランザクション内の消費アクションとして実行されます。 Result 型 説明 item RateModelMaster 作成した交換レートモデルマスター 実装例 getRateModelMaster 交換レートモデルマスターを取得 名前を指定して、特定の編集可能な交換レートモデルマスターの詳細情報を取得します。 有効化前のマスター定義の閲覧・編集に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RateModelMaster 交換レートモデルマスター 実装例 updateRateModelMaster 交換レートモデルマスターを更新 既存の交換レートモデルマスターの説明、メタデータ、タイミングタイプ、ロック時間、消費・検証・入手アクションを更新します。 レートモデル名は作成後に変更できません。 変更は CurrentRateMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 timingType 文字列列挙型 enum {   “immediate”,   “await” } “immediate” 交換の種類 交換実行後に報酬がいつ配送されるかを決定します。 immediate は交換実行時に即座に報酬を配送します。 await は報酬を受け取る前に実時間の経過が必要で、待機期間（例: クラフト時間）を設けます。 定義 説明 “immediate” 即時 “await” 現実時間の経過待ち lockTime int {timingType} == “await” ※ 0 ~ 538214400 交換実行から実際に報酬を受け取れるようになるまでの待ち時間（分） timingType が await の場合にのみ適用されます。交換が開始されてからプレイヤーが報酬を受け取れるようになるまでに経過する必要がある実時間の分数を指定します。待ち時間はスキップ機能を使用して短縮できます。 ※ timingType が “await” であれば必須 acquireActions List [] 0 ~ 100 items 入手アクションリスト 交換完了時にプレイヤーが受け取るリソース（報酬）を定義します。複数の入手アクションを指定して、さまざまなリソースタイプを同時に付与できます。これらのアクションは分散トランザクション内の入手アクションとして実行されます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト 交換が実行される前にすべてパスする必要がある事前条件チェックです。いずれかの検証アクションが失敗すると、リソースを消費せずに交換が中止されます。レベル要件やインベントリ容量などの条件を強制するために使用されます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト この交換を実行するためにプレイヤーが支払う必要があるリソース（コスト）を定義します。複数の消費アクションを指定でき、ゴールドとアイテムの両方を必要とするような複雑な交換コストを実現できます。これらのアクションは分散トランザクション内の消費アクションとして実行されます。 Result 型 説明 item RateModelMaster 更新した交換レートモデルマスター 実装例 deleteRateModelMaster 交換レートモデルマスターを削除 編集可能な交換レートモデルマスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RateModelMaster 削除した交換レートモデルマスター 実装例 describeIncrementalRateModelMasters コスト上昇型交換レートモデルマスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能なコスト上昇型交換レートモデルマスターのページネーション付きリストを取得します。 コスト上昇型交換レートモデルマスターはコストが段階的に上昇する交換の編集可能な定義です。マスターへの変更は、CurrentRateMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 コスト上昇型交換レートモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List コスト上昇型交換レートモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createIncrementalRateModelMaster コスト上昇型交換レートモデルマスターを新規作成 新しい編集可能なコスト上昇型交換レートモデルマスター定義を作成します。 モデルは計算タイプに基づいてコストが上昇する消費アクションを定義します：’linear’（基本値 + 係数値 × 交換回数）または ‘gs2Script’（カスタム GS2-Script を使用）。 交換回数IDは交換の実行回数を追跡し、最大交換回数を設定して交換を制限できます。 変更は CurrentRateMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 consumeAction ConsumeAction  消費アクション（数量/値は自動的に上書きされます） 交換のコストとして消費されるリソースの種類を定義します。実際の数量は交換回数と計算方式（線形、べき乗、スクリプト）に基づいて動的に計算されます。アクションの種類と対象リソースのみ指定すればよく、数量フィールドは自動的に上書きされます。 calculateType 文字列列挙型 enum {   “linear”,   “power”,   “gs2_script” }  コスト上昇量の計算方式 交換回数に応じてコストがどのように上昇するかを決定します。 linear はコストを baseValue +（coefficientValue × 交換回数）として計算します。 power はコストを coefficientValue ×（交換回数 + 1）^2 として計算します。 gs2_script は任意のロジックのためにカスタム GS2-Script に計算を委任します。 定義 説明 “linear” ベース値 + (係数 * 交換回数) “power” 係数 * (交換回数 + 1) ^ 2 “gs2_script” GS2-Script による任意のロジック baseValue long {calculateType} == “linear” ※ 0 ~ 9223372036854775805 ベース値 linear 計算方式を使用する場合の初回交換時の基本コストです。合計コストは baseValue +（coefficientValue × 交換回数）として計算されます。 ※ calculateType が “linear” であれば必須 coefficientValue long {calculateType} in [“linear”, “power”] ※ 0 ~ 9223372036854775805 係数 交換回数に応じてコストがどれだけ速く上昇するかを制御する乗数です。 linear モードでは、各交換でこの値がコストに加算されます。 power モードでは、コストは coefficientValue ×（交換回数 + 1）^2 として計算されます。 ※ calculateType が “linear”,“power\"であれば 必須 calculateScriptId string {calculateType} == “gs2_script” ※ ~ 1024文字 コスト計算スクリプトの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ calculateType が “gs2_script” であれば必須 exchangeCountId string  ~ 1024文字 交換実行回数を管理する GS2-Limit の回数制限モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN maximumExchangeCount int 2147483646 0 ~ 2147483646 交換回数の上限 ユーザーがこのコスト上昇型交換を実行できる最大回数です。交換回数がこの上限に達すると、GS2-Limit によるカウントリセットまでそれ以降の交換が拒否されます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト コスト上昇型交換の完了時にプレイヤーが受け取るリソース（報酬）を定義します。報酬は交換回数に関わらず一定で、コストのみが交換ごとに増加します。 Result 型 説明 item IncrementalRateModelMaster 作成したコスト上昇型交換レートモデルマスター 実装例 getIncrementalRateModelMaster コスト上昇型交換レートモデルマスターを取得 名前を指定して、特定の編集可能なコスト上昇型交換レートモデルマスターの詳細情報を取得します。 有効化前のマスター定義の閲覧・編集に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item IncrementalRateModelMaster コスト上昇型交換レートモデルマスター 実装例 updateIncrementalRateModelMaster コスト上昇型交換レートモデルマスターを更新 既存のコスト上昇型交換レートモデルマスターの説明、メタデータ、消費アクション、計算タイプ、基本値・係数値、スクリプトID、交換回数ID、最大交換回数、入手アクションを更新します。 レートモデル名は作成後に変更できません。 変更は CurrentRateMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 consumeAction ConsumeAction  消費アクション（数量/値は自動的に上書きされます） 交換のコストとして消費されるリソースの種類を定義します。実際の数量は交換回数と計算方式（線形、べき乗、スクリプト）に基づいて動的に計算されます。アクションの種類と対象リソースのみ指定すればよく、数量フィールドは自動的に上書きされます。 calculateType 文字列列挙型 enum {   “linear”,   “power”,   “gs2_script” }  コスト上昇量の計算方式 交換回数に応じてコストがどのように上昇するかを決定します。 linear はコストを baseValue +（coefficientValue × 交換回数）として計算します。 power はコストを coefficientValue ×（交換回数 + 1）^2 として計算します。 gs2_script は任意のロジックのためにカスタム GS2-Script に計算を委任します。 定義 説明 “linear” ベース値 + (係数 * 交換回数) “power” 係数 * (交換回数 + 1) ^ 2 “gs2_script” GS2-Script による任意のロジック baseValue long {calculateType} == “linear” ※ 0 ~ 9223372036854775805 ベース値 linear 計算方式を使用する場合の初回交換時の基本コストです。合計コストは baseValue +（coefficientValue × 交換回数）として計算されます。 ※ calculateType が “linear” であれば必須 coefficientValue long {calculateType} in [“linear”, “power”] ※ 0 ~ 9223372036854775805 係数 交換回数に応じてコストがどれだけ速く上昇するかを制御する乗数です。 linear モードでは、各交換でこの値がコストに加算されます。 power モードでは、コストは coefficientValue ×（交換回数 + 1）^2 として計算されます。 ※ calculateType が “linear”,“power\"であれば 必須 calculateScriptId string {calculateType} == “gs2_script” ※ ~ 1024文字 コスト計算スクリプトの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ calculateType が “gs2_script” であれば必須 exchangeCountId string  ~ 1024文字 交換実行回数を管理する GS2-Limit の回数制限モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN maximumExchangeCount int 2147483646 0 ~ 2147483646 交換回数の上限 ユーザーがこのコスト上昇型交換を実行できる最大回数です。交換回数がこの上限に達すると、GS2-Limit によるカウントリセットまでそれ以降の交換が拒否されます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト コスト上昇型交換の完了時にプレイヤーが受け取るリソース（報酬）を定義します。報酬は交換回数に関わらず一定で、コストのみが交換ごとに増加します。 Result 型 説明 item IncrementalRateModelMaster 更新したコスト上昇型交換レートモデルマスター 実装例 deleteIncrementalRateModelMaster コスト上昇型交換レートモデルマスターを削除 編集可能なコスト上昇型交換レートモデルマスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item IncrementalRateModelMaster 削除したコスト上昇型交換レートモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Exchange SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Exchange SDK API リファレンス","url":"/ja/api_reference/exchange/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 経験値操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 rankCapScriptId string ~ 1024文字 ランクキャップを動的に決定するスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - / rankCapScript changeExperienceScript ScriptSetting 経験値変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeExperience changeRankScript ScriptSetting ランク変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeRank changeRankCapScript ScriptSetting ランクキャップ変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeRankCap overflowExperienceScript string ~ 1024文字 経験値あふれしたときに実行するスクリプトGRN Script トリガーリファレンス - overflowExperience logSetting LogSetting ログの出力設定 経験値操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、経験値変動、ランクアップ、ランクキャップ変更の API リクエスト・レスポンスログを収集できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Status ステータス ステータスとはプロパティID毎に存在するエンティティで、 現在の経験値やランクキャップの値を保持します。 プロパティID とはステータス固有のIDで、開発者が任意の値を設定できます。 GS2 では経験値を有する GS2-Inventory のアイテムセットGRN や GS2-Dictionary のエントリーGRN の後ろに 経験値モデルとなるサフィックスを追加した値をプロパティIDとすることを推奨しています。 詳細  statusId string ※ ~ 1024文字 ステータス GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 userId string  ~ 128文字 ユーザーID propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 experienceValue long 0 0 ~ 9223372036854775805 累計獲得経験値 このステータスが蓄積した合計経験値です。現在のランクはこの値からランクアップ閾値テーブルを使用して算出されます。現在のランクキャップに対応する閾値を超えて経験値を獲得することはできません。 rankValue long 0 0 ~ 9223372036854775805 現在のランク ランクアップ閾値テーブルを使用して累計経験値から算出されるランク（レベル）です。0 から開始し、経験値閾値を超えるごとに増加します。現在のランクキャップ値を超えることはできません。 rankCapValue long  0 ~ 9223372036854775805 現在のランクキャップ このステータスが現在到達できる最大ランクです。初期値は経験値モデルの defaultRankCap に設定され、限界突破などのランクキャップ増加操作により maxRankCap まで引き上げることができます。 nextRankUpExperienceValue long 0 0 ~ 9223372036854775805 次のランクアップの経験値量 次のランクに到達するために必要な累計経験値の閾値です。ステータスが既にランクキャップに到達している場合は 0 を返します。ゲーム UI でプログレスバーや残り経験値を表示するのに便利です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン ExperienceModel 経験値モデル 経験値とランクシステムのルールを定義します。ランクアップに必要な経験値の閾値、デフォルトのランクキャップ、最大ランクキャップを設定します。ランクキャップはステータスが到達できる最大ランクを制限し、ステータスごとに最大ランクキャップまで引き上げることができます（例: 限界突破）。オプションで、現在のランクに基づいて報酬倍率を調整する入手アクションレートテーブルを含めることができます。 詳細  experienceModelId string ※ ~ 1024文字 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 経験値モデル名 経験値モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultExperience long 0 0 ~ 9223372036854775805 経験値の初期値 新規作成されたステータスに割り当てられる経験値です。通常、プレイヤーが進行の最初から始めるように 0 に設定されます。初期ランクはこの値からランクアップ閾値テーブルを使用して決定されます。 defaultRankCap long  0 ~ 9223372036854775805 ランクキャップの初期値 新規作成されたステータスが到達できるデフォルトの最大ランクです。このランクの閾値を超えた経験値は破棄されるかオーバーフロースクリプトがトリガーされます。ランクキャップは限界突破などの操作により、ステータスごとに maxRankCap まで引き上げることができます。 maxRankCap long  0 ~ 9223372036854775805 ランクキャップの最大値 ランクキャップの絶対的な上限です。ランクキャップ増加操作（限界突破など）を行っても、ランクキャップはこの値を超えることはできません。defaultRankCap 以上の値である必要があります。 rankThreshold Threshold  ランクアップ閾値 各ランクに必要な累計経験値を定義する閾値テーブルを参照します。閾値のエントリ数が到達可能な最大ランクを決定し、各エントリの値は次のランクに到達するために必要な経験値を指定します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト ステータスのランクを参照として使用する際に報酬量を調整するランクベースの倍率テーブルを定義します。各テーブルはランクと倍率をマッピングし、同じアクションからより高ランクのキャラクターがより多くの報酬を受け取るような仕組みを実現できます。 Threshold ランクアップ閾値 ランクアップ閾値は経験値からランク（レベル）を決定するために必要な数列です。 [10, 20] という値を設定した場合、経験値の値が 1~9 の間はランク1、10~19 の間はランク2、経験値の値が 20 でランク3 となり、それ以上経験値を入手することが出来なくなります。 詳細  metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 values List  1 ~ 10000 items ランクアップ経験値閾値リスト ランク進行を定義する累計経験値の順序付き配列です。エントリ数が到達可能な最大ランクを決定します。例えば [10, 20] の場合、経験値 0〜9 でランク1、10〜19 でランク2、20 以上でランク3（それ以上の経験値獲得は不可）となります。 AcquireActionRate 報酬加算テーブル ステータスの現在のランクに基づいて報酬量を調整するランクベースの倍率テーブルを定義します。テーブルの各エントリはランクに対応し、入手量に適用される倍率を指定します。標準的な倍精度浮動小数点値と、大規模な計算用の大数値文字列表現の両方をサポートします。 詳細  name string  ~ 128文字 報酬加算テーブル名 この報酬加算テーブルの一意な識別子です。特定の入手アクションに適用する倍率テーブルを指定する際に参照されます。 mode 文字列列挙型 enum {   “double”,   “big” } “double” 報酬加算テーブルの種類 倍率値の数値精度を選択します。標準的な浮動小数点数（2^48 まで）には “double” を、大規模な計算が必要な場合は 1024 桁までの文字列表現をサポートする “big” を使用します。 定義 説明 “double” 2^48 未満の浮動小数点数 “big” 文字列表記で1024桁未満の浮動小数点数 rates List {mode} == “double” ※ 1 ~ 10000 items ランクごとの加算量(倍率) ランクをインデックスとする倍率値の配列です。i 番目のエントリはステータスがランク i の時に適用される報酬倍率を定義します。mode が “double” に設定されている場合に使用されます。 ※ mode が “double” であれば 必須 bigRates List {mode} == “big” ※ 1 ~ 10000 items ランクごとの加算量(倍率) ランクをインデックスとする文字列表現の倍率値の配列です。i 番目のエントリはステータスがランク i の時に適用される報酬倍率を定義します。大数値精度が必要な計算で mode が “big” に設定されている場合に使用されます。 ※ mode が “big” であれば 必須 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか AcquireAction 入手アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 CurrentExperienceMaster 現在アクティブな経験値モデルのマスターデータ 現在ネームスペース内で有効な、経験値モデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Experience マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ ExperienceModelMaster 経験値モデルマスター 経験値モデルマスターは、ゲーム内で使用される経験値モデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される経験値モデルとして反映されます。 経験値モデルとは、ランクアップに必要な経験値の閾値や、デフォルトのランクキャップ・最大ランクキャップ等を設定するエンティティです。 詳細  experienceModelId string ※ ~ 1024文字 経験値モデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 経験値モデル名 経験値モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultExperience long 0 0 ~ 9223372036854775805 経験値の初期値 新規作成されたステータスに割り当てられる経験値です。通常、プレイヤーが進行の最初から始めるように 0 に設定されます。初期ランクはこの値からランクアップ閾値テーブルを使用して決定されます。 defaultRankCap long  0 ~ 9223372036854775805 ランクキャップの初期値 新規作成されたステータスが到達できるデフォルトの最大ランクです。このランクの閾値を超えた経験値は破棄されるかオーバーフロースクリプトがトリガーされます。ランクキャップは限界突破などの操作により、ステータスごとに maxRankCap まで引き上げることができます。 maxRankCap long  0 ~ 9223372036854775805 ランクキャップの最大値 ランクキャップの絶対的な上限です。ランクキャップ増加操作（限界突破など）を行っても、ランクキャップはこの値を超えることはできません。defaultRankCap 以上の値である必要があります。 rankThresholdName string  ~ 128文字 ランクアップ閾値名 ランクアップ閾値固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト ステータスのランクを参照として使用する際に報酬量を調整するランクベースの倍率テーブルを定義します。各テーブルはランクと倍率をマッピングし、同じアクションからより高ランクのキャラクターがより多くの報酬を受け取るような仕組みを実現できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン ThresholdMaster ランクアップ閾値マスター ランクアップ閾値マスターは、ゲーム内で使用されるランクアップ閾値の編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるランクアップ閾値として反映されます。 ランクアップ閾値は経験値からランク（レベル）を決定するために必要な数列です。 [10, 20] という値を設定した場合、経験値の値が 1~9 の間はランク1 10~19 の間はランク2 経験値の値が 20 でランク3 となりそれ以上経験値を入手することが出来なくなります。 詳細  thresholdId string ※ ~ 1024文字 ランクアップ閾値マスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ランクアップ閾値名 ランクアップ閾値固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 values List  1 ~ 10000 items ランクアップ経験値閾値リスト ランク進行を定義する累計経験値の順序付き配列です。エントリ数が到達可能な最大ランクを決定します。例えば [10, 20] の場合、経験値 0〜9 でランク1、10〜19 でランク2、20 以上でランク3（それ以上の経験値獲得は不可）となります。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 経験値操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 rankCapScriptId string ~ 1024文字 ランクキャップを動的に決定するスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN changeExperienceScript ScriptSetting 経験値変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeExperience changeRankScript ScriptSetting ランク変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeRank changeRankCapScript ScriptSetting ランクキャップ変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeRankCap overflowExperienceScript string ~ 1024文字 経験値あふれしたときに実行するスクリプトGRN Script トリガーリファレンス - overflowExperience logSetting LogSetting ログの出力設定 経験値操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、経験値変動、ランクアップ、ランクキャップ変更の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 経験値操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 rankCapScriptId string ~ 1024文字 ランクキャップを動的に決定するスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN changeExperienceScript ScriptSetting 経験値変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeExperience changeRankScript ScriptSetting ランク変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeRank changeRankCapScript ScriptSetting ランクキャップ変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeRankCap overflowExperienceScript string ~ 1024文字 経験値あふれしたときに実行するスクリプトGRN Script トリガーリファレンス - overflowExperience logSetting LogSetting ログの出力設定 経験値操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、経験値変動、ランクアップ、ランクキャップ変更の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeStatuses ステータスの一覧を取得 リクエストしたユーザーの経験値ステータスのページネーション付きリストを取得します。 経験値モデル名でフィルタリングすることで、特定のモデルのステータスのみを取得できます。 各ステータスには、特定のプロパティの現在の経験値、ランク（閾値から算出）、ランクキャップが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 experienceName string ~ 128文字 経験値モデル名 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ステータスのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeStatusesByUserId ユーザーIDを指定してステータスの一覧を取得 指定されたユーザーの経験値ステータスのページネーション付きリストを取得します。 経験値モデル名でフィルタリングできます。各ステータスには、特定のプロパティの現在の経験値、ランク、ランクキャップが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 experienceName string ~ 128文字 経験値モデル名 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ステータスのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getStatus ステータスを取得 経験値モデル名とプロパティIDで識別される、リクエストしたユーザーの経験値ステータスを取得します。 現在の経験値、ランク（ランクアップ閾値により決定）、ランクキャップを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 Result 型 説明 item Status ステータス 実装例 getStatusByUserId ユーザーIDを指定してステータスを取得 経験値モデル名とプロパティIDで識別される、指定されたユーザーの経験値ステータスを取得します。 現在の経験値、ランク、ランクキャップを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステータス 実装例 getStatusWithSignature 署名情報と共にステータスを取得 指定された暗号鍵を使用して生成された暗号署名と共に経験値ステータスを取得します。 署名は外部システムやゲームクライアントでステータスデータの改ざん防止検証に使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item Status ステータス body string 検証対象のオブジェクト signature string 署名 実装例 getStatusWithSignatureByUserId ユーザーIDを指定して署名情報と共にステータスを取得 指定されたユーザーの経験値ステータスを暗号署名と共に取得します。 署名は指定された暗号鍵を使用して生成され、ステータスデータの安全な検証に使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステータス body string 検証対象のオブジェクト signature string 署名 実装例 addExperienceByUserId ユーザーIDを指定して経験値を加算 指定されたユーザーのステータスに経験値を加算します。ランクはランクアップ閾値に基づいて自動的に再計算されます。 truncateExperienceWhenRankUp が true の場合、ランクアップ時に閾値を超えた余剰経験値は切り捨てられます。false（デフォルト）の場合は次のランクに繰り越されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 experienceValue long 0 0 ~ 9223372036854775805 獲得経験値 truncateExperienceWhenRankUp bool? false ランクアップ時に残りの経験値を切り捨てるか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 加算後のステータス 実装例 subExperience 経験値を減算 リクエストしたユーザーのステータスから経験値を減算します。経験値は0を下回りません。 ランクはランクアップ閾値に基づいて自動的に再計算されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 experienceValue long 0 0 ~ 9223372036854775805 失う経験値 Result 型 説明 item Status 減算後のステータス 実装例 subExperienceByUserId ユーザーIDを指定して経験値を減算 指定されたユーザーのステータスから経験値を減算します。経験値は0を下回りません。 ランクはランクアップ閾値に基づいて自動的に再計算されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 experienceValue long 0 0 ~ 9223372036854775805 失う経験値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 減算後のステータス 実装例 setExperienceByUserId ユーザーIDを指定して経験値を設定 指定されたユーザーのステータスの経験値を指定の値に直接設定します。 更新前のステータスを ‘old’ として、更新後のステータスと共に返します。 ランクはランクアップ閾値に基づいて自動的に再計算されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 experienceValue long 0 0 ~ 9223372036854775805 累計獲得経験値 このステータスが蓄積した合計経験値です。現在のランクはこの値からランクアップ閾値テーブルを使用して算出されます。現在のランクキャップに対応する閾値を超えて経験値を獲得することはできません。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 更新後のステータス old Status 更新前のステータス 実装例 addRankCapByUserId ユーザーIDを指定してランクキャップを加算 指定されたユーザーのステータスのランクキャップを加算します。ランクキャップは経験値モデルで定義された maxRankCap を超えることはできません。 ランクキャップは、指定されたプロパティでユーザーが到達可能な最大ランクを決定します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rankCapValue long  0 ~ 9223372036854775805 現在のランクキャップ このステータスが現在到達できる最大ランクです。初期値は経験値モデルの defaultRankCap に設定され、限界突破などのランクキャップ増加操作により maxRankCap まで引き上げることができます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 加算後のステータス 実装例 subRankCap ランクキャップを減算 リクエストしたユーザーのステータスのランクキャップを減算します。ランクキャップは0を下回りません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rankCapValue long  0 ~ 9223372036854775805 現在のランクキャップ このステータスが現在到達できる最大ランクです。初期値は経験値モデルの defaultRankCap に設定され、限界突破などのランクキャップ増加操作により maxRankCap まで引き上げることができます。 Result 型 説明 item Status 減算後のステータス 実装例 subRankCapByUserId ユーザーIDを指定してランクキャップを減算 指定されたユーザーのステータスのランクキャップを減算します。ランクキャップは0を下回りません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rankCapValue long  0 ~ 9223372036854775805 現在のランクキャップ このステータスが現在到達できる最大ランクです。初期値は経験値モデルの defaultRankCap に設定され、限界突破などのランクキャップ増加操作により maxRankCap まで引き上げることができます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 減算後のステータス 実装例 setRankCapByUserId ユーザーIDを指定してランクキャップを設定 指定されたユーザーのステータスのランクキャップ値を指定の値に直接設定します。 更新前のステータスを ‘old’ として、更新後のステータスと共に返します。 ランクキャップは経験値モデルで定義された maxRankCap で上限が制限されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rankCapValue long  0 ~ 9223372036854775805 現在のランクキャップ このステータスが現在到達できる最大ランクです。初期値は経験値モデルの defaultRankCap に設定され、限界突破などのランクキャップ増加操作により maxRankCap まで引き上げることができます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 更新後のステータス old Status 更新前のステータス 実装例 deleteStatusByUserId ステータスを削除 指定されたユーザー、経験値モデル、プロパティの経験値ステータスを削除します。 指定されたプロパティのユーザーの経験値、ランク、ランクキャップがリセットされます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 削除したステータス 実装例 verifyRank ランクを検証 リクエストしたユーザーの現在のランクが指定された値に対する条件を満たすことを検証します。 6つの比較演算子をサポート：less、lessEqual、greater、greaterEqual、equal、notEqual。 検証条件を満たさない場合はエラー（BadRequest）を返します。ゲームロジックでの条件分岐処理に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” ランクが指定値未満であること “lessEqual” ランクが指定値以下であること “greater” ランクが指定値超過であること “greaterEqual” ランクが指定値以上であること “equal” ランクが指定値と一致すること “notEqual” ランクが指定値と一致しないこと propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rankValue long 0 0 ~ 9223372036854775805 現在のランク ランクアップ閾値テーブルを使用して累計経験値から算出されるランク（レベル）です。0 から開始し、経験値閾値を超えるごとに増加します。現在のランクキャップ値を超えることはできません。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Status 更新後のステータス 実装例 verifyRankByUserId ユーザーIDを指定してランクを検証 指定されたユーザーの現在のランクが指定された値に対する条件を満たすことを検証します。 6つの比較演算子をサポート：less、lessEqual、greater、greaterEqual、equal、notEqual。 検証条件を満たさない場合はエラー（BadRequest）を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” ランクが指定値未満であること “lessEqual” ランクが指定値以下であること “greater” ランクが指定値超過であること “greaterEqual” ランクが指定値以上であること “equal” ランクが指定値と一致すること “notEqual” ランクが指定値と一致しないこと propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rankValue long 0 0 ~ 9223372036854775805 現在のランク ランクアップ閾値テーブルを使用して累計経験値から算出されるランク（レベル）です。0 から開始し、経験値閾値を超えるごとに増加します。現在のランクキャップ値を超えることはできません。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 更新後のステータス 実装例 verifyRankCap ランクキャップを検証 リクエストしたユーザーの現在のランクキャップ（バフ効果を含む）が指定された値に対する条件を満たすことを検証します。 6つの比較演算子をサポート：less、lessEqual、greater、greaterEqual、equal、notEqual。 検証条件を満たさない場合はエラー（BadRequest）を返します。ゲームロジックでの条件分岐処理に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” ランクキャップが指定値未満であること “lessEqual” ランクキャップが指定値以下であること “greater” ランクキャップが指定値超過であること “greaterEqual” ランクキャップが指定値以上であること “equal” ランクキャップが指定値と一致すること “notEqual” ランクキャップが指定値と一致しないこと propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rankCapValue long  0 ~ 9223372036854775805 現在のランクキャップ このステータスが現在到達できる最大ランクです。初期値は経験値モデルの defaultRankCap に設定され、限界突破などのランクキャップ増加操作により maxRankCap まで引き上げることができます。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Status 更新後のステータス 実装例 verifyRankCapByUserId ユーザーIDを指定してランクキャップを検証 指定されたユーザーの現在のランクキャップ（バフ効果を含む）が指定された値に対する条件を満たすことを検証します。 6つの比較演算子をサポート：less、lessEqual、greater、greaterEqual、equal、notEqual。 検証条件を満たさない場合はエラー（BadRequest）を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” ランクキャップが指定値未満であること “lessEqual” ランクキャップが指定値以下であること “greater” ランクキャップが指定値超過であること “greaterEqual” ランクキャップが指定値以上であること “equal” ランクキャップが指定値と一致すること “notEqual” ランクキャップが指定値と一致しないこと propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rankCapValue long  0 ~ 9223372036854775805 現在のランクキャップ このステータスが現在到達できる最大ランクです。初期値は経験値モデルの defaultRankCap に設定され、限界突破などのランクキャップ増加操作により maxRankCap まで引き上げることができます。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 更新後のステータス 実装例 multiplyAcquireActionsByUserId ユーザーIDを指定して経験値の対象プロパティのランクに応じてリソースを加算 プロパティの現在のランク値に基づいて指定された rateName の入手アクション倍率を参照し、指定された入手アクションをその倍率（baseRate と組み合わせて）で乗算し、結果のアクションを実行するトランザクションを開始します。 ランクに基づく報酬スケーリングに使用され、高ランクほど比例して多くのリソースを獲得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rateName string  ~ 128文字 報酬加算テーブル名 この報酬加算テーブルの一意な識別子です。特定の入手アクションに適用する倍率テーブルを指定する際に参照されます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト baseRate float 1 0 ~ 1000000 基礎倍率 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 報酬 transactionId string 発行されたトランザクションID stampSheet string スタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 describeExperienceModels 経験値モデルの一覧を取得 指定されたネームスペースで現在有効化（公開）されているすべての経験値モデルを取得します。 経験値モデルは、デフォルト経験値、デフォルト/最大ランクキャップ、関連するランクアップ閾値、入手アクション倍率定義を含む経験値・ランクシステムの構成を定義します。 編集可能な経験値モデルマスターとは異なり、実際に使用されているモデルです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 経験値モデルリスト 実装例 getExperienceModel 経験値モデルを取得 名前を指定して、特定の現在有効化（公開）されている経験値モデルの詳細情報を取得します。 デフォルト経験値、デフォルト/最大ランクキャップ、関連するランクアップ閾値定義、ランクに基づく報酬スケーリングに使用される入手アクション倍率設定を含むモデルの構成を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 experienceName string  ~ 128文字 経験値モデル名 経験値モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item ExperienceModel 経験値モデル 実装例 exportMaster 経験値モデルマスターを有効化可能なマスターデータ形式でエクスポート 現在の経験値モデルマスターとランクアップ閾値マスターを有効化に使用できる形式でエクスポートします。 エクスポートされたデータは、現在のマスター構成のバックアップや別のネームスペースへのインポートに使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentExperienceMaster 有効化可能な経験値モデルのマスターデータ 実装例 getCurrentExperienceMaster 現在アクティブな経験値モデルのマスターデータを取得 指定されたネームスペースで現在有効化（公開）されている経験値モデルとランクアップ閾値のマスターデータを取得します。 これは編集可能なマスターデータとは異なり、実際に本番で使用されている構成を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentExperienceMaster 現在アクティブな経験値モデルのマスターデータ 実装例 preUpdateCurrentExperienceMaster 現在アクティブな経験値モデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentExperienceMaster 現在アクティブな経験値モデルのマスターデータを更新 指定されたネームスペースの経験値モデルとランクアップ閾値のマスターデータを更新し有効化（公開）します。 2つのモードをサポートしています：インラインのマスターデータ用の ‘direct’ モードと、事前にアップロードされたマスターデータ用の ‘preUpload’ モードです。 1MBを超えるマスターデータの場合は、3フェーズの更新フロー（PreUpdate -\u003e アップロード -\u003e Update（preUpload モード））を使用してください。 アップロードされたマスターデータは適用前に検証されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentExperienceMaster 更新された現在アクティブな経験値モデルのマスターデータ 実装例 updateCurrentExperienceMasterFromGitHub 現在アクティブな経験値モデルのマスターデータをGitHubから更新 GitHub リポジトリから直接マスターデータを取得して更新・有効化（公開）します。 チェックアウト設定には、使用するリポジトリ、ブランチ/タグ、ファイルパスを指定します。 マスターデータをバージョン管理で管理し、直接デプロイする場合に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentExperienceMaster 更新された現在アクティブな経験値モデルのマスターデータ 実装例 describeExperienceModelMasters 経験値モデルマスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能な経験値モデルマスターのページネーション付きリストを取得します。 経験値モデルマスターは経験値・ランクシステムの編集可能な定義です。マスターへの変更は、CurrentExperienceMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 経験値モデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 経験値モデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createExperienceModelMaster 経験値モデルマスターを新規作成 新しい編集可能な経験値モデルマスター定義を作成します。 経験値・ランクシステムの構成を定義します：defaultExperience（初期経験値）、defaultRankCap と maxRankCap（初期および最大ランクキャップ）、rankThresholdName（各ランクアップに必要な累積経験値を定義する閾値マスターへの参照）、acquireActionRates（ランクに基づいて入手アクションに適用される倍率）。 変更は CurrentExperienceMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 経験値モデル名 経験値モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultExperience long 0 0 ~ 9223372036854775805 経験値の初期値 新規作成されたステータスに割り当てられる経験値です。通常、プレイヤーが進行の最初から始めるように 0 に設定されます。初期ランクはこの値からランクアップ閾値テーブルを使用して決定されます。 defaultRankCap long  0 ~ 9223372036854775805 ランクキャップの初期値 新規作成されたステータスが到達できるデフォルトの最大ランクです。このランクの閾値を超えた経験値は破棄されるかオーバーフロースクリプトがトリガーされます。ランクキャップは限界突破などの操作により、ステータスごとに maxRankCap まで引き上げることができます。 maxRankCap long  0 ~ 9223372036854775805 ランクキャップの最大値 ランクキャップの絶対的な上限です。ランクキャップ増加操作（限界突破など）を行っても、ランクキャップはこの値を超えることはできません。defaultRankCap 以上の値である必要があります。 rankThresholdName string  ~ 128文字 ランクアップ閾値名 ランクアップ閾値固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト ステータスのランクを参照として使用する際に報酬量を調整するランクベースの倍率テーブルを定義します。各テーブルはランクと倍率をマッピングし、同じアクションからより高ランクのキャラクターがより多くの報酬を受け取るような仕組みを実現できます。 Result 型 説明 item ExperienceModelMaster 作成した経験値モデルマスター 実装例 getExperienceModelMaster 経験値モデルマスターを取得 名前を指定して、特定の編集可能な経験値モデルマスターの詳細情報を取得します。 有効化前のマスター定義の閲覧・編集に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 experienceName string  ~ 128文字 経験値モデル名 経験値モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item ExperienceModelMaster 経験値モデルマスター 実装例 updateExperienceModelMaster 経験値モデルマスターを更新 既存の経験値モデルマスターの説明、メタデータ、デフォルト経験値、デフォルト/最大ランクキャップ、ランクアップ閾値参照、入手アクション倍率を更新します。 経験値モデル名は作成後に変更できません。 変更は CurrentExperienceMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 experienceName string  ~ 128文字 経験値モデル名 経験値モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultExperience long 0 0 ~ 9223372036854775805 経験値の初期値 新規作成されたステータスに割り当てられる経験値です。通常、プレイヤーが進行の最初から始めるように 0 に設定されます。初期ランクはこの値からランクアップ閾値テーブルを使用して決定されます。 defaultRankCap long  0 ~ 9223372036854775805 ランクキャップの初期値 新規作成されたステータスが到達できるデフォルトの最大ランクです。このランクの閾値を超えた経験値は破棄されるかオーバーフロースクリプトがトリガーされます。ランクキャップは限界突破などの操作により、ステータスごとに maxRankCap まで引き上げることができます。 maxRankCap long  0 ~ 9223372036854775805 ランクキャップの最大値 ランクキャップの絶対的な上限です。ランクキャップ増加操作（限界突破など）を行っても、ランクキャップはこの値を超えることはできません。defaultRankCap 以上の値である必要があります。 rankThresholdName string  ~ 128文字 ランクアップ閾値名 ランクアップ閾値固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト ステータスのランクを参照として使用する際に報酬量を調整するランクベースの倍率テーブルを定義します。各テーブルはランクと倍率をマッピングし、同じアクションからより高ランクのキャラクターがより多くの報酬を受け取るような仕組みを実現できます。 Result 型 説明 item ExperienceModelMaster 更新した経験値モデルマスター 実装例 deleteExperienceModelMaster 経験値モデルマスターを削除 編集可能な経験値モデルマスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 experienceName string  ~ 128文字 経験値モデル名 経験値モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item ExperienceModelMaster 削除した経験値モデルマスター 実装例 describeThresholdMasters ランクアップ閾値マスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能なランクアップ閾値マスターのページネーション付きリストを取得します。 ランクアップ閾値マスターは、各ランクアップに必要な累積経験値を定義します。rankThresholdName フィールドを通じて経験値モデルマスターから参照されます。 マスターへの変更は、CurrentExperienceMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 ランクアップ閾値名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ランクアップ閾値マスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createThresholdMaster ランクアップ閾値マスターを新規作成 名前と閾値の配列を持つ新しいランクアップ閾値マスター定義を作成します。 values 配列は各ランクアップに必要な累積経験値を定義します。例えば [100, 300, 600] の場合、ランク1には経験値100、ランク2には300、ランク3には600が必要です。 値の数が到達可能な最大ランクを決定します。 変更は CurrentExperienceMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 ランクアップ閾値名 ランクアップ閾値固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 values List  1 ~ 10000 items ランクアップ経験値閾値リスト ランク進行を定義する累計経験値の順序付き配列です。エントリ数が到達可能な最大ランクを決定します。例えば [10, 20] の場合、経験値 0〜9 でランク1、10〜19 でランク2、20 以上でランク3（それ以上の経験値獲得は不可）となります。 Result 型 説明 item ThresholdMaster 作成したランクアップ閾値マスター 実装例 getThresholdMaster ランクアップ閾値マスターを取得 名前を指定して、特定の編集可能なランクアップ閾値マスターの詳細情報を取得します。 各ランクアップに必要な累積経験値を定義する閾値の配列を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 thresholdName string  ~ 128文字 ランクアップ閾値名 ランクアップ閾値固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item ThresholdMaster ランクアップ閾値マスター 実装例 updateThresholdMaster ランクアップ閾値マスターを更新 既存のランクアップ閾値マスターの説明、メタデータ、閾値を更新します。 閾値名は作成後に変更できません。 変更は CurrentExperienceMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 thresholdName string  ~ 128文字 ランクアップ閾値名 ランクアップ閾値固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 values List  1 ~ 10000 items ランクアップ経験値閾値リスト ランク進行を定義する累計経験値の順序付き配列です。エントリ数が到達可能な最大ランクを決定します。例えば [10, 20] の場合、経験値 0〜9 でランク1、10〜19 でランク2、20 以上でランク3（それ以上の経験値獲得は不可）となります。 Result 型 説明 item ThresholdMaster 更新したランクアップ閾値マスター 実装例 deleteThresholdMaster ランクアップ閾値マスターを削除 編集可能なランクアップ閾値マスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されている閾値はマスターデータが再度有効化されるまで影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 thresholdName string  ~ 128文字 ランクアップ閾値名 ランクアップ閾値固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item ThresholdMaster 削除したランクアップ閾値マスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Experience SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Experience SDK API リファレンス","url":"/ja/api_reference/experience/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 編成操作時のトランザクションの処理方法を制御する設定です。 updateMoldScript ScriptSetting フォームの保存領域のキャパシティを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updateMold updateFormScript ScriptSetting フォームを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updateForm updatePropertyFormScript ScriptSetting プロパティフォームを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updatePropertyForm logSetting LogSetting ログの出力設定 編成操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、フォーム更新、保存領域キャパシティ変更、プロパティフォーム変更の API リクエスト・レスポンスログを収集できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Mold フォームの保存領域 ゲームプレイヤーが編成した情報を保持するエンティティです。 編成情報(Form) は フォームの保存領域(Mold) ごとに複数保持することができ、いくつ保持できるかのキャパシティをゲームプレイヤー×フォームの保存領域 ごとに個別に設定できます。 詳細  moldId string ※ ~ 1024文字 フォームの保存領域 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID capacity int  0 ~ 2147483646 現在のキャパシティ この保存領域でこのプレイヤーが現在利用できるフォーム保存スロット数です。初期値は保存領域モデルの initialMaxCapacity に設定され、キャパシティ増加操作により maxCapacity まで拡張できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Form フォーム 編成状況を表すエンティティです。 編成できる領域として スロット を定義できます。 武器・防具 であれば 「右手」「左手」「胴」「腕」のような部位をスロットとし、 パーティであれば「前衛」「中衛」「後衛」のようなポジションをスロットとして表現できます。 詳細  formId string ※ ~ 1024文字 フォーム GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 フォーム名 このフォームが属する保存領域モデルの名前です。このフォームインスタンスに適用されるフォームモデル（スロット構成）を識別します。 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 slots List 0 ~ 10 items スロットリスト このフォームの現在のスロット割り当てです。各エントリはフォームモデルで定義されたスロットに対応し、そのポジションに割り当てられたリソースのプロパティ ID を保持します。スロット名はフォームモデルで定義されたものと一致する必要があります。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン PropertyForm プロパティフォーム 編成状況を表すエンティティです。 Mold / Form との違いは、スロット数を定義して、各スロットに編成を記録するのが Mold / Form で、 所有している装備に対してスキルを設定するような、数を事前に決めるのが難しい編成を表現するのに利用するのがプロパティフォームです。 詳細  formId string ※ ~ 1024文字 プロパティフォーム GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID name string  ~ 128文字 プロパティフォーム名 このプロパティフォームのスロット構成を定義するプロパティフォームモデルの名前です。割り当て可能なスロットを決定します。 propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 slots List 0 ~ 10 items スロットリスト このプロパティフォームの現在のスロット割り当てです。各エントリはプロパティフォームモデルで定義されたスロットに対応します。例えば、プロパティフォームが装備のスキル設定を表す場合、各スロットは異なるスキル割り当てを保持します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン FormModel フォームモデル フォームモデルは編成状況を表すエンティティです。 編成できる領域として スロット を定義できます。 武器・防具 であれば 「右手」「左手」「胴」「腕」のような部位をスロットとし、 パーティであれば「前衛」「中衛」「後衛」のようなポジションをスロットとして表現できます。 詳細  formModelId string ※ ~ 1024文字 フォームモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 フォームモデル名 フォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このフォームを構成するスロット定義の順序付きリストです。各スロットは割り当て可能なポジションを表し、スロット名はフォーム内で一意である必要があります。装備では「weapon」「armor」「accessory」のようなスロット、パーティでは「position_1」「position_2」のようなスロットが考えられます。 MoldModel フォームの保存領域モデル フォームの保存領域モデルは、パーティ編成であれば「火属性パーティ」「水属性パーティ」のような形で保存することを想定しています。 保存できる領域の数は制限することができ、個別に拡張することもできます。 詳細  moldModelId string ※ ~ 1024文字 フォームの保存領域 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialMaxCapacity int  1 ~ 2147483646 フォームを保存できる初期キャパシティ この保存領域で各プレイヤーが利用できるデフォルトのフォーム保存スロット数です。例えば 3 に設定すると、プレイヤーは初期状態で最大 3 つの異なる編成（例:「火属性パーティ」「水属性パーティ」「風属性パーティ」）を保存できます。プレイヤーごとに maxCapacity まで拡張可能です。 maxCapacity int  1 ~ 2147483646 フォームを保存できる最大キャパシティ この保存領域でプレイヤーごとのフォーム保存スロット数の絶対的な上限です。キャパシティ拡張操作を行っても、キャパシティはこの値を超えることはできません。initialMaxCapacity 以上の値である必要があります。 formModel FormModel  フォームモデル PropertyFormModel プロパティフォームモデル プロパティフォームモデルは編成状況を表すエンティティです。 Mold / Form との違いは、スロット数を定義して、各スロットに編成を記録するのが Mold / Form で、 所有している装備に対してスキルを設定するような、数を事前に決めるのが難しい編成を表現するのに利用するのがプロパティフォームモデルです。 詳細  propertyFormModelId string ※ ~ 1024文字 プロパティフォームモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 プロパティフォームモデル名 プロパティフォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このプロパティフォームのスロット定義の順序付きリストです。キャパシティでフォーム数が制限される Mold/Form とは異なり、プロパティフォームはプロパティ ID で識別され、所有するリソースごとに存在できます。スロット名はフォーム内で一意である必要があります。 SlotModel スロットモデル フォームモデル内の1つのスロットを定義します。スロットはゲームリソース（アイテム、キャラクター、装備など）を配置できる割り当て可能なポジションを表します。プロパティの正規表現によってスロットに設定可能な値が検証されます。 詳細  name string  ~ 128文字 スロットモデル名 フォームモデル内でこのスロットを一意に識別する名前です。装備フォームでは「right_hand」「body」のような名前が、パーティフォームでは「vanguard」「rear_guard」のような名前が一般的です。 propertyRegex string “.*” ~ 512文字 プロパティとして設定可能な値の正規表現 このスロットに割り当て可能なプロパティ ID 値を検証する正規表現パターンです。例えば、特定の GS2-Inventory アイテム GRN や GS2-Dictionary エントリー GRN に制限することができます。デフォルトは “.*” で任意の値を許可します。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Slot スロット フォーム内の1つのスロットの実際の割り当て状態を表します。各スロットは、プレイヤーがそのポジションに配置したゲームリソース（GS2-Inventory のアイテムセットや GS2-Dictionary のエントリーなど）を参照するプロパティ ID を保持します。 詳細  name string  ~ 128文字 スロットモデル名 フォームモデル内でこのスロットを一意に識別する名前です。装備フォームでは「right_hand」「body」のような名前が、パーティフォームでは「vanguard」「rear_guard」のような名前が一般的です。 propertyId string ~ 1024文字 プロパティID このスロットに割り当てられたゲームリソースを参照する開発者定義の識別子です。通常、GS2-Inventory のアイテムセット GRN、GS2-Dictionary のエントリー GRN、またはその他のリソース識別子です。スロットモデルの propertyRegex パターンに一致する必要があります。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 SlotWithSignature 署名付きスロット プレイヤーが参照するリソースを所有していることを証明する暗号署名を含むスロット割り当てです。フォーム更新時に、プレイヤーがスロットに配置するアイテム、エントリー、またはその他のリソースを実際に所有していることを検証し、不正な割り当てを防止するために使用されます。 詳細  name string  ~ 128文字 スロットモデル名 スロットモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyType 文字列列挙型 enum {   “gs2_inventory”,   “gs2_simple_inventory”,   “gs2_dictionary” }  プロパティの種類 このスロットが参照する GS2 リソースの種類を指定します。署名の検証方法を決定します。GS2-Inventory のアイテムセット、GS2-Inventory のシンプルアイテム、GS2-Dictionary のエントリーはそれぞれ異なる署名形式を持ちます。 定義 説明 “gs2_inventory” GS2-Inventory::ItemSet “gs2_simple_inventory” GS2-Inventory::SimpleItem “gs2_dictionary” GS2-Dictionary::Entry body string ~ 1048576文字 ペイロード リソースを所有する GS2 サービスから取得したシリアライズされたリソースデータです。署名を検証し所有権を確認するために必要なリソース状態情報を含みます。 signature string ~ 1024文字 プロパティIDが指すリソースを所有していることを証明する署名 リソースを所有する GS2 サービスによって生成された暗号署名です。フォーム更新時に、プレイヤーが参照するアイテムセット、シンプルアイテム、またはディクショナリエントリーを所有していることを確認するために検証されます。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 AcquireAction 入手アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 Config コンフィグ設定 トランザクションの変数に適用する設定値 詳細  key string  ~ 64文字 名前 value string ~ 51200文字 値 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか CurrentFormMaster 現在アクティブなフォームモデルのマスターデータ 現在ネームスペース内で有効な、フォームモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Formation マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ FormModelMaster フォームモデルマスター フォームモデルマスターは、ゲーム内で使用されるフォームモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるフォームモデルとして反映されます。 フォームモデルは編成状況を表すエンティティです。 編成できる領域として スロット を定義できます。 武器・防具 であれば 「右手」「左手」「胴」「腕」のような部位をスロットとし、 パーティであれば「前衛」「中衛」「後衛」のようなポジションをスロットとして表現できます。 詳細  formModelId string ※ ~ 1024文字 フォームモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 フォームモデル名 フォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このフォームを構成するスロット定義の順序付きリストです。各スロットは割り当て可能なポジションを表し、スロット名はフォーム内で一意である必要があります。装備では「weapon」「armor」「accessory」のようなスロット、パーティでは「position_1」「position_2」のようなスロットが考えられます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン MoldModelMaster フォームの保存領域モデルマスター フォームの保存領域モデルマスターは、ゲーム内で使用されるフォームの保存領域モデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるフォームの保存領域モデルとして反映されます。 フォームの保存領域モデルは、パーティ編成であれば「火属性パーティ」「水属性パーティ」のような形で保存することを想定しています。 保存できる領域の数は制限することができ、個別に拡張することもできます。 詳細  moldModelId string ※ ~ 1024文字 フォームの保存領域モデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 フォームの保存領域モデル名 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialMaxCapacity int  1 ~ 2147483646 フォームを保存できる初期キャパシティ この保存領域で各プレイヤーが利用できるデフォルトのフォーム保存スロット数です。例えば 3 に設定すると、プレイヤーは初期状態で最大 3 つの異なる編成（例:「火属性パーティ」「水属性パーティ」「風属性パーティ」）を保存できます。プレイヤーごとに maxCapacity まで拡張可能です。 maxCapacity int  1 ~ 2147483646 フォームを保存できる最大キャパシティ この保存領域でプレイヤーごとのフォーム保存スロット数の絶対的な上限です。キャパシティ拡張操作を行っても、キャパシティはこの値を超えることはできません。initialMaxCapacity 以上の値である必要があります。 formModelName string  ~ 128文字 フォームモデル名 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン PropertyFormModelMaster プロパティフォームモデルマスター プロパティフォームモデルマスターは、ゲーム内で使用されるプロパティフォームモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるプロパティフォームモデルとして反映されます。 プロパティフォームモデルは編成状況を表すエンティティです。 Mold / Form との違いは、スロット数を定義して、各スロットに編成を記録するのが Mold / Form で、 所有している装備に対してスキルを設定するような、数を事前に決めるのが難しい編成を表現するのに利用するのがプロパティフォームモデルです。 詳細  propertyFormModelId string ※ ~ 1024文字 プロパティフォームモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 プロパティフォームモデル名 プロパティフォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このプロパティフォームのスロット定義の順序付きリストです。キャパシティでフォーム数が制限される Mold/Form とは異なり、プロパティフォームはプロパティ ID で識別され、所有するリソースごとに存在できます。スロット名はフォーム内で一意である必要があります。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 編成操作時のトランザクションの処理方法を制御する設定です。 updateMoldScript ScriptSetting フォームの保存領域のキャパシティを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updateMold updateFormScript ScriptSetting フォームを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updateForm updatePropertyFormScript ScriptSetting プロパティフォームを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updatePropertyForm logSetting LogSetting ログの出力設定 編成操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、フォーム更新、保存領域キャパシティ変更、プロパティフォーム変更の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 編成操作時のトランザクションの処理方法を制御する設定です。 updateMoldScript ScriptSetting フォームの保存領域のキャパシティを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updateMold updateFormScript ScriptSetting フォームを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updateForm updatePropertyFormScript ScriptSetting プロパティフォームを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updatePropertyForm logSetting LogSetting ログの出力設定 編成操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、フォーム更新、保存領域キャパシティ変更、プロパティフォーム変更の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeMolds フォームの保存領域の一覧を取得 リクエストしたユーザーのフォームの保存領域（モールド）のページネーション付きリストを取得します。 各モールドは特定のモールドモデルに対するユーザーの保存領域を表し、現在のキャパシティ情報を含みます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List フォームの保存領域のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeMoldsByUserId ユーザーIDを指定してフォームの保存領域の一覧を取得 指定されたユーザーのフォームの保存領域（モールド）のページネーション付きリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List フォームの保存領域のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getMold フォームの保存領域を取得 保存領域モデル名を指定して、リクエストしたユーザーの特定のフォームの保存領域（モールド）を取得します。 現在のキャパシティと関連するモールドモデル情報を含むモールドを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Mold フォームの保存領域 moldModel MoldModel フォームの保存領域 実装例 getMoldByUserId ユーザーIDを指定してフォームの保存領域を取得 保存領域モデル名を指定して、指定されたユーザーの特定のフォームの保存領域（モールド）を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Mold フォームの保存領域 moldModel MoldModel フォームの保存領域 実装例 setMoldCapacityByUserId ユーザーIDを指定してキャパシティサイズを設定 指定されたユーザーのフォームの保存領域（モールド）のキャパシティを指定の値に直接設定します。 更新前のモールドを ‘old’ として、更新後のモールドと共に返します。 キャパシティはモールドモデルで定義された maxCapacity で上限が制限されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 capacity int  0 ~ 2147483646 現在のキャパシティ この保存領域でこのプレイヤーが現在利用できるフォーム保存スロット数です。初期値は保存領域モデルの initialMaxCapacity に設定され、キャパシティ増加操作により maxCapacity まで拡張できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Mold キャパシティを更新したフォームの保存領域 old Mold キャパシティを更新する前のフォームの保存領域 moldModel MoldModel フォームの保存領域 実装例 addMoldCapacityByUserId ユーザーIDを指定してキャパシティサイズを加算 指定されたユーザーのフォームの保存領域（モールド）のキャパシティを加算します。 キャパシティはモールドモデルで定義された maxCapacity を超えることはできません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 capacity int  0 ~ 2147483646 現在のキャパシティ この保存領域でこのプレイヤーが現在利用できるフォーム保存スロット数です。初期値は保存領域モデルの initialMaxCapacity に設定され、キャパシティ増加操作により maxCapacity まで拡張できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Mold キャパシティを更新したフォームの保存領域 moldModel MoldModel フォームの保存領域 実装例 subMoldCapacity キャパシティサイズを減算 リクエストしたユーザーのフォームの保存領域（モールド）のキャパシティを減算します。キャパシティは0を下回りません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 capacity int  0 ~ 2147483646 現在のキャパシティ この保存領域でこのプレイヤーが現在利用できるフォーム保存スロット数です。初期値は保存領域モデルの initialMaxCapacity に設定され、キャパシティ増加操作により maxCapacity まで拡張できます。 Result 型 説明 item Mold キャパシティを更新したフォームの保存領域 moldModel MoldModel フォームの保存領域 実装例 subMoldCapacityByUserId ユーザーIDを指定してキャパシティサイズを減算 指定されたユーザーのフォームの保存領域（モールド）のキャパシティを減算します。キャパシティは0を下回りません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 capacity int  0 ~ 2147483646 現在のキャパシティ この保存領域でこのプレイヤーが現在利用できるフォーム保存スロット数です。初期値は保存領域モデルの initialMaxCapacity に設定され、キャパシティ増加操作により maxCapacity まで拡張できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Mold キャパシティを更新したフォームの保存領域 moldModel MoldModel フォームの保存領域 実装例 deleteMold フォームの保存領域を削除 リクエストしたユーザーのフォームの保存領域（モールド）を削除します。保存領域内のすべてのフォームとキャパシティデータが削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Mold フォームの保存領域 実装例 deleteMoldByUserId ユーザーIDを指定してフォームの保存領域を削除 指定されたユーザーのフォームの保存領域（モールド）を削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Mold フォームの保存領域 実装例 describeForms フォームの一覧を取得 指定されたモールド（フォームの保存領域）内の、リクエストしたユーザーのフォームのページネーション付きリストを取得します。 各フォームには、インベントリ、シンプルインベントリ、辞書のアイテムへの参照を保持できるスロットのセットが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List フォームのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeFormsByUserId ユーザーIDを指定してフォームの一覧を取得 指定されたモールド内の、指定されたユーザーのフォームのページネーション付きリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List フォームのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getForm フォームを取得 保存領域モデル名とインデックスを指定して、リクエストしたユーザーの特定のフォームを取得します。 関連するモールド、モールドモデル、フォームモデル情報と共にフォームを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 Result 型 説明 item Form フォーム mold Mold フォームの保存領域 moldModel MoldModel フォームの保存領域モデル formModel FormModel フォームモデル 実装例 getFormByUserId ユーザーIDを指定してフォームを取得 保存領域モデル名とインデックスを指定して、指定されたユーザーの特定のフォームを取得します。 関連するモールド、モールドモデル、フォームモデル情報と共にフォームを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Form フォーム mold Mold フォームの保存領域 moldModel MoldModel フォームの保存領域モデル formModel FormModel フォームモデル 実装例 getFormWithSignature 署名付きフォームを取得 指定された暗号鍵を使用して生成された暗号署名と共にフォームを取得します。 フォームデータはJSONにシリアライズされて署名され、クライアントがフォームデータの整合性を検証できます。 署名は SetFormWithSignature でフォームを更新する際に、スロットの内容が改ざんされていないことを保証するために使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item Form フォーム body string 署名対象の値 signature string 署名 mold Mold フォームの保存領域 moldModel MoldModel フォームの保存領域モデル formModel FormModel フォームモデル 実装例 getFormWithSignatureByUserId ユーザーIDを指定して署名付きフォームを取得 指定されたユーザーのフォームを暗号署名と共に取得します。 署名は指定された暗号鍵を使用して生成され、安全な検証に使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Form フォーム body string 署名対象の値 signature string 署名 mold Mold フォームの保存領域 moldModel MoldModel フォームの保存領域モデル formModel FormModel フォームモデル 実装例 setForm フォームを設定 リクエストしたユーザーのフォームのスロット値を更新します。スロットはフォームの各位置にどのアイテムを配置するかを定義します。 署名検証なしのローバージョンです。改ざん防止が必要なクライアント側の更新には SetFormWithSignature を使用してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 slots List  1 ~ 10 items スロットリスト Result 型 説明 item Form フォーム mold Mold フォームの保存領域 moldModel MoldModel フォームの保存領域モデル formModel FormModel フォームモデル 実装例 setFormByUserId ユーザーIDを指定してフォームを設定 指定されたユーザーのフォームのスロット値を更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 slots List  1 ~ 10 items スロットリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Form フォーム mold Mold フォームの保存領域 moldModel MoldModel フォームの保存領域モデル formModel FormModel フォームモデル 実装例 setFormWithSignature 署名付きスロットを使ってフォームを更新 改ざん防止のための署名検証付きでフォームのスロットを更新します。 各スロットには暗号鍵に対して検証されるボディと署名が含まれている必要があります。スロットコンテンツの3つのプロパティタイプをサポート：gs2_inventory（ItemSetIdを抽出）、gs2_simple_inventory（ItemIdを抽出）、gs2_dictionary（EntryIdを抽出）。 検証後、検証済みのスロットがフォームに適用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 slots List  1 ~ 10 items スロットリスト keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item Form フォーム mold Mold フォームの保存領域 moldModel MoldModel フォームの保存領域モデル formModel FormModel フォームモデル 実装例 acquireActionsToFormProperties ユーザーIDを指定してフォームのプロパティに入手アクションを適用 フォームのスロットプロパティに入手アクションを適用し、実行するトランザクションを開始します。 フォームのスロットにアイテムやリソースを付与するために使用され、カスタマイズ用のオプションのコンフィグパラメータが利用できます。 トランザクションを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 acquireAction AcquireAction  フォームのプロパティに適用する入手アクション config List [] 0 ~ 1000 items 入手アクションに適用するコンフィグ timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Form フォーム mold Mold フォームの保存領域 transactionId string 発行されたトランザクションID stampSheet string スタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 deleteForm フォームを削除 指定された保存領域モデルとインデックスのリクエストしたユーザーのフォームを削除します。 フォームに関連するすべてのスロットデータが削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 Result 型 説明 item Form フォーム mold Mold フォームの保存領域 moldModel MoldModel フォームの保存領域モデル formModel FormModel フォームモデル 実装例 deleteFormByUserId ユーザーIDを指定してフォームを削除 指定された保存領域モデルとインデックスの指定されたユーザーのフォームを削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Form フォーム mold Mold フォームの保存領域 moldModel MoldModel フォームの保存領域モデル formModel FormModel フォームモデル 実装例 describePropertyForms プロパティフォームの一覧を取得 指定されたプロパティフォームモデルの、リクエストしたユーザーのプロパティフォームのページネーション付きリストを取得します。 プロパティフォームはフォームと似ていますが、保存領域内のインデックスではなくカスタムプロパティID（例：キャラクターID）で識別されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List フォームのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describePropertyFormsByUserId ユーザーIDを指定してプロパティフォームの一覧を取得 指定されたユーザーとプロパティフォームモデルのプロパティフォームのページネーション付きリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List フォームのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getPropertyForm プロパティフォームを取得 プロパティフォームモデル名とプロパティIDを指定して、リクエストしたユーザーの特定のプロパティフォームを取得します。 プロパティIDは取得前に正規化されます。関連するプロパティフォームモデル情報と共にプロパティフォームを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 Result 型 説明 item PropertyForm フォーム propertyFormModel PropertyFormModel フォームモデル 実装例 getPropertyFormByUserId ユーザーIDを指定してプロパティフォームを取得 プロパティフォームモデル名とプロパティIDを指定して、指定されたユーザーの特定のプロパティフォームを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item PropertyForm フォーム propertyFormModel PropertyFormModel フォームモデル 実装例 getPropertyFormWithSignature 署名付きプロパティフォームを取得 指定された暗号鍵を使用して生成された暗号署名と共にプロパティフォームを取得します。 署名は SetPropertyFormWithSignature でプロパティフォームを更新する際に、スロットの内容が改ざんされていないことを保証するために使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item PropertyForm プロパティフォーム body string 署名対象の値 signature string 署名 propertyFormModel PropertyFormModel プロパティフォームモデル 実装例 getPropertyFormWithSignatureByUserId ユーザーIDを指定して署名付きプロパティフォームを取得 指定されたユーザーのプロパティフォームを暗号署名と共に取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item PropertyForm プロパティフォーム body string 署名対象の値 signature string 署名 propertyFormModel PropertyFormModel プロパティフォームモデル 実装例 setPropertyForm プロパティフォームを更新 リクエストしたユーザーのプロパティフォームのスロット値を更新します。 署名検証なしのローバージョンです。改ざん防止が必要なクライアント側の更新には SetPropertyFormWithSignature を使用してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 slots List  1 ~ 10 items スロットリスト Result 型 説明 item PropertyForm プロパティフォーム propertyFormModel PropertyFormModel プロパティフォームモデル 実装例 setPropertyFormByUserId ユーザーIDを指定してプロパティフォームを更新 指定されたユーザーのプロパティフォームのスロット値を更新します（サーバーサイド操作）。 署名検証なしのローバージョンで、呼び出し元が信頼できるサーバーサイドでの使用を想定しています。 各スロットは他のサービス（インベントリ、シンプルインベントリ、辞書）のプロパティへの参照を保持します。 プロパティフォームは保存領域内のインデックスではなく、カスタム propertyId（例：キャラクターID）で識別されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 slots List  1 ~ 10 items スロットリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item PropertyForm プロパティフォーム propertyFormModel PropertyFormModel プロパティフォームモデル 実装例 setPropertyFormWithSignature 署名付きスロットを使ってプロパティフォームを更新 暗号署名検証による改ざん防止付きでプロパティフォームのスロット値を更新します。 各スロットにはボディと署名のペアが含まれます。サーバーは指定された暗号鍵を使用して各スロットの署名を検証してから更新を適用します。 スロットのプロパティIDプレフィックスに基づいて3種類のプロパティタイプをサポートします： gs2_inventory: インベントリサービスの ItemSet を参照 gs2_simple_inventory: シンプルインベントリサービスの Item を参照 gs2_dictionary: 辞書サービスの Entry を参照 クライアント側の更新にはこのメソッドの使用を推奨します。フォームスロットに任意の値を設定することを防止できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 slots List  1 ~ 10 items スロットリスト keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item PropertyForm プロパティフォーム proeprtyFormModel PropertyFormModel プロパティフォームモデル 実装例 acquireActionsToPropertyFormProperties プロパティフォームのプロパティに入手アクションを適用 プロパティフォームのプロパティに入手アクションを適用し、トランザクションを開始します。 プロパティフォームのスロット値として設定されるアイテムやリソースを付与するために使用されます。 入手アクションはトランザクションとして実行され、結果のアイテムがフォームのスロットプロパティに適用されます。 入手アクションの動作をカスタマイズするためのコンフィグ値を渡すことができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 acquireAction AcquireAction  プロパティフォームのプロパティに適用する入手アクション config List [] 0 ~ 1000 items 入手アクションに適用するコンフィグ timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item PropertyForm プロパティフォーム transactionId string 発行されたトランザクションID stampSheet string スタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 deletePropertyForm プロパティフォームを削除 リクエストしたユーザーの指定されたプロパティフォームモデル名と propertyId で識別されるプロパティフォームを削除します。 削除されると、プロパティフォームに関連付けられたすべてのスロット値が削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 Result 型 説明 item PropertyForm プロパティフォーム propertyFormModel PropertyFormModel プロパティフォームモデル 実装例 deletePropertyFormByUserId ユーザーIDを指定してプロパティフォームを削除 指定されたユーザーの指定されたプロパティフォームモデル名と propertyId で識別されるプロパティフォームを削除します（サーバーサイド操作）。 削除されると、プロパティフォームに関連付けられたすべてのスロット値が削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item PropertyForm プロパティフォーム propertyFormModel PropertyFormModel プロパティフォームモデル 実装例 getFormModel フォームモデルを取得 指定されたフォームの保存領域モデルに関連付けられた、現在有効化（公開）されているフォームモデルを取得します。 フォームモデルは、保存領域内のフォームが使用するスロット構造（利用可能なスロットとその設定）を定義します。 編集可能なフォームモデルマスターとは異なり、実際に使用されている公開済みモデルです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item FormModel フォーム 実装例 describeMoldModels フォームの保存領域モデルの一覧を取得 指定されたネームスペースで現在有効化（公開）されているすべてのフォームの保存領域モデル（モールドモデル）を取得します。 各モデルは使用するフォームモデル、初期最大キャパシティ、絶対最大キャパシティを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List フォームの保存領域のリスト 実装例 getMoldModel フォームの保存領域モデルを取得 名前を指定して、特定の現在有効化（公開）されているフォームの保存領域モデル（モールドモデル）を取得します。 関連するフォームモデル名、初期最大キャパシティ、絶対最大キャパシティを含むモデルの構成を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item MoldModel フォームの保存領域 実装例 describePropertyFormModels プロパティフォームモデルの一覧を取得 指定されたネームスペースで現在有効化（公開）されているすべてのプロパティフォームモデルを取得します。 プロパティフォームモデルは、保存領域内のインデックスではなくカスタムプロパティIDで識別されるプロパティフォームのスロット構造を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List プロパティフォームのリスト 実装例 getPropertyFormModel プロパティフォームモデルを取得 名前を指定して、特定の現在有効化（公開）されているプロパティフォームモデルを取得します。 このタイプのプロパティフォームが使用するスロット構造定義を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 プロパティフォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item PropertyFormModel プロパティフォーム 実装例 exportMaster フォームモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在のフォームモデルマスター、フォームの保存領域マスター（モールドモデルマスター）、プロパティフォームモデルマスターを有効化に使用できる形式でエクスポートします。 エクスポートされたデータは、現在のマスター構成のバックアップや別のネームスペースへのインポートに使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentFormMaster 有効化可能なフォームモデルのマスターデータ 実装例 getCurrentFormMaster 現在アクティブなフォームモデルのマスターデータを取得 指定されたネームスペースで現在有効化（公開）されているフォームモデル、フォームの保存領域モデル、プロパティフォームモデルのマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentFormMaster 現在アクティブなフォームモデルのマスターデータ 実装例 preUpdateCurrentFormMaster 現在アクティブなフォームモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentFormMaster 現在アクティブなフォームモデルのマスターデータを更新 指定されたネームスペースのフォームモデル、フォームの保存領域モデル、プロパティフォームモデルのマスターデータを更新し有効化（公開）します。 2つのモードをサポートしています：インラインのマスターデータ用の ‘direct’ モードと、事前にアップロードされたマスターデータ用の ‘preUpload’ モードです。 1MBを超えるマスターデータの場合は、3フェーズの更新フロー（PreUpdate -\u003e アップロード -\u003e Update（preUpload モード））を使用してください。 アップロードされたマスターデータは適用前に検証されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentFormMaster 更新された現在アクティブなフォームモデルのマスターデータ 実装例 updateCurrentFormMasterFromGitHub 現在アクティブなフォームモデルのマスターデータをGitHubから更新 GitHub リポジトリから直接マスターデータを取得して更新・有効化（公開）します。 チェックアウト設定には、使用するリポジトリ、ブランチ/タグ、ファイルパスを指定します。 マスターデータをバージョン管理で管理し、直接デプロイする場合に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentFormMaster 更新された現在アクティブなフォームモデルのマスターデータ 実装例 describeFormModelMasters フォームモデルマスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能なフォームモデルマスターのページネーション付きリストを取得します。 フォームモデルマスターはフォームのスロット構造を定義します。マスターへの変更は、CurrentFormMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 フォームモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List フォームモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createFormModelMaster フォームモデルマスターを新規作成 名前とスロット定義を持つ新しい編集可能なフォームモデルマスター定義を作成します。 各スロットは、アイテム（インベントリ、シンプルインベントリ、辞書から）を配置できるフォーム内の名前付き位置を定義します。 変更は CurrentFormMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 フォームモデル名 フォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このフォームを構成するスロット定義の順序付きリストです。各スロットは割り当て可能なポジションを表し、スロット名はフォーム内で一意である必要があります。装備では「weapon」「armor」「accessory」のようなスロット、パーティでは「position_1」「position_2」のようなスロットが考えられます。 Result 型 説明 item FormModelMaster 作成したフォームモデルマスター 実装例 getFormModelMaster フォームモデルマスターを取得 名前を指定して、特定の編集可能なフォームモデルマスターの詳細情報を取得します。 有効化前のマスター定義の閲覧・編集に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 formModelName string  ~ 128文字 フォームモデル名 フォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item FormModelMaster フォームモデルマスター 実装例 updateFormModelMaster フォームモデルマスターを更新 既存のフォームモデルマスターの説明、メタデータ、スロット定義を更新します。 フォームモデル名は作成後に変更できません。 変更は CurrentFormMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 formModelName string  ~ 128文字 フォームモデル名 フォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このフォームを構成するスロット定義の順序付きリストです。各スロットは割り当て可能なポジションを表し、スロット名はフォーム内で一意である必要があります。装備では「weapon」「armor」「accessory」のようなスロット、パーティでは「position_1」「position_2」のようなスロットが考えられます。 Result 型 説明 item FormModelMaster 更新したフォームモデルマスター 実装例 deleteFormModelMaster フォームモデルマスターを削除 編集可能なフォームモデルマスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 formModelName string  ~ 128文字 フォームモデル名 フォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item FormModelMaster 削除したフォームモデルマスター 実装例 describeMoldModelMasters フォームの保存領域マスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能なフォームの保存領域マスター（モールドモデルマスター）のページネーション付きリストを取得します。 マスターへの変更は、CurrentFormMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 フォームの保存領域名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List フォームの保存領域マスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createMoldModelMaster フォームの保存領域マスターを新規作成 新しい編集可能なフォームの保存領域マスター（モールドモデルマスター）定義を作成します。 使用するフォームモデル（formModelName）、ユーザーが保存領域に初めてアクセスする際に割り当てられる初期最大キャパシティ（initialMaxCapacity）、キャパシティ加算で到達可能な絶対最大キャパシティ（maxCapacity）を定義します。 変更は CurrentFormMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 フォームの保存領域モデル名 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 formModelName string  ~ 128文字 フォームモデル名 initialMaxCapacity int  1 ~ 2147483646 フォームを保存できる初期キャパシティ この保存領域で各プレイヤーが利用できるデフォルトのフォーム保存スロット数です。例えば 3 に設定すると、プレイヤーは初期状態で最大 3 つの異なる編成（例:「火属性パーティ」「水属性パーティ」「風属性パーティ」）を保存できます。プレイヤーごとに maxCapacity まで拡張可能です。 maxCapacity int  1 ~ 2147483646 フォームを保存できる最大キャパシティ この保存領域でプレイヤーごとのフォーム保存スロット数の絶対的な上限です。キャパシティ拡張操作を行っても、キャパシティはこの値を超えることはできません。initialMaxCapacity 以上の値である必要があります。 Result 型 説明 item MoldModelMaster 作成したフォームの保存領域マスター 実装例 getMoldModelMaster フォームの保存領域マスターを取得 名前を指定して、特定の編集可能なフォームの保存領域マスターの詳細情報を取得します。 有効化前のマスター定義の閲覧・編集に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデル名 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item MoldModelMaster フォームの保存領域マスター 実装例 updateMoldModelMaster フォームの保存領域マスターを更新 既存のフォームの保存領域マスターの説明、メタデータ、フォームモデル参照、初期最大キャパシティ、最大キャパシティを更新します。 保存領域モデル名は作成後に変更できません。 変更は CurrentFormMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデル名 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 formModelName string  ~ 128文字 フォームモデル名 initialMaxCapacity int  1 ~ 2147483646 フォームを保存できる初期キャパシティ この保存領域で各プレイヤーが利用できるデフォルトのフォーム保存スロット数です。例えば 3 に設定すると、プレイヤーは初期状態で最大 3 つの異なる編成（例:「火属性パーティ」「水属性パーティ」「風属性パーティ」）を保存できます。プレイヤーごとに maxCapacity まで拡張可能です。 maxCapacity int  1 ~ 2147483646 フォームを保存できる最大キャパシティ この保存領域でプレイヤーごとのフォーム保存スロット数の絶対的な上限です。キャパシティ拡張操作を行っても、キャパシティはこの値を超えることはできません。initialMaxCapacity 以上の値である必要があります。 Result 型 説明 item MoldModelMaster 更新したフォームの保存領域マスター 実装例 deleteMoldModelMaster フォームの保存領域マスターを削除 編集可能なフォームの保存領域マスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 moldModelName string  ~ 128文字 フォームの保存領域モデル名 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item MoldModelMaster 削除したフォームの保存領域マスター 実装例 describePropertyFormModelMasters プロパティフォームモデルマスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能なプロパティフォームモデルマスターのページネーション付きリストを取得します。 プロパティフォームモデルマスターはプロパティフォームのスロット構造を定義します。マスターへの変更は、CurrentFormMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 プロパティフォームモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List フォームモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createPropertyFormModelMaster プロパティフォームモデルマスターを新規作成 名前とスロット定義を持つ新しい編集可能なプロパティフォームモデルマスター定義を作成します。 プロパティフォームモデルはフォームモデルと似ていますが、保存領域内のインデックスではなくカスタムプロパティIDで識別されるプロパティフォームに使用されます。 変更は CurrentFormMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 プロパティフォームモデル名 プロパティフォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このプロパティフォームのスロット定義の順序付きリストです。キャパシティでフォーム数が制限される Mold/Form とは異なり、プロパティフォームはプロパティ ID で識別され、所有するリソースごとに存在できます。スロット名はフォーム内で一意である必要があります。 Result 型 説明 item PropertyFormModelMaster 作成したフォームモデルマスター 実装例 getPropertyFormModelMaster プロパティフォームモデルマスターを取得 名前を指定して、特定の編集可能なプロパティフォームモデルマスターの詳細情報を取得します。 有効化前のマスター定義の閲覧・編集に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 プロパティフォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item PropertyFormModelMaster フォームモデルマスター 実装例 updatePropertyFormModelMaster プロパティフォームモデルマスターを更新 既存のプロパティフォームモデルマスターの説明、メタデータ、スロット定義を更新します。 プロパティフォームモデル名は作成後に変更できません。 変更は CurrentFormMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 プロパティフォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このプロパティフォームのスロット定義の順序付きリストです。キャパシティでフォーム数が制限される Mold/Form とは異なり、プロパティフォームはプロパティ ID で識別され、所有するリソースごとに存在できます。スロット名はフォーム内で一意である必要があります。 Result 型 説明 item PropertyFormModelMaster 更新したフォームモデルマスター 実装例 deletePropertyFormModelMaster プロパティフォームモデルマスターを削除 編集可能なプロパティフォームモデルマスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 プロパティフォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item PropertyFormModelMaster 削除したフォームモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Formation SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Formation SDK API リファレンス","url":"/ja/api_reference/formation/sdk/"},{"content":"モデル Output ステージ更新進捗出力 ステージバージョン更新操作中に生成されるログエントリを表します。各出力は更新プロセスのステップやイベントを記録します。出力は 30 日後に自動的にクリーンアップされます。 詳細  outputId string ※ ~ 1024文字 ステージ更新進捗出力 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 36文字 出力名 ステージ更新進捗出力の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ステージ更新進捗出力を識別するために使用されます。 text string  ~ 1048576文字 テキスト ステージ更新プロセス中の特定のステップやイベントを記述するログメッセージ内容です。バージョン切り替え操作のステータス情報、エラー詳細、進捗指標などを含む場合があります。 createdAt long ※ 現在時刻 日時 revision long 0 0 ~ 9223372036854775805 リビジョン Stage ステージ ステージとはプログラムバージョンを固定する環境情報です。 1つのプロジェクトに対して複数のステージを持つことができます。 ステージはソースステージを持ち、ソースステージで固定されたバージョンへと切り替えることが可能です。 この仕組みを利用することで まずは dev ステージに最新のバージョンを取り込んで開発者レベルで動作確認をして、 問題がなさそうであれば dev ステージをソースステージとしている stg ステージへ反映し、 QAを終えたら stg ステージをソースステージとした live ステージへ反映するようなオペレーションが可能となります。 詳細  stageId string ※ ~ 1024文字 ステージ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ステージ名 このステージ環境の識別子です（例: “dev”, “stg”, “live”）。 sourceStageName string ~ 128文字 ソースステージ名 このステージがバージョン設定を取得する元のステージ名です。更新時にソースステージで固定されたバージョンが採用されます。例えば、“stg” ステージのソースが “dev”、“live” ステージのソースが “stg” のように設定します。未指定の場合は最新バージョンが直接使用されます。 sortNumber int  0 ~ 100 ソート番号 ステージの表示順序を制御するための数値です。小さい数値が先に表示されます。ステージを論理的な順序で並べるのに便利です（例: dev=0, stg=50, live=100）。 status 文字列列挙型 enum {   “Active”,   “Updating”,   “UpdateFailed” } “Active” 状態 ステージの現在の状態です。“Active” は固定されたバージョンでリクエストを処理している通常運用状態を示します。“Updating” はバージョン切り替えが進行中であることを示します。“UpdateFailed” はバージョン更新でエラーが発生し、手動対応が必要な可能性があることを示します。 定義 説明 “Active” 有効 “Updating” 更新中 “UpdateFailed” 更新失敗 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Microservice マイクロサービス GS2 マイクロサービスコンポーネントを表します。各マイクロサービスは名前とバージョンを持ち、特定のステージに固定できます。 詳細  name string  ~ 128文字 マイクロサービス名 このマイクロサービスの識別子です。 version string  ~ 32文字 マイクロサービスバージョン このマイクロサービスのバージョン識別子です。ステージデプロイ時にマイクロサービスを特定のバージョンに固定し、環境間で一貫した動作を保証するために使用されます。 メソッド describeOutputs ステージ更新進捗出力の一覧を取得 特定のステージの更新操作（プロモート/ロールバック）の出力ログエントリのページネーション付きリストを取得します。 出力エントリはプロモートまたはロールバックプロセスの各ステップ（開始、ステップ完了、最終的な成功または失敗メッセージ）で作成されます。 このAPIを使用して進行中のデプロイの進捗を監視できます。 詳細 Request  stageName string  ~ 128文字 ステージ名 このステージ環境の識別子です（例: “dev”, “stg”, “live”）。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ステージ更新進捗出力のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getOutput ステージ更新進捗出力を取得 ステージの更新操作に対する特定の出力ログエントリを取得します。 各出力エントリにはプロモートまたはロールバックプロセスのその時点で発生した内容を説明するテキストメッセージが含まれます。 詳細 Request  stageName string  ~ 128文字 ステージ名 このステージ環境の識別子です（例: “dev”, “stg”, “live”）。 outputName string  UUID ~ 36文字 出力名 ステージ更新進捗出力の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ステージ更新進捗出力を識別するために使用されます。 Result 型 説明 item Output ステージ更新進捗出力 実装例 describeStages ステージの一覧を取得 リクエストしたユーザーが所有するデプロイステージの一覧を取得します。 各ステージは独自のマイクロサービスバージョン構成を持つ環境（例：開発、ステージング、本番）を表します。 詳細 Request  Result 型 説明 items List ステージのリスト 実装例 getStage ステージを取得 特定のデプロイステージの詳細情報を取得します。ソースマイクロサービスバージョン（前段のステージのバージョン）と現在デプロイされているマイクロサービスバージョンを含みます。 ソースバージョンは次回のプロモーション時に適用されるバージョン構成を表し、現在のバージョンは実際にデプロイされているものを表します。 詳細 Request  stageName string  ~ 128文字 ステージ名 このステージ環境の識別子です（例: “dev”, “stg”, “live”）。 Result 型 説明 item Stage ステージ source List ソースマイクロサービスバージョンリスト current List 現在適用されているマイクロサービスバージョンリスト 実装例 promoteStage ステージをプロモート ソースステージのマイクロサービスバージョンをこのステージに適用し、非同期のデプロイプロセスを開始します。 処理中はステージのステータスが Updating に変わり、成功時は Active、失敗時は UpdateFailed になります。 進捗は Output API で監視できます。 詳細 Request  stageName string  ~ 128文字 ステージ名 このステージ環境の識別子です（例: “dev”, “stg”, “live”）。 Result 型 説明 item Stage 更新したステージ 実装例 rollbackStage ステージをロールバック ステージを以前デプロイされていたマイクロサービスバージョンに戻し、非同期のロールバックプロセスを開始します。 処理中はステージのステータスが Updating に変わり、成功時は Active、失敗時は UpdateFailed になります。 進捗は Output API で監視できます。 詳細 Request  stageName string  ~ 128文字 ステージ名 このステージ環境の識別子です（例: “dev”, “stg”, “live”）。 Result 型 説明 item Stage 更新したステージ 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Freeze SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Freeze SDK API リファレンス","url":"/ja/api_reference/freeze/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 フレンド操作時のトランザクションの処理方法を制御する設定です。 followScript ScriptSetting フォローされたときに実行するスクリプトの設定 Script トリガーリファレンス - follow unfollowScript ScriptSetting アンフォローされたときに実行するスクリプトの設定 Script トリガーリファレンス - unfollow sendRequestScript ScriptSetting フレンドリクエストを発行したときに実行するスクリプトの設定 Script トリガーリファレンス - sendRequest cancelRequestScript ScriptSetting フレンドリクエストをキャンセルしたときに実行するスクリプトの設定 Script トリガーリファレンス - cancelRequest acceptRequestScript ScriptSetting フレンドリクエストを承諾したときに実行するスクリプトの設定 Script トリガーリファレンス - acceptRequest rejectRequestScript ScriptSetting フレンドリクエストを拒否したときに実行するスクリプトの設定 Script トリガーリファレンス - rejectRequest deleteFriendScript ScriptSetting フレンドを削除したときに実行するスクリプトの設定 Script トリガーリファレンス - deleteFriend updateProfileScript ScriptSetting プロフィールを更新したときに実行するスクリプトの設定 Script トリガーリファレンス - updateProfile followNotification NotificationSetting フォローされたときのプッシュ通知 他のプレイヤーにフォローされたときにプッシュ通知を送信する設定です。フォローされたプレイヤーが GS2-Gateway 経由でリアルタイムに通知を受け取ることができます。 receiveRequestNotification NotificationSetting  フレンドリクエストが届いたときのプッシュ通知 他のプレイヤーからフレンドリクエストを受信したときにプッシュ通知を送信する設定です。受信者が GS2-Gateway 経由で迅速に応答できるようにします。 cancelRequestNotification NotificationSetting  受け取ったフレンドリクエストがキャンセルされたときのプッシュ通知 以前受信したフレンドリクエストが送信者によってキャンセルされたときにプッシュ通知を送信する設定です。保留中のリクエストが存在しなくなったことを受信者に通知します。 acceptRequestNotification NotificationSetting  フレンドリクエストが承認されたときのプッシュ通知 送信したフレンドリクエストが受信者によって承認されたときにプッシュ通知を送信する設定です。承認後、両プレイヤーが互いのフレンドリストに追加されます。 rejectRequestNotification NotificationSetting  フレンドリクエストが拒否されたときのプッシュ通知 送信したフレンドリクエストが受信者によって拒否されたときにプッシュ通知を送信する設定です。フレンドリクエストは送信ボックスと受信ボックスの両方から削除されます。 deleteFriendNotification NotificationSetting  フレンドが削除されたときのプッシュ通知 他のプレイヤーのフレンドリストから削除されたときにプッシュ通知を送信する設定です。フレンド関係は双方で解消されます。 logSetting LogSetting ログの出力設定 フレンド操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、フォロー/アンフォロー、フレンドリクエスト、プロフィール更新の API リクエスト・レスポンスログを収集できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。 詳細  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 Profile プロフィール プロフィールはゲームプレイヤーに関する情報を格納します。 プロフィールは公開範囲ごとに設定することが可能で、3種類あります。 friend フレンド関係が成立している相手に閲覧可能な内容 follow フォローされている相手が閲覧可能な内容 public 誰でも閲覧可能な内容 詳細  profileId string ※ ~ 1024文字 プロフィール GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID publicProfile string ~ 1024文字 公開されるプロフィール 関係性に関わらずすべてのプレイヤーに表示されるプロフィール情報です。通常、表示名、アバター、その他公開可能な情報に使用されます。 followerProfile string ~ 1024文字 フォロワー向けに公開されるプロフィール このユーザーをフォローしているプレイヤーにのみ表示されるプロフィール情報です。公開プロフィールよりも詳細な情報（ゲームプレイ統計やステータスメッセージなど）を含むことができます。 friendProfile string ~ 1024文字 フレンド向けに公開されるプロフィール 相互フレンド関係が成立しているプレイヤーにのみ表示されるプロフィール情報です。最もプライベートなプロフィールレベルで、連絡先やプライベートメッセージなどの個人情報の共有に適しています。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Follow フォロー フォローはゲームプレイヤー間の一方向の関係です。 フォローはリクエスト送信と同時に成立します。 詳細  followId string ※ ~ 1024文字 フォロー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID targetUserIds List 0 ~ 1000 items フォローしているユーザーIDリスト このユーザーがフォローしているユーザー ID のリストです。フレンド関係とは異なり、フォローは単方向で、対象ユーザーの承認を必要とせず即座に成立します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Friend フレンド フレンドとは双方向で承認されたゲームプレイヤー間の関係です。 フレンド関係を成立させるには一方がリクエストを送信し、もう一方が承認する必要があります。 詳細  friendId string ※ ~ 1024文字 フレンド GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID targetUserIds List 0 ~ 1000 items フレンドのユーザーIDリスト このユーザーと相互フレンド関係が成立しているユーザー ID のリストです。両ユーザーがフレンドリクエストの承認プロセスを経る必要があります。フレンドを削除すると、双方のリストからエントリが削除されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SendBox 送信ボックス プレイヤーが送信したフレンドリクエストのリストを管理します。プレイヤーがフレンドリクエストを送信すると、対象ユーザー ID がこの送信ボックスに追加されます。送信者は保留中のリクエストをキャンセルできます。同じユーザーへの重複リクエストや既存フレンドへのリクエストは拒否されます。対象が承認または拒否すると、エントリはこの送信ボックスから削除されます。 詳細  sendBoxId string ※ ~ 1024文字 フレンドリクエストの送信ボックス GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID targetUserIds List 0 ~ 1000 items フレンドリクエストの宛先ユーザーIDリスト このユーザーが保留中のフレンドリクエストを送信したプレイヤーのユーザー ID です。各エントリは対象の応答を待っている送信リクエストを表します。重複エントリや既存フレンドへのリクエストは防止されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Inbox 受信ボックス プレイヤーが受信したフレンドリクエストのリストを管理します。他のプレイヤーがフレンドリクエストを送信すると、そのユーザー ID がこの受信ボックスに追加されます。プレイヤーは各リクエストを承認または拒否できます。同じユーザーからの重複リクエストや既にフレンドであるユーザーからのリクエストは拒否されます。リクエストを承認すると受信ボックスから削除され、双方がフレンドリストに追加されます。 詳細  inboxId string ※ ~ 1024文字 フレンドリクエストの受信ボックス GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID fromUserIds List 0 ~ 1000 items フレンドリクエストを送ってきたユーザーIDリスト このユーザーに保留中のフレンドリクエストを送信したプレイヤーのユーザー ID です。各エントリは承認または拒否可能な未回答のリクエストを表します。重複エントリや既存フレンドからのリクエストは防止されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン BlackList ブラックリスト プレイヤーがブロックしたユーザーのリストを管理します。ブロックされたユーザーはこのプレイヤーにフレンドリクエストやフォローリクエストを送信できなくなり、望まないインタラクションを制御するメカニズムを提供します。 詳細  blackListId string ※ ~ 1024文字 ブラックリスト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID targetUserIds List 0 ~ 1000 items ブラックリストのユーザーIDリスト このプレイヤーがブロックしたユーザー ID のリストです。ブロックされたユーザーはこのプレイヤーにフレンドリクエストやフォローリクエストを送信できません。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン FollowUser フォローユーザー 現在のユーザーがフォローしているユーザーを表します。フォロー対象ユーザーの公開プロフィールとフォロワーレベルのプロフィール情報へのアクセスを提供し、これはフォロワーには表示されますが一般には公開されません。 詳細  userId string  ~ 128文字 ユーザーID publicProfile string ~ 1024文字 公開されるプロフィール フォロー対象ユーザーの公開プロフィール情報で、すべてのプレイヤーがアクセスできます。 followerProfile string ~ 1024文字 フォロワー向けに公開されるプロフィール フォロワーにのみ表示されるプロフィール情報です。公開プロフィールよりも詳細な情報を含めることができます。 FriendUser フレンドユーザー 現在のユーザーと相互フレンド関係が成立しているユーザーを表します。フレンドの公開プロフィールとフレンドレベルのプロフィール情報へのアクセスを提供し、これは確認済みのフレンドにのみ表示されます。 詳細  userId string  ~ 128文字 ユーザーID publicProfile string ~ 1024文字 公開されるプロフィール フレンドの公開プロフィール情報で、すべてのプレイヤーがアクセスできます。 friendProfile string ~ 1024文字 フレンド向けに公開されるプロフィール 確認済みのフレンドにのみ表示されるフレンドのプロフィール情報です。公開プロフィールよりもプライベートな情報を含みます。 FriendRequest フレンドリクエスト 2人のプレイヤー間のフレンドリクエストを表します。送信者のユーザー ID、受信者のユーザー ID、および表示用の送信者の公開プロフィールを含みます。 詳細  userId string  ~ 128文字 フレンドリクエストを送信したユーザーID targetUserId string  ~ 128文字 フレンドリクエストを送信されたユーザーID publicProfile string ~ 1024文字 公開されるプロフィール フレンドリクエスト送信者の公開プロフィールです。受信者が誰がフレンド申請しているかを識別できるよう、表示用に含まれます。 SendFriendRequest 送信したフレンドリクエスト フレンドの登録を申請中である状態を表すエンティティです。 該当ユーザーがほかのユーザーに対して送信したフレンドリクエストです。 送信先のユーザーが承認を行うとフレンドリクエストは削除され、フレンドリストに登録されます。 詳細  userId string  ~ 128文字 フレンドリクエストを送信したユーザーID targetUserId string  ~ 128文字 フレンドリクエストを送信されたユーザーID publicProfile string ~ 1024文字 公開されるプロフィール このフレンドリクエストを受信した対象ユーザーの公開プロフィールです。送信者が受信者の基本情報を確認できるようにします。 ReceiveFriendRequest 受信したフレンドリクエスト フレンドの登録申請を受け付けた状態であることを表すエンティティです。 該当ユーザーがほかのユーザーから受信したフレンドリクエストです。 該当ユーザーが承認を行うとフレンドリクエストは削除され、フレンドリストに登録されます。 詳細  userId string  ~ 128文字 フレンドリクエストを送信したユーザーID targetUserId string  ~ 128文字 フレンドリクエストを送信されたユーザーID publicProfile string ~ 1024文字 公開されるプロフィール このフレンドリクエストを送信したユーザーの公開プロフィールです。受信者が承認または拒否する前に、誰がフレンド申請しているかを確認できるようにします。 PublicProfile 公開プロフィール ユーザーの公開プロフィール情報の読み取り専用ビューです。フレンドやフォロー関係を必要とせず、任意のユーザーについて取得できます。検索結果、リーダーボード、その他の公開コンテキストでプレイヤー情報を表示するために使用されます。 詳細  userId string  ~ 128文字 ユーザーID publicProfile string ~ 1024文字 公開されるプロフィール ユーザーの公開プロフィール内容です。フレンドやフォロワーの関係を必要とせずにアクセスできます。 メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 フレンド操作時のトランザクションの処理方法を制御する設定です。 followScript ScriptSetting フォローされたときに実行するスクリプトの設定 Script トリガーリファレンス - follow unfollowScript ScriptSetting アンフォローされたときに実行するスクリプトの設定 Script トリガーリファレンス - unfollow sendRequestScript ScriptSetting フレンドリクエストを発行したときに実行するスクリプトの設定 Script トリガーリファレンス - sendRequest cancelRequestScript ScriptSetting フレンドリクエストをキャンセルしたときに実行するスクリプトの設定 Script トリガーリファレンス - cancelRequest acceptRequestScript ScriptSetting フレンドリクエストを承諾したときに実行するスクリプトの設定 Script トリガーリファレンス - acceptRequest rejectRequestScript ScriptSetting フレンドリクエストを拒否したときに実行するスクリプトの設定 Script トリガーリファレンス - rejectRequest deleteFriendScript ScriptSetting フレンドを削除したときに実行するスクリプトの設定 Script トリガーリファレンス - deleteFriend updateProfileScript ScriptSetting プロフィールを更新したときに実行するスクリプトの設定 Script トリガーリファレンス - updateProfile followNotification NotificationSetting フォローされたときのプッシュ通知 他のプレイヤーにフォローされたときにプッシュ通知を送信する設定です。フォローされたプレイヤーが GS2-Gateway 経由でリアルタイムに通知を受け取ることができます。 receiveRequestNotification NotificationSetting  フレンドリクエストが届いたときのプッシュ通知 他のプレイヤーからフレンドリクエストを受信したときにプッシュ通知を送信する設定です。受信者が GS2-Gateway 経由で迅速に応答できるようにします。 cancelRequestNotification NotificationSetting  受け取ったフレンドリクエストがキャンセルされたときのプッシュ通知 以前受信したフレンドリクエストが送信者によってキャンセルされたときにプッシュ通知を送信する設定です。保留中のリクエストが存在しなくなったことを受信者に通知します。 acceptRequestNotification NotificationSetting  フレンドリクエストが承認されたときのプッシュ通知 送信したフレンドリクエストが受信者によって承認されたときにプッシュ通知を送信する設定です。承認後、両プレイヤーが互いのフレンドリストに追加されます。 rejectRequestNotification NotificationSetting  フレンドリクエストが拒否されたときのプッシュ通知 送信したフレンドリクエストが受信者によって拒否されたときにプッシュ通知を送信する設定です。フレンドリクエストは送信ボックスと受信ボックスの両方から削除されます。 deleteFriendNotification NotificationSetting  フレンドが削除されたときのプッシュ通知 他のプレイヤーのフレンドリストから削除されたときにプッシュ通知を送信する設定です。フレンド関係は双方で解消されます。 logSetting LogSetting ログの出力設定 フレンド操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、フォロー/アンフォロー、フレンドリクエスト、プロフィール更新の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 フレンド操作時のトランザクションの処理方法を制御する設定です。 followScript ScriptSetting フォローされたときに実行するスクリプトの設定 Script トリガーリファレンス - follow unfollowScript ScriptSetting アンフォローされたときに実行するスクリプトの設定 Script トリガーリファレンス - unfollow sendRequestScript ScriptSetting フレンドリクエストを発行したときに実行するスクリプトの設定 Script トリガーリファレンス - sendRequest cancelRequestScript ScriptSetting フレンドリクエストをキャンセルしたときに実行するスクリプトの設定 Script トリガーリファレンス - cancelRequest acceptRequestScript ScriptSetting フレンドリクエストを承諾したときに実行するスクリプトの設定 Script トリガーリファレンス - acceptRequest rejectRequestScript ScriptSetting フレンドリクエストを拒否したときに実行するスクリプトの設定 Script トリガーリファレンス - rejectRequest deleteFriendScript ScriptSetting フレンドを削除したときに実行するスクリプトの設定 Script トリガーリファレンス - deleteFriend updateProfileScript ScriptSetting プロフィールを更新したときに実行するスクリプトの設定 Script トリガーリファレンス - updateProfile followNotification NotificationSetting フォローされたときのプッシュ通知 他のプレイヤーにフォローされたときにプッシュ通知を送信する設定です。フォローされたプレイヤーが GS2-Gateway 経由でリアルタイムに通知を受け取ることができます。 receiveRequestNotification NotificationSetting  フレンドリクエストが届いたときのプッシュ通知 他のプレイヤーからフレンドリクエストを受信したときにプッシュ通知を送信する設定です。受信者が GS2-Gateway 経由で迅速に応答できるようにします。 cancelRequestNotification NotificationSetting  受け取ったフレンドリクエストがキャンセルされたときのプッシュ通知 以前受信したフレンドリクエストが送信者によってキャンセルされたときにプッシュ通知を送信する設定です。保留中のリクエストが存在しなくなったことを受信者に通知します。 acceptRequestNotification NotificationSetting  フレンドリクエストが承認されたときのプッシュ通知 送信したフレンドリクエストが受信者によって承認されたときにプッシュ通知を送信する設定です。承認後、両プレイヤーが互いのフレンドリストに追加されます。 rejectRequestNotification NotificationSetting  フレンドリクエストが拒否されたときのプッシュ通知 送信したフレンドリクエストが受信者によって拒否されたときにプッシュ通知を送信する設定です。フレンドリクエストは送信ボックスと受信ボックスの両方から削除されます。 deleteFriendNotification NotificationSetting  フレンドが削除されたときのプッシュ通知 他のプレイヤーのフレンドリストから削除されたときにプッシュ通知を送信する設定です。フレンド関係は双方で解消されます。 logSetting LogSetting ログの出力設定 フレンド操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、フォロー/アンフォロー、フレンドリクエスト、プロフィール更新の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 getProfile プロフィールを取得 リクエストしたユーザー自身のプロフィールを取得します。公開プロフィール、フォロワー向けプロフィール、フレンド向けプロフィールの3つの公開レベルすべてを含みます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Profile プロフィール 実装例 getProfileByUserId ユーザーIDを指定してプロフィールを取得 指定されたユーザーのプロフィールを取得します。3つの公開レベルすべてを含みます（サーバーサイド操作）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Profile プロフィール 実装例 updateProfile プロフィールを更新 リクエストしたユーザーのプロフィールを3つの異なる公開レベルで更新します： publicProfile: すべてのユーザーに公開 followerProfile: このユーザーをフォローしているユーザーにのみ公開 friendProfile: このユーザーとフレンドのユーザーにのみ公開 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン publicProfile string ~ 1024文字 公開されるプロフィール 関係性に関わらずすべてのプレイヤーに表示されるプロフィール情報です。通常、表示名、アバター、その他公開可能な情報に使用されます。 followerProfile string ~ 1024文字 フォロワー向けに公開されるプロフィール このユーザーをフォローしているプレイヤーにのみ表示されるプロフィール情報です。公開プロフィールよりも詳細な情報（ゲームプレイ統計やステータスメッセージなど）を含むことができます。 friendProfile string ~ 1024文字 フレンド向けに公開されるプロフィール 相互フレンド関係が成立しているプレイヤーにのみ表示されるプロフィール情報です。最もプライベートなプロフィールレベルで、連絡先やプライベートメッセージなどの個人情報の共有に適しています。 Result 型 説明 item Profile 更新したプロフィール 実装例 updateProfileByUserId ユーザーIDを指定してプロフィールを更新 指定されたユーザーのプロフィールを3つの異なる公開レベルで更新します（サーバーサイド操作）： publicProfile: すべてのユーザーに公開 followerProfile: フォロワーにのみ公開 friendProfile: フレンドにのみ公開 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID publicProfile string ~ 1024文字 公開されるプロフィール 関係性に関わらずすべてのプレイヤーに表示されるプロフィール情報です。通常、表示名、アバター、その他公開可能な情報に使用されます。 followerProfile string ~ 1024文字 フォロワー向けに公開されるプロフィール このユーザーをフォローしているプレイヤーにのみ表示されるプロフィール情報です。公開プロフィールよりも詳細な情報（ゲームプレイ統計やステータスメッセージなど）を含むことができます。 friendProfile string ~ 1024文字 フレンド向けに公開されるプロフィール 相互フレンド関係が成立しているプレイヤーにのみ表示されるプロフィール情報です。最もプライベートなプロフィールレベルで、連絡先やプライベートメッセージなどの個人情報の共有に適しています。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Profile 更新したプロフィール 実装例 deleteProfileByUserId プロフィールを削除 指定されたユーザーのプロフィールデータを削除します（サーバーサイド操作）。 プロフィールの3つの公開レベル（公開、フォロワー向け、フレンド向け）すべてが削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Profile 削除したプロフィール 実装例 describeFriends フレンド一覧を取得 リクエストしたユーザーのフレンドのページネーション付きリストを取得します。 フレンドはフレンドリクエストの承諾時に成立する双方向の関係です。 withProfile を true に設定すると、各フレンドのプロフィール情報（フレンド向け公開分）も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン withProfile bool false プロフィールも一緒に取得するか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List フレンドのユーザーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeFriendsByUserId ユーザーIDを指定してフレンド一覧を取得 指定されたユーザーのフレンドのページネーション付きリストを取得します（サーバーサイド操作）。 withProfile を true に設定すると、各フレンドのプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID withProfile bool false プロフィールも一緒に取得するか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List フレンドのユーザーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeBlackList ブラックリストを取得 リクエストしたユーザーがブロックしたユーザーIDのページネーション付きリストを取得します。 ブロックされたユーザーはフレンドリクエストの送信やフォローができなくなります。 ユーザーIDのみを返し、完全なユーザープロフィールは含みません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ブラックリストに登録されたユーザーIDリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeBlackListByUserId ユーザーIDを指定してブラックリストを取得 指定されたユーザーがブロックしたユーザーIDのページネーション付きリストを取得します（サーバーサイド操作）。 ユーザーIDのみを返し、完全なユーザープロフィールは含みません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ブラックリストに登録されたユーザーIDリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 registerBlackList ブラックリストに登録 指定された対象ユーザーをリクエストしたユーザーのブラックリストに追加します。 ブロックされると、対象ユーザーはフレンドリクエストの送信やフォローができなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 ユーザーID Result 型 説明 item BlackList ブラックリスト 実装例 registerBlackListByUserId ユーザーIDを指定してブラックリストに登録 指定された対象ユーザーを指定されたユーザーのブラックリストに追加します（サーバーサイド操作）。 ブロックされると、対象ユーザーはフレンドリクエストの送信やフォローができなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BlackList ブラックリスト 実装例 unregisterBlackList ブラックリストからユーザーを削除 指定された対象ユーザーをリクエストしたユーザーのブラックリストから削除します。 削除後、対象ユーザーは再びフレンドリクエストの送信やフォローが可能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 ユーザーID Result 型 説明 item BlackList ブラックリスト 実装例 unregisterBlackListByUserId ユーザーIDを指定してブラックリストからユーザーを削除 指定された対象ユーザーを指定されたユーザーのブラックリストから削除します（サーバーサイド操作）。 削除後、対象ユーザーは再びフレンドリクエストの送信やフォローが可能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BlackList ブラックリスト 実装例 describeFollows フォローしているユーザーの一覧を取得 リクエストしたユーザーがフォローしているユーザーのページネーション付きリストを取得します。 withProfile を true に設定すると、各フォローユーザーのプロフィール情報（フォロワー向け公開分）も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン withProfile bool false プロフィールも一緒に取得するか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List フォローしているユーザーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeFollowsByUserId ユーザーIDを指定してフォローしているユーザーの一覧を取得 指定されたユーザーがフォローしているユーザーのページネーション付きリストを取得します（サーバーサイド操作）。 withProfile を true に設定すると、各フォローユーザーのプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID withProfile bool false プロフィールも一緒に取得するか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List フォローしているユーザーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getFollow フォローしているユーザーを取得 リクエストしたユーザーがフォローしている特定のユーザー情報を取得します。 withProfile を true に設定すると、フォローユーザーのプロフィール情報（フォロワー向け公開分）も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 ユーザーID withProfile bool false プロフィールも一緒に取得するか Result 型 説明 item FollowUser フォローしているユーザー 実装例 getFollowByUserId ユーザーIDを指定してフォローしているユーザーを取得 指定されたユーザーがフォローしている特定のユーザー情報を取得します（サーバーサイド操作）。 withProfile を true に設定すると、フォローユーザーのプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 ユーザーID withProfile bool false プロフィールも一緒に取得するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FollowUser フォローしているユーザー 実装例 follow ユーザーをフォロー 指定された対象ユーザーをリクエストしたユーザーのフォローリストに追加します。 フォローは対象ユーザーの承認を必要としない一方向の関係です。 フォロー後、対象ユーザーのフォロワー向けプロフィール情報を閲覧できるようになります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 フォローしたい相手のユーザーID Result 型 説明 item FollowUser フォローしたユーザ 実装例 followByUserId ユーザーIDを指定してフォロー 指定された対象ユーザーを指定されたユーザーのフォローリストに追加します（サーバーサイド操作）。 フォローは対象ユーザーの承認を必要としない一方向の関係です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 フォローしたい相手のユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FollowUser フォローしたユーザ 実装例 unfollow ユーザーのフォローを解除 指定された対象ユーザーをリクエストしたユーザーのフォローリストから削除します。 フォロー解除後、対象ユーザーのフォロワー向けプロフィール情報を閲覧できなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 ユーザーID Result 型 説明 item FollowUser アンフォローしたユーザ 実装例 unfollowByUserId ユーザーIDを指定してフォローを解除 指定された対象ユーザーを指定されたユーザーのフォローリストから削除します（サーバーサイド操作）。 フォロー解除後、対象ユーザーのフォロワー向けプロフィール情報を閲覧できなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FollowUser アンフォローしたユーザ 実装例 getFriend フレンドを取得 リクエストしたユーザーの特定のフレンド情報を取得します。 withProfile を true に設定すると、フレンドのプロフィール情報（フレンド向け公開分）も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 ユーザーID withProfile bool false プロフィールも一緒に取得するか Result 型 説明 item FriendUser フレンドのユーザー 実装例 getFriendByUserId ユーザーIDを指定してフレンドを取得 指定されたユーザーの特定のフレンド情報を取得します（サーバーサイド操作）。 withProfile を true に設定すると、フレンドのプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 ユーザーID withProfile bool false プロフィールも一緒に取得するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FriendUser フレンドのユーザー 実装例 addFriend フレンドを追加 フレンドリクエストのフローを経由せず、指定された対象ユーザーをリクエストしたユーザーのフレンドとして直接追加します。 一方向のフレンド関係を作成します。追加後、対象ユーザーのプロフィールが読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 ユーザーID Result 型 説明 item FriendUser 追加したフレンドのユーザー 実装例 addFriendByUserId ユーザーIDを指定してフレンドを追加 フレンドリクエストのフローを経由せず、指定された対象ユーザーを指定されたユーザーのフレンドとして直接追加します（サーバーサイド操作）。 一方向のフレンド関係を作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FriendUser 追加したフレンドのユーザー 実装例 deleteFriend フレンドを削除 指定された対象ユーザーをリクエストしたユーザーのフレンドリストから削除します。 削除前に対象ユーザーのプロフィールが読み込まれ、削除されたフレンド情報が返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 ユーザーID Result 型 説明 item FriendUser 削除したフレンドのユーザー 実装例 deleteFriendByUserId ユーザーIDを指定してフレンドを削除 指定された対象ユーザーを指定されたユーザーのフレンドリストから削除します（サーバーサイド操作）。 削除されたフレンド情報が返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FriendUser 削除したフレンドのユーザー 実装例 describeSendRequests 送信したフレンドリクエストの一覧を取得 リクエストしたユーザーが送信した、応答待ちのフレンドリクエストのページネーション付きリストを取得します。 withProfile を true に設定すると、各リクエストの対象ユーザーのプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン withProfile bool false プロフィールも一緒に取得するか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List フレンドリクエストのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeSendRequestsByUserId ユーザーIDを指定して送信したフレンドリクエストの一覧を取得 指定されたユーザーが送信したフレンドリクエストのページネーション付きリストを取得します（サーバーサイド操作）。 withProfile を true に設定すると、各リクエストの対象ユーザーのプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID withProfile bool false プロフィールも一緒に取得するか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List フレンドリクエストのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getSendRequest 送信したフレンドリクエストを取得 リクエストしたユーザーが指定された対象ユーザーに送信した特定のフレンドリクエストを取得します。 withProfile を true に設定すると、対象ユーザーのプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 ユーザーID withProfile bool false プロフィールも一緒に取得するか Result 型 説明 item FriendRequest フレンドリクエスト 実装例 getSendRequestByUserId ユーザーIDを指定して送信したフレンドリクエストを取得 指定されたユーザーが指定された対象ユーザーに送信した特定のフレンドリクエストを取得します（サーバーサイド操作）。 withProfile を true に設定すると、対象ユーザーのプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 ユーザーID withProfile bool false プロフィールも一緒に取得するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FriendRequest フレンドリクエスト 実装例 sendRequest フレンドリクエストを送信 指定された対象ユーザーにフレンドリクエストを送信します。自分自身にはリクエストを送信できません。 自分の「現在のフレンド」の数が1000に達している場合は新しくリクエストを送信できません。 「未承諾フレンドリクエスト」が1個以上存在する場合は、最も古い「未承諾フレンドリクエスト」を取り下げて新しいリクエストを送信します。 フレンドリクエストを受け付ける側も、「未承諾のフレンドリクエスト」が1000件存在する場合は、最も古い「未承諾のフレンドリクエスト」を取り下げて新しいリクエストを受け入れます。 withProfile を true に設定すると、対象ユーザーのプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 フレンドになりたい相手のユーザーID withProfile bool false プロフィールも一緒に取得するか Result 型 説明 item FriendRequest 送信したフレンドリクエスト 実装例 sendRequestByUserId ユーザーIDを指定してフレンドリクエストを送信 指定されたユーザーの代わりに指定された対象ユーザーにフレンドリクエストを送信します（サーバーサイド操作）。自分自身にはリクエストを送信できません。 自分の「現在のフレンド」の数が1000に達している場合は新しくリクエストを送信できません。 「未承諾フレンドリクエスト」が1個以上存在する場合は、最も古い「未承諾フレンドリクエスト」を取り下げて新しいリクエストを送信します。 フレンドリクエストを受け付ける側も、「未承諾のフレンドリクエスト」が1000件存在する場合は、最も古い「未承諾のフレンドリクエスト」を取り下げて新しいリクエストを受け入れます。 withProfile を true に設定すると、対象ユーザーのプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 フレンドになりたい相手のユーザーID withProfile bool false プロフィールも一緒に取得するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FriendRequest 送信したフレンドリクエスト 実装例 deleteRequest 送信したフレンドリクエストを取り消し リクエストしたユーザーが指定された対象ユーザーに送信したフレンドリクエストを取り消し（削除）します。 リクエストは送信者の送信ボックスと受信者の受信ボックスの両方から削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 ユーザーID Result 型 説明 item FriendRequest 削除したフレンドリクエスト 実装例 deleteRequestByUserId ユーザーIDを指定して送信したフレンドリクエストを取り消し 指定されたユーザーが指定された対象ユーザーに送信したフレンドリクエストを取り消し（削除）します（サーバーサイド操作）。 リクエストは送信者の送信ボックスと受信者の受信ボックスの両方から削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FriendRequest 削除したフレンドリクエスト 実装例 describeReceiveRequests 受信したフレンドリクエストの一覧を取得 リクエストしたユーザーに送信された、承諾または拒否待ちのフレンドリクエストのページネーション付きリストを取得します。 withProfile を true に設定すると、各リクエストの送信者のプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン withProfile bool false プロフィールも一緒に取得するか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List フレンドリクエストのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeReceiveRequestsByUserId ユーザーIDを指定して受信したフレンドリクエストの一覧を取得 指定されたユーザーに送信されたフレンドリクエストのページネーション付きリストを取得します（サーバーサイド操作）。 withProfile を true に設定すると、各リクエストの送信者のプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID withProfile bool false プロフィールも一緒に取得するか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List フレンドリクエストのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getReceiveRequest 受信したフレンドリクエストを取得 指定された送信者からリクエストしたユーザーに送信された特定のフレンドリクエストを取得します。 withProfile を true に設定すると、送信者のプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン fromUserId string  ~ 128文字 ユーザーID withProfile bool false プロフィールも一緒に取得するか Result 型 説明 item FriendRequest フレンドリクエスト 実装例 getReceiveRequestByUserId ユーザーIDを指定して受信したフレンドリクエストを取得 指定された送信者から指定されたユーザーに送信された特定のフレンドリクエストを取得します（サーバーサイド操作）。 withProfile を true に設定すると、送信者のプロフィール情報も読み込まれて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID fromUserId string  ~ 128文字 ユーザーID withProfile bool false プロフィールも一緒に取得するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FriendRequest フレンドリクエスト 実装例 acceptRequest フレンドリクエストを承諾 指定された送信者からの保留中のフレンドリクエストを承諾します。 承諾すると、両ユーザー間に双方向のフレンド関係が確立され、フレンドリクエストは承諾済みとしてマークされます。 両ユーザーが互いのフレンドリストに表示され、フレンド向けプロフィール情報を閲覧できるようになります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item FriendRequest 承諾したフレンドリクエスト 実装例 acceptRequestByUserId ユーザーIDを指定してフレンドリクエストを承諾 指定されたユーザーに対する指定された送信者からの保留中のフレンドリクエストを承諾します（サーバーサイド操作）。 承諾すると、両ユーザー間に双方向のフレンド関係が確立されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID fromUserId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FriendRequest 承諾したフレンドリクエスト 実装例 rejectRequest フレンドリクエストを拒否 指定された送信者からの保留中のフレンドリクエストを拒否します。 フレンドリクエストは拒否済みとしてマークされ削除されます。フレンド関係は確立されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item FriendRequest 拒否したフレンドリクエスト 実装例 rejectRequestByUserId ユーザーIDを指定してフレンドリクエストを拒否 指定されたユーザーに対する指定された送信者からの保留中のフレンドリクエストを拒否します（サーバーサイド操作）。 フレンドリクエストは拒否済みとしてマークされ削除されます。フレンド関係は確立されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID fromUserId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FriendRequest 拒否したフレンドリクエスト 実装例 getPublicProfile 公開プロフィールを取得 指定されたユーザーのプロフィールのうち、公開部分のみを取得します。 フォローやフレンド状態に関係なく、すべてのユーザーに表示されるプロフィール情報です。 GetProfile とは異なり、対象ユーザーとの関係は不要です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item PublicProfile 公開プロフィール 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Friend SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Friend SDK API リファレンス","url":"/ja/api_reference/friend/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ゲートウェイ操作時のトランザクションの処理方法を制御する設定です。 firebaseSecret string ~ 1024文字 Firebase の通知送信に使用するシークレットトークン Firebase Cloud Messaging (FCM) のサーバーキーまたはシークレットトークンです。対象プレイヤーがオフラインでゲーム内の WebSocket 通知を受信できない場合に、モバイルプッシュ通知への転送を有効にするために必要です。 logSetting LogSetting ログの出力設定 ゲートウェイ操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、WebSocket セッション管理、通知配信、Firebase トークン操作の API リクエスト・レスポンスログを収集できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 WebSocketSession WebSocketSession WebSocketセッションはGS2サーバとクライアント間の持続的な接続で、リアルタイムに双方向通信を行います。 サーバに対してクライアント側から識別子としてユーザーIDを登録します。 詳細  webSocketSessionId string ※ ~ 1024文字 WebSocketセッション GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 connectionId string  ~ 128文字 コネクションID この WebSocket 接続に割り当てられた一意な識別子です。通知送信時に特定のクライアント接続を識別するために使用されます。 namespaceName string  ~ 128文字 ネームスペース名 userId string  ~ 128文字 ユーザーID sessionId string ~ 128文字 セッション ID この WebSocket 接続に関連付けることができるオプションのセッション識別子です。WebSocket セッションをアプリケーションレベルのセッションコンテキストと関連付けるために使用されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン FirebaseToken Firebaseデバイストークン Firebaseデバイストークンはモバイルプッシュ通知を利用する際に必要となります。 GS2-Gateway はゲーム内プッシュ通知機能を提供し、マッチメイキング完了時やミッション達成時にプッシュ通知を受けられますが 通知先のプレイヤーがオフラインだった場合にモバイルプッシュ通知に転送することができます。 その時に通知先のデバイスを特定し、通知するのに使用するのが Firebaseデバイストークン です。 名前の通り Firebase という外部サービスを利用するため、トークンの取得方法などの詳細情報は Firebase のドキュメントをご確認ください。 詳細  firebaseTokenId string ※ ~ 1024文字 Firebaseデバイストークン GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID token string  ~ 1024文字 Firebase Cloud Messaging のデバイストークン クライアントデバイスから取得した FCM 登録トークンです。プレイヤーがオフラインでゲーム内の WebSocket 通知を受信できない場合に、モバイルプッシュ通知を配信する特定のデバイスを識別します。トークンはデバイス固有で、アプリの再インストールやデータのクリア時に変更される場合があります。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SendNotificationEntry 通知送信エントリ プレイヤーに配信される通知メッセージを表します。オンラインのプレイヤーには最初に WebSocket 経由で通知が試みられます。プレイヤーがオフラインでモバイルプッシュ通知転送が有効な場合、Firebase Cloud Messaging 経由でプレイヤーのデバイスに通知が転送されます。 詳細  userId string  ~ 128文字 ユーザーID issuer string  ~ 256文字 通知元のサービス この通知を発行した GS2 サービスの識別子です。例えば、マッチメイキング完了通知の場合は “gs2-matchmaking”、ミッション達成通知の場合は “gs2-mission” などです。クライアントが通知の処理方法を決定するために使用されます。 subject string  ~ 128文字 タイトル 通知メッセージのタイトルまたは要約です。モバイルプッシュ通知として転送される場合、デバイス上で通知タイトルとして表示されます。 payload string  ~ 1024文字 ペイロード 通知の JSON データ本文です。通知をトリガーしたイベントに関するサービス固有の詳細情報を含みます。WebSocket 経由ではそのままクライアントに配信され、転送時にはモバイルプッシュ通知のデータに含まれます。 enableTransferMobileNotification bool false 通知先のユーザがオフラインだったときにモバイルプッシュ通知に転送するか 有効にすると、対象プレイヤーがアクティブな WebSocket 接続を持っていない場合、Firebase Cloud Messaging 経由でモバイルデバイスに通知が転送されます。ネームスペースに Firebase シークレットが設定され、プレイヤーがデバイストークンを登録済みである必要があります。 sound string {enableTransferMobileNotification} == true ~ 256文字 再生する音声ファイル名 モバイルプッシュ通知が配信されたときに再生する音声ファイル名です。モバイルプッシュ通知転送が有効な場合にのみ適用されます。音声ファイルはクライアントアプリケーションバンドルに含まれている必要があります。 ※ enableTransferMobileNotification が true であれば 有効 メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ゲートウェイ操作時のトランザクションの処理方法を制御する設定です。 firebaseSecret string ~ 1024文字 Firebase の通知送信に使用するシークレットトークン Firebase Cloud Messaging (FCM) のサーバーキーまたはシークレットトークンです。対象プレイヤーがオフラインでゲーム内の WebSocket 通知を受信できない場合に、モバイルプッシュ通知への転送を有効にするために必要です。 logSetting LogSetting ログの出力設定 ゲートウェイ操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、WebSocket セッション管理、通知配信、Firebase トークン操作の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ゲートウェイ操作時のトランザクションの処理方法を制御する設定です。 firebaseSecret string ~ 1024文字 Firebase の通知送信に使用するシークレットトークン Firebase Cloud Messaging (FCM) のサーバーキーまたはシークレットトークンです。対象プレイヤーがオフラインでゲーム内の WebSocket 通知を受信できない場合に、モバイルプッシュ通知への転送を有効にするために必要です。 logSetting LogSetting ログの出力設定 ゲートウェイ操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、WebSocket セッション管理、通知配信、Firebase トークン操作の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeWebSocketSessions WebSocketセッションの一覧を取得 リクエストしたユーザーのアクティブなWebSocketセッションのページネーション付きリストを取得します。 各セッションはクライアントデバイスからのアクティブなWebSocket接続を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List WebSocketセッションのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeWebSocketSessionsByUserId ユーザーIDを指定してWebSocketセッションの一覧を取得 指定されたユーザーのアクティブなWebSocketセッションのページネーション付きリストを取得します（サーバーサイド操作）。 各セッションはクライアントデバイスからのアクティブなWebSocket接続を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List WebSocketセッションのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 setUserId WebSocketセッションにユーザーIDを設定 現在のWebSocket接続をユーザーIDに関連付け、セッションを作成または更新します。 allowConcurrentAccess が false の場合、同じユーザーの既存セッションは force フラグに基づいて処理されます： force が false で別のセッションが存在する場合、Conflict エラーが返されます（重複ログイン防止）。 force が true の場合、既存のセッションは切断されて置き換えられます。 sessionId が指定されている場合、同じ sessionId の接続は許可されます（再接続に便利）。 allowConcurrentAccess が true の場合、同一ユーザーからの複数同時接続が許可されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 connectionId string  ~ 128文字 コネクションID この WebSocket 接続に割り当てられた一意な識別子です。通知送信時に特定のクライアント接続を識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン allowConcurrentAccess bool true 同時に異なるクライアントからの接続を許容するか sessionId string {allowConcurrentAccess} == false ~ 128文字 allowConcurrentAccess を false にした場合でも、既存接続と同一の sessionId であれば接続を許可するために指定します。 ※ allowConcurrentAccess が false であれば有効 force bool? {allowConcurrentAccess} == false false 既存のWebSocketセッションを切断してから新しいWebSocketセッションを作成する。 ※ allowConcurrentAccess が false であれば有効 Result 型 説明 item WebSocketSession 更新したWebSocketセッション 実装例 setUserIdByUserId ユーザーIDを指定してWebSocketセッションにユーザーIDを設定 現在のWebSocket接続を指定されたユーザーIDに関連付けます（サーバーサイド操作）。 同時アクセス制御とセッション管理の動作は SetUserId と同じです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 connectionId string  ~ 128文字 コネクションID この WebSocket 接続に割り当てられた一意な識別子です。通知送信時に特定のクライアント接続を識別するために使用されます。 userId string  ~ 128文字 ユーザーID allowConcurrentAccess bool true 同時に異なるクライアントからの接続を許容するか sessionId string {allowConcurrentAccess} == false ~ 128文字 allowConcurrentAccess を false にした場合でも、既存接続と同一の sessionId であれば接続を許可するために指定します。 ※ allowConcurrentAccess が false であれば有効 force bool? {allowConcurrentAccess} == false false 既存のWebSocketセッションを切断してから新しいWebSocketセッションを作成する。 ※ allowConcurrentAccess が false であれば有効 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item WebSocketSession 更新したWebSocketセッション 実装例 sendNotification 通知を送信 指定されたユーザーのすべてのアクティブなWebSocketセッションに通知メッセージを送信します。 通知にはタイトルとペイロード、オプションで音声ファイル名が含まれます。 enableTransferMobileNotification が true でユーザーにアクティブなWebSocketセッションがない（オフライン）場合、Firebase を介してモバイルプッシュ通知として転送される場合があります。 使用されたプロトコルと通知を受信した接続IDのリストが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 userId string  ~ 128文字 ユーザーID subject string  ~ 128文字 タイトル 通知メッセージのタイトルまたは要約です。モバイルプッシュ通知として転送される場合、デバイス上で通知タイトルとして表示されます。 payload string  ~ 1024文字 ペイロード 通知の JSON データ本文です。通知をトリガーしたイベントに関するサービス固有の詳細情報を含みます。WebSocket 経由ではそのままクライアントに配信され、転送時にはモバイルプッシュ通知のデータに含まれます。 enableTransferMobileNotification bool false 通知先のユーザがオフラインだったときにモバイルプッシュ通知に転送するか 有効にすると、対象プレイヤーがアクティブな WebSocket 接続を持っていない場合、Firebase Cloud Messaging 経由でモバイルデバイスに通知が転送されます。ネームスペースに Firebase シークレットが設定され、プレイヤーがデバイストークンを登録済みである必要があります。 sound string {enableTransferMobileNotification} == true ~ 256文字 再生する音声ファイル名 モバイルプッシュ通知が配信されたときに再生する音声ファイル名です。モバイルプッシュ通知転送が有効な場合にのみ適用されます。音声ファイルはクライアントアプリケーションバンドルに含まれている必要があります。 ※ enableTransferMobileNotification が true であれば有効 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 protocol string 通知に使用したプロトコル sendConnectionIds List 送信した接続IDのリスト 実装例 disconnectByUserId ユーザーIDを指定してWebSocketセッションを切断 指定されたユーザーのすべてのアクティブなWebSocketセッションを切断して削除します。 切断されたセッションのリストが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 切断したWebSocketセッションリスト 実装例 disconnectAll 全てのWebSocketセッションを切断 指定されたネームスペース内のすべてのWebSocketセッションを切断します。 すべてのユーザーのセッションに影響するネームスペース全体の操作です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 Result 型 説明 実装例 setFirebaseToken Firebase デバイストークンを設定 リクエストしたユーザーの Firebase Cloud Messaging (FCM) デバイストークンを登録または更新します。 ユーザーのトークンが既に存在する場合は新しい値で更新され、存在しない場合は新規作成されます。 このトークンはユーザーがオフライン（アクティブなWebSocketセッションがない）時にモバイルプッシュ通知を配信するために使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン token string  ~ 1024文字 Firebase Cloud Messaging のデバイストークン クライアントデバイスから取得した FCM 登録トークンです。プレイヤーがオフラインでゲーム内の WebSocket 通知を受信できない場合に、モバイルプッシュ通知を配信する特定のデバイスを識別します。トークンはデバイス固有で、アプリの再インストールやデータのクリア時に変更される場合があります。 Result 型 説明 item FirebaseToken 作成したFirebaseデバイストークン 実装例 setFirebaseTokenByUserId ユーザーIDを指定して Firebase デバイストークンを設定 指定されたユーザーの Firebase Cloud Messaging (FCM) デバイストークンを登録または更新します（サーバーサイド操作）。 ユーザーのトークンが既に存在する場合は更新され、存在しない場合は新規作成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID token string  ~ 1024文字 Firebase Cloud Messaging のデバイストークン クライアントデバイスから取得した FCM 登録トークンです。プレイヤーがオフラインでゲーム内の WebSocket 通知を受信できない場合に、モバイルプッシュ通知を配信する特定のデバイスを識別します。トークンはデバイス固有で、アプリの再インストールやデータのクリア時に変更される場合があります。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FirebaseToken 作成したFirebaseデバイストークン 実装例 getFirebaseToken Firebase デバイストークンを取得 リクエストしたユーザーに登録されている Firebase Cloud Messaging (FCM) デバイストークンを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item FirebaseToken Firebaseデバイストークン 実装例 getFirebaseTokenByUserId ユーザーIDを指定して Firebase デバイストークンを取得 指定されたユーザーに登録されている Firebase Cloud Messaging (FCM) デバイストークンを取得します（サーバーサイド操作）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FirebaseToken Firebaseデバイストークン 実装例 deleteFirebaseToken Firebase デバイストークンを削除 リクエストしたユーザーに登録されている Firebase Cloud Messaging (FCM) デバイストークンを削除します。 削除後、ユーザーはオフライン時にモバイルプッシュ通知を受信できなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item FirebaseToken 削除したFirebaseデバイストークン 実装例 deleteFirebaseTokenByUserId ユーザーIDを指定して Firebase デバイストークンを削除 指定されたユーザーに登録されている Firebase Cloud Messaging (FCM) デバイストークンを削除します（サーバーサイド操作）。 削除後、ユーザーはオフライン時にモバイルプッシュ通知を受信できなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item FirebaseToken 削除したFirebaseデバイストークン 実装例 sendMobileNotificationByUserId モバイルプッシュ通知を送信 Firebase Cloud Messaging (FCM) を介して指定されたユーザーにモバイルプッシュ通知を送信します。 通知にはタイトル（subject）、ペイロード（body）、オプションで音声ファイル名が含まれます。 通知の配信にはユーザーが Firebase デバイストークンを登録済みである必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID subject string  ~ 256文字 タイトル payload string  ~ 1024文字 ペイロード sound string ~ 256文字 再生する音声ファイル名 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Gateway SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Gateway SDK API リファレンス","url":"/ja/api_reference/gateway/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 グレード操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 changeGradeScript ScriptSetting グレードが変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeGrade logSetting LogSetting ログの出力設定 グレード操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、グレード変更やランクキャップ更新の API リクエスト・レスポンスログを収集できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Status ステータス ステータスとはプロパティID毎に存在するエンティティで、 現在のグレードの値を保持します。 プロパティID とはステータス固有のIDで、開発者が任意の値を設定できます。 連動する GS2-Experience のプロパティIDと完全に一致する値を使用することを強く推奨しています。 詳細  statusId string ※ ~ 1024文字 ステータス GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 userId string  ~ 128文字 ユーザーID propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 gradeValue long 1 1 ~ 9223372036854775805 現在のグレード このステータスの現在のグレード値です。連動する GS2-Experience モデルのランクキャップを決定するために、グレードモデルのグレードエントリ配列のインデックスとして使用されます。この値が変更されると、関連する経験値ステータスのランクキャップが対応するグレードエントリで定義された値に自動更新されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン GradeModel グレードモデル グレードモデルとは、キャラクターや装備のランクを示すエンティティで、グレードによって GS2-Experience のランクキャップを設定することができます。 詳細  gradeModelId string ※ ~ 1024文字 グレードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 グレードモデル名 グレードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultGrades List 0 ~ 100 items デフォルトグレードモデルリスト 新規ステータス作成時に評価されるデフォルトグレードルールの順序付きリストです。各エントリはプロパティIDの正規表現パターンとマッチした場合に割り当てるグレード値を定義します。どのパターンにもマッチしない場合はデフォルトのグレード値 0 が使用されます。 experienceModelId string  ~ 1024文字 GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このグレードモデルと連動させる GS2-Experience の経験値モデルの GRN です。グレード値が変更されると、グレードエントリのマッピングに基づいて連動する経験値モデルのランクキャップが自動的に更新されます。これにより、高いグレードが高いランクキャップを解放するグレード駆動の成長が実現できます。 gradeEntries List  1 ~ 100 items グレードエントリーモデルリスト 各グレード値を連動する GS2-Experience モデルのランクキャップにマッピングするグレードエントリの順序付きリストです。配列のインデックスがグレード値に対応し、最初のエントリ（インデックス 0）がグレード 0 のランクキャップを、2番目がグレード 1 を定義します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト グレードに基づいて報酬量をスケーリングするための名前付き倍率テーブルのコレクションです。複数のテーブルを定義して、異なる種類の報酬（例: 経験値、通貨、アイテム）に異なるスケーリングルールを適用できます。 DefaultGradeModel デフォルトグレードモデル グレードを新規作成する際にプロパティIDの正規表現へのマッチに応じてデフォルトのグレード値を設定することができます。 詳細  propertyIdRegex string  ~ 1024文字 プロパティID正規表現 新規作成されたグレードステータスのプロパティIDに対してマッチングされる正規表現パターンです。プロパティIDがこのパターンにマッチすると、0 の代わりに指定されたデフォルトグレード値が初期グレードとして割り当てられます。パターンは順番に評価され、最初にマッチしたものが使用されます。 defaultGradeValue long  0 ~ 9223372036854775805 デフォルトのグレード値 プロパティIDが propertyIdRegex パターンにマッチした場合に新規作成されたステータスに割り当てられる初期グレード値です。このインデックスのグレードエントリが対応するランクキャップを定義するため、この値は連動する GS2-Experience モデルの開始ランクキャップを決定します。 GradeEntryModel グレードエントリーモデル グレード値と連動する GS2-Experience モデルのランクキャップのマッピングを定義します。各エントリはプロパティIDのマッチングに使用する正規表現パターンも指定し、グレードアップ操作に使用できるリソースとそのプロパティIDの変換方法を決定します。 詳細  metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 rankCapValue long  0 ~ 9223372036854775805 ランクキャップ値 このグレードが適用された際に連動する GS2-Experience モデルに設定するランクキャップ値です。プレイヤーのグレードがこのエントリに対応する値に変更されると、関連する経験値ステータスのランクキャップがこの値に自動更新され、到達可能な最大ランクが制御されます。 propertyIdRegex string  ~ 1024文字 プロパティID正規表現 グレードアップマッチング用の変数を抽出するために、グレードステータスのプロパティIDに適用される正規表現パターンです。このパターン内のキャプチャグループ（括弧で囲まれた部分）は gradeUpPropertyIdRegex で $1、$2 などとして利用できます。例えば “character-(.+)” というパターンはキャラクター識別子を抽出し、グレードアップ素材のプロパティIDマッチングに使用します。 gradeUpPropertyIdRegex string  ~ 1024文字 グレードアップ用プロパティID正規表現 グレード昇格のために消費できるリソースのプロパティIDを特定する正規表現パターンです。このパターンは propertyIdRegex のキャプチャグループを $1、$2 などで参照できます。例えば propertyIdRegex で “sword-001” を $1 として抽出した場合、このパターンを “grade-up-material-$1” とすることで、その剣に固有の素材をマッチさせることができます。 AcquireActionRate 報酬加算テーブル 現在のグレード値に基づいて報酬量をスケーリングする名前付き倍率テーブルを定義します。各グレード値は入手アクションに適用される倍率にマッピングされ、高いグレードのキャラクターや装備がより多くの報酬を受け取れるようになります。標準的な倍精度浮動小数点数モードと、非常に大きな値に対応するビッグナンバーモードの両方をサポートします。 詳細  name string  ~ 128文字 報酬加算テーブル名 グレードモデル内でこの倍率テーブルを一意に識別する名前です。トランザクションの特定の入手アクションにグレードベースの報酬スケーリングを適用する際に参照されます。 mode 文字列列挙型 enum {   “double”,   “big” } “double” 報酬加算テーブルの種類 倍率値の数値精度モードを選択します。“double” モードはほとんどのケースに適した標準的な浮動小数点数を使用します。“big” モードは最大1024桁までの文字列表現の数値を使用し、非常に大きな値の計算を必要とするゲームに対応します。 定義 説明 “double” 2^48 未満の浮動小数点数 “big” 文字列表記で1024桁未満の浮動小数点数 rates List {mode} == “double” ※ 1 ~ 1000 items グレードごとの倍率リスト（double モード） グレード値でインデックスされた報酬倍率の配列で、倍精度浮動小数点数を使用します。インデックス 0 のエントリがグレード 0 の倍率、インデックス 1 がグレード 1 の倍率となります。mode が “double” に設定されている場合に使用されます。 ※ mode が “double” であれば 必須 bigRates List {mode} == “big” ※ 1 ~ 1000 items グレードごとの倍率リスト（big モード） グレード値でインデックスされた報酬倍率の配列で、拡張精度のために文字列表現の数値を使用します。インデックス 0 のエントリがグレード 0 の倍率、インデックス 1 がグレード 1 の倍率となります。非常に大きな数値計算を必要とするゲーム向けに、mode が “big” に設定されている場合に使用されます。 ※ mode が “big” であれば 必須 AcquireAction 入手アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか CurrentGradeMaster 現在アクティブなグレードモデルのマスターデータ 現在ネームスペース内で有効な、グレードモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Grade マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ GradeModelMaster グレードモデルマスター グレードモデルマスターは、ゲーム内で使用されるグレードモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるグレードモデルとして反映されます。 グレードモデルとは、キャラクターや装備のランクを示すエンティティで、グレードによって GS2-Experience のランクキャップを設定することができます。 詳細  gradeModelId string ※ ~ 1024文字 グレードモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 グレードモデル名 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultGrades List 0 ~ 100 items デフォルトグレードモデルリスト 新規ステータス作成時に評価されるデフォルトグレードルールの順序付きリストです。各エントリはプロパティIDの正規表現パターンとマッチした場合に割り当てるグレード値を定義します。どのパターンにもマッチしない場合はデフォルトのグレード値 0 が使用されます。 experienceModelId string  ~ 1024文字 GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このグレードモデルと連動させる GS2-Experience の経験値モデルの GRN です。グレード値が変更されると、グレードエントリのマッピングに基づいて連動する経験値モデルのランクキャップが自動的に更新されます。これにより、高いグレードが高いランクキャップを解放するグレード駆動の成長が実現できます。 gradeEntries List 0 ~ 100 items グレードエントリーモデルリスト 各グレード値を連動する GS2-Experience モデルのランクキャップにマッピングするグレードエントリの順序付きリストです。配列のインデックスがグレード値に対応し、最初のエントリ（インデックス 0）がグレード 0 のランクキャップを、2番目がグレード 1 を定義します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト グレードに基づいて報酬量をスケーリングするための名前付き倍率テーブルのコレクションです。複数のテーブルを定義して、異なる種類の報酬（例: 経験値、通貨、アイテム）に異なるスケーリングルールを適用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 グレード操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 changeGradeScript ScriptSetting グレードが変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeGrade logSetting LogSetting ログの出力設定 グレード操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、グレード変更やランクキャップ更新の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 グレード操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 changeGradeScript ScriptSetting グレードが変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeGrade logSetting LogSetting ログの出力設定 グレード操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、グレード変更やランクキャップ更新の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeStatuses ステータスの一覧を取得 リクエストしたユーザーのグレードステータスのページネーション付きリストを取得します。 各ステータスは特定のグレードモデルとプロパティIDに関連付けられたグレード値を表します。 オプションでグレードモデル名フィルタを指定して、特定のグレードモデルのステータスのみを取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gradeName string ~ 128文字 グレードモデル名 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ステータスのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeStatusesByUserId ユーザーIDを指定してステータスの一覧を取得 指定されたユーザーのグレードステータスのページネーション付きリストを取得します（サーバーサイド操作）。 各ステータスは特定のグレードモデルとプロパティIDに関連付けられたグレード値を表します。 オプションでグレードモデル名フィルタを指定して、特定のグレードモデルのステータスのみを取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gradeName string ~ 128文字 グレードモデル名 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ステータスのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getStatus ステータスを取得 グレードモデル名とプロパティIDで識別される、リクエストしたユーザーのグレードステータスを取得します。 指定されたプロパティの現在のグレード値を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 Result 型 説明 item Status ステータス 実装例 getStatusByUserId ユーザーIDを指定してステータスを取得 グレードモデル名とプロパティIDで識別される、指定されたユーザーのグレードステータスを取得します（サーバーサイド操作）。 指定されたプロパティの現在のグレード値を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステータス 実装例 addGradeByUserId ユーザーIDを指定してグレードを加算 指定されたグレードモデルとプロパティに対して、ユーザーの現在のグレードに指定値を加算します。 グレード値の更新後、リンクされた GS2-Experience ステータスにランクキャップが自動的に適用されます。 ランクキャップ値は新しいグレードレベルに一致するグレードエントリから決定され。 更新されたグレードステータスとともに、Experience ネームスペース名と更新された Experience ステータスを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 gradeValue long 0 0 ~ 9223372036854775805 獲得グレード timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 加算後のステータス experienceNamespaceName string GS2-Experience ネームスペース名 experienceStatus Status ランクキャップ更新後の GS2-Experience ステータス 実装例 subGrade グレードを減算 指定されたグレードモデルとプロパティに対して、リクエストしたユーザーの現在のグレードから指定値を減算します。 グレード値の更新後、リンクされた GS2-Experience ステータスにランクキャップが自動的に適用されます。 ランクキャップ値は新しいグレードレベルに一致するグレードエントリから決定され。 更新されたグレードステータスとともに、Experience ネームスペース名と更新された Experience ステータスを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 gradeValue long 0 0 ~ 9223372036854775805 失うグレード Result 型 説明 item Status 減算後のステータス experienceNamespaceName string GS2-Experience ネームスペース名 experienceStatus Status ランクキャップ更新後の GS2-Experience ステータス 実装例 subGradeByUserId ユーザーIDを指定してグレードを減算 指定されたグレードモデルとプロパティに対して、指定されたユーザーの現在のグレードから指定値を減算します（サーバーサイド操作）。 グレード値の更新後、リンクされた GS2-Experience ステータスにランクキャップが自動的に適用されます。 ランクキャップ値は新しいグレードレベルに一致するグレードエントリから決定され。 更新されたグレードステータスとともに、Experience ネームスペース名と更新された Experience ステータスを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 gradeValue long 0 0 ~ 9223372036854775805 失うグレード timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 減算後のステータス experienceNamespaceName string GS2-Experience ネームスペース名 experienceStatus Status ランクキャップ更新後の GS2-Experience ステータス 実装例 setGradeByUserId 累計獲得グレードを設定 指定されたユーザーのグレードステータスのグレード値を直接設定します（サーバーサイド操作）。 更新前のグレードステータスが記録され、監査目的で ‘old’ フィールドとして返されます。 新しいグレード値の設定後、リンクされた GS2-Experience ステータスにランクキャップが自動的に適用されます。 ランクキャップ値は新しいグレードレベルに一致するグレードエントリから決定され。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 gradeValue long 1 1 ~ 9223372036854775805 現在のグレード このステータスの現在のグレード値です。連動する GS2-Experience モデルのランクキャップを決定するために、グレードモデルのグレードエントリ配列のインデックスとして使用されます。この値が変更されると、関連する経験値ステータスのランクキャップが対応するグレードエントリで定義された値に自動更新されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 更新後のステータス old Status 更新前のステータス experienceNamespaceName string GS2-Experience ネームスペース名 experienceStatus Status ランクキャップ更新後の GS2-Experience ステータス 実装例 applyRankCap GS2-Experienceステータスにランクキャップを適用 リクエストしたユーザーの現在のグレードに対応するランクキャップを、リンクされた GS2-Experience ステータスに適用します。 現在のグレード値に一致するグレードエントリを参照してランクキャップ値を決定し。 グレードが外部で変更され、Experience のランクキャップを同期する必要がある場合に有用です。 更新されたグレードステータスとともに、Experience ネームスペース名と更新された Experience ステータスを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 Result 型 説明 item Status ステータス experienceNamespaceName string GS2-Experience ネームスペース名 experienceStatus Status ランクキャップ更新後の GS2-Experience ステータス 実装例 applyRankCapByUserId ユーザーIDを指定して GS2-Experienceステータスにランクキャップを適用 指定されたユーザーの現在のグレードに対応するランクキャップを、リンクされた GS2-Experience ステータスに適用します（サーバーサイド操作）。 現在のグレード値に一致するグレードエントリを参照してランクキャップ値を決定し。 グレードが外部で変更され、Experience のランクキャップを同期する必要がある場合に有用です。 更新されたグレードステータスとともに、Experience ネームスペース名と更新された Experience ステータスを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステータス experienceNamespaceName string GS2-Experience ネームスペース名 experienceStatus Status ランクキャップ更新後の GS2-Experience ステータス 実装例 deleteStatusByUserId ユーザーIDを指定してステータスを削除 グレードモデル名とプロパティIDで識別される、指定されたユーザーのグレードステータスを削除します（サーバーサイド操作）。 削除されたステータスデータがレスポンスで返されます。 リンクされた GS2-Experience のランクキャップは自動的には更新されないことに注意してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 削除したステータス 実装例 verifyGrade グレードを検証 リクエストしたユーザーのグレード値が指定された条件を満たすことを検証します。 6つの比較演算子をサポートします：less（未満）、lessEqual（以下）、greater（超過）、greaterEqual（以上）、equal（一致）、notEqual（不一致）。 条件が満たされない場合、期待値と実際の値を含む説明的なエラーメッセージが返されます。 multiplyValueSpecifyingQuantity が true の場合、検証の閾値は指定された数量で乗算されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” グレードが指定値未満であること “lessEqual” グレードが指定値以下であること “greater” グレードが指定値超過であること “greaterEqual” グレードが指定値以上であること “equal” グレードが指定値と一致すること “notEqual” グレードが指定値と一致しないこと propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 gradeValue long 1 1 ~ 9223372036854775805 現在のグレード このステータスの現在のグレード値です。連動する GS2-Experience モデルのランクキャップを決定するために、グレードモデルのグレードエントリ配列のインデックスとして使用されます。この値が変更されると、関連する経験値ステータスのランクキャップが対応するグレードエントリで定義された値に自動更新されます。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Status 削除したステータス 実装例 verifyGradeByUserId ユーザーIDを指定してグレードを検証 指定されたユーザーのグレード値が指定された条件を満たすことを検証します（サーバーサイド操作）。 6つの比較演算子をサポートします：less（未満）、lessEqual（以下）、greater（超過）、greaterEqual（以上）、equal（一致）、notEqual（不一致）。 条件が満たされない場合、期待値と実際の値を含む説明的なエラーメッセージが返されます。 multiplyValueSpecifyingQuantity が true の場合、検証の閾値は指定された数量で乗算されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” グレードが指定値未満であること “lessEqual” グレードが指定値以下であること “greater” グレードが指定値超過であること “greaterEqual” グレードが指定値以上であること “equal” グレードが指定値と一致すること “notEqual” グレードが指定値と一致しないこと propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 gradeValue long 1 1 ~ 9223372036854775805 現在のグレード このステータスの現在のグレード値です。連動する GS2-Experience モデルのランクキャップを決定するために、グレードモデルのグレードエントリ配列のインデックスとして使用されます。この値が変更されると、関連する経験値ステータスのランクキャップが対応するグレードエントリで定義された値に自動更新されます。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 削除したステータス 実装例 verifyGradeUpMaterial グレードアップに使用する素材を検証 素材のプロパティIDが指定されたプロパティのグレードアップに有効かどうかを検証します。 検証はグレードエントリの PropertyIdRegex と GradeUpPropertyIdRegex から正規表現パターンを構築し、素材のプロパティIDがマッチするかを確認します。 2つの検証タイプをサポートします：‘match’（素材がパターンにマッチすること）と ’notMatch’（素材がパターンにマッチしないこと）。 グレードアップのために消費する素材アイテムが適格であることを検証するために使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 verifyType 文字列列挙型 enum {   “match”,   “notMatch” }  検証の種類 定義 説明 “match” 条件に一致していること “notMatch” 条件に一致していないこと propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 materialPropertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 Result 型 説明 実装例 verifyGradeUpMaterialByUserId ユーザーIDを指定してグレードアップに使用する素材を検証 指定されたユーザーの指定されたプロパティのグレードアップに素材のプロパティIDが有効かどうかを検証します（サーバーサイド操作）。 検証はグレードエントリの PropertyIdRegex と GradeUpPropertyIdRegex から正規表現パターンを構築し、素材のプロパティIDがマッチするかを確認します。 2つの検証タイプをサポートします：‘match’（素材がパターンにマッチすること）と ’notMatch’（素材がパターンにマッチしないこと）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 verifyType 文字列列挙型 enum {   “match”,   “notMatch” }  検証の種類 定義 説明 “match” 条件に一致していること “notMatch” 条件に一致していないこと propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 materialPropertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 multiplyAcquireActionsByUserId グレードに基づくレートで入手アクションを乗算 指定された入手アクションの数量を、ユーザーの現在のグレードに基づくレート乗数で乗算します。 レート乗数は指定された rateName と現在のグレード値を使用して、グレードモデルの acquireActionRates から参照されます。 乗算された入手アクションはトランザクションとして実行され、グレードに基づく報酬スケーリング（例：高グレードほど多くのリソースを獲得）を実現します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 rateName string  ~ 128文字 報酬加算テーブル名 グレードモデル内でこの倍率テーブルを一意に識別する名前です。トランザクションの特定の入手アクションにグレードベースの報酬スケーリングを適用する際に参照されます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 報酬 transactionId string 発行されたトランザクションID stampSheet string スタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 describeGradeModels グレードモデルの一覧を取得 指定されたネームスペースで現在有効化（公開）されているグレードモデルの一覧を取得します。 グレードモデルはグレードエントリ、デフォルトグレード、リンクされたエクスペリエンスモデル、入手アクションレート乗数を含むグレード構造を定義します。 グレードモデルマスターとは異なり、読み取り専用で現在使用中の構成を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List グレードモデルリスト 実装例 getGradeModel グレードモデルを取得 名前を指定して、特定の現在有効なグレードモデルの詳細情報を取得します。 リンクされたエクスペリエンスサービスの進行レベルと関連するランクキャップ値を定義するグレードエントリを含みます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gradeName string  ~ 128文字 グレードモデル名 グレードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item GradeModel グレードモデル 実装例 exportMaster グレードモデルマスターを有効化可能なマスターデータ形式でエクスポート ネームスペース内のすべてのグレードモデルマスター定義を、有効化に適した単一のJSONドキュメントとしてエクスポートします。 エクスポートされるデータにはグレードエントリ、デフォルトグレード、エクスペリエンスモデルリンク、入手アクションレートを含むグレードモデルが含まれます。 有効化前のマスターデータの確認や、現在のマスター設定のバックアップに使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentGradeMaster 有効化可能なグレードモデルのマスターデータ 実装例 getCurrentGradeMaster 現在アクティブなグレードモデルのマスターデータを取得 指定されたネームスペースで現在有効化され使用中のグレードモデルマスターデータを取得します。 返されるデータには、現在ランタイムリクエストを処理しているすべてのグレードモデルのJSON定義が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentGradeMaster 現在アクティブなグレードモデルのマスターデータ 実装例 preUpdateCurrentGradeMaster 現在アクティブなグレードモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentGradeMaster 現在アクティブなグレードモデルのマスターデータを更新 新しいグレードモデルマスターデータを有効化し、現在アクティブな設定を置き換えます。 2つのモードをサポートします：‘direct’ はインラインのマスターデータ（1MB未満のデータに適合）、‘preUpload’ は PreUpdate で事前にアップロードしたデータを適用します。 有効化後、すべてのグレード関連のランタイム操作（グレード参照、ランクキャップ適用、入手アクションレート乗算）は新しい設定を使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentGradeMaster 更新された現在アクティブなグレードモデルのマスターデータ 実装例 updateCurrentGradeMasterFromGitHub 現在アクティブなグレードモデルのマスターデータをGitHubから更新 指定されたGitHubリポジトリからグレードモデルマスターデータをチェックアウトし、有効化します。 チェックアウト設定でリポジトリ、ブランチ/タグ、取得するファイルパスを指定します。 グレード設定がリポジトリでバージョン管理されるGitベースのマスターデータ管理ワークフローを可能にします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentGradeMaster 更新された現在アクティブなグレードモデルのマスターデータ 実装例 describeGradeModelMasters グレードモデルマスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能なグレードモデルマスターのページネーション付きリストを取得します。 グレードモデルマスターはグレードエントリ、デフォルトグレード、リンクされたエクスペリエンスモデル、入手アクションレートを含むグレード構造を定義します。 マスターへの変更は、CurrentGradeMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 グレードモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List グレードモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createGradeModelMaster グレードモデルマスターを新規作成 新しい編集可能なグレードモデルマスター定義を作成します。 主な設定項目： defaultGrades: 新規ユーザーの初期グレード値 experienceModelId: ランクキャップ管理のために GS2-Experience モデルにリンク gradeEntries: 各グレードレベルのランクキャップ値とプロパティIDマッチングパターンを定義 acquireActionRates: 現在のグレードに基づいて入手アクションに適用されるレート乗数 変更は CurrentGradeMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 グレードモデル名 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultGrades List 0 ~ 100 items デフォルトグレードモデルリスト 新規ステータス作成時に評価されるデフォルトグレードルールの順序付きリストです。各エントリはプロパティIDの正規表現パターンとマッチした場合に割り当てるグレード値を定義します。どのパターンにもマッチしない場合はデフォルトのグレード値 0 が使用されます。 experienceModelId string  ~ 1024文字 GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN gradeEntries List 0 ~ 100 items グレードエントリーモデルリスト 各グレード値を連動する GS2-Experience モデルのランクキャップにマッピングするグレードエントリの順序付きリストです。配列のインデックスがグレード値に対応し、最初のエントリ（インデックス 0）がグレード 0 のランクキャップを、2番目がグレード 1 を定義します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト グレードに基づいて報酬量をスケーリングするための名前付き倍率テーブルのコレクションです。複数のテーブルを定義して、異なる種類の報酬（例: 経験値、通貨、アイテム）に異なるスケーリングルールを適用できます。 Result 型 説明 item GradeModelMaster 作成したグレードモデルマスター 実装例 getGradeModelMaster グレードモデルマスターを取得 名前を指定して、特定の編集可能なグレードモデルマスターの詳細情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gradeName string  ~ 128文字 グレードモデル名 Result 型 説明 item GradeModelMaster グレードモデルマスター 実装例 updateGradeModelMaster グレードモデルマスターを更新 既存のグレードモデルマスターの説明、メタデータ、デフォルトグレード、エクスペリエンスモデルリンク、グレードエントリ、入手アクションレートを更新します。 グレードモデル名は作成後に変更できません。 変更は CurrentGradeMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gradeName string  ~ 128文字 グレードモデル名 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultGrades List 0 ~ 100 items デフォルトグレードモデルリスト 新規ステータス作成時に評価されるデフォルトグレードルールの順序付きリストです。各エントリはプロパティIDの正規表現パターンとマッチした場合に割り当てるグレード値を定義します。どのパターンにもマッチしない場合はデフォルトのグレード値 0 が使用されます。 experienceModelId string  ~ 1024文字 GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN gradeEntries List 0 ~ 100 items グレードエントリーモデルリスト 各グレード値を連動する GS2-Experience モデルのランクキャップにマッピングするグレードエントリの順序付きリストです。配列のインデックスがグレード値に対応し、最初のエントリ（インデックス 0）がグレード 0 のランクキャップを、2番目がグレード 1 を定義します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト グレードに基づいて報酬量をスケーリングするための名前付き倍率テーブルのコレクションです。複数のテーブルを定義して、異なる種類の報酬（例: 経験値、通貨、アイテム）に異なるスケーリングルールを適用できます。 Result 型 説明 item GradeModelMaster 更新したグレードモデルマスター 実装例 deleteGradeModelMaster グレードモデルマスターを削除 編集可能なグレードモデルマスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gradeName string  ~ 128文字 グレードモデル名 Result 型 説明 item GradeModelMaster 削除したグレードモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Grade SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Grade SDK API リファレンス","url":"/ja/api_reference/grade/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 blockingPolicy BlockingPolicyModel  ブロッキングポリシー GS2 サービスへのアクセスを制御するこのネームスペースのセキュリティポリシー設定です。アクセス可能なサービス、地理的制限ルール、匿名IP検知、ホスティングプロバイダーIP検知、レピュテーションベースのIPフィルタリング、カスタムIPアドレスの許可/拒否リストを定義します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン BlockingPolicyModel ブロッキングポリシー GS2-Guard ネームスペースの包括的なアクセス制御ルールを定義します。サービスレベルのアクセス制御、国別の地理的制限、匿名IP検知（Tor/プロキシ）、ホスティングプロバイダーIP検知（VPN/レンタルサーバー）、IPレピュテーションフィルタリング、カスタムIPアドレスの許可/拒否リストなど、複数のセキュリティレイヤーを組み合わせます。 詳細  passServices List  1 ~ 100 items アクセス可能なGS2サービスのリスト このガードネームスペースを通じてクライアントがアクセスを許可される GS2 サービスのリストです。このリストに含まれるサービスのみがブロッキングポリシーの保護対象になります。少なくとも1つのサービスを指定する必要があります。 defaultRestriction 文字列列挙型 enum {   “Allow”,   “Deny” } “Allow” 制限の方針 設定された検知ルールのいずれにもマッチしないリクエストに適用されるデフォルトアクションです。“Allow” はマッチしないトラフィックをすべて許可し（ブロックリスト方式）、“Deny” はマッチしないトラフィックをすべてブロックします（許可リスト方式）。 定義 説明 “Allow” 条件に一致しないアクセスを許可 “Deny” 条件に一致しないアクセスを拒否 locationDetection 文字列列挙型 enum {   “Enable”,   “Disable” } “Disable” アクセス元国検知 クライアントのアクセス元の国に基づく地理的制限を有効または無効にします。有効にすると、国別にアクセスがフィルタリングされます。具体的な国と許可/拒否の動作は locations および locationRestriction フィールドで設定します。 定義 説明 “Enable” 有効 “Disable” 無効 locations List {locationDetection} == “Enable” [] 1 ~ 100 items アクセスを検知する国リスト 地理的制限フィルタリングに使用される国のリストです。各国は ISO 3166-1 alpha-2 国コードで指定します。これらの国が許可されるか拒否されるかは locationRestriction 設定によって決定されます。locationDetection が有効な場合にのみ有効です。 ※ locationDetection が “Enable” であれば 有効 locationRestriction 文字列列挙型 enum {   “Allow”,   “Deny” } {locationDetection} == “Enable” ※ 国リストマッチ時のアクション locations リストに含まれる国からのリクエストに対して実行するアクションです。“Allow” はリストに含まれる国からのアクセスのみを許可し（許可リスト）、“Deny” はリストに含まれる国からのアクセスをブロックします（ブロックリスト）。locationDetection および locations リストと連携して動作します。 定義 説明 “Allow” アクセスを許可 “Deny” アクセスを拒否 ※ locationDetection が “Enable” であれば 必須 anonymousIpDetection 文字列列挙型 enum {   “Enable”,   “Disable” } “Disable” 匿名IPサービス検知 Tor 出口ノードやパブリックプロキシなどの匿名IPサービスからのアクセス検知を有効または無効にします。有効にすると、これらのソースからのリクエストが識別・評価されます。 定義 説明 “Enable” 有効 “Disable” 無効 anonymousIpRestriction 文字列列挙型 enum {   “Deny” } {anonymousIpDetection} == “Enable” “Deny” 匿名IP検知時のアクション 匿名IPサービス（Tor/パブリックプロキシ）からのアクセスが検知された場合に実行するアクションです。現在はそのようなアクセスをブロックする “Deny” のみをサポートしています。anonymousIpDetection が有効な場合にのみ有効です。 定義 説明 “Deny” アクセスを拒否 ※ anonymousIpDetection が “Enable” であれば 有効 hostingProviderIpDetection 文字列列挙型 enum {   “Enable”,   “Disable” } “Disable” ホスティングサービス検知 パブリック VPN サービスやレンタルサーバーなどのホスティングプロバイダーのIPアドレスからのアクセス検知を有効または無効にします。有効にすると、エンドユーザーデバイスではなくクラウドインフラやホスティングサービスから発信されたトラフィックが識別・評価されます。 定義 説明 “Enable” 有効 “Disable” 無効 hostingProviderIpRestriction 文字列列挙型 enum {   “Deny” } {hostingProviderIpDetection} == “Enable” “Deny” ホスティングサービス検知時のアクション ホスティングプロバイダーIP（パブリック VPN/レンタルサーバー）からのアクセスが検知された場合に実行するアクションです。現在はそのようなアクセスをブロックする “Deny” のみをサポートしています。hostingProviderIpDetection が有効な場合にのみ有効です。 定義 説明 “Deny” アクセスを拒否 ※ hostingProviderIpDetection が “Enable” であれば 有効 reputationIpDetection 文字列列挙型 enum {   “Enable”,   “Disable” } “Disable” 悪意のあるアクセス元IP検知 既知の悪評を持つIPアドレスからのアクセス検知を有効または無効にします。有効にすると、ボット、DDoS攻撃、その他の悪意のある活動に関連付けられたIPが識別・評価されます。 定義 説明 “Enable” 有効 “Disable” 無効 reputationIpRestriction 文字列列挙型 enum {   “Deny” } {reputationIpDetection} == “Enable” “Deny” 悪意のあるアクセス元IP検知時のアクション 悪評を持つIPからのアクセスが検知された場合に実行するアクションです。現在はそのようなアクセスをブロックする “Deny” のみをサポートしています。reputationIpDetection が有効な場合にのみ有効です。 定義 説明 “Deny” アクセスを拒否 ※ reputationIpDetection が “Enable” であれば 有効 ipAddressesDetection 文字列列挙型 enum {   “Enable”,   “Disable” } “Disable” アクセス元IP検知 カスタムIPアドレスベースのアクセスフィルタリングを有効または無効にします。有効にすると、ipAddresses フィールドで指定されたカスタムIPアドレスリストに対してリクエストが評価されます。許可/拒否の動作は ipAddressRestriction で制御されます。 定義 説明 “Enable” 有効 “Disable” 無効 ipAddresses List {ipAddressesDetection} == “Enable” 0 ~ 100 items IPアドレスレンジリスト カスタムIPベースのアクセスフィルタリングに使用される CIDR 表記のIPアドレスレンジのリストです。各受信リクエストのソースIPがこれらのレンジに対して評価されます。マッチしたIPが許可されるか拒否されるかは ipAddressRestriction で制御されます。ipAddressesDetection が有効な場合にのみ有効です。 ※ ipAddressesDetection が “Enable” であれば 有効 ipAddressRestriction 文字列列挙型 enum {   “Allow”,   “Deny” } {ipAddressesDetection} == “Enable” ※ IPアドレスリストマッチ時のアクション リクエストのソースIPがカスタムIPアドレスリストにマッチした場合に実行するアクションです。“Allow” はリストに含まれるIPからのアクセスのみを許可し（許可リスト）、“Deny” はリストに含まれるIPからのアクセスをブロックします（ブロックリスト）。ipAddressesDetection が有効な場合にのみ有効です。 定義 説明 “Allow” アクセスを許可 “Deny” アクセスを拒否 ※ ipAddressesDetection が “Enable” であれば 必須 メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内の GS2-Guard ネームスペースのページネーション付きリストを取得します。 各ネームスペースはIPアドレス検出、匿名IP遮断、レピュテーションベースのIPフィルタリングなどのアクセス制限を制御するブロッキングポリシーを定義します。 オプションで名前の接頭辞フィルタを指定して結果を絞り込むことができます。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 指定されたブロッキングポリシーで新しい GS2-Guard ネームスペースを作成します。 ブロッキングポリシーはIPアドレス検出、匿名IP遮断、レピュテーションベースのIPフィルタリングなどのアクセス制御ルールを定義します。 ネームスペースは初期状態で「Deploying」ステータスで作成され、デプロイ完了後に「Active」ステータスに遷移します。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 blockingPolicy BlockingPolicyModel  ブロッキングポリシー GS2 サービスへのアクセスを制御するこのネームスペースのセキュリティポリシー設定です。アクセス可能なサービス、地理的制限ルール、匿名IP検知、ホスティングプロバイダーIP検知、レピュテーションベースのIPフィルタリング、カスタムIPアドレスの許可/拒否リストを定義します。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定された GS2-Guard ネームスペースの現在のデプロイステータスを取得します。 ステータスは「Deploying」（初回デプロイまたは更新中）、「Active」（デプロイ完了、ネームスペースは稼働中）、「Deleting」（クリーンアップ中）があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定された GS2-Guard ネームスペースの詳細情報を取得します。 返されるデータにはネームスペース名、説明、現在のデプロイステータス、およびアクセス制御ルールを含む設定済みのブロッキングポリシーが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定された GS2-Guard ネームスペースの説明とブロッキングポリシーを更新します。 ネームスペースが「Active」ステータスである必要があり、デプロイ中の場合は更新が拒否されます。 更新後、新しいブロッキングポリシーの適用中はネームスペースが「Deploying」ステータスになり、完了後に「Active」に戻ります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 blockingPolicy BlockingPolicyModel  ブロッキングポリシー GS2 サービスへのアクセスを制御するこのネームスペースのセキュリティポリシー設定です。アクセス可能なサービス、地理的制限ルール、匿名IP検知、ホスティングプロバイダーIP検知、レピュテーションベースのIPフィルタリング、カスタムIPアドレスの許可/拒否リストを定義します。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定された GS2-Guard ネームスペースを削除します。 デプロイがまだ進行中の場合、デプロイが完了するまで削除は拒否されます。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 GS2-Guard マイクロサービスの現在のバージョンを返します。 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Guard SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Guard SDK API リファレンス","url":"/ja/api_reference/guard/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ギルド操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 changeNotification NotificationSetting ギルド変更通知 ギルド情報（表示名、属性、参加ポリシーなど）が更新されたときに GS2-Gateway 経由で送信されるプッシュ通知です。ギルドメンバーがギルドの変更についてリアルタイムで更新を受け取ることができます。 joinNotification NotificationSetting メンバー参加通知 新しいメンバーがギルドに参加したときに GS2-Gateway 経由で送信されるプッシュ通知です。自由参加または参加リクエストの承認によるものの両方に対応します。既存メンバーが新規追加を通知されるようになります。 leaveNotification NotificationSetting メンバー離脱通知 メンバーがギルドから離脱または除籍されたときに GS2-Gateway 経由で送信されるプッシュ通知です。自発的な脱退とギルドマスターによる追放の両方に対応します。 changeMemberNotification NotificationSetting メンバー変更通知 ギルドメンバーの情報（ロール、メタデータ）が更新されたときに GS2-Gateway 経由で送信されるプッシュ通知です。メタデータの変更でこの通知がトリガーされるかどうかは changeMemberNotificationIgnoreChangeMetadata で制御できます。 changeMemberNotificationIgnoreChangeMetadata bool? false メンバーの情報が更新されたときの通知を発行する際にメタデータの変更を無視する receiveRequestNotification NotificationSetting リクエスト受信通知 ユーザーからの新しい参加リクエストをギルドが受信したときに GS2-Gateway 経由で送信されるプッシュ通知です。ギルドマスターや権限を持つメンバーが承認待ちのリクエストを通知されるようになります。 removeRequestNotification NotificationSetting リクエスト削除通知 ギルド参加リクエストが削除されたときに GS2-Gateway 経由で送信されるプッシュ通知です。送信者によるキャンセル、ギルドによる拒否、または承認（リクエスト削除とメンバー追加）のいずれかに対応します。 createGuildScript ScriptSetting ギルドを作成するときに実行するスクリプトの設定 Script トリガーリファレンス - createGuild updateGuildScript ScriptSetting ギルドを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updateGuild joinGuildScript ScriptSetting ギルドに参加するときに実行するスクリプトの設定 Script トリガーリファレンス - joinGuild receiveJoinRequestScript ScriptSetting ギルドに参加申請を受け付けたときに実行するスクリプトの設定 Script トリガーリファレンス - receiveJoinRequest leaveGuildScript ScriptSetting ギルドを脱退するときに実行するスクリプトの設定 Script トリガーリファレンス - leaveGuild changeRoleScript ScriptSetting メンバーに割り当てているロールを変更するときに実行するスクリプトの設定 Script トリガーリファレンス - changeRole deleteGuildScript ScriptSetting ギルドを削除するときに実行するスクリプトの設定 Script トリガーリファレンス - deleteGuild logSetting LogSetting ログの出力設定 ギルド操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、ギルド作成、参加、脱退、ロール変更の API リクエスト・レスポンスログを収集できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。 詳細  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Guild ギルド ギルドは最大5個の属性を持つことができ、ギルドの検索やギルド一覧表示の際に利用できます。 ギルドには参加ポリシーを設定でき、自由参加と承認制を選択できます。 自由参加を選択した場合、ギルドへの参加リクエストを行うと即座にギルドメンバーとなります。 承認制を選択した場合、ギルドへの参加リクエストを行うとギルドマスターまたはギルドメンバーが承認するまでギルドメンバーにはなりません。 ギルドメンバーにはロールを設定でき、ギルドマスター、ギルドメンバーに加えてギルドが独自に定義した最大10個のカスタムロールを設定できます。 ギルドメンバーはギルドに参加した際にデフォルトで付与されるロールを設定できます。 詳細  guildId string ※ ~ 1024文字 ギルド GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 displayName string  ~ 64文字 表示名 UI でプレイヤーに表示されるギルドの人間が読める名前です。ギルド名（システム生成の UUID）とは異なり、表示名はギルド作成者が設定し、更新も可能です。ギルド検索結果、メンバーリスト、その他のプレイヤー向け表示に使用されます。 attribute1 int 0 ~ 2147483645 属性1 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。レベル、地域、プレイスタイル、アクティビティ要件などのカスタムギルドプロパティを定義するために、最大5つの属性を開発者が利用できます。 attribute2 int 0 ~ 2147483645 属性2 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute3 int 0 ~ 2147483645 属性3 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute4 int 0 ~ 2147483645 属性4 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute5 int 0 ~ 2147483645 属性5 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 metadata string ~ 1024文字 ギルドのメタデータ GS2 の動作に影響しないギルドに関連付けられた任意のデータです。ギルドの紋章、説明、募集メッセージ、その他のカスタムデータなど、ゲーム固有の情報を保存するために使用できます。 joinPolicy 文字列列挙型 enum {   “anybody”,   “approval” }  参加方針 ユーザーがこのギルドにどのように参加できるかを制御します。“anybody” は承認なしで任意のユーザーが即座に参加できます。“approval” はユーザーがメンバーになる前にギルドマスターまたは権限を持つメンバーが参加リクエストを承認する必要があります。ギルドマスターがいつでも変更可能です。 定義 説明 “anybody” 自由参加 “approval” 承認制 customRoles List [] 0 ~ 10 items カスタムロールリスト モデルレベルのロールをオーバーライドまたは拡張するギルド固有のカスタムロール定義のリストです。各ギルドは固有の権限セットを持つ最大10個のカスタムロールを定義できます。これらのロールはモデルレベルのロールに加えてメンバーに割り当てることができます。 guildMemberDefaultRole string ~ 128文字 デフォルトカスタムロール この特定のギルドに新しいメンバーが参加した際に自動的に割り当てられるカスタムロールです。設定した場合、このギルドに対してギルドモデルの guildMemberDefaultRole をオーバーライドします。customRoles リストで定義されたロールを参照する必要があります。 currentMaximumMemberCount int  1 ~ 2147483646 現在の最大メンバー数 このギルドが持つことができるメンバーの現在の最大数です。ギルド作成時にギルドモデルの defaultMaximumMemberCount で初期化され、ギルド操作や入手アクション（例: ギルド拡張アイテム）を通じて maximumMemberCount まで増加させることができます。 members List [] 0 ~ 100 items ギルドメンバーリスト ギルドマスターと一般メンバーを含む、このギルドの全現在メンバーのリストです。各エントリにはメンバーのユーザーID、割り当てられたロール、メタデータ、参加タイムスタンプが含まれます。メンバー数は currentMaximumMemberCount を超えることができません。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン JoinedGuild 参加中のギルド 特定のギルドへのユーザーのメンバーシップを表します。ユーザーがギルドに参加した際（直接参加またはリクエスト承認）に作成され、ユーザーが離脱または追放された際に削除されます。ユーザーが現在どのギルドに所属しているかを追跡し、maxConcurrentJoinGuilds 制限の適用を可能にします。 詳細  joinedGuildId string ※ ~ 1024文字 参加中のギルド GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 guildModelName string  ~ 128文字 ギルドモデル名 参加中のギルドが属するギルドモデルの名前です。メンバーシップ制限、ロール設定、その他のギルドタイプ設定を含むギルドモデル定義を参照します。 guildName string  ~ 128文字 ギルド名 ユーザーが参加したギルドの一意な名前（UUID）です。ギルドモデル内の特定のギルドインスタンスを識別するために使用されます。 userId string  ~ 128文字 ユーザーID createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 LastGuildMasterActivity 最後のギルドマスターアクティビティ ギルド内でギルドマスターが最後にアクティビティを行った日時を追跡します。このタイムスタンプは非アクティブベースの継承システムで使用されます。ギルドモデルで設定された inactivityPeriodDays がギルドマスターのアクティビティなしに経過すると、リーダーシップを別のメンバーに自動的に移譲できます。各ギルドはギルドマスターがギルド操作を行うたびに更新される1つのアクティビティレコードを持ちます。 詳細  userId string  ~ 128文字 ユーザーID updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 ReceiveMemberRequest 受信した参加リクエスト メンバーの登録申請を受け付けた状態であることを表すエンティティです。 該当ギルドが受け付けた参加リクエストです。 該当ギルドが承認を行うと参加リクエストは削除され、メンバーリストに登録されます。 詳細  userId string  ~ 128文字 ユーザーID このギルドに参加リクエストを送信したプレイヤーのGS2ユーザーIDです。申請者を識別し、承認時にギルドのメンバーリストに追加するため、または拒否時に通知するために使用されます。 targetGuildName string  ~ 128文字 宛先ギルド名 この参加リクエストを受信したギルドの一意な名前（UUID）です。この保留中のリクエストを受信ボックスに持つ特定のギルドインスタンスを識別し、ギルドのメンバー管理操作とリクエストを照合するために使用されます。 metadata string ~ 512文字 メタデータ 自己紹介メッセージや申請理由など、申請者がこの参加リクエストに添付した任意のデータです。ギルドマスターがリクエストの承認または拒否を判断する際にこのデータを確認できます。最大512文字です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 SendMemberRequest 送信した参加リクエスト メンバーの登録を申請中である状態を表すエンティティです。 該当ユーザーがほかのユーザーに対して送信した参加リクエストです。 送信先のユーザーが承認を行うと参加リクエストは削除され、メンバーリストに登録されます。 詳細  userId string  ~ 128文字 ユーザーID このギルド参加リクエストを送信したプレイヤーのGS2ユーザーIDです。リクエスト元のユーザーを識別し、承認時にギルドのメンバーリストに追加するために使用されます。 targetGuildName string  ~ 128文字 宛先ギルド名 参加リクエストが送信されたギルドの一意な名前（UUID）です。ユーザーが参加をリクエストしている特定のギルドインスタンスを識別し、リクエスト処理のためにギルドの受信ボックスを特定するために使用されます。 metadata string ~ 512文字 メタデータ 自己紹介メッセージや申請理由など、この参加リクエストに添付される任意のデータです。ギルドマスターがリクエストを審査する際にこのデータが表示され、承認判断の参考にできます。最大512文字です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 IgnoreUser 拒否ユーザー 特定のギルドへの参加がブロックされているユーザーを表します。ユーザーが拒否リストに追加されると、参加リクエストは自動的に拒否され、参加ポリシーが自由参加に設定されていてもギルドに参加できません。ギルドマスターが不要なメンバーを管理するために使用します。 詳細  userId string  ~ 128文字 ユーザーID createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 GuildModel ギルドモデル ギルドモデルとは、ギルドの加入可能最大人数の設定や、ギルド内での役職ごとの権限設定を持つエンティティです。 詳細  guildModelId string ※ ~ 1024文字 ギルドモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultMaximumMemberCount int  1 ~ 2147483646 デフォルト最大メンバー数 新しいギルドが作成される際に許可されるメンバーの初期最大数です。この値は新規ギルドの currentMaximumMemberCount の初期値として使用されます。ギルド操作や入手アクションを通じて、後から maximumMemberCount の上限まで増加させることができます。 maximumMemberCount int  1 ~ 2147483646 最大メンバー数上限 ギルドが持つことができるメンバー数の絶対的な上限です。ギルドの currentMaximumMemberCount はこの値を超えることができません。ギルドが意図されたサイズを超えて成長するのを防ぐハードキャップとして機能します。 inactivityPeriodDays int 7 1 ~ 365 無活動期間（日数） ギルドマスターの無活動がこの日数を超えた場合に、残りのギルドメンバーから新しいギルドマスターが自動的に選出されます。ギルドマスターがプレイを停止した際にギルドが管理不能になるのを防ぎます。 roles List  1 ~ 10 items ロールモデルリスト このタイプのギルド内で利用可能なロール定義のリストです。guildMasterRole および guildMemberDefaultRole で参照されるロールを少なくとも含む必要があります。各ロールはポリシードキュメントを介して固有の権限セットを定義します。最大10個のロールを定義できます。 guildMasterRole string  ~ 128文字 ギルドマスターロール名 ギルドマスターに割り当てられるロールの名前です。roles リストで定義されたロールを参照する必要があります。ギルドマスターは通常、参加リクエストの承認、メンバー追放、ロール変更、ギルド設定の更新など、ギルドを管理する全権限を持ちます。 guildMemberDefaultRole string  ~ 128文字 デフォルトメンバーロール名 新しいギルドメンバーが参加した際に自動的に割り当てられるロールの名前です。roles リストで定義されたロールを参照する必要があります。これはギルドマスターによるロール変更前の一般メンバーの基本権限セットです。 rejoinCoolTimeMinutes int 0 0 ~ 2147483646 再参加クールタイム（分） ユーザーがギルドを離脱した後、再度ギルドに参加できるようになるまでのクールダウン期間（分）です。0 に設定すると即時再参加が可能になります。ユーザーが繰り返しギルドに参加・離脱する悪用パターンを防止します。 maxConcurrentJoinGuilds int 1 ~ 10 同時参加可能ギルド最大数 ユーザーがこのタイプのギルドに同時にメンバーとして参加できる最大数です。プレイヤーが複数のギルドに同時に所属できるデザイン（例: 戦闘ギルドとソーシャルギルド）を可能にします。値は 1 から 10 の範囲です。 maxConcurrentGuildMasterCount int 1 ~ 100 同時存在可能ギルドマスター最大数 1つのギルドに同時に存在できるギルドマスターの最大人数です。複数のプレイヤーがギルドマスターの責任と権限を共有する共同リーダーシップのデザインを可能にします。値は 1 から 100 の範囲です。 RoleModel ロールモデル ロールモデルはギルド内での役割を定義し、その役割ごと実行できる処理に関する権限を設定します。 詳細  name string  ~ 128文字 ロールモデル名 ロールモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 policyDocument string  ~ 10240文字 ポリシードキュメント このロールの権限を定義する JSON 形式のポリシードキュメントです。このロールに割り当てられたメンバーに対して、どのギルド操作（参加リクエストの承認/拒否、メンバー追放、ギルド情報の更新、メンバーロールの変更など）が許可または拒否されるかを指定します。 Member メンバー ギルドメンバーの一覧を管理するエンティティ 詳細  userId string  ~ 128文字 ユーザーID roleName string  ~ 128文字 ロールモデル名 ロールモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 512文字 ギルドメンバーのメタデータ GS2 の動作に影響しないこのギルドメンバーに関連付けられた任意のデータです。貢献ポイント、最終ログイン時間、ギルド役員に表示されるメモなど、メンバー固有の情報を保存するために使用できます。 joinedAt long ※ 現在時刻 参加日時 UNIX 時間・ミリ秒 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか CurrentGuildMaster 現在アクティブなギルドモデルのマスターデータ 現在ネームスペース内で有効な、ギルドモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Guild マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ GuildModelMaster ギルドモデルマスター ギルドモデルマスターは、ゲーム内で使用されるギルドモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるギルドモデルとして反映されます。 ギルドモデルマスターとは、ギルドの加入可能最大人数の設定や、ギルド内での役職ごとの権限設定を持つエンティティです。 詳細  guildModelId string ※ ~ 1024文字 ギルドモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultMaximumMemberCount int  0 ~ 2147483646 デフォルト最大メンバー数 新しいギルドが作成される際に許可されるメンバーの初期最大数です。この値は新規ギルドの currentMaximumMemberCount の初期値として使用されます。ギルド操作や入手アクションを通じて、後から maximumMemberCount の上限まで増加させることができます。 maximumMemberCount int  0 ~ 2147483646 最大メンバー数上限 ギルドが持つことができるメンバー数の絶対的な上限です。ギルドの currentMaximumMemberCount はこの値を超えることができません。ギルドが意図されたサイズを超えて成長するのを防ぐハードキャップとして機能します。 inactivityPeriodDays int 7 1 ~ 365 無活動期間（日数） ギルドマスターの無活動がこの日数を超えた場合に、残りのギルドメンバーから新しいギルドマスターが自動的に選出されます。ギルドマスターがプレイを停止した際にギルドが管理不能になるのを防ぎます。 roles List  1 ~ 10 items ロールモデルリスト このタイプのギルド内で利用可能なロール定義のリストです。guildMasterRole および guildMemberDefaultRole で参照されるロールを少なくとも含む必要があります。最大10個のロールを定義できます。 guildMasterRole string  ~ 128文字 ギルドマスターロール名 ギルドマスターに割り当てられるロールの名前です。roles リストで定義されたロールを参照する必要があります。ギルドマスターは通常、ギルドを管理する全権限を持ちます。 guildMemberDefaultRole string  ~ 128文字 デフォルトメンバーロール名 新しいギルドメンバーが参加した際に自動的に割り当てられるロールの名前です。roles リストで定義されたロールを参照する必要があります。 rejoinCoolTimeMinutes int 0 0 ~ 2147483646 再参加クールタイム（分） ユーザーがギルドを離脱した後、再度ギルドに参加できるようになるまでのクールダウン期間（分）です。0 に設定すると即時再参加が可能になります。ユーザーが繰り返しギルドに参加・離脱する悪用パターンを防止します。 maxConcurrentJoinGuilds int 1 ~ 10 同時参加可能ギルド最大数 ユーザーがこのタイプのギルドに同時にメンバーとして参加できる最大数です。値は 1 から 10 の範囲です。 maxConcurrentGuildMasterCount int 1 ~ 100 同時存在可能ギルドマスター最大数 1つのギルドに同時に存在できるギルドマスターの最大人数です。共同リーダーシップのデザインを可能にします。値は 1 から 100 の範囲です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ギルド操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 changeNotification NotificationSetting ギルド変更通知 ギルド情報（表示名、属性、参加ポリシーなど）が更新されたときに GS2-Gateway 経由で送信されるプッシュ通知です。ギルドメンバーがギルドの変更についてリアルタイムで更新を受け取ることができます。 joinNotification NotificationSetting メンバー参加通知 新しいメンバーがギルドに参加したときに GS2-Gateway 経由で送信されるプッシュ通知です。自由参加または参加リクエストの承認によるものの両方に対応します。既存メンバーが新規追加を通知されるようになります。 leaveNotification NotificationSetting メンバー離脱通知 メンバーがギルドから離脱または除籍されたときに GS2-Gateway 経由で送信されるプッシュ通知です。自発的な脱退とギルドマスターによる追放の両方に対応します。 changeMemberNotification NotificationSetting メンバー変更通知 ギルドメンバーの情報（ロール、メタデータ）が更新されたときに GS2-Gateway 経由で送信されるプッシュ通知です。メタデータの変更でこの通知がトリガーされるかどうかは changeMemberNotificationIgnoreChangeMetadata で制御できます。 changeMemberNotificationIgnoreChangeMetadata bool? false メンバーの情報が更新されたときの通知を発行する際にメタデータの変更を無視する receiveRequestNotification NotificationSetting リクエスト受信通知 ユーザーからの新しい参加リクエストをギルドが受信したときに GS2-Gateway 経由で送信されるプッシュ通知です。ギルドマスターや権限を持つメンバーが承認待ちのリクエストを通知されるようになります。 removeRequestNotification NotificationSetting リクエスト削除通知 ギルド参加リクエストが削除されたときに GS2-Gateway 経由で送信されるプッシュ通知です。送信者によるキャンセル、ギルドによる拒否、または承認（リクエスト削除とメンバー追加）のいずれかに対応します。 createGuildScript ScriptSetting ギルドを作成するときに実行するスクリプトの設定 Script トリガーリファレンス - createGuild updateGuildScript ScriptSetting ギルドを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updateGuild joinGuildScript ScriptSetting ギルドに参加するときに実行するスクリプトの設定 Script トリガーリファレンス - joinGuild receiveJoinRequestScript ScriptSetting ギルドに参加申請を受け付けたときに実行するスクリプトの設定 Script トリガーリファレンス - receiveJoinRequest leaveGuildScript ScriptSetting ギルドを脱退するときに実行するスクリプトの設定 Script トリガーリファレンス - leaveGuild changeRoleScript ScriptSetting メンバーに割り当てているロールを変更するときに実行するスクリプトの設定 Script トリガーリファレンス - changeRole deleteGuildScript ScriptSetting ギルドを削除するときに実行するスクリプトの設定 Script トリガーリファレンス - deleteGuild logSetting LogSetting ログの出力設定 ギルド操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、ギルド作成、参加、脱退、ロール変更の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ギルド操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 changeNotification NotificationSetting ギルド変更通知 ギルド情報（表示名、属性、参加ポリシーなど）が更新されたときに GS2-Gateway 経由で送信されるプッシュ通知です。ギルドメンバーがギルドの変更についてリアルタイムで更新を受け取ることができます。 joinNotification NotificationSetting メンバー参加通知 新しいメンバーがギルドに参加したときに GS2-Gateway 経由で送信されるプッシュ通知です。自由参加または参加リクエストの承認によるものの両方に対応します。既存メンバーが新規追加を通知されるようになります。 leaveNotification NotificationSetting メンバー離脱通知 メンバーがギルドから離脱または除籍されたときに GS2-Gateway 経由で送信されるプッシュ通知です。自発的な脱退とギルドマスターによる追放の両方に対応します。 changeMemberNotification NotificationSetting メンバー変更通知 ギルドメンバーの情報（ロール、メタデータ）が更新されたときに GS2-Gateway 経由で送信されるプッシュ通知です。メタデータの変更でこの通知がトリガーされるかどうかは changeMemberNotificationIgnoreChangeMetadata で制御できます。 changeMemberNotificationIgnoreChangeMetadata bool? false メンバーの情報が更新されたときの通知を発行する際にメタデータの変更を無視する receiveRequestNotification NotificationSetting リクエスト受信通知 ユーザーからの新しい参加リクエストをギルドが受信したときに GS2-Gateway 経由で送信されるプッシュ通知です。ギルドマスターや権限を持つメンバーが承認待ちのリクエストを通知されるようになります。 removeRequestNotification NotificationSetting リクエスト削除通知 ギルド参加リクエストが削除されたときに GS2-Gateway 経由で送信されるプッシュ通知です。送信者によるキャンセル、ギルドによる拒否、または承認（リクエスト削除とメンバー追加）のいずれかに対応します。 createGuildScript ScriptSetting ギルドを作成するときに実行するスクリプトの設定 Script トリガーリファレンス - createGuild updateGuildScript ScriptSetting ギルドを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updateGuild joinGuildScript ScriptSetting ギルドに参加するときに実行するスクリプトの設定 Script トリガーリファレンス - joinGuild receiveJoinRequestScript ScriptSetting ギルドに参加申請を受け付けたときに実行するスクリプトの設定 Script トリガーリファレンス - receiveJoinRequest leaveGuildScript ScriptSetting ギルドを脱退するときに実行するスクリプトの設定 Script トリガーリファレンス - leaveGuild changeRoleScript ScriptSetting メンバーに割り当てているロールを変更するときに実行するスクリプトの設定 Script トリガーリファレンス - changeRole deleteGuildScript ScriptSetting ギルドを削除するときに実行するスクリプトの設定 Script トリガーリファレンス - deleteGuild logSetting LogSetting ログの出力設定 ギルド操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、ギルド作成、参加、脱退、ロール変更の API リクエスト・レスポンスログを収集できます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 searchGuilds ギルドを検索 さまざまなフィルタ条件を使用してギルドを検索します。 displayName（部分一致）、整数属性（attributes1-5）、参加ポリシーによるフィルタリングをサポートします。 結果はプレイヤー数、属性値（昇順/降順）、最終更新日時でソートできます。 デフォルトではメンバーが満員のギルドは除外されます。includeFullMembersGuild を true に設定すると含めることができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン displayName string ~ 64文字 検索するギルド表示名 attributes1 List 0 ~ 10 items 検索する属性1 attributes2 List 0 ~ 10 items 検索する属性2 attributes3 List 0 ~ 10 items 検索する属性3 attributes4 List 0 ~ 10 items 検索する属性4 attributes5 List 0 ~ 10 items 検索する属性5 joinPolicies List 0 ~ 10 items 検索するギルド参加方法リスト includeFullMembersGuild bool? false ギルドメンバーが満員のギルドを検索結果に含めるか orderBy 文字列列挙型 enum {   “number_of_players”,   “attribute1_asc”,   “attribute1_desc”,   “attribute2_asc”,   “attribute2_desc”,   “attribute3_asc”,   “attribute3_desc”,   “attribute4_asc”,   “attribute4_desc”,   “attribute5_asc”,   “attribute5_desc”,   “last_updated” } “number_of_players” 並び順 定義 説明 “number_of_players” 参加プレイヤー数 “attribute1_asc” 属性1昇順 “attribute1_desc” 属性1降順 “attribute2_asc” 属性2昇順 “attribute2_desc” 属性2降順 “attribute3_asc” 属性3昇順 “attribute3_desc” 属性3降順 “attribute4_asc” 属性4昇順 “attribute4_desc” 属性4降順 “attribute5_asc” 属性5昇順 “attribute5_desc” 属性5降順 “last_updated” 最終更新日時 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ギルドのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 searchGuildsByUserId ユーザーIDを指定してギルドを検索 さまざまなフィルタ条件を使用してギルドを検索します（サーバーサイド操作）。 ユーザー向けバージョンと同じフィルタリング、ソート、満員ギルド除外オプションが適用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID displayName string ~ 64文字 検索するギルド表示名 attributes1 List 0 ~ 10 items 検索する属性1 attributes2 List 0 ~ 10 items 検索する属性2 attributes3 List 0 ~ 10 items 検索する属性3 attributes4 List 0 ~ 10 items 検索する属性4 attributes5 List 0 ~ 10 items 検索する属性5 joinPolicies List 0 ~ 10 items 検索するギルド参加方法リスト includeFullMembersGuild bool? false ギルドメンバーが満員のギルドを検索結果に含めるか orderBy 文字列列挙型 enum {   “number_of_players”,   “attribute1_asc”,   “attribute1_desc”,   “attribute2_asc”,   “attribute2_desc”,   “attribute3_asc”,   “attribute3_desc”,   “attribute4_asc”,   “attribute4_desc”,   “attribute5_asc”,   “attribute5_desc”,   “last_updated” } “number_of_players” 並び順 定義 説明 “number_of_players” 参加プレイヤー数 “attribute1_asc” 属性1昇順 “attribute1_desc” 属性1降順 “attribute2_asc” 属性2昇順 “attribute2_desc” 属性2降順 “attribute3_asc” 属性3昇順 “attribute3_desc” 属性3降順 “attribute4_asc” 属性4昇順 “attribute4_desc” 属性4降順 “attribute5_asc” 属性5昇順 “attribute5_desc” 属性5降順 “last_updated” 最終更新日時 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ギルドのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createGuild ギルドを新規作成 新しいギルドを作成し、リクエストしたユーザーをギルドマスターとして自動的に登録します。 作成前にユーザーの maxConcurrentJoinGuilds 制限を超えていないことが検証されます。 ギルドには表示名、カスタム属性（attribute1-5）、参加ポリシー、カスタムロール、デフォルトメンバーロールを設定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 displayName string  ~ 64文字 表示名 UI でプレイヤーに表示されるギルドの人間が読める名前です。ギルド名（システム生成の UUID）とは異なり、表示名はギルド作成者が設定し、更新も可能です。ギルド検索結果、メンバーリスト、その他のプレイヤー向け表示に使用されます。 attribute1 int 0 ~ 2147483645 属性1 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。レベル、地域、プレイスタイル、アクティビティ要件などのカスタムギルドプロパティを定義するために、最大5つの属性を開発者が利用できます。 attribute2 int 0 ~ 2147483645 属性2 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute3 int 0 ~ 2147483645 属性3 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute4 int 0 ~ 2147483645 属性4 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute5 int 0 ~ 2147483645 属性5 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 metadata string ~ 1024文字 ギルドのメタデータ GS2 の動作に影響しないギルドに関連付けられた任意のデータです。ギルドの紋章、説明、募集メッセージ、その他のカスタムデータなど、ゲーム固有の情報を保存するために使用できます。 memberMetadata string ~ 512文字 ギルドメンバーのメタデータ GS2 の動作に影響しないこのギルドメンバーに関連付けられた任意のデータです。貢献ポイント、最終ログイン時間、ギルド役員に表示されるメモなど、メンバー固有の情報を保存するために使用できます。 joinPolicy 文字列列挙型 enum {   “anybody”,   “approval” }  参加方針 ユーザーがこのギルドにどのように参加できるかを制御します。“anybody” は承認なしで任意のユーザーが即座に参加できます。“approval” はユーザーがメンバーになる前にギルドマスターまたは権限を持つメンバーが参加リクエストを承認する必要があります。ギルドマスターがいつでも変更可能です。 定義 説明 “anybody” 自由参加 “approval” 承認制 customRoles List [] 0 ~ 10 items カスタムロールリスト モデルレベルのロールをオーバーライドまたは拡張するギルド固有のカスタムロール定義のリストです。各ギルドは固有の権限セットを持つ最大10個のカスタムロールを定義できます。これらのロールはモデルレベルのロールに加えてメンバーに割り当てることができます。 guildMemberDefaultRole string ~ 128文字 デフォルトカスタムロール この特定のギルドに新しいメンバーが参加した際に自動的に割り当てられるカスタムロールです。設定した場合、このギルドに対してギルドモデルの guildMemberDefaultRole をオーバーライドします。customRoles リストで定義されたロールを参照する必要があります。 Result 型 説明 item Guild 作成したギルド 実装例 createGuildByUserId ユーザーIDを指定してギルドを新規作成 指定されたユーザーをギルドマスターとして新しいギルドを作成します（サーバーサイド操作）。 ユーザー向けバージョンと同じ maxConcurrentJoinGuilds 検証が適用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 displayName string  ~ 64文字 表示名 UI でプレイヤーに表示されるギルドの人間が読める名前です。ギルド名（システム生成の UUID）とは異なり、表示名はギルド作成者が設定し、更新も可能です。ギルド検索結果、メンバーリスト、その他のプレイヤー向け表示に使用されます。 attribute1 int 0 ~ 2147483645 属性1 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。レベル、地域、プレイスタイル、アクティビティ要件などのカスタムギルドプロパティを定義するために、最大5つの属性を開発者が利用できます。 attribute2 int 0 ~ 2147483645 属性2 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute3 int 0 ~ 2147483645 属性3 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute4 int 0 ~ 2147483645 属性4 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute5 int 0 ~ 2147483645 属性5 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 metadata string ~ 1024文字 ギルドのメタデータ GS2 の動作に影響しないギルドに関連付けられた任意のデータです。ギルドの紋章、説明、募集メッセージ、その他のカスタムデータなど、ゲーム固有の情報を保存するために使用できます。 memberMetadata string ~ 512文字 ギルドメンバーのメタデータ GS2 の動作に影響しないこのギルドメンバーに関連付けられた任意のデータです。貢献ポイント、最終ログイン時間、ギルド役員に表示されるメモなど、メンバー固有の情報を保存するために使用できます。 joinPolicy 文字列列挙型 enum {   “anybody”,   “approval” }  参加方針 ユーザーがこのギルドにどのように参加できるかを制御します。“anybody” は承認なしで任意のユーザーが即座に参加できます。“approval” はユーザーがメンバーになる前にギルドマスターまたは権限を持つメンバーが参加リクエストを承認する必要があります。ギルドマスターがいつでも変更可能です。 定義 説明 “anybody” 自由参加 “approval” 承認制 customRoles List [] 0 ~ 10 items カスタムロールリスト モデルレベルのロールをオーバーライドまたは拡張するギルド固有のカスタムロール定義のリストです。各ギルドは固有の権限セットを持つ最大10個のカスタムロールを定義できます。これらのロールはモデルレベルのロールに加えてメンバーに割り当てることができます。 guildMemberDefaultRole string ~ 128文字 デフォルトカスタムロール この特定のギルドに新しいメンバーが参加した際に自動的に割り当てられるカスタムロールです。設定した場合、このギルドに対してギルドモデルの guildMemberDefaultRole をオーバーライドします。customRoles リストで定義されたロールを参照する必要があります。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Guild 作成したギルド 実装例 getGuild ギルドを取得 メンバー、カスタム属性、参加ポリシー、ロールを含む特定のギルドの詳細情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 Result 型 説明 item Guild ギルド 実装例 getGuildByUserId ユーザーIDを指定してギルドを取得 メンバー、カスタム属性、参加ポリシー、ロールを含む特定のギルドの詳細情報を取得します（サーバーサイド操作）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Guild ギルド 実装例 updateGuild ギルドを更新 表示名、カスタム属性（attribute1-5）、メタデータ、参加ポリシー、カスタムロール、デフォルトメンバーロールを含むギルドの設定を更新します。 古いギルドデータと新しいギルドデータの両方を使用して UpdateGuildScript コールバックを実行します。 すべてのギルドメンバーに更新を通知する変更通知を送信します。 アクセストークンにはギルドユーザーに Assume したアクセストークンを指定してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 displayName string  ~ 64文字 表示名 UI でプレイヤーに表示されるギルドの人間が読める名前です。ギルド名（システム生成の UUID）とは異なり、表示名はギルド作成者が設定し、更新も可能です。ギルド検索結果、メンバーリスト、その他のプレイヤー向け表示に使用されます。 attribute1 int 0 ~ 2147483645 属性1 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。レベル、地域、プレイスタイル、アクティビティ要件などのカスタムギルドプロパティを定義するために、最大5つの属性を開発者が利用できます。 attribute2 int 0 ~ 2147483645 属性2 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute3 int 0 ~ 2147483645 属性3 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute4 int 0 ~ 2147483645 属性4 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute5 int 0 ~ 2147483645 属性5 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 metadata string ~ 1024文字 ギルドのメタデータ GS2 の動作に影響しないギルドに関連付けられた任意のデータです。ギルドの紋章、説明、募集メッセージ、その他のカスタムデータなど、ゲーム固有の情報を保存するために使用できます。 joinPolicy 文字列列挙型 enum {   “anybody”,   “approval” }  参加方針 ユーザーがこのギルドにどのように参加できるかを制御します。“anybody” は承認なしで任意のユーザーが即座に参加できます。“approval” はユーザーがメンバーになる前にギルドマスターまたは権限を持つメンバーが参加リクエストを承認する必要があります。ギルドマスターがいつでも変更可能です。 定義 説明 “anybody” 自由参加 “approval” 承認制 customRoles List [] 0 ~ 10 items カスタムロールリスト モデルレベルのロールをオーバーライドまたは拡張するギルド固有のカスタムロール定義のリストです。各ギルドは固有の権限セットを持つ最大10個のカスタムロールを定義できます。これらのロールはモデルレベルのロールに加えてメンバーに割り当てることができます。 guildMemberDefaultRole string ~ 128文字 デフォルトカスタムロール この特定のギルドに新しいメンバーが参加した際に自動的に割り当てられるカスタムロールです。設定した場合、このギルドに対してギルドモデルの guildMemberDefaultRole をオーバーライドします。customRoles リストで定義されたロールを参照する必要があります。 Result 型 説明 item Guild 更新したギルド 実装例 updateGuildByGuildName ギルド名を指定してギルドを更新 指定されたギルドの設定を更新します（サーバーサイド操作）。 ギルドユーザー向けバージョンと同じ UpdateGuildScript コールバック、メンバー変更通知が適用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 displayName string  ~ 64文字 表示名 UI でプレイヤーに表示されるギルドの人間が読める名前です。ギルド名（システム生成の UUID）とは異なり、表示名はギルド作成者が設定し、更新も可能です。ギルド検索結果、メンバーリスト、その他のプレイヤー向け表示に使用されます。 attribute1 int 0 ~ 2147483645 属性1 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。レベル、地域、プレイスタイル、アクティビティ要件などのカスタムギルドプロパティを定義するために、最大5つの属性を開発者が利用できます。 attribute2 int 0 ~ 2147483645 属性2 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute3 int 0 ~ 2147483645 属性3 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute4 int 0 ~ 2147483645 属性4 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 attribute5 int 0 ~ 2147483645 属性5 ギルド検索でのフィルタリングやソートに使用できるギルドの数値属性です。詳細は attribute1 を参照してください。 metadata string ~ 1024文字 ギルドのメタデータ GS2 の動作に影響しないギルドに関連付けられた任意のデータです。ギルドの紋章、説明、募集メッセージ、その他のカスタムデータなど、ゲーム固有の情報を保存するために使用できます。 joinPolicy 文字列列挙型 enum {   “anybody”,   “approval” }  参加方針 ユーザーがこのギルドにどのように参加できるかを制御します。“anybody” は承認なしで任意のユーザーが即座に参加できます。“approval” はユーザーがメンバーになる前にギルドマスターまたは権限を持つメンバーが参加リクエストを承認する必要があります。ギルドマスターがいつでも変更可能です。 定義 説明 “anybody” 自由参加 “approval” 承認制 customRoles List [] 0 ~ 10 items カスタムロールリスト モデルレベルのロールをオーバーライドまたは拡張するギルド固有のカスタムロール定義のリストです。各ギルドは固有の権限セットを持つ最大10個のカスタムロールを定義できます。これらのロールはモデルレベルのロールに加えてメンバーに割り当てることができます。 guildMemberDefaultRole string ~ 128文字 デフォルトカスタムロール この特定のギルドに新しいメンバーが参加した際に自動的に割り当てられるカスタムロールです。設定した場合、このギルドに対してギルドモデルの guildMemberDefaultRole をオーバーライドします。customRoles リストで定義されたロールを参照する必要があります。 Result 型 説明 item Guild 更新したギルド 実装例 deleteMember メンバーを除名 指定されたユーザーをギルドのメンバーリストから削除します。 削除前に、除名後もギルドに少なくとも1人のギルドマスターが残ることを検証します。対象ユーザーが最後のギルドマスターの場合、GuildMasterRequired エラーで操作が拒否されます。 アクセストークンにはギルドユーザーに Assume したアクセストークンを指定してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 targetUserId string  ~ 128文字 除名するユーザーID Result 型 説明 item Guild 更新したギルド 実装例 deleteMemberByGuildName ギルド名を指定してメンバーを除名 指定されたギルドのメンバーリストから指定されたユーザーを削除します（サーバーサイド操作）。 ギルドユーザー向けバージョンと同じギルドマスター数検証（GuildMasterRequired）が適用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 targetUserId string  ~ 128文字 除名するユーザーID Result 型 説明 item Guild 更新したギルド 実装例 updateMemberRole メンバーの役職を更新 特定のギルドメンバーの役職を指定されたロール名に変更します。 更新前に対象ユーザーがギルドのメンバーであることを検証します。 メンバーのロール更新タイムスタンプも更新されます。 アクセストークンにはギルドユーザーに Assume したアクセストークンを指定してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 targetUserId string  ~ 128文字 更新するユーザーID roleName string  ~ 128文字 ロールモデル名 ロールモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Guild 更新したギルド 実装例 updateMemberRoleByGuildName ギルド名を指定してメンバーの役職を更新 指定されたギルドの特定のメンバーの役職を変更します（サーバーサイド操作）。 ギルドユーザー向けバージョンと同じメンバー検証、タイムスタンプ更新が適用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 targetUserId string  ~ 128文字 更新するユーザーID roleName string  ~ 128文字 ロールモデル名 ロールモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Guild 更新したギルド 実装例 batchUpdateMemberRole メンバーの役職を一括更新 単一の操作で複数のギルドメンバーの役職を更新します。 リクエストで指定されたメンバーのみが更新され、リストに含まれないメンバーは現在の役職を維持します。 アクセストークンにはギルドユーザーに Assume したアクセストークンを指定してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 members List  1 ~ 100 items 更新するメンバーリスト Result 型 説明 item Guild 更新したギルド 実装例 batchUpdateMemberRoleByGuildName ギルド名を指定してメンバーの役職を一括更新 指定されたギルドの複数のメンバーの役職を単一の操作で更新します（サーバーサイド操作）。 リクエストで指定されたメンバーのみが更新され、含まれないメンバーは現在の役職を維持します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 members List  1 ~ 100 items 更新するメンバーリスト Result 型 説明 item Guild 更新したギルド 実装例 deleteGuild ギルドを削除 ギルドおよび関連するすべてのデータを削除します。 すべてのギルドメンバーが削除され、各メンバーの LeaveGuildScript コールバックが実行され、LeaveNotification が送信されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 Result 型 説明 item Guild 削除したギルド 実装例 deleteGuildByGuildName ギルド名を指定してギルドを削除 指定されたギルドおよび関連するすべてのデータを削除します（サーバーサイド操作）。 ギルドユーザー向けバージョンと同じ LeaveGuildScript コールバック、LeaveNotification が適用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 Result 型 説明 item Guild 削除したギルド 実装例 increaseMaximumCurrentMaximumMemberCountByGuildName ギルド名を指定して最大参加可能人数を加算 ギルドの currentMaximumMemberCount を指定された値だけ増加させます。 結果の値はギルドモデルで定義された maximumMemberCount を超えてはなりません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 value int 1 ~ 2147483646 最大人数の増加量 Result 型 説明 item Guild 更新したギルド 実装例 decreaseMaximumCurrentMaximumMemberCount 最大参加可能人数を減算 ギルドの currentMaximumMemberCount を指定された値だけ減少させます。 結果の値はゼロ未満にはなりません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 value int 1 ~ 2147483646 最大人数の減少量 Result 型 説明 item Guild 更新したギルド 実装例 decreaseMaximumCurrentMaximumMemberCountByGuildName ギルド名を指定して最大参加可能人数を減算 指定されたギルドの currentMaximumMemberCount を指定された値だけ減少させます（サーバーサイド操作）。 結果の値はゼロ未満にはなりません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 value int 1 ~ 2147483646 最大人数の減少量 Result 型 説明 item Guild 更新したギルド 実装例 verifyCurrentMaximumMemberCount 最大参加可能人数を検証 選択された比較演算子を使用して、ギルドの currentMaximumMemberCount を指定された値と比較検証します。 サポートされる演算子：less、lessEqual、greater、greaterEqual、equal、notEqual。 検証に失敗した場合、エラーが返されます。トランザクションでの条件付きロジックに使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 最大参加可能人数が指定値未満であること “lessEqual” 最大参加可能人数が指定値以下であること “greater” 最大参加可能人数が指定値超過であること “greaterEqual” 最大参加可能人数が指定値以上であること “equal” 最大参加可能人数が指定値と一致すること “notEqual” 最大参加可能人数が指定値と一致しないこと value int 1 ~ 2147483646 最大参加可能人数 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Guild 更新したギルド 実装例 verifyCurrentMaximumMemberCountByGuildName ギルド名を指定して最大参加可能人数を検証 選択された比較演算子を使用して、指定されたギルドの currentMaximumMemberCount を指定された値と比較検証します（サーバーサイド操作）。 サポートされる演算子：less、lessEqual、greater、greaterEqual、equal、notEqual。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 最大参加可能人数が指定値未満であること “lessEqual” 最大参加可能人数が指定値以下であること “greater” 最大参加可能人数が指定値超過であること “greaterEqual” 最大参加可能人数が指定値以上であること “equal” 最大参加可能人数が指定値と一致すること “notEqual” 最大参加可能人数が指定値と一致しないこと value int 1 ~ 2147483646 最大参加可能人数 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Guild 更新したギルド 実装例 verifyIncludeMember ギルドメンバーにユーザーIDが含まれているかを検証 指定されたユーザーがギルドのメンバーであるかどうかを検証します。 2つの検証タイプをサポートします：‘include’ はユーザーがギルドメンバーであることを確認、’notInclude’ はユーザーがギルドメンバーでないことを確認します。 検証に失敗した場合、エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン verifyType 文字列列挙型 enum {   “include”,   “notInclude” }  検証の種類 定義 説明 “include” ギルドメンバーに指定したユーザーが含まれていること “notInclude” ギルドメンバーに指定したユーザーが含まれないこと Result 型 説明 item Guild 更新したギルド 実装例 verifyIncludeMemberByUserId ユーザーIDを指定してギルドメンバーにユーザーIDが含まれているかを検証 指定されたユーザーがギルドのメンバーであるかどうかを検証します（サーバーサイド操作）。 2つの検証タイプをサポートします：‘include’ と ’notInclude’。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 userId string  ~ 128文字 ユーザーID verifyType 文字列列挙型 enum {   “include”,   “notInclude” }  検証の種類 定義 説明 “include” ギルドメンバーに指定したユーザーが含まれていること “notInclude” ギルドメンバーに指定したユーザーが含まれないこと timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Guild 更新したギルド 実装例 setMaximumCurrentMaximumMemberCountByGuildName ギルド名を指定して最大参加可能人数を設定 ギルドの currentMaximumMemberCount を指定された絶対値に設定します。 増減操作とは異なり、差分を適用するのではなく値を直接設定します。 更新後のギルドと更新前のギルド状態の両方を返し、呼び出し元が変更を追跡できるようにします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 value int 1 ~ 2147483646 設定する最大人数 Result 型 説明 item Guild 更新したギルド old Guild 更新前のギルド 実装例 assume ギルドユーザーとして振る舞うためのアクセストークンを取得 リクエストしたユーザーがギルドエンティティとして操作を実行できるアクセストークンを発行します。 このトークンは、ギルド設定の更新、メンバー管理、参加リクエストの承諾/拒否、拒否リストの管理などのギルド管理操作に必要です。 リクエストしたユーザーはギルドのメンバーである必要があります。そうでない場合、NotIncludedGuildMember エラーが返されます。 レスポンスにはアクセストークン、ギルドのユーザーID、トークンの有効期限タイムスタンプが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 Result 型 説明 token string アクセストークン userId string ユーザーID expire long 有効期限 トークンの有効期限を示すタイムスタンプです。この期限が過ぎると、トークンは無効になります。 UNIX 時間・ミリ秒 実装例 assumeByUserId ユーザーIDを指定してギルドユーザーとして振る舞うためのアクセストークンを取得 指定されたユーザーがギルドエンティティとして操作を実行できるアクセストークンを発行します（サーバーサイド操作）。 指定されたユーザーはギルドのメンバーである必要があります。そうでない場合、NotIncludedGuildMember エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 token string アクセストークン userId string ユーザーID expire long 有効期限 トークンの有効期限を示すタイムスタンプです。この期限が過ぎると、トークンは無効になります。 UNIX 時間・ミリ秒 実装例 describeJoinedGuilds 参加中のギルドの一覧を取得 リクエストしたユーザーが現在メンバーとして参加しているギルドのページネーション付きリストを取得します。 オプションでギルドモデル名フィルタを指定して、特定のギルドモデルの参加ギルドのみを取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン guildModelName string ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 参加中のギルド nextPageToken string リストの続きを取得するためのページトークン 実装例 describeJoinedGuildsByUserId ユーザーIDを指定して参加中のギルドの一覧を取得 指定されたユーザーが現在メンバーとして参加しているギルドのページネーション付きリストを取得します（サーバーサイド操作）。 オプションでギルドモデル名フィルタを指定して、特定のギルドモデルの参加ギルドのみを取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID guildModelName string ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 参加中のギルド nextPageToken string リストの続きを取得するためのページトークン 実装例 getJoinedGuild 参加中のギルドを取得 ギルドモデル名とギルド名で識別される、リクエストしたユーザーが参加している特定のギルドのメンバーシップ情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 Result 型 説明 item JoinedGuild 参加中のギルド 実装例 getJoinedGuildByUserId ユーザーIDを指定して参加中のギルドを取得 指定されたユーザーが参加している特定のギルドのメンバーシップ情報を取得します（サーバーサイド操作）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item JoinedGuild 参加中のギルド 実装例 updateMemberMetadata メンバーのメタデータを更新 指定されたギルド内のリクエストしたユーザーのメンバーシップメタデータを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン metadata string ~ 512文字 ギルドメンバーのメタデータ GS2 の動作に影響しないこのギルドメンバーに関連付けられた任意のデータです。貢献ポイント、最終ログイン時間、ギルド役員に表示されるメモなど、メンバー固有の情報を保存するために使用できます。 Result 型 説明 item Guild 更新したギルド 実装例 updateMemberMetadataByUserId ユーザーIDを指定してメンバーのメタデータを更新 指定されたギルド内の指定されたユーザーのメンバーシップメタデータを更新します（サーバーサイド操作）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 userId string  ~ 128文字 更新するユーザーID metadata string ~ 512文字 ギルドメンバーのメタデータ GS2 の動作に影響しないこのギルドメンバーに関連付けられた任意のデータです。貢献ポイント、最終ログイン時間、ギルド役員に表示されるメモなど、メンバー固有の情報を保存するために使用できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Guild 更新したギルド 実装例 withdrawal ギルドから脱退 リクエストしたユーザーが指定されたギルドから脱退します。 ギルドモデルに再加入クールダウン（rejoinCoolTimeMinutes）が設定されている場合、クールダウン期間が経過するまで同じギルドに再加入できません。 ユーザーが唯一のギルドマスターの場合、リーダー不在のギルドを防ぐために GuildMasterRequired エラーで脱退が拒否されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 Result 型 説明 item JoinedGuild 脱退したギルド guild Guild ギルド 実装例 withdrawalByUserId ユーザーIDを指定してギルドから脱退 指定されたユーザーが指定されたギルドから脱退します（サーバーサイド操作）。 ユーザー向けバージョンと同じ再加入クールダウンおよびギルドマスター検証が適用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item JoinedGuild 脱退したギルド guild Guild ギルド 実装例 getLastGuildMasterActivity 最後にギルドマスターがアクティビティを行った日時を取得 ギルドマスターが最後にアクティビティを行った日時のタイムスタンプを取得します。 この情報は、PromoteSeniorMember による自動継承の対象となるほどギルドマスターが非アクティブかどうかを判定するために使用されます。 非アクティブ閾値はギルドモデルの inactivityPeriodDays 設定に基づいて計算されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 Result 型 説明 item LastGuildMasterActivity 参加を拒否するユーザーID guild Guild ギルド 実装例 getLastGuildMasterActivityByGuildName ギルド名を指定して最後にギルドマスターがアクティビティを行った日時を取得 指定されたギルドのギルドマスターが最後にアクティビティを行った日時のタイムスタンプを取得します（サーバーサイド操作）。 この情報は、ギルドマスターが自動継承の対象となるほど非アクティブかどうかを判定するために使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 Result 型 説明 item LastGuildMasterActivity 参加を拒否するユーザーID guild Guild ギルド 実装例 promoteSeniorMember ギルドマスターが一定期間ログインしていない場合、最も古参のギルドメンバーをギルドマスターに昇格 ギルドマスターが inactivityPeriodDays の閾値（24時間 × inactivityPeriodDays で計算）を超えて非アクティブかどうかを確認します。 条件を満たす場合、最も古参の非マスターメンバー（JoinedAt タイムスタンプで判定）がギルドマスターロールに昇格されます。 maxConcurrentGuildMasterCount が 1 の場合、昇格の前に非アクティブなギルドマスターがデフォルトメンバーロールに降格されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 Result 型 説明 item LastGuildMasterActivity 参加を拒否するユーザーID guild Guild ギルド 実装例 promoteSeniorMemberByGuildName ギルド名を指定し、一定期間未ログインのギルドマスターを最古参メンバーに交代 指定されたギルドのギルドマスターが inactivityPeriodDays の閾値を超えて非アクティブかどうかを確認します（サーバーサイド操作）。 条件を満たす場合、最も古参の非マスターメンバー（JoinedAt タイムスタンプで判定）がギルドマスターロールに昇格されます。 maxConcurrentGuildMasterCount が 1 の場合、昇格の前に非アクティブなギルドマスターがデフォルトメンバーロールに降格されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 Result 型 説明 item LastGuildMasterActivity 参加を拒否するユーザーID guild Guild ギルド 実装例 describeReceiveRequests 受信した参加リクエストの一覧を取得 ギルドに送信され、承認待ちの参加リクエストのページネーション付きリストを取得します。 Assume したギルドユーザーのアクセストークンが必要です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 参加リクエストのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeReceiveRequestsByGuildName ギルド名を指定して、受信した参加リクエストの一覧を取得 指定されたギルドに送信され、承認待ちの参加リクエストのページネーション付きリストを取得します（サーバーサイド操作）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 参加リクエストのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getReceiveRequest 受信した参加リクエストを取得 指定されたユーザーからギルドが受信した特定の参加リクエストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item ReceiveMemberRequest 参加リクエスト 実装例 getReceiveRequestByGuildName ギルド名を指定して受信した参加リクエストを取得 指定されたユーザーから指定されたギルドが受信した特定の参加リクエストを取得します（サーバーサイド操作）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item ReceiveMemberRequest 参加リクエスト 実装例 acceptRequest 参加リクエストを承諾 保留中の参加リクエストを承諾し、リクエストしたユーザーをギルドメンバーとして追加します。 ユーザーにはギルドのデフォルトメンバーロールが割り当てられ、元のリクエストのメンバーメタデータが保持されます。 リクエストはギルドの受信ボックスと送信者の送信ボックスの両方から削除されます。 ユーザーの maxConcurrentJoinGuilds 制限を超えていないこと、ギルドの最大メンバー数に達していないことが検証されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item ReceiveMemberRequest 承諾した参加リクエスト guild Guild ギルド 実装例 acceptRequestByGuildName ギルド名を指定して参加リクエストを承諾 指定されたギルドの保留中の参加リクエストを承諾し、リクエストしたユーザーをギルドメンバーとして追加します（サーバーサイド操作）。 ギルドユーザー向けバージョンと同じメンバー割り当て、メタデータ保持、制限検証が適用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item ReceiveMemberRequest 承諾した参加リクエスト guild Guild ギルド 実装例 rejectRequest 参加リクエストを拒否 保留中の参加リクエストを拒否し、ギルドの受信ボックスと送信者の送信ボックスの両方から削除します。 リクエストしたユーザーはギルドに追加されません。関係は確立されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item ReceiveMemberRequest 拒否した参加リクエスト 実装例 rejectRequestByGuildName ギルド名を指定して参加リクエストを拒否 指定されたギルドの保留中の参加リクエストを拒否します（サーバーサイド操作）。 リクエストはギルドの受信ボックスと送信者の送信ボックスの両方から削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 fromUserId string  ~ 128文字 ユーザーID Result 型 説明 item ReceiveMemberRequest 拒否した参加リクエスト 実装例 describeSendRequests 送信した参加リクエストの一覧を取得 リクエストしたユーザーが送信した、応答待ちのギルド参加リクエストのページネーション付きリストを取得します。 ギルドモデル名でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 参加リクエストのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeSendRequestsByUserId ユーザーIDを指定して送信した参加リクエストの一覧を取得 指定されたユーザーが送信したギルド参加リクエストのページネーション付きリストを取得します（サーバーサイド操作）。 ギルドモデル名でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 参加リクエストのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getSendRequest 送信した参加リクエストを取得 リクエストしたユーザーが指定された対象ギルドに送信した特定の参加リクエストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 targetGuildName string  ~ 128文字 宛先ギルド名 参加リクエストが送信されたギルドの一意な名前（UUID）です。ユーザーが参加をリクエストしている特定のギルドインスタンスを識別し、リクエスト処理のためにギルドの受信ボックスを特定するために使用されます。 Result 型 説明 item SendMemberRequest 参加リクエスト 実装例 getSendRequestByUserId ユーザーIDを指定して送信した参加リクエストを取得 指定されたユーザーが指定された対象ギルドに送信した特定の参加リクエストを取得します（サーバーサイド操作）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 targetGuildName string  ~ 128文字 宛先ギルド名 参加リクエストが送信されたギルドの一意な名前（UUID）です。ユーザーが参加をリクエストしている特定のギルドインスタンスを識別し、リクエスト処理のためにギルドの受信ボックスを特定するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SendMemberRequest 参加リクエスト 実装例 sendRequest 参加リクエストを送信 指定されたギルドに参加リクエストを送信します。動作はギルドの参加ポリシーに依存します： “anybody\"ポリシー: ユーザーは承認なしにデフォルトロールでギルドメンバーとして即座に追加されます。 承認必要ポリシー: 送信者の送信ボックスとギルドの受信ボックスの両方に参加リクエストが作成され、ギルドマスターの承認を待ちます。 送信前に以下の検証が行われます：ユーザーがギルドの拒否リストにないこと、再加入クールダウン期間が経過していること（以前に脱退した場合）、maxConcurrentJoinGuilds 制限を超えていないこと。 カスタムメンバーメタデータをリクエストに含めることができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 targetGuildName string  ~ 128文字 送信先ギルド名 metadata string ~ 512文字 ギルドメンバーのメタデータ GS2 の動作に影響しないこのギルドメンバーに関連付けられた任意のデータです。貢献ポイント、最終ログイン時間、ギルド役員に表示されるメモなど、メンバー固有の情報を保存するために使用できます。 Result 型 説明 item Guild 参加したギルド 承認が不要なギルドに参加した際に応答されます sendMemberRequest SendMemberRequest 送信した参加リクエスト 承認が必要なギルドに参加リクエストを出した際に応答されます 実装例 sendRequestByUserId ユーザーIDを指定して参加リクエストを送信 指定されたユーザーの代わりに指定されたギルドに参加リクエストを送信します（サーバーサイド操作）。 ユーザー向けバージョンと同じ参加ポリシー動作、検証（拒否リスト、クールダウン、同時ギルド制限）、承認フローが適用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 targetGuildName string  ~ 128文字 送信先ギルド名 metadata string ~ 512文字 ギルドメンバーのメタデータ GS2 の動作に影響しないこのギルドメンバーに関連付けられた任意のデータです。貢献ポイント、最終ログイン時間、ギルド役員に表示されるメモなど、メンバー固有の情報を保存するために使用できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Guild 参加したギルド 承認が不要なギルドに参加した際に応答されます sendMemberRequest SendMemberRequest 送信した参加リクエスト 承認が必要なギルドに参加リクエストを出した際に応答されます 実装例 deleteRequest 送信した参加リクエストを取り消し リクエストしたユーザーが以前に送信したギルド参加リクエストを取り消し（削除）します。 リクエストは送信者の送信ボックスと対象ギルドの受信ボックスの両方から削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 targetGuildName string  ~ 128文字 宛先ギルド名 参加リクエストが送信されたギルドの一意な名前（UUID）です。ユーザーが参加をリクエストしている特定のギルドインスタンスを識別し、リクエスト処理のためにギルドの受信ボックスを特定するために使用されます。 Result 型 説明 item SendMemberRequest 削除した参加リクエスト 実装例 deleteRequestByUserId ユーザーIDを指定して送信した参加リクエストを取り消し 指定されたユーザーが以前に送信したギルド参加リクエストを取り消し（削除）します（サーバーサイド操作）。 リクエストは送信者の送信ボックスと対象ギルドの受信ボックスの両方から削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 targetGuildName string  ~ 128文字 宛先ギルド名 参加リクエストが送信されたギルドの一意な名前（UUID）です。ユーザーが参加をリクエストしている特定のギルドインスタンスを識別し、リクエスト処理のためにギルドの受信ボックスを特定するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SendMemberRequest 削除した参加リクエスト 実装例 describeIgnoreUsers 参加を拒否するユーザーIDの一覧を取得 ギルドの拒否リスト（ブラックリスト）に登録されたユーザーのページネーション付きリストを取得します。 このリストに含まれるユーザーはギルドへの参加リクエストを送信できません。 Assume したギルドユーザーのアクセストークンが必要です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 参加を拒否するユーザーIDリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeIgnoreUsersByGuildName ギルド名を指定して参加を拒否するユーザーIDの一覧を取得 指定されたギルドの拒否リスト（ブラックリスト）に登録されたユーザーのページネーション付きリストを取得します（サーバーサイド操作）。 このリストに含まれるユーザーはギルドへの参加リクエストを送信できません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 参加を拒否するユーザーIDリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getIgnoreUser 参加を拒否するユーザーIDを取得 特定のユーザーがギルドの拒否リスト（ブラックリスト）に含まれているかを確認します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 userId string  ~ 128文字 ユーザーID Result 型 説明 item IgnoreUser 参加を拒否するユーザーID 実装例 getIgnoreUserByGuildName ギルド名を指定して参加を拒否するユーザーIDを取得 特定のユーザーが指定されたギルドの拒否リスト（ブラックリスト）に含まれているかを確認します（サーバーサイド操作）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item IgnoreUser 参加を拒否するユーザーID 実装例 addIgnoreUser 参加を拒否するユーザーIDを追加 ユーザーをギルドの拒否リスト（ブラックリスト）に追加します。 追加されたユーザーはこのギルドに参加リクエストを送信できなくなります。 既に保留中の参加リクエストがある場合は自動的には削除されません。別途拒否する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 userId string  ~ 128文字 ユーザーID Result 型 説明 item IgnoreUser 参加を拒否するユーザーID guild Guild ギルド 実装例 addIgnoreUserByGuildName ギルド名を指定して参加を拒否するユーザーIDを追加 ユーザーを指定されたギルドの拒否リスト（ブラックリスト）に追加します（サーバーサイド操作）。 追加されたユーザーはこのギルドに参加リクエストを送信できなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item IgnoreUser 参加を拒否するユーザーID guild Guild ギルド 実装例 deleteIgnoreUser 参加を拒否するユーザーIDを削除 ユーザーをギルドの拒否リスト（ブラックリスト）から削除します。 削除後、そのユーザーは再びこのギルドに参加リクエストを送信できるようになります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 ギルド名 userId string  ~ 128文字 ユーザーID Result 型 説明 item IgnoreUser 参加を拒否するユーザーID 実装例 deleteIgnoreUserByGuildName ギルド名を指定して参加を拒否するユーザーIDを削除 ユーザーを指定されたギルドの拒否リスト（ブラックリスト）から削除します（サーバーサイド操作）。 削除後、そのユーザーは再びこのギルドに参加リクエストを送信できるようになります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item IgnoreUser 参加を拒否するユーザーID 実装例 describeGuildModels ギルドモデルの一覧を取得 指定されたネームスペースで現在有効化（公開）されているギルドモデルの一覧を取得します。 ギルドモデルは最大メンバー数、ロール定義、ギルドマスターロール、デフォルトメンバーロール、再加入クールダウン期間、同時ギルド参加制限、非アクティブギルドマスターの継承設定を含むギルド構造を定義します。 ギルドモデルマスターとは異なり、読み取り専用で現在使用中の構成を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List ギルドモデルリスト 実装例 getGuildModel ギルドモデルを取得 名前を指定して、特定の現在有効なギルドモデルの詳細情報を取得します。 ロール定義、最大メンバー数設定、参加ポリシー制約、非アクティブギルドマスターの継承期間（inactivityPeriodDays）、再加入クールダウン設定を含みます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item GuildModel ギルドモデル 実装例 exportMaster ギルドモデルマスターを有効化可能なマスターデータ形式でエクスポート ネームスペース内のすべてのギルドモデルマスター定義を、有効化に適した単一のJSONドキュメントとしてエクスポートします。 エクスポートされるデータにはメンバー制限、ロール定義、参加ポリシー、継承設定を含むギルドモデルが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentGuildMaster 有効化可能なギルドモデルのマスターデータ 実装例 getCurrentGuildMaster 現在アクティブなギルドモデルマスターを取得 指定されたネームスペースで現在有効化され使用中のギルドモデルマスターデータを取得します。 返されるデータには、現在ランタイムリクエストを処理しているすべてのギルドモデルのJSON定義が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentGuildMaster 現在アクティブなギルドモデルのマスターデータ 実装例 preUpdateCurrentGuildMaster 現在アクティブなマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentGuildMaster 現在アクティブなギルドモデルのマスターデータを更新 新しいギルドモデルマスターデータを有効化し、現在アクティブな設定を置き換えます。 2つのモードをサポートします：‘direct’ はインラインのマスターデータ（1MB未満のデータに適合）、‘preUpload’ は PreUpdate で事前にアップロードしたデータを適用します。 有効化後、すべてのギルド関連のランタイム操作（ギルド作成、参加リクエスト、メンバー管理）は新しい設定を使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentGuildMaster 更新された現在アクティブなギルドモデルのマスターデータ 実装例 updateCurrentGuildMasterFromGitHub 現在アクティブなギルドモデルのマスターデータをGitHubから更新 指定されたGitHubリポジトリからギルドモデルマスターデータをチェックアウトし、有効化します。 チェックアウト設定でリポジトリ、ブランチ/タグ、取得するファイルパスを指定します。 ギルド設定がリポジトリでバージョン管理されるGitベースのマスターデータ管理ワークフローを可能にします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentGuildMaster 更新された現在アクティブなギルドモデルのマスターデータ 実装例 describeGuildModelMasters ギルドモデルマスターの一覧を取得 名前の接頭辞フィルタリングが可能な、編集可能なギルドモデルマスター定義のページネーション付きリストを取得します。 マスターへの変更は、CurrentGuildMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 ギルドモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ギルドモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createGuildModelMaster ギルドモデルマスターを新規作成 新しい編集可能なギルドモデルマスター定義を作成します。主な設定項目： defaultMaximumMemberCount / maximumMemberCount: ギルドメンバー容量の初期値と上限 roles: このモデルのギルド内で利用可能なロール定義 guildMasterRole / guildMemberDefaultRole: 作成者および新規メンバーにそれぞれ割り当てられるロール inactivityPeriodDays: ギルドマスターの自動継承がトリガーされるまでの非アクティブ日数 rejoinCoolTimeMinutes: 脱退後に同じギルドに再加入できるまでのクールダウン期間 maxConcurrentJoinGuilds: ユーザーが同時に参加できるギルドの最大数 maxConcurrentGuildMasterCount: ギルドごとに許可されるギルドマスターの最大数 変更は CurrentGuildMaster API でマスターデータを有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultMaximumMemberCount int  0 ~ 2147483646 デフォルト最大メンバー数 新しいギルドが作成される際に許可されるメンバーの初期最大数です。この値は新規ギルドの currentMaximumMemberCount の初期値として使用されます。ギルド操作や入手アクションを通じて、後から maximumMemberCount の上限まで増加させることができます。 maximumMemberCount int  0 ~ 2147483646 最大メンバー数上限 ギルドが持つことができるメンバー数の絶対的な上限です。ギルドの currentMaximumMemberCount はこの値を超えることができません。ギルドが意図されたサイズを超えて成長するのを防ぐハードキャップとして機能します。 inactivityPeriodDays int 7 1 ~ 365 無活動期間（日数） ギルドマスターの無活動がこの日数を超えた場合に、残りのギルドメンバーから新しいギルドマスターが自動的に選出されます。ギルドマスターがプレイを停止した際にギルドが管理不能になるのを防ぎます。 roles List  1 ~ 10 items ロールモデルリスト このタイプのギルド内で利用可能なロール定義のリストです。guildMasterRole および guildMemberDefaultRole で参照されるロールを少なくとも含む必要があります。最大10個のロールを定義できます。 guildMasterRole string  ~ 128文字 ギルドマスターロール名 ギルドマスターに割り当てられるロールの名前です。roles リストで定義されたロールを参照する必要があります。ギルドマスターは通常、ギルドを管理する全権限を持ちます。 guildMemberDefaultRole string  ~ 128文字 デフォルトメンバーロール名 新しいギルドメンバーが参加した際に自動的に割り当てられるロールの名前です。roles リストで定義されたロールを参照する必要があります。 rejoinCoolTimeMinutes int 0 0 ~ 2147483646 再参加クールタイム（分） ユーザーがギルドを離脱した後、再度ギルドに参加できるようになるまでのクールダウン期間（分）です。0 に設定すると即時再参加が可能になります。ユーザーが繰り返しギルドに参加・離脱する悪用パターンを防止します。 maxConcurrentJoinGuilds int 1 ~ 10 同時参加可能ギルド最大数 ユーザーがこのタイプのギルドに同時にメンバーとして参加できる最大数です。値は 1 から 10 の範囲です。 maxConcurrentGuildMasterCount int 1 ~ 100 同時存在可能ギルドマスター最大数 1つのギルドに同時に存在できるギルドマスターの最大人数です。共同リーダーシップのデザインを可能にします。値は 1 から 100 の範囲です。 Result 型 説明 item GuildModelMaster 作成したギルドモデルマスター 実装例 getGuildModelMaster ギルドモデルマスターを取得 名前を指定して、特定の編集可能なギルドモデルマスターの詳細情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item GuildModelMaster ギルドモデルマスター 実装例 updateGuildModelMaster ギルドモデルマスターを更新 既存のギルドモデルマスターの設定を更新します。 名前以外のすべてのプロパティを変更可能で、メンバー制限、ロール、再加入クールダウン、非アクティブ継承設定などが含まれます。 変更は CurrentGuildMaster API でマスターデータを再度有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultMaximumMemberCount int  0 ~ 2147483646 デフォルト最大メンバー数 新しいギルドが作成される際に許可されるメンバーの初期最大数です。この値は新規ギルドの currentMaximumMemberCount の初期値として使用されます。ギルド操作や入手アクションを通じて、後から maximumMemberCount の上限まで増加させることができます。 maximumMemberCount int  0 ~ 2147483646 最大メンバー数上限 ギルドが持つことができるメンバー数の絶対的な上限です。ギルドの currentMaximumMemberCount はこの値を超えることができません。ギルドが意図されたサイズを超えて成長するのを防ぐハードキャップとして機能します。 inactivityPeriodDays int 7 1 ~ 365 無活動期間（日数） ギルドマスターの無活動がこの日数を超えた場合に、残りのギルドメンバーから新しいギルドマスターが自動的に選出されます。ギルドマスターがプレイを停止した際にギルドが管理不能になるのを防ぎます。 roles List  1 ~ 10 items ロールモデルリスト このタイプのギルド内で利用可能なロール定義のリストです。guildMasterRole および guildMemberDefaultRole で参照されるロールを少なくとも含む必要があります。最大10個のロールを定義できます。 guildMasterRole string  ~ 128文字 ギルドマスターロール名 ギルドマスターに割り当てられるロールの名前です。roles リストで定義されたロールを参照する必要があります。ギルドマスターは通常、ギルドを管理する全権限を持ちます。 guildMemberDefaultRole string  ~ 128文字 デフォルトメンバーロール名 新しいギルドメンバーが参加した際に自動的に割り当てられるロールの名前です。roles リストで定義されたロールを参照する必要があります。 rejoinCoolTimeMinutes int 0 0 ~ 2147483646 再参加クールタイム（分） ユーザーがギルドを離脱した後、再度ギルドに参加できるようになるまでのクールダウン期間（分）です。0 に設定すると即時再参加が可能になります。ユーザーが繰り返しギルドに参加・離脱する悪用パターンを防止します。 maxConcurrentJoinGuilds int 1 ~ 10 同時参加可能ギルド最大数 ユーザーがこのタイプのギルドに同時にメンバーとして参加できる最大数です。値は 1 から 10 の範囲です。 maxConcurrentGuildMasterCount int 1 ~ 100 同時存在可能ギルドマスター最大数 1つのギルドに同時に存在できるギルドマスターの最大人数です。共同リーダーシップのデザインを可能にします。値は 1 から 100 の範囲です。 Result 型 説明 item GuildModelMaster 更新したギルドモデルマスター 実装例 deleteGuildModelMaster ギルドモデルマスターを削除 編集可能なギルドモデルマスター定義を削除します。 マスターデータのみが影響を受け、現在有効化（公開）されているモデルはマスターデータが再度有効化されるまで影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item GuildModelMaster 削除したギルドモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Guild SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Guild SDK API リファレンス","url":"/ja/api_reference/guild/sdk/"},{"content":"モデル Identifier クレデンシャル GS2 の API にアクセスするために使用されるクレデンシャルです。 クレデンシャルはクライアントIDとクライアントシークレットからなり、クレデンシャルを使用したアクセスは、クレデンシャルの所有者となるユーザーの権限に基づいてアクセス制限が施されます。 詳細  clientId string  UUID ~ 256文字 クライアントID userName string  ~ 128文字 ユーザー名 このクレデンシャルを所有するGS2-Identifierユーザーの名前です。クレデンシャルはこのユーザーにアタッチされたセキュリティポリシーに基づいて権限を継承します。 clientSecret string  UUID ~ 100文字 クライアントシークレット createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Password パスワード マネージメントコンソールにユーザーの権限に基づいてログインするためのパスワードです。 パスワードを設定することで、1つのプロジェクトに異なるアカウントからログインでき、なおかつアクセスできる情報に制限をかけることができます。 詳細  passwordId string ※ ~ 1024文字 パスワード GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 1024文字 GS2-Identifier ユーザー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN userName string  ~ 128文字 ユーザー名 このパスワードを所有するGS2-Identifierユーザーの名前です。ユーザーはこのユーザー名と対応するパスワードでマネージメントコンソールにログインし、ユーザーにアタッチされたセキュリティポリシーに基づいてアクセスが制限されます。 enableTwoFactorAuthentication 文字列列挙型 enum {   “RFC6238”,   “Disable” } “Disable” 二要素認証 このパスワードでのマネージメントコンソールログイン時にTOTPベースの二要素認証（RFC 6238）を必要とするかを制御します。「RFC6238」に設定すると、ユーザーはパスワードに加えて認証アプリからの有効なワンタイムコードを提供する必要があります。「Disable」に設定すると、パスワードのみが必要です。 定義 説明 “RFC6238” 有効 “Disable” 無効 twoFactorAuthenticationSetting TwoFactorAuthenticationSetting {enableTwoFactorAuthentication} == “RFC6238” 二要素認証設定 このパスワードのTOTP設定で、共有秘密鍵とセットアップ状態を含みます。enableTwoFactorAuthenticationが「RFC6238」に設定されている場合にのみ存在します。ユーザーが認証アプリのセットアップを完了したかどうかを追跡する検証状態（Verifying/Enable）を含みます。 ※ enableTwoFactorAuthentication が “RFC6238” であれば 有効 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン AttachSecurityPolicy アタッチされたセキュリティポリシー GS2-Identifierユーザーとセキュリティポリシーの関連付けを管理します。各ユーザーはそのユーザーに適用されるセキュリティポリシーGRNのリストを含む1つのアタッチメントレコードを持ちます。ユーザーのクレデンシャルがAPIアクセスに使用される際、アタッチされたすべてのポリシーが評価され、要求された操作が許可されるか拒否されるかが判定されます。 詳細  userId string ※ ~ 1024文字 GS2-Identifier ユーザー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 securityPolicyIds List [] 0 ~ 100 items セキュリティポリシーGRNのリスト このユーザーにアタッチされたセキュリティポリシーのリストです。複数のポリシーをアタッチでき、それらの権限は結合（和集合）されます。アタッチされたいずれかのポリシーがアクションを許可すれば、そのアクションは許可されます。ユーザーあたり最大100個のポリシーをアタッチできます。 attachedAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン User GS2-Identifier ユーザー プロジェクトにアクセス可能なゲーム開発者を表すエンティティです。 ユーザーにはプログラムからアクセスするためのクレデンシャルや、 ユーザーの権限に基づいてマネージメントコンソールにログインし、プロジェクトを管理できるパスワードを登録できます。 詳細  userId string ※ ~ 1024文字 GS2-Identifier ユーザー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 GS2-Identifier ユーザー名 GS2-Identifier ユーザー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SecurityPolicy セキュリティーポリシー ユーザが利用できるAPIの種類やアクセスできるリソースの制限を定義します。 アクセス制限のルールはポリシードキュメントというJSON形式の定義データを使用します。 ポリシードキュメントの仕様については、開発資料内のポリシードキュメントについての 解説ページ を参照してください。 詳細  securityPolicyId string ※ ~ 1024文字 セキュリティポリシー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 セキュリティポリシー名 セキュリティポリシー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 policy string  ~ 524288文字 ポリシードキュメント このセキュリティポリシーのアクセス制御ルールを定義するJSONドキュメントです。どのGS2 APIアクションが許可または拒否されるか、またルールが適用されるリソース（GRNパターンで識別）を指定します。複数のステートメントを組み合わせてきめ細かなアクセス制御を作成できます。最大512KBです。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 ProjectToken プロジェクトトークン クレデンシャル（クライアントIDとクライアントシークレット）で認証することで発行される一時的なアクセストークンです。このトークンはプロジェクト内のすべてのGS2 API呼び出しの認可に使用されます。トークンには有効期限があり、定期的に更新する必要があります。 詳細  token string ~ 1024文字 プロジェクトトークン API認証に使用されるトークン文字列です。クレデンシャルでのログイン成功時に生成されます。最大1024文字です。 TwoFactorAuthenticationSetting 二要素認証設定 マネージメントコンソールパスワードに対するTOTPベースの二要素認証（RFC 6238）の設定です。時間ベースのワンタイムパスワードの生成と検証に使用される共有秘密鍵を保存します。ユーザーが認証アプリを正しく設定したことを確認するため、完全に有効化される前に検証フェーズを経ます。 詳細  status 文字列列挙型 enum {   “Verifying”,   “Enable” } “Verifying” ステータス 二要素認証セットアップの現在の状態です。「Verifying」はユーザーがセットアップを開始したが、認証アプリからの有効なTOTPコードをまだ確認していないことを示します。「Enable」はセットアップが完了し、コンソールログイン時に二要素認証が有効に適用されていることを示します。 定義 説明 “Verifying” 検証中 “Enable” 有効 メソッド describeIdentifiers クレデンシャルの一覧を取得 指定されたユーザーに関連付けられた OAuth クレデンシャル（クライアントID/シークレットのペア）のページネーション付きリストを取得します。 クレデンシャルは Login API を使用してプロジェクトトークンを取得するためのプログラム的な認証に使用されます。 詳細 Request  userName string  ~ 128文字 ユーザー名 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List クレデンシャルのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createIdentifier クレデンシャルを新規作成 指定されたユーザーに対して新しい OAuth クレデンシャル（クライアントIDとクライアントシークレット）を生成します。 クライアントシークレットはこのレスポンスでのみ返され、後から取得できません。安全に保管してください。 クレデンシャルは Login API でプロジェクトトークンを取得するためのプログラム的な API アクセスに使用できます。 詳細 Request  userName string  ~ 128文字 ユーザー名 このクレデンシャルを所有するGS2-Identifierユーザーの名前です。クレデンシャルはこのユーザーにアタッチされたセキュリティポリシーに基づいて権限を継承します。 Result 型 説明 item Identifier 作成したクレデンシャル clientSecret string クライアントシークレット 実装例 getIdentifier クレデンシャルを取得 クライアントIDで識別される特定のクレデンシャルのメタデータを取得します。 セキュリティ上の理由から、クライアントシークレットはレスポンスに含まれません。 詳細 Request  userName string  ~ 128文字 ユーザー名 このクレデンシャルを所有するGS2-Identifierユーザーの名前です。クレデンシャルはこのユーザーにアタッチされたセキュリティポリシーに基づいて権限を継承します。 clientId string  UUID ~ 256文字 クライアントID Result 型 説明 item Identifier クレデンシャル 実装例 deleteIdentifier クレデンシャルを削除 指定されたクレデンシャルを無効化して削除します。 削除後、クライアントIDとクライアントシークレットは認証に使用できなくなります。 このクレデンシャルで取得済みのプロジェクトトークンは有効期限まで有効です。 詳細 Request  userName string  ~ 128文字 ユーザー名 このクレデンシャルを所有するGS2-Identifierユーザーの名前です。クレデンシャルはこのユーザーにアタッチされたセキュリティポリシーに基づいて権限を継承します。 clientId string  UUID ~ 256文字 クライアントID Result 型 説明 item Identifier クレデンシャル 実装例 describeAttachedGuards 割り当てられたGS2-Guard Namespace GRNの一覧を取得 指定されたクレデンシャルに割り当てられた GS2-Guard ネームスペースのリストを取得します。 ガードが割り当てられている場合、このクレデンシャルを使用した API リクエストはガードサービスで定義された追加のアクセス制御チェック（IP ベースのブロッキングなど）の対象となります。 詳細 Request  clientId string  UUID ~ 256文字 クライアントID userName string  ~ 128文字 GS2-Identifier ユーザー名 GS2-Identifier ユーザー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List GS2-Guard Namespace GRNのリスト 実装例 attachGuard クレデンシャルにGS2-Guard Namespace GRNを割り当て 追加のアクセス制御のために GS2-Guard ネームスペースを指定されたクレデンシャルに割り当てます。 割り当て後、このクレデンシャルを使用した API リクエストはガードのブロッキングポリシー（IP 検出、匿名 IP フィルタリング、レピュテーションベースのフィルタリングなど）で検証されます。 操作後にクレデンシャルに割り当てられたガードネームスペースの完全なリストを返します。 詳細 Request  userName string  ~ 128文字 GS2-Identifier ユーザー名 GS2-Identifier ユーザー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clientId string  UUID ~ 256文字 クライアントID guardNamespaceId string  ~ 1024文字 割り当てるGS2-Guard Namespace GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 items List GS2-Guard Namespace GRNのリスト 実装例 detachGuard GS2-Guard Namespace GRNをクレデンシャルから外します 指定されたクレデンシャルから GS2-Guard ネームスペースを削除します。 削除後、このクレデンシャルを使用した API リクエストはそのガードのアクセス制御チェックの対象ではなくなります。 クレデンシャルに引き続き割り当てられているガードネームスペースのリストを返します。 詳細 Request  userName string  ~ 128文字 GS2-Identifier ユーザー名 GS2-Identifier ユーザー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clientId string  UUID ~ 256文字 クライアントID guardNamespaceId string  ~ 1024文字 GS2-Guard Namespace GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN の GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 items List GS2-Guard Namespace GRNのリスト 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 createPassword パスワードを新規作成 指定された GS2-Identifier ユーザーのパスワードクレデンシャルを作成します。 作成後、ユーザーは LoginByUser API を使用してユーザー名とパスワードで認証し、プロジェクトトークンを取得できます。 詳細 Request  userName string  ~ 128文字 ユーザー名 このパスワードを所有するGS2-Identifierユーザーの名前です。ユーザーはこのユーザー名と対応するパスワードでマネージメントコンソールにログインし、ユーザーにアタッチされたセキュリティポリシーに基づいてアクセスが制限されます。 password string  ~ 1024文字 パスワード マネージメントコンソール認証に使用されるハッシュ化されたパスワードです。パスワード作成時に設定され、ログイン時にユーザー入力と照合されます。内部的に保存され、APIを通じて返却されることはありません。 Result 型 説明 item Password 作成したパスワード 実装例 getPassword パスワードを取得 指定されたユーザーのパスワードメタデータを取得します。 実際のパスワード値は返されません。MFA 設定や作成時刻などのメタデータのみが含まれます。 詳細 Request  userName string  ~ 128文字 ユーザー名 このパスワードを所有するGS2-Identifierユーザーの名前です。ユーザーはこのユーザー名と対応するパスワードでマネージメントコンソールにログインし、ユーザーにアタッチされたセキュリティポリシーに基づいてアクセスが制限されます。 Result 型 説明 item Password パスワード 実装例 enableMfa MFAを有効化 指定されたユーザーの TOTP（Time-based One-Time Password）ベースの多要素認証のセットアップを開始します。 TOTP シークレットキーを生成し、MFA ステータスを「Verifying」に設定します。 TOTP パスコードを検証してセットアップを完了するために ChallengeMfa API で使用するチャレンジトークンを返します。 MFA が既に有効な場合、エラーが返されます。 詳細 Request  userName string  ~ 128文字 ユーザー名 このパスワードを所有するGS2-Identifierユーザーの名前です。ユーザーはこのユーザー名と対応するパスワードでマネージメントコンソールにログインし、ユーザーにアタッチされたセキュリティポリシーに基づいてアクセスが制限されます。 Result 型 説明 item Password 更新したパスワード challengeToken string Challenge Token 実装例 challengeMfa MFAの有効性を確認 6桁の TOTP（Time-based One-Time Password）コードを検証して MFA セットアップを完了します。 MFA ステータスが「Verifying」（EnableMfa で設定）である必要があります。そうでない場合、エラーが返されます。 検証成功後、MFA ステータスが「Enable」に変更され、以降の LoginByUser によるログインには TOTPコードが必要になります。 詳細 Request  userName string  ~ 128文字 ユーザー名 このパスワードを所有するGS2-Identifierユーザーの名前です。ユーザーはこのユーザー名と対応するパスワードでマネージメントコンソールにログインし、ユーザーにアタッチされたセキュリティポリシーに基づいてアクセスが制限されます。 passcode string  6 ~ 6文字 ワンタイムパスワードコード Result 型 説明 item Password 更新したパスワード 実装例 disableMfa MFAを無効化 指定されたユーザーの多要素認証を無効化します。 TOTP シークレットキーと MFA 設定がクリアされます。以降のログインではパスワード認証のみが必要になります。 MFA が既に無効な場合、エラーが返されます。 詳細 Request  userName string  ~ 128文字 ユーザー名 このパスワードを所有するGS2-Identifierユーザーの名前です。ユーザーはこのユーザー名と対応するパスワードでマネージメントコンソールにログインし、ユーザーにアタッチされたセキュリティポリシーに基づいてアクセスが制限されます。 Result 型 説明 item Password 更新したパスワード 実装例 deletePassword パスワードを削除 指定されたユーザーのパスワードクレデンシャルを削除します。 削除後、ユーザーは LoginByUser API で認証できなくなります。MFA 設定も削除されます。 Login API によるクレデンシャルベースの認証（クライアントID/シークレット）は影響を受けません。 詳細 Request  userName string  ~ 128文字 ユーザー名 このパスワードを所有するGS2-Identifierユーザーの名前です。ユーザーはこのユーザー名と対応するパスワードでマネージメントコンソールにログインし、ユーザーにアタッチされたセキュリティポリシーに基づいてアクセスが制限されます。 Result 型 説明 item Password パスワード 実装例 getHasSecurityPolicy 割り当てられたセキュリティポリシーの一覧を取得 指定されたユーザーに現在割り当てられているすべてのセキュリティポリシーを取得します。 割り当てられたポリシーの組み合わせにより、ユーザーの有効な API 権限が決定されます。 詳細 Request  userName string  ~ 128文字 GS2-Identifier ユーザー名 GS2-Identifier ユーザー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List セキュリティポリシーのリスト 実装例 attachSecurityPolicy ユーザーにセキュリティポリシーを割り当て GRN を指定してセキュリティポリシーをユーザーに割り当てます。 割り当て前にポリシーがロードおよび検証されます。カスタムポリシーと GS2 定義の共通ポリシーの両方を割り当てることができます。 ユーザーには複数のポリシーを割り当てることができ、有効な権限はすべての割り当てられたポリシーの和集合となります。 操作後にユーザーに現在割り当てられているセキュリティポリシーの完全なリストを返します。 詳細 Request  userName string  ~ 128文字 GS2-Identifier ユーザー名 GS2-Identifier ユーザー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 securityPolicyId string  ~ 1024文字 割り当てるセキュリティポリシーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 items List ユーザーに割り当てたセキュリティポリシーのリスト 実装例 detachSecurityPolicy 割り当てられたセキュリティポリシーをユーザーから解除 GRN を指定してセキュリティポリシーをユーザーから解除します。 解除後、ユーザーはこのポリシーによって付与されていた権限を失います。 操作後にユーザーに引き続き割り当てられているセキュリティポリシーのリストを返します。 詳細 Request  userName string  ~ 128文字 GS2-Identifier ユーザー名 GS2-Identifier ユーザー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 securityPolicyId string  ~ 1024文字 解除するセキュリティポリシーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 items List 解除したあとユーザーに引き続き割り当てられているセキュリティポリシーのリスト 実装例 describeUsers ユーザーの一覧を取得 現在のプロジェクト配下の GS2-Identifier ユーザーのページネーション付きリストを取得します。 ユーザーは API アクセス制御のためのクレデンシャル（クライアントID/シークレット）、パスワード、セキュリティポリシーを保持できるエンティティです。 詳細 Request  pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ユーザのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createUser ユーザーを新規作成 指定された名前と説明で新しい GS2-Identifier ユーザーを作成します。 作成後、API アクセス権限を制御するためにクレデンシャル、パスワード、セキュリティポリシーを割り当てることができます。 詳細 Request  name string  ~ 128文字 GS2-Identifier ユーザー名 GS2-Identifier ユーザー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 Result 型 説明 item User 作成したユーザー 実装例 updateUser ユーザーを更新 既存の GS2-Identifier ユーザーの説明を更新します。 ユーザー名は作成後に変更できません。 詳細 Request  userName string  ~ 128文字 GS2-Identifier ユーザー名 GS2-Identifier ユーザー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 Result 型 説明 item User 更新後のユーザー 実装例 getUser ユーザーを取得 ユーザー名を指定して特定の GS2-Identifier ユーザーの詳細情報を取得します。 詳細 Request  userName string  ~ 128文字 GS2-Identifier ユーザー名 GS2-Identifier ユーザー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item User ユーザー 実装例 deleteUser ユーザーを削除 GS2-Identifier ユーザーと、クレデンシャル、パスワード、セキュリティポリシーの割り当てを含むすべての関連データを削除します。 詳細 Request  userName string  ~ 128文字 GS2-Identifier ユーザー名 GS2-Identifier ユーザー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item User 削除したユーザー 実装例 describeSecurityPolicies セキュリティポリシーの一覧を取得 現在のプロジェクトで定義されたカスタムセキュリティポリシーのページネーション付きリストを取得します。 セキュリティポリシーは、ユーザーが実行できる GS2 API 操作を制御する認可ルールを定義する JSON ドキュメントです。 詳細 Request  pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List セキュリティポリシーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeCommonSecurityPolicies GS2定義のセキュリティポリシーの一覧を取得 GS2 が提供する組み込みセキュリティポリシーのページネーション付きリストを取得します。 これらの共通ポリシーは一般的なユースケースをカバーしており、カスタムポリシーと併せてユーザーに割り当てることができます。 詳細 Request  pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List セキュリティポリシーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createSecurityPolicy セキュリティポリシーを新規作成 名前、説明、および JSON ポリシードキュメントを使用して新しいカスタムセキュリティポリシーを作成します。 ポリシードキュメントは、許可または拒否する GS2 API 操作を制御する認可ルールを定義します。 作成後、AttachSecurityPolicy API を使用してユーザーにポリシーを割り当てることができます。 詳細 Request  name string  ~ 128文字 セキュリティポリシー名 セキュリティポリシー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 policy string  ~ 524288文字 ポリシードキュメント このセキュリティポリシーのアクセス制御ルールを定義するJSONドキュメントです。どのGS2 APIアクションが許可または拒否されるか、またルールが適用されるリソース（GRNパターンで識別）を指定します。複数のステートメントを組み合わせてきめ細かなアクセス制御を作成できます。最大512KBです。 Result 型 説明 item SecurityPolicy 作成したセキュリティポリシー 実装例 updateSecurityPolicy セキュリティポリシーを更新 既存のセキュリティポリシーの説明とポリシードキュメントを更新します。 変更はこのポリシーが割り当てられているすべてのユーザーに即座に反映されます。 ポリシー名は作成後に変更できません。 詳細 Request  securityPolicyName string  ~ 128文字 セキュリティポリシー名 セキュリティポリシー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 policy string  ~ 524288文字 ポリシードキュメント このセキュリティポリシーのアクセス制御ルールを定義するJSONドキュメントです。どのGS2 APIアクションが許可または拒否されるか、またルールが適用されるリソース（GRNパターンで識別）を指定します。複数のステートメントを組み合わせてきめ細かなアクセス制御を作成できます。最大512KBです。 Result 型 説明 item SecurityPolicy 更新後のセキュリティポリシー 実装例 getSecurityPolicy セキュリティポリシーを取得 JSON ポリシードキュメントを含む、特定のセキュリティポリシーの詳細情報を取得します。 詳細 Request  securityPolicyName string  ~ 128文字 セキュリティポリシー名 セキュリティポリシー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SecurityPolicy セキュリティポリシー 実装例 deleteSecurityPolicy セキュリティポリシーを削除 カスタムセキュリティポリシーを削除します。 このポリシーがまだユーザーに割り当てられている場合、それらのユーザーはこのポリシーによって付与されていた権限を失います。 詳細 Request  securityPolicyName string  ~ 128文字 セキュリティポリシー名 セキュリティポリシー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SecurityPolicy セキュリティポリシー 実装例 login プロジェクトトークン を取得 OAuth2 クライアントクレデンシャル（クライアントIDとクライアントシークレット）を使用して認証し、プロジェクトトークン（Bearer トークン）を返します。 クライアントシークレットは保存されたクレデンシャルと照合されます。無効な場合、Unauthorized エラーが返されます。 返されるトークンの有効期間は 36000 秒（10時間）で、以降のすべての GS2 API リクエストの Bearer トークンとして使用されます。 詳細 Request  client_id string  UUID ~ 256文字 クライアントID client_secret string  UUID ~ 100文字 クライアントシークレット Result 型 説明 access_token string プロジェクトトークン token_type string Bearer expires_in int 有効期間(秒) 実装例 loginByUser GS2-Identifierユーザーを指定して プロジェクトトークン を取得 GS2-Identifier のユーザー名とパスワードを使用して認証し、プロジェクトトークンを返します。 ユーザーに多要素認証（MFA）が有効な場合、otp フィールドに有効な TOTP パスコードも提供する必要があります。未提供の場合、「require」エラーが返されます。 パスワードが最初に検証され、MFA が有効な場合は続いて TOTP パスコードが検証されます。 詳細 Request  userName string  ~ 128文字 GS2-Identifier のユーザー名 password string  ~ 1024文字 GS2-Identifier のユーザーのパスワード otp string 6 ~ 6文字 パスコード Result 型 説明 item ProjectToken プロジェクトトークン 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Identifier SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Identifier SDK API リファレンス","url":"/ja/api_reference/identifier/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 放置報酬の付与時のトランザクションの処理方法を制御する設定です。 receiveScript ScriptSetting 報酬を受け取ったときに実行するスクリプトの設定 Script トリガーリファレンス - receive overrideAcquireActionsScriptId string ~ 1024文字 放置報酬の入手アクションを動的に決定するスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - overrideAcquireActions logSetting LogSetting ログの出力設定 放置報酬操作に関連するAPIリクエストおよびレスポンスログを出力するためのGS2-Logネームスペースを指定します。放置ステータスの作成、報酬の受け取り、タイミング問題のデバッグに役立ちます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Status ステータス 初めて GetIdleStatus を呼び出した時に作成され、その時間から放置時間のカウントが始まります。 放置時間のカウントは報酬を受け取るとリセットされます。 GS2-Schedule のイベントが関連づけられている場合、イベントの開催前には Category にアクセスできず、ステータスを作成することもできません。 イベントが関連づけられている場合、ステータス はイベントの繰り返し回数を保持します。 現在のイベントIDとステータス作成時のイベントIDが一致しない場合、現在のイベントの繰り返し回数とステータスが保持する繰り返し回数が一致しない場合、またはイベントの開始時刻より前にステータスが作成されている場合、待機時間 はリセットされます。 詳細  statusId string ※ ~ 1024文字 ステータス GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 userId string  ~ 128文字 ユーザーID randomSeed long 0 0 ~ 9223372036854775805 乱数シード 放置報酬の計算時に決定論的な乱数生成に使用されるシード値です。報酬計算が再現可能で一貫性があることを保証し、サーバーが報酬結果を検証できるようにします。報酬を受け取るたびに更新されます。 idleMinutes int  0 ~ 2147483646 放置時間（分） 最後の報酬受け取りまたはステータス作成からの累積放置時間（分）です。この値は idleStartedAt からの経過時間から計算され、maximumIdleMinutes で上限が設定されます。利用可能な報酬数はこの値をカテゴリーモデルの rewardIntervalMinutes で割ることで決定されます。 nextRewardsAt long 次に追加の報酬が得られる時刻 UNIX 時間・ミリ秒 maximumIdleMinutes int 0 0 ~ 2147483646 最大放置時間（分） このステータスが蓄積できる最大放置時間（分）です。ステータス作成時にカテゴリーモデルの defaultMaximumIdleMinutes から初期化されます。入手アクションを通じてユーザーごとに増加でき、プレミアムユーザーやイベント参加者がより多くの放置報酬を蓄積できるようにします。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン CategoryModel カテゴリーモデル カテゴリーモデルとは、放置報酬を得られる待機カテゴリーを設定するエンティティです。 設定には、待機時間ごとの報酬や、最大待機時間などの情報が含まれます。 詳細  categoryModelId string ※ ~ 1024文字 カテゴリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 rewardIntervalMinutes int  0 ~ 2147483646 報酬間隔（分） 各放置報酬の間の時間間隔（分）です。例えば60に設定すると、ユーザーは放置時間60分ごとに1つの報酬ユニットを獲得します。報酬の総数は（経過放置分数）/ rewardIntervalMinutes として計算され、acquireActions配列を循環します。 defaultMaximumIdleMinutes int  0 ~ 2147483646 デフォルト最大放置時間（分） このカテゴリーの新しいステータスに対するデフォルトの最大放置時間（分）です。この制限を超える放置時間は追加の報酬を蓄積しません。この値はステータス作成時に各ステータスの maximumIdleMinutes にコピーされ、入手アクションを通じてユーザーごとに拡張できます。 rewardResetMode 文字列列挙型 enum {   “Reset”,   “CarryOver” } “Reset” 報酬リセットモード ユーザーが報酬を受け取った後の放置時間の扱いを決定します。「Reset」は放置時間をゼロに戻し、部分的な間隔時間は失われます。「CarryOver」は追加の報酬を得るに足りなかった残り時間を保持し、次の報酬サイクルにカウントされます。 定義 説明 “Reset” 待機時間を0にリセット “CarryOver” 報酬を得るに至らなかった残り時間を持ち越す acquireActions List [] 1 ~ 100 items 待機時間ごとに得られる入手アクションリスト 待機時間を「X分」だと仮定すると 「X / rewardIntervalMinutes」が報酬を受け取れる数になりますが、ここで指定した配列の要素をループすることで、待機時間ごとに異なる報酬を付与できます。 idlePeriodScheduleId string ~ 1024文字 放置期間スケジュールID 放置時間が蓄積される期間を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ放置時間がカウントされます。イベントが繰り返される場合、ステータスは繰り返し回数を追跡し、新しいサイクルの開始時に放置時間をリセットして、イベント期間ごとに報酬が計算されるようにします。 receivePeriodScheduleId string ~ 1024文字 受取期間スケジュールID ユーザーが蓄積された放置報酬を受け取れる時間枠を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ報酬の受け取りが受け付けられます。これにより、放置蓄積期間とは別の期間限定の報酬受取期間を設定できます。 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか Config コンフィグ設定 トランザクションの変数に適用する設定値 詳細  key string  ~ 64文字 名前 value string ~ 51200文字 値 AcquireAction 入手アクション 放置報酬として使用される単一の入手アクションを表します。アクションタイプ（例：アイテム追加、通貨増加）とそのリクエストパラメータで構成されます。放置報酬が受け取られると、これらのアクションがトランザクションに組み立てられ、実行されてユーザーに報酬が配布されます。 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 AcquireActionList 入手アクションリスト 1つの報酬間隔で一括して付与される複数の入手アクションをグループ化するラッパーです。各 AcquireActionList はカテゴリーモデルの acquireActions 配列内の1つの報酬サイクルに対応し、各間隔で異なる報酬の組み合わせを設定できます。 詳細  acquireActions List [] 0 ~ 100 items 入手アクションリスト この報酬間隔がトリガーされた時に一括で実行される入手アクションのコレクションです。複数のアクションを組み合わせて、1つの放置報酬サイクルで異なる種類の報酬を同時に付与できます。リストあたり最大100アクションです。 CurrentCategoryMaster 現在アクティブなカテゴリーモデルのマスターデータ 現在ネームスペース内で有効な、カテゴリーモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Idle マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ CategoryModelMaster カテゴリーモデルマスター カテゴリーモデルマスターは、ゲーム内で使用されるカテゴリーモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるカテゴリーモデルとして反映されます。 カテゴリーモデルとは、放置報酬を得られる待機カテゴリーを設定するエンティティです。 設定には、待機時間ごとの報酬や、最大待機時間などの情報が含まれます。 詳細  categoryModelId string ※ ~ 1024文字 カテゴリーモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 rewardIntervalMinutes int  0 ~ 2147483646 報酬間隔（分） 各放置報酬の間の時間間隔（分）です。例えば60に設定すると、ユーザーは放置時間60分ごとに1つの報酬ユニットを獲得します。報酬の総数は（経過放置分数）/ rewardIntervalMinutes として計算され、acquireActions配列を循環します。 defaultMaximumIdleMinutes int  0 ~ 2147483646 デフォルト最大放置時間（分） このカテゴリーの新しいステータスに対するデフォルトの最大放置時間（分）です。この制限を超える放置時間は追加の報酬を蓄積しません。この値はステータス作成時に各ステータスの maximumIdleMinutes にコピーされ、入手アクションを通じてユーザーごとに拡張できます。 rewardResetMode 文字列列挙型 enum {   “Reset”,   “CarryOver” } “Reset” 報酬リセットモード ユーザーが報酬を受け取った後の放置時間の扱いを決定します。「Reset」は放置時間をゼロに戻し、部分的な間隔時間は失われます。「CarryOver」は追加の報酬を得るに足りなかった残り時間を保持し、次の報酬サイクルにカウントされます。 定義 説明 “Reset” 待機時間を0にリセット “CarryOver” 報酬を得るに至らなかった残り時間を持ち越す acquireActions List [] 1 ~ 100 items 待機時間ごとに得られる入手アクションリスト 待機時間を「X分」だと仮定すると 「X / rewardIntervalMinutes」が報酬を受け取れる数になりますが、ここで指定した配列の要素をループすることで、待機時間ごとに異なる報酬を付与できます。 idlePeriodScheduleId string ~ 1024文字 放置期間スケジュールID 放置時間が蓄積される期間を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ放置時間がカウントされます。イベントが繰り返される場合、ステータスは繰り返し回数を追跡し、新しいサイクルの開始時に放置時間をリセットして、イベント期間ごとに報酬が計算されるようにします。 receivePeriodScheduleId string ~ 1024文字 受取期間スケジュールID ユーザーが蓄積された放置報酬を受け取れる時間枠を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ報酬の受け取りが受け付けられます。これにより、放置蓄積期間とは別の期間限定の報酬受取期間を設定できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 GS2-Idle サービスの新しいネームスペースを作成します。 トランザクション設定、receiveScript（放置報酬の付与前に実行され、操作の検証や変更が可能）、overrideAcquireActionsScriptId（レート修正の適用など入手アクションを変更）、およびログ設定を構成できます。 作成後、放置報酬設定を定義するためにマスターデータ経由でカテゴリーモデルを設定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 放置報酬の付与時のトランザクションの処理方法を制御する設定です。 receiveScript ScriptSetting 報酬を受け取ったときに実行するスクリプトの設定 Script トリガーリファレンス - receive overrideAcquireActionsScriptId string ~ 1024文字 放置報酬の入手アクションを動的に決定するスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN logSetting LogSetting ログの出力設定 放置報酬操作に関連するAPIリクエストおよびレスポンスログを出力するためのGS2-Logネームスペースを指定します。放置ステータスの作成、報酬の受け取り、タイミング問題のデバッグに役立ちます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 説明、トランザクション設定、receiveScript（放置報酬の付与前に実行）、overrideAcquireActionsScriptId（入手アクションの変更）、およびログ設定を変更できます。 変更は以降の操作に即座に反映されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 放置報酬の付与時のトランザクションの処理方法を制御する設定です。 receiveScript ScriptSetting 報酬を受け取ったときに実行するスクリプトの設定 Script トリガーリファレンス - receive overrideAcquireActionsScriptId string ~ 1024文字 放置報酬の入手アクションを動的に決定するスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN logSetting LogSetting ログの出力設定 放置報酬操作に関連するAPIリクエストおよびレスポンスログを出力するためのGS2-Logネームスペースを指定します。放置ステータスの作成、報酬の受け取り、タイミング問題のデバッグに役立ちます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 ダンプが完了している場合、出力データの URL を返します。ダンプがまだ進行中の場合、URL は空になります。 ダンプされたデータには、指定されたユーザーのすべての放置ステータスレコードが gzip 形式で圧縮されて含まれます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 クリーン操作の完了状態を返します。クリーン操作は、同じオーナーが所有するすべてのネームスペースにわたって、指定されたユーザーのすべての放置ステータスレコードを削除します。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 完了状態と、利用可能な場合はインポートログの URL を返します。 インポートは、放置ステータスデータを含むアップロードされた ZIP ファイルを処理し、JSON 構造を検証し、指定されたユーザーのレコードを復元します。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeStatuses ステータスの一覧を取得 指定されたネームスペース内の認証済みユーザーの放置ステータスのページネーション付きリストを取得します。 各ステータスはカテゴリーごとの放置状態を表し、放置蓄積の開始時刻と現在の最大待機時間を含みます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ステータスのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeStatusesByUserId ユーザーIDを指定してステータスの一覧を取得 指定されたユーザーの放置ステータスのページネーション付きリストを取得します。 各ステータスはカテゴリーごとの放置状態を表し、放置蓄積の開始時刻と現在の最大待機時間を含みます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ステータスのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getStatus ステータスを取得 認証済みユーザーの特定カテゴリーの放置ステータスを取得します。 ステータスレコードがまだ存在しない場合、現在時刻を放置開始時刻とし、カテゴリーモデルの defaultMaximumIdleMinutes を最大待機時間として自動的に作成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 Result 型 説明 item Status ステータス 実装例 getStatusByUserId ユーザーIDを指定してステータスを取得 指定されたユーザーの特定カテゴリーの放置ステータスを取得します。 ステータスレコードがまだ存在しない場合、現在時刻を放置開始時刻とし、カテゴリーモデルの defaultMaximumIdleMinutes を最大待機時間として自動的に作成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステータス 実装例 prediction 獲得報酬の一覧を取得 実際に受け取ることなく、現在の待機時間に基づいて受け取れる報酬を計算して返します。 計算は、経過した待機時間を rewardIntervalMinutes で割った値に基づき、maximumIdleMinutes で上限が設定されます。 これはステータスを変更したり待機タイマーをリセットしたりしない読み取り専用の操作です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 Result 型 説明 items List 報酬 status Status ステータス 実装例 predictionByUserId ユーザーIDを指定して獲得報酬の一覧を取得 指定されたユーザーの現在の待機時間に基づいて、実際に受け取ることなく受け取れる報酬を計算して返します。 計算は、経過した待機時間を rewardIntervalMinutes で割った値に基づき、maximumIdleMinutes で上限が設定されます。 これはステータスを変更したり待機タイマーをリセットしたりしない読み取り専用の操作です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 報酬 status Status ステータス 実装例 receive 報酬を受け取る 蓄積された待機時間に基づいて、指定されたカテゴリーの放置報酬を受け取ります。 報酬量は、経過した待機時間を rewardIntervalMinutes で割った値から計算され、maximumIdleMinutes で上限が設定されます。 receiveScript が設定されている場合、報酬付与前に実行され、受け取り操作を変更または拒否できます。 overrideAcquireActionsScriptId によって入手アクション（レート修正の適用など）を変更することも可能です。 受け取り後、待機タイマーは現在時刻にリセットされます。rewardResetMode が設定されている場合、待機タイマーの動作が異なる場合があります。 計算された報酬の入手アクションを含むトランザクションを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 items List 報酬 status Status 更新したステータス transactionId string 発行されたトランザクションID stampSheet string クエストの開始処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 receiveByUserId ユーザーIDを指定して報酬を受け取る 指定されたユーザーとカテゴリーの蓄積された待機時間に基づいて放置報酬を受け取ります。 報酬量は、経過した待機時間を rewardIntervalMinutes で割った値から計算され、maximumIdleMinutes で上限が設定されます。 receiveScript が設定されている場合、報酬付与前に実行され、受け取り操作を変更または拒否できます。 overrideAcquireActionsScriptId によって入手アクション（レート修正の適用など）を変更することも可能です。 受け取り後、待機タイマーは現在時刻にリセットされます。 計算された報酬の入手アクションを含むトランザクションを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 報酬 status Status 更新したステータス transactionId string 発行されたトランザクションID stampSheet string クエストの開始処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 increaseMaximumIdleMinutesByUserId ユーザーIDを指定して最大待機時間を加算 指定されたカテゴリーにおけるユーザーの最大待機時間に指定された分数を加算します。 最大待機時間は、放置報酬が蓄積される時間の上限を決定します。 ステータスがまだ存在しない場合、加算を適用する前に自動的に作成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 increaseMinutes int 1 ~ 2147483646 最大待機時間を増やす分数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 更新したステータス 実装例 decreaseMaximumIdleMinutes 最大待機時間を減算 指定されたカテゴリーにおける認証済みユーザーの最大待機時間から指定された分数を減算します。 最大待機時間はゼロを下回ることはできません。 ステータスがまだ存在しない場合、減算を適用する前に自動的に作成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 decreaseMinutes int 1 ~ 2147483646 最大待機時間を減らす分数 Result 型 説明 item Status 更新したステータス 実装例 decreaseMaximumIdleMinutesByUserId ユーザーIDを指定して最大待機時間を減算 指定されたカテゴリーにおけるユーザーの最大待機時間から指定された分数を減算します。 最大待機時間はゼロを下回ることはできません。 ステータスがまだ存在しない場合、減算を適用する前に自動的に作成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 decreaseMinutes int 1 ~ 2147483646 最大待機時間を減らす分数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 更新したステータス 実装例 setMaximumIdleMinutesByUserId ユーザーIDを指定して最大待機時間を設定 指定されたカテゴリーにおけるユーザーの最大待機時間を指定された絶対値に設定します。 加算/減算操作とは異なり、現在の最大待機時間を直接置き換えます。 更新後のステータスと更新前のステータスの両方を返すため、呼び出し元は変更内容を確認できます。 ステータスがまだ存在しない場合、値を適用する前に自動的に作成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 maximumIdleMinutes int 1 ~ 2147483646 設定する最大待機時間 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 更新したステータス old Status 更新前のステータス 実装例 describeCategoryModels カテゴリーモデルの一覧を取得 指定されたネームスペース内の現在アクティブ（公開済み）なカテゴリーモデルの一覧を取得します。 これらはマスターデータの更新プロセスを通じて有効化されたモデルであり、プレイヤーが利用可能な放置報酬の設定を定義します。 各モデルには、報酬間隔、最大待機時間、報酬リセットモード、入手アクション、スケジュール参照などの設定が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List カテゴリーモデルリスト 実装例 getCategoryModel カテゴリーモデルを取得 名前を指定して特定のアクティブなカテゴリーモデルの詳細を取得します。 モデルには、rewardIntervalMinutes（報酬が蓄積される間隔）、defaultMaximumIdleMinutes（待機時間の上限）、acquireActions（付与される報酬）、および待機期間と受け取り期間を制御するオプションのスケジュール参照を含む放置報酬設定が定義されています。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CategoryModel カテゴリーモデル 実装例 exportMaster カテゴリーモデルマスターを有効化可能なマスターデータ形式でエクスポート ネームスペース内のすべてのカテゴリーモデルマスターを、有効化に適した JSON ドキュメントとしてエクスポートします。 エクスポートされるデータには、各カテゴリーモデルの完全な設定（報酬間隔、最大待機時間、報酬リセットモード、入手アクション、スケジュール参照）が含まれます。 このデータは別のネームスペースでマスターデータを有効化するために使用したり、バージョン管理目的で保存したりできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentCategoryMaster 有効化可能なカテゴリーモデルのマスターデータ 実装例 getCurrentCategoryMaster 現在アクティブなカテゴリーモデルのマスターデータを取得 ネームスペース内で利用可能なカテゴリーモデルを定義する、現在アクティブなマスターデータを取得します。 これは最後に有効化されたデータであり、プレイヤーへのカテゴリーモデルリクエストの提供に使用されています。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentCategoryMaster 現在アクティブなカテゴリーモデルのマスターデータ 実装例 preUpdateCurrentCategoryMaster 現在アクティブなカテゴリーモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentCategoryMaster 現在アクティブなカテゴリーモデルのマスターデータを更新 現在アクティブなカテゴリーモデルを置き換える新しいマスターデータを有効化します。 2つのモードをサポートします：「direct」はインライン JSON データ用（小さなペイロードに適用）、「preUpload」は署名付き URL 経由でアップロードされたデータ用（1MBを超えるデータに必要、PreUpdate で取得したトークンを使用）。 有効化後、新しいカテゴリーモデルは放置報酬処理に即座に利用可能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentCategoryMaster 更新された現在アクティブなカテゴリーモデルのマスターデータ 実装例 updateCurrentCategoryMasterFromGitHub 現在アクティブなカテゴリーモデルのマスターデータをGitHubから更新 GitHub リポジトリからマスターデータを取得し、現在のカテゴリーモデル設定として有効化します。 チェックアウト設定で、マスターデータ JSON を取得するリポジトリ、ブランチ/タグ、およびファイルパスを指定します。 これにより、バージョン管理を活用した GitOps スタイルの放置報酬設定管理が可能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentCategoryMaster 更新された現在アクティブなカテゴリーモデルのマスターデータ 実装例 describeCategoryModelMasters カテゴリーモデルマスターの一覧を取得 指定されたネームスペース内の編集可能なカテゴリーモデルマスターのページネーション付きリストを取得します。 カテゴリーモデルマスターは、放置報酬設定を定義するカテゴリーモデルの編集可能なバージョンです。 マスターへの変更は、現在のマスターデータの更新プロセスを通じて有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 カテゴリーモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List カテゴリーモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createCategoryModelMaster カテゴリーモデルマスターを新規作成 放置報酬設定を定義する新しい編集可能なカテゴリーモデルマスターを作成します。 主な設定には、rewardIntervalMinutes（報酬が蓄積される間隔）、defaultMaximumIdleMinutes（待機時間の上限）、rewardResetMode（受け取り時に報酬をリセットするかどうか）、acquireActions（付与される報酬）があります。 オプションで、idlePeriodScheduleId と receivePeriodScheduleId に GS2-Schedule のイベントを参照して、待機蓄積と報酬受け取りが有効な期間を制御できます。 作成したマスターは、現在のマスターデータの更新プロセスを通じて有効化する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 rewardIntervalMinutes int  0 ~ 2147483646 報酬間隔（分） 各放置報酬の間の時間間隔（分）です。例えば60に設定すると、ユーザーは放置時間60分ごとに1つの報酬ユニットを獲得します。報酬の総数は（経過放置分数）/ rewardIntervalMinutes として計算され、acquireActions配列を循環します。 defaultMaximumIdleMinutes int  0 ~ 2147483646 デフォルト最大放置時間（分） このカテゴリーの新しいステータスに対するデフォルトの最大放置時間（分）です。この制限を超える放置時間は追加の報酬を蓄積しません。この値はステータス作成時に各ステータスの maximumIdleMinutes にコピーされ、入手アクションを通じてユーザーごとに拡張できます。 rewardResetMode 文字列列挙型 enum {   “Reset”,   “CarryOver” } “Reset” 報酬リセットモード ユーザーが報酬を受け取った後の放置時間の扱いを決定します。「Reset」は放置時間をゼロに戻し、部分的な間隔時間は失われます。「CarryOver」は追加の報酬を得るに足りなかった残り時間を保持し、次の報酬サイクルにカウントされます。 定義 説明 “Reset” 待機時間を0にリセット “CarryOver” 報酬を得るに至らなかった残り時間を持ち越す acquireActions List [] 1 ~ 100 items 待機時間ごとに得られる入手アクションリスト 待機時間を「X分」だと仮定すると 「X / rewardIntervalMinutes」が報酬を受け取れる数になりますが、ここで指定した配列の要素をループすることで、待機時間ごとに異なる報酬を付与できます。 idlePeriodScheduleId string ~ 1024文字 放置期間スケジュールID 放置時間が蓄積される期間を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ放置時間がカウントされます。イベントが繰り返される場合、ステータスは繰り返し回数を追跡し、新しいサイクルの開始時に放置時間をリセットして、イベント期間ごとに報酬が計算されるようにします。 receivePeriodScheduleId string ~ 1024文字 受取期間スケジュールID ユーザーが蓄積された放置報酬を受け取れる時間枠を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ報酬の受け取りが受け付けられます。これにより、放置蓄積期間とは別の期間限定の報酬受取期間を設定できます。 Result 型 説明 item CategoryModelMaster 作成したカテゴリーモデルマスター 実装例 getCategoryModelMaster カテゴリーモデルマスターを取得 特定の編集可能なカテゴリーモデルマスターの詳細を取得します。 報酬間隔、最大待機時間、報酬リセットモード、入手アクション、スケジュール参照を含む完全な設定を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CategoryModelMaster カテゴリーモデルマスター 実装例 updateCategoryModelMaster カテゴリーモデルマスターを更新 既存のカテゴリーモデルマスターの設定を更新します。 報酬間隔、最大待機時間、報酬リセットモード、入手アクション、スケジュール参照を変更できます。 変更はマスターデータの更新プロセスで再度有効化するまで、現在アクティブなモデルには反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 rewardIntervalMinutes int  0 ~ 2147483646 報酬間隔（分） 各放置報酬の間の時間間隔（分）です。例えば60に設定すると、ユーザーは放置時間60分ごとに1つの報酬ユニットを獲得します。報酬の総数は（経過放置分数）/ rewardIntervalMinutes として計算され、acquireActions配列を循環します。 defaultMaximumIdleMinutes int  0 ~ 2147483646 デフォルト最大放置時間（分） このカテゴリーの新しいステータスに対するデフォルトの最大放置時間（分）です。この制限を超える放置時間は追加の報酬を蓄積しません。この値はステータス作成時に各ステータスの maximumIdleMinutes にコピーされ、入手アクションを通じてユーザーごとに拡張できます。 rewardResetMode 文字列列挙型 enum {   “Reset”,   “CarryOver” } “Reset” 報酬リセットモード ユーザーが報酬を受け取った後の放置時間の扱いを決定します。「Reset」は放置時間をゼロに戻し、部分的な間隔時間は失われます。「CarryOver」は追加の報酬を得るに足りなかった残り時間を保持し、次の報酬サイクルにカウントされます。 定義 説明 “Reset” 待機時間を0にリセット “CarryOver” 報酬を得るに至らなかった残り時間を持ち越す acquireActions List [] 1 ~ 100 items 待機時間ごとに得られる入手アクションリスト 待機時間を「X分」だと仮定すると 「X / rewardIntervalMinutes」が報酬を受け取れる数になりますが、ここで指定した配列の要素をループすることで、待機時間ごとに異なる報酬を付与できます。 idlePeriodScheduleId string ~ 1024文字 放置期間スケジュールID 放置時間が蓄積される期間を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ放置時間がカウントされます。イベントが繰り返される場合、ステータスは繰り返し回数を追跡し、新しいサイクルの開始時に放置時間をリセットして、イベント期間ごとに報酬が計算されるようにします。 receivePeriodScheduleId string ~ 1024文字 受取期間スケジュールID ユーザーが蓄積された放置報酬を受け取れる時間枠を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ報酬の受け取りが受け付けられます。これにより、放置蓄積期間とは別の期間限定の報酬受取期間を設定できます。 Result 型 説明 item CategoryModelMaster 更新したカテゴリーモデルマスター 実装例 deleteCategoryModelMaster カテゴリーモデルマスターを削除 指定されたカテゴリーモデルマスターを削除します。 現在アクティブなモデルには影響せず、削除はマスターデータを再度有効化した後にのみ反映されます。 このカテゴリーに関連する既存のユーザーステータスは自動的には削除されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CategoryModelMaster 削除したカテゴリーモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Idle SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Idle SDK API リファレンス","url":"/ja/api_reference/idle/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 isAutomaticDeletingEnabled bool false 自動削除 有効にすると、メッセージが開封（既読）された後にユーザーのメッセージ一覧から自動的に削除されます。クライアントからの明示的な削除操作なしに受け取り済みメッセージを削除し、受信ボックスを整理します。無効の場合、開封済みメッセージは手動で削除されるまで一覧に残ります。 transactionSetting TransactionSetting トランザクション設定 メッセージに添付された報酬を付与する際に使用される分散トランザクション処理の設定です。readAcquireActions を持つメッセージが開封されると、入手アクションが生成・実行されて報酬が配布されます。自動実行、アトミックコミット、非同期処理をサポートします。 receiveMessageScript ScriptSetting メッセージを受信したときに実行するスクリプトの設定 Script トリガーリファレンス - receiveMessage readMessageScript ScriptSetting メッセージを開封したときに実行するスクリプトの設定 Script トリガーリファレンス - readMessage deleteMessageScript ScriptSetting メッセージを削除したときに実行するスクリプトの設定 Script トリガーリファレンス - deleteMessage receiveNotification NotificationSetting 受信通知 ユーザーの受信ボックスに新しいメッセージが配信されたときにトリガーされるプッシュ通知設定です。GS2-Gatewayを使用してゲームクライアントにリアルタイム通知を送信し、ポーリングなしで新着メッセージインジケーターの表示や受信ボックスの更新をUIで行えるようにします。 logSetting LogSetting ログの出力設定 メッセージ操作に関連するAPIリクエストおよびレスポンスログを出力するためのGS2-Logネームスペースを指定します。監査やデバッグ目的でメッセージの配信、開封、報酬受け取り、削除を追跡するのに役立ちます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。 詳細  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Message メッセージ ゲームプレイヤー毎に用意されるメッセージボックスに届けられたメッセージデータ。 メッセージには開封状態がある他、開封時に実行する入手アクションを設定することができます。 メッセージには有効期限を設定でき、有効期限が切れたメッセージは、未読状態、開封後の既読状態にかかわらず、自動的に削除されます。 添付された報酬を受け取っていない場合でも削除されます。 詳細  messageId string ※ ~ 1024文字 メッセージ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 userId string  ~ 128文字 ユーザーID metadata string  ~ 4096文字 メタデータ メッセージのタイトル、本文、送信者情報、表示パラメータなどを含むJSON文字列など、メッセージの内容を表す任意のデータです。GS2はこの値を解釈せず、メッセージUIの描画のためにゲームクライアントにそのまま渡されます。最大4096文字です。 isRead bool false 既読状態 メッセージがユーザーによって開封されたかどうかを示します。メッセージが開封されると、このフラグがtrueに設定され、readAcquireActions が実行されて添付報酬が配布され、readAt タイムスタンプが記録されます。ネームスペースで isAutomaticDeletingEnabled が設定されている場合、既読後にメッセージは削除されます。 readAcquireActions List [] 0 ~ 100 items 開封時入手アクション ユーザーがこのメッセージを開封した際に実行される入手アクションのリストです。アイテム、通貨、リソースなどの報酬をメッセージに添付するために使用されます。複数のアクションを組み合わせて異なる種類の報酬を同時に付与できます。メッセージあたり最大100アクションです。 receivedAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 readAt long 0 開封日時 UNIX 時間・ミリ秒 expiresAt long 有効期限日時 UNIX 時間・ミリ秒 revision long 0 0 ~ 9223372036854775805 リビジョン GlobalMessage グローバルメッセージ グローバルメッセージはゲームプレイヤー全体にメッセージを届ける仕組みです。 グローバルメッセージには有効期間を設定でき、各ゲームプレイヤーはグローバルメッセージを受信する処理を実行することで 有効期間内のグローバルメッセージの中で未受信のメッセージを自分のメッセージボックスにコピーします。 詳細  globalMessageId string ※ ~ 1024文字 全ユーザーに向けたメッセージ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 グローバルメッセージ名 グローバルメッセージ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string  ~ 4096文字 メタデータ メッセージのタイトル、本文、表示パラメータなどを含むJSON文字列など、グローバルメッセージの内容を表す任意のデータです。ユーザーがこのグローバルメッセージを受信すると、メタデータは受信ボックス内の個別メッセージにコピーされます。GS2はこの値を解釈しません。最大4096文字です。 readAcquireActions List [] 0 ~ 100 items 開封時入手アクション このグローバルメッセージからコピーされたメッセージをユーザーが開封した際に実行される入手アクションのリストです。これらのアクションはメタデータとともに各ユーザーの個別メッセージにコピーされます。グローバルメッセージあたり最大100アクションです。 expiresTimeSpan TimeSpan 有効期限までの期間 ユーザーがこのグローバルメッセージを受信（コピー）した時刻から、コピーされたメッセージが期限切れとなり受信ボックスから自動削除されるまでの期間です。日、時間、分の組み合わせで指定します。有効期限に達するとメッセージは既読状態に関わらず削除され、未受け取りの添付報酬も含めて削除されます。 messageReceptionPeriodEventId string ~ 1024文字 メッセージ受信期間イベントID このグローバルメッセージを受信（ユーザーの受信ボックスにコピー）できる時間枠を定義するGS2-ScheduleイベントのGRNです。この期間外では、ユーザーがグローバルメッセージの受信操作をトリガーしてもメッセージは配信されません。期間限定のイベント告知や季節キャンペーン報酬に便利です。 Received 受信済みグローバルメッセージ 重複配信を防止するため、ユーザーが既に受信したグローバルメッセージを追跡します。ユーザーがグローバルメッセージの受信操作をトリガーすると、システムはこのレコードを確認して既に受信済みのメッセージをスキップします。各ユーザーは受信ボックスにコピーしたすべてのグローバルメッセージの名前を蓄積する1つの Received レコードを持ちます。 詳細  receivedId string ※ ~ 1024文字 受信済みグローバルメッセージ名 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID receivedGlobalMessageNames List [] 0 ~ 100 items 受信済みグローバルメッセージ名リスト ユーザーが既に受信したグローバルメッセージ名のリストです。グローバルメッセージの受信操作が実行されると、このリストに名前が含まれるメッセージはスキップされます。最大100件です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TimeSpan タイムスパン 日、時間、分の組み合わせとして期間を表します。受信時刻を基準としたメッセージの有効期間を定義するために使用されます。例えば、7日、0時間、0分のタイムスパンは、ユーザーが受信してから正確に1週間後にメッセージが期限切れになることを意味します。 詳細  days int 0 0 ~ 365 日数 このタイムスパンの日数です。時間と分と組み合わせて合計期間が計算されます。最大365日です。 hours int 0 0 ~ 24 時間 このタイムスパンの時間数です。日数と分と組み合わせて合計期間が計算されます。最大24時間です。 minutes int 0 0 ~ 60 分 このタイムスパンの分数です。日数と時間と組み合わせて合計期間が計算されます。最大60分です。 AcquireAction 入手アクション 報酬としてメッセージに添付される単一の入手アクションを表します。アクションタイプ（例：インベントリへのアイテム追加、通貨増加）とそのリクエストパラメータで構成されます。メッセージが開封されると、これらのアクションがトランザクションに組み立てられ、実行されてユーザーに報酬が配布されます。 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 Config コンフィグ設定 トランザクションの変数に適用する設定値 詳細  key string  ~ 64文字 名前 value string ~ 51200文字 値 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか CurrentMessageMaster 現在アクティブなグローバルメッセージのマスターデータ 現在ネームスペース内で有効な、グローバルメッセージの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Inbox マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ GlobalMessageMaster グローバルメッセージマスター グローバルメッセージマスターは、ゲーム内で使用されるグローバルメッセージの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるグローバルメッセージとして反映されます。 グローバルメッセージはゲームプレイヤー全体にメッセージを届ける仕組みです。 グローバルメッセージには有効期間を設定でき、各ゲームプレイヤーはグローバルメッセージを受信する処理を実行することで 有効期間内のグローバルメッセージの中で未受信のメッセージを自分のメッセージボックスにコピーします。 詳細  globalMessageId string ※ ~ 1024文字 全ユーザーに向けたメッセージ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 64文字 グローバルメッセージ名 ネームスペース内でこのグローバルメッセージを一意に識別する名前です。各ユーザーが既に受信したグローバルメッセージを追跡し、重複配信を防止するために使用されます。指定しない場合はUUIDとして自動生成されます。 metadata string  ~ 4096文字 メタデータ メッセージのタイトル、本文、表示パラメータなどを含むJSON文字列など、グローバルメッセージの内容を表す任意のデータです。ユーザーがこのグローバルメッセージを受信すると、メタデータは受信ボックス内の個別メッセージにコピーされます。GS2はこの値を解釈しません。最大4096文字です。 readAcquireActions List [] 0 ~ 100 items 開封時入手アクション このグローバルメッセージからコピーされたメッセージをユーザーが開封した際に実行される入手アクションのリストです。これらのアクションはメタデータとともに各ユーザーの個別メッセージにコピーされます。グローバルメッセージあたり最大100アクションです。 expiresTimeSpan TimeSpan 有効期限までの期間 ユーザーがこのグローバルメッセージを受信（コピー）した時刻から、コピーされたメッセージが期限切れとなり受信ボックスから自動削除されるまでの期間です。日、時間、分の組み合わせで指定します。有効期限に達するとメッセージは既読状態に関わらず削除され、未受け取りの添付報酬も含めて削除されます。 messageReceptionPeriodEventId string ~ 1024文字 メッセージ受信期間イベントID このグローバルメッセージを受信（ユーザーの受信ボックスにコピー）できる時間枠を定義するGS2-ScheduleイベントのGRNです。この期間外では、ユーザーがグローバルメッセージの受信操作をトリガーしてもメッセージは配信されません。期間限定のイベント告知や季節キャンペーン報酬に便利です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 GS2-Inbox サービスの新しいネームスペースを作成します。 isAutomaticDeletingEnabled（既読メッセージの自動削除）、トランザクション設定、スクリプトコールバック（receiveMessageScript、readMessageScript、deleteMessageScript）、receiveNotification（メッセージイベントの Webhook）、およびログ設定を構成できます。 作成後、グローバルメッセージマスターを定義し、マスターデータの更新プロセスを通じて有効化できます。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 isAutomaticDeletingEnabled bool false 自動削除 有効にすると、メッセージが開封（既読）された後にユーザーのメッセージ一覧から自動的に削除されます。クライアントからの明示的な削除操作なしに受け取り済みメッセージを削除し、受信ボックスを整理します。無効の場合、開封済みメッセージは手動で削除されるまで一覧に残ります。 transactionSetting TransactionSetting トランザクション設定 メッセージに添付された報酬を付与する際に使用される分散トランザクション処理の設定です。readAcquireActions を持つメッセージが開封されると、入手アクションが生成・実行されて報酬が配布されます。自動実行、アトミックコミット、非同期処理をサポートします。 receiveMessageScript ScriptSetting メッセージを受信したときに実行するスクリプトの設定 Script トリガーリファレンス - receiveMessage readMessageScript ScriptSetting メッセージを開封したときに実行するスクリプトの設定 Script トリガーリファレンス - readMessage deleteMessageScript ScriptSetting メッセージを削除したときに実行するスクリプトの設定 Script トリガーリファレンス - deleteMessage receiveNotification NotificationSetting 受信通知 ユーザーの受信ボックスに新しいメッセージが配信されたときにトリガーされるプッシュ通知設定です。GS2-Gatewayを使用してゲームクライアントにリアルタイム通知を送信し、ポーリングなしで新着メッセージインジケーターの表示や受信ボックスの更新をUIで行えるようにします。 logSetting LogSetting ログの出力設定 メッセージ操作に関連するAPIリクエストおよびレスポンスログを出力するためのGS2-Logネームスペースを指定します。監査やデバッグ目的でメッセージの配信、開封、報酬受け取り、削除を追跡するのに役立ちます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 説明、自動削除設定、トランザクション設定、スクリプトコールバック（receiveMessageScript、readMessageScript、deleteMessageScript）、receiveNotification、およびログ設定を変更できます。 変更は以降の操作に即座に反映されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 isAutomaticDeletingEnabled bool false 自動削除 有効にすると、メッセージが開封（既読）された後にユーザーのメッセージ一覧から自動的に削除されます。クライアントからの明示的な削除操作なしに受け取り済みメッセージを削除し、受信ボックスを整理します。無効の場合、開封済みメッセージは手動で削除されるまで一覧に残ります。 transactionSetting TransactionSetting トランザクション設定 メッセージに添付された報酬を付与する際に使用される分散トランザクション処理の設定です。readAcquireActions を持つメッセージが開封されると、入手アクションが生成・実行されて報酬が配布されます。自動実行、アトミックコミット、非同期処理をサポートします。 receiveMessageScript ScriptSetting メッセージを受信したときに実行するスクリプトの設定 Script トリガーリファレンス - receiveMessage readMessageScript ScriptSetting メッセージを開封したときに実行するスクリプトの設定 Script トリガーリファレンス - readMessage deleteMessageScript ScriptSetting メッセージを削除したときに実行するスクリプトの設定 Script トリガーリファレンス - deleteMessage receiveNotification NotificationSetting 受信通知 ユーザーの受信ボックスに新しいメッセージが配信されたときにトリガーされるプッシュ通知設定です。GS2-Gatewayを使用してゲームクライアントにリアルタイム通知を送信し、ポーリングなしで新着メッセージインジケーターの表示や受信ボックスの更新をUIで行えるようにします。 logSetting LogSetting ログの出力設定 メッセージ操作に関連するAPIリクエストおよびレスポンスログを出力するためのGS2-Logネームスペースを指定します。監査やデバッグ目的でメッセージの配信、開封、報酬受け取り、削除を追跡するのに役立ちます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 ダンプが完了している場合、出力データの URL を返します。ダンプがまだ進行中の場合、URL は空になります。 ダンプされたデータには、指定されたユーザーのすべてのメッセージレコードと受信済みグローバルメッセージの追跡データが gzip 形式で圧縮されて含まれます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 クリーン操作の完了状態を返します。クリーン操作は、同じオーナーが所有するすべてのネームスペースにわたって、指定されたユーザーのすべてのメッセージレコードと受信済みグローバルメッセージの追跡データを削除します。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 完了状態と、利用可能な場合はインポートログの URL を返します。 インポートは、受信箱データ（inbox.json）を含むアップロードされた ZIP ファイルを処理し、各レコードの構造とデータタイプ（Message または Received）を検証し、指定されたユーザーのレコードを復元します。 データ内のテンプレート変数はインポート中に自動的に置換されます。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeMessages メッセージの一覧を取得 認証済みユーザーの受信箱にあるメッセージのページネーション付きリストを取得します。 isRead パラメータを使用して既読状態でフィルタリングできます。指定しない場合、既読状態に関係なくすべてのメッセージが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン isRead bool? 既読状態 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List メッセージのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeMessagesByUserId ユーザーIDを指定してメッセージの一覧を取得 指定されたユーザーの受信箱にあるメッセージのページネーション付きリストを取得します。 isRead パラメータを使用して既読状態でフィルタリングできます。指定しない場合、既読状態に関係なくすべてのメッセージが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID isRead bool? 既読状態 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List メッセージのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 sendMessageByUserId ユーザーIDを指定してメッセージの送信 指定されたユーザーの受信箱に新しいメッセージを作成して配信します。 メッセージにはメタデータ（任意の JSON コンテンツ）と readAcquireActions（メッセージの開封時に付与される報酬）を含めることができます。 メッセージの有効期限は、絶対タイムスタンプ（expiresAt）または配信時点からの相対的な期間（expiresTimeSpan）で設定できます。expiresAt が指定された場合、expiresTimeSpan より優先されます。 メッセージは未読状態（isRead=false）で開始されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID metadata string  ~ 4096文字 メタデータ メッセージのタイトル、本文、送信者情報、表示パラメータなどを含むJSON文字列など、メッセージの内容を表す任意のデータです。GS2はこの値を解釈せず、メッセージUIの描画のためにゲームクライアントにそのまま渡されます。最大4096文字です。 readAcquireActions List [] 0 ~ 100 items 開封時入手アクション ユーザーがこのメッセージを開封した際に実行される入手アクションのリストです。アイテム、通貨、リソースなどの報酬をメッセージに添付するために使用されます。複数のアクションを組み合わせて異なる種類の報酬を同時に付与できます。メッセージあたり最大100アクションです。 expiresAt long 有効期限日時 UNIX 時間・ミリ秒 expiresTimeSpan TimeSpan メッセージを受信した時刻（基準時刻）からメッセージが削除されるまでの期間 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Message 作成したメッセージ 実装例 getMessage メッセージを取得 メタデータ、既読状態、設定された入手アクションを含む、認証済みユーザーの受信箱にある特定のメッセージの詳細を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 Result 型 説明 item Message メッセージ 実装例 getMessageByUserId ユーザーIDを指定してメッセージを取得 メタデータ、既読状態、設定された入手アクションを含む、指定されたユーザーの受信箱にある特定のメッセージの詳細を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Message メッセージ 実装例 receiveGlobalMessage グローバルメッセージのうちまだ受け取っていないメッセージを受信 アクティブなグローバルメッセージを認証済みユーザーの受信箱の個別メッセージに変換します。 アクティブなグローバルメッセージのリストをユーザーの受信追跡レコードと比較して未配信のメッセージを特定し、まだ受信していないメッセージのみ新しいメッセージコピーを作成します。 受信追跡レコードは更新され、以降の呼び出しでの重複配信を防ぎます。 新しく作成されたメッセージのリストを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item List 受信したメッセージ一覧 実装例 receiveGlobalMessageByUserId ユーザーIDを指定してグローバルメッセージのうちまだ受け取っていないメッセージを受信 アクティブなグローバルメッセージを指定されたユーザーの受信箱の個別メッセージに変換します。 アクティブなグローバルメッセージのリストをユーザーの受信追跡レコードと比較して未配信のメッセージを特定し、まだ受信していないメッセージのみ新しいメッセージコピーを作成します。 受信追跡レコードは更新され、以降の呼び出しでの重複配信を防ぎます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item List 受信したメッセージ一覧 実装例 openMessage メッセージを開封済み化 認証済みユーザーの受信箱にある指定されたメッセージを既読（開封済み）としてマークします。 これは入手アクションを実行せずに isRead を true に設定する単純な状態遷移です。 既読にすると同時に関連する報酬を実行するには、代わりに Read API を使用してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 Result 型 説明 item Message メッセージ 実装例 openMessageByUserId ユーザーIDを指定してメッセージを開封済み化 指定されたユーザーの受信箱にある指定されたメッセージを既読（開封済み）としてマークします。 これは入手アクションを実行せずに isRead を true に設定する単純な状態遷移です。 既読にすると同時に関連する報酬を実行するには、代わりに Read API を使用してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Message メッセージ 実装例 closeMessageByUserId ユーザーIDを指定してメッセージを未開封化 メッセージの既読状態を未読（isRead=false）に戻します。 これは Open の逆操作であり、メッセージを未読状態に戻すことができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Message メッセージ 実装例 readMessage メッセージを開封 メッセージを既読にし、設定された readAcquireActions（報酬）を実行します。 メッセージが既に開封済みの場合、報酬の重複付与を防ぐために「alreadyRead」エラーが返されます。 メッセージに入手アクションがない場合、トランザクションを生成せずに単純に既読としてマークされます。 入手アクションがある場合、報酬トランザクションが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item Message メッセージ transactionId string 発行されたトランザクションID stampSheet string スタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 readMessageByUserId ユーザーIDを指定してメッセージを開封 指定されたユーザーのメッセージを既読にし、設定された readAcquireActions（報酬）を実行します。 メッセージが既に開封済みの場合、報酬の重複付与を防ぐために「alreadyRead」エラーが返されます。 メッセージに入手アクションがない場合、トランザクションを生成せずに単純に既読としてマークされます。 入手アクションがある場合、報酬トランザクションが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Message メッセージ transactionId string 発行されたトランザクションID stampSheet string スタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 batchReadMessages メッセージを一括開封 複数のメッセージを一度にアトミックに開封し、既読としてマークして、結合された readAcquireActions（報酬）を実行します。 指定されたメッセージのいずれかが既に開封済みの場合、「alreadyRead」エラーが返され、メッセージは処理されません。 入手アクションのないメッセージは即座に既読としてマークされ、報酬のあるメッセージは単一のトランザクションでまとめて処理されます。 1回のバッチ操作で最大10件のメッセージを開封できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン messageNames List  1 ~ 10 items メッセージ名リスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 items List メッセージのリスト transactionId string 発行されたトランザクションID stampSheet string スタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 batchReadMessagesByUserId ユーザーIDを指定してメッセージを一括開封 指定されたユーザーの複数のメッセージを一度にアトミックに開封し、既読としてマークして、結合された readAcquireActions（報酬）を実行します。 指定されたメッセージのいずれかが既に開封済みの場合、「alreadyRead」エラーが返され、メッセージは処理されません。 入手アクションのないメッセージは即座に既読としてマークされ、報酬のあるメッセージは単一のトランザクションでまとめて処理されます。 1回のバッチ操作で最大10件のメッセージを開封できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID messageNames List  1 ~ 10 items メッセージ名リスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List メッセージのリスト transactionId string 発行されたトランザクションID stampSheet string スタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 deleteMessage メッセージを削除 認証済みユーザーの受信箱からメッセージを完全に削除します。 既読状態に関係なくメッセージレコードが削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 Result 型 説明 item Message 削除されたメッセージ 実装例 deleteMessageByUserId ユーザーIDを指定してメッセージを削除 指定されたユーザーの受信箱からメッセージを完全に削除します。 既読状態に関係なくメッセージレコードが削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Message 削除されたメッセージ 実装例 describeGlobalMessages 全ユーザーに向けたメッセージの一覧を取得 指定されたネームスペース内の現在アクティブなグローバルメッセージの一覧を取得します。 受信期間内のメッセージのみが返され、受信ウィンドウ外のメッセージは除外されます。 グローバルメッセージは、ReceiveGlobalMessage API を使用して個々のユーザーメッセージに変換できるブロードキャストメッセージです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 全ユーザーに向けたメッセージのリスト 実装例 getGlobalMessage 全ユーザーに向けたメッセージを取得 名前を指定して特定のグローバルメッセージを取得します。 メッセージは受信期間内である必要があります。受信ウィンドウ外の場合、404 エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 globalMessageName string  ~ 128文字 グローバルメッセージ名 グローバルメッセージ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item GlobalMessage 全ユーザーに向けたメッセージ 実装例 getReceivedByUserId ユーザーIDを指定して受信済みグローバルメッセージを取得 指定されたユーザーが既に受信したグローバルメッセージ名のリストを取得します。 この追跡レコードは、ReceiveGlobalMessage がまだユーザーに配信されていないグローバルメッセージを判別し、重複配信を防ぐために使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Received 受信済みグローバルメッセージ 実装例 updateReceivedByUserId ユーザーIDを指定して受信済みグローバルメッセージを更新 ユーザーが受信したグローバルメッセージ名のリストを直接更新します。 特定のグローバルメッセージを受信済みとして手動でマークしたり、再配信のために受信状態をリセットするために使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID receivedGlobalMessageNames List [] 0 ~ 100 items 受信済みグローバルメッセージ名リスト ユーザーが既に受信したグローバルメッセージ名のリストです。グローバルメッセージの受信操作が実行されると、このリストに名前が含まれるメッセージはスキップされます。最大100件です。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Received 更新した受信済みグローバルメッセージ 実装例 deleteReceivedByUserId ユーザーIDを指定して受信済みグローバルメッセージを削除 指定されたユーザーの受信追跡レコードを削除します。 削除後、次回の ReceiveGlobalMessage 呼び出し時にすべてのアクティブなグローバルメッセージが未受信として扱われ、個別メッセージとして再配信されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Received 受信済みグローバルメッセージ 実装例 exportMaster グローバルメッセージマスターを有効化可能なマスターデータ形式でエクスポート ネームスペース内のすべてのグローバルメッセージマスターを、有効化に適した JSON ドキュメントとしてエクスポートします。 エクスポートされるデータには、各グローバルメッセージの完全な設定（メタデータ、開封時入手アクション、有効期限設定、受信期間参照）が含まれます。 このデータは別のネームスペースでマスターデータを有効化するために使用したり、バージョン管理目的で保存したりできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentMessageMaster 有効化可能なグローバルメッセージのマスターデータ 実装例 getCurrentMessageMaster 現在アクティブなグローバルメッセージのマスターデータを取得 ネームスペース内で利用可能なグローバルメッセージを定義する、現在アクティブなマスターデータを取得します。 これは最後に有効化されたデータであり、グローバルメッセージリクエストと ReceiveGlobalMessage 操作の提供に使用されています。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentMessageMaster 現在アクティブなグローバルメッセージのマスターデータ 実装例 preUpdateCurrentMessageMaster 現在アクティブなマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentMessageMaster 現在アクティブなグローバルメッセージのマスターデータを更新 現在アクティブなグローバルメッセージを置き換える新しいマスターデータを有効化します。 2つのモードをサポートします：「direct」はインライン JSON データ用（小さなペイロードに適用）、「preUpload」は署名付き URL 経由でアップロードされたデータ用（1MBを超えるデータに必要、PreUpdate で取得したトークンを使用）。 有効化後、新しいグローバルメッセージは ReceiveGlobalMessage 操作に即座に利用可能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentMessageMaster 更新された現在アクティブなグローバルメッセージのマスターデータ 実装例 updateCurrentMessageMasterFromGitHub 現在アクティブなグローバルメッセージのマスターデータをGitHubから更新 GitHub リポジトリからマスターデータを取得し、現在のグローバルメッセージ設定として有効化します。 チェックアウト設定で、マスターデータ JSON を取得するリポジトリ、ブランチ/タグ、およびファイルパスを指定します。 ファイル内のテンプレート変数（region、ownerId、userId）は処理中に自動的に置換されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentMessageMaster 更新された現在アクティブなグローバルメッセージのマスターデータ 実装例 describeGlobalMessageMasters 全ユーザーに向けたメッセージの一覧を取得 受信期間に関係なく、指定されたネームスペース内のすべてのグローバルメッセージマスターのページネーション付きリストを取得します。 まだアクティブでないメッセージや既に期限切れのメッセージも含む、管理用のビューです。 名前の接頭辞によるオプションのフィルタリングをサポートします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 全ユーザーに向けたメッセージ名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 全ユーザーに向けたメッセージのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createGlobalMessageMaster 全ユーザーに向けたメッセージを新規作成 全ユーザーにブロードキャストされる新しいグローバルメッセージテンプレートを作成します。 readAcquireActions（メッセージの開封時に付与される報酬）と、メッセージの有効期限を絶対タイムスタンプ（expiresAt）またはユーザーが受信した時点からの相対的な期間（expiresTimeSpan）で設定できます。 オプションで、messageReceptionPeriodEventId に GS2-Schedule のイベントを参照して、ユーザーがメッセージを受信できる時間ウィンドウを制御できます。 作成したマスターは、現在のマスターデータの更新プロセスを通じて有効化する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  UUID ~ 64文字 グローバルメッセージ名 ネームスペース内でこのグローバルメッセージを一意に識別する名前です。各ユーザーが既に受信したグローバルメッセージを追跡し、重複配信を防止するために使用されます。指定しない場合はUUIDとして自動生成されます。 metadata string  ~ 4096文字 メタデータ メッセージのタイトル、本文、表示パラメータなどを含むJSON文字列など、グローバルメッセージの内容を表す任意のデータです。ユーザーがこのグローバルメッセージを受信すると、メタデータは受信ボックス内の個別メッセージにコピーされます。GS2はこの値を解釈しません。最大4096文字です。 readAcquireActions List [] 0 ~ 100 items 開封時入手アクション このグローバルメッセージからコピーされたメッセージをユーザーが開封した際に実行される入手アクションのリストです。これらのアクションはメタデータとともに各ユーザーの個別メッセージにコピーされます。グローバルメッセージあたり最大100アクションです。 expiresTimeSpan TimeSpan 有効期限までの期間 ユーザーがこのグローバルメッセージを受信（コピー）した時刻から、コピーされたメッセージが期限切れとなり受信ボックスから自動削除されるまでの期間です。日、時間、分の組み合わせで指定します。有効期限に達するとメッセージは既読状態に関わらず削除され、未受け取りの添付報酬も含めて削除されます。 messageReceptionPeriodEventId string ~ 1024文字 メッセージ受信期間イベントID このグローバルメッセージを受信（ユーザーの受信ボックスにコピー）できる時間枠を定義するGS2-ScheduleイベントのGRNです。この期間外では、ユーザーがグローバルメッセージの受信操作をトリガーしてもメッセージは配信されません。期間限定のイベント告知や季節キャンペーン報酬に便利です。 Result 型 説明 item GlobalMessageMaster 作成した全ユーザーに向けたメッセージ 実装例 getGlobalMessageMaster 全ユーザーに向けたメッセージを取得 メタデータ、開封時入手アクション、有効期限設定、受信期間設定を含む、特定のグローバルメッセージマスターの詳細を取得します。 GlobalMessage の Get API とは異なり、受信期間内かどうかに関係なくメッセージを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 globalMessageName string  UUID ~ 64文字 グローバルメッセージ名 ネームスペース内でこのグローバルメッセージを一意に識別する名前です。各ユーザーが既に受信したグローバルメッセージを追跡し、重複配信を防止するために使用されます。指定しない場合はUUIDとして自動生成されます。 Result 型 説明 item GlobalMessageMaster 全ユーザーに向けたメッセージ 実装例 updateGlobalMessageMaster 全ユーザーに向けたメッセージを更新 既存のグローバルメッセージマスターのプロパティを更新します。 メタデータ、開封時入手アクション（報酬）、有効期限設定、受信期間イベント参照を変更できます。 変更は、現在のマスターデータの更新プロセスを通じて有効化する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 globalMessageName string  UUID ~ 64文字 グローバルメッセージ名 ネームスペース内でこのグローバルメッセージを一意に識別する名前です。各ユーザーが既に受信したグローバルメッセージを追跡し、重複配信を防止するために使用されます。指定しない場合はUUIDとして自動生成されます。 metadata string  ~ 4096文字 メタデータ メッセージのタイトル、本文、表示パラメータなどを含むJSON文字列など、グローバルメッセージの内容を表す任意のデータです。ユーザーがこのグローバルメッセージを受信すると、メタデータは受信ボックス内の個別メッセージにコピーされます。GS2はこの値を解釈しません。最大4096文字です。 readAcquireActions List [] 0 ~ 100 items 開封時入手アクション このグローバルメッセージからコピーされたメッセージをユーザーが開封した際に実行される入手アクションのリストです。これらのアクションはメタデータとともに各ユーザーの個別メッセージにコピーされます。グローバルメッセージあたり最大100アクションです。 expiresTimeSpan TimeSpan 有効期限までの期間 ユーザーがこのグローバルメッセージを受信（コピー）した時刻から、コピーされたメッセージが期限切れとなり受信ボックスから自動削除されるまでの期間です。日、時間、分の組み合わせで指定します。有効期限に達するとメッセージは既読状態に関わらず削除され、未受け取りの添付報酬も含めて削除されます。 messageReceptionPeriodEventId string ~ 1024文字 メッセージ受信期間イベントID このグローバルメッセージを受信（ユーザーの受信ボックスにコピー）できる時間枠を定義するGS2-ScheduleイベントのGRNです。この期間外では、ユーザーがグローバルメッセージの受信操作をトリガーしてもメッセージは配信されません。期間限定のイベント告知や季節キャンペーン報酬に便利です。 Result 型 説明 item GlobalMessageMaster 更新した全ユーザーに向けたメッセージ 実装例 deleteGlobalMessageMaster 全ユーザーに向けたメッセージを削除 指定されたグローバルメッセージマスターを削除します。 マスターデータの更新を有効化した後、メッセージは新しいユーザーの受信に利用できなくなります。 既に個別メッセージとしてユーザーに受信されたメッセージは影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 globalMessageName string  UUID ~ 64文字 グローバルメッセージ名 ネームスペース内でこのグローバルメッセージを一意に識別する名前です。各ユーザーが既に受信したグローバルメッセージを追跡し、重複配信を防止するために使用されます。指定しない場合はUUIDとして自動生成されます。 Result 型 説明 item GlobalMessageMaster 削除した全ユーザーに向けたメッセージ 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Inbox SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Inbox SDK API リファレンス","url":"/ja/api_reference/inbox/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 アイテムの入手や消費などのインベントリ操作に対する分散トランザクション処理を設定します。シームレスな実行のための自動実行モード、複数リソースの一貫した操作のためのアトミックコミット、大規模な報酬配布のための非同期処理をサポートします。 acquireScript ScriptSetting アイテムを入手したときに実行するスクリプトの設定 Script トリガーリファレンス - acquire overflowScript ScriptSetting 入手上限に当たって入手できなかったときに実行するスクリプトの設定 Script トリガーリファレンス - overflowDone consumeScript ScriptSetting アイテムを消費するときに実行するスクリプトの設定 Script トリガーリファレンス - consume simpleItemAcquireScript ScriptSetting シンプルアイテムを入手したときに実行するスクリプトの設定 Script トリガーリファレンス - simpleItemAcquire simpleItemConsumeScript ScriptSetting シンプルアイテムを消費するときに実行するスクリプトの設定 Script トリガーリファレンス - simpleItemConsume bigItemAcquireScript ScriptSetting 巨大アイテムを入手したときに実行するスクリプトの設定 Script トリガーリファレンス - bigItemAcquire bigItemConsumeScript ScriptSetting 巨大アイテムを消費するときに実行するスクリプトの設定 Script トリガーリファレンス - bigItemConsume logSetting LogSetting ログの出力設定 インベントリ操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のためにアイテムの入手、消費、容量変更の追跡に便利です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Inventory インベントリ インベントリは、ゲームプレイヤーが所有するアイテムを格納するためのカバンのようなものです。 カバンには容量があり、プレイヤーごとに容量を拡張することができます。 詳細  inventoryId string ※ ~ 1024文字 インベントリ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 inventoryName string  ~ 128文字 インベントリモデル名 このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 userId string  ~ 128文字 ユーザーID currentInventoryCapacityUsage int 0 0 ~ 2147483646 キャパシティ使用量 アイテムセットによって現在使用されているインベントリ枠の数です。新しいアイテムスタックが追加された時（例：allowMultipleStacksで新しい枠が作成された時）にインクリメントされ、アイテムセットが完全に消費または削除された時にデクリメントされます。currentInventoryMaxCapacityを超えることはできません。 currentInventoryMaxCapacity int  1 ~ 2147483646 最大キャパシティ このユーザーが使用可能なインベントリ枠の現在の最大数です。インベントリモデルのinitialCapacityから初期化され、入手アクションまたは直接のAPI呼び出しを通じてモデルのmaxCapacityまで拡張できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン ItemSet アイテムセット アイテムセットはゲームプレイヤーのインベントリ内に保存されている所有物を表しています。 インベントリモデル名とアイテムモデル名、所持数量、有効期限等を保持します。 詳細  itemSetId string ※ ~ 1024文字 アイテムセット GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 count long  1 ~ 9223372036854775805 所持数量 このスタック内のアイテム数です。1からアイテムモデルのスタック上限までの範囲です。アイテムを入手するとスタック上限までカウントが増加し、消費すると減少します。カウントが0になるとアイテムセットは削除され、インベントリ枠が解放されます。 referenceOf List [] 0 ~ 24 items 参照元リスト このアイテムセットに登録された外部参照です。どのシステムがこのアイテムを使用しているか（例：武器として装備、編成に割り当て）を追跡するために使用されます。アイテムセットあたり最大24参照です。 sortValue int  0 ~ 2147483646 表示順番 アイテムモデルのsortValueからコピーされた数値で、インベントリ内のアイテムセットを表示用にソートするために使用されます。値が小さいほど先に表示されます。 expiresAt long 0 有効期限 UNIX 時間・ミリ秒 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 ReferenceOf 所持品の参照元 装備スロットや編成バインドなど、アイテムセットに登録された外部参照を表します。インベントリモデルでprotectReferencedItemが有効な場合、アクティブな参照元を持つアイテムセットは消費や削除から保護され、使用中のアイテムが誤って削除されることを防ぎます。 詳細  referenceOfId string ※ ~ 1024文字 参照 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 アイテムセットを識別する名前 この参照が付加されているアイテムセットのUUID名です。インベントリ内のどの特定のアイテムスタックが外部システムから参照されているかを識別するために使用されます。 SimpleInventory シンプルインベントリ シンプルインベントリは、ゲームプレイヤーが所有するシンプルアイテムを格納するためのカバンのようなものです。 シンプルインベントリにはアイテム所持数の上限やインベントリの容量といった機能はありませんが、複数のアイテムをまとめて増減することができます。 詳細  inventoryId string ※ ~ 1024文字 シンプルインベントリ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 inventoryName string  ~ 128文字 シンプルインベントリモデル名 このインベントリのアイテムの種類を定義するシンプルインベントリモデルの名前です。ユーザーのシンプルインベントリインスタンスをモデル定義にリンクします。 userId string  ~ 128文字 ユーザーID simpleItems List [] 0 ~ 1000 items シンプルアイテム一覧 このシンプルインベントリに格納されたすべてのアイテム所持品です。複数のアイテムを1回のバッチ操作で入手または消費できます。シンプルインベントリあたり最大1000アイテムです。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SimpleItem シンプルアイテム シンプルアイテムはゲームプレイヤーのインベントリー内に保存されている所有物を表しています。 シンプルアイテムモデル名と所持数量を持ちます。 詳細  itemId string ※ ~ 1024文字 シンプルアイテム GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 count long  0 ~ 9223372036854775805 所持数量 ユーザーが所持するこのアイテムの種類の数です。通常のインベントリアイテムと異なり、シンプルアイテムにはスタック上限がなく、カウントはint64の範囲内で任意の値を取ることができます。他のシンプルアイテムとともにバッチ操作で増減できます。 revision long 0 0 ~ 9223372036854775805 リビジョン BigInventory 巨大インベントリ 巨大インベントリは、通常のインベントリでは扱えない大きな数量のアイテムを、ゲームプレイヤーごとに管理するためのカバンのような仕組みです。 巨大アイテムはアイテムの所持数量をint64の範囲を超えて保持できます。 詳細  inventoryId string ※ ~ 1024文字 巨大インベントリ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 inventoryName string  ~ 128文字 巨大インベントリモデル名 このインベントリのアイテムの種類を定義する巨大インベントリモデルの名前です。ユーザーの巨大インベントリインスタンスをモデル定義にリンクします。 userId string  ~ 128文字 ユーザーID bigItems List 0 ~ 1000 items 巨大アイテム一覧 この巨大インベントリに格納されたすべての巨大アイテム所持品です。各アイテムは巨大十進整数文字列として数量を保持します。巨大インベントリあたり最大1000アイテムです。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 BigItem 巨大アイテム 巨大アイテムはゲームプレイヤーの巨大インベントリー内に保存されている所有物を表しています。 巨大アイテムモデル名と、所持数量をint64の範囲を超えて保持できます。 詳細  itemId string ※ ~ 1024文字 巨大アイテム GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 巨大アイテムモデル名 このレコードに格納されているアイテムの種類を定義する巨大アイテムモデルの名前です。この巨大アイテムの所持品がどのアイテム定義に対応するかを識別するために使用されます。 count string  ~ 1024文字 所持数量 最大1024桁までの整数値文字列 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン InventoryModel インベントリモデル インベントリはゲームプレイヤーが所有しているアイテムを格納するカバンのようなものです。 インベントリには容量が設定でき、容量を超えては所有できません。 詳細  inventoryModelId string ※ ~ 1024文字 インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialCapacity int  0 ~ 2147483646 初期サイズ インベントリが初めて作成される際にユーザーに提供されるインベントリ枠の数です。各枠には1つのアイテムスタックを格納できます。ユーザーはゲームプレイのアクションを通じてmaxCapacityまで容量を拡張できます。 maxCapacity int  0 ~ 2147483646 最大サイズ ユーザーが拡張可能なインベントリ枠の上限値です。この値を超えて容量を増やすことはできません。すべての枠が使用中でアイテムをこれ以上スタックできない場合、オーバーフロースクリプトが超過分を処理しない限り、入手は失敗します。 protectReferencedItem bool? false 参照元保護 有効にすると、（referenceOf メカニズムで）参照元が登録されているアイテムセットは消費または削除できなくなります。他のシステムで使用中のアイテム（例：装備中のギア、編成にバインドされたアイテム）が誤って削除されることを防ぎます。 itemModels List [] 1 ~ 1000 items アイテムモデル一覧 このインベントリに格納可能なアイテムの種類です。各アイテムモデルは1種類のアイテムのスタックおよび入手動作を定義します。インベントリモデルあたり最大1000アイテムモデルです。 ItemModel アイテムモデル アイテムは、ポーション ×99 のように、1つのインベントリ枠に複数個まとめて所持できます。 このように 1枠に複数個まとめることを「スタック」 と呼び、アイテムごとに スタックできる上限数 を設定できます。 スタック上限に達した場合の挙動もアイテムごとに設定できます。 具体的には、以下のどちらかを選べます： 新しいインベントリ枠を追加して、さらに所持できるようにする 上限に達したため、これ以上入手できないようにする 詳細  itemModelId string ※ ~ 1024文字 アイテムモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 アイテムモデル名 アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 stackingLimit long  1 ~ 9223372036854775805 スタック可能な最大数量 1つのインベントリ枠（スタック）に保持できるこのアイテムの最大数です。この上限に達した場合の動作はallowMultipleStacks設定に依存し、新しい枠が割り当てられるか、それ以上の入手がブロックされます。 allowMultipleStacks bool  複数スタック許可 有効にすると、スタック上限に達した場合に新しいインベントリ枠が自動的に割り当てられ、このアイテムの追加数量を格納します（追加の容量を消費します）。無効の場合、既存の枠でスタック上限に達すると入手がブロックされます。 sortValue int  0 ~ 2147483646 表示順番 インベントリ内のアイテムを表示用にソートするための数値です。値が小さいほど先に表示されます。この値はItemSetレコードにもコピーされ、所持アイテムの一貫した順序付けを可能にします。 SimpleInventoryModel シンプルインベントリモデル 通常の InventoryModel では、インベントリ内に格納できるアイテムの容量制限ができました。 しかし、シンプルインベントリ ではそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。 ただし、シンプルインベントリでは、複数のアイテムの増減処理を1回の処理で実行可能なAPIが利用できます。 詳細  inventoryModelId string ※ ~ 1024文字 シンプルインベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 simpleItemModels List [] 1 ~ 1000 items シンプルアイテムモデル一覧 このシンプルインベントリに格納可能なアイテムの種類です。通常のインベントリと異なり、シンプルアイテムにはスタック上限や容量制約がありません。シンプルインベントリモデルあたり最大1000アイテムモデルです。 SimpleItemModel シンプルアイテムモデル ItemModel では、スタックできる数量の最大値を設定でき、一定数を超える場合は複数のスタックに分けるような実装が可能でした。 シンプルアイテム にはそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。 詳細  itemModelId string ※ ~ 1024文字 シンプルアイテムモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シンプルアイテムモデル名 シンプルアイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 BigInventoryModel 巨大インベントリモデル 通常の InventoryModel や SimpleInventoryModel では、インベントリに格納できるアイテムの数は int64 の範囲に限られました。 インフレ系ゲームでは、もっと広い値の範囲を必要とする場合があります。 巨大インベントリモデルでは、インベントリに格納できるアイテムの数には1024桁の整数値を持たせることができます。 詳細  inventoryModelId string ※ ~ 1024文字 巨大インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 bigItemModels List [] 1 ~ 1000 items 巨大アイテムモデル一覧 この巨大インベントリに格納可能なアイテムの種類です。各巨大アイテムモデルは最大1024桁の整数文字列として表される数量を保持できます。巨大インベントリモデルあたり最大1000アイテムモデルです。 BigItemModel 巨大アイテムモデル 巨大アイテムモデルは、巨大インベントリモデルに格納される巨大アイテムを定義するモデルです。 巨大アイテムは、所持数量を int64 の範囲を超えて保持することができます。 詳細  itemModelId string ※ ~ 1024文字 巨大アイテムモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 AcquireCount シンプルアイテムの入手数量 詳細  itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 count long  1 ~ 9223372036854775805 入手する量 ConsumeCount シンプルアイテムの消費数量 詳細  itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 count long  1 ~ 9223372036854775805 消費する量 HeldCount シンプルアイテムの所持数量 詳細  itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 count long  0 ~ 9223372036854775805 所持数量 CurrentItemModelMaster 現在アクティブなアイテムモデルのマスターデータ 現在ネームスペース内で有効な、アイテムモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Inventory マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ InventoryModelMaster インベントリモデルマスター インベントリモデルマスターは、ゲーム内で使用されるインベントリモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるインベントリモデルとして反映されます。 インベントリはゲームプレイヤーが所有しているアイテムを格納する鞄のようなものです。 インベントリには容量が設定でき、容量を超えては所有できません。 詳細  inventoryModelId string ※ ~ 1024文字 インベントリモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 initialCapacity int  0 ~ 2147483646 初期サイズ インベントリが初めて作成される際にユーザーに提供されるインベントリ枠の数です。各枠には1つのアイテムスタックを格納できます。ユーザーはゲームプレイのアクションを通じてmaxCapacityまで容量を拡張できます。 maxCapacity int  0 ~ 2147483646 最大サイズ ユーザーが拡張可能なインベントリ枠の上限値です。この値を超えて容量を増やすことはできません。すべての枠が使用中でアイテムをこれ以上スタックできない場合、オーバーフロースクリプトが超過分を処理しない限り、入手は失敗します。 protectReferencedItem bool false 参照元保護 有効にすると、（referenceOf メカニズムで）参照元が登録されているアイテムセットは消費または削除できなくなります。他のシステムで使用中のアイテム（例：装備中のギア、編成にバインドされたアイテム）が誤って削除されることを防ぎます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン ItemModelMaster アイテムモデルマスター アイテムモデルマスターは、ゲーム内で使用されるアイテムモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるアイテムモデルとして反映されます。 アイテムは、ポーション ×99 のように、1つのインベントリ枠に複数個まとめて所持できます。 このように 1枠に複数個まとめることを「スタック」 と呼び、アイテムごとに スタックできる上限数 を設定できます。 スタック上限に達した場合の挙動もアイテムごとに設定できます。 具体的には、以下のどちらかを選べます： 新しいインベントリ枠を追加して、さらに所持できるようにする 上限に達したため、これ以上入手できないようにする 詳細  itemModelId string ※ ~ 1024文字 アイテムモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムが属するインベントリモデルの名前です。このアイテムの種類を格納できるインベントリを決定し、インベントリの容量設定や保護設定と関連付けます。 name string  ~ 128文字 アイテムモデル名 アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ GS2-EnhanceにはGS2-Inventoryと連携して強化を行う処理があり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 stackingLimit long  1 ~ 9223372036854775805 スタック可能な最大数量 1つのインベントリ枠（スタック）に保持できるこのアイテムの最大数です。この上限に達した場合の動作はallowMultipleStacks設定に依存し、新しい枠が割り当てられるか、それ以上の入手がブロックされます。 allowMultipleStacks bool  複数スタック許可 有効にすると、スタック上限に達した場合に新しいインベントリ枠が自動的に割り当てられ、このアイテムの追加数量を格納します（追加の容量を消費します）。無効の場合、既存の枠でスタック上限に達すると入手がブロックされます。 sortValue int  0 ~ 2147483646 表示順番 インベントリ内のアイテムを表示用にソートするための数値です。値が小さいほど先に表示されます。この値はItemSetレコードにもコピーされ、所持アイテムの一貫した順序付けを可能にします。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SimpleInventoryModelMaster シンプルインベントリモデルマスター シンプルインベントリモデルマスターは、ゲーム内で使用されるシンプルインベントリモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるシンプルインベントリモデルとして反映されます。 通常の InventoryModel では、インベントリ内に格納できるアイテムの容量制限ができました。 しかし、シンプルインベントリ ではそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。 ただし、シンプルインベントリでは、複数のアイテムの増減処理を1回の処理で実行可能なAPIが利用できます。 詳細  inventoryModelId string ※ ~ 1024文字 シンプルインベントリモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SimpleItemModelMaster シンプルアイテムモデルマスター シンプルアイテムモデルマスターは、ゲーム内で使用されるシンプルアイテムモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるシンプルアイテムモデルとして反映されます。 ItemModel では、スタックできる数量の最大値を設定でき、一定数を超える場合は複数のスタックに分けるような実装が可能でした。 シンプルアイテム にはそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。 詳細  itemModelId string ※ ~ 1024文字 シンプルアイテムモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シンプルアイテムモデル名 シンプルアイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン BigInventoryModelMaster 巨大インベントリモデルマスター 巨大インベントリモデルマスターは、ゲーム内で使用される巨大インベントリモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される巨大インベントリモデルとして反映されます。 通常の InventoryModel や SimpleInventoryModel では、インベントリに格納できるアイテムの数は int64 の範囲に限られました。 インフレ系ゲームでは、もっと広い値の範囲を必要とする場合があります。 巨大インベントリモデルでは、インベントリに格納できるアイテムの数には1024桁の整数値を持たせることができます。 詳細  inventoryModelId string ※ ~ 1024文字 巨大インベントリモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン BigItemModelMaster 巨大アイテムモデルマスター 巨大アイテムモデルマスターは、ゲーム内で使用される巨大アイテムモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される巨大アイテムモデルとして反映されます。 巨大アイテムモデルは、巨大インベントリモデルに格納される巨大アイテムを定義するモデルです。 巨大アイテムは、所持数量を int64 の範囲を超えて保持することができます。 詳細  itemModelId string ※ ~ 1024文字 巨大アイテムモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 指定された設定で新しいインベントリネームスペースを作成します。 標準インベントリアイテムに対して、アイテム入手（acquireScript）、オーバーフロー処理（overflowScript）、消費（consumeScript）の GS2-Script トリガーを設定できます。 シンプルアイテム（simpleItemAcquireScript, simpleItemConsumeScript）と巨大アイテム（bigItemAcquireScript, bigItemConsumeScript）には個別のスクリプト設定が利用可能です。 オーバーフロースクリプトはアイテム入手がインベントリ容量を超える場合に呼び出され、GS2-Inbox などへの転送を可能にします。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 アイテムの入手や消費などのインベントリ操作に対する分散トランザクション処理を設定します。シームレスな実行のための自動実行モード、複数リソースの一貫した操作のためのアトミックコミット、大規模な報酬配布のための非同期処理をサポートします。 acquireScript ScriptSetting アイテムを入手したときに実行するスクリプトの設定 Script トリガーリファレンス - acquire overflowScript ScriptSetting 入手上限に当たって入手できなかったときに実行するスクリプトの設定 Script トリガーリファレンス - overflowDone consumeScript ScriptSetting アイテムを消費するときに実行するスクリプトの設定 Script トリガーリファレンス - consume simpleItemAcquireScript ScriptSetting シンプルアイテムを入手したときに実行するスクリプトの設定 Script トリガーリファレンス - simpleItemAcquire simpleItemConsumeScript ScriptSetting シンプルアイテムを消費するときに実行するスクリプトの設定 Script トリガーリファレンス - simpleItemConsume bigItemAcquireScript ScriptSetting 巨大アイテムを入手したときに実行するスクリプトの設定 Script トリガーリファレンス - bigItemAcquire bigItemConsumeScript ScriptSetting 巨大アイテムを消費するときに実行するスクリプトの設定 Script トリガーリファレンス - bigItemConsume logSetting LogSetting ログの出力設定 インベントリ操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のためにアイテムの入手、消費、容量変更の追跡に便利です。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたインベントリネームスペースの設定を更新します。 標準、シンプル、巨大アイテムに対するアイテム入手、オーバーフロー処理、消費の GS2-Script トリガーを変更できます。 スクリプト設定の変更は、以降の操作に対して即座に反映されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 アイテムの入手や消費などのインベントリ操作に対する分散トランザクション処理を設定します。シームレスな実行のための自動実行モード、複数リソースの一貫した操作のためのアトミックコミット、大規模な報酬配布のための非同期処理をサポートします。 acquireScript ScriptSetting アイテムを入手したときに実行するスクリプトの設定 Script トリガーリファレンス - acquire overflowScript ScriptSetting 入手上限に当たって入手できなかったときに実行するスクリプトの設定 Script トリガーリファレンス - overflowDone consumeScript ScriptSetting アイテムを消費するときに実行するスクリプトの設定 Script トリガーリファレンス - consume simpleItemAcquireScript ScriptSetting シンプルアイテムを入手したときに実行するスクリプトの設定 Script トリガーリファレンス - simpleItemAcquire simpleItemConsumeScript ScriptSetting シンプルアイテムを消費するときに実行するスクリプトの設定 Script トリガーリファレンス - simpleItemConsume bigItemAcquireScript ScriptSetting 巨大アイテムを入手したときに実行するスクリプトの設定 Script トリガーリファレンス - bigItemAcquire bigItemConsumeScript ScriptSetting 巨大アイテムを消費するときに実行するスクリプトの設定 Script トリガーリファレンス - bigItemConsume logSetting LogSetting ログの出力設定 インベントリ操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のためにアイテムの入手、消費、容量変更の追跡に便利です。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 以前に開始されたユーザーデータダンプ操作の進捗を確認します。 ダンプにはユーザーが所有するすべてのインベントリデータ、アイテムセット、シンプルアイテム、巨大アイテムが含まれます。 完了時にはエクスポートされたデータをダウンロードするURLを返します。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 以前に開始されたユーザーデータクリーニング操作の進捗を確認します。 クリーニングにより、このサービスのすべてのネームスペースにわたるユーザーのインベントリデータ、アイテムセット、シンプルアイテム、巨大アイテムがすべて削除されます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 以前に開始されたユーザーデータインポート操作の進捗を確認します。 インポートにより、以前エクスポートされたデータからインベントリデータ、アイテムセット、シンプルアイテム、巨大アイテムが復元されます。 完了時にはインポートログをダウンロードするURLを返します。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeInventories インベントリの一覧を取得 リクエストしたユーザーのインベントリのページネーション付きリストを取得します。 各インベントリは、特定のインベントリモデルに対する現在の容量（アイテムスロット数）を追跡します。 インベントリはユーザーが初めてアイテムを入手した際に自動的に作成され、初期容量はインベントリモデルの initialCapacity によって設定されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List インベントリのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeInventoriesByUserId ユーザーIDを指定してインベントリの一覧を取得 指定されたユーザーのインベントリのページネーション付きリストを取得します。 各インベントリは、特定のインベントリモデルに対する現在の容量（アイテムスロット数）を追跡します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List インベントリのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getInventory インベントリを取得 指定されたインベントリモデルに対するリクエストユーザーのインベントリ（現在の容量を含む）を取得します。 このインベントリでアイテムを一度も入手したことがない場合、データは返されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Inventory インベントリ 実装例 getInventoryByUserId ユーザーIDを指定してインベントリを取得 指定されたインベントリモデルに対するユーザーのインベントリ（現在の容量を含む）を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Inventory インベントリ 実装例 addCapacityByUserId ユーザーIDを指定してインベントリのキャパシティサイズを加算 指定された量だけユーザーのインベントリ容量を増加させます。 結果の容量はインベントリモデルの maxCapacity を超えることはできません。 インベントリがまだ存在しない場合、initialCapacity で自動的に作成された後、指定された値が加算されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 userId string  ~ 128文字 ユーザーID addCapacityValue int  1 ~ 2147483646 加算するキャパシティサイズ timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Inventory キャパシティ加算後のインベントリ 実装例 setCapacityByUserId ユーザーIDを指定してインベントリのキャパシティサイズを設定 ユーザーのインベントリ容量を指定された絶対値に設定します。 更新前後のインベントリ状態を両方返すため、新旧の容量値を比較できます。 新しい容量値はインベントリモデルの maxCapacity を超えることはできません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 userId string  ~ 128文字 ユーザーID newCapacityValue int  1 ~ 2147483646 インベントリの新しい最大キャパシティ timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Inventory 更新後のインベントリ old Inventory 更新前のインベントリ 実装例 deleteInventoryByUserId インベントリを削除 指定されたユーザーのインベントリと、それに関連するすべてのアイテムセットを削除します。 この操作はインベントリとその中に格納されているすべてのアイテムを永久に削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Inventory インベントリ 実装例 verifyInventoryCurrentMaxCapacity 現在のインベントリの最大容量を検証 ユーザーの現在の最大インベントリ容量が指定された条件を満たすことを検証します。 6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。 検証には、保存された生の値ではなく、バフ適用後の容量値（GS2-Buff からのアクティブなバフ効果を反映）が使用されます。 条件が満たされない場合、エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン inventoryName string  ~ 128文字 インベントリモデル名 このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 現在のインベントリの最大容量が指定値未満であること “lessEqual” 現在のインベントリの最大容量が指定値以下であること “greater” 現在のインベントリの最大容量が指定値超過であること “greaterEqual” 現在のインベントリの最大容量が指定値以上であること “equal” 現在のインベントリの最大容量が指定値と一致すること “notEqual” 現在のインベントリの最大容量が指定値と一致しないこと currentInventoryMaxCapacity int  0 ~ 2147483646 現在のインベントリの最大容量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Inventory インベントリ 実装例 verifyInventoryCurrentMaxCapacityByUserId ユーザーIDを指定してインベントリの最大容量を検証 指定されたユーザーの現在の最大インベントリ容量が指定された条件を満たすことを検証します。 6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。 検証にはバフ適用後の容量値（GS2-Buff からのアクティブなバフ効果を反映）が使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID inventoryName string  ~ 128文字 インベントリモデル名 このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 現在のインベントリの最大容量が指定値未満であること “lessEqual” 現在のインベントリの最大容量が指定値以下であること “greater” 現在のインベントリの最大容量が指定値超過であること “greaterEqual” 現在のインベントリの最大容量が指定値以上であること “equal” 現在のインベントリの最大容量が指定値と一致すること “notEqual” 現在のインベントリの最大容量が指定値と一致しないこと currentInventoryMaxCapacity int  0 ~ 2147483646 現在のインベントリの最大容量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Inventory インベントリ 実装例 describeItemSets アイテムセットの一覧を取得 指定されたインベントリ内のリクエストユーザーのアイテムセットのページネーション付きリストを取得します。 各アイテムセットは、特定の数量、オプションの有効期限、およびオプションの参照を持つアイテムのスタックを表します。 アイテムモデルが複数スタックを許可する場合、同じアイテムタイプが異なる数量と有効期限を持つ複数のアイテムセットエントリとして表示されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List アイテムセットのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeItemSetsByUserId ユーザーIDを指定してアイテムセットの一覧を取得 指定されたインベントリ内のユーザーのアイテムセットのページネーション付きリストを取得します。 各アイテムセットは、特定の数量、オプションの有効期限、およびオプションの参照を持つアイテムのスタックを表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List アイテムセットのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getItemSet アイテムセットを取得 リクエストユーザーのインベントリ内の指定されたアイテムのアイテムセットを取得します。 オプションの itemSetName で特定のスタックにフィルタリングできます。指定しない場合、そのアイテムのすべてのスタックが返されます。 関連するアイテムモデルとインベントリ情報も返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string ~ 36文字 アイテムセットを識別する名前 Result 型 説明 items List アイテムセットのリスト itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 getItemSetByUserId ユーザーIDを指定してアイテムセットを取得 指定されたユーザーのインベントリ内の特定アイテムのアイテムセットを取得します。 オプションの itemSetName で特定のスタックにフィルタリングできます。指定しない場合、そのアイテムのすべてのスタックが返されます。 関連するアイテムモデルとインベントリ情報も返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string ~ 36文字 アイテムセットを識別する名前 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List アイテムセットのリスト itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 getItemWithSignature 署名と共にアイテムセットを取得 データの真正性を検証するために使用できる暗号署名付きでアイテムセットを取得します。 署名は指定された暗号鍵を使用して生成され、外部システムがアイテムデータが改ざんされていないことを検証できます。 アイテムの所持を第三者が検証する必要があるサーバー権威的な検証シナリオに有用です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string ~ 36文字 アイテムセットを識別する名前 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 items List アイテムセットのリスト itemModel ItemModel アイテムモデル inventory Inventory インベントリ body string 署名対象のアイテムセット情報 signature string 署名 実装例 getItemWithSignatureByUserId ユーザーIDを指定して署名付きアイテムセットを取得 指定されたユーザーの暗号署名付きアイテムセットを取得します。 署名は外部の真正性検証のために、指定された暗号鍵を使用して生成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string ~ 36文字 アイテムセットを識別する名前 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List アイテムセットのリスト itemModel ItemModel アイテムモデル inventory Inventory インベントリ body string 署名対象のアイテムセット情報 signature string 署名 実装例 acquireItemSetByUserId ユーザーIDを指定してアイテムセットを入手 ユーザーのインベントリにアイテムを追加します。既存のアイテムセットに空き（スタック制限未満）がある場合はそこに追加され、そうでない場合は複数スタックが許可されていれば新しいアイテムセットが作成されます。 オプションの expiresAt で、新しく作成されるアイテムセットの有効期限を設定できます。有効期限が既に過去のアイテムは空として扱われます。 createNewItemSet が true の場合、既存のセットに空きがあっても常に新しいアイテムセットが作成されます。 合計数量がインベントリ容量を超える場合、オーバーフロー数量が返され、ネームスペースの設定に応じてオーバーフロー分が GS2-Inbox に転送される場合があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 userId string  ~ 128文字 ユーザーID acquireCount long  1 ~ 9223372036854775805 入手する量 expiresAt long 0 有効期限 UNIX 時間・ミリ秒 createNewItemSet bool false 既存のアイテムセットに空きがあったとしても、新しいアイテムセットを作成するか itemSetName string ~ 36文字 アイテムセットを識別する名前 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 加算後のアイテムセットのリスト itemModel ItemModel アイテムモデル inventory Inventory インベントリ overflowCount long 所持数量の上限を超えて受け取れずに GS2-Inbox に転送したアイテムの数量 実装例 acquireItemSetWithGradeByUserId ユーザーIDを指定して GS2-Grade にグレードを設定しつつ、アイテムセットを1つ入手 アイテムを1つ入手すると同時に、GS2-Grade を通じてグレード値を設定します。 各アイテムが異なるグレード値を持つ品質/ランクシステム（例：異なるステータスの装備）を持つアイテムに使用されます。 常に新しいアイテムセットが作成され（createNewItemSet の動作）、アイテム入手後に GS2-Grade の SetGradeByUserId を通じてグレードが設定されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 userId string  ~ 128文字 ユーザーID gradeModelId string  ~ 1024文字 グレードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN gradeValue long  1 ~ 9223372036854775805 設定するグレード値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ItemSet 加算後のアイテムセット status Status 設定したグレードステータス itemModel ItemModel アイテムモデル inventory Inventory インベントリ overflowCount long 所持数量の上限を超えて受け取れずに GS2-Inbox に転送したアイテムの数量 実装例 consumeItemSet アイテムセットを消費 リクエストユーザーのインベントリ内の指定されたアイテムの数量を減少させます。 itemSetName を指定すると、その特定のスタックのみが消費対象になります。指定しない場合、そのアイテムタイプのすべてのスタックから消費されます。 アイテムセットの数量がゼロになると、自動的に削除されます。 要求された量を消費するのに十分なアイテムがない場合、Insufficient エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 consumeCount long  1 ~ 9223372036854775805 消費する量 itemSetName string ~ 36文字 アイテムセットを識別する名前 Result 型 説明 items List 消費後のアイテムセットのリスト itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 consumeItemSetByUserId ユーザーIDを指定してアイテムセットを消費 指定されたユーザーのインベントリ内の特定アイテムの数量を減少させます。 itemSetName を指定すると、その特定のスタックのみが消費対象になります。指定しない場合、そのアイテムタイプのすべてのスタックから消費されます。 アイテムセットの数量がゼロになると、自動的に削除されます。 十分なアイテムがない場合、Insufficient エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 consumeCount long  1 ~ 9223372036854775805 消費する量 itemSetName string ~ 36文字 アイテムセットを識別する名前 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 消費後のアイテムセットのリスト itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 deleteItemSetByUserId アイテムセットを削除 指定されたアイテムをユーザーのインベントリから永久に削除します。 itemSetName を指定すると、その特定のスタックのみが削除されます。指定しない場合、そのアイテムタイプのすべてのスタックが削除されます。 消費とは異なり、この操作は特定の数量を必要とせず、数量に関係なくアイテムセット全体を削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string ~ 36文字 アイテムセットを識別する名前 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 削除したアイテムセットのリスト itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 verifyItemSet アイテムセットの所持数量の検証 リクエストユーザーの合計アイテム数量が指定された条件を満たすことを検証します。 数量は指定されたアイテムタイプのすべてのアイテムセットを合算して計算されます。 6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。 条件が満たされない場合、反転した条件名でエラーが返されます（例：「less」チェックの失敗は「greaterEqual」エラーを返します）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 所持数量が指定値未満であること “lessEqual” 所持数量が指定値以下であること “greater” 所持数量が指定値超過であること “greaterEqual” 所持数量が指定値以上であること “equal” 所持数量が指定値と一致すること “notEqual” 所持数量が指定値と一致しないこと itemSetName string ~ 36文字 アイテムセットを識別する名前 count long  0 ~ 9223372036854775805 所持数量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 items List 削除したアイテムセットのリスト 実装例 verifyItemSetByUserId ユーザーIDを指定してアイテムセットの所持数量の検証 指定されたユーザーの合計アイテム数量が指定された条件を満たすことを検証します。 数量は指定されたアイテムタイプのすべてのアイテムセットを合算して計算されます。 6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 所持数量が指定値未満であること “lessEqual” 所持数量が指定値以下であること “greater” 所持数量が指定値超過であること “greaterEqual” 所持数量が指定値以上であること “equal” 所持数量が指定値と一致すること “notEqual” 所持数量が指定値と一致しないこと itemSetName string ~ 36文字 アイテムセットを識別する名前 count long  0 ~ 9223372036854775805 所持数量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 削除したアイテムセットのリスト 実装例 describeReferenceOf 参照元の一覧を取得 リクエストユーザーの特定のアイテムセットに登録されている参照元文字列のリストを取得します。 参照元はアイテムセットを外部エンティティ（装備スロットなど）に関連付けるために使用され、インベントリモデルで protectReferencedItem が有効な場合、参照元を持つアイテムは消費・削除できなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 Result 型 説明 items List この所持品の参照元リスト itemSet ItemSet アイテムセット itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 describeReferenceOfByUserId ユーザーIDを指定して参照元の一覧を取得 指定ユーザーの特定のアイテムセットに登録されている参照元文字列のリストを取得します。 参照元はアイテムセットを外部エンティティ（装備スロットなど）に関連付けるために使用され、インベントリモデルで protectReferencedItem が有効な場合、参照元を持つアイテムは消費・削除できなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List この所持品の参照元リスト itemSet ItemSet アイテムセット itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 getReferenceOf 参照元を取得 リクエストユーザーのアイテムセットに登録されている特定の参照元文字列を取得します。 関連するアイテムセット、アイテムモデル、インベントリデータも併せて返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 referenceOf string  ~ 1024文字 参照元 装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 Result 型 説明 item string この所持品の参照元 itemSet ItemSet アイテムセット itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 getReferenceOfByUserId ユーザーIDを指定して参照元を取得 指定ユーザーのアイテムセットに登録されている特定の参照元文字列を取得します。 関連するアイテムセット、アイテムモデル、インベントリデータも併せて返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 referenceOf string  ~ 1024文字 参照元 装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item string この所持品の参照元 itemSet ItemSet アイテムセット itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 verifyReferenceOf アイテムの参照元を検証 リクエストユーザーのアイテムセット上の参照元の状態を検証します。 4つの検証タイプをサポート: not_entry（参照元が未登録）、already_entry（参照元が登録済み）、empty（参照元がゼロ）、not_empty（参照元が1つ以上存在）。 条件が満たされない場合はエラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 referenceOf string  ~ 1024文字 参照元 装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 verifyType 文字列列挙型 enum {   “not_entry”,   “already_entry”,   “empty”,   “not_empty” }  検証の種類 定義 説明 “not_entry” 指定した参照元がまだ登録されていないこと “already_entry” 指定した参照元が既に登録されていること “empty” 参照元として登録されている要素がゼロであること “not_empty” 参照元として登録されている要素が1以上であること Result 型 説明 item string この所持品の参照元 itemSet ItemSet アイテムセット itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 verifyReferenceOfByUserId ユーザーIDを指定してアイテムの参照元を検証 指定ユーザーのアイテムセット上の参照元の状態を検証します。 4つの検証タイプをサポート: not_entry（参照元が未登録）、already_entry（参照元が登録済み）、empty（参照元がゼロ）、not_empty（参照元が1つ以上存在）。 条件が満たされない場合はエラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 referenceOf string  ~ 1024文字 参照元 装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 verifyType 文字列列挙型 enum {   “not_entry”,   “already_entry”,   “empty”,   “not_empty” }  検証の種類 定義 説明 “not_entry” 指定した参照元がまだ登録されていないこと “already_entry” 指定した参照元が既に登録されていること “empty” 参照元として登録されている要素がゼロであること “not_empty” 参照元として登録されている要素が1以上であること timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item string この所持品の参照元 itemSet ItemSet アイテムセット itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 addReferenceOf 参照元を追加 リクエストユーザーの指定されたアイテムセットに参照元文字列を登録します。 参照元はアイテムセットを外部エンティティ（装備スロットやキャラクターなど）に関連付けます。 インベントリモデルで protectReferencedItem が有効な場合、参照元を持つアイテムは消費・削除できなくなり、装備中のアイテムの誤消費を防止できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 referenceOf string  ~ 1024文字 参照元 装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 Result 型 説明 item string この所持品の参照元 itemSet ItemSet 参照元追加後のアイテムセット itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 addReferenceOfByUserId ユーザーIDを指定してアイテムに参照元を追加 指定ユーザーの指定されたアイテムセットに参照元文字列を登録します。 参照元はアイテムセットを外部エンティティ（装備スロットやキャラクターなど）に関連付けます。 インベントリモデルで protectReferencedItem が有効な場合、参照元を持つアイテムは消費・削除できなくなり、装備中のアイテムの誤消費を防止できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 referenceOf string  ~ 1024文字 参照元 装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item string この所持品の参照元 itemSet ItemSet 参照元追加後のアイテムセット itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 deleteReferenceOf 参照元を削除 リクエストユーザーの指定されたアイテムセットから特定の参照元文字列を削除します。 削除後、protectReferencedItem が有効で他の参照元が残っていない場合、アイテムは再び消費・削除が可能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 referenceOf string  ~ 1024文字 参照元 装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 Result 型 説明 item string この所持品の参照元 itemSet ItemSet 参照元削除後のアイテムセット itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 deleteReferenceOfByUserId ユーザーIDを指定してアイテムの参照元を削除 指定ユーザーの指定されたアイテムセットから特定の参照元文字列を削除します。 削除後、protectReferencedItem が有効で他の参照元が残っていない場合、アイテムは再び消費・削除が可能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 referenceOf string  ~ 1024文字 参照元 装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item string この所持品の参照元 itemSet ItemSet 参照元削除後のアイテムセット itemModel ItemModel アイテムモデル inventory Inventory インベントリ 実装例 describeSimpleItems シンプルアイテムの一覧を取得 指定されたシンプルインベントリ内のリクエストユーザーのシンプルアイテムのページネーション付きリストを取得します。 各シンプルアイテムは、スタック、有効期限、参照を持たず、アイテムタイプごとに単一の数量値を追跡します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List シンプルアイテムのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeSimpleItemsByUserId ユーザーIDを指定してシンプルアイテムの一覧を取得 指定されたシンプルインベントリ内のユーザーのシンプルアイテムのページネーション付きリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List シンプルアイテムのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getSimpleItem シンプルアイテムを取得 指定された名前のリクエストユーザーのシンプルアイテム（現在の数量と関連するアイテムモデルを含む）を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 Result 型 説明 item SimpleItem シンプルアイテム itemModel SimpleItemModel シンプルアイテムモデル 実装例 getSimpleItemByUserId ユーザーIDを指定してシンプルアイテムを取得 指定されたユーザーの特定の名前のシンプルアイテム（現在の数量と関連するアイテムモデルを含む）を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SimpleItem シンプルアイテム itemModel SimpleItemModel シンプルアイテムモデル 実装例 getSimpleItemWithSignature 署名と共にシンプルアイテムを取得 真正性検証のための暗号署名付きでシンプルアイテムを取得します。 署名は指定された暗号鍵を使用して生成され、外部システムがアイテムデータを検証できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item SimpleItem シンプルアイテム simpleItemModel SimpleItemModel シンプルアイテムモデル body string 署名対象のシンプルアイテム情報 signature string 署名 実装例 getSimpleItemWithSignatureByUserId ユーザーIDを指定して署名付きシンプルアイテムを取得 外部の真正性検証のための暗号署名付きで、指定されたユーザーのシンプルアイテムを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SimpleItem シンプルアイテム simpleItemModel SimpleItemModel シンプルアイテムモデル body string 署名対象のシンプルアイテム情報 signature string 署名 実装例 acquireSimpleItemsByUserId ユーザーIDを指定してシンプルアイテムを入手 入手数量のバッチを使用して、ユーザーのシンプルインベントリにアイテムを追加します。 単一のアトミック操作で複数のアイテムを入手できます。acquireCounts 配列で各アイテムの名前と数量を指定します。 通常のアイテムセットとは異なり、シンプルアイテムには容量制限、スタック制限、有効期限がありません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID acquireCounts List  1 ~ 100 items シンプルアイテムの入手数量リスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 加算後のシンプルアイテムのリスト 実装例 consumeSimpleItems シンプルアイテムを消費 消費数量のバッチを使用して、リクエストユーザーのシンプルインベントリ内のアイテム数量を減少させます。 単一のアトミック操作で複数のアイテムを消費できます。いずれかのアイテムの数量が不足している場合、操作全体が失敗します。 指定されたいずれかのアイテムが十分にない場合、Insufficient エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン consumeCounts List  1 ~ 100 items シンプルアイテムの消費数量のリスト Result 型 説明 items List 消費後のシンプルアイテムのリスト 実装例 consumeSimpleItemsByUserId ユーザーIDを指定してシンプルアイテムを消費 消費数量のバッチを使用して、指定されたユーザーのシンプルインベントリ内のアイテム数量を減少させます。 単一のアトミック操作で複数のアイテムを消費できます。いずれかのアイテムの数量が不足している場合、操作全体が失敗します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID consumeCounts List  1 ~ 100 items シンプルアイテムの消費数量のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 消費後のシンプルアイテムのリスト 実装例 setSimpleItemsByUserId ユーザーIDを指定してシンプルアイテムを設定 単一のアトミック操作で複数のシンプルアイテムの絶対数量を設定します。 counts 配列で各アイテムの名前とターゲット数量を指定します。 入手/消費が相対的な操作であるのに対し、こちらは現在の数量を完全に上書きします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID counts List  1 ~ 100 items シンプルアイテムの所持数量リスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 更新後のシンプルアイテムのリスト 実装例 deleteSimpleItemsByUserId シンプルアイテムを削除 指定されたユーザーの指定されたシンプルインベントリ内のすべてのシンプルアイテムを削除します。 インベントリ内のすべてのアイテムデータが永久に削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 verifySimpleItem シンプルアイテムの所持数量を検証 リクエストユーザーのシンプルアイテムの数量が指定された条件を満たすことを検証します。 6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。 条件が満たされない場合、エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 所持数量が指定値未満であること “lessEqual” 所持数量が指定値以下であること “greater” 所持数量が指定値超過であること “greaterEqual” 所持数量が指定値以上であること “equal” 所持数量が指定値と一致すること “notEqual” 所持数量が指定値と一致しないこと count long  0 ~ 9223372036854775805 所持数量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item SimpleItem シンプルアイテム 実装例 verifySimpleItemByUserId ユーザーIDを指定してシンプルアイテムの所持数量を検証 指定されたユーザーのシンプルアイテムの数量が指定された条件を満たすことを検証します。 6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 所持数量が指定値未満であること “lessEqual” 所持数量が指定値以下であること “greater” 所持数量が指定値超過であること “greaterEqual” 所持数量が指定値以上であること “equal” 所持数量が指定値と一致すること “notEqual” 所持数量が指定値と一致しないこと count long  0 ~ 9223372036854775805 所持数量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SimpleItem シンプルアイテム 実装例 describeBigItems 巨大アイテムのリストを取得 指定された巨大インベントリ内でリクエストユーザーが所持する巨大アイテムのページネーション付きリストを取得します。 巨大アイテムは文字列ベースの任意精度数量を使用し、標準的な整数の限界を超える値に適しています。 一度も入手したことのないアイテムは結果に含まれません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 巨大アイテムのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeBigItemsByUserId ユーザーIDを指定して巨大アイテムのリストを取得 指定された巨大インベントリ内で指定ユーザーが所持する巨大アイテムのページネーション付きリストを取得します。 巨大アイテムは文字列ベースの任意精度数量を使用し、標準的な整数の限界を超える値に適しています。 一度も入手したことのないアイテムは結果に含まれません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 巨大アイテムのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getBigItem 巨大アイテムを取得 リクエストユーザーの特定の巨大アイテムとその文字列ベースの任意精度数量を取得します。 レスポンスには巨大アイテムデータとその関連する巨大アイテムモデル定義の両方が含まれます。 一度も入手したことのないアイテムの場合、データは返されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン itemName string  ~ 128文字 巨大アイテムモデル名 このレコードに格納されているアイテムの種類を定義する巨大アイテムモデルの名前です。この巨大アイテムの所持品がどのアイテム定義に対応するかを識別するために使用されます。 Result 型 説明 item BigItem 巨大アイテム itemModel BigItemModel 巨大アイテムモデル 実装例 getBigItemByUserId ユーザーIDを指定して巨大アイテムを取得 指定ユーザーの特定の巨大アイテムとその文字列ベースの任意精度数量を取得します。 レスポンスには巨大アイテムデータとその関連する巨大アイテムモデル定義の両方が含まれます。 一度も入手したことのないアイテムの場合、データは返されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 巨大アイテムモデル名 このレコードに格納されているアイテムの種類を定義する巨大アイテムモデルの名前です。この巨大アイテムの所持品がどのアイテム定義に対応するかを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BigItem 巨大アイテム itemModel BigItemModel 巨大アイテムモデル 実装例 acquireBigItemByUserId ユーザーIDを指定して巨大アイテムを入手 任意精度演算を使用して、ユーザーの巨大アイテム数量に指定された数量を加算します。 acquireCount は最大1024桁の有効な整数文字列でなければならず、無効な形式はエラーになります。 アイテムがまだ存在しない場合は自動的に作成されます。 ネームスペース設定により、巨大アイテム入手時にカスタムロジックを実行する GS2-Script を設定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 acquireCount string  ~ 1024文字 巨大アイテムの入手数量 最大1024桁までの整数値文字列 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BigItem 加算後の巨大アイテム 実装例 consumeBigItem 巨大アイテムを消費 任意精度演算を使用して、リクエストユーザーの巨大アイテム数量から指定された数量を減算します。 consumeCount は最大1024桁の有効な整数文字列でなければなりません。 現在の数量が不足している場合、Insufficient エラーが返され、減算は行われません。 ネームスペース設定により、巨大アイテム消費時にカスタムロジックを実行する GS2-Script を設定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 consumeCount string  ~ 1024文字 巨大アイテムの消費数量 最大1024桁までの整数値文字列 Result 型 説明 item BigItem 消費後の巨大アイテム 実装例 consumeBigItemByUserId ユーザーIDを指定して巨大アイテムを消費 任意精度演算を使用して、指定ユーザーの巨大アイテム数量から指定された数量を減算します。 consumeCount は最大1024桁の有効な整数文字列でなければなりません。 現在の数量が不足している場合、Insufficient エラーが返され、減算は行われません。 ネームスペース設定により、巨大アイテム消費時にカスタムロジックを実行する GS2-Script を設定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 consumeCount string  ~ 1024文字 巨大アイテムの消費数量 最大1024桁までの整数値文字列 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BigItem 消費後の巨大アイテム 実装例 setBigItemByUserId ユーザーIDを指定して巨大アイテムを設定 巨大アイテムの数量を指定された絶対値に設定し、現在の数量を完全に置き換えます。 数量は最大1024桁の有効な整数文字列でなければなりません。 アイテムがまだ存在しない場合は自動的に作成されます。 入手・消費のような相対操作とは異なり、正確な値を直接設定します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 count string  ~ 1024文字 巨大アイテムの数量 最大1024桁までの整数値文字列 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BigItem 更新後の巨大アイテム 実装例 deleteBigItemByUserId 巨大アイテムを削除 指定ユーザーの巨大アイテムデータを完全に削除します。 現在の数量に関係なく、アイテムレコードが完全に削除されます。 この操作は元に戻すことができません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BigItem 消費後の巨大アイテム 実装例 verifyBigItem 巨大アイテムの所持数量を検証 リクエストユーザーの巨大アイテム数量が指定された条件を満たすかどうかを検証します。 6つの比較演算子をサポート: less, lessEqual, greater, greaterEqual, equal, notEqual。 比較は文字列ベースの数量に対して任意精度演算で実行されます。 条件が満たされない場合はエラーが返され、満たされる場合はリクエストが成功します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 巨大アイテムモデル名 このレコードに格納されているアイテムの種類を定義する巨大アイテムモデルの名前です。この巨大アイテムの所持品がどのアイテム定義に対応するかを識別するために使用されます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 所持数量が指定値未満であること “lessEqual” 所持数量が指定値以下であること “greater” 所持数量が指定値超過であること “greaterEqual” 所持数量が指定値以上であること “equal” 所持数量が指定値と一致すること “notEqual” 所持数量が指定値と一致しないこと count string  ~ 1024文字 所持数量 最大1024桁までの整数値文字列 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item BigItem 更新後の巨大アイテム 実装例 verifyBigItemByUserId ユーザーIDを指定して巨大アイテムの所持数量を検証 指定ユーザーの巨大アイテム数量が指定された条件を満たすかどうかを検証します。 6つの比較演算子をサポート: less, lessEqual, greater, greaterEqual, equal, notEqual。 比較は文字列ベースの数量に対して任意精度演算で実行されます。 条件が満たされない場合はエラーが返され、満たされる場合はリクエストが成功します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 巨大アイテムモデル名 このレコードに格納されているアイテムの種類を定義する巨大アイテムモデルの名前です。この巨大アイテムの所持品がどのアイテム定義に対応するかを識別するために使用されます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 所持数量が指定値未満であること “lessEqual” 所持数量が指定値以下であること “greater” 所持数量が指定値超過であること “greaterEqual” 所持数量が指定値以上であること “equal” 所持数量が指定値と一致すること “notEqual” 所持数量が指定値と一致しないこと count string  ~ 1024文字 所持数量 最大1024桁までの整数値文字列 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BigItem 更新後の巨大アイテム 実装例 describeInventoryModels インベントリモデルの一覧を取得 ネームスペース内で現在アクティブなインベントリモデルのリストを取得します。 これらはマスターデータの更新プロセスを通じて有効化されたモデルであり、各インベントリタイプの容量設定（initialCapacity、maxCapacity）とアイテム保護ルール（protectReferencedItem）を定義します。 各インベントリモデルには、そのインベントリ内のアイテムのスタック制限やソート順を定義する関連アイテムモデルが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List インベントリモデルのリスト 実装例 getInventoryModel インベントリモデルを取得 初期容量・最大容量、アイテム保護設定、および関連するすべてのアイテムモデルを含む、特定のアクティブなインベントリモデルを取得します。 アイテムモデルは、このインベントリ内でのアイテムの格納方法（スタック制限、複数スタック許可、ソート値）を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item InventoryModel インベントリモデル 実装例 describeItemModels アイテムモデルの一覧を取得 指定されたインベントリモデルに属する、現在アクティブなアイテムモデルのリストを取得します。 各アイテムモデルは、スタック制限（スタックあたりの最大数量）、複数スタックの許可有無、および表示順序のソート値を定義します。 これらはマスターデータの更新プロセスを通じて有効化されたモデルです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List アイテムモデルのリスト 実装例 getItemModel アイテムモデルを取得 スタック制限、複数スタック許可、ソート値、その他の設定を含む、特定のアクティブなアイテムモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 アイテムモデル名 アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item ItemModel 実装例 describeSimpleInventoryModels シンプルインベントリモデルの一覧を取得 ネームスペース内で現在アクティブなシンプルインベントリモデルのリストを取得します。 シンプルインベントリモデルは、容量制限、有効期限、参照を持たない簡素化されたアイテム管理システムを提供し、アイテムは名前と数量のペアとして追跡されます。 各モデルには関連するシンプルアイテムモデルが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List シンプルインベントリモデルのリスト 実装例 getSimpleInventoryModel シンプルインベントリモデルを取得 関連するシンプルアイテムモデルを含む、特定のアクティブなシンプルインベントリモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SimpleInventoryModel シンプルインベントリモデル 実装例 describeSimpleItemModels シンプルアイテムモデルの一覧を取得 指定されたシンプルインベントリモデルに属する、現在アクティブなシンプルアイテムモデルのリストを取得します。 シンプルアイテムモデルは、スタック制限、有効期限、参照を持たない名前と数量のペアとして追跡されるアイテムタイプを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List シンプルアイテムモデルのリスト 実装例 getSimpleItemModel シンプルアイテムモデルを取得 特定のアクティブなシンプルアイテムモデルとその設定を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 シンプルアイテムモデル名 シンプルアイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SimpleItemModel 実装例 describeBigInventoryModels 巨大インベントリモデルの一覧を取得 ネームスペース内で現在アクティブな巨大インベントリモデルのリストを取得します。 巨大インベントリモデルは、標準的な整数の限界を超える極めて大きな数量が必要なゲーム向けに、文字列ベースの数値を使用した任意精度のアイテム数量をサポートします。 各モデルには関連する巨大アイテムモデルが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 巨大インベントリモデルのリスト 実装例 getBigInventoryModel 巨大インベントリモデルを取得 関連する巨大アイテムモデルを含む、特定のアクティブな巨大インベントリモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BigInventoryModel 巨大インベントリモデル 実装例 describeBigItemModels 巨大アイテムモデルの一覧を取得 指定された巨大インベントリモデルに属する、現在アクティブな巨大アイテムモデルのリストを取得します。 巨大アイテムモデルは、文字列ベースの任意精度数量を使用するアイテムタイプを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 巨大アイテムモデルのリスト 実装例 getBigItemModel 巨大アイテムモデルを取得 特定のアクティブな巨大アイテムモデルとその設定を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BigItemModel 実装例 exportMaster アイテムモデルマスターを有効化可能なマスターデータ形式でエクスポート ネームスペースから現在のインベントリモデルマスター、アイテムモデルマスター、シンプルインベントリ/アイテムモデルマスター、巨大インベントリ/アイテムモデルマスターをJSON形式でエクスポートします。 エクスポートされたデータは、変更を有効化するためのマスターデータ更新APIの入力として使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentItemModelMaster 有効化可能なアイテムモデルマスター 実装例 getCurrentItemModelMaster 現在アクティブなアイテムモデルのマスターデータを取得 ネームスペースで最後に有効化されたマスターデータを取得します。 サービスで現在使用されているすべてのインベントリモデル（標準、シンプル、巨大）とその関連アイテムモデルが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentItemModelMaster 現在アクティブなアイテムモデルのマスターデータ 実装例 preUpdateCurrentItemModelMaster 現在アクティブなアイテムモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentItemModelMaster 現在アクティブなアイテムモデルのマスターデータを更新 現在アクティブなインベントリおよびアイテムモデル定義を置き換える新しいマスターデータを有効化します。 2つのモードをサポート: ‘direct’（1MB未満のデータに適したインライン形式）、‘preUpload’（事前アップロードAPIでアップロードされたデータ用）。 有効化後、すべてのインベントリ操作は新しいモデル定義を使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentItemModelMaster 更新された現在アクティブなアイテムモデルのマスターデータ 実装例 updateCurrentItemModelMasterFromGitHub 現在アクティブなアイテムモデルのマスターデータをGitHubから更新 指定されたGitHubリポジトリからマスターデータを取得して有効化します。 チェックアウト設定でリポジトリ、ブランチ/タグ、取得するファイルパスを指定します。 マスターデータ内のテンプレート変数は有効化時に設定された値に置き換えられます。 Gitワークフローによるバージョン管理されたマスターデータ管理を可能にします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentItemModelMaster 更新された現在アクティブなアイテムモデルのマスターデータ 実装例 describeInventoryModelMasters インベントリモデルマスターの一覧を取得 ネームスペース内の編集可能なインベントリモデルマスターのページネーション付きリストを取得します。 これらは有効化前に変更可能なドラフト定義です。各マスターはインベントリタイプの容量設定（initialCapacity、maxCapacity）とアイテム保護ルールを定義します。 名前の接頭辞によるオプションのフィルタリングをサポートします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 インベントリモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List インベントリモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createInventoryModelMaster インベントリモデルマスターを新規作成 新しいインベントリタイプを定義する編集可能なインベントリモデルマスターを作成します。 主な設定には、initialCapacity（新規ユーザーの初期アイテムスロット数）、maxCapacity（容量拡張の上限）、protectReferencedItem（有効にすると、アクティブな参照を持つアイテムの消費を防止）が含まれます。 作成したマスターは、マスターデータの更新プロセスを通じて有効化する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialCapacity int  0 ~ 2147483646 初期サイズ インベントリが初めて作成される際にユーザーに提供されるインベントリ枠の数です。各枠には1つのアイテムスタックを格納できます。ユーザーはゲームプレイのアクションを通じてmaxCapacityまで容量を拡張できます。 maxCapacity int  0 ~ 2147483646 最大サイズ ユーザーが拡張可能なインベントリ枠の上限値です。この値を超えて容量を増やすことはできません。すべての枠が使用中でアイテムをこれ以上スタックできない場合、オーバーフロースクリプトが超過分を処理しない限り、入手は失敗します。 protectReferencedItem bool false 参照元保護 有効にすると、（referenceOf メカニズムで）参照元が登録されているアイテムセットは消費または削除できなくなります。他のシステムで使用中のアイテム（例：装備中のギア、編成にバインドされたアイテム）が誤って削除されることを防ぎます。 Result 型 説明 item InventoryModelMaster 作成したインベントリモデルマスター 実装例 getInventoryModelMaster インベントリモデルマスターを取得 容量設定、メタデータ、アイテム保護ルールを含む、特定の編集可能なインベントリモデルマスターの完全な設定を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item InventoryModelMaster インベントリモデルマスター 実装例 updateInventoryModelMaster インベントリモデルマスターを更新 容量設定（initialCapacity、maxCapacity）、メタデータ、protectReferencedItem を含む既存のインベントリモデルマスターのプロパティを更新します。 変更は、マスターデータの更新プロセスを通じて再有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialCapacity int  0 ~ 2147483646 初期サイズ インベントリが初めて作成される際にユーザーに提供されるインベントリ枠の数です。各枠には1つのアイテムスタックを格納できます。ユーザーはゲームプレイのアクションを通じてmaxCapacityまで容量を拡張できます。 maxCapacity int  0 ~ 2147483646 最大サイズ ユーザーが拡張可能なインベントリ枠の上限値です。この値を超えて容量を増やすことはできません。すべての枠が使用中でアイテムをこれ以上スタックできない場合、オーバーフロースクリプトが超過分を処理しない限り、入手は失敗します。 protectReferencedItem bool false 参照元保護 有効にすると、（referenceOf メカニズムで）参照元が登録されているアイテムセットは消費または削除できなくなります。他のシステムで使用中のアイテム（例：装備中のギア、編成にバインドされたアイテム）が誤って削除されることを防ぎます。 Result 型 説明 item InventoryModelMaster 更新したインベントリモデルマスター 実装例 deleteInventoryModelMaster インベントリモデルマスターを削除 指定されたインベントリモデルマスターを削除します。 削除はマスターデータが再有効化されるまで、現在アクティブなモデルに影響しません。 このモデルに関連する既存のユーザーインベントリやアイテムは自動的には削除されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item InventoryModelMaster 削除したインベントリモデルマスター 実装例 describeItemModelMasters アイテムモデルマスターの一覧を取得 指定されたインベントリモデルマスターに属する、編集可能なアイテムモデルマスターのページネーション付きリストを取得します。 これらは有効化前に変更可能なドラフト定義であり、インベントリ内のアイテムのスタック制限、複数スタック許可、ソート値を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List アイテムモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createItemModelMaster アイテムモデルマスターを新規作成 指定されたインベントリ内の新しいアイテムタイプを定義する編集可能なアイテムモデルマスターを作成します。 主な設定には、stackingLimit（スタックあたりの最大数量）、allowMultipleStacks（同じアイテムが複数のインベントリスロットを占有できるかどうか）、sortValue（表示順序の優先度）が含まれます。 allowMultipleStacks が有効な場合、スタック制限を超えるアイテムの入手は失敗せず、追加の ItemSet エントリを作成します。 作成したマスターは、マスターデータの更新プロセスを通じて有効化する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムが属するインベントリモデルの名前です。このアイテムの種類を格納できるインベントリを決定し、インベントリの容量設定や保護設定と関連付けます。 name string  ~ 128文字 アイテムモデル名 アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ GS2-EnhanceにはGS2-Inventoryと連携して強化を行う処理があり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 stackingLimit long  1 ~ 9223372036854775805 スタック可能な最大数量 1つのインベントリ枠（スタック）に保持できるこのアイテムの最大数です。この上限に達した場合の動作はallowMultipleStacks設定に依存し、新しい枠が割り当てられるか、それ以上の入手がブロックされます。 allowMultipleStacks bool  複数スタック許可 有効にすると、スタック上限に達した場合に新しいインベントリ枠が自動的に割り当てられ、このアイテムの追加数量を格納します（追加の容量を消費します）。無効の場合、既存の枠でスタック上限に達すると入手がブロックされます。 sortValue int  0 ~ 2147483646 表示順番 インベントリ内のアイテムを表示用にソートするための数値です。値が小さいほど先に表示されます。この値はItemSetレコードにもコピーされ、所持アイテムの一貫した順序付けを可能にします。 Result 型 説明 item ItemModelMaster 作成したアイテムモデルマスター 実装例 getItemModelMaster アイテムモデルマスターを取得 スタック制限、複数スタック許可、ソート値、メタデータを含む、特定の編集可能なアイテムモデルマスターの完全な設定を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 アイテムモデル名 アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item ItemModelMaster アイテムモデルマスター 実装例 updateItemModelMaster アイテムモデルマスターを更新 スタック制限、複数スタック許可、ソート値、メタデータを含む既存のアイテムモデルマスターのプロパティを更新します。 変更は、マスターデータの更新プロセスを通じて再有効化するまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 アイテムモデル名 アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ GS2-EnhanceにはGS2-Inventoryと連携して強化を行う処理があり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 stackingLimit long  1 ~ 9223372036854775805 スタック可能な最大数量 1つのインベントリ枠（スタック）に保持できるこのアイテムの最大数です。この上限に達した場合の動作はallowMultipleStacks設定に依存し、新しい枠が割り当てられるか、それ以上の入手がブロックされます。 allowMultipleStacks bool  複数スタック許可 有効にすると、スタック上限に達した場合に新しいインベントリ枠が自動的に割り当てられ、このアイテムの追加数量を格納します（追加の容量を消費します）。無効の場合、既存の枠でスタック上限に達すると入手がブロックされます。 sortValue int  0 ~ 2147483646 表示順番 インベントリ内のアイテムを表示用にソートするための数値です。値が小さいほど先に表示されます。この値はItemSetレコードにもコピーされ、所持アイテムの一貫した順序付けを可能にします。 Result 型 説明 item ItemModelMaster 更新したアイテムモデルマスター 実装例 deleteItemModelMaster アイテムモデルマスターを削除 指定されたアイテムモデルマスターを削除します。 削除はマスターデータが再有効化されるまで、現在アクティブなモデルに影響しません。 このモデルに関連する既存のユーザーアイテムは自動的には削除されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 アイテムモデル名 アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item ItemModelMaster 削除したアイテムモデルマスター 実装例 describeSimpleInventoryModelMasters シンプルインベントリモデルマスターの一覧を取得 ネームスペース内の編集可能なシンプルインベントリモデルマスターのページネーション付きリストを取得します。 これらはマスターデータの更新プロセスを通じた有効化前に変更可能なドラフト定義です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 シンプルインベントリモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List シンプルインベントリモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createSimpleInventoryModelMaster シンプルインベントリモデルマスターを新規作成 編集可能なシンプルインベントリモデルマスターを作成します。 通常のインベントリモデルとは異なり、シンプルインベントリモデルには容量制限、アイテムの有効期限、参照管理がありません。 作成したマスターは、マスターデータの更新プロセスを通じて有効化する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item SimpleInventoryModelMaster 作成したシンプルインベントリモデルマスター 実装例 getSimpleInventoryModelMaster シンプルインベントリモデルマスターを取得 特定の編集可能なシンプルインベントリモデルマスターの完全な設定を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SimpleInventoryModelMaster シンプルインベントリモデルマスター 実装例 updateSimpleInventoryModelMaster シンプルインベントリモデルマスターを更新 既存のシンプルインベントリモデルマスターのプロパティを更新します。 変更はマスターデータが再有効化されるまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item SimpleInventoryModelMaster 更新したシンプルインベントリモデルマスター 実装例 deleteSimpleInventoryModelMaster シンプルインベントリモデルマスターを削除 指定されたシンプルインベントリモデルマスターを削除します。 削除はマスターデータが再有効化されるまで、現在アクティブなモデルに影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SimpleInventoryModelMaster 削除したシンプルインベントリモデルマスター 実装例 describeSimpleItemModelMasters シンプルアイテムモデルマスターの一覧を取得 指定されたシンプルインベントリモデルマスターに属する、編集可能なシンプルアイテムモデルマスターのページネーション付きリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 シンプルアイテムモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List シンプルアイテムモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createSimpleItemModelMaster シンプルアイテムモデルマスターを新規作成 指定されたシンプルインベントリ内の新しいアイテムタイプを定義する編集可能なシンプルアイテムモデルマスターを作成します。 作成したマスターは、マスターデータの更新プロセスを通じて有効化する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 シンプルアイテムモデル名 シンプルアイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item SimpleItemModelMaster 作成したシンプルアイテムモデルマスター 実装例 getSimpleItemModelMaster シンプルアイテムモデルマスターを取得 特定の編集可能なシンプルアイテムモデルマスターの完全な設定を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 シンプルアイテムモデル名 シンプルアイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SimpleItemModelMaster シンプルアイテムモデルマスター 実装例 updateSimpleItemModelMaster シンプルアイテムモデルマスターを更新 既存のシンプルアイテムモデルマスターのプロパティを更新します。 変更はマスターデータが再有効化されるまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 シンプルアイテムモデル名 シンプルアイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item SimpleItemModelMaster 更新したシンプルアイテムモデルマスター 実装例 deleteSimpleItemModelMaster シンプルアイテムモデルマスターを削除 指定されたシンプルアイテムモデルマスターを削除します。 削除はマスターデータが再有効化されるまで、現在アクティブなモデルに影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 シンプルアイテムモデル名 シンプルアイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SimpleItemModelMaster 削除したシンプルアイテムモデルマスター 実装例 describeBigInventoryModelMasters 巨大インベントリモデルマスターの一覧を取得 ネームスペース内の編集可能な巨大インベントリモデルマスターのページネーション付きリストを取得します。 これらは任意精度のアイテム数量を使用するインベントリタイプのドラフト定義です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 巨大インベントリモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 巨大インベントリモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createBigInventoryModelMaster 巨大インベントリモデルマスターを新規作成 任意精度のアイテム管理のための編集可能な巨大インベントリモデルマスターを作成します。 作成したマスターは、マスターデータの更新プロセスを通じて有効化する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item BigInventoryModelMaster 作成した巨大インベントリモデルマスター 実装例 getBigInventoryModelMaster 巨大インベントリモデルマスターを取得 特定の編集可能な巨大インベントリモデルマスターの完全な設定を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BigInventoryModelMaster 巨大インベントリモデルマスター 実装例 updateBigInventoryModelMaster 巨大インベントリモデルマスターを更新 既存の巨大インベントリモデルマスターのプロパティを更新します。 変更はマスターデータが再有効化されるまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item BigInventoryModelMaster 更新した巨大インベントリモデルマスター 実装例 deleteBigInventoryModelMaster 巨大インベントリモデルマスターを削除 指定された巨大インベントリモデルマスターを削除します。 削除はマスターデータが再有効化されるまで、現在アクティブなモデルに影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BigInventoryModelMaster 削除した巨大インベントリモデルマスター 実装例 describeBigItemModelMasters 巨大アイテムモデルマスターの一覧を取得 指定された巨大インベントリモデルマスターに属する、編集可能な巨大アイテムモデルマスターのページネーション付きリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 巨大アイテムモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 巨大アイテムモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createBigItemModelMaster 巨大アイテムモデルマスターを新規作成 指定された巨大インベントリ内の任意精度数量を持つ新しいアイテムタイプを定義する編集可能な巨大アイテムモデルマスターを作成します。 作成したマスターは、マスターデータの更新プロセスを通じて有効化する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item BigItemModelMaster 作成した巨大アイテムモデルマスター 実装例 getBigItemModelMaster 巨大アイテムモデルマスターを取得 特定の編集可能な巨大アイテムモデルマスターの完全な設定を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BigItemModelMaster 巨大アイテムモデルマスター 実装例 updateBigItemModelMaster 巨大アイテムモデルマスターを更新 既存の巨大アイテムモデルマスターのプロパティを更新します。 変更はマスターデータが再有効化されるまで反映されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item BigItemModelMaster 更新した巨大アイテムモデルマスター 実装例 deleteBigItemModelMaster 巨大アイテムモデルマスターを削除 指定された巨大アイテムモデルマスターを削除します。 削除はマスターデータが再有効化されるまで、現在アクティブなモデルに影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BigItemModelMaster 削除した巨大アイテムモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Inventory SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Inventory SDK API リファレンス","url":"/ja/api_reference/inventory/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ジョブキュー操作時のトランザクションの処理方法を制御する設定です。 enableAutoRun bool false サーバーサイドで自動的にジョブを実行するか 有効にすると、登録されたジョブはクライアントがポーリングして実行する必要なく、サーバーサイドで自動的に実行されます。無効の場合、クライアントは明示的にrun APIを呼び出してジョブを処理する必要があり、pushNotificationで新しいジョブの通知を受け取ることができます。 runNotification NotificationSetting  実行通知 ジョブキューのジョブが実行された際のGS2-Gatewayを介したプッシュ通知設定です。通知にはジョブの結果が含まれ、クライアントは追加のAPI呼び出しなしに報酬の表示やエラー処理を行えます。 pushNotification NotificationSetting !{enableAutoRun} プッシュ通知 新しいジョブがジョブキューに登録された際のGS2-Gatewayを介したプッシュ通知設定です。enableAutoRunが無効の場合のみ利用可能です。新しく登録されたジョブを処理するためにクライアントにrun APIの呼び出しを促すために使用されます。 ※ enableAutoRun が “false” であれば 有効 logSetting LogSetting ログの出力設定 ジョブキュー操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のためにジョブの登録、実行、リトライ、失敗の追跡に便利です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。 詳細  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 Job ジョブ ジョブキューとは直ちに処理を完了せず、処理を遅延実行するための仕組みです。 例えば、キャラクターを入手したときに直ちに実行しなければならない処理としては所持品にキャラクターを格納することです。 一方で、直ちに処理しなければならないわけではない処理として、 図鑑に登録する という処理があります。 こういった直ちに処理するまでもない処理をジョブキューを経由して処理するようにすることで、障害に強い設計にすることができます。 なぜなら、図鑑サービスが何らかの障害によって止まっていたとしても、図鑑に登録されない状態でゲームを継続することができます。 ジョブキューに詰まれた処理は失敗しても、障害が解消した後でリトライすることで結果的に正しい状態にできます。 GS2 ではこのような 結果整合 処理を推奨しており、様々な場面でジョブキューを利用した遅延処理が行われます。 詳細  jobId string ※ ~ 1024文字 ジョブ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 36文字 ジョブの名前 ジョブの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ジョブを識別するために使用されます。 userId string  ~ 128文字 ユーザーID scriptId string  ~ 1024文字 スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN args string  ~ 5242880文字 引数 ジョブの実行時にスクリプトに渡すJSON形式のリクエストパラメータです。アクションタイプや対象リソースなどの具体的な操作内容を含みます。最大5MBです。 currentRetryCount int 0 0 ~ 100 現在のリトライ回数 失敗後にこのジョブがリトライされた回数です。リトライ可能なエラーで実行が終了するたびにインクリメントされます。このカウントがmaxTryCountに達すると、ジョブは恒久的な失敗としてマークされます。 maxTryCount int 3 1 ~ 100 最大試行回数 初回の試行とリトライを含めて、このジョブを実行できる最大回数です。すべての試行が失敗した場合、ジョブは放棄されます。デフォルトは3、最大100です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 JobResult ジョブ実行結果（詳細） 単一のジョブ実行試行の結果を記録します。各試行ごとに個別のJobResultが作成されるため、複数回リトライされたジョブには複数の結果が存在します。statusCodeはジョブが成功したか失敗したかを示します。 詳細  jobResultId string ※ ~ 1024文字 ジョブ実行結果 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 jobId string  ~ 1024文字 ジョブ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN scriptId string ~ 1024文字 スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN args string ~ 5242880文字 引数 この実行試行でスクリプトに渡されたJSON形式のリクエストパラメータです。 tryNumber int  0 ~ 10000 試行回数 この実行結果の連番試行番号で、0から始まります。初回の試行は0、最初のリトライは1、以降同様です。結果を特定のリトライ試行と関連付けるために使用されます。 statusCode int  0 ~ 1000 ステータスコード スクリプト実行から返されたHTTPステータスコードです。2xxコードは成功を示し、その他のコードは失敗を示します。リトライ可能なエラーの場合、maxTryCountに達していなければ自動リトライが行われることがあります。 result string  ~ 5242880文字 レスポンスの内容 スクリプト実行から返されたJSON形式のレスポンスボディです。成功時には結果データを、失敗時にはエラーの詳細を含みます。最大5MBです。 tryAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 JobEntry 登録ジョブ ジョブキューに新しいジョブを登録するためのパラメータを表します。実行するスクリプト、JSON引数、最大リトライ回数を含みます。ジョブをキューにプッシュする際の入力として使用されます。 詳細  scriptId string  ~ 1024文字 スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN args string “{}” ~ 131072文字 引数 ジョブの実行時にスクリプトに渡すJSON形式のリクエストパラメータです。デフォルトは空のJSONオブジェクト “{}” です。最大128KBです。 maxTryCount int 3 0 ~ 100 最大試行回数 初回の試行とリトライを含めて、ジョブを実行できる最大回数です。デフォルトは3、最大100です。 JobResultBody ジョブの実行結果 試行番号、ステータスコード、レスポンス内容、実行タイムスタンプを含むジョブ実行結果の軽量な表現です。 詳細  tryNumber int  1 ~ 10000 試行回数 この実行結果の連番試行番号で、1から始まります。どのリトライ試行がこの結果を生成したかを識別するために使用されます。 statusCode int  0 ~ 1000 ステータスコード スクリプト実行から返されたHTTPステータスコードです。2xxコードは成功を示し、その他のコードは失敗を示します。リトライ可能なエラーの場合、maxTryCountに達していなければ自動リトライが行われることがあります。 result string  ~ 5242880文字 レスポンスの内容 スクリプト実行から返されたJSON形式のレスポンスボディです。成功時には結果データを、失敗時にはエラーの詳細を含みます。最大5MBです。 tryAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 指定された設定で新しいジョブキューネームスペースを作成します。 enableAutoRun 設定により、ジョブが登録時に自動実行されるか（true）、Run API による手動実行のためにキューイングされるか（false）を制御します。 pushNotification を設定するとジョブがキューに追加された際に通知を受け取ることができ、runNotification を設定するとジョブの実行完了時に通知を受け取ることができます。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ジョブキュー操作時のトランザクションの処理方法を制御する設定です。 enableAutoRun bool false サーバーサイドで自動的にジョブを実行するか 有効にすると、登録されたジョブはクライアントがポーリングして実行する必要なく、サーバーサイドで自動的に実行されます。無効の場合、クライアントは明示的にrun APIを呼び出してジョブを処理する必要があり、pushNotificationで新しいジョブの通知を受け取ることができます。 pushNotification NotificationSetting !{enableAutoRun} プッシュ通知 新しいジョブがジョブキューに登録された際のGS2-Gatewayを介したプッシュ通知設定です。enableAutoRunが無効の場合のみ利用可能です。新しく登録されたジョブを処理するためにクライアントにrun APIの呼び出しを促すために使用されます。 ※ enableAutoRun が “false” であれば有効 runNotification NotificationSetting  実行通知 ジョブキューのジョブが実行された際のGS2-Gatewayを介したプッシュ通知設定です。通知にはジョブの結果が含まれ、クライアントは追加のAPI呼び出しなしに報酬の表示やエラー処理を行えます。 logSetting LogSetting ログの出力設定 ジョブキュー操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のためにジョブの登録、実行、リトライ、失敗の追跡に便利です。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたジョブキューネームスペースの設定を更新します。 enableAutoRun 設定を変更して自動実行モードと手動実行モードを切り替えることや、プッシュ通知・実行通知の設定を更新できます。 変更は以降の操作に対して即座に反映されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ジョブキュー操作時のトランザクションの処理方法を制御する設定です。 enableAutoRun bool false サーバーサイドで自動的にジョブを実行するか 有効にすると、登録されたジョブはクライアントがポーリングして実行する必要なく、サーバーサイドで自動的に実行されます。無効の場合、クライアントは明示的にrun APIを呼び出してジョブを処理する必要があり、pushNotificationで新しいジョブの通知を受け取ることができます。 pushNotification NotificationSetting !{enableAutoRun} プッシュ通知 新しいジョブがジョブキューに登録された際のGS2-Gatewayを介したプッシュ通知設定です。enableAutoRunが無効の場合のみ利用可能です。新しく登録されたジョブを処理するためにクライアントにrun APIの呼び出しを促すために使用されます。 ※ enableAutoRun が “false” であれば有効 runNotification NotificationSetting  実行通知 ジョブキューのジョブが実行された際のGS2-Gatewayを介したプッシュ通知設定です。通知にはジョブの結果が含まれ、クライアントは追加のAPI呼び出しなしに報酬の表示やエラー処理を行えます。 logSetting LogSetting ログの出力設定 ジョブキュー操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のためにジョブの登録、実行、リトライ、失敗の追跡に便利です。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 以前に開始されたユーザーデータダンプ操作の進捗を確認します。 ダンプにはユーザーのすべてのジョブキューデータとジョブ実行結果が含まれます。 完了時にはエクスポートされたデータをダウンロードするURLを返します。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 以前に開始されたユーザーデータクリーニング操作の進捗を確認します。 クリーニングにより、このサービスのすべてのネームスペースにわたるユーザーのジョブキューデータとジョブ実行結果がすべて削除されます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 以前に開始されたユーザーデータインポート操作の進捗を確認します。 インポートにより、以前エクスポートされたデータからジョブキューデータとジョブ実行結果が復元されます。 完了時にはインポートログをダウンロードするURLを返します。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeJobsByUserId ジョブの一覧を取得 指定ユーザーのキューに登録されているジョブのページネーション付きリストを取得します。 キュー内のジョブは、Run API による手動実行、またはネームスペースで enableAutoRun が有効な場合は自動実行を待機しています。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ジョブのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getJobByUserId ジョブを取得 スクリプトID、引数、リトライ設定を含む特定のジョブの詳細を名前で取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID jobName string  UUID ~ 36文字 ジョブの名前 ジョブの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ジョブを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Job ジョブ 実装例 pushByUserId ユーザーIDを指定してジョブを登録 ユーザーのジョブキューに1つ以上のジョブを登録します（最大10件）。 各ジョブには実行する GS2-Script、引数、最大リトライ回数を指定します。 ネームスペースで enableAutoRun が有効な場合、ジョブは登録後に即座に非同期で実行され、レスポンスの autoRun フラグが true になります。 enableAutoRun が無効な場合、ジョブはキューに追加され Run API で手動実行する必要があり、autoRun フラグは false になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID jobs List 0 ~ 10 items 追加するジョブの一覧 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 追加したジョブの一覧 autoRun bool? 実装例 run ジョブを実行 リクエストユーザーのジョブキューから次のジョブを実行します。 ネームスペースで enableAutoRun が有効な場合、ジョブは自動実行されるため、このAPIは isLastJob=true で即座に返します。 実行成功後、ネームスペースに設定されている場合は実行通知が送信されます。 レスポンスの isLastJob フラグでキュー内の最後のジョブかどうかを示します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Job ジョブ result JobResultBody ジョブの実行結果 isLastJob bool? 実装例 runByUserId ユーザーIDを指定してジョブを実行 指定ユーザーのジョブキューから次のジョブを実行します。 ネームスペースで enableAutoRun が有効な場合、ジョブは自動実行されるため、このAPIは isLastJob=true で即座に返します。 実行成功後、ネームスペースに設定されている場合は実行通知が送信されます。 レスポンスの isLastJob フラグでキュー内の最後のジョブかどうかを示します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Job ジョブ result JobResultBody ジョブの実行結果 isLastJob bool? 実装例 deleteJob ジョブを削除 リクエストユーザーのジョブキューから特定のジョブを削除します。 実行状態に関係なくジョブが削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン jobName string  UUID ~ 36文字 ジョブの名前 ジョブの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ジョブを識別するために使用されます。 Result 型 説明 item Job 削除したジョブ 実装例 deleteJobByUserId ユーザーIDを指定してジョブを削除 指定ユーザーのジョブキューから特定のジョブを削除します。 実行状態に関係なくジョブが削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID jobName string  UUID ~ 36文字 ジョブの名前 ジョブの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ジョブを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Job 削除したジョブ 実装例 getJobResult ジョブの実行結果を取得 リクエストユーザーの特定ジョブの実行結果を取得します。 結果には実行された GS2-Script が返したHTTPステータスコードとレスポンスボディが含まれます。 オプションで試行回数を指定して、特定のリトライ試行の結果を取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン jobName string  UUID ~ 36文字 ジョブの名前 ジョブの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ジョブを識別するために使用されます。 tryNumber int 0 ~ 10000 試行回数 Result 型 説明 item JobResult ジョブの実行結果 実装例 getJobResultByUserId ユーザーIDを指定してジョブの実行結果を取得 指定ユーザーの特定ジョブの実行結果を取得します。 結果には実行された GS2-Script が返したHTTPステータスコードとレスポンスボディが含まれます。 オプションで試行回数を指定して、特定のリトライ試行の結果を取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID jobName string  UUID ~ 36文字 ジョブの名前 ジョブの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ジョブを識別するために使用されます。 tryNumber int 0 ~ 10000 試行回数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item JobResult ジョブの実行結果 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-JobQueue SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-JobQueue SDK API リファレンス","url":"/ja/api_reference/job_queue/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 暗号鍵操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。暗号化・復号リクエストなどの鍵使用の監査に便利です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 Key 暗号鍵 GS2 で暗号化処理が必要な場合にここで作成する暗号鍵のGRNを指定する必要があります。 具体的な暗号鍵の内容は GS2 の外に出ることはなく、安全に暗号化・復号処理を行えます。 詳細  keyId string ※ ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 暗号鍵名 暗号鍵固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン GitHubApiKey GitHub APIキー GS2 ではマスターデータや GS2-Deploy のテンプレートファイルなどファイルをアップロードするインターフェースが複数あります。 このようなインターフェースに対して、データをアップロードするのではなく、GitHubの特定のリポジトリの特定のブランチやタグから設定を反映するインターフェースが用意されています。 このインターフェースを利用するにあたって必要となる GitHub の APIキー を格納します。 詳細  apiKeyId string ※ ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 GitHub APIキー名 GitHub APIキー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 encryptionKeyName string  ~ 128文字 暗号鍵名 暗号鍵固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 新しい鍵管理ネームスペースを作成します。 ネームスペースは暗号鍵と GitHub API キーのコンテナとして機能します。 ネームスペース内の暗号鍵は GS2 サービス全体でのデータ暗号化・復号に使用され、GitHub API キーは GitHub リポジトリからのマスターデータ操作に使用されます。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 暗号鍵操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。暗号化・復号リクエストなどの鍵使用の監査に便利です。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定された鍵管理ネームスペースの設定を更新します。 説明やログ設定を変更できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 暗号鍵操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。暗号化・復号リクエストなどの鍵使用の監査に便利です。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 更新したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 describeKeys 暗号鍵の一覧を取得 指定されたネームスペース内の暗号鍵のページネーション付きリストを取得します。 暗号鍵は入手アクションの保護や機密設定の暗号化など、GS2 サービス全体でデータの暗号化・復号に使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 暗号鍵名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 暗号鍵のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createKey 暗号鍵を新規作成 自動生成されたランダムシークレットを持つ新しい暗号鍵を作成します。 生成された鍵は Encrypt/Decrypt API を通じてデータの暗号化・復号に使用できます。 シークレット自体は API を通じて公開されることはなく、鍵のメタデータ（名前、説明、GRN）のみが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 暗号鍵名 暗号鍵固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 Result 型 説明 item Key 作成した暗号鍵 実装例 updateKey 暗号鍵を更新 既存の暗号鍵の説明を更新します。 暗号化シークレットは変更されず、メタデータのみが更新されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 keyName string  ~ 128文字 暗号鍵名 暗号鍵固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 Result 型 説明 item Key 更新した暗号鍵 実装例 getKey 暗号鍵を取得 特定の暗号鍵のメタデータを取得します。 セキュリティ上の理由により、暗号化シークレットはレスポンスに含まれません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 keyName string  ~ 128文字 暗号鍵名 暗号鍵固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Key 暗号鍵 実装例 deleteKey 暗号鍵を削除 指定された暗号鍵とそのシークレットを完全に削除します。 削除後、この鍵で暗号化されたデータは復号できなくなります。 削除前に他のサービスがこの鍵に依存していないことを確認してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 keyName string  ~ 128文字 暗号鍵名 暗号鍵固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Key 削除した暗号鍵 実装例 encrypt データを暗号化 指定された暗号鍵を使用して、提供された平文データを暗号化します。 暗号化された結果は Base64 エンコード文字列として返されます。 最大データサイズは 512KB です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 keyName string  ~ 128文字 暗号鍵名 暗号鍵固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 data string  ~ 524288文字 Result 型 説明 data string 暗号化済みデータ 実装例 decrypt データを復号 指定された暗号鍵を使用して、提供された Base64 エンコード暗号化データを復号します。 データは同じ鍵で暗号化されている必要があり、そうでない場合は復号に失敗します。 元の平文データを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 keyName string  ~ 128文字 暗号鍵名 暗号鍵固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 data string  ~ 524288文字 Result 型 説明 data string 復号済みデータ 実装例 describeGitHubApiKeys GitHub のAPIキーの一覧を取得 指定されたネームスペースに登録されている GitHub API キーのページネーション付きリストを取得します。 GitHub API キーは他の GS2 サービスの UpdateFromGitHub API を通じて GitHub リポジトリからマスターデータを取得するために使用されます。 API キーの値は暗号化して保存されており、一覧レスポンスには含まれません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List GitHub のAPIキーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createGitHubApiKey GitHub のAPIキーを新規作成 指定されたネームスペースに新しい GitHub API キーを登録します。 API キーの値は保存前に指定された暗号鍵（encryptionKeyName）を使用して暗号化され、安全に管理されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 GitHub APIキー名 GitHub APIキー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 encryptionKeyName string  ~ 128文字 暗号鍵名 暗号鍵固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item GitHubApiKey 作成したGitHub のAPIキー 実装例 updateGitHubApiKey GitHub のAPIキーを更新 既存の GitHub API キーの設定を更新します。 説明、API キーの値、保存に使用する暗号鍵を変更できます。 新しい API キーの値は指定された暗号鍵で再暗号化されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 apiKeyName string  ~ 128文字 GitHub APIキー名 GitHub APIキー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 encryptionKeyName string  ~ 128文字 暗号鍵名 暗号鍵固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item GitHubApiKey 更新したGitHub のAPIキー 実装例 getGitHubApiKey GitHub のAPIキーを取得 特定の GitHub API キーのメタデータを取得します。 セキュリティ上の理由により、実際の API キーの値はレスポンスに含まれません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 apiKeyName string  ~ 128文字 GitHub APIキー名 GitHub APIキー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item GitHubApiKey GitHub のAPIキー 実装例 deleteGitHubApiKey GitHub のAPIキーを削除 指定された GitHub API キーとその暗号化された値を完全に削除します。 削除後、この API キーを参照して GitHub マスターデータ更新を行うサービスは GitHub リポジトリにアクセスできなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 apiKeyName string  ~ 128文字 GitHub APIキー名 GitHub APIキー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item GitHubApiKey 削除したGitHub のAPIキー 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Key SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Key SDK API リファレンス","url":"/ja/api_reference/key/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 カウントアップやカウンターリセットなどの回数制限操作時のトランザクションの処理方法を制御する設定です。 countUpScript ScriptSetting カウントアップするときに実行するスクリプトの設定 Script トリガーリファレンス - countUp logSetting LogSetting ログの出力設定 回数制限操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のためにカウンターの増加、リセット、制限チェックの追跡に便利です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Counter 回数制限の現在の値 各ユーザーの回数制限モデル配下の特定カウンターの現在の使用回数を追跡します。1つの回数制限モデルの下に複数のカウンターを作成できます（例：1回限りの報酬用にクエストごとに1つのカウンター）。カウント値はカウントアップ操作時に指定される最大値と比較され、回数制限モデルのリセットスケジュールに基づいて自動的にゼロにリセットされます。 詳細  counterId string ※ ~ 1024文字 カウンター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 name string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 userId string  ~ 128文字 ユーザーID count int 0 0 ~ 2147483646 カウント値 このカウンターの現在の使用回数です。countUp操作でインクリメントされ、その際に指定された最大値と比較されます。回数制限モデルのリセットタイミングに達すると自動的にゼロにリセットされます。 nextResetAt long 次回リセットタイミング 回数制限モデルのリセットスケジュールから計算された、このカウンターが次にゼロにリセットされるタイムスタンプです。“notReset” タイプの場合、この値は設定されません。各リセット発生後に自動的に再計算されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン LimitModel 回数制限モデル 回数制限モデルには、使用回数をリセットするタイミングを設定できます。 リセット間隔は 「毎日」「毎週」「毎月」「リセットしない」「一定日数」の 5 種類から選択できます。 また、回数制限の最大値はマスターデータ側では固定しません。 これは、ゲーム内のコンテキストに応じて、許可される最大回数を動的に変化させるためです。 たとえばステップアップガチャのように、 購入回数カウンターが 3 回未満 の場合に購入できる商品 上記の商品が購入できない場合に、購入回数カウンターが 5 回未満 なら購入できる別の商品 といったように、状況に応じて「最大回数」を切り替えられる設計を想定しています。 詳細  limitModelId string ※ ~ 1024文字 回数制限モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” }  リセットタイミング この回数制限モデル配下のカウンター値が自動的にゼロにリセットされるタイミングを決定します。notReset（恒久的、リセットなし）、daily（毎日指定時刻にリセット）、weekly（指定曜日にリセット）、monthly（指定日にリセット）、days（基準日時から一定日数ごとにリセット）から選択します。すべての時刻はUTCです。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセット日 resetTypeが “monthly” の場合にカウンターがリセットされる月の日にちです。1〜31の値が有効です。指定した日がその月の日数を超える場合（例：2月の31日）、その月の最終日にリセットされます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセット曜日 resetTypeが “weekly” の場合にカウンターがリセットされる曜日です。この曜日のresetHour（UTC）で指定された時刻にリセットされます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 daily、weekly、monthlyリセットタイプでカウンターがリセットされるUTCの時刻（0〜23）です。例えば0の場合、UTC午前0時にカウンターがリセットされます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば 必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 resetTypeが “days” の場合のカウンターリセットの間隔（日数）です。リセット周期はanchorTimestampから計算されます。例えばdaysが7でanchorTimestampが月曜日の正午なら、毎週月曜日の正午にカウンターがリセットされます。 ※ resetType が “days” であれば 必須 CurrentLimitMaster 現在アクティブな回数制限モデルのマスターデータ 現在ネームスペース内で有効な、回数制限モデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Limit マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ LimitModelMaster 回数制限モデルマスター 回数制限モデルマスターは、ゲーム内で使用される回数制限モデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される回数制限モデルとして反映されます。 回数制限には、使用回数をリセットするタイミングを設定できます。 リセット間隔は 「毎日」「毎週」「毎月」「一定日数」「リセットしない」の 5 種類から選択できます。 なお、ここで指定する時刻はすべて協定世界時（UTC）です。 また、回数制限の最大値はマスターデータ側では固定しません。 これは、ゲーム内のコンテキストに応じて、許可される最大回数を動的に変化させるためです。 たとえばステップアップガチャのように、 購入回数カウンターが 3 回未満 の場合に購入できる商品 上記の商品が購入できない場合に、購入回数カウンターが 5 回未満 なら購入できる別の商品 といったように、状況に応じて「最大回数」を切り替えられる設計を想定しています。 さらに、この回数制限モデルに紐づくカウンターは複数作成できます。 例えば「1 回だけ受け取れるクエスト報酬」が複数ある場合、クエストごとに個別の回数制限モデルを作る必要はなく、1 つの回数制限モデルを共有し、クエストごとにカウンターだけを分けて作成することで、設定の種類が過剰に増えることを防げます。 詳細  limitModelId string ※ ~ 1024文字 回数制限モデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” }  リセットタイミング この回数制限モデル配下のカウンター値が自動的にゼロにリセットされるタイミングを決定します。notReset（恒久的、リセットなし）、daily（毎日指定時刻にリセット）、weekly（指定曜日にリセット）、monthly（指定日にリセット）、days（基準日時から一定日数ごとにリセット）から選択します。すべての時刻はUTCです。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセット日 resetTypeが “monthly” の場合にカウンターがリセットされる月の日にちです。1〜31の値が有効です。指定した日がその月の日数を超える場合（例：2月の31日）、その月の最終日にリセットされます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセット曜日 resetTypeが “weekly” の場合にカウンターがリセットされる曜日です。この曜日のresetHour（UTC）で指定された時刻にリセットされます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 daily、weekly、monthlyリセットタイプでカウンターがリセットされるUTCの時刻（0〜23）です。例えば0の場合、UTC午前0時にカウンターがリセットされます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば 必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 resetTypeが “days” の場合のカウンターリセットの間隔（日数）です。リセット周期はanchorTimestampから計算されます。例えばdaysが7でanchorTimestampが月曜日の正午なら、毎週月曜日の正午にカウンターがリセットされます。 ※ resetType が “days” であれば 必須 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 カウントアップやカウンターリセットなどの回数制限操作時のトランザクションの処理方法を制御する設定です。 countUpScript ScriptSetting カウントアップするときに実行するスクリプトの設定 Script トリガーリファレンス - countUp logSetting LogSetting ログの出力設定 回数制限操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のためにカウンターの増加、リセット、制限チェックの追跡に便利です。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 カウントアップやカウンターリセットなどの回数制限操作時のトランザクションの処理方法を制御する設定です。 countUpScript ScriptSetting カウントアップするときに実行するスクリプトの設定 Script トリガーリファレンス - countUp logSetting LogSetting ログの出力設定 回数制限操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のためにカウンターの増加、リセット、制限チェックの追跡に便利です。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeCounters カウンターの一覧を取得 リクエストしたユーザーのカウンターのページネーション付きリストを取得します。 回数制限モデル名でフィルタリングすることで、特定のモデルのカウンターのみを取得できます。 各カウンターは、特定のアクションが実行された回数を追跡します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン limitName string ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List カウンターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeCountersByUserId ユーザーIDを指定してカウンターの一覧を取得 指定されたユーザーのカウンターのページネーション付きリストを取得します。 回数制限モデル名でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID limitName string ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List カウンターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getCounter カウンターを取得 指定された回数制限モデルとカウンター名に対するリクエストユーザーのカウンターを取得します。 現在のカウント値を返します。カウンターが存在しない場合、データは返されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 accessToken string  ~ 128文字 アクセストークン counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 Result 型 説明 item Counter カウンター 実装例 getCounterByUserId ユーザーIDを指定してカウンターを取得 指定された回数制限モデルとカウンター名に対するユーザーのカウンターを取得します。 現在のカウント値を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 userId string  ~ 128文字 ユーザーID counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Counter カウンター 実装例 countUp カウントアップ リクエストしたユーザーのカウンターを指定されたカウントアップ値だけ増加させます。 maxValue が指定された場合、カウンターはその上限を超えません。操作が最大値を超える場合は Overflow エラーが返されます。 カウンターがまだ存在しない場合、カウント 0 で自動的に作成された後に増加します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 accessToken string  ~ 128文字 アクセストークン countUpValue int 1 1 ~ 2147483646 カウントアップする量 maxValue int 1 ~ 2147483646 カウントアップを許容する最大値 Result 型 説明 item Counter カウントを増やしたカウンター 実装例 countUpByUserId ユーザーIDを指定してカウントアップ 指定されたユーザーのカウンターを指定されたカウントアップ値だけ増加させます。 maxValue が指定された場合、カウンターはその上限を超えません。操作が最大値を超える場合は Overflow エラーが返されます。 カウンターがまだ存在しない場合、自動的に作成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 userId string  ~ 128文字 ユーザーID countUpValue int 1 1 ~ 2147483646 カウントアップする量 maxValue int 1 ~ 2147483646 カウントアップを許容する最大値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Counter カウントを増やしたカウンター 実装例 countDownByUserId ユーザーIDを指定してカウントダウン 指定されたユーザーのカウンターを指定されたカウントダウン値だけ減少させます。 カウンター値は 0 を下回りません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 userId string  ~ 128文字 ユーザーID countDownValue int 1 1 ~ 2147483646 カウントダウンする量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Counter カウントを増やしたカウンター 実装例 deleteCounterByUserId ユーザーIDを指定してカウンターを削除 指定されたユーザーのカウンターを削除し、使用回数をリセットします。 これにより、このカウンターに対する回数制限が実質的に解除され、ユーザーは再び 0 からカウントを開始できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 userId string  ~ 128文字 ユーザーID counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Counter 削除したカウンター 実装例 verifyCounter カウンター値を検証 リクエストしたユーザーのカウンター値が指定された条件を満たすことを検証します。 6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。 条件が満たされない場合、エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” カウンター値が指定値未満であること “lessEqual” カウンター値が指定値以下であること “greater” カウンター値が指定値超過であること “greaterEqual” カウンター値が指定値以上であること “equal” カウンター値が指定値と一致すること “notEqual” カウンター値が指定値と一致しないこと count int 0 0 ~ 2147483646 カウント値 このカウンターの現在の使用回数です。countUp操作でインクリメントされ、その際に指定された最大値と比較されます。回数制限モデルのリセットタイミングに達すると自動的にゼロにリセットされます。 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Counter 削除したカウンター 実装例 verifyCounterByUserId ユーザーIDを指定してカウンター値を検証 指定されたユーザーのカウンター値が指定された条件を満たすことを検証します。 6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” カウンター値が指定値未満であること “lessEqual” カウンター値が指定値以下であること “greater” カウンター値が指定値超過であること “greaterEqual” カウンター値が指定値以上であること “equal” カウンター値が指定値と一致すること “notEqual” カウンター値が指定値と一致しないこと count int 0 0 ~ 2147483646 カウント値 このカウンターの現在の使用回数です。countUp操作でインクリメントされ、その際に指定された最大値と比較されます。回数制限モデルのリセットタイミングに達すると自動的にゼロにリセットされます。 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Counter 削除したカウンター 実装例 describeLimitModels 回数制限モデルの一覧を取得 現在アクティブな回数制限モデルの一覧を取得します。 モデルはカウンターのリセットタイミング（リセットなし、日次、週次、月次など）と関連設定を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 回数制限モデルのリスト 実装例 getLimitModel 回数制限モデルを取得 指定された回数制限モデルを取得します。 モデルはこの制限に関連するカウンターのリセットタイプとタイミングを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item LimitModel 回数制限モデル 実装例 exportMaster 回数制限モデルマスターを有効化可能なマスターデータ形式でエクスポート 現在アクティブな回数制限モデルマスターを有効化可能な形式でエクスポートします。 エクスポートされたデータは、他のネームスペースのマスターデータ更新やバックアップとして使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentLimitMaster 有効化可能な回数制限モデルマスター 実装例 getCurrentLimitMaster 現在アクティブな回数制限モデルマスターを取得 指定されたネームスペースの現在アクティブな回数制限モデルのマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentLimitMaster 現在アクティブな回数制限モデルのマスターデータ 実装例 preUpdateCurrentLimitMaster 現在アクティブな回数制限モデルマスターを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentLimitMaster 現在アクティブな回数制限モデルのマスターデータを更新 現在アクティブな回数制限モデルのマスターデータを更新します。 2つのモードをサポートします：インライン設定用の ‘direct’ モードと、3フェーズ更新プロセスで事前にアップロードした設定を適用する ‘preUpload’ モードです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentLimitMaster 更新された現在アクティブな回数制限モデルのマスターデータ 実装例 updateCurrentLimitMasterFromGitHub 現在アクティブな回数制限モデルマスターをGitHubから更新 指定された GitHub リポジトリからマスターデータを取得して、現在アクティブな回数制限モデルのマスターデータを更新します。 GS2-Key に保存された API キーが認証に使用され、チェックアウトするブランチ、タグ、またはコミットハッシュを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentLimitMaster 更新された現在アクティブな回数制限モデルのマスターデータ 実装例 describeLimitModelMasters 回数制限モデルマスターの一覧を取得 回数制限モデルマスターのページネーション付きリストを取得します。 名前の接頭辞でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 回数制限モデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 回数制限モデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createLimitModelMaster 回数制限モデルマスターを新規作成 指定されたリセットタイミング設定で新しい回数制限モデルマスターを作成します。 リセットタイプは notReset、daily、weekly、monthly、days から選択でき、定期リセットのためのリセット時間や曜日/日付を設定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” }  リセットタイミング この回数制限モデル配下のカウンター値が自動的にゼロにリセットされるタイミングを決定します。notReset（恒久的、リセットなし）、daily（毎日指定時刻にリセット）、weekly（指定曜日にリセット）、monthly（指定日にリセット）、days（基準日時から一定日数ごとにリセット）から選択します。すべての時刻はUTCです。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセット日 resetTypeが “monthly” の場合にカウンターがリセットされる月の日にちです。1〜31の値が有効です。指定した日がその月の日数を超える場合（例：2月の31日）、その月の最終日にリセットされます。 ※ resetType が “monthly” であれば必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセット曜日 resetTypeが “weekly” の場合にカウンターがリセットされる曜日です。この曜日のresetHour（UTC）で指定された時刻にリセットされます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 daily、weekly、monthlyリセットタイプでカウンターがリセットされるUTCの時刻（0〜23）です。例えば0の場合、UTC午前0時にカウンターがリセットされます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 resetTypeが “days” の場合のカウンターリセットの間隔（日数）です。リセット周期はanchorTimestampから計算されます。例えばdaysが7でanchorTimestampが月曜日の正午なら、毎週月曜日の正午にカウンターがリセットされます。 ※ resetType が “days” であれば必須 Result 型 説明 item LimitModelMaster 作成した回数制限モデルマスター 実装例 getLimitModelMaster 回数制限モデルマスターを取得 指定された回数制限モデルマスターを取得します。リセットタイプとタイミング設定を含みます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item LimitModelMaster 回数制限モデルマスター 実装例 updateLimitModelMaster 回数制限モデルマスターを更新 指定された回数制限モデルマスターを更新します。説明、メタデータ、およびリセットタイミング設定を変更できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” }  リセットタイミング この回数制限モデル配下のカウンター値が自動的にゼロにリセットされるタイミングを決定します。notReset（恒久的、リセットなし）、daily（毎日指定時刻にリセット）、weekly（指定曜日にリセット）、monthly（指定日にリセット）、days（基準日時から一定日数ごとにリセット）から選択します。すべての時刻はUTCです。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセット日 resetTypeが “monthly” の場合にカウンターがリセットされる月の日にちです。1〜31の値が有効です。指定した日がその月の日数を超える場合（例：2月の31日）、その月の最終日にリセットされます。 ※ resetType が “monthly” であれば必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセット曜日 resetTypeが “weekly” の場合にカウンターがリセットされる曜日です。この曜日のresetHour（UTC）で指定された時刻にリセットされます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 daily、weekly、monthlyリセットタイプでカウンターがリセットされるUTCの時刻（0〜23）です。例えば0の場合、UTC午前0時にカウンターがリセットされます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 resetTypeが “days” の場合のカウンターリセットの間隔（日数）です。リセット周期はanchorTimestampから計算されます。例えばdaysが7でanchorTimestampが月曜日の正午なら、毎週月曜日の正午にカウンターがリセットされます。 ※ resetType が “days” であれば必須 Result 型 説明 item LimitModelMaster 更新した回数制限モデルマスター 実装例 deleteLimitModelMaster 回数制限モデルマスターを削除 指定された回数制限モデルマスターを削除します。 次のマスターデータ更新まで、現在アクティブなマスターデータには影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item LimitModelMaster 削除した回数制限モデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Limit SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Limit SDK API リファレンス","url":"/ja/api_reference/limit/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 Mutex ミューテックス GS2 の提供するミューテックスは再入可能ロックの一種です。 ロックを取得する際にはトランザクションIDを指定し、同一トランザクションIDを指定した場合にのみ再度ロックを取得できます。 参照カウンタを持つため、解放するときには同回数のアンロック処理が必要です。 詳細  mutexId string ※ ~ 1024文字 ミューテックス GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID propertyId string  ~ 1024文字 プロパティID ロック対象のリソースを識別するためのIDで、どのリソースに対するロックであるかを決定します。 複数の処理が同一リソースへの排他アクセスを必要とする場合、同じプロパティIDを指定する必要があります。 transactionId string  ~ 256文字 トランザクションID ロックを取得するトランザクションの識別子。この ID は再入可能ロックの実現に使用されます。 ロック要求が現在のロック保持者と同じトランザクションIDを指定した場合、ロックは再取得に成功し参照カウンタがインクリメントされます。 異なるトランザクションIDでのロック要求は、ロックが保持されている間は拒否されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 ttlAt long 現在時刻から1時間後の絶対時刻 有効期限日時 UNIX 時間・ミリ秒 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 lock ミューテックスを取得 リクエストしたユーザーの指定されたプロパティに対してミューテックスロックを取得します。 ロックは指定された TTL（有効期間）秒数の間保持されます。 同じ transactionId で再度ロックを取得すると参照カウントがインクリメントされます（リエントラントロック）。異なる transactionId でロック済みのミューテックスを取得しようとすると操作は失敗します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyId string  ~ 1024文字 プロパティID ロック対象のリソースを識別するためのIDで、どのリソースに対するロックであるかを決定します。 複数の処理が同一リソースへの排他アクセスを必要とする場合、同じプロパティIDを指定する必要があります。 accessToken string  ~ 128文字 アクセストークン transactionId string  ~ 256文字 トランザクションID ロックを取得するトランザクションの識別子。この ID は再入可能ロックの実現に使用されます。 ロック要求が現在のロック保持者と同じトランザクションIDを指定した場合、ロックは再取得に成功し参照カウンタがインクリメントされます。 異なるトランザクションIDでのロック要求は、ロックが保持されている間は拒否されます。 ttl long  0 ~ 9223372036854775805 ロックを取得する期間（秒） Result 型 説明 item Mutex ミューテックス 実装例 lockByUserId ユーザーIDを指定してミューテックスを取得 指定されたユーザーの指定されたプロパティに対してミューテックスロックを取得します。 ロックは指定された TTL（有効期間）秒数の間保持されます。 同じ transactionId で再度ロックを取得すると参照カウントがインクリメントされます（リエントラントロック）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyId string  ~ 1024文字 プロパティID ロック対象のリソースを識別するためのIDで、どのリソースに対するロックであるかを決定します。 複数の処理が同一リソースへの排他アクセスを必要とする場合、同じプロパティIDを指定する必要があります。 userId string  ~ 128文字 ユーザーID transactionId string  ~ 256文字 トランザクションID ロックを取得するトランザクションの識別子。この ID は再入可能ロックの実現に使用されます。 ロック要求が現在のロック保持者と同じトランザクションIDを指定した場合、ロックは再取得に成功し参照カウンタがインクリメントされます。 異なるトランザクションIDでのロック要求は、ロックが保持されている間は拒否されます。 ttl long  0 ~ 9223372036854775805 ロックを取得する期間（秒） timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Mutex ミューテックス 実装例 unlock ミューテックスを解放 リクエストしたユーザーの指定されたプロパティのミューテックスロックを解放します。 transactionId はロック取得時に使用したものと一致する必要があります。 参照カウントがデクリメントされ、0 になるとロックが完全に解放されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyId string  ~ 1024文字 プロパティID ロック対象のリソースを識別するためのIDで、どのリソースに対するロックであるかを決定します。 複数の処理が同一リソースへの排他アクセスを必要とする場合、同じプロパティIDを指定する必要があります。 accessToken string  ~ 128文字 アクセストークン transactionId string  ~ 256文字 トランザクションID ロックを取得するトランザクションの識別子。この ID は再入可能ロックの実現に使用されます。 ロック要求が現在のロック保持者と同じトランザクションIDを指定した場合、ロックは再取得に成功し参照カウンタがインクリメントされます。 異なるトランザクションIDでのロック要求は、ロックが保持されている間は拒否されます。 Result 型 説明 item Mutex ミューテックス 実装例 unlockByUserId ユーザーIDを指定してミューテックスを解放 指定されたユーザーの指定されたプロパティのミューテックスロックを解放します。 transactionId はロック取得時に使用したものと一致する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 propertyId string  ~ 1024文字 プロパティID ロック対象のリソースを識別するためのIDで、どのリソースに対するロックであるかを決定します。 複数の処理が同一リソースへの排他アクセスを必要とする場合、同じプロパティIDを指定する必要があります。 userId string  ~ 128文字 ユーザーID transactionId string  ~ 256文字 トランザクションID ロックを取得するトランザクションの識別子。この ID は再入可能ロックの実現に使用されます。 ロック要求が現在のロック保持者と同じトランザクションIDを指定した場合、ロックは再取得に成功し参照カウンタがインクリメントされます。 異なるトランザクションIDでのロック要求は、ロックが保持されている間は拒否されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Mutex ミューテックス 実装例 getMutex ミューテックスの状態を取得 リクエストしたユーザーの指定されたプロパティの現在のミューテックス状態を取得します。 トランザクションID、参照カウント、TTL有効期限を含むミューテックス情報を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン propertyId string  ~ 1024文字 プロパティID ロック対象のリソースを識別するためのIDで、どのリソースに対するロックであるかを決定します。 複数の処理が同一リソースへの排他アクセスを必要とする場合、同じプロパティIDを指定する必要があります。 Result 型 説明 item Mutex ミューテックス 実装例 getMutexByUserId ユーザーIDを指定してミューテックスの状態を取得 指定されたユーザーのプロパティの現在のミューテックス状態を取得します。 トランザクションID、参照カウント、TTL有効期限を含むミューテックス情報を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyId string  ~ 1024文字 プロパティID ロック対象のリソースを識別するためのIDで、どのリソースに対するロックであるかを決定します。 複数の処理が同一リソースへの排他アクセスを必要とする場合、同じプロパティIDを指定する必要があります。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Mutex ミューテックス 実装例 deleteMutexByUserId ミューテックスを削除 トランザクションIDや参照カウントに関係なく、指定されたプロパティのミューテックスを強制的に削除します。 これはロックを即座に解放する管理操作です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyId string  ~ 1024文字 プロパティID ロック対象のリソースを識別するためのIDで、どのリソースに対するロックであるかを決定します。 複数の処理が同一リソースへの排他アクセスを必要とする場合、同じプロパティIDを指定する必要があります。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Mutex 削除したミューテックス 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Lock SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Lock SDK API リファレンス","url":"/ja/api_reference/lock/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 type 文字列列挙型 enum {   “gs2”,   “bigquery”,   “firehose” } “gs2” ログの書き出し方法 ログデータのエクスポート先を決定します。“gs2” はGS2のマネージドストレージにログを保存し、組み込みの検索・分析機能を利用できます。“bigquery” はGoogle BigQueryにログをエクスポートして高度な分析を行えます。“firehose” はAmazon Kinesis Data Firehoseにログをストリーミングし、S3やRedshiftなどのAWS送信先に配信します。 定義 説明 “gs2” GS2による管理 “bigquery” BigQuery への書き出し “firehose” Kinesis Firehose への書き出し gcpCredentialJson string {type} == “bigquery” ※ ~ 5120文字 GCPのクレデンシャル BigQueryへのログエクスポート時の認証に使用するGCPクレデンシャルJSONです。サービスアカウントには対象データセットに対するBigQuery Data Editor権限が必要です。 ※ type が “bigquery” であれば 必須 bigQueryDatasetName string {type} == “bigquery” ※ ~ 1024文字 BigQueryのデータセット名 ログデータのエクスポート先となるBigQueryデータセットの名前です。データセットは提供されたクレデンシャルに関連付けられたGCPプロジェクト内にあらかじめ存在している必要があります。 ※ type が “bigquery” であれば 必須 logExpireDays int {type} in [“gs2”, “bigquery”] ※ 0 ~ 3650 ログの保存期間(日) ログデータを保持する日数です。この期間を超えたログは自動的に削除されます。エクスポート方法が “gs2” または “bigquery” の場合に適用されます。最大3650日（約10年）まで設定可能です。 ※ type が “gs2”,“bigquery\"であれば 必須 awsRegion string {type} == “firehose” ※ ~ 256文字 AWSのリージョン Kinesis Data Firehose配信ストリームが存在するAWSリージョンです（例：us-east-1、ap-northeast-1）。 ※ type が “firehose” であれば 必須 awsAccessKeyId string {type} == “firehose” ※ ~ 256文字 AWSのアクセスキーID Kinesis Data Firehoseへの認証に使用するAWSアクセスキーIDです。IAMユーザーには、指定されたFirehose配信ストリームへのレコード送信権限が必要です。 ※ type が “firehose” であれば 必須 awsSecretAccessKey string {type} == “firehose” ※ ~ 256文字 AWSのシークレットアクセスキー Kinesis Data Firehose認証のためにアクセスキーIDと対になるAWSシークレットアクセスキーです。 ※ type が “firehose” であれば 必須 firehoseStreamName string {type} == “firehose” ※ ~ 256文字 Kinesis Firehose のストリーム名 ログデータの送信先となるKinesis Data Firehose配信ストリームの名前です。 ※ type が “firehose” であれば 必須 firehoseCompressData 文字列列挙型 enum {   “none”,   “gzip” } {type} == “firehose” “none” Kinesis Firehose に出力するデータを圧縮するか Kinesis Data Firehoseに送信する前にログデータを圧縮するかどうかの設定です。Gzip圧縮によりデータ転送量とストレージコストを削減できます。 定義 説明 “none” 圧縮しない “gzip” Gzip ※ type が “firehose” であれば 有効 status string “ACTIVE” ~ 128文字 ステータス このネームスペースの現在の動作ステータスです。ネームスペースがアクティブでログデータを受け付けているかどうかを示します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン AccessLog アクセスログ マイクロサービスへのリクエスト及びその応答内容を記録したログです。 詳細  timestamp long  日時 APIリクエストが処理された日時です。 requestId string  ~ 1024文字 リクエストID 各APIリクエストに割り当てられる一意の識別子です。特定のAPI呼び出しの追跡やデバッグに使用されます。 service string  ~ 1024文字 マイクロサービスの種類 リクエストを処理したGS2マイクロサービスの名前です（例：account、inventory、limit）。 method string  ~ 1024文字 マイクロサービスのメソッド マイクロサービス上で呼び出された具体的なAPIメソッドです（例：createNamespace、getItem）。 userId string ~ 128文字 ユーザーID request string  ~ 10485760文字 リクエストパラメータ APIに送信されたリクエストパラメータの全内容（JSON形式）です。 result string  ~ 10485760文字 応答内容 APIから返されたレスポンスの全内容（JSON形式）で、正常な結果とエラーの詳細の両方を含みます。 AccessLogCount アクセスログ集計 マイクロサービスの種類、メソッド、ユーザーごとにグループ化されたアクセスログエントリの集計件数です。APIの使用パターンの分析や頻繁に呼び出されるエンドポイントの特定に使用されます。 詳細  service string ~ 1024文字 マイクロサービスの種類 GS2マイクロサービスの名前です。集計のグループ化キーとして使用されます。 method string ~ 1024文字 マイクロサービスのメソッド 具体的なAPIメソッドです。集計のグループ化キーとして使用されます。 userId string ~ 128文字 ユーザーID count long  0 ~ 9223372036854775805 回数 グループ化条件に一致するアクセスログエントリの総数です。 IssueStampSheetLog トランザクション発行ログ 分散トランザクションの発行を記録します。各エントリは、発行時に1つのトランザクションとしてまとめられた入手アクションと関連する消費アクション（タスク）をキャプチャします。 詳細  timestamp long  日時 トランザクションが発行された日時です。 transactionId string  ~ 1024文字 トランザクションID 発行された分散トランザクションの一意の識別子です。 service string  ~ 1024文字 マイクロサービスの種類 トランザクションを発行したGS2マイクロサービスの名前です。 method string  ~ 1024文字 マイクロサービスのメソッド トランザクション発行をトリガーした具体的なAPIメソッドです。 userId string  ~ 128文字 ユーザーID action string  ~ 1024文字 入手アクション トランザクションに含まれる入手アクションで、実行時にユーザーが受け取る内容を指定します。 args string  ~ 5242880文字 引数 入手アクションのパラメータ（JSON形式）です。 tasks List 0 ~ 10 items 消費アクションリスト このトランザクションにバンドルされた消費アクションのリストです。入手アクションの前に実行され、前提条件としてリソースを消費します。 IssueStampSheetLogCount トランザクション発行ログ集計 マイクロサービスの種類、メソッド、ユーザー、アクションごとにグループ化されたトランザクション発行ログエントリの集計件数です。各サービスで発行された分散トランザクションのボリュームと分布の分析に使用されます。 詳細  service string ~ 1024文字 マイクロサービスの種類 トランザクションを発行したGS2マイクロサービスの名前です。 method string ~ 1024文字 マイクロサービスのメソッド トランザクション発行をトリガーしたAPIメソッドです。 userId string ~ 128文字 ユーザーID action string ~ 1024文字 入手アクション 発行されたトランザクションに含まれる入手アクションの種類です。 count long  0 ~ 9223372036854775805 回数 グループ化条件に一致するトランザクション発行ログエントリの総数です。 ExecuteStampSheetLog 入手アクション実行ログ マイクロサービスごとのトランザクションの実行内容ログです。 詳細  timestamp long  日時 入手アクションが実行された日時です。 transactionId string  ~ 1024文字 トランザクションID この入手アクションが属する分散トランザクションの一意の識別子です。 service string  ~ 1024文字 マイクロサービスの種類 入手アクションを実行したGS2マイクロサービスの名前です（例：inventory、experience）。 method string  ~ 1024文字 マイクロサービスのメソッド 入手アクションの実行のためにマイクロサービス上で呼び出された具体的なメソッドです。 userId string  ~ 128文字 ユーザーID action string  ~ 1024文字 入手アクション 実行された入手アクションの種類です（例：Gs2Inventory:AcquireItemSetByUserId、Gs2Experience:AddExperienceByUserId）。 args string  ~ 5242880文字 引数 入手アクションに渡されたパラメータ（JSON形式）です。 ExecuteStampSheetLogCount 入手アクション実行ログ集計 マイクロサービスの種類、メソッド、ユーザー、アクションごとにグループ化された入手アクション実行ログエントリの集計件数です。各種入手アクションの実行頻度の分析に使用されます。 詳細  service string ~ 1024文字 マイクロサービスの種類 入手アクションを実行したGS2マイクロサービスの名前です。 method string ~ 1024文字 マイクロサービスのメソッド 入手アクションの実行のために呼び出された具体的なメソッドです。 userId string ~ 128文字 ユーザーID action string ~ 1024文字 入手アクション 実行された入手アクションの種類です。 count long  0 ~ 9223372036854775805 回数 グループ化条件に一致する入手アクション実行ログエントリの総数です。 ExecuteStampTaskLog 消費アクション実行ログ マイクロサービスごとの消費アクションの実行内容ログです。 詳細  timestamp long  日時 消費アクションが実行された日時です。 taskId string  ~ 1024文字 タスクID 実行された消費アクションの一意の識別子です。 service string  ~ 1024文字 マイクロサービスの種類 消費アクションを実行したGS2マイクロサービスの名前です（例：inventory、money）。 method string  ~ 1024文字 マイクロサービスのメソッド 消費アクションの実行のためにマイクロサービス上で呼び出された具体的なメソッドです。 userId string  ~ 128文字 ユーザーID action string  ~ 1024文字 消費アクション 実行された消費アクションの種類です（例：Gs2Inventory:ConsumeItemSetByUserId、Gs2Money:WithdrawByUserId）。 args string  ~ 5242880文字 引数 消費アクションに渡されたパラメータ（JSON形式）です。 ExecuteStampTaskLogCount 消費アクション実行ログ集計 マイクロサービスの種類、メソッド、ユーザー、アクションごとにグループ化された消費アクション実行ログエントリの集計件数です。各種消費アクションの実行頻度の分析に使用されます。 詳細  service string ~ 1024文字 マイクロサービスの種類 消費アクションを実行したGS2マイクロサービスの名前です。 method string ~ 1024文字 マイクロサービスのメソッド 消費アクションの実行のために呼び出された具体的なメソッドです。 userId string ~ 128文字 ユーザーID action string ~ 1024文字 消費アクション 実行された消費アクションの種類です。 count long  0 ~ 9223372036854775805 回数 グループ化条件に一致する消費アクション実行ログエントリの総数です。 InGameLog インゲームログ ゲームクライアントまたはサーバーサイドスクリプトから送信されるカスタムログエントリです。GS2 API呼び出しにより自動生成されるアクセスログとは異なり、インゲームログはゲーム開発者がプレイヤーのアクション、ゲーム状態の変化、ビジネスメトリクスなどのゲーム固有のイベントを記録するために明示的に送信します。 詳細  timestamp long  日時 インゲームログが送信された日時です。 requestId string  ~ 1024文字 リクエストID 重複排除と追跡のためにこのログエントリに割り当てられた一意の識別子です。 userId string ~ 128文字 ユーザーID tags List [] 0 ~ 20 items タグ フィルタリングと分類のためにログエントリに付与されたキーバリューペアです。タグによりインゲームログの効率的な検索と集計が可能です（例：イベントタイプ、ステージID、アイテムカテゴリ）。 payload string  ~ 10485760文字 ペイロード JSON形式のカスタムログデータです。プレイヤーのアクション、ゲーム状態、ビジネスメトリクスなど、ゲーム固有の任意の情報を含めることができます。最大10MBまで。 AccessLogWithTelemetry テレメトリー情報付きアクセスログ マイクロサービスへのリクエスト及びその応答内容を記録したログにレスポンスタイムや呼び出し元のコンテキスト情報を付加したログ 詳細  timestamp long  日時 APIリクエストが処理された日時です。 sourceRequestId string  ~ 1024文字 呼び出し元リクエストID このリクエストを発生させた元の呼び出し元のリクエストIDです。関連するAPI呼び出しを元のリクエストまで遡って追跡するために使用されます。 requestId string  ~ 1024文字 リクエストID この特定のAPIリクエストに割り当てられた一意の識別子です。 duration long  0 ~ 9223372036854775805 実行時間 (ms) このAPIリクエストの受信からレスポンスまでの処理にかかった時間（ミリ秒）です。 service string  ~ 1024文字 マイクロサービスの種類 リクエストを処理したGS2マイクロサービスの名前です（例：account、inventory、limit）。 method string  ~ 1024文字 マイクロサービスのメソッド マイクロサービス上で呼び出された具体的なAPIメソッドです（例：createNamespace、getItem）。 userId string ~ 128文字 ユーザーID request string  ~ 10485760文字 リクエストパラメータ APIに送信されたリクエストパラメータの全内容（JSON形式）です。 result string  ~ 10485760文字 応答内容 APIから返されたレスポンスの全内容（JSON形式）です。 status 文字列列挙型 enum {   “ok”,   “error” }  ステータス APIリクエストの結果ステータスです。“ok” は正常処理を示し、“error” はエラーが発生したことを示します。 定義 説明 “ok” 正常 “error” 異常 Insight GS2-Insight は GS2-Log に蓄積されたアクセスログを可視化・分析するツールです。 GS2-Insight 自体はオープンソースで github にて公開されています。 https://github.com/gs2io/gs2-insight ここでは、公開されているオープンソースのコードをご自身でホスティングすることなく、オンデマンドで起動してご利用いただけます。 オンデマンド起動された GS2-Insight は最大2時間利用することができます。 2時間を超えて利用したい場合は、ご自身でホスティングしてご利用ください。 詳細  insightId string ※ ~ 1024文字 GS2-Insight GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 36文字 名前 taskId string ~ 128文字 タスクID host string ~ 256文字 ホスト名 password string  ~ 32文字 パスワード status 文字列列挙型 enum {   “ALLOCATING”,   “LAUNCHING”,   “ACTIVE”,   “DELETED” } “ALLOCATING” ステータス 定義 説明 “ALLOCATING” サーバーの割り当て中 “LAUNCHING” 起動処理中 “ACTIVE” 有効 “DELETED” 削除済み createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Dashboard ダッシュボード ログデータとメトリクスを可視化するためのカスタマイズ可能なダッシュボードです。各ダッシュボードはレイアウトとウィジェット設定をJSONペイロードとして保存し、ログ分析のカスタマイズされたビューを作成できます。 詳細  dashboardId string ※ ~ 1024文字 ダッシュボード GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 36文字 ダッシュボード名 displayName string  ~ 256文字 表示用の名前 このダッシュボードの人間が読める名前で、ダッシュボード一覧やヘッダーに表示されます。 description string ~ 1024文字 説明文 payload string  ~ 1048576文字 ペイロード JSON形式のダッシュボード設定で、ウィジェット定義、レイアウト情報、クエリ設定、可視化オプションを含みます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 FacetModel ファセットモデル ログデータのフィルタリングと集計に使用できるファセットフィールドを定義します。ファセットにより、サービス名、メソッド、ステータス、カスタムフィールドなどの特定のディメンションでログ検索結果を絞り込めます。 詳細  facetModelId string ※ ~ 1024文字 ファセットモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 field string  ~ 128文字 ファセットのフィールド名 このファセットが対象とするログフィールドの名前です（例：“service”、“method”、“status”）。 type 文字列列挙型 enum {   “string”,   “double”,   “measure” }  ファセットのデータ型 ファセットフィールドのデータ型です。“string” は値のカウント付きカテゴリ値、“double” は範囲フィルタリング付き数値、“measure” は統計分析付き測定値に使用します。 定義 説明 “string” 文字列 “double” 数値 “measure” 測定値 displayName string  ~ 128文字 表示用の名前 このファセットの人間が読める名前で、ログ検索UIに表示されます。 order int 0 0 ~ 100000 表示順 UIでこのファセットを表示する際の並び順です。値が小さいほど先に表示されます。 MetricModel メトリックモデル 監視および可視化できるメトリクスを定義します。事前定義されたメトリクスには、各GS2マイクロサービスのリクエスト数、リクエスト時間、エラー率（4xx/5xx）が含まれます。各メトリクスにはグループ化とフィルタリングのための関連ラベルがあります。 詳細  name string  ~ 128文字 メトリック名 このメトリクスの一意の識別子です（例：“RequestCount”、“RequestDuration”、“Error4xxCount”、“Error5xxCount”）。サービス固有のメトリクスにはサービス名がプレフィックスとして付きます。 type 文字列列挙型 enum {   “string”,   “double”,   “measure” }  メトリックのデータ型 メトリクス値のデータ型です。“double” は数値カウントに使用され、“measure” は時間/レイテンシの測定に使用されます。 定義 説明 “string” 文字列 “double” 数値 “measure” 測定値 labels List [] 0 ~ 10 items ラベル このメトリクスに関連付けられたラベル名で、メトリクスデータのグループ化とフィルタリングに使用されます（例：“service”、“method”、“namespaceName”）。ラベルはメトリクスを分解できるディメンションを定義します。 AggregationConfig 集計設定 時系列データをクエリする際のログデータまたはメトリクスの集計方法の設定です。集計関数（カウント、平均、パーセンタイルなど）と集計対象フィールドを指定します。 詳細  type 文字列列挙型 enum {   “count”,   “unique”,   “sum”,   “avg”,   “max”,   “min”,   “p90”,   “p95”,   “p99” } “count” 集計タイプ: - unique : ユニークな値の数 - avg : 平均値 - max : 最大値 - min : 最小値 - p90 : 90パーセンタイル - p99 : 99パーセンタイル 定義 説明 “count” レコード数 “unique” ユニークな値の数 “sum” 合計値 “avg” 平均値 “max” 最大値 “min” 最小値 “p90” 90パーセンタイル “p95” 95パーセンタイル “p99” 99パーセンタイル field string ~ 128文字 集計対象フィールド（count以外の場合に必要） Facet ファセット ログデータに対するファセットクエリの結果で、特定フィールドの値の分布を含みます。文字列フィールドの場合は値のカウント、数値フィールドの場合は現在のフィルタ条件での値の範囲とUIスライダー表示用のグローバル範囲を提供します。 詳細  field string  ~ 128文字 ファセットのフィールド名 values List [] 0 ~ 100 items 文字列ファセットの値とカウントの配列 range NumericRange 現在のフィルター条件での数値範囲 globalRange NumericRange フィルター適用前の全データ範囲（UIのスライダー範囲に使用） FacetValueCount ファセット値のカウント 文字列ファセット結果内の単一の値とその出現回数です。特定のファセットフィールドに対してどれだけのログエントリがその値を持っているかを表します。 詳細  value string  ~ 256文字 ファセットの値 count long  0 ~ 9223372036854775805 この値を持つログの件数 Label ラベル 分類、フィルタリング、グループ化のためにログエントリやメトリクスに付与されるキーバリューペアです。 詳細  key string  ~ 128文字 ラベルのキー このラベルのキー名です（例：“service”、“method”、“namespaceName”）。 value string  ~ 256文字 ラベルの値 キーに対応するこのラベルの値です。 LogEntry ログエントリ トレース内の単一のログレコードで、1つの処理ステップまたはAPI呼び出しを表します。生のログデータ、処理時間、重要度ステータス、および分類用の関連ラベルを含みます。 詳細  timestamp long  タイムスタンプ このログエントリが記録された日時です。 status 文字列列挙型 enum {   “ok”,   “info”,   “notice”,   “error”,   “warn”,   “emag” }  ステータス このログエントリの重要度レベルで、情報レベルから緊急レベルまであります。 定義 説明 “ok” 正常 “info” 情報 “notice” 通知 “error” エラー “warn” 警告 “emag” 緊急 duration long 0 0 ~ 9223372036854775805 処理時間（ナノ秒） このログエントリの処理にかかった時間（ナノ秒）です。 line string  ~ 10485760文字 ログ行の生データ JSON形式の生ログデータで、リクエスト/レスポンス情報を含む処理ステップの詳細全体が含まれます。 labels List [] 0 ~ 128 items ラベル 分類とフィルタリングのためにこのログエントリに付与されたキーバリューペアです（例：サービス名、メソッド、リクエストID）。 NumericRange 数値の範囲。 range : 現在のフィルター条件での範囲（他のフィルターは適用、自身は除外） globalRange : フィルター適用前の全データ範囲（UIのスライダー範囲に使用） 詳細  min double  0 ~ 281474976710654 最小値 max double  0 ~ 281474976710654 最大値 TimeseriesMetadata 時系列データのメタデータ 時系列クエリ結果に関するメタデータで、データに含まれるシリーズキーとグループ化に使用されたフィールドを記述します。クライアントが時系列データを適切に解釈・表示するために使用されます。 詳細  keys List [] 0 ~ 10 items データに含まれるシリーズキーの一覧 groupBy List [] 0 ~ 10 items グループ化に使用されたフィールド TimeseriesPoint 時系列データポイント 時系列における単一のデータポイントで、特定のタイムスタンプでの集計値を表します。グループ化が適用されている場合、それぞれ異なるグループに対応する1つ以上の値を含みます。 詳細  timestamp long  タイムスタンプ values List [] 0 ~ 10000 items このタイムスタンプでの各グループの値 TimeseriesValue 時系列データの値 時系列データポイント内の単一の集計値で、グループごとにキーが付けられます。データがグループ化されている場合（例：サービスやメソッド別）、各グループに固有の値があり、グループ化なしの場合はキーは “count” です。 詳細  key string  ~ 256文字 グループキー（グループ化なしの場合は \"count\"） value double  0 ~ 281474976710654 集計値 Trace トレース マイクロサービス呼び出しにまたがる関連ログエントリ（スパン）を1つのリクエストフローにグループ化する分散トレースです。ユーザーのAPIリクエストが複数のGS2マイクロサービスを通じてどのように伝搬するかをエンドツーエンドで可視化できます。 詳細  traceId string  UUID ~ 36文字 トレースID このトレースの一意の識別子で、リクエストフロー内のすべての関連ログエントリ（スパン）で共有されます。 spans List [] 0 ~ 100 items スパン このトレースを構成するログエントリ（スパン）のリストで、マイクロサービス間のリクエストフローにおける各処理ステップを表します。 truncated bool false 切り捨て スパンリストがエントリの最大数を超えたため切り捨てられたかどうかを示します。trueの場合、トレース内の一部のスパンがレスポンスに含まれていません。 InGameLogTag ゲーム内ログのタグ インゲームログエントリのフィルタリングと分類に使用されるキーバリューペアです。各タグキーは1つのログエントリ内で一意でなければなりません。 詳細  key string  ~ 64文字 タグ名 このタグのキー名です。インゲームログを検索する際のフィルタ条件として使用されます。 value string  ~ 128文字 タグ値 このタグの値です。キーと組み合わせて、特定の条件でのログフィルタリングを可能にします（例：key=“stageId”, value=“stage-001”）。 メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 type 文字列列挙型 enum {   “gs2”,   “bigquery”,   “firehose” } “gs2” ログの書き出し方法 ログデータのエクスポート先を決定します。“gs2” はGS2のマネージドストレージにログを保存し、組み込みの検索・分析機能を利用できます。“bigquery” はGoogle BigQueryにログをエクスポートして高度な分析を行えます。“firehose” はAmazon Kinesis Data Firehoseにログをストリーミングし、S3やRedshiftなどのAWS送信先に配信します。 定義 説明 “gs2” GS2による管理 “bigquery” BigQuery への書き出し “firehose” Kinesis Firehose への書き出し gcpCredentialJson string {type} == “bigquery” ※ ~ 5120文字 GCPのクレデンシャル BigQueryへのログエクスポート時の認証に使用するGCPクレデンシャルJSONです。サービスアカウントには対象データセットに対するBigQuery Data Editor権限が必要です。 ※ type が “bigquery” であれば必須 bigQueryDatasetName string {type} == “bigquery” ※ ~ 1024文字 BigQueryのデータセット名 ログデータのエクスポート先となるBigQueryデータセットの名前です。データセットは提供されたクレデンシャルに関連付けられたGCPプロジェクト内にあらかじめ存在している必要があります。 ※ type が “bigquery” であれば必須 logExpireDays int {type} in [“gs2”, “bigquery”] ※ 0 ~ 3650 ログの保存期間(日) ログデータを保持する日数です。この期間を超えたログは自動的に削除されます。エクスポート方法が “gs2” または “bigquery” の場合に適用されます。最大3650日（約10年）まで設定可能です。 ※ type が “gs2”,“bigquery\"であれば 必須 awsRegion string {type} == “firehose” ※ ~ 256文字 AWSのリージョン Kinesis Data Firehose配信ストリームが存在するAWSリージョンです（例：us-east-1、ap-northeast-1）。 ※ type が “firehose” であれば必須 awsAccessKeyId string {type} == “firehose” ※ ~ 256文字 AWSのアクセスキーID Kinesis Data Firehoseへの認証に使用するAWSアクセスキーIDです。IAMユーザーには、指定されたFirehose配信ストリームへのレコード送信権限が必要です。 ※ type が “firehose” であれば必須 awsSecretAccessKey string {type} == “firehose” ※ ~ 256文字 AWSのシークレットアクセスキー Kinesis Data Firehose認証のためにアクセスキーIDと対になるAWSシークレットアクセスキーです。 ※ type が “firehose” であれば必須 firehoseStreamName string {type} == “firehose” ※ ~ 256文字 Kinesis Firehose のストリーム名 ログデータの送信先となるKinesis Data Firehose配信ストリームの名前です。 ※ type が “firehose” であれば必須 firehoseCompressData 文字列列挙型 enum {   “none”,   “gzip” } {type} == “firehose” “none” Kinesis Firehose に出力するデータを圧縮するか Kinesis Data Firehoseに送信する前にログデータを圧縮するかどうかの設定です。Gzip圧縮によりデータ転送量とストレージコストを削減できます。 定義 説明 “none” 圧縮しない “gzip” Gzip ※ type が “firehose” であれば必須 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 type 文字列列挙型 enum {   “gs2”,   “bigquery”,   “firehose” } “gs2” ログの書き出し方法 ログデータのエクスポート先を決定します。“gs2” はGS2のマネージドストレージにログを保存し、組み込みの検索・分析機能を利用できます。“bigquery” はGoogle BigQueryにログをエクスポートして高度な分析を行えます。“firehose” はAmazon Kinesis Data Firehoseにログをストリーミングし、S3やRedshiftなどのAWS送信先に配信します。 定義 説明 “gs2” GS2による管理 “bigquery” BigQuery への書き出し “firehose” Kinesis Firehose への書き出し gcpCredentialJson string {type} == “bigquery” ※ ~ 5120文字 GCPのクレデンシャル BigQueryへのログエクスポート時の認証に使用するGCPクレデンシャルJSONです。サービスアカウントには対象データセットに対するBigQuery Data Editor権限が必要です。 ※ type が “bigquery” であれば必須 bigQueryDatasetName string {type} == “bigquery” ※ ~ 1024文字 BigQueryのデータセット名 ログデータのエクスポート先となるBigQueryデータセットの名前です。データセットは提供されたクレデンシャルに関連付けられたGCPプロジェクト内にあらかじめ存在している必要があります。 ※ type が “bigquery” であれば必須 logExpireDays int {type} in [“gs2”, “bigquery”] ※ 0 ~ 3650 ログの保存期間(日) ログデータを保持する日数です。この期間を超えたログは自動的に削除されます。エクスポート方法が “gs2” または “bigquery” の場合に適用されます。最大3650日（約10年）まで設定可能です。 ※ type が “gs2”,“bigquery\"であれば 必須 awsRegion string {type} == “firehose” ※ ~ 256文字 AWSのリージョン Kinesis Data Firehose配信ストリームが存在するAWSリージョンです（例：us-east-1、ap-northeast-1）。 ※ type が “firehose” であれば必須 awsAccessKeyId string {type} == “firehose” ※ ~ 256文字 AWSのアクセスキーID Kinesis Data Firehoseへの認証に使用するAWSアクセスキーIDです。IAMユーザーには、指定されたFirehose配信ストリームへのレコード送信権限が必要です。 ※ type が “firehose” であれば必須 awsSecretAccessKey string {type} == “firehose” ※ ~ 256文字 AWSのシークレットアクセスキー Kinesis Data Firehose認証のためにアクセスキーIDと対になるAWSシークレットアクセスキーです。 ※ type が “firehose” であれば必須 firehoseStreamName string {type} == “firehose” ※ ~ 256文字 Kinesis Firehose のストリーム名 ログデータの送信先となるKinesis Data Firehose配信ストリームの名前です。 ※ type が “firehose” であれば必須 firehoseCompressData 文字列列挙型 enum {   “none”,   “gzip” } {type} == “firehose” “none” Kinesis Firehose に出力するデータを圧縮するか Kinesis Data Firehoseに送信する前にログデータを圧縮するかどうかの設定です。Gzip圧縮によりデータ転送量とストレージコストを削減できます。 定義 説明 “none” 圧縮しない “gzip” Gzip ※ type が “firehose” であれば必須 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 queryAccessLog アクセスログの一覧を取得 指定された時間範囲内のアクセスログをクエリします。サービス、メソッド、ユーザーIDによるフィルタリングが可能です。 結果には総件数とスキャンサイズ（バイト）が含まれます。7日を超える期間を検索する場合は longTerm フラグを有効にする必要があり、スキャン容量の増加によりAPI実行料金が増加する場合があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 service string ~ 1024文字 マイクロサービスの種類 リクエストを処理したGS2マイクロサービスの名前です（例：account、inventory、limit）。 method string ~ 1024文字 マイクロサービスのメソッド マイクロサービス上で呼び出された具体的なAPIメソッドです（例：createNamespace、getItem）。 userId string ~ 128文字 ユーザーID begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 longTerm bool false 7日より長い期間のログを検索対象とするか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 100 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List アクセスログのリスト nextPageToken string リストの続きを取得するためのページトークン totalCount long クエリ結果の総件数 scanSize long 検索時にスキャンした総容量(bytes) 実装例 countAccessLog アクセスログの集計結果を取得 指定された時間範囲内のアクセスログ件数を集計します。サービス、メソッド、ユーザーIDによる分類が可能です。 各分類フラグにより、その次元でのグループ化が制御されます。longTerm フラグを有効にすると、7日を超える期間を検索できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 service bool false マイクロサービスの種類で分類するか method bool false マイクロサービスのメソッドで分類するか userId bool false ユーザーIDで分類するか begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 longTerm bool false 7日より長い期間のログを検索対象とするか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List アクセスログ集計のリスト nextPageToken string リストの続きを取得するためのページトークン totalCount long クエリ結果の総件数 scanSize long 検索時にスキャンした総容量(bytes) 実装例 queryIssueStampSheetLog トランザクション発行ログの一覧を取得 指定された時間範囲内のトランザクション発行ログをクエリします。 サービス、メソッド、ユーザーID、アクションタイプによるフィルタリングが可能です。レスポンスには総件数とスキャンサイズが含まれます。7日を超える検索には longTerm フラグを有効にしてください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 service string ~ 1024文字 マイクロサービスの種類 トランザクションを発行したGS2マイクロサービスの名前です。 method string ~ 1024文字 マイクロサービスのメソッド トランザクション発行をトリガーした具体的なAPIメソッドです。 userId string ~ 128文字 ユーザーID action string ~ 1024文字 入手アクション トランザクションに含まれる入手アクションで、実行時にユーザーが受け取る内容を指定します。 begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 longTerm bool false 7日より長い期間のログを検索対象とするか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 100 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List トランザクション発行ログのリスト nextPageToken string リストの続きを取得するためのページトークン totalCount long クエリ結果の総件数 scanSize long 検索時にスキャンした総容量(bytes) 実装例 countIssueStampSheetLog トランザクション発行ログの集計結果を取得 指定された時間範囲内のトランザクション発行ログ件数を集計します。サービス、メソッド、ユーザーID、アクションタイプによる分類が可能です。 各分類フラグにより、その次元でのグループ化が制御されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 service bool false マイクロサービスの種類で分類するか method bool false マイクロサービスのメソッドで分類するか userId bool false ユーザーIDで分類するか action bool false 入手アクションで分類するか begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 longTerm bool false 7日より長い期間のログを検索対象とするか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List トランザクション発行ログ集計のリスト nextPageToken string リストの続きを取得するためのページトークン totalCount long クエリ結果の総件数 scanSize long 検索時にスキャンした総容量(bytes) 実装例 queryExecuteStampSheetLog 入手アクション実行ログの一覧を取得 指定された時間範囲内の入手アクション実行ログをクエリします。 サービス、メソッド、ユーザーID、アクションタイプによるフィルタリングが可能です。レスポンスには総件数とスキャンサイズが含まれます。7日を超える検索には longTerm フラグを有効にしてください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 service string ~ 1024文字 マイクロサービスの種類 入手アクションを実行したGS2マイクロサービスの名前です（例：inventory、experience）。 method string ~ 1024文字 マイクロサービスのメソッド 入手アクションの実行のためにマイクロサービス上で呼び出された具体的なメソッドです。 userId string ~ 128文字 ユーザーID action string ~ 1024文字 入手アクション 実行された入手アクションの種類です（例：Gs2Inventory:AcquireItemSetByUserId、Gs2Experience:AddExperienceByUserId）。 begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 longTerm bool false 7日より長い期間のログを検索対象とするか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 100 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 入手アクション実行ログのリスト nextPageToken string リストの続きを取得するためのページトークン totalCount long クエリ結果の総件数 scanSize long 検索時にスキャンした総容量(bytes) 実装例 countExecuteStampSheetLog 入手アクション実行ログの集計結果を取得 指定された時間範囲内の入手アクション実行ログ件数を集計します。サービス、メソッド、ユーザーID、アクションタイプによる分類が可能です。 各分類フラグにより、その次元でのグループ化が制御されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 service bool false マイクロサービスの種類で分類するか method bool false マイクロサービスのメソッドで分類するか userId bool false ユーザーIDで分類するか action bool false 入手アクションで分類するか begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 longTerm bool false 7日より長い期間のログを検索対象とするか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 入手アクション実行ログ集計のリスト nextPageToken string リストの続きを取得するためのページトークン totalCount long クエリ結果の総件数 scanSize long 検索時にスキャンした総容量(bytes) 実装例 queryExecuteStampTaskLog 消費アクション実行ログの一覧を取得 指定された時間範囲内の消費アクション実行ログをクエリします。 サービス、メソッド、ユーザーID、アクションタイプによるフィルタリングが可能です。レスポンスには総件数とスキャンサイズが含まれます。7日を超える検索には longTerm フラグを有効にしてください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 service string ~ 1024文字 マイクロサービスの種類 消費アクションを実行したGS2マイクロサービスの名前です（例：inventory、money）。 method string ~ 1024文字 マイクロサービスのメソッド 消費アクションの実行のためにマイクロサービス上で呼び出された具体的なメソッドです。 userId string ~ 128文字 ユーザーID action string ~ 1024文字 消費アクション 実行された消費アクションの種類です（例：Gs2Inventory:ConsumeItemSetByUserId、Gs2Money:WithdrawByUserId）。 begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 longTerm bool false 7日より長い期間のログを検索対象とするか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 100 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 消費アクション実行実行ログのリスト nextPageToken string リストの続きを取得するためのページトークン totalCount long クエリ結果の総件数 scanSize long 検索時にスキャンした総容量(bytes) 実装例 countExecuteStampTaskLog 消費アクション実行ログの集計結果を取得 指定された時間範囲内の消費アクション実行ログ件数を集計します。サービス、メソッド、ユーザーID、アクションタイプによる分類が可能です。 各分類フラグにより、その次元でのグループ化が制御されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 service bool false マイクロサービスの種類で分類するか method bool false マイクロサービスのメソッドで分類するか userId bool false ユーザーIDで分類するか action bool false 入手アクションで分類するか begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 longTerm bool false 7日より長い期間のログを検索対象とするか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 消費アクション実行ログ集計のリスト nextPageToken string リストの続きを取得するためのページトークン totalCount long クエリ結果の総件数 scanSize long 検索時にスキャンした総容量(bytes) 実装例 queryInGameLog ゲーム内ログの一覧を取得 指定された時間範囲内のカスタムゲーム内ログをクエリします。ユーザーIDとタグによるフィルタリングが可能です。 ゲーム内ログは、開発者が定義したログエントリで、任意のペイロードデータと分類用のタグを含むことができます。7日を超える検索には longTerm フラグを有効にしてください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ~ 128文字 ユーザーID tags List [] 0 ~ 20 items タグ フィルタリングと分類のためにログエントリに付与されたキーバリューペアです。タグによりインゲームログの効率的な検索と集計が可能です（例：イベントタイプ、ステージID、アイテムカテゴリ）。 begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻から1時間後の絶対時刻 検索範囲終了日時 longTerm bool false 7日より長い期間のログを検索対象とするか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 100 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ゲーム内ログのリスト nextPageToken string リストの続きを取得するためのページトークン totalCount long クエリ結果の総件数 scanSize long 検索時にスキャンした総容量(bytes) 実装例 sendInGameLog ゲーム内ログを送信 指定されたタグとペイロードを含むカスタムゲーム内ログエントリをリクエストしたユーザーとして送信します。 タグはログクエリ時の分類とフィルタリングに使用されます。ペイロードには開発者が定義した任意のデータを含めることができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string ~ 128文字 アクセストークン tags List [] 0 ~ 20 items タグ フィルタリングと分類のためにログエントリに付与されたキーバリューペアです。タグによりインゲームログの効率的な検索と集計が可能です（例：イベントタイプ、ステージID、アイテムカテゴリ）。 payload string  ~ 10485760文字 ペイロード JSON形式のカスタムログデータです。プレイヤーのアクション、ゲーム状態、ビジネスメトリクスなど、ゲーム固有の任意の情報を含めることができます。最大10MBまで。 Result 型 説明 item InGameLog ゲーム内ログ 実装例 sendInGameLogByUserId ユーザーIDを指定してゲーム内ログを送信 指定されたユーザーのカスタムゲーム内ログエントリを指定されたタグとペイロードで送信します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ~ 128文字 ユーザーID tags List [] 0 ~ 20 items タグ フィルタリングと分類のためにログエントリに付与されたキーバリューペアです。タグによりインゲームログの効率的な検索と集計が可能です（例：イベントタイプ、ステージID、アイテムカテゴリ）。 payload string  ~ 10485760文字 ペイロード JSON形式のカスタムログデータです。プレイヤーのアクション、ゲーム状態、ビジネスメトリクスなど、ゲーム固有の任意の情報を含めることができます。最大10MBまで。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item InGameLog ゲーム内ログ 実装例 queryAccessLogWithTelemetry テレメトリ付きのアクセスログの一覧を取得 指定された時間範囲内のテレメトリデータを含むアクセスログをクエリします。ユーザーIDによるフィルタリングが可能です。 テレメトリデータは各API呼び出しに対する追加のパフォーマンス・診断情報を提供します。7日を超える期間を検索する場合は longTerm フラグを有効にする必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ~ 128文字 ユーザーID begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 longTerm bool false 7日より長い期間のログを検索対象とするか pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List アクセスログのリスト nextPageToken string リストの続きを取得するためのページトークン totalCount long クエリ結果の総件数 scanSize long 検索時にスキャンした総容量(bytes) 実装例 describeInsights GS2-Insightの一覧を取得 指定されたネームスペースの GS2-Insight インスタンスのページネーション付きリストを取得します。 各 Insight はログ分析環境を表し、起動後2時間で自動的にシャットダウンされます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List GS2-Insightのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createInsight GS2-Insightを起動 指定されたネームスペースに新しい GS2-Insight ログ分析環境を起動します。 Insight インスタンスは起動後2時間で自動的にシャットダウンされます。ネームスペースごとに同時にアクティブにできるインスタンスは1つのみです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Insight GS2-Insight 実装例 getInsight GS2-Insightを取得 指定された GS2-Insight インスタンスの現在のステータスと起動時刻を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 insightName string  UUID ~ 36文字 名前 Result 型 説明 item Insight GS2-Insight 実装例 deleteInsight GS2-Insightを削除 指定された GS2-Insight インスタンスを削除し、ログ分析環境を即座にシャットダウンします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 insightName string  UUID ~ 36文字 名前 Result 型 説明 item Insight GS2-Insight 実装例 describeDashboards ダッシュボードの一覧を取得 指定されたネームスペースのダッシュボードのページネーション付きリストを取得します。 ダッシュボードはログデータとメトリクスを可視化するカスタマイズ可能なビューを提供します。名前の接頭辞でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 ダッシュボード名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ダッシュボードのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createDashboard ダッシュボードを新規作成 指定された表示名と説明で新しいダッシュボードを作成します。 ダッシュボードのペイロード（レイアウトとウィジェット設定）は後から更新で設定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 displayName string  ~ 256文字 表示用の名前 このダッシュボードの人間が読める名前で、ダッシュボード一覧やヘッダーに表示されます。 description string ~ 1024文字 説明文 Result 型 説明 item Dashboard 作成したダッシュボード 実装例 getDashboard ダッシュボードを取得 指定されたダッシュボードの表示名、説明、ペイロード設定を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dashboardName string  UUID ~ 36文字 ダッシュボード名 Result 型 説明 item Dashboard ダッシュボード 実装例 updateDashboard ダッシュボードを更新 指定されたダッシュボードの表示名、説明、ペイロード設定を更新します。 ペイロードにはダッシュボードのレイアウトとウィジェット定義が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dashboardName string  UUID ~ 36文字 ダッシュボード名 displayName string  ~ 256文字 表示用の名前 このダッシュボードの人間が読める名前で、ダッシュボード一覧やヘッダーに表示されます。 description string ~ 1024文字 説明文 payload string  ~ 1048576文字 ペイロード JSON形式のダッシュボード設定で、ウィジェット定義、レイアウト情報、クエリ設定、可視化オプションを含みます。 Result 型 説明 item Dashboard 更新したダッシュボード 実装例 duplicateDashboard ダッシュボードを複製 指定されたダッシュボードのペイロード（レイアウトとウィジェット定義）を含む全設定のコピーを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dashboardName string  UUID ~ 36文字 ダッシュボード名 Result 型 説明 item Dashboard 作成したダッシュボード 実装例 deleteDashboard ダッシュボードを削除 指定されたダッシュボードとその全設定を完全に削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 dashboardName string  UUID ~ 36文字 ダッシュボード名 Result 型 説明 item Dashboard 削除したダッシュボード 実装例 describeFacetModels ファセットモデルの一覧を取得 指定されたネームスペースのファセットモデルのページネーション付きリストを取得します。 ファセットモデルはログクエリ用のカスタム分類フィールドを定義し、フィールド名、タイプ（string または measure）、表示名、並び順を指定します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 ファセットモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ファセットモデルのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createFacetModel ファセットモデルを新規作成 指定されたフィールド名、タイプ、表示名、並び順で新しいファセットモデルを作成します。 フィールドタイプは、カテゴリ分類用の ‘string’ またはログクエリでの数値集計用の ‘measure’ を指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 field string  ~ 128文字 ファセットのフィールド名 このファセットが対象とするログフィールドの名前です（例：“service”、“method”、“status”）。 type 文字列列挙型 enum {   “string”,   “double”,   “measure” }  ファセットのデータ型 ファセットフィールドのデータ型です。“string” は値のカウント付きカテゴリ値、“double” は範囲フィルタリング付き数値、“measure” は統計分析付き測定値に使用します。 定義 説明 “string” 文字列 “double” 数値 “measure” 測定値 displayName string  ~ 128文字 表示用の名前 このファセットの人間が読める名前で、ログ検索UIに表示されます。 order int 0 0 ~ 100000 表示順 UIでこのファセットを表示する際の並び順です。値が小さいほど先に表示されます。 Result 型 説明 item FacetModel 作成したファセットモデル 実装例 getFacetModel ファセットモデルを取得 指定されたファセットモデルのフィールド名、タイプ、表示名、並び順を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 field string  ~ 128文字 ファセットのフィールド名 このファセットが対象とするログフィールドの名前です（例：“service”、“method”、“status”）。 Result 型 説明 item FacetModel ファセットモデル 実装例 updateFacetModel ファセットモデルを更新 指定されたファセットモデルのタイプ、表示名、並び順を更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 field string  ~ 128文字 ファセットのフィールド名 このファセットが対象とするログフィールドの名前です（例：“service”、“method”、“status”）。 type 文字列列挙型 enum {   “string”,   “double”,   “measure” }  ファセットのデータ型 ファセットフィールドのデータ型です。“string” は値のカウント付きカテゴリ値、“double” は範囲フィルタリング付き数値、“measure” は統計分析付き測定値に使用します。 定義 説明 “string” 文字列 “double” 数値 “measure” 測定値 displayName string  ~ 128文字 表示用の名前 このファセットの人間が読める名前で、ログ検索UIに表示されます。 order int 0 0 ~ 100000 表示順 UIでこのファセットを表示する際の並び順です。値が小さいほど先に表示されます。 Result 型 説明 item FacetModel 更新したファセットモデル 実装例 deleteFacetModel ファセットモデルを削除 指定されたファセットモデルを削除します。削除されたファセットモデルはログクエリでの分類に使用できなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 field string  ~ 128文字 ファセットのフィールド名 このファセットが対象とするログフィールドの名前です（例：“service”、“method”、“status”）。 Result 型 説明 item FacetModel 削除したファセットモデル 実装例 queryMetricsTimeseries タイムシリーズクエリ(Metrics) 設定可能な集計、グループ化、間隔でメトリクスからタイムシリーズデータをクエリします。 複数の集計設定、多次元分析のための groupBy ラベル、値または名前による昇順/降順のソートをサポートします。データポイントの最大数は1500で、この制限を超えるリクエストは拒否されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 query string ~ 10240文字 検索クエリ文字列 groupBy List [] 0 ~ 10 items グループ化するフィールド aggregations List [] 0 ~ 10 items 集計設定のリスト interval int 60000 1000 ~ 86400000 集計間隔（ミリ秒） seriesLimit int 10 1 ~ 1000 取得するシリーズ数 orderKey 文字列列挙型 enum {   “value”,   “name” } “value” 並び替えキー 定義 説明 “value” 値 “name” 名前 orderBy 文字列列挙型 enum {   “asc”,   “desc” } “desc” 並び順 定義 説明 “asc” 昇順 “desc” 降順 Result 型 説明 items List タイムシリーズ値のリスト timeseriesMetadata TimeseriesMetadata タイムシリーズのメタデータ 実装例 describeMetrics メトリクスモデルの一覧を取得 指定されたネームスペースで利用可能なメトリクスモデルのページネーション付きリストを取得します。 メトリクスモデルはタイムシリーズAPIでクエリ可能な組み込みメトリクスを定義します。名前の接頭辞でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 メトリクスモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List メトリクスモデルのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeLabelValues 特定のメトリクスのラベル値の一覧を取得 特定のメトリクスの利用可能なラベル値を取得します。 ラベル値はタイムシリーズクエリの groupBy フィールドやフィルターとして使用できます。ラベル名の接頭辞でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metricName string  ~ 128文字 フィルター対象のメトリクス名 labelNamePrefix string ~ 64文字 ラベル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ラベル値のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 queryLog ログエントリをクエリ（v2） v2 ログクエリAPIを使用してログエントリをクエリします。全文検索によるフィルタリングが可能です。 クエリ文字列によるフィルタリングをサポートし、総エントリ数を返します（10000件を超える場合は10001が返されます）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 query string ~ 10240文字 検索クエリ文字列 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List アクセスログのリスト totalEntryCount int クエリ結果の総件数 10000件を超える場合は10001が返却されます nextPageToken string リストの続きを取得するためのページトークン 実装例 getLog リクエストIDを指定してログエントリを取得 指定された時間範囲内の特定のログエントリをリクエストIDで取得します。 リクエストIDは単一のAPI呼び出しログエントリを一意に識別します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 logRequestId string  ~ 128文字 リクエストID begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 Result 型 説明 item LogEntry アクセスログ 実装例 queryFacets ファセットクエリ 指定された時間範囲内のログエントリのファセット（分類）データを取得します。 組み込みファセット（service、function、status、duration）とネームスペースに定義されたカスタムファセットモデルの両方を返します。クエリ文字列によるフィルタリングでファセットの範囲を絞り込めます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 query string ~ 10240文字 検索クエリ文字列 Result 型 説明 items List ファセットのリスト 実装例 queryTimeseries タイムシリーズクエリ(Log) 設定可能な集計、グループ化、間隔でログエントリからタイムシリーズデータをクエリします。 多次元分析のための groupBy フィールドと単一の集計設定をサポートします。データポイントの最大数は1500で、この制限を超えるリクエストは拒否されます。結果はページネーション可能で、シリーズ数を制限できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 query string ~ 10240文字 検索クエリ文字列 groupBy List [] 0 ~ 10 items グループ化するフィールド aggregation AggregationConfig  集計設定 interval int 60000 1000 ~ 86400000 集計間隔（ミリ秒） seriesLimit int 10 1 ~ 1000 取得するシリーズ数 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List タイムシリーズ値のリスト timeseriesMetadata TimeseriesMetadata タイムシリーズのメタデータ nextPageToken string リストの続きを取得するためのページトークン 実装例 getTrace トレースIDを指定してトレースを取得 指定された時間範囲内のトレースとそれに関連するログエントリをトレースIDで取得します。 メイントレースと並列実行されたトレースを返し、パラレルリストが切り捨てられたかどうかを示すフラグが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 traceId string  UUID ~ 36文字 トレースID このトレースの一意の識別子で、リクエストフロー内のすべての関連ログエントリ（スパン）で共有されます。 begin long 現在時刻から1時間前の絶対時刻 検索範囲開始日時 end long 現在時刻 検索範囲終了日時 Result 型 説明 trace Trace トレース parallels List 並列実行されていたトレースのリスト parallelTruncated bool パラレルリストが切り捨てられたかどうかを示します 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Log SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Log SDK API リファレンス","url":"/ja/api_reference/log/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 このネームスペース内で報酬トランザクションがどのように実行されるかの設定。 receiveScript ScriptSetting 報酬を受け取るときに実行するスクリプトの設定 Script トリガーリファレンス - receive logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、ログインボーナスの操作（受け取り、取り逃がし救済など）がモニタリングと分析のためにログ出力されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHub チェックアウト設定 GitHub リポジトリからマスターデータを直接取得するための設定。 リポジトリ、ファイルパス、ソース参照（コミットハッシュ、ブランチ、またはタグ）を指定して、マスターデータの JSON ファイルを自動的に取得・適用できます。 GitHub API との認証には GS2-Key の GitHub API キーが必要です。 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 ReceiveStatus 受け取り状態 ユーザーごと・ボーナスモデルごとのログインボーナスの受け取り状態を追跡します。 各エントリがその日の報酬を受け取り済みかどうかを示す真偽値の配列（receivedSteps）を保持します。 また、日次の受け取り資格を判定するために、最後にボーナスを受け取った時刻（lastReceivedAt）を記録します。 receivedSteps はボーナスサイクルの再開時（ストリーミングモードの繰り返し有効時など）にリセットされることがあります。 詳細  receiveStatusId string ※ ~ 1024文字 ログインボーナス受け取り状態 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 bonusModelName string  ~ 128文字 ボーナスモデル名 この受け取り状態が紐づくログインボーナスモデルの名前。 ユーザーの受け取り進捗を特定のボーナスモデル定義に関連づけ、どの報酬リストと配布ルールが適用されるかを決定します。 userId string  ~ 128文字 ユーザーID receivedSteps List [] 0 ~ 100 items 受け取りステップ 報酬リストの各日に対応する順序付きの真偽値配列。 true はユーザーがその日の報酬を受け取り済みであることを示し、false は取り逃がしたか未受け取りであることを示します。 配列のインデックスは関連する BonusModel の rewards 配列と対応します。 ストリーミングモードで繰り返しが有効な場合、サイクルの再開時にこの配列はリセットされます。 lastReceivedAt long 最終受け取り時刻 ユーザーが最後にログインボーナスを受け取った時刻のタイムスタンプ。 ボーナスモデルで定義されたリセット時間に基づき、ユーザーが本日のボーナスを既に受け取り済みかどうかを判定するために使用されます。 受け取り状態がクリアされた際（繰り返しモードでのサイクル再開時など）に 0 にリセットされます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン BonusModel ログインボーナスモデル ログインボーナスモデルにはログインボーナスの配布スケジュールを設定します。 配布スケジュールには《スケジュールモード》と《ストリーミングモード》があります。 スケジュールモードでは、GS2-Schedule のイベントの指定が必須で、そのイベントの開始日からの経過日数でボーナスの配布を行います。 途中で撮り逃しが発生した場合、その分のボーナスは配布されません。 ストリーミングモードでは、毎日ボーナスに設定された報酬を先頭から順番に配布します。 ストリーミングモードでは繰り返しの設定が可能です。その場合、ストリームの終端に達した場合、先頭から再度配布を行います。 スケジュールモード・ストリーミングモード 共に、取り逃がしの救済機能があります。 一定のコストを支払うことで、取り逃がしたボーナスを受け取ることができます。 ただし、GS2-Schedule のイベントが関連づけられている場合、イベントの開始日からの経過日数より先のボーナスは受け取ることができません。 取り逃がし機能はストリーミングモードかつ繰り返しが有効な場合は使用することができません。 スケジュールモード・ストリーミングモード 共に、設定可能なボーナスの最大日数は100日です。 詳細  bonusModelId string ※ ~ 1024文字 ログインボーナスモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 mode 文字列列挙型 enum {   “schedule”,   “streaming” }  モード ログインボーナスの配布スケジュールの種類を指定します。 「schedule」モードでは、GS2-Schedule のイベント開始日からの経過日数に基づいて報酬が配布されます。 「streaming」モードでは、カレンダーの日付に関係なく、毎日先頭から順番に報酬が配布されます。 定義 説明 “schedule” スケジュールモード “streaming” ストリーミングモード periodEventId string ~ 1024文字 期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ログインボーナスを有効化する期間を表す GS2-Schedule のイベントGRN。 スケジュールモードでは必須で、報酬配布の経過日数を計算する起点の開始日を決定します。 ストリーミングモードでは省略可能ですが、指定した場合はイベント開始日からの経過日数より先のボーナスは受け取れなくなります。 resetHour int {periodEventId} == \"\" ※ 0 ~ 23 リセット時間（UTC） 受け取りフラグがリセットされる時刻（0-23、UTC）。 ログインボーナスにおける日付の切り替わりタイミングを決定します。 periodEventId が未指定の場合にのみ必要です。イベントが設定されている場合、リセットタイミングはイベントのスケジュールに従います。 ※ periodEventId が \"\" であれば 必須 repeat 文字列列挙型 enum {   “enabled”,   “disabled” } {mode} == “streaming” ※ 繰り返し 全ての報酬を配布し終えた後に、先頭から再度配布を行うかどうか。 ストリーミングモードでのみ有効です。有効にすると、最後の報酬を配布した後に最初の報酬に戻ってループします。 注意: 繰り返しが有効な場合、取り逃がし救済機能は使用できません。 定義 説明 “enabled” 有効 “disabled” 無効 ※ mode が “streaming” であれば 必須 rewards List 0 ~ 100 items 報酬リスト 日毎の報酬の順序付きリスト。各エントリは1日分のログインボーナスに対応し、インデックス 0 から順に配布されます。 スケジュールモードでは、インデックスはイベント開始日からの経過日数に対応します。 ストリーミングモードでは、インデックスはログイン日数に対応します。最大100エントリまで設定可能です。 missedReceiveRelief 文字列列挙型 enum {   “enabled”,   “disabled” } “disabled” 取り逃がし救済機能 取り逃がしたボーナスの救済機能を有効にするかどうか。有効にすると、ユーザーは指定されたコスト（消費アクション）を支払うことで、受け取り損ねたボーナスを遡って受け取ることができます。 任意で、救済の許可前に条件を確認する検証アクションも設定できます。 ストリーミングモードかつ繰り返しが有効な場合は使用できません。デフォルトは「disabled」です。 定義 説明 “enabled” 有効 “disabled” 無効 missedReceiveReliefVerifyActions List {missedReceiveRelief} == “enabled” [] 0 ~ 10 items 取り逃がし救済の検証アクションリスト 取り逃がし救済を許可する前に実行される検証アクションのリスト。 救済処理の前にユーザーの資格などの前提条件をチェックします。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば 有効 missedReceiveReliefConsumeActions List {missedReceiveRelief} == “enabled” [] 0 ~ 10 items 取り逃がし救済の消費アクションリスト 取り逃がしたボーナスを救済するためにユーザーが支払うコストを定義する消費アクションのリスト。 例えば、ゲーム内通貨やアイテムを救済コストとして消費するよう設定できます。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば 有効 Reward 報酬 ログインボーナスの1日分の報酬設定を表します。 各 Reward にはユーザーが受け取るもの（アイテム、通貨、経験値など）を定義する入手アクションのリストが含まれます。 BonusModel の rewards 配列は1日あたり1つの Reward を保持し、順番に配布されます。 報酬の値はバフシステム（BonusModelBuff）を通じて実行時に変更でき、入手アクションにレート乗数を適用できます。 詳細  acquireActions List  1 ~ 10 items 入手アクションリスト この日の報酬としてユーザーに付与されるリソースを定義する入手アクションのリスト。 各アクションは入手アクション（アイテム追加、通貨付与など）とそのリクエストパラメータを指定します。 報酬あたり最低1個、最大10個のアクションを設定できます。 ConsumeAction 消費アクション 消費アクションの仕組みを通じてユーザーからリソースを消費するアクションを定義します。 取り逃がしボーナスの救済でユーザーが支払うコスト（通貨の差し引き、アイテムの消費など）を指定するために使用されます。 action フィールドは消費アクションの種類を指定し、request フィールドには対応するリクエストパラメータが含まれます。 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 AcquireAction 入手アクション 入手アクションの仕組みを通じてユーザーにリソースを付与するアクションを定義します。 報酬内で使用され、ユーザーが受け取るもの（インベントリへのアイテム追加、通貨の付与、経験値の付与など）を指定します。 action フィールドは入手アクションの種類を指定し、request フィールドには対応するリクエストパラメータが含まれます。 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション 操作の実行前に条件を検証するアクションを定義します。 取り逃がしボーナスの救済で、救済を許可する前に前提条件（ユーザーの資格、リソースの利用可能性など）を確認するために使用されます。 action フィールドは検証アクションの種類を指定し、request フィールドには対応するリクエストパラメータが含まれます。 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 Config コンフィグ設定 トランザクションの変数に適用する設定値のキーバリューペア。 Config エントリにより、実行時に入手アクションの動的なパラメータ化が可能になります。 例えば、スロット名やその他のコンテキスト依存の値を Config 設定を通じてトランザクションリクエストに注入でき、 マスターデータを変更することなく柔軟な報酬設定を実現できます。 詳細  key string  ~ 64文字 キー トランザクションパラメータ内で置換される変数名。最大64文字。 value string ~ 51200文字 値 トランザクションパラメータ内で対応するキーに代入される値。最大51,200文字。 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか CurrentBonusMaster 現在アクティブなログインボーナスモデルのマスターデータ 現在ネームスペース内で有効な、ログインボーナスモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-LoginReward マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ BonusModelMaster ログインボーナスモデルマスター ログインボーナスモデルマスターは、ゲーム内で使用されるログインボーナスモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるログインボーナスモデルとして反映されます。 ログインボーナスモデルにはログインボーナスの配布スケジュールを設定します。 配布スケジュールには《スケジュールモード》と《ストリーミングモード》があります。 スケジュールモードでは、GS2-Schedule のイベントの指定が必須で、そのイベントの開始日からの経過日数でボーナスの配布を行います。 途中で撮り逃しが発生した場合、その分のボーナスは配布されません。 ストリーミングモードでは、毎日ボーナスに設定された報酬を先頭から順番に配布します。 ストリーミングモードでは繰り返しの設定が可能です。その場合、ストリームの終端に達した場合、先頭から再度配布を行います。 スケジュールモード・ストリーミングモード 共に、取り逃がしの救済機能があります。 一定のコストを支払うことで、取り逃がしたボーナスを受け取ることができます。 ただし、GS2-Schedule のイベントが関連づけられている場合、イベントの開始日からの経過日数より先のボーナスは受け取ることができません。 取り逃がし機能はストリーミングモードかつ繰り返しが有効な場合は使用することができません。 スケジュールモード・ストリーミングモード 共に、設定可能なボーナスの最大日数は100日です。 詳細  bonusModelId string ※ ~ 1024文字 ログインボーナスモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 mode 文字列列挙型 enum {   “schedule”,   “streaming” }  モード ログインボーナスの配布スケジュールの種類を指定します。 「schedule」モードでは、GS2-Schedule のイベント開始日からの経過日数に基づいて報酬が配布されます。 「streaming」モードでは、カレンダーの日付に関係なく、毎日先頭から順番に報酬が配布されます。 定義 説明 “schedule” スケジュールモード “streaming” ストリーミングモード periodEventId string ~ 1024文字 期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ログインボーナスを有効化する期間を表す GS2-Schedule のイベントGRN。 スケジュールモードでは必須で、報酬配布の経過日数を計算する起点の開始日を決定します。 ストリーミングモードでは省略可能ですが、指定した場合はイベント開始日からの経過日数より先のボーナスは受け取れなくなります。 resetHour int {periodEventId} == \"\" ※ 0 ~ 23 リセット時間（UTC） 受け取りフラグがリセットされる時刻（0-23、UTC）。 ログインボーナスにおける日付の切り替わりタイミングを決定します。 periodEventId が未指定の場合にのみ必要です。イベントが設定されている場合、リセットタイミングはイベントのスケジュールに従います。 ※ periodEventId が \"\" であれば 必須 repeat 文字列列挙型 enum {   “enabled”,   “disabled” } {mode} == “streaming” ※ 繰り返し 全ての報酬を配布し終えた後に、先頭から再度配布を行うかどうか。 ストリーミングモードでのみ有効です。有効にすると、最後の報酬を配布した後に最初の報酬に戻ってループします。 注意: 繰り返しが有効な場合、取り逃がし救済機能は使用できません。 定義 説明 “enabled” 有効 “disabled” 無効 ※ mode が “streaming” であれば 必須 rewards List 0 ~ 100 items 報酬リスト 日毎の報酬の順序付きリスト。各エントリは1日分のログインボーナスに対応し、インデックス 0 から順に配布されます。 スケジュールモードでは、インデックスはイベント開始日からの経過日数に対応します。 ストリーミングモードでは、インデックスはログイン日数に対応します。最大100エントリまで設定可能です。 missedReceiveRelief 文字列列挙型 enum {   “enabled”,   “disabled” } “disabled” 取り逃がし救済機能 取り逃がしたボーナスの救済機能を有効にするかどうか。有効にすると、ユーザーは指定されたコスト（消費アクション）を支払うことで、受け取り損ねたボーナスを遡って受け取ることができます。 任意で、救済の許可前に条件を確認する検証アクションも設定できます。 ストリーミングモードかつ繰り返しが有効な場合は使用できません。デフォルトは「disabled」です。 定義 説明 “enabled” 有効 “disabled” 無効 missedReceiveReliefVerifyActions List {missedReceiveRelief} == “enabled” 0 ~ 10 items 取り逃がし救済の検証アクションリスト 取り逃がし救済を許可する前に実行される検証アクションのリスト。 救済処理の前にユーザーの資格などの前提条件をチェックします。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば 有効 missedReceiveReliefConsumeActions List {missedReceiveRelief} == “enabled” 0 ~ 10 items 取り逃がし救済の消費アクションリスト 取り逃がしたボーナスを救済するためにユーザーが支払うコストを定義する消費アクションのリスト。 例えば、ゲーム内通貨やアイテムを救済コストとして消費するよう設定できます。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば 有効 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 このネームスペース内で報酬トランザクションがどのように実行されるかの設定。 receiveScript ScriptSetting 報酬を受け取るときに実行するスクリプトの設定 Script トリガーリファレンス - receive logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、ログインボーナスの操作（受け取り、取り逃がし救済など）がモニタリングと分析のためにログ出力されます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 このネームスペース内で報酬トランザクションがどのように実行されるかの設定。 receiveScript ScriptSetting 報酬を受け取るときに実行するスクリプトの設定 Script トリガーリファレンス - receive logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、ログインボーナスの操作（受け取り、取り逃がし救済など）がモニタリングと分析のためにログ出力されます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 receive ログインボーナスを受け取る 指定されたボーナスモデルに基づいて、リクエストしたユーザーのログインボーナスを受け取ります。 ボーナスはステップを通じて進行し、現在のステップの報酬がトランザクションとして発行されます。報酬サイクルが完了しリピートが有効な場合、サイクルは自動的にリセットされます。現在の期間のボーナスが既に受け取り済みの場合、AlreadyReceived エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item ReceiveStatus 受け取り状態 bonusModel BonusModel ログインボーナスモデル transactionId string 発行されたトランザクションID stampSheet string ログインボーナスの受け取りの実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 receiveByUserId ユーザーIDを指定してログインボーナスを受け取る 指定されたユーザーのログインボーナスをボーナスモデルに基づいて受け取ります。 ボーナスはステップを通じて進行し、現在のステップの報酬がトランザクションとして発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ReceiveStatus 受け取り状態 bonusModel BonusModel ログインボーナスモデル transactionId string 発行されたトランザクションID stampSheet string ログインボーナスの受け取りの実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 missedReceive 取り損ねたログインボーナスを受け取る リクエストしたユーザーの取り損ねたログインボーナスを受け取ります。 ボーナスモデルで取り損ね救済機能が有効になっている必要があります。CUMULATIVE モードではステップ番号を自動計算できますが、SCHEDULE モードではステップ番号の指定が必要です。取り損ねた報酬はトランザクションとして発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン stepNumber int 0 ~ 100 受け取るステップ番号 ストリーミングモードでは省略が可能です config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item ReceiveStatus 受け取り状態 bonusModel BonusModel ログインボーナスモデル transactionId string 発行されたトランザクションID stampSheet string ログインボーナスの受け取りの実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 missedReceiveByUserId ユーザーIDを指定して取り損ねたログインボーナスを受け取る 指定されたユーザーの取り損ねたログインボーナスを受け取ります。 ボーナスモデルで取り損ね救済機能が有効になっている必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID stepNumber int 0 ~ 100 受け取るステップ番号 ストリーミングモードでは省略が可能です config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ReceiveStatus 受け取り状態 bonusModel BonusModel ログインボーナスモデル transactionId string 発行されたトランザクションID stampSheet string ログインボーナスの受け取りの実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 describeReceiveStatuses 受け取り状態一覧を取得 リクエストしたユーザーのログインボーナス受け取り状態のページネーション付きリストを取得します。 各状態は特定のボーナスモデルに対して、どのステップが受け取り済みかと現在の進捗を追跡します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 受け取り状態のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeReceiveStatusesByUserId ユーザーIDを指定して受け取り状態一覧を取得 指定されたユーザーのログインボーナス受け取り状態のページネーション付きリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 受け取り状態のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getReceiveStatus 受け取り状態を取得 リクエストしたユーザーの指定されたボーナスモデルの受け取り状態を取得します。 現在のステップ進捗、受け取り済みステップ、および関連するボーナスモデルの詳細を返します。報酬サイクルが完了しリピートが有効な場合、状態は自動的にリセットされます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ボーナスモデル名 この受け取り状態が紐づくログインボーナスモデルの名前。 ユーザーの受け取り進捗を特定のボーナスモデル定義に関連づけ、どの報酬リストと配布ルールが適用されるかを決定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item ReceiveStatus 受け取り状態 bonusModel BonusModel ログインボーナスモデル 実装例 getReceiveStatusByUserId ユーザーIDを指定して受け取り状態を取得 指定されたユーザーのボーナスモデルの受け取り状態を取得します。ステップ進捗と受け取り済みステップを含みます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ボーナスモデル名 この受け取り状態が紐づくログインボーナスモデルの名前。 ユーザーの受け取り進捗を特定のボーナスモデル定義に関連づけ、どの報酬リストと配布ルールが適用されるかを決定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ReceiveStatus 受け取り状態 bonusModel BonusModel ログインボーナスモデル 実装例 deleteReceiveStatusByUserId ユーザーIDを指定して受け取り状態のリセット 指定されたユーザーのボーナスモデルの受け取り状態データを全て削除し、ボーナスの進捗を完全にリセットします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ボーナスモデル名 この受け取り状態が紐づくログインボーナスモデルの名前。 ユーザーの受け取り進捗を特定のボーナスモデル定義に関連づけ、どの報酬リストと配布ルールが適用されるかを決定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ReceiveStatus 受け取り状態 bonusModel BonusModel ログインボーナスモデル 実装例 markReceived 受け取り済み化 リクエストしたユーザーのボーナスモデルで特定のステップを手動で受け取り済みにマークします。 受け取り済みステップのビット配列を更新します。指定されたステップが既に受け取り済みの場合、エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ボーナスモデル名 この受け取り状態が紐づくログインボーナスモデルの名前。 ユーザーの受け取り進捗を特定のボーナスモデル定義に関連づけ、どの報酬リストと配布ルールが適用されるかを決定します。 accessToken string  ~ 128文字 アクセストークン stepNumber int  0 ~ 100 ステップ番号 Result 型 説明 item ReceiveStatus 受け取り状態 bonusModel BonusModel ログインボーナスモデル 実装例 markReceivedByUserId ユーザーIDを指定して受け取り済み化 指定されたユーザーのボーナスモデルで特定のステップを手動で受け取り済みにマークします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ボーナスモデル名 この受け取り状態が紐づくログインボーナスモデルの名前。 ユーザーの受け取り進捗を特定のボーナスモデル定義に関連づけ、どの報酬リストと配布ルールが適用されるかを決定します。 userId string  ~ 128文字 ユーザーID stepNumber int  0 ~ 100 ステップ番号 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ReceiveStatus 受け取り状態 bonusModel BonusModel ログインボーナスモデル 実装例 unmarkReceivedByUserId ユーザーIDを指定して未受け取り化 指定されたユーザーのボーナスモデルで、受け取り済みにマークされたステップを未受け取りに戻します。 指定されたステップが受け取り済みでない場合、エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ボーナスモデル名 この受け取り状態が紐づくログインボーナスモデルの名前。 ユーザーの受け取り進捗を特定のボーナスモデル定義に関連づけ、どの報酬リストと配布ルールが適用されるかを決定します。 userId string  ~ 128文字 ユーザーID stepNumber int  0 ~ 100 ステップ番号 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ReceiveStatus 受け取り状態 bonusModel BonusModel ログインボーナスモデル 実装例 describeBonusModels ログインボーナスモデルの一覧を取得 指定されたネームスペースの現在アクティブなログインボーナスモデルの一覧を取得します。 モデルはボーナスモード（CUMULATIVE または SCHEDULE）、リセットタイミング、リピート設定、報酬シーケンスを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List ログインボーナスモデルのリスト 実装例 getBonusModel ログインボーナスモデルを取得 指定されたログインボーナスモデルのモード、リセットタイミング、リピート設定、報酬リスト、取り損ね救済設定を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BonusModel ログインボーナスモデル 実装例 exportMaster ログインボーナスモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在アクティブなログインボーナスモデルマスターを有効化可能な形式でエクスポートします。 エクスポートされたデータは、他のネームスペースのマスターデータ更新やバックアップとして使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentBonusMaster 有効化可能なログインボーナスモデルのマスターデータ 実装例 getCurrentBonusMaster 現在アクティブなログインボーナスモデルのマスターデータを取得 指定されたネームスペースの現在アクティブなログインボーナスモデルのマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentBonusMaster 現在アクティブなログインボーナスモデルのマスターデータ 実装例 preUpdateCurrentBonusMaster 現在アクティブなログインボーナスモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentBonusMaster 現在アクティブなログインボーナスモデルのマスターデータを更新 現在アクティブなログインボーナスモデルのマスターデータを更新します。 2つのモードをサポートします：インライン設定用の ‘direct’ モードと、3フェーズ更新プロセスで事前にアップロードした設定を適用する ‘preUpload’ モードです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentBonusMaster 更新された現在アクティブなログインボーナスモデルのマスターデータ 実装例 updateCurrentBonusMasterFromGitHub 現在アクティブなログインボーナスモデルのマスターデータをGitHubから更新 指定された GitHub リポジトリからマスターデータを取得して、現在アクティブなログインボーナスモデルのマスターデータを更新します。 GS2-Key に保存された API キーが認証に使用され、チェックアウトするブランチ、タグ、またはコミットハッシュを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentBonusMaster 更新された現在アクティブなログインボーナスモデルのマスターデータ 実装例 describeBonusModelMasters ログインボーナスモデルマスターの一覧を取得 指定されたネームスペースのログインボーナスモデルマスターのページネーション付きリストを取得します。 名前の接頭辞でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 ログインボーナスモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ログインボーナスモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createBonusModelMaster ログインボーナスモデルマスターを新規作成 指定された設定で新しいログインボーナスモデルマスターを作成します。 モードは CUMULATIVE（連続日次ボーナス）または SCHEDULE（イベント期間ベースのボーナス）を指定できます。リセット時間、リピート動作、報酬シーケンス、および検証/消費アクション付きの取り損ね救済を設定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 mode 文字列列挙型 enum {   “schedule”,   “streaming” }  モード ログインボーナスの配布スケジュールの種類を指定します。 「schedule」モードでは、GS2-Schedule のイベント開始日からの経過日数に基づいて報酬が配布されます。 「streaming」モードでは、カレンダーの日付に関係なく、毎日先頭から順番に報酬が配布されます。 定義 説明 “schedule” スケジュールモード “streaming” ストリーミングモード periodEventId string ~ 1024文字 期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN resetHour int {periodEventId} == \"\" ※ 0 ~ 23 リセット時間（UTC） 受け取りフラグがリセットされる時刻（0-23、UTC）。 ログインボーナスにおける日付の切り替わりタイミングを決定します。 periodEventId が未指定の場合にのみ必要です。イベントが設定されている場合、リセットタイミングはイベントのスケジュールに従います。 ※ periodEventId が \"\" であれば必須 repeat 文字列列挙型 enum {   “enabled”,   “disabled” } {mode} == “streaming” ※ 繰り返し 全ての報酬を配布し終えた後に、先頭から再度配布を行うかどうか。 ストリーミングモードでのみ有効です。有効にすると、最後の報酬を配布した後に最初の報酬に戻ってループします。 注意: 繰り返しが有効な場合、取り逃がし救済機能は使用できません。 定義 説明 “enabled” 有効 “disabled” 無効 ※ mode が “streaming” であれば必須 rewards List 0 ~ 100 items 報酬リスト 日毎の報酬の順序付きリスト。各エントリは1日分のログインボーナスに対応し、インデックス 0 から順に配布されます。 スケジュールモードでは、インデックスはイベント開始日からの経過日数に対応します。 ストリーミングモードでは、インデックスはログイン日数に対応します。最大100エントリまで設定可能です。 missedReceiveRelief 文字列列挙型 enum {   “enabled”,   “disabled” } “disabled” 取り逃がし救済機能 取り逃がしたボーナスの救済機能を有効にするかどうか。有効にすると、ユーザーは指定されたコスト（消費アクション）を支払うことで、受け取り損ねたボーナスを遡って受け取ることができます。 任意で、救済の許可前に条件を確認する検証アクションも設定できます。 ストリーミングモードかつ繰り返しが有効な場合は使用できません。デフォルトは「disabled」です。 定義 説明 “enabled” 有効 “disabled” 無効 missedReceiveReliefVerifyActions List {missedReceiveRelief} == “enabled” 0 ~ 10 items 取り逃がし救済の検証アクションリスト 取り逃がし救済を許可する前に実行される検証アクションのリスト。 救済処理の前にユーザーの資格などの前提条件をチェックします。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば有効 missedReceiveReliefConsumeActions List {missedReceiveRelief} == “enabled” 0 ~ 10 items 取り逃がし救済の消費アクションリスト 取り逃がしたボーナスを救済するためにユーザーが支払うコストを定義する消費アクションのリスト。 例えば、ゲーム内通貨やアイテムを救済コストとして消費するよう設定できます。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば有効 Result 型 説明 item BonusModelMaster 作成したログインボーナスモデルマスター 実装例 getBonusModelMaster ログインボーナスモデルマスターを取得 指定されたログインボーナスモデルマスターのモード、リセットタイミング、リピート設定、報酬リスト、取り損ね救済設定を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BonusModelMaster ログインボーナスモデルマスター 実装例 updateBonusModelMaster ログインボーナスモデルマスターを更新 指定されたログインボーナスモデルマスターを更新します。説明、メタデータ、モード、リセットタイミング、リピート設定、報酬シーケンス、取り損ね救済設定を変更できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 mode 文字列列挙型 enum {   “schedule”,   “streaming” }  モード ログインボーナスの配布スケジュールの種類を指定します。 「schedule」モードでは、GS2-Schedule のイベント開始日からの経過日数に基づいて報酬が配布されます。 「streaming」モードでは、カレンダーの日付に関係なく、毎日先頭から順番に報酬が配布されます。 定義 説明 “schedule” スケジュールモード “streaming” ストリーミングモード periodEventId string ~ 1024文字 期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN resetHour int {periodEventId} == \"\" ※ 0 ~ 23 リセット時間（UTC） 受け取りフラグがリセットされる時刻（0-23、UTC）。 ログインボーナスにおける日付の切り替わりタイミングを決定します。 periodEventId が未指定の場合にのみ必要です。イベントが設定されている場合、リセットタイミングはイベントのスケジュールに従います。 ※ periodEventId が \"\" であれば必須 repeat 文字列列挙型 enum {   “enabled”,   “disabled” } {mode} == “streaming” ※ 繰り返し 全ての報酬を配布し終えた後に、先頭から再度配布を行うかどうか。 ストリーミングモードでのみ有効です。有効にすると、最後の報酬を配布した後に最初の報酬に戻ってループします。 注意: 繰り返しが有効な場合、取り逃がし救済機能は使用できません。 定義 説明 “enabled” 有効 “disabled” 無効 ※ mode が “streaming” であれば必須 rewards List 0 ~ 100 items 報酬リスト 日毎の報酬の順序付きリスト。各エントリは1日分のログインボーナスに対応し、インデックス 0 から順に配布されます。 スケジュールモードでは、インデックスはイベント開始日からの経過日数に対応します。 ストリーミングモードでは、インデックスはログイン日数に対応します。最大100エントリまで設定可能です。 missedReceiveRelief 文字列列挙型 enum {   “enabled”,   “disabled” } “disabled” 取り逃がし救済機能 取り逃がしたボーナスの救済機能を有効にするかどうか。有効にすると、ユーザーは指定されたコスト（消費アクション）を支払うことで、受け取り損ねたボーナスを遡って受け取ることができます。 任意で、救済の許可前に条件を確認する検証アクションも設定できます。 ストリーミングモードかつ繰り返しが有効な場合は使用できません。デフォルトは「disabled」です。 定義 説明 “enabled” 有効 “disabled” 無効 missedReceiveReliefVerifyActions List {missedReceiveRelief} == “enabled” 0 ~ 10 items 取り逃がし救済の検証アクションリスト 取り逃がし救済を許可する前に実行される検証アクションのリスト。 救済処理の前にユーザーの資格などの前提条件をチェックします。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば有効 missedReceiveReliefConsumeActions List {missedReceiveRelief} == “enabled” 0 ~ 10 items 取り逃がし救済の消費アクションリスト 取り逃がしたボーナスを救済するためにユーザーが支払うコストを定義する消費アクションのリスト。 例えば、ゲーム内通貨やアイテムを救済コストとして消費するよう設定できます。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば有効 Result 型 説明 item BonusModelMaster 更新したログインボーナスモデルマスター 実装例 deleteBonusModelMaster ログインボーナスモデルマスターを削除 指定されたログインボーナスモデルマスターを削除します。 次のマスターデータ更新まで、現在アクティブなマスターデータには影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item BonusModelMaster 削除したログインボーナスモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-LoginReward SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-LoginReward SDK API リファレンス","url":"/ja/api_reference/login_reward/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 抽選操作時のトランザクションの処理方法を制御する設定です。抽選では入手アクションを通じてユーザーに景品を付与するトランザクションが発行されます。 lotteryTriggerScriptId string ~ 1024文字 抽選を実行した際に呼び出される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - lottery logSetting LogSetting ログの出力設定 抽選操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のために抽選結果、景品配布、ボックスガチャの状態追跡に便利です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 PrizeTable 排出確率テーブル 景品には、入手アクションを指定するか、別の排出確率テーブルを参照させることもできます。 排出確率テーブルを入れ子にすることで、たとえば 1段目で SSR / SR / R などのレアリティを抽選し、2段目でそのレアリティに対応した具体的なコンテンツを抽選するといった設定が可能です。 この仕組みにより、ゲーム全体としてのレアリティ別排出確率を調整しやすくなります。 詳細  prizeTableId string ※ ~ 1024文字 排出確率テーブル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 排出確率テーブル名 排出確率テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 prizes List  1 ~ 100 items 景品リスト この排出確率テーブル内の景品リストです。各景品は排出重み（確率）、排出時に実行するアクション、およびオプションの排出回数制限を定義します。各景品の実際の排出確率は、その重みをテーブル内の全景品の重みの合計で割って算出されます。 Probability 排出確率 特定の景品の算出された排出確率を表します。確率は排出確率テーブル内の全景品の重みの合計に対するこの景品の重みから計算されます。ボックスガチャの場合、景品がボックスから排出されるにつれて確率は動的に変化します。 詳細  prize DrawnPrize  景品 この確率が対応する景品で、IDと入手アクションを含みます。 rate float  0 ~ 1.0 排出確率 (0.0〜1.0) この景品が排出される確率で、0.0から1.0の値で表されます。この景品の重みをテーブル内の全景品の重みの合計で割って算出されます。 PrizeLimit 排出回数制限 特定の景品が全ユーザーを通じて排出された回数を追跡します。排出回数がPrizeのdrawnLimitで定義された最大値に達すると、代わりにフェイルオーバー景品が排出されます。レアなジャックポットアイテムなどの数量限定景品の実装に使用されます。 詳細  prizeLimitId string ※ ~ 1024文字 排出回数 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 prizeId string  ~ 36文字 景品ID 排出回数が追跡されている景品のIDです。 drawnCount int  0 ~ 2147483646 排出回数 この景品が全ユーザーを通じて排出された現在の回数です。フェイルオーバー景品を使用すべきかどうかを判断するために、PrizeのdrawnLimitと比較されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン DrawnPrize 排出された景品 抽選で排出された景品を表します。景品IDとユーザーに景品を付与するために実行された入手アクションを含みます。 詳細  prizeId string  ~ 36文字 景品ID 排出された景品のIDで、排出確率テーブル内の景品エントリに対応します。 acquireActions List 0 ~ 100 items 入手アクションのリスト この景品をユーザーに付与するために実行された入手アクションのリストです。 BoxItems ボックスアイテムリスト 特定のユーザーと排出確率テーブルに対するボックスガチャの状態を記録します。ボックス内のすべての景品とその残数・初期数量のリストを含み、どの景品が排出済みでどの景品が残っているかをユーザーが確認できます。 詳細  boxId string ※ ~ 1024文字 ボックス GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 prizeTableName string  ~ 128文字 排出確率テーブル名 このボックスに関連付けられた排出確率テーブルの名前です。このレコードがどのボックスガチャに属するかを識別します。 userId string  ~ 128文字 ユーザーID items List [] 0 ~ 1000 items アイテムリスト ボックス内のすべての景品とその残数・初期数量のリストです。各アイテムはその景品が最初にボックスに何個あったか、何個残っているかを示し、ボックスガチャの抽選進行状況の追跡を可能にします。 LotteryModel 抽選モデル 抽選モデルは排出方式や排出テーブルの参照方法を定義するエンティティです。 排出方式は2種類用意されており、通常抽選は毎回一定の確率で抽選をする方式、Box抽選は箱の中にあらかじめ定義された数量の景品が入っており、抽選するたびに箱から景品を取り出していく抽選方式です。 抽選処理を行うにあたって、排出確率テーブルを利用しますが、 GS2-Script を使用すれば複数回抽選を実行した際に排出確率テーブルを一部だけ異なるテーブルに差し替えることができます。 この仕組みを利用することで、10連ガチャで1回だけ異なる抽選確率テーブルを適用することが可能となります。 詳細  lotteryModelId string ※ ~ 1024文字 抽選モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 mode 文字列列挙型 enum {   “normal”,   “box” }  抽選モード 景品の抽選方式を選択します。“normal” は毎回一定の確率で抽選を行います（景品は繰り返し排出されます）。“box” は仮想的な箱にあらかじめ定義された数量の景品を入れ、抽選するたびに箱から景品を取り出します（すべての景品が最終的に排出されることが保証されます）。 定義 説明 “normal” 通常抽選 “box” ボックス抽選 method 文字列列挙型 enum {   “prize_table”,   “script” }  抽選方法 排出確率テーブルの参照方法を決定します。“prize_table” は静的に指定された排出確率テーブルを使用します。“script” はGS2-Scriptを使用して抽選時に動的に排出確率テーブルを選択し、10連ガチャで1回だけ異なる排出確率テーブルを適用するなどのシナリオを実現できます。 定義 説明 “prize_table” 静的な排出確率テーブル “script” GS2-Script による動的な排出確率テーブル prizeTableName string {method} == “prize_table” ※ ~ 128文字 排出確率テーブルの名前 この抽選モデルで使用する排出確率テーブルの名前です。抽選方法が “prize_table” の場合に必須です。 ※ method が “prize_table” であれば 必須 choicePrizeTableScriptId string {method} == “script” ※ ~ 1024文字 排出確率テーブルを決定する GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - choicePrizeTable ※ method が “script” であれば 必須 Prize 景品 排出確率テーブル内の単一の景品エントリです。 景品は入手アクション（アイテムや通貨の付与など）を直接指定するか、別の排出確率テーブルを参照してネストされた抽選を行えます。 各景品には排出重みがあり、排出される相対的な確率を決定します。 詳細  prizeId string  UUID ~ 36文字 景品ID 排出確率テーブル内でこの景品を一意に識別するIDです。排出回数制限の追跡や、フェイルオーバー景品の指定時の参照に使用されます。 type 文字列列挙型 enum {   “action”,   “prize_table” }  景品の種類 この景品が直接報酬を付与するか、別の排出確率テーブルに委譲するかを決定します。“action” は排出時に実行する入手アクションを指定します。“prize_table” は別の排出確率テーブルを参照してネストされた抽選を行います（例：1段目でレアリティを決定、2段目で具体的なアイテムを決定）。 定義 説明 “action” 景品の入手アクション “prize_table” 更に排出確率テーブルを指定して再抽選 acquireActions List {type} == “action” [] 1 ~ 100 items 入手アクションリスト この景品が排出された時に実行する入手アクションのリストです。複数のアクションを指定して、一度に複数の報酬を付与できます（例：アイテムと通貨を同時に付与）。 ※ type が “action” であれば 有効 drawnLimit int {type} == “action” 1 ~ 1000000 最大排出数 この景品が全ユーザーを通じて排出される最大回数です。制限に達すると、代わりにフェイルオーバー景品（limitFailOverPrizeId）が排出されます。ジャックポットアイテムなどの数量限定景品の実装に使用されます。 ※ type が “action” であれば 有効 limitFailOverPrizeId string {type} == “action” and {drawnLimit} \u003e 0 ※ ~ 32文字 制限時フェイルオーバー景品ID この景品の排出回数制限（drawnLimit）に達した場合に代わりに排出する景品のIDです。同じ排出確率テーブル内の別の景品を参照する必要があります。 ※ type が “action” で かつ drawnLimit が 0 より大きければ 必須 prizeTableName string {type} == “prize_table” ※ ~ 128文字 排出確率テーブルの名前 抽選を委譲する排出確率テーブルの名前です。景品タイプが “prize_table” の場合にネストされた抽選に使用されます。 ※ type が “prize_table” であれば 必須 weight int  1 ~ 2147483646 排出重み 排出確率テーブル内でのこの景品の相対的な重みです。実際の排出確率は、この景品の重みをテーブル内の全景品の重みの合計で割って算出されます。例えば3つの景品の重みが70、20、10の場合、それぞれの排出確率は70%、20%、10%になります。 BoxItem ボックスアイテム ボックスガチャ内の単一の景品タイプを表し、ボックス内の初期数量、残数量、および排出時に実行される入手アクションを示します。 詳細  prizeId string  ~ 128文字 景品ID このボックスアイテムが対応する排出確率テーブル内の景品IDです。 acquireActions List [] 0 ~ 100 items 入手アクションのリスト この景品がボックスから排出された時に実行する入手アクションのリストです。 remaining int  0 ~ 2147483646 残り数量 ボックス内に残っているこの景品の数です。この景品が排出されるたびに1つ減少します。 initial int  0 ~ 2147483646 初期数量 最初にボックスに入れられたこの景品の数です。残数と合わせてどれだけ排出されたかを計算するために使用されます。 AcquireAction 入手アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 Config コンフィグ設定 トランザクションの変数に適用する設定値 詳細  key string  ~ 64文字 名前 value string ~ 51200文字 値 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか CurrentLotteryMaster 現在アクティブな抽選モデルのマスターデータ 現在ネームスペース内で有効な、抽選モデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Lottery マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ LotteryModelMaster 抽選モデルマスター 抽選モデルマスターは、ゲーム内で使用される抽選モデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される抽選モデルとして反映されます。 抽選モデルは排出方式や排出テーブルの参照方法を定義するエンティティです。 排出方式は2種類用意されており、通常抽選は毎回一定の確率で抽選をする方式、Box抽選は箱の中にあらかじめ定義された数量の景品が入っており、抽選するたびに箱から景品を取り出していく抽選方式です。 抽選処理を行うにあたって、排出確率テーブルを利用しますが、 GS2-Script を使用すれば複数回抽選を実行した際に排出確率テーブルを一部だけ異なるテーブルに差し替えることができます。 この仕組みを利用することで、10連ガチャで1回だけ異なる抽選確率テーブルを適用することが可能となります。 詳細  lotteryModelId string ※ ~ 1024文字 抽選モデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 mode 文字列列挙型 enum {   “normal”,   “box” }  抽選モード 景品の抽選方式を選択します。“normal” は毎回一定の確率で抽選を行います（景品は繰り返し排出されます）。“box” は仮想的な箱にあらかじめ定義された数量の景品を入れ、抽選するたびに箱から景品を取り出します（すべての景品が最終的に排出されることが保証されます）。 定義 説明 “normal” 通常抽選 “box” ボックス抽選 method 文字列列挙型 enum {   “prize_table”,   “script” }  抽選方法 排出確率テーブルの参照方法を決定します。“prize_table” は静的に指定された排出確率テーブルを使用します。 “script” はGS2-Scriptを使用して抽選時に動的に排出確率テーブルを選択し、10連ガチャで1回だけ異なる排出確率テーブルを適用するなどのシナリオを実現できます。 定義 説明 “prize_table” 静的な排出確率テーブル “script” GS2-Script による動的な排出確率テーブル prizeTableName string {method} == “prize_table” ※ ~ 128文字 排出確率テーブルの名前 この抽選モデルで使用する排出確率テーブルの名前です。抽選方法が “prize_table” の場合に必須です。 ※ method が “prize_table” であれば 必須 choicePrizeTableScriptId string {method} == “script” ※ ~ 1024文字 排出確率テーブルを決定する GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - choicePrizeTable ※ method が “script” であれば 必須 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン PrizeTableMaster 排出確率テーブルマスター 排出確率テーブルマスターは、ゲーム内で使用される排出確率テーブルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される排出確率テーブルとして反映されます。 景品には、入手アクションを指定するか、別の排出確率テーブルを参照させることもできます。 排出確率テーブルを入れ子にすることで、たとえば 1段目で SSR / SR / R などのレアリティを抽選し、2段目でそのレアリティに対応した具体的なコンテンツを抽選するといった設定が可能です。 この仕組みにより、ゲーム全体としてのレアリティ別排出確率を調整しやすくなります。 詳細  prizeTableId string ※ ~ 1024文字 排出確率テーブルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 排出確率テーブル名 排出確率テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 prizes List  1 ~ 100 items 景品リスト この排出確率テーブル内の景品リストです。各景品は排出重み（確率）、排出時に実行するアクション、およびオプションの排出回数制限を定義します。各景品の実際の排出確率は、その重みをテーブル内の全景品の重みの合計で割って算出されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 抽選操作時のトランザクションの処理方法を制御する設定です。抽選では入手アクションを通じてユーザーに景品を付与するトランザクションが発行されます。 lotteryTriggerScriptId string ~ 1024文字 抽選を実行した際に呼び出される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN logSetting LogSetting ログの出力設定 抽選操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のために抽選結果、景品配布、ボックスガチャの状態追跡に便利です。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 抽選操作時のトランザクションの処理方法を制御する設定です。抽選では入手アクションを通じてユーザーに景品を付与するトランザクションが発行されます。 lotteryTriggerScriptId string ~ 1024文字 抽選を実行した際に呼び出される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN logSetting LogSetting ログの出力設定 抽選操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のために抽選結果、景品配布、ボックスガチャの状態追跡に便利です。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describePrizeTables 排出確率テーブルの一覧を取得 指定されたネームスペースの現在アクティブな排出確率テーブルの一覧を取得します。 排出確率テーブルは、抽選モデルが使用する景品とその排出確率または重みを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 排出確率テーブルのリスト 実装例 getPrizeTable 排出確率テーブルを取得 指定された排出確率テーブルの景品リスト、排出確率、重み、数量制限を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 排出確率テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item PrizeTable 排出確率テーブル 実装例 drawByUserId ユーザーIDを指定して抽選を実行 抽選モデルの設定に基づいて、指定されたユーザーの抽選を実行します。 抽選は2つの方式をサポートします：排出確率テーブルモード（事前定義された確率テーブルを使用）とスクリプトモード（GS2-Script で景品を決定）。 ボックス抽選モードでは、排出された景品はボックスから削除され再度排出されません。ボックスが空の場合は Empty エラーが返されます。 排出された景品はトランザクションとして発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 lotteryName string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID count int  1 ~ 1000 抽選回数 config List [] 0 ~ 1000 items トランザクションのプレースホルダに適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 抽選結果の景品リスト boxItems BoxItems ボックスから取り出したアイテムのリスト transactionId string 発行されたトランザクションID stampSheet string 排出された景品を入手するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 prediction 抽選結果の予測結果を取得 実際に景品を付与したりトランザクションを生成せずに、抽選結果を予測します。 乱数シードを使用して決定論的な結果を返すため、同じシードで同じ予測結果を再現できます。 抽選を実行する前に、プレイヤーに受け取る景品を表示する場合に便利です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 lotteryName string  ~ 128文字 抽選モデル名 accessToken string  ~ 128文字 アクセストークン randomSeed long  0 ~ 9223372036854775805 乱数シード count int  1 ~ 1000 抽選回数 Result 型 説明 items List 抽選結果の景品リスト 実装例 predictionByUserId ユーザーIDを指定して抽選結果の予測結果を取得 指定されたユーザーの抽選結果を、景品の付与やトランザクションの生成なしに予測します。 乱数シードを使用して決定論的な結果を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 lotteryName string  ~ 128文字 抽選モデル名 userId string  ~ 128文字 ユーザーID randomSeed long  0 ~ 9223372036854775805 乱数シード count int  1 ~ 1000 抽選回数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 抽選結果の景品リスト 実装例 drawWithRandomSeedByUserId ユーザーIDを指定して乱数シード付きで抽選を実行 指定された乱数シードを使用して決定論的な抽選を実行します。 乱数シードは各抽選のイテレーションカウントでオフセットされ、ユニークかつ再現可能な結果を保証します。 この方式はボックス抽選モードとは互換性がありません。排出された景品はトランザクションとして発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 lotteryName string  ~ 128文字 抽選モデル名 userId string  ~ 128文字 ユーザーID randomSeed long  0 ~ 9223372036854775805 乱数シード count int  1 ~ 1000 抽選回数 config List [] 0 ~ 1000 items トランザクションのプレースホルダに適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 抽選結果の景品リスト transactionId string 発行されたトランザクションID stampSheet string 排出された景品を入手するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 describeProbabilities 排出確率の一覧を取得 通常抽選ではすべてのゲームプレイヤーに対して同じ確率を応答します。 ボックス抽選ではボックスの中身の残りを考慮したゲームプレイヤーごとに異なる確率を応答します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 lotteryName string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 items List 排出確率リスト 実装例 describeProbabilitiesByUserId ユーザーIDを指定して排出確率の一覧を取得 通常抽選ではすべてのゲームプレイヤーに対して同じ確率を応答します。 ボックス抽選ではボックスの中身の残りを考慮したゲームプレイヤーごとに異なる確率を応答します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 lotteryName string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 排出確率リスト 実装例 describePrizeLimits 排出回数の一覧を取得 指定された排出確率テーブルの景品排出回数制限のページネーション付きリストを取得します。 排出回数制限は各景品の排出回数を追跡し、数量限定の景品設定を可能にします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 排出確率テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 排出回数のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getPrizeLimit 排出回数を取得 排出確率テーブル内の特定の景品の現在の排出回数を取得します。 設定された制限に対して景品が何回排出されたかを確認できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 排出確率テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeId string  UUID ~ 36文字 景品ID 排出確率テーブル内でこの景品を一意に識別するIDです。排出回数制限の追跡や、フェイルオーバー景品の指定時の参照に使用されます。 Result 型 説明 item PrizeLimit 排出回数 実装例 resetPrizeLimit 排出回数をリセット 排出回数レコードを削除して、特定の景品の排出回数をリセットします。 リセット後、景品は設定された制限まで再度排出可能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 排出確率テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeId string  UUID ~ 36文字 景品ID 排出確率テーブル内でこの景品を一意に識別するIDです。排出回数制限の追跡や、フェイルオーバー景品の指定時の参照に使用されます。 Result 型 説明 実装例 describeBoxes ボックスから取り出したアイテムリストの一覧を取得 ネームスペース内のすべてのボックスモード抽選モデルのボックス状態をページネーション付きで取得します。 各エントリは、ボックスからどの景品が排出されたか、残りの数量を示します。 まだ抽選が行われていないボックスの場合、空のボックス状態が作成されて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ボックス状態のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeBoxesByUserId ユーザーIDを指定してボックスの一覧を取得 指定されたユーザーのすべてのボックスモード抽選モデルのボックス状態をページネーション付きで取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ボックス状態のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getBox ボックス状態を取得 特定の排出確率テーブルのボックス状態を取得し、どの景品が排出済みか、残りの数量を表示します。 ボックスがまだ存在しない場合、空のボックス状態が作成されて返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item BoxItems ボックス内の景品と残数の情報 実装例 getBoxByUserId ユーザーIDを指定してボックス状態を取得 指定されたユーザーの特定の排出確率テーブルのボックス状態を取得し、排出済み景品と残りの数量を表示します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BoxItems ボックス内の景品と残数の情報 実装例 resetBox ボックスをリセット ボックスを初期状態にリセットし、排出済みのすべての景品をボックスに戻します。 リセット後、すべての景品が再度排出可能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item BoxItems ボックス内の景品と初期数量の情報 実装例 resetBoxByUserId ユーザーIDを指定してボックスをリセット 指定されたユーザーのボックスを初期状態にリセットし、排出済みのすべての景品をボックスに戻します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item BoxItems ボックス内の景品と初期数量の情報 実装例 describeLotteryModels 抽選モデルの一覧を取得 指定されたネームスペースの現在アクティブな抽選モデルの一覧を取得します。 モデルは抽選モード（通常またはボックス）、抽選方式（排出確率テーブルまたはスクリプト）、および関連する排出確率テーブルの設定を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 抽選モデルのリスト 実装例 getLotteryModel 抽選モデルを取得 指定された抽選モデルのモード（通常/ボックス）、抽選方式（排出確率テーブル/スクリプト）、排出確率テーブル名を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 lotteryName string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item LotteryModel 抽選モデル 実装例 exportMaster 抽選モデルマスターを有効化可能なマスターデータ形式でエクスポート 現在アクティブな抽選モデルマスターを有効化可能な形式でエクスポートします。 エクスポートされたデータは、他のネームスペースのマスターデータ更新やバックアップとして使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentLotteryMaster 有効化可能な抽選モデルのマスターデータ 実装例 getCurrentLotteryMaster 現在アクティブな抽選モデルのマスターデータを取得 指定されたネームスペースの現在アクティブな抽選モデルのマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentLotteryMaster 現在アクティブな抽選モデルのマスターデータ 実装例 preUpdateCurrentLotteryMaster 現在アクティブな抽選モデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentLotteryMaster 現在アクティブな抽選モデルのマスターデータを更新 現在アクティブな抽選モデルのマスターデータを更新します。 2つのモードをサポートします：インライン設定用の ‘direct’ モードと、3フェーズ更新プロセスで事前にアップロードした設定を適用する ‘preUpload’ モードです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentLotteryMaster 更新された現在アクティブな抽選モデルのマスターデータ 実装例 updateCurrentLotteryMasterFromGitHub 現在アクティブな抽選モデルのマスターデータをGitHubから更新 指定された GitHub リポジトリからマスターデータを取得して、現在アクティブな抽選モデルのマスターデータを更新します。 GS2-Key に保存された API キーが認証に使用され、チェックアウトするブランチ、タグ、またはコミットハッシュを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentLotteryMaster 更新された現在アクティブな抽選モデルのマスターデータ 実装例 describeLotteryModelMasters 抽選モデルマスターの一覧を取得 指定されたネームスペースの抽選モデルマスターのページネーション付きリストを取得します。 名前の接頭辞でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 抽選モデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 抽選モデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createLotteryModelMaster 抽選モデルマスターを新規作成 指定された設定で新しい抽選モデルマスターを作成します。 モードは ’normal’（復元抽選：排出済みの景品も再度排出される）または ‘box’（非復元抽選：排出された景品はプールから除外される）を指定できます。 方式は ‘prizeTable’（事前定義された排出確率テーブルを使用）または ‘script’（GS2-Script で動的に景品を決定）を指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 mode 文字列列挙型 enum {   “normal”,   “box” }  抽選モード 景品の抽選方式を選択します。“normal” は毎回一定の確率で抽選を行います（景品は繰り返し排出されます）。“box” は仮想的な箱にあらかじめ定義された数量の景品を入れ、抽選するたびに箱から景品を取り出します（すべての景品が最終的に排出されることが保証されます）。 定義 説明 “normal” 通常抽選 “box” ボックス抽選 method 文字列列挙型 enum {   “prize_table”,   “script” }  抽選方法 排出確率テーブルの参照方法を決定します。“prize_table” は静的に指定された排出確率テーブルを使用します。 “script” はGS2-Scriptを使用して抽選時に動的に排出確率テーブルを選択し、10連ガチャで1回だけ異なる排出確率テーブルを適用するなどのシナリオを実現できます。 定義 説明 “prize_table” 静的な排出確率テーブル “script” GS2-Script による動的な排出確率テーブル prizeTableName string {method} == “prize_table” ※ ~ 128文字 排出確率テーブルの名前 この抽選モデルで使用する排出確率テーブルの名前です。抽選方法が “prize_table” の場合に必須です。 ※ method が “prize_table” であれば必須 choicePrizeTableScriptId string {method} == “script” ※ ~ 1024文字 排出確率テーブルを決定する GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ method が “script” であれば必須 Result 型 説明 item LotteryModelMaster 作成した抽選モデルマスター 実装例 getLotteryModelMaster 抽選モデルマスターを取得 指定された抽選モデルマスターのモード（normal/box）、抽選方式（prizeTable/script）、関連する排出確率テーブルまたはスクリプトの設定を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 lotteryName string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item LotteryModelMaster 抽選モデルマスター 実装例 updateLotteryModelMaster 抽選モデルマスターを更新 指定された抽選モデルマスターを更新します。説明、メタデータ、モード（normal/box）、抽選方式（prizeTable/script）、排出確率テーブル名、スクリプト設定を変更できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 lotteryName string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 mode 文字列列挙型 enum {   “normal”,   “box” }  抽選モード 景品の抽選方式を選択します。“normal” は毎回一定の確率で抽選を行います（景品は繰り返し排出されます）。“box” は仮想的な箱にあらかじめ定義された数量の景品を入れ、抽選するたびに箱から景品を取り出します（すべての景品が最終的に排出されることが保証されます）。 定義 説明 “normal” 通常抽選 “box” ボックス抽選 method 文字列列挙型 enum {   “prize_table”,   “script” }  抽選方法 排出確率テーブルの参照方法を決定します。“prize_table” は静的に指定された排出確率テーブルを使用します。 “script” はGS2-Scriptを使用して抽選時に動的に排出確率テーブルを選択し、10連ガチャで1回だけ異なる排出確率テーブルを適用するなどのシナリオを実現できます。 定義 説明 “prize_table” 静的な排出確率テーブル “script” GS2-Script による動的な排出確率テーブル prizeTableName string {method} == “prize_table” ※ ~ 128文字 排出確率テーブルの名前 この抽選モデルで使用する排出確率テーブルの名前です。抽選方法が “prize_table” の場合に必須です。 ※ method が “prize_table” であれば必須 choicePrizeTableScriptId string {method} == “script” ※ ~ 1024文字 排出確率テーブルを決定する GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ method が “script” であれば必須 Result 型 説明 item LotteryModelMaster 更新した抽選モデルマスター 実装例 deleteLotteryModelMaster 抽選モデルマスターを削除 指定された抽選モデルマスターを削除します。 次のマスターデータ更新まで、現在アクティブなマスターデータには影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 lotteryName string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item LotteryModelMaster 削除した抽選モデルマスター 実装例 describePrizeTableMasters 排出確率テーブルマスターの一覧を取得 指定されたネームスペースの排出確率テーブルマスターのページネーション付きリストを取得します。 名前の接頭辞でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 排出確率テーブル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 排出確率テーブルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createPrizeTableMaster 排出確率テーブルマスターを新規作成 指定された景品設定で新しい排出確率テーブルマスターを作成します。 各景品エントリは、景品ID、タイプ、入手アクション、排出重み、およびオプションの数量制限を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 排出確率テーブル名 排出確率テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 prizes List  1 ~ 100 items 景品リスト この排出確率テーブル内の景品リストです。各景品は排出重み（確率）、排出時に実行するアクション、およびオプションの排出回数制限を定義します。各景品の実際の排出確率は、その重みをテーブル内の全景品の重みの合計で割って算出されます。 Result 型 説明 item PrizeTableMaster 作成した排出確率テーブルマスター 実装例 getPrizeTableMaster 排出確率テーブルマスターを取得 指定された排出確率テーブルマスターの景品リスト、排出重み、タイプ、数量制限を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 排出確率テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item PrizeTableMaster 排出確率テーブルマスター 実装例 updatePrizeTableMaster 排出確率テーブルマスターを更新 指定された排出確率テーブルマスターを更新します。説明、メタデータ、および景品リストの排出重みや数量制限を変更できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 排出確率テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 prizes List  1 ~ 100 items 景品リスト この排出確率テーブル内の景品リストです。各景品は排出重み（確率）、排出時に実行するアクション、およびオプションの排出回数制限を定義します。各景品の実際の排出確率は、その重みをテーブル内の全景品の重みの合計で割って算出されます。 Result 型 説明 item PrizeTableMaster 更新した排出確率テーブルマスター 実装例 deletePrizeTableMaster 排出確率テーブルマスターを削除 指定された排出確率テーブルマスターを削除します。 次のマスターデータ更新まで、現在アクティブなマスターデータには影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 排出確率テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item PrizeTableMaster 削除した排出確率テーブルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Lottery SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Lottery SDK API リファレンス","url":"/ja/api_reference/lottery/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 マッチメイキング操作時のトランザクションの処理方法を制御する設定です。 enableRating bool false レーティング計算機能の有効化 Glicko-2 ベースのレーティング計算機能を有効にするかどうか。 有効にすると、プレイヤーは Vote システムを通じて対戦結果を送信し、レーティングが自動的に更新されます。 RatingModel マスターデータの設定が必要です。デフォルトは false です。 enableDisconnectDetection 文字列列挙型 enum {   “disable”,   “enable” } “disable” 切断検知 マッチメイキング中のプレイヤーが待機中であることを定期的に報告する必要があるかを制御します。 有効にすると、プレイヤーが設定されたタイムアウト期間内にキープアライブを送信しない場合、ギャザリングから自動的に退出処理されます。 これにより「ゴースト」プレイヤーがマッチメイキングの完了をブロックすることを防ぎます。デフォルトは “disable” です。 定義 説明 “disable” 無効 “enable” 有効 disconnectDetectionTimeoutSeconds int {enableDisconnectDetection} == “enable” ※ 15 ~ 600 切断検知タイムアウト（秒） キープアライブ報告なしにプレイヤーを切断とみなしギャザリングから退出させるまでの待機秒数。 切断検知が有効な場合のみ適用されます。15 から 600 秒の範囲で指定します。 ※ enableDisconnectDetection が “enable” であれば 必須 createGatheringTriggerType 文字列列挙型 enum {   “none”,   “gs2_realtime”,   “gs2_script” } “none” ギャザリング作成時トリガータイプ 新しいギャザリングが作成されたときに実行するアクションの種類。 GS2-Realtime のルーム作成をトリガーしてリアルタイム通信を開始したり、GS2-Script を実行してカスタムロジックを実行できます。デフォルトは “none” です。 定義 説明 “none” なし “gs2_realtime” GS2-Realtime のルーム作成 “gs2_script” GS2-Script の実行 createGatheringTriggerRealtimeNamespaceId string {createGatheringTriggerType} == “gs2_realtime” ※ ~ 1024文字 ギャザリング作成時にルームを作成する GS2-Realtime のネームスペース ※ createGatheringTriggerType が “gs2_realtime” であれば 必須 createGatheringTriggerScriptId string {createGatheringTriggerType} == “gs2_script” ※ ~ 1024文字 ギャザリング作成時に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - createGathering ※ createGatheringTriggerType が “gs2_script” であれば 必須 completeMatchmakingTriggerType 文字列列挙型 enum {   “none”,   “gs2_realtime”,   “gs2_script” } “none” マッチメイキング完了時トリガータイプ マッチメイキングが完了した（すべてのロール枠が埋まった）ときに実行するアクションの種類。 マッチングされたプレイヤー向けに GS2-Realtime のルーム作成をトリガーしたり、GS2-Script を実行してカスタムの事後処理ロジックを実行できます。デフォルトは “none” です。 定義 説明 “none” なし “gs2_realtime” GS2-Realtime のルーム作成 “gs2_script” GS2-Script の実行 completeMatchmakingTriggerRealtimeNamespaceId string {completeMatchmakingTriggerType} == “gs2_realtime” ※ ~ 1024文字 マッチメイキング完了時にルームを作成する GS2-Realtime のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ completeMatchmakingTriggerType が “gs2_realtime” であれば 必須 completeMatchmakingTriggerScriptId string {completeMatchmakingTriggerType} == “gs2_script” ※ ~ 1024文字 マッチメイキング完了時に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - completeMatchmaking ※ completeMatchmakingTriggerType が “gs2_script” であれば 必須 enableCollaborateSeasonRating 文字列列挙型 enum {   “enable”,   “disable” } “disable” シーズンレーティング連携の有効化 シーズンベースのレーティング計算のために GS2-SeasonRating との連携を有効にするかどうか。 有効にすると、マッチメイキング完了時に指定した GS2-SeasonRating のネームスペースにレーティング計算セッションが自動作成されます。 デフォルトは “disable” です。 定義 説明 “enable” 有効 “disable” 無効 collaborateSeasonRatingNamespaceId string {enableCollaborateSeasonRating} == “enable” ※ ~ 1024文字 シーズンレーティングネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN マッチメイキング完了時にレーティング計算セッションが作成される GS2-SeasonRating のネームスペースの GRN。 シーズンレーティング連携が有効な場合のみ適用されます。 ※ enableCollaborateSeasonRating が “enable” であれば 必須 collaborateSeasonRatingTtl int {enableCollaborateSeasonRating} == “enable” 60 60 ~ 7200 シーズンレーティング結果TTL（秒） マッチメイキング完了後、GS2-SeasonRating 経由の対戦結果送信を受け付ける最大待機時間（秒）。 この期間内に結果が送信されない場合、レーティングセッションは期限切れとなります。60 から 7200 秒の範囲で指定します。デフォルトは 60 です。 ※ enableCollaborateSeasonRating が “enable” であれば 有効 changeRatingScript ScriptSetting レーティング値が変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeRating joinNotification NotificationSetting 参加通知 新しいプレイヤーがギャザリングに参加したときのプッシュ通知設定。 既存の参加者に新しいプレイヤーが参加したことを通知し、ゲームクライアントがマッチメイキング UI を更新できるようにします。 leaveNotification NotificationSetting 離脱通知 プレイヤーがギャザリングから離脱したときのプッシュ通知設定。 残りの参加者にプレイヤーが離脱したことを通知し、ゲームクライアントに変更を反映させます。 completeNotification NotificationSetting 完了通知 マッチメイキングが完了した（すべてのロール枠が埋まった）ときのプッシュ通知設定。 すべての参加者にギャザリングが満員になり対戦を開始できることを通知します。 changeRatingNotification NotificationSetting レーティング変動通知 投票処理後にプレイヤーのレーティング値が変動したときのプッシュ通知設定。 影響を受けたプレイヤーに新しいレーティングを通知し、ゲームクライアントに更新された値を表示させます。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、マッチメイキングの操作（ギャザリングの作成・参加・離脱、投票、レーティング変動など）がモニタリングと分析のためにログ出力されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。 詳細  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Gathering ギャザリング マッチメイキングによって集められたゲームプレイヤーグループを表すエンティティです。 マッチメイキング用のパラメータを複数持っており、パラメータを総合的に判断してプレイヤーをグルーピングします。 プレイヤーは自身のロール・属性値・拒否リスト（一緒にプレイしたくないユーザー）を指定してギャザリングに参加します。 参加時には属性値の範囲条件、ロールの定員、ホワイトリスト制限（allowUserIds）が検証されます。 すべてのロール枠が定員に達するとギャザリングは完成状態となり、マッチメイキングが完了します。 ギャザリング名は UUID 形式で自動生成され、有効期限を設定して自動クリーンアップすることも可能です。 詳細  gatheringId string ※ ~ 1024文字 ギャザリング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 attributeRanges List [] 0 ~ 5 items 募集条件 このギャザリングに参加するためにプレイヤーが満たすべき属性範囲条件のリスト。 各エントリは属性名と許容される最小値・最大値の範囲を指定します。 プレイヤー自身の属性値がこの範囲内でなければ参加できません。最大5件。 capacityOfRoles List [] 1 ~ 5 items 募集枠リスト このギャザリングの募集枠を定義します。 各エントリはロール名、その別名、およびそのロールに参加可能な最大人数を指定します。 すべてのロール枠が定員に達するとマッチメイキングが完了となります。最小1件、最大5件。 allowUserIds List [] 0 ~ 100 items 参加許可ユーザーIDリスト このギャザリングへの参加を許可されたユーザーIDのホワイトリスト。 指定した場合、リストに含まれるユーザーのみがこのギャザリングのマッチメイキングに参加できます。 フレンド限定マッチメイキングや招待制マッチメイキングに利用します。最大100件。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 expiresAt long ギャザリングの有効期限 このギャザリングが自動的に期限切れとなり削除される時刻。 この時刻までにマッチメイキングが完了しない場合、ギャザリングはクリーンアップされます。 未指定の場合、マッチメイキングが完了するか手動で削除されるまでギャザリングは維持されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SeasonGathering シーズンギャザリング シーズン期間中にプレイヤーを集める永続的なギャザリング。 マッチメイキング完了後に解散する通常のギャザリングとは異なり、シーズンギャザリングはシーズン中ずっと存続し参加者を蓄積します。 プレイヤーはティアー（GS2-Experience のランクに基づく）とシーズン番号でグルーピングされ、各シーズンギャザリングには SeasonModel で定義された最大参加人数の制限があります。 詳細  seasonGatheringId string ※ ~ 1024文字 シーズンギャザリング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン tier long  0 ~ 9223372036854775805 ティアー 同程度のランクのプレイヤーをグルーピングするためのティアーレベル。 SeasonModel で指定された GS2-Experience モデルにおけるプレイヤーのランクによって決定されます。 プレイヤーは同じティアーのプレイヤーとのみマッチングされ、公平な対戦が保証されます。 name string  UUID ~ 128文字 シーズンギャザリング名 シーズンギャザリング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 participants List [] 0 ~ 1000 items 参加者のユーザーIDリスト このシーズンギャザリングに参加したプレイヤーのユーザーIDリスト。 プレイヤーが参加するとこのリストに追加され、最大参加人数に達するまでシーズン中ずっと増え続けます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン JoinedSeasonGathering 参加中のシーズンギャザリング 特定のシーズンとティアーにおいて、プレイヤーがどのシーズンギャザリングに参加しているかを追跡するレコード。 プレイヤーがシーズンギャザリングに参加した際に自動的に作成され、プレイヤーの現在のギャザリングを素早く検索するためのインデックスとして機能します。 各プレイヤーはシーズンとティアーの組み合わせごとに最大1つのシーズンギャザリングに所属できます。 詳細  joinedSeasonGatheringId string ※ ~ 1024文字 参加中のシーズンギャザリング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン tier long  0 ~ 9223372036854775805 ティアー 同程度のランクのプレイヤーをグルーピングするためのティアーレベル。 SeasonModel で指定された GS2-Experience モデルにおけるプレイヤーのランクによって決定されます。 プレイヤーは同じティアーのプレイヤーとのみマッチングされ、公平な対戦が保証されます。 seasonGatheringName string  ~ 128文字 シーズンギャザリング名 このプレイヤーが参加しているシーズンギャザリングの名前。 同一シーズン・ティアー内の特定のシーズンギャザリングエンティティを参照するために使用されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 Rating レーティング ゲームプレイヤー毎の現在のレーティングの値を保持するエンティティです。 プレイヤーが初めてレーティング付きマッチメイキングに参加した時に自動的に作成されます。 レーティングは Glicko-2 アルゴリズムを使用して計算され、初期レート値とレーティングの不確実性を表す Rating Deviation (rd) を持ちます。 対戦回数が増えるにつれて、レート値はプレイヤーの真の実力に収束していきます。 詳細  ratingId string ※ ~ 1024文字 レーティング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レーティング名 レーティング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rateValue float 1500.0 0 ~ 65535.0 レート値 Glicko-2 アルゴリズムで計算されたプレイヤーの現在のレーティングスコア。 RatingModel で定義された初期値（通常 1500.0）がデフォルトです。 対戦結果と対戦相手の相対的な強さに基づいて値が増減します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Ballot 投票用紙 レーティング付きマッチメイキングのゲーム終了後に、各プレイヤーが対戦結果を報告するために発行される投票用紙。 レーティングモデル名、ギャザリング名、参加人数といった対戦のコンテキスト情報を含みます。 各プレイヤーはサーバーで署名された投票用紙を受け取り、ゲーム結果を記入して Vote API に提出します。 投票システムは、レーティング計算を確定するために提出された投票用紙の50%超の合意を必要とします。 詳細  userId string  ~ 128文字 ユーザーID ratingName string  ~ 128文字 レーティング名 この対戦後のレーティング計算に使用する RatingModel の名前。 この対戦の結果処理に適用されるレーティングシステムのパラメータ（初期値、ボラティリティ）を特定します。 gatheringName string  ~ 128文字 ギャザリング名 対戦結果の報告対象となるギャザリングの名前。 特定のマッチメイキングセッションを識別し、同じ対戦の全参加者からの投票を関連付けるために使用されます。 numberOfPlayer int  2 ~ 10 参加人数 この対戦に参加したプレイヤーの総数。 期待される投票数の決定と合意の検証（プレイヤーの50%超が一致する結果を提出する必要がある）に使用されます。 2 から 10 の範囲で指定します。 Vote 投票状況 レーティング計算のための最終的な対戦結果を決定するために、特定の対戦の投票用紙を集約するエンティティ。 各 Vote はレーティングモデル名とギャザリング名の組み合わせで識別されます。 対戦参加者から投票用紙が収集され、一致する結果を持つ投票が十分に提出されると（50%超の合意）、 投票が完了とみなされ、参加者のレーティング値が対戦結果に基づいて更新されます。 詳細  voteId string ※ ~ 1024文字 投票状況 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 ratingName string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 writtenBallots List [] 0 ~ 10 items 記入済み投票用紙のリスト 対戦参加者から提出された投票用紙のコレクション。 各記入済み投票用紙は署名付き投票用紙と、その参加者が報告したゲーム結果（プレイヤーの順位）を含みます。 期待される投票数の50%超が一致する結果を含む場合、投票が確定しレーティング計算が実行されます。最大10件。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 RatingModel レーティングモデル GS2 ではレーティングアルゴリズムとして Glicko-2 を採用しています。 Glicko-2 には複数のパラメータがありますが、GS2-Matchmaking ではそれらを総合的に表す ボラティリティ という1つのパラメータに集約しています。 ボラティリティ は変化の大きさを表すパラメータで、値が大きいほどレーティングの値の変動量が大きくなります。 詳細  ratingModelId string ※ ~ 1024文字 レーティングモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialValue int 1500 100 ~ 10000 レート値の初期値 プレイヤーが初めてレーティング付きマッチメイキングに参加したときに割り当てられる開始レート値。 デフォルトは 1500 です。すべてのプレイヤーは同じレーティングから開始し、対戦結果に基づいて調整されます。 volatility int 100 1 ~ 20000 レーティングのボラティリティ 各対戦後にレート値がどの程度変動するかを制御する Glicko-2 のパラメータ。 値が大きいほどレーティングの変動幅が大きくなり、より早くレーティングが調整されます。 値が小さいほどレーティングが安定し、緩やかに変化します。デフォルトは 100 です。 SeasonModel シーズンモデル シーズンマッチメイキングにおいて、一定期間有効な永続ギャザリングの期間・最大参加人数・ティアー連携設定を定義するマスターデータです。 GS2-Schedule により期間を管理し、必要に応じて GS2-Experience と連携して同一ティアー内で永続ギャザリングを形成します。 詳細  seasonModelId string ※ ~ 1024文字 シーズンモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumParticipants int  2 ~ 1000 最大参加人数 1つのシーズンギャザリングに参加可能なプレイヤーの最大人数。 この上限に達するとシーズンギャザリングは満員となり、それ以上のプレイヤーは参加できなくなります。 2 から 1000 の範囲で指定します。 experienceModelId string ~ 1024文字 ティアー管理用の経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN プレイヤーのティアーを決定するために使用する GS2-Experience の経験値モデルの GRN。 この経験値モデルにおけるプレイヤーのランクがマッチメイキングのティアーとして使用され、同程度のレベルのプレイヤー同士がグルーピングされます。 未指定の場合、ティアーによるグルーピングは無効となり、レベルに関係なく全プレイヤーがマッチングされます。 challengePeriodEventId string  ~ 1024文字 チャレンジ期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このシーズンの有効期間を定義する GS2-Schedule イベントの GRN。 このイベントがアクティブな間のみ、シーズンギャザリングの作成・参加が可能です。 イベント期間が終了するとシーズンがクローズし、新しいマッチメイキングはできなくなります。 AttributeRange 募集条件 ギャザリングに参加するための属性の許容範囲を定義する条件。 プレイヤーが参加を試みる際、対応する名前の属性値が指定された最小値・最大値の範囲内である必要があります。 スキルベースやレベルベースのマッチメイキングフィルターを作成するために使用されます。 詳細  name string  ~ 128文字 属性名 この範囲条件を適用する属性の名前。 条件が評価されるためには、プレイヤーの属性リスト内の属性名と一致する必要があります。 min int 0 0 ~ 2147483646 属性値の最小値 ギャザリングに参加するために必要な属性値の下限（この値を含む）。 属性値がこの閾値を下回るプレイヤーは参加できません。 max int 0 0 ~ 2147483646 属性値の最大値 ギャザリングに参加可能な属性値の上限（この値を含む）。 属性値がこの閾値を超えるプレイヤーは参加できません。 CapacityOfRole 募集枠 ギャザリング内の特定のロールに対する募集枠を定義します。 各ロールは名前、オプションの別名、最大定員、および現在参加しているプレイヤーリストを持ちます。 ロールの別名により柔軟なマッチングが可能です。例えば「タンク」ロールに「パラディン」「ナイト」の別名を設定すると、どちらのサブロールを指定したプレイヤーもタンク枠を埋められます。 すべてのロールの参加者が定員に達すると、ギャザリングのマッチメイキングが完了します。 詳細  roleName string “default” ~ 128文字 ロール名 この募集枠のロール名。 ロール区分のない一般的なマッチメイキングの場合、デフォルト値 “default” を使用します。 ロールベースのマッチメイキング（例: “タンク”、“ヒーラー”、“アタッカー”）の場合、ここにロールカテゴリ名を指定します。 roleAliases List [] 0 ~ 9 items ロール名の別名リスト この募集枠で受け入れ可能な代替ロール名。 これらの別名のいずれかをロール名として指定したプレイヤーが、この枠にマッチングされます。 サブロールマッチングを実現します。例: “タンク” ロールに対する “パラディン” と “ナイト” の別名。最大9件。 capacity int  1 ~ 256 募集人数 このロール枠を埋めることができるプレイヤーの最大数。 参加者数がこの定員に達すると、ロールは満員となりこのロールのプレイヤーはそれ以上参加できません。 1 から 256 の範囲で指定します。 participants List [] 0 ~ 1000 items 参加者のプレイヤー情報リスト 現在このロール枠を占有しているプレイヤーのリスト。 プレイヤーはギャザリングに参加すると追加され、離脱すると削除されます。 各プレイヤーエントリにはユーザーID、属性、ロール名、拒否リストが含まれます。ユーザーIDによる一意性が保証されます。 Attribute 属性値 マッチメイキングのためにプレイヤーに関連付けられた名前付きの数値属性。 ギャザリングの AttributeRange 条件と組み合わせて、どのプレイヤーが参加可能かをフィルタリングするために使用されます。 例えば「レベル」属性の値が 50 のプレイヤーは、レベル 40〜60 を要求するギャザリングにマッチします。 各プレイヤーは最大5つの属性を持てます。 詳細  name string  ~ 128文字 属性名 属性固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 value int 0 0 ~ 2147483646 属性値 このプレイヤーの属性の数値。 マッチメイキング時にギャザリングの AttributeRange 条件で指定された最小値・最大値の範囲と照合されます。 Player 参加者のプレイヤー情報 マッチメイキングに参加するプレイヤーを表し、ID、属性、ロール、拒否リストを含みます。 ギャザリングに参加する際、プレイヤーの属性値、希望するロール、一緒にプレイしたくないユーザーのリストを持つ Player オブジェクトが作成されます。 プレイヤーの属性はギャザリングの属性範囲条件と照合され、拒否リストは不要なペアリングを防ぐためにクロスチェックされます。 詳細  userId string  ~ 128文字 ユーザーID attributes List [] 0 ~ 5 items 属性値のリスト マッチメイキング条件の評価に使用されるプレイヤーの名前付き数値属性。 各属性はギャザリングの AttributeRange 条件と照合され参加資格が判定されます。 ギャザリング作成時に範囲条件を設定する場合、プレイヤー自身の属性値もその範囲内である必要があります。最大5件。 roleName string “default” ~ 128文字 ロール名 このプレイヤーがギャザリングで埋めたいロール。 ロール区分のない一般的なマッチメイキングの場合、デフォルト値 “default” を使用します。 ロールベースのマッチメイキングの場合、プレイヤーの具体的なロール（例: “パラディン”、“ナイト”）を指定し、ギャザリングの定員定義のロール名および別名とマッチングされます。 denyUserIds List [] 0 ~ 100 items 参加拒否ユーザーIDリスト このプレイヤーがマッチングを拒否するユーザーIDのブラックリスト。 マッチメイキング時、ギャザリングに既に参加しているプレイヤーがこのリストに含まれている場合、そのギャザリングに参加できません。 逆に、既存の参加者の拒否リストにこのプレイヤーが含まれている場合も参加がブロックされます。最大100件。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 GameResult 対戦結果 Vote システムを通じたレーティング計算に使用される、対戦における1人のプレイヤーの結果を表します。 各 GameResult エントリはユーザーIDとその対戦での順位（最終順位）をペアにします。 順位の値が小さいほど高い成績を示します（1位 = rank 1）。同じ順位のプレイヤーは引き分けとして扱われます。 詳細  rank int  0 ~ 2147483646 順位 対戦におけるプレイヤーの最終順位。1 が最上位（勝者）です。 Glicko-2 アルゴリズムによるレーティング変動の計算に使用されます。上位のプレイヤーはレーティングが上昇し、下位のプレイヤーはレーティングが低下します。 同じ順位のプレイヤーは引き分けとして処理されます。 userId string  ~ 128文字 ユーザーID SignedBallot 署名付き投票用紙 真正性を検証するためのデジタル署名が付与された投票用紙。 マッチメイキング完了後にサーバーがプレイヤーに署名付き投票用紙を発行し、正当な参加者のみが対戦結果を提出できることを保証します。 投票用紙が Vote API に提出される際に署名が検証され、対戦コンテキスト（レーティング名、ギャザリング名、参加人数）の改ざんを防止します。 詳細  body string  ~ 1024文字 投票用紙本体 デジタル署名の対象となるシリアライズされた投票用紙データ。 署名と照合して検証可能な形式で、投票コンテキスト（ユーザーID、レーティング名、ギャザリング名、参加人数）を含みます。 signature string  ~ 256文字 署名 投票用紙本体の真正性と完全性を検証するためのデジタル署名。 GS2-Key の暗号化キーを使用してサーバーで生成され、投票用紙の提出時に偽造や改ざんを防止するために検証されます。 WrittenBallot 記入済み投票用紙 対戦結果を書き込んだ投票用紙を表すデータモデルです。 ユーザーIDと順位を含む投票内容を保持し、署名付きで Vote API に渡されます。 詳細  ballot Ballot  投票用紙 gameResults List 0 ~ 10 items 対戦結果のリスト TimeSpan 時間間隔（期間） 日・時間・分で構成される時間の長さを表します。 現在時刻からのギャザリングの有効期限など、相対的な時間オフセットの指定に使用されます。 全体の期間は3つのコンポーネントを合算して計算されます。 詳細  days int 0 0 ~ 365 日数 期間における日数。最大365日。デフォルトは0。 hours int 0 0 ~ 24 時間 期間における時間数。最大24時間。デフォルトは0。 minutes int 0 0 ~ 60 分 期間における分数。最大60分。デフォルトは0。 CurrentModelMaster 現在アクティブなモデルのマスターデータ 現在ネームスペース内で有効な、モデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Matchmaking マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ RatingModelMaster レーティングモデルマスター レーティングモデルマスターは、ゲーム内で使用されるレーティングモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるレーティングモデルとして反映されます。 GS2 ではレーティングアルゴリズムとして Glicko-2 を採用しています。 Glicko-2 には複数のパラメータがありますが、GS2-Matchmaking ではそれらを総合的に表す ボラティリティ という1つのパラメータに集約しています。 ボラティリティ は変化の大きさを表すパラメータで、値が大きいほどレーティングの値の変動量が大きくなります。 詳細  ratingModelId string ※ ~ 1024文字 レーティングモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 initialValue int 1500 100 ~ 10000 レート値の初期値 プレイヤーが初めてレーティング付きマッチメイキングに参加したときに割り当てられる開始レート値。 デフォルトは 1500 です。すべてのプレイヤーは同じレーティングから開始し、対戦結果に基づいて調整されます。 volatility int 100 1 ~ 20000 レーティングのボラティリティ 各対戦後にレート値がどの程度変動するかを制御する Glicko-2 のパラメータ。 値が大きいほどレーティングの変動幅が大きくなり、より早くレーティングが調整されます。 値が小さいほどレーティングが安定し、緩やかに変化します。デフォルトは 100 です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SeasonModelMaster シーズンモデルマスター シーズンモデルマスターは、ゲーム内で使用されるレーティングモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるレーティングモデルとして反映されます。 シーズンモデルは、シーズンマッチメイキングにおいて、一定期間有効な永続ギャザリングの期間・最大参加人数・ティアー連携設定を定義するマスターデータです。 GS2-Schedule により期間を管理し、必要に応じて GS2-Experience と連携して同一ティアー内で永続ギャザリングを形成します。 詳細  seasonModelId string ※ ~ 1024文字 シーズンモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 maximumParticipants int  2 ~ 1000 最大参加人数 1つのシーズンギャザリングに参加可能なプレイヤーの最大人数。 この上限に達するとシーズンギャザリングは満員となり、それ以上のプレイヤーは参加できなくなります。 2 から 1000 の範囲で指定します。 experienceModelId string ~ 1024文字 ティアー管理用の経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN プレイヤーのティアーを決定するために使用する GS2-Experience の経験値モデルの GRN。 この経験値モデルにおけるプレイヤーのランクがマッチメイキングのティアーとして使用され、同程度のレベルのプレイヤー同士がグルーピングされます。 未指定の場合、ティアーによるグルーピングは無効となり、レベルに関係なく全プレイヤーがマッチングされます。 challengePeriodEventId string  ~ 1024文字 チャレンジ期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このシーズンの有効期間を定義する GS2-Schedule イベントの GRN。 このイベントがアクティブな間のみ、シーズンギャザリングの作成・参加が可能です。 イベント期間が終了するとシーズンがクローズし、新しいマッチメイキングはできなくなります。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 マッチメイキング操作時のトランザクションの処理方法を制御する設定です。 enableRating bool false レーティング計算機能の有効化 Glicko-2 ベースのレーティング計算機能を有効にするかどうか。 有効にすると、プレイヤーは Vote システムを通じて対戦結果を送信し、レーティングが自動的に更新されます。 RatingModel マスターデータの設定が必要です。デフォルトは false です。 enableDisconnectDetection 文字列列挙型 enum {   “disable”,   “enable” } “disable” 切断検知 マッチメイキング中のプレイヤーが待機中であることを定期的に報告する必要があるかを制御します。 有効にすると、プレイヤーが設定されたタイムアウト期間内にキープアライブを送信しない場合、ギャザリングから自動的に退出処理されます。 これにより「ゴースト」プレイヤーがマッチメイキングの完了をブロックすることを防ぎます。デフォルトは “disable” です。 定義 説明 “disable” 無効 “enable” 有効 disconnectDetectionTimeoutSeconds int {enableDisconnectDetection} == “enable” ※ 15 ~ 600 切断検知タイムアウト（秒） キープアライブ報告なしにプレイヤーを切断とみなしギャザリングから退出させるまでの待機秒数。 切断検知が有効な場合のみ適用されます。15 から 600 秒の範囲で指定します。 ※ enableDisconnectDetection が “enable” であれば必須 createGatheringTriggerType 文字列列挙型 enum {   “none”,   “gs2_realtime”,   “gs2_script” } “none” ギャザリング作成時トリガータイプ 新しいギャザリングが作成されたときに実行するアクションの種類。 GS2-Realtime のルーム作成をトリガーしてリアルタイム通信を開始したり、GS2-Script を実行してカスタムロジックを実行できます。デフォルトは “none” です。 定義 説明 “none” なし “gs2_realtime” GS2-Realtime のルーム作成 “gs2_script” GS2-Script の実行 createGatheringTriggerRealtimeNamespaceId string {createGatheringTriggerType} == “gs2_realtime” ※ ~ 1024文字 ギャザリング作成時にルームを作成する GS2-Realtime のネームスペース ※ createGatheringTriggerType が “gs2_realtime” であれば必須 createGatheringTriggerScriptId string {createGatheringTriggerType} == “gs2_script” ※ ~ 1024文字 ギャザリング作成時に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ createGatheringTriggerType が “gs2_script” であれば必須 completeMatchmakingTriggerType 文字列列挙型 enum {   “none”,   “gs2_realtime”,   “gs2_script” } “none” マッチメイキング完了時トリガータイプ マッチメイキングが完了した（すべてのロール枠が埋まった）ときに実行するアクションの種類。 マッチングされたプレイヤー向けに GS2-Realtime のルーム作成をトリガーしたり、GS2-Script を実行してカスタムの事後処理ロジックを実行できます。デフォルトは “none” です。 定義 説明 “none” なし “gs2_realtime” GS2-Realtime のルーム作成 “gs2_script” GS2-Script の実行 completeMatchmakingTriggerRealtimeNamespaceId string {completeMatchmakingTriggerType} == “gs2_realtime” ※ ~ 1024文字 マッチメイキング完了時にルームを作成する GS2-Realtime のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ completeMatchmakingTriggerType が “gs2_realtime” であれば必須 completeMatchmakingTriggerScriptId string {completeMatchmakingTriggerType} == “gs2_script” ※ ~ 1024文字 マッチメイキング完了時に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ completeMatchmakingTriggerType が “gs2_script” であれば必須 enableCollaborateSeasonRating 文字列列挙型 enum {   “enable”,   “disable” } “disable” シーズンレーティング連携の有効化 シーズンベースのレーティング計算のために GS2-SeasonRating との連携を有効にするかどうか。 有効にすると、マッチメイキング完了時に指定した GS2-SeasonRating のネームスペースにレーティング計算セッションが自動作成されます。 デフォルトは “disable” です。 定義 説明 “enable” 有効 “disable” 無効 collaborateSeasonRatingNamespaceId string {enableCollaborateSeasonRating} == “enable” ※ ~ 1024文字 シーズンレーティングネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ enableCollaborateSeasonRating が “enable” であれば必須 collaborateSeasonRatingTtl int {enableCollaborateSeasonRating} == “enable” 60 60 ~ 7200 シーズンレーティング結果TTL（秒） マッチメイキング完了後、GS2-SeasonRating 経由の対戦結果送信を受け付ける最大待機時間（秒）。 この期間内に結果が送信されない場合、レーティングセッションは期限切れとなります。60 から 7200 秒の範囲で指定します。デフォルトは 60 です。 ※ enableCollaborateSeasonRating が “enable” であれば必須 changeRatingScript ScriptSetting レーティング値が変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeRating joinNotification NotificationSetting 参加通知 新しいプレイヤーがギャザリングに参加したときのプッシュ通知設定。 既存の参加者に新しいプレイヤーが参加したことを通知し、ゲームクライアントがマッチメイキング UI を更新できるようにします。 leaveNotification NotificationSetting 離脱通知 プレイヤーがギャザリングから離脱したときのプッシュ通知設定。 残りの参加者にプレイヤーが離脱したことを通知し、ゲームクライアントに変更を反映させます。 completeNotification NotificationSetting 完了通知 マッチメイキングが完了した（すべてのロール枠が埋まった）ときのプッシュ通知設定。 すべての参加者にギャザリングが満員になり対戦を開始できることを通知します。 changeRatingNotification NotificationSetting レーティング変動通知 投票処理後にプレイヤーのレーティング値が変動したときのプッシュ通知設定。 影響を受けたプレイヤーに新しいレーティングを通知し、ゲームクライアントに更新された値を表示させます。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、マッチメイキングの操作（ギャザリングの作成・参加・離脱、投票、レーティング変動など）がモニタリングと分析のためにログ出力されます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 マッチメイキング操作時のトランザクションの処理方法を制御する設定です。 enableRating bool false レーティング計算機能の有効化 Glicko-2 ベースのレーティング計算機能を有効にするかどうか。 有効にすると、プレイヤーは Vote システムを通じて対戦結果を送信し、レーティングが自動的に更新されます。 RatingModel マスターデータの設定が必要です。デフォルトは false です。 enableDisconnectDetection 文字列列挙型 enum {   “disable”,   “enable” } “disable” 切断検知 マッチメイキング中のプレイヤーが待機中であることを定期的に報告する必要があるかを制御します。 有効にすると、プレイヤーが設定されたタイムアウト期間内にキープアライブを送信しない場合、ギャザリングから自動的に退出処理されます。 これにより「ゴースト」プレイヤーがマッチメイキングの完了をブロックすることを防ぎます。デフォルトは “disable” です。 定義 説明 “disable” 無効 “enable” 有効 disconnectDetectionTimeoutSeconds int {enableDisconnectDetection} == “enable” ※ 15 ~ 600 切断検知タイムアウト（秒） キープアライブ報告なしにプレイヤーを切断とみなしギャザリングから退出させるまでの待機秒数。 切断検知が有効な場合のみ適用されます。15 から 600 秒の範囲で指定します。 ※ enableDisconnectDetection が “enable” であれば必須 createGatheringTriggerType 文字列列挙型 enum {   “none”,   “gs2_realtime”,   “gs2_script” } “none” ギャザリング作成時トリガータイプ 新しいギャザリングが作成されたときに実行するアクションの種類。 GS2-Realtime のルーム作成をトリガーしてリアルタイム通信を開始したり、GS2-Script を実行してカスタムロジックを実行できます。デフォルトは “none” です。 定義 説明 “none” なし “gs2_realtime” GS2-Realtime のルーム作成 “gs2_script” GS2-Script の実行 createGatheringTriggerRealtimeNamespaceId string {createGatheringTriggerType} == “gs2_realtime” ※ ~ 1024文字 ギャザリング作成時にルームを作成する GS2-Realtime のネームスペース ※ createGatheringTriggerType が “gs2_realtime” であれば必須 createGatheringTriggerScriptId string {createGatheringTriggerType} == “gs2_script” ※ ~ 1024文字 ギャザリング作成時に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ createGatheringTriggerType が “gs2_script” であれば必須 completeMatchmakingTriggerType 文字列列挙型 enum {   “none”,   “gs2_realtime”,   “gs2_script” } “none” マッチメイキング完了時トリガータイプ マッチメイキングが完了した（すべてのロール枠が埋まった）ときに実行するアクションの種類。 マッチングされたプレイヤー向けに GS2-Realtime のルーム作成をトリガーしたり、GS2-Script を実行してカスタムの事後処理ロジックを実行できます。デフォルトは “none” です。 定義 説明 “none” なし “gs2_realtime” GS2-Realtime のルーム作成 “gs2_script” GS2-Script の実行 completeMatchmakingTriggerRealtimeNamespaceId string {completeMatchmakingTriggerType} == “gs2_realtime” ※ ~ 1024文字 マッチメイキング完了時にルームを作成する GS2-Realtime のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ completeMatchmakingTriggerType が “gs2_realtime” であれば必須 completeMatchmakingTriggerScriptId string {completeMatchmakingTriggerType} == “gs2_script” ※ ~ 1024文字 マッチメイキング完了時に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ completeMatchmakingTriggerType が “gs2_script” であれば必須 enableCollaborateSeasonRating 文字列列挙型 enum {   “enable”,   “disable” } “disable” シーズンレーティング連携の有効化 シーズンベースのレーティング計算のために GS2-SeasonRating との連携を有効にするかどうか。 有効にすると、マッチメイキング完了時に指定した GS2-SeasonRating のネームスペースにレーティング計算セッションが自動作成されます。 デフォルトは “disable” です。 定義 説明 “enable” 有効 “disable” 無効 collaborateSeasonRatingNamespaceId string {enableCollaborateSeasonRating} == “enable” ※ ~ 1024文字 シーズンレーティングネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ enableCollaborateSeasonRating が “enable” であれば必須 collaborateSeasonRatingTtl int {enableCollaborateSeasonRating} == “enable” 60 60 ~ 7200 シーズンレーティング結果TTL（秒） マッチメイキング完了後、GS2-SeasonRating 経由の対戦結果送信を受け付ける最大待機時間（秒）。 この期間内に結果が送信されない場合、レーティングセッションは期限切れとなります。60 から 7200 秒の範囲で指定します。デフォルトは 60 です。 ※ enableCollaborateSeasonRating が “enable” であれば必須 changeRatingScript ScriptSetting レーティング値が変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeRating joinNotification NotificationSetting 参加通知 新しいプレイヤーがギャザリングに参加したときのプッシュ通知設定。 既存の参加者に新しいプレイヤーが参加したことを通知し、ゲームクライアントがマッチメイキング UI を更新できるようにします。 leaveNotification NotificationSetting 離脱通知 プレイヤーがギャザリングから離脱したときのプッシュ通知設定。 残りの参加者にプレイヤーが離脱したことを通知し、ゲームクライアントに変更を反映させます。 completeNotification NotificationSetting 完了通知 マッチメイキングが完了した（すべてのロール枠が埋まった）ときのプッシュ通知設定。 すべての参加者にギャザリングが満員になり対戦を開始できることを通知します。 changeRatingNotification NotificationSetting レーティング変動通知 投票処理後にプレイヤーのレーティング値が変動したときのプッシュ通知設定。 影響を受けたプレイヤーに新しいレーティングを通知し、ゲームクライアントに更新された値を表示させます。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、マッチメイキングの操作（ギャザリングの作成・参加・離脱、投票、レーティング変動など）がモニタリングと分析のためにログ出力されます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeGatherings ギャザリングの一覧を取得 指定されたネームスペース内のすべてのギャザリングのページネーション付きリストを取得します。 現在参加者を募集中のギャザリングおよび完了したギャザリングが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ギャザリングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createGathering ギャザリングを作成して募集を開始 募集条件 には、作成したギャザリングに参加を許可する各属性値の範囲を指定します。 たとえば、同一ゲームモードを希望するプレイヤーを募集したい場合は、ゲームモードに対応した属性値が完全一致する参加条件プレイヤーとマッチメイキングするように 属性名：ゲームモード 属性最小値: ゲームモードを表す数値 属性最大値: ゲームモードを表す数値 とすることで、同一ゲームモードを希望するプレイヤー同士をマッチメイキングできます。 他にレーティングをベースにしたマッチメイキングを実施したい場合は、 ルーム作成者のレーティング値を中心とした属性値の範囲を指定することで、レーティング値の近いプレイヤー同士をマッチメイキングできます。 この 募集条件 はあとで更新することができますので、徐々に条件を緩和していくことができます。 ロール とは 盾役1人・回復役1人・攻撃役2人 などの役割ごとに募集人数を設定したい場合に使用します。 ロールにはエイリアスを指定できます。 たとえば、盾役は パラディン と ナイト の2種類の ジョブ に更に分類できるとします。 この場合、ロール名 に 盾役 エイリアス に パラディン ナイト として募集を出すようにゲームを実装します。 そして、プレイヤーは自分自身の ジョブ を自身のプレイヤー情報のロールに指定します。 こうすることで、募集条件が 盾役 になっているギャザリングには パラディン も ナイト も参加できます。 一方で、ギャザリングを作成するときに、 パラディン だけ募集したくて、 ナイト を募集したくない場合は、 募集するロール名に パラディン を直接指定したり、エイリアスに ナイト を含めないようにすることで実現できます。 参加者 の 募集人数 はプレイヤーの募集人数を指定します。ロール名を指定することで、ロール名ごとの募集人数を設定できます。 参加者 の 参加者のプレイヤー情報リスト には事前にプレイヤー間でパーティを構築している場合や、参加者が離脱したあとの追加募集で使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン player Player  自身のプレイヤー情報 attributeRanges List [] 0 ~ 5 items 募集条件 このギャザリングに参加するためにプレイヤーが満たすべき属性範囲条件のリスト。 各エントリは属性名と許容される最小値・最大値の範囲を指定します。 プレイヤー自身の属性値がこの範囲内でなければ参加できません。最大5件。 capacityOfRoles List [] 1 ~ 5 items 募集枠リスト このギャザリングの募集枠を定義します。 各エントリはロール名、その別名、およびそのロールに参加可能な最大人数を指定します。 すべてのロール枠が定員に達するとマッチメイキングが完了となります。最小1件、最大5件。 allowUserIds List [] 0 ~ 100 items 参加許可ユーザーIDリスト このギャザリングへの参加を許可されたユーザーIDのホワイトリスト。 指定した場合、リストに含まれるユーザーのみがこのギャザリングのマッチメイキングに参加できます。 フレンド限定マッチメイキングや招待制マッチメイキングに利用します。最大100件。 expiresAt long ギャザリングの有効期限 このギャザリングが自動的に期限切れとなり削除される時刻。 この時刻までにマッチメイキングが完了しない場合、ギャザリングはクリーンアップされます。 未指定の場合、マッチメイキングが完了するか手動で削除されるまでギャザリングは維持されます。 expiresAtTimeSpan TimeSpan 有効期限までの時間 Result 型 説明 item Gathering 作成したギャザリング 実装例 createGatheringByUserId ユーザーIDを指定してギャザリングを作成して募集を開始 募集条件 には、作成したギャザリングに参加を許可する各属性値の範囲を指定します。 たとえば、同一ゲームモードを希望するプレイヤーを募集したい場合は、ゲームモードに対応した属性値が完全一致する参加条件プレイヤーとマッチメイキングするように 属性名：ゲームモード 属性最小値: ゲームモードを表す数値 属性最大値: ゲームモードを表す数値 とすることで、同一ゲームモードを希望するプレイヤー同士をマッチメイキングできます。 他にレーティングをベースにしたマッチメイキングを実施したい場合は、 ルーム作成者のレーティング値を中心とした属性値の範囲を指定することで、レーティング値の近いプレイヤー同士をマッチメイキングできます。 この 募集条件 はあとで更新することができますので、徐々に条件を緩和していくことができます。 ロール とは 盾役1人・回復役1人・攻撃役2人 などの役割ごとに募集人数を設定したい場合に使用します。 ロールにはエイリアスを指定できます。 たとえば、盾役は パラディン と ナイト の2種類の ジョブ に更に分類できるとします。 この場合、ロール名 に 盾役 エイリアス に パラディン ナイト として募集を出すようにゲームを実装します。 そして、プレイヤーは自分自身の ジョブ を自身のプレイヤー情報のロールに指定します。 こうすることで、募集条件が 盾役 になっているギャザリングには パラディン も ナイト も参加できます。 一方で、ギャザリングを作成するときに、 パラディン だけ募集したくて、 ナイト を募集したくない場合は、 募集するロール名に パラディン を直接指定したり、エイリアスに ナイト を含めないようにすることで実現できます。 参加者 の 募集人数 はプレイヤーの募集人数を指定します。ロール名を指定することで、ロール名ごとの募集人数を設定できます。 参加者 の 参加者のプレイヤー情報リスト には事前にプレイヤー間でパーティを構築している場合や、参加者が離脱したあとの追加募集で使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID player Player  自身のプレイヤー情報 attributeRanges List [] 0 ~ 5 items 募集条件 このギャザリングに参加するためにプレイヤーが満たすべき属性範囲条件のリスト。 各エントリは属性名と許容される最小値・最大値の範囲を指定します。 プレイヤー自身の属性値がこの範囲内でなければ参加できません。最大5件。 capacityOfRoles List [] 1 ~ 5 items 募集枠リスト このギャザリングの募集枠を定義します。 各エントリはロール名、その別名、およびそのロールに参加可能な最大人数を指定します。 すべてのロール枠が定員に達するとマッチメイキングが完了となります。最小1件、最大5件。 allowUserIds List [] 0 ~ 100 items 参加許可ユーザーIDリスト このギャザリングへの参加を許可されたユーザーIDのホワイトリスト。 指定した場合、リストに含まれるユーザーのみがこのギャザリングのマッチメイキングに参加できます。 フレンド限定マッチメイキングや招待制マッチメイキングに利用します。最大100件。 expiresAt long ギャザリングの有効期限 このギャザリングが自動的に期限切れとなり削除される時刻。 この時刻までにマッチメイキングが完了しない場合、ギャザリングはクリーンアップされます。 未指定の場合、マッチメイキングが完了するか手動で削除されるまでギャザリングは維持されます。 expiresAtTimeSpan TimeSpan 有効期限までの時間 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Gathering 作成したギャザリング 実装例 updateGathering ギャザリングを更新 指定されたギャザリングの募集条件（属性値の範囲）を更新します。 参加者を待っている間に、マッチング条件を徐々に緩和または厳格化できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン attributeRanges List [] 0 ~ 5 items 募集条件 このギャザリングに参加するためにプレイヤーが満たすべき属性範囲条件のリスト。 各エントリは属性名と許容される最小値・最大値の範囲を指定します。 プレイヤー自身の属性値がこの範囲内でなければ参加できません。最大5件。 Result 型 説明 item Gathering 更新したギャザリング 実装例 updateGatheringByUserId ユーザーIDを指定してギャザリングを更新 指定されたユーザーのギャザリングの募集条件（属性値の範囲）を更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 userId string  ~ 128文字 ユーザーID attributeRanges List [] 0 ~ 5 items 募集条件 このギャザリングに参加するためにプレイヤーが満たすべき属性範囲条件のリスト。 各エントリは属性名と許容される最小値・最大値の範囲を指定します。 プレイヤー自身の属性値がこの範囲内でなければ参加できません。最大5件。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Gathering 更新したギャザリング 実装例 doMatchmakingByPlayer Player が参加できるギャザリングを探して参加する 一定時間 検索を行い、対象が見つからなかったときには マッチメイキングの状態を保持するトークン を返す。 次回 マッチメイキングの状態を保持するトークン をつけて再度リクエストを出すことで、前回の続きから検索処理を再開できる。 すべてのギャザリングを検索したが、参加できるギャザリングが存在しなかった場合はギャザリングもトークンもどちらも null が応答される。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 player Player  プレイヤー情報 matchmakingContextToken string ~ 5120文字 検索の再開に使用する マッチメイキングの状態を保持するトークン Result 型 説明 item Gathering 参加したギャザリング matchmakingContextToken string マッチメイキングの状態を保持するトークン 実装例 doMatchmaking 自分が参加できるギャザリングを探して参加する 一定時間 検索を行い、対象が見つからなかったときには マッチメイキングの状態を保持するトークン を返す。 次回 マッチメイキングの状態を保持するトークン をつけて再度リクエストを出すことで、前回の続きから検索処理を再開できる。 すべてのギャザリングを検索したが、参加できるギャザリングが存在しなかった場合はギャザリングもトークンもどちらも null が応答される。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン player Player  自身のプレイヤー情報 matchmakingContextToken string ~ 5120文字 検索の再開に使用する マッチメイキングの状態を保持するトークン Result 型 説明 item Gathering 参加したギャザリング matchmakingContextToken string マッチメイキングの状態を保持するトークン 実装例 doMatchmakingByUserId 自分が参加できるギャザリングを探して参加する 一定時間 検索を行い、対象が見つからなかったときには マッチメイキングの状態を保持するトークン を返す。 次回 マッチメイキングの状態を保持するトークン をつけて再度リクエストを出すことで、前回の続きから検索処理を再開できる。 すべてのギャザリングを検索したが、参加できるギャザリングが存在しなかった場合はギャザリングもトークンもどちらも null が応答される。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID player Player  自身のプレイヤー情報 matchmakingContextToken string ~ 5120文字 検索の再開に使用する マッチメイキングの状態を保持するトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Gathering 参加したギャザリング matchmakingContextToken string マッチメイキングの状態を保持するトークン 実装例 ping マッチメイキング待機中であることを通知 プレイヤーがまだギャザリングで待機中であることを示すキープアライブ ping を送信します。 切断検知が有効な場合、設定されたタイムアウト期間内に ping を送信しなかったプレイヤーはギャザリングから自動的に削除されます。 タイムアウトしたプレイヤーのチェックと削除も行います。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Gathering 更新したギャザリング 実装例 pingByUserId ユーザーIDを指定してマッチメイキング待機中であることを通知 指定されたユーザーのキープアライブ ping を送信します。タイムアウトしたプレイヤーは自動的に削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Gathering 更新したギャザリング 実装例 getGathering ギャザリングを取得 指定されたギャザリングの現在の参加者、属性値の範囲、ロールの定員、有効期限設定を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 Result 型 説明 item Gathering ギャザリング 実装例 cancelMatchmaking マッチメイキングをキャンセルする ギャザリングから離脱する前にマッチメイキングが完了した場合は、NotFoundException(404エラー) が発生し失敗します 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Gathering キャンセルしたギャザリング 実装例 cancelMatchmakingByUserId ユーザーIDを指定してマッチメイキングをキャンセルする ギャザリングから離脱する前にマッチメイキングが完了した場合は、NotFoundException(404エラー) が発生し失敗します 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Gathering キャンセルしたギャザリング 実装例 earlyComplete マッチメイキングを早期終了する マッチメイキングが規定人数に達していない状態で、マッチメイキングを早期終了します。 早期終了が可能なのは、ギャザリングを作成したプレイヤーのみです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Gathering キャンセルしたギャザリング 実装例 earlyCompleteByUserId ユーザーIDを指定してマッチメイキングを早期終了する マッチメイキングが規定人数に達していない状態で、マッチメイキングを早期終了します。 早期終了が可能なのは、ギャザリングを作成したプレイヤーのみです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Gathering キャンセルしたギャザリング 実装例 deleteGathering ギャザリングを削除 指定されたギャザリングおよび関連するすべての参加者データを完全に削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 Result 型 説明 item Gathering 削除したギャザリング 実装例 describeSeasonGatherings シーズンギャザリングの一覧を取得 指定されたシーズンのシーズンギャザリングのページネーション付きリストを取得します。 ティアーでフィルタリングして、特定のスキルレベルのギャザリングのみを表示できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン tier long 0 ~ 9223372036854775805 ティアー pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List シーズンギャザリングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeMatchmakingSeasonGatherings マッチメイキング中のシーズンギャザリングの一覧を取得 現在マッチメイキング可能なシーズンギャザリングのページネーション付きリストを取得します。 ティアーでフィルタリングできます。最大参加人数に達していないギャザリングのみが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン tier long 0 ~ 9223372036854775805 ティアー pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List シーズンギャザリングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 doSeasonMatchmaking 自分が参加できるシーズンギャザリングを探して参加する 一定時間 検索を行い、対象が見つからなかったときには マッチメイキングの状態を保持するトークン を返す。 次回 マッチメイキングの状態を保持するトークン をつけて再度リクエストを出すことで、前回の続きから検索処理を再開できる。 すべてのシーズンギャザリングを検索したが、参加できるシーズンギャザリングが存在しなかった場合はシーズンギャザリングもトークンもどちらも null が応答される。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン matchmakingContextToken string ~ 5120文字 検索の再開に使用する マッチメイキングの状態を保持するトークン Result 型 説明 item SeasonGathering 参加したシーズンギャザリング matchmakingContextToken string マッチメイキングの状態を保持するトークン 実装例 doSeasonMatchmakingByUserId 自分が参加できるシーズンギャザリングを探して参加する 一定時間 検索を行い、対象が見つからなかったときには マッチメイキングの状態を保持するトークン を返す。 次回 マッチメイキングの状態を保持するトークン をつけて再度リクエストを出すことで、前回の続きから検索処理を再開できる。 すべてのシーズンギャザリングを検索したが、参加できるシーズンギャザリングが存在しなかった場合はシーズンギャザリングもトークンもどちらも null が応答される。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID matchmakingContextToken string ~ 5120文字 検索の再開に使用する マッチメイキングの状態を保持するトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SeasonGathering 参加したシーズンギャザリング matchmakingContextToken string マッチメイキングの状態を保持するトークン 実装例 getSeasonGathering シーズンギャザリングを取得 指定されたシーズンギャザリングの参加者とティアー情報を含む詳細を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン tier long  0 ~ 9223372036854775805 ティアー 同程度のランクのプレイヤーをグルーピングするためのティアーレベル。 SeasonModel で指定された GS2-Experience モデルにおけるプレイヤーのランクによって決定されます。 プレイヤーは同じティアーのプレイヤーとのみマッチングされ、公平な対戦が保証されます。 seasonGatheringName string  UUID ~ 128文字 シーズンギャザリング名 シーズンギャザリング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SeasonGathering シーズンギャザリング 実装例 verifyIncludeParticipant 永続ギャザリングにユーザーIDが含まれているかを検証 指定されたシーズンギャザリングにユーザーが参加しているかどうかを検証します。 検証タイプは ‘include’（ユーザーが参加者であることを確認）または ’notInclude’（ユーザーが参加者でないことを確認）を指定できます。 検証条件が満たされない場合はエラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン tier long  0 ~ 9223372036854775805 ティアー 同程度のランクのプレイヤーをグルーピングするためのティアーレベル。 SeasonModel で指定された GS2-Experience モデルにおけるプレイヤーのランクによって決定されます。 プレイヤーは同じティアーのプレイヤーとのみマッチングされ、公平な対戦が保証されます。 seasonGatheringName string  UUID ~ 128文字 シーズンギャザリング名 シーズンギャザリング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン verifyType 文字列列挙型 enum {   “include”,   “notInclude” }  検証の種類 定義 説明 “include” シーズンギャザリングに指定したユーザーが含まれていること “notInclude” シーズンギャザリングに指定したユーザーが含まれないこと Result 型 説明 item SeasonGathering シーズンギャザリング 実装例 verifyIncludeParticipantByUserId ユーザーIDを指定して永続ギャザリングにユーザーIDが含まれているかを検証 指定されたユーザーがシーズンギャザリングに参加しているかどうかを検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン tier long  0 ~ 9223372036854775805 ティアー 同程度のランクのプレイヤーをグルーピングするためのティアーレベル。 SeasonModel で指定された GS2-Experience モデルにおけるプレイヤーのランクによって決定されます。 プレイヤーは同じティアーのプレイヤーとのみマッチングされ、公平な対戦が保証されます。 seasonGatheringName string  UUID ~ 128文字 シーズンギャザリング名 シーズンギャザリング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID verifyType 文字列列挙型 enum {   “include”,   “notInclude” }  検証の種類 定義 説明 “include” シーズンギャザリングに指定したユーザーが含まれていること “notInclude” シーズンギャザリングに指定したユーザーが含まれないこと timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SeasonGathering シーズンギャザリング 実装例 deleteSeasonGathering シーズンギャザリングを削除 指定されたシーズンギャザリングおよび関連するすべての参加者レコードを削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン tier long  0 ~ 9223372036854775805 ティアー 同程度のランクのプレイヤーをグルーピングするためのティアーレベル。 SeasonModel で指定された GS2-Experience モデルにおけるプレイヤーのランクによって決定されます。 プレイヤーは同じティアーのプレイヤーとのみマッチングされ、公平な対戦が保証されます。 seasonGatheringName string  UUID ~ 128文字 シーズンギャザリング名 シーズンギャザリング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SeasonGathering 削除したシーズンギャザリング 実装例 describeJoinedSeasonGatherings 参加済みシーズンギャザリングの一覧を取得 リクエストしたユーザーが参加したシーズンギャザリングのページネーション付きリストを取得します。 シーズン名でフィルタリングできます。プレイヤーが所属するシーズンマッチメイキンググループを確認できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン seasonName string ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List シーズンギャザリングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeJoinedSeasonGatheringsByUserId ユーザーIDを指定して参加済みシーズンギャザリングの一覧を取得 指定されたユーザーが参加したシーズンギャザリングのページネーション付きリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID seasonName string ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List シーズンギャザリングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getJoinedSeasonGathering 参加済みシーズンギャザリングを取得 指定されたシーズンでリクエストしたユーザーが参加したシーズンギャザリングを取得します。 対象のギャザリングが既に存在しない場合、参加レコードは自動的にクリーンアップされます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン Result 型 説明 item JoinedSeasonGathering シーズンギャザリング 実装例 getJoinedSeasonGatheringByUserId ユーザーIDを指定して参加済みシーズンギャザリングを取得 指定されたユーザーが指定シーズンで参加したシーズンギャザリングを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item JoinedSeasonGathering シーズンギャザリング 実装例 describeRatings レーティングの一覧を取得 リクエストしたユーザーのすべてのレーティングエントリのページネーション付きリストを取得します。 各レーティングエントリには、Glicko-2 アルゴリズムに基づく現在のレーティング値とレーティング偏差（RD）が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List レーティングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeRatingsByUserId ユーザーIDを指定してレーティングの一覧を取得 指定されたユーザーのすべてのレーティングエントリのページネーション付きリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List レーティングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getRating レーティングを取得 指定されたレーティングモデルの現在のレーティング値とレーティング偏差（RD）を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン ratingName string  ~ 128文字 レーティング名 レーティング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Rating レーティング 実装例 getRatingByUserId ユーザーIDを指定してレーティングを取得 指定されたユーザーとレーティングモデルの現在のレーティング値とレーティング偏差（RD）を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID ratingName string  ~ 128文字 レーティング名 レーティング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Rating レーティング 実装例 putResult レーティング値の再計算を実行 レーティングの計算処理には Glicko-2 rating system をベースとした計算アルゴリズムを採用しています。 レーティング値の初期値は1500で、レーティングの値が離れた相手に勝利するほど上昇幅は大きく、同じく負けた側は減少幅は大きくなります。 レーティングの計算には参加したユーザーIDのリストが必要となります。 そのため、クライアントから直接このAPIを呼び出すのは適切ではありません。ゲームの勝敗を判断できるゲームサーバから呼び出すようにしてください。 P2P 対戦など、クライアント主導で対戦を実現している場合は、投票機能を利用して勝敗を決定するようにしてください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ratingName string  ~ 128文字 レーティング名 レーティング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gameResults List 0 ~ 10 items 対戦結果 Result 型 説明 items List 更新後のレーティングの一覧 実装例 deleteRating レーティングを削除 指定されたユーザーのレーティングレコードを削除し、次回のレーティング計算時に初期値にリセットします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID ratingName string  ~ 128文字 レーティング名 レーティング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Rating 削除されたレーティング 実装例 getBallot 署名と共に投票用紙を作成 投票プロセスで使用するための暗号署名付き投票用紙を生成します。 投票用紙にはレーティング名、ギャザリング名、ユーザーID、参加人数が含まれ、改ざん検出のために指定された GS2-Key で署名されます。 返されたボディと署名を Vote または VoteMultiple エンドポイントに送信してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ratingName string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 accessToken string  ~ 128文字 アクセストークン numberOfPlayer int  2 ~ 10 参加人数 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item Ballot 投票用紙 body string 署名対象のデータ signature string 署名データ 実装例 getBallotByUserId ユーザーIDを指定して署名と共に投票用紙を作成 指定されたユーザーの投票プロセスで使用するための暗号署名付き投票用紙を生成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ratingName string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 userId string  ~ 128文字 ユーザーID numberOfPlayer int  2 ~ 10 参加人数 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Ballot 投票用紙 body string 署名対象のデータ signature string 署名データ 実装例 vote 対戦結果を投票 投票は最初の投票が行われてから5分以内に行う必要があります。 つまり、結果は即座に反映されず、投票開始からおよそ5分後または全てのプレイヤーが投票を行った際に結果が反映されます。 5分以内に全ての投票用紙を回収できなかった場合はその時点の投票内容で多数決をとって結果を決定します。 各結果の投票数が同一だった場合は結果は捨てられます（スクリプトで挙動を変更可）。 結果を即座に反映したい場合は、勝利した側の代表プレイヤーが投票用紙を各プレイヤーから集めて voteMultiple を呼び出すことで結果を即座に反映できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ballotBody string  ~ 1024文字 投票用紙の署名対象のデータ ballotSignature string  ~ 256文字 投票用紙の署名 gameResults List 0 ~ 10 items 投票内容。対戦を行ったプレイヤーグループ1に所属するユーザーIDのリスト keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item Ballot 投票用紙 実装例 voteMultiple 対戦結果をまとめて投票 ゲームに勝利した側が他プレイヤーの投票用紙を集めてまとめて投票するのに使用します。 『勝利した側』としているのは、敗北した側が自分たちが勝ったことにして報告することにインセンティブはありますが、その逆はないためです。 負けた側が投票用紙を渡してこない可能性がありますが、その場合も過半数の投票用紙があれば結果を通すことができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 signedBallots List 0 ~ 10 items 署名付の投票用紙リスト gameResults List 0 ~ 10 items 投票内容。対戦を行ったプレイヤーグループ1に所属するユーザーIDのリスト keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item Ballot 投票用紙 実装例 commitVote 投票状況を強制確定 指定されたギャザリングの投票プロセスを強制的に完了します。 結果はこれまでに収集された投票用紙に基づいて多数決で決定されます。票が同数の場合、結果は破棄されます（スクリプトで挙動を変更可）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ratingName string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 gatheringName string  UUID ~ 128文字 ギャザリング名 ギャザリングの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、ギャザリングを識別するために使用されます。 Result 型 説明 実装例 describeRatingModels レーティングモデルの一覧を取得 指定されたネームスペースの現在アクティブなレーティングモデルの一覧を取得します。 レーティングモデルは、初期値やボラティリティなどの Glicko-2 アルゴリズムのパラメータを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List レーティングモデルのリスト 実装例 getRatingModel レーティングモデルを取得 指定されたレーティングモデルの Glicko-2 アルゴリズムの初期値およびボラティリティ設定を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ratingName string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RatingModel レーティングモデル 実装例 describeSeasonModels シーズンモデルの一覧を取得 指定されたネームスペースの現在アクティブなシーズンモデルの一覧を取得します。 シーズンモデルは、最大参加人数、経験値モデルを使用したティアー計算、チャレンジ期間イベントを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List シーズンモデルのリスト 実装例 getSeasonModel シーズンモデルを取得 指定されたシーズンモデルの最大参加人数、ティアー計算用の経験値モデルID、チャレンジ期間イベントIDを含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SeasonModel シーズンモデル 実装例 exportMaster モデルマスターを有効化可能なマスターデータ形式でエクスポート 現在アクティブなレーティングモデルマスターとシーズンモデルマスターを有効化可能な形式でエクスポートします。 エクスポートされたデータは、他のネームスペースのマスターデータ更新やバックアップとして使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentModelMaster 有効化可能なモデルのマスターデータ 実装例 getCurrentModelMaster 現在アクティブなモデルのマスターデータを取得 指定されたネームスペースの現在アクティブなレーティングモデルおよびシーズンモデルのマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentModelMaster 現在アクティブなモデルのマスターデータ 実装例 preUpdateCurrentModelMaster 現在アクティブなモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentModelMaster 現在アクティブなモデルのマスターデータを更新 現在アクティブなモデルのマスターデータを更新します。 2つのモードをサポートします：インライン設定用の ‘direct’ モードと、3フェーズ更新プロセスで事前にアップロードした設定を適用する ‘preUpload’ モードです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentModelMaster 更新された現在アクティブなモデルのマスターデータ 実装例 updateCurrentModelMasterFromGitHub 現在アクティブなモデルのマスターデータをGitHubから更新 指定された GitHub リポジトリからマスターデータを取得して、現在アクティブなモデルのマスターデータを更新します。 GS2-Key に保存された API キーが認証に使用され、チェックアウトするブランチ、タグ、またはコミットハッシュを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentModelMaster 更新された現在アクティブなモデルのマスターデータ 実装例 describeRatingModelMasters レーティングモデルマスターの一覧を取得 指定されたネームスペースのレーティングモデルマスターのページネーション付きリストを取得します。 名前の接頭辞でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 レーティングモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List レーティングモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createRatingModelMaster レーティングモデルマスターを新規作成 指定された Glicko-2 アルゴリズムパラメータで新しいレーティングモデルマスターを作成します。 レーティング計算の初期値（デフォルト: 1500）とボラティリティを設定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialValue int 1500 100 ~ 10000 レート値の初期値 プレイヤーが初めてレーティング付きマッチメイキングに参加したときに割り当てられる開始レート値。 デフォルトは 1500 です。すべてのプレイヤーは同じレーティングから開始し、対戦結果に基づいて調整されます。 volatility int 100 1 ~ 20000 レーティングのボラティリティ 各対戦後にレート値がどの程度変動するかを制御する Glicko-2 のパラメータ。 値が大きいほどレーティングの変動幅が大きくなり、より早くレーティングが調整されます。 値が小さいほどレーティングが安定し、緩やかに変化します。デフォルトは 100 です。 Result 型 説明 item RatingModelMaster 作成したレーティングモデルマスター 実装例 getRatingModelMaster レーティングモデルマスターを取得 指定されたレーティングモデルマスターの初期値およびボラティリティ設定を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ratingName string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RatingModelMaster レーティングモデルマスター 実装例 updateRatingModelMaster レーティングモデルマスターを更新 指定されたレーティングモデルマスターを更新します。説明、メタデータ、初期値、ボラティリティ設定を変更できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ratingName string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialValue int 1500 100 ~ 10000 レート値の初期値 プレイヤーが初めてレーティング付きマッチメイキングに参加したときに割り当てられる開始レート値。 デフォルトは 1500 です。すべてのプレイヤーは同じレーティングから開始し、対戦結果に基づいて調整されます。 volatility int 100 1 ~ 20000 レーティングのボラティリティ 各対戦後にレート値がどの程度変動するかを制御する Glicko-2 のパラメータ。 値が大きいほどレーティングの変動幅が大きくなり、より早くレーティングが調整されます。 値が小さいほどレーティングが安定し、緩やかに変化します。デフォルトは 100 です。 Result 型 説明 item RatingModelMaster 更新したレーティングモデルマスター 実装例 deleteRatingModelMaster レーティングモデルマスターを削除 指定されたレーティングモデルマスターを削除します。 次のマスターデータ更新まで、現在アクティブなマスターデータには影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ratingName string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RatingModelMaster 削除したレーティングモデルマスター 実装例 describeSeasonModelMasters シーズンモデルマスターの一覧を取得 指定されたネームスペースのシーズンモデルマスターのページネーション付きリストを取得します。 名前の接頭辞でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 シーズンモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List シーズンモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createSeasonModelMaster シーズンモデルマスターを新規作成 指定された設定で新しいシーズンモデルマスターを作成します。 ギャザリングあたりの最大参加人数、ティアーベースのマッチメイキング用の経験値モデル、マッチメイキングが利用可能な期間を制御するチャレンジ期間イベントを設定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumParticipants int  2 ~ 1000 最大参加人数 1つのシーズンギャザリングに参加可能なプレイヤーの最大人数。 この上限に達するとシーズンギャザリングは満員となり、それ以上のプレイヤーは参加できなくなります。 2 から 1000 の範囲で指定します。 experienceModelId string ~ 1024文字 ティアー管理用の経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN challengePeriodEventId string  ~ 1024文字 チャレンジ期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item SeasonModelMaster 作成したシーズンモデルマスター 実装例 getSeasonModelMaster シーズンモデルマスターを取得 指定されたシーズンモデルマスターの最大参加人数、経験値モデルID、チャレンジ期間イベントIDを含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SeasonModelMaster シーズンモデルマスター 実装例 updateSeasonModelMaster シーズンモデルマスターを更新 指定されたシーズンモデルマスターを更新します。説明、メタデータ、最大参加人数、経験値モデルID、チャレンジ期間イベントIDを変更できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumParticipants int  2 ~ 1000 最大参加人数 1つのシーズンギャザリングに参加可能なプレイヤーの最大人数。 この上限に達するとシーズンギャザリングは満員となり、それ以上のプレイヤーは参加できなくなります。 2 から 1000 の範囲で指定します。 experienceModelId string ~ 1024文字 ティアー管理用の経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN challengePeriodEventId string  ~ 1024文字 チャレンジ期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item SeasonModelMaster 更新したシーズンモデルマスター 実装例 deleteSeasonModelMaster シーズンモデルマスターを削除 指定されたシーズンモデルマスターを削除します。 次のマスターデータ更新まで、現在アクティブなマスターデータには影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SeasonModelMaster 削除したシーズンモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Matchmaking SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Matchmaking SDK API リファレンス","url":"/ja/api_reference/matchmaking/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用されるログネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースIDは、ログデータを集約し、保存する対象の GS2-Log のネームスペースを指定します。 この設定を通じて、このネームスペース以下のAPIリクエスト・レスポンスログデータが対象の GS2-Log へ出力されるようになります。 GS2-Log にはリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Layer レイヤー 詳細  layerId string ※ ~ 1024文字 レイヤー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 areaModelName string  ~ 128文字 エリア名 layerModelName string  ~ 128文字 レイヤー名 numberOfMinEntries int 5 1 ~ 1000 ノード内のエンティティ数が指定値を下回ると、他のノードと結合を試みる numberOfMaxEntries int 20 1 ~ 1000 ノード内のエンティティ数が指定値を上回ると、ノードの分割を試みる createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 Spatial 空間情報 詳細  spatialId string ※ ~ 1024文字 シリアルキー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID areaModelName string  ~ 128文字 エリア名 layerModelName string  ~ 128文字 レイヤー名 position Position  座標 vector Vector  向き r float 1 0 ~ 10000 半径 lastSyncAt long レイヤーへの最終同期日時 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 AreaModel エリアは空間を分割するもので、同じ座標でもエリアが異なれば別空間として扱うことができます。 詳細  areaModelId string ※ ~ 1024文字 エリアモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 エリアモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 layerModels List [] 0 ~ 1000 items レイヤーモデル一覧 LayerModel レイヤーは1つの空間内で複数の論理階層を実現します。 たとえば、キャラクターが大量に存在する空間で、エネミーが見えなくなってしまう問題を解決します。 レイヤー1 にはキャラクターを配置。レイヤー2にはエネミーを配置した場合、レイヤーごとに指定した距離内での取得数量を指定できるため、見えなくなる心配はありません。 詳細  layerModelId string ※ ~ 1024文字 レイヤーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レイヤーモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Position 座標 詳細  x float  -1048574 ~ 1048574 X座標 y float  -1048574 ~ 1048574 Y座標 z float  -1048574 ~ 1048574 Z座標 MyPosition 自分の位置情報 詳細  position Position  座標 vector Vector  向き r float 1 0 ~ 10000 半径 Scope 取得する周囲の状況 詳細  layerName string  ~ 128文字 レイヤーモデル名 r float  1 ~ 16777214 半径 limit int  1 ~ 100 最大数 Vector 座標 詳細  x float  -1048574 ~ 1048574 X座標 y float  -1048574 ~ 1048574 Y座標 z float  -1048574 ~ 1048574 Z座標 CurrentFieldMaster 現在アクティブなフィールドのモデルのマスターデータ 現在ネームスペース内で有効な、フィールドのモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-MegaField マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ AreaModelMaster エリアは空間を分割するもので、同じ座標でもエリアが異なれば別空間として扱うことができます。 詳細  areaModelMasterId string ※ ~ 1024文字 エリアモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 エリアモデル名 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン LayerModelMaster レイヤーは1つの空間内で複数の論理階層を実現します。 たとえば、キャラクターが大量に存在する空間で、エネミーが見えなくなってしまう問題を解決します。 レイヤー1 にはキャラクターを配置。レイヤー2にはエネミーを配置した場合、レイヤーごとに指定した距離内での取得数量を指定できるため、見えなくなる心配はありません。 詳細  layerModelMasterId string ※ ~ 1024文字 レイヤーモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レイヤーモデル名 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 putPosition 座標を設定 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン areaModelName string  ~ 128文字 エリア名 layerModelName string  ~ 128文字 レイヤー名 position Position  座標 vector Vector  向き r float 1 0 ~ 10000 半径 Result 型 説明 item Spatial 物体 実装例 putPositionByUserId ユーザーIDを指定して座標を設定 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID areaModelName string  ~ 128文字 エリア名 layerModelName string  ~ 128文字 レイヤー名 position Position  座標 vector Vector  向き r float 1 0 ~ 10000 半径 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Spatial 物体 実装例 fetchPosition 座標を取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン areaModelName string  ~ 128文字 エリア名 layerModelName string  ~ 128文字 レイヤー名 userIds List  1 ~ 100 items ユーザーIDリスト Result 型 説明 items List 物体リスト 実装例 fetchPositionFromSystem 座標を取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリア名 layerModelName string  ~ 128文字 レイヤー名 userIds List  1 ~ 100 items ユーザーIDリスト Result 型 説明 items List 物体リスト 実装例 nearUserIds 近くにいるユーザーIDリストを取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン areaModelName string  ~ 128文字 エリア名 layerModelName string  ~ 128文字 レイヤー名 point Position  座標 r float  1 ~ 16777214 半径 limit int  1 ~ 100 最大数 Result 型 説明 items List 近くにいるユーザーIDリスト 実装例 nearUserIdsFromSystem 近くにいるユーザーIDリストを取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリア名 layerModelName string  ~ 128文字 レイヤー名 point Position  座標 r float  1 ~ 16777214 半径 limit int  1 ~ 100 最大数 Result 型 説明 items List 近くにいるユーザーIDリスト 実装例 action 座標を設定 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン areaModelName string  ~ 128文字 エリア名 layerModelName string  ~ 128文字 レイヤー名 position MyPosition  自分の位置情報 scopes List 0 ~ 10 items 他プレイヤーの取得範囲リスト Result 型 説明 items List 物体リスト 実装例 actionByUserId ユーザーIDを指定して座標を設定 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID areaModelName string  ~ 128文字 エリア名 layerModelName string  ~ 128文字 レイヤー名 position MyPosition  自分の位置情報 scopes List 0 ~ 10 items 他プレイヤーの取得範囲リスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 物体リスト 実装例 describeAreaModels エリアモデルの一覧を取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List エリアモデルのリスト 実装例 getAreaModel エリアモデルを取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 Result 型 説明 item AreaModel エリアモデル 実装例 describeLayerModels レイヤーモデルの一覧を取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 Result 型 説明 items List レイヤーモデルのリスト 実装例 getLayerModel レイヤーモデルを取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 layerModelName string  ~ 128文字 レイヤーモデル名 Result 型 説明 item LayerModel 実装例 exportMaster モデルマスターを有効化可能なマスターデータ形式でエクスポート 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentFieldMaster 有効化可能なマスターデータ 実装例 getCurrentFieldMaster 現在アクティブなフィールドのモデルのマスターデータを取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentFieldMaster 現在アクティブなフィールドのモデルのマスターデータ 実装例 preUpdateCurrentFieldMaster 現在アクティブなフィールドのモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentFieldMaster 現在アクティブなフィールドのモデルのマスターデータを更新 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentFieldMaster 更新された現在アクティブなフィールドのモデルのマスターデータ 実装例 updateCurrentFieldMasterFromGitHub 現在アクティブなフィールドのモデルのマスターデータをGitHubから更新 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentFieldMaster 更新された現在アクティブなフィールドのモデルのマスターデータ 実装例 describeAreaModelMasters エリアモデルマスターの一覧を取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List エリアモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createAreaModelMaster エリアモデルマスターを新規作成 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 エリアモデル名 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item AreaModelMaster 作成したエリアモデルマスター 実装例 getAreaModelMaster エリアモデルマスターを取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 Result 型 説明 item AreaModelMaster エリアモデルマスター 実装例 updateAreaModelMaster エリアモデルマスターを更新 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item AreaModelMaster 更新したエリアモデルマスター 実装例 deleteAreaModelMaster エリアモデルマスターを削除 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 Result 型 説明 item AreaModelMaster 削除したエリアモデルマスター 実装例 describeLayerModelMasters レイヤーモデルマスターの一覧を取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List レイヤーモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createLayerModelMaster レイヤーモデルマスターを新規作成 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 name string  ~ 128文字 レイヤーモデル名 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item LayerModelMaster 作成したレイヤーモデルマスター 実装例 getLayerModelMaster レイヤーモデルマスターを取得 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 layerModelName string  ~ 128文字 レイヤーモデル名 Result 型 説明 item LayerModelMaster レイヤーモデルマスター 実装例 updateLayerModelMaster レイヤーモデルマスターを更新 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 layerModelName string  ~ 128文字 レイヤーモデル名 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item LayerModelMaster 更新したレイヤーモデルマスター 実装例 deleteLayerModelMaster レイヤーモデルマスターを削除 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 areaModelName string  ~ 128文字 エリアモデル名 layerModelName string  ~ 128文字 レイヤーモデル名 Result 型 説明 item LayerModelMaster 削除したレイヤーモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-MegaField SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-MegaField SDK API リファレンス","url":"/ja/api_reference/mega_field/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 ミッション達成報酬の付与時に使用される分散トランザクションの設定です。 missionCompleteScript ScriptSetting ミッションを達成したときに実行するスクリプトの設定 Script トリガーリファレンス - missionComplete counterIncrementScript ScriptSetting カウンターが上昇したときに実行するスクリプトの設定 Script トリガーリファレンス - counterIncrement receiveRewardsScript ScriptSetting 報酬を受け取ったときに実行するスクリプトの設定 Script トリガーリファレンス - receiveRewards completeNotification NotificationSetting  ミッションのタスクを達成したときのプッシュ通知 ミッションタスクの達成条件が満たされた際に GS2-Gateway を通じて配信されるプッシュ通知の設定です。ゲームクライアントが達成状況を即座にUIに反映できるようにします。 logSetting LogSetting ログの出力設定 このネームスペースに対するAPIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。カウンターの増加、ミッション達成、報酬受け取りのデバッグに役立ちます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。 詳細  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Complete ミッションの達成状況 特定のミッショングループに対するユーザーのミッション達成状況と報酬受け取り状況を追跡します。達成済みタスク名と報酬受け取り済みタスク名を別々のリストで管理し、達成されたタスクと実際に報酬が受け取られたタスクを区別します。 詳細  completeId string ※ ~ 1024文字 達成状況 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 completedMissionTaskNames List [] 0 ~ 1000 items 達成済みのタスク名リスト ユーザーが達成した（達成条件を満たした）ミッションタスクの名前です。カウンターが目標値に達するか検証アクションが成功した時点でこのリストに追加されます。報酬の受け取りの有無は問いません。 receivedMissionTaskNames List [] 0 ~ 1000 items 報酬の受け取り済みのタスク名リスト ユーザーが達成報酬を受け取り済みのミッションタスクの名前です。報酬を受け取るには、タスクが達成済みリストに含まれている必要があります。 nextResetAt long 次回リセットタイミング このミッショングループの達成状況がリセットされる日時です。ミッショングループのリセットタイプとタイミング設定によって決定されます。リセットタイプが “notReset” の場合は null です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Counter カウンター カウンターはミッションの進行状況をゲームプレイヤー毎に保持するエンティティです。 カウンターの値は関連付けられたタスクの期間ごとに集計されます。 そのため、1つのカウンターは複数の値を持ちます。 例えば、クエストのクリア回数カウンターであれば、今月のクリア回数、今週のクリア回数、今日のクリア回数、といった具合です。 詳細  counterId string ※ ~ 1024文字 カウンター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID name string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 values List [] 0 ~ 32 items 値 このカウンターのスコープ別の値のリストです。各エントリは特定のスコープ（リセットタイミングまたは検証アクション条件）のカウンター値と次回リセット時刻を保持します。1つのカウンターが複数のスコープの値を同時に保持します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン CounterScopeModel カウンターリセットタイミングモデル カウンターのスコープを定義し、カウンター値のリセット方法とタイミングを決定します。スコープはリセットタイミング（毎日、毎週、毎月、一定日数ごと、またはリセットなし）か検証アクション条件のいずれかです。各カウンターは複数のスコープを持ち、異なる期間の値を追跡できます。 詳細  scopeType 文字列列挙型 enum {   “resetTiming”,   “verifyAction” } “resetTiming” スコープの種類 カウンタースコープの定義方法を決定します。“resetTiming” は定期的なリセットスケジュールを使用し、“verifyAction” は検証アクションでカウンター値が適用されるかどうかを判定します。 定義 説明 “resetTiming” リセットタイミング “verifyAction” 検証アクション resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } “notReset” リセットタイミング このスコープのカウンター値がリセットされるタイミングを決定します。リセットしない（恒久累計）、毎日、毎週、毎月、一定日数ごとから選択します。scopeType が “resetTiming” の場合のみ使用されます。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセットをする日にち カウンター値がリセットされる月の日にちです。指定した値が月の日数を超える場合は、その月の最終日として扱われます。resetType が “monthly” の場合のみ使用されます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセットする曜日 カウンター値がリセットされる曜日です。resetType が “weekly” の場合のみ使用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 カウンター値がリセットされる時刻（0〜23）です。毎日、毎週、毎月のリセットタイプと組み合わせて使用されます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 conditionName string {scopeType} == “verifyAction” ※ ~ 128文字 条件名 この検証アクション条件スコープを識別する一意の名前です。カウンター内の対応するスコープ値の検索に使用されます。scopeType が “verifyAction” の場合のみ使用されます。 ※ scopeType が “verifyAction” であれば 必須 condition VerifyAction {scopeType} == “verifyAction” ※ 条件 このスコープのカウンター値が適用されるかどうかを判定する検証アクションです。scopeType が “verifyAction” の場合のみ使用されます。 ※ scopeType が “verifyAction” であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば 必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 基準日時からカウントされるカウンター値のリセット間隔の日数です。resetType が “days” の場合のみ使用されます。 ※ resetType が “days” であれば 必須 CounterModel カウンターモデル カウンターモデルはミッションタスクの達成条件に設定可能なエンティティです。 カウンターの値は複数のミッショングループから参照可能なため、1つのカウンターでウィークリーミッションとデイリーミッションといった複数のミッショングループの達成条件に設定ができます。 詳細  counterId string ※ ~ 1024文字 カウンターモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scopes List [] 1 ~ 20 items カウンターのリセットタイミングリスト このカウンターのスコープ（リセットタイミングまたは検証アクション条件）を定義します。1つのカウンターに複数のスコープを設定でき、異なる期間の値（例：デイリー、ウィークリー、累計を同時に）を追跡できます。 challengePeriodEventId string ~ 1024文字 カウンターの操作が可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このカウンターの増減が可能な期間を定義する GS2-Schedule イベントを指定します。未設定の場合、カウンターはいつでも操作できます。 MissionGroupModel ミッショングループモデル ミッショングループは、カウンターのリセットタイミングでタスクをグルーピングするエンティティです。 たとえば、デイリーミッションで1つのグループ、ウィークリーミッションで1つのグループとなります。 詳細  missionGroupId string ※ ~ 1024文字 ミッショングループ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 tasks List [] 0 ~ 1000 items ミッションタスクリスト このグループに属するミッションタスクです。各タスクは達成条件（カウンターの閾値または検証アクション）と達成時に付与される報酬を定義します。 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } “notReset” リセットタイミング ミッショングループの達成状況がリセットされるタイミングを決定します。リセットしない（恒久）、毎日、毎週、毎月、基準日時から一定日数ごとから選択します。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセットをする日にち ミッショングループがリセットされる月の日にちです。指定した値が月の日数を超える場合は、その月の最終日として扱われます。resetType が “monthly” の場合のみ使用されます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセットする曜日 ミッショングループがリセットされる曜日です。resetType が “weekly” の場合のみ使用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 ミッショングループがリセットされる時刻（0〜23）です。毎日、毎週、毎月のリセットタイプと組み合わせて使用されます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 completeNotificationNamespaceId string ~ 1024文字 ミッションのタスクを達成したときのプッシュ通知 このグループ内のミッションタスクが達成された際にプッシュ通知を配信するために使用される GS2-Gateway のネームスペースGRNです。ゲームクライアントにリアルタイムで通知できます。 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば 必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 基準日時からカウントされるリセット間隔の日数です。resetType が “days” の場合のみ使用されます。 ※ resetType が “days” であれば 必須 MissionTaskModel ミッションタスクモデル ミッションタスクは関連付けたカウンターの値が一定を超えたら報酬が貰える条件を定義するエンティティです。 詳細  missionTaskId string ※ ~ 1024文字 ミッションタスク GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyCompleteType 文字列列挙型 enum {   “counter”,   “verifyActions” } “counter” 達成条件種別 ミッションタスクの達成判定方法を指定します。“counter” は関連するカウンターのスコープ値が目標閾値に達したかを確認します。“verifyActions” は検証アクションを使用して達成条件を確認します。 定義 説明 “counter” カウンター “verifyActions” 検証アクション targetCounter TargetCounterModel {verifyCompleteType} == “counter” ※ 目標カウンター ミッションタスクの達成判定に使用されるカウンター、スコープ、目標値を定義します。カウンターのスコープ値が指定された目標値に達するか超えた場合、タスクが達成されたとみなされます。 ※ verifyCompleteType が “counter” であれば 必須 verifyCompleteConsumeActions List {verifyCompleteType} == “verifyActions” [] 0 ~ 10 items タスク達成判定に使用する検証アクション ミッションタスクの達成判定に使用される検証アクションのリストです。すべての検証アクションが成功した場合にタスクが達成とみなされます。verifyCompleteType が “verifyActions” の場合のみ使用されます。 ※ verifyCompleteType が “verifyActions” であれば 有効 completeAcquireActions List [] 0 ~ 100 items ミッション達成時の報酬 プレイヤーがミッション達成報酬を受け取る際に実行される入手アクションのリストです。 challengePeriodEventId string ~ 1024文字 報酬が受け取り可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ミッションタスクの報酬を受け取ることができる期間を定義する GS2-Schedule イベントを指定します。未設定の場合、達成後いつでも報酬を受け取ることができます。 premiseMissionTaskName string ~ 128文字 このタスクに挑戦するために達成しておく必要のあるタスクの名前 このタスクの報酬を受け取る前に達成しておく必要がある、同じグループ内の前提ミッションタスクを指定します。段階的なミッションチェーンの作成に使用します。 TargetCounterModel 目標カウンター ミッションの達成目標となるカウンターの情報 詳細  counterName string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 scopeType 文字列列挙型 enum {   “resetTiming”,   “verifyAction” } “resetTiming” スコープの種類 ミッション達成判定に使用するカウンタースコープの種類を指定します。“resetTiming” は特定のリセット期間のカウンター値を評価し、“verifyAction” は名前付き条件の値を評価します。 定義 説明 “resetTiming” リセットタイミング “verifyAction” 検証アクション resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } {scopeType} == “resetTiming” 目標リセットタイミング 目標値と比較するカウンターのリセットタイミングスコープを指定します。例えば “daily” を選択すると、デイリーのカウンター値を確認します。省略した場合、ミッショングループのリセットタイミングが使用されます。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと ※ scopeType が “resetTiming” であれば 有効 conditionName string {scopeType} == “verifyAction” ※ ~ 128文字 条件名 目標値と比較する検証アクション条件スコープの名前です。カウンターモデルのスコープで定義された conditionName と一致する必要があります。scopeType が “verifyAction” の場合のみ使用されます。 ※ scopeType が “verifyAction” であれば 必須 value long  0 ~ 9223372036854775805 目標値 ミッションタスクが達成とみなされるために、カウンターのスコープ値が達するか超える必要がある閾値です。 ScopedValue スコープ値 特定のスコープ内のカウンター値を表します。各スコープ値は特定のリセットタイミング（例：毎日、毎週、毎月）または検証アクション条件の累積カウントを保持します。リセットタイミングが到来すると値はゼロにリセットされます。カウンター値には上限があり、増加しても最大値を超えることはありません。 詳細  scopeType 文字列列挙型 enum {   “resetTiming”,   “verifyAction” } “resetTiming” スコープの種類 このスコープ値がリセットタイミングスケジュールに基づくものか、検証アクション条件に基づくものかを示します。 定義 説明 “resetTiming” リセットタイミング “verifyAction” 検証アクション resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } {scopeType} == “resetTiming” ※ リセットタイミング このスコープ値のリセットタイミングです。カウンター値がリセットされるまでの累積期間を決定します。scopeType が “resetTiming” の場合のみ適用されます。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと ※ scopeType が “resetTiming” であれば 必須 conditionName string {scopeType} == “verifyAction” ※ ~ 128文字 条件名 このスコープ値が対応する検証アクション条件の名前です。この値がどの条件スコープに属するかを識別するために使用されます。scopeType が “verifyAction” の場合のみ適用されます。 ※ scopeType が “verifyAction” であれば 必須 value long 0 0 ~ 9223372036854775805 カウント このスコープの累積カウンター値です。カウンターが増加すると増え、減少すると減ります。値は最大値で上限が設けられ、ゼロを下回ることはありません。 nextResetAt long 次回リセットタイミング このスコープ値がゼロにリセットされる日時です。リセットタイプとタイミング設定に基づいて算出されます。リセットタイプが “notReset” の場合、またはスコープタイプが “verifyAction” の場合は null です。 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 AcquireAction 入手アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 ConsumeAction 消費アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 Config コンフィグ設定 トランザクションの変数に適用する設定値 詳細  key string  ~ 64文字 名前 value string ~ 51200文字 値 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか CurrentMissionMaster 現在アクティブなミッションモデルのマスターデータ 現在ネームスペース内で有効な、ミッションのモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Mission マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ CounterModelMaster カウンターモデルマスター カウンターモデルマスターは、ゲーム内で使用されるカウンターモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるカウンターモデルとして反映されます。 カウンターモデルはミッションタスクの達成条件に設定可能なエンティティです。 カウンターの値は複数のミッショングループから参照可能なため、1つのカウンターでウィークリーミッションとデイリーミッションといった複数のミッショングループの達成条件に設定ができます。 詳細  counterId string ※ ~ 1024文字 カウンターモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 scopes List [] 1 ~ 20 items カウンターのリセットタイミングリスト このカウンターのスコープ（リセットタイミングまたは検証アクション条件）を定義します。1つのカウンターに複数のスコープを設定でき、異なる期間の値（例：デイリー、ウィークリー、累計を同時に）を追跡できます。 challengePeriodEventId string ~ 1024文字 カウンターの操作が可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このカウンターの増減が可能な期間を定義する GS2-Schedule イベントを指定します。未設定の場合、カウンターはいつでも操作できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン MissionGroupModelMaster ミッショングループモデルマスター ミッショングループモデルマスターは、ゲーム内で使用されるミッショングループモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるミッショングループモデルとして反映されます。 ミッショングループは、カウンターのリセットタイミングでタスクをグルーピングするエンティティです。 たとえば、デイリーミッションで1つのグループ、ウィークリーミッションで1つのグループとなります。 詳細  missionGroupId string ※ ~ 1024文字 ミッショングループモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } “notReset” リセットタイミング ミッショングループの達成状況がリセットされるタイミングを決定します。リセットしない（恒久）、毎日、毎週、毎月、基準日時から一定日数ごとから選択します。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセットをする日にち ミッショングループがリセットされる月の日にちです。指定した値が月の日数を超える場合は、その月の最終日として扱われます。resetType が “monthly” の場合のみ使用されます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセットする曜日 ミッショングループがリセットされる曜日です。resetType が “weekly” の場合のみ使用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 ミッショングループがリセットされる時刻（0〜23）です。毎日、毎週、毎月のリセットタイプと組み合わせて使用されます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば 必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 基準日時からカウントされるリセット間隔の日数です。resetType が “days” の場合のみ使用されます。 ※ resetType が “days” であれば 必須 completeNotificationNamespaceId string ~ 1024文字 ミッションのタスクを達成したときのプッシュ通知 このグループ内のミッションタスクが達成された際にプッシュ通知を配信するために使用される GS2-Gateway のネームスペースGRNです。ゲームクライアントにリアルタイムで通知できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン MissionTaskModelMaster ミッションタスクモデルマスター ミッションタスクモデルマスターは、ゲーム内で使用されるミッションタスクモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるミッションタスクモデルとして反映されます。 ミッションタスクは関連付けたカウンターの値が一定を超えたら報酬が貰える条件を定義するエンティティです。 詳細  missionTaskId string ※ ~ 1024文字 ミッションタスクモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 verifyCompleteType 文字列列挙型 enum {   “counter”,   “verifyActions” } “counter” 達成条件種別 ミッションタスクの達成判定方法を指定します。“counter” は関連するカウンターのスコープ値が目標閾値に達したかを確認します。“verifyActions” は検証アクションを使用して達成条件を確認します。 定義 説明 “counter” カウンター “verifyActions” 検証アクション targetCounter TargetCounterModel {verifyCompleteType} == “counter” ※ 目標カウンター ミッションタスクの達成判定に使用されるカウンター、スコープ、目標値を定義します。カウンターのスコープ値が指定された目標値に達するか超えた場合、タスクが達成されたとみなされます。 ※ verifyCompleteType が “counter” であれば 必須 verifyCompleteConsumeActions List {verifyCompleteType} == “verifyActions” 0 ~ 10 items タスク達成判定に使用する検証アクション ミッションタスクの達成判定に使用される検証アクションのリストです。すべての検証アクションが成功した場合にタスクが達成とみなされます。verifyCompleteType が “verifyActions” の場合のみ使用されます。 ※ verifyCompleteType が “verifyActions” であれば 有効 completeAcquireActions List [] 0 ~ 100 items ミッション達成時の報酬 プレイヤーがミッション達成報酬を受け取る際に実行される入手アクションのリストです。 challengePeriodEventId string ~ 1024文字 報酬が受け取り可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ミッションタスクの報酬を受け取ることができる期間を定義する GS2-Schedule イベントを指定します。未設定の場合、達成後いつでも報酬を受け取ることができます。 premiseMissionTaskName string ~ 128文字 このタスクに挑戦するために達成しておく必要のあるタスクの名前 このタスクの報酬を受け取る前に達成しておく必要がある、同じグループ内の前提ミッションタスクを指定します。段階的なミッションチェーンの作成に使用します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 ミッション達成報酬の付与時に使用される分散トランザクションの設定です。 missionCompleteScript ScriptSetting ミッションを達成したときに実行するスクリプトの設定 Script トリガーリファレンス - missionComplete counterIncrementScript ScriptSetting カウンターが上昇したときに実行するスクリプトの設定 Script トリガーリファレンス - counterIncrement receiveRewardsScript ScriptSetting 報酬を受け取ったときに実行するスクリプトの設定 Script トリガーリファレンス - receiveRewards completeNotification NotificationSetting  ミッションのタスクを達成したときのプッシュ通知 ミッションタスクの達成条件が満たされた際に GS2-Gateway を通じて配信されるプッシュ通知の設定です。ゲームクライアントが達成状況を即座にUIに反映できるようにします。 logSetting LogSetting ログの出力設定 このネームスペースに対するAPIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。カウンターの増加、ミッション達成、報酬受け取りのデバッグに役立ちます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 ミッション達成報酬の付与時に使用される分散トランザクションの設定です。 missionCompleteScript ScriptSetting ミッションを達成したときに実行するスクリプトの設定 Script トリガーリファレンス - missionComplete counterIncrementScript ScriptSetting カウンターが上昇したときに実行するスクリプトの設定 Script トリガーリファレンス - counterIncrement receiveRewardsScript ScriptSetting 報酬を受け取ったときに実行するスクリプトの設定 Script トリガーリファレンス - receiveRewards completeNotification NotificationSetting  ミッションのタスクを達成したときのプッシュ通知 ミッションタスクの達成条件が満たされた際に GS2-Gateway を通じて配信されるプッシュ通知の設定です。ゲームクライアントが達成状況を即座にUIに反映できるようにします。 logSetting LogSetting ログの出力設定 このネームスペースに対するAPIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。カウンターの増加、ミッション達成、報酬受け取りのデバッグに役立ちます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeCompletes 達成状況の一覧を取得 リクエストユーザーのミッション達成状況のページネーション付きリストを取得します。 各達成状況は、ミッショングループ内のどのミッションタスクが達成済みで、どの報酬が受領済みかを追跡します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 達成状況のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeCompletesByUserId ユーザーIDを指定して達成状況の一覧を取得 指定されたユーザーのミッション達成状況のページネーション付きリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 達成状況のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 complete ミッション達成報酬を受領するためのトランザクションを発行 指定されたミッションタスクが達成済みであることを確認し、設定された報酬入手アクションを含むトランザクションを発行します。 タスクは達成済み（カウンター条件を満たしている）かつ未受領の状態である必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 missionTaskName string  ~ 128文字 タスク名 タスク固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 transactionId string 発行されたトランザクションID stampSheet string ミッションの達成報酬を受領するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 completeByUserId ユーザーIDを指定してミッション達成報酬を受領するためのトランザクションを発行 指定されたミッションタスクが達成済みであることを確認し、設定された報酬入手アクションを含むトランザクションを発行します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 missionTaskName string  ~ 128文字 タスク名 タスク固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 transactionId string 発行されたトランザクションID stampSheet string ミッションの達成報酬を受領するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 batchComplete ミッション達成報酬を一括で受領するためのトランザクションを発行 同じミッショングループ内の複数のミッションタスクの達成処理を一括で行い、すべての報酬を含むトランザクションを発行します。 各タスクは達成済みかつ未受領の状態である必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 accessToken string  ~ 128文字 アクセストークン missionTaskNames List  1 ~ 100 items タスク名のリスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 transactionId string 発行されたトランザクションID stampSheet string ミッションの達成報酬を受領するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 batchCompleteByUserId ユーザーIDを指定してミッション達成報酬を一括で受領するためのトランザクションを発行 同じミッショングループ内の複数のミッションタスクの達成処理を一括で行います。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 userId string  ~ 128文字 ユーザーID missionTaskNames List  1 ~ 100 items タスク名のリスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 transactionId string 発行されたトランザクションID stampSheet string ミッションの達成報酬を受領するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 receiveByUserId ミッション達成報酬を受領する 指定されたユーザーの指定ミッションタスクを受領済みとしてマークします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 missionTaskName string  ~ 128文字 タスク名 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Complete 受領した達成状況 実装例 batchReceiveByUserId 複数のミッションタスクの達成報酬を一括で受領状態にする 同じミッショングループ内の複数のミッションタスクを一括で受領済みとしてマークします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 userId string  ~ 128文字 ユーザーID missionTaskNames List  1 ~ 100 items タスク名のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Complete 受領した達成状況 実装例 revertReceiveByUserId ミッション達成報酬を未受領状態にする ミッションタスクの受領状態を未受領に戻します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 missionTaskName string  ~ 128文字 タスク名 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Complete 受領した達成状況 実装例 getComplete 達成状況を取得 リクエストユーザーの指定されたミッショングループの達成状況を取得します。 達成済みミッションタスクと受領済みミッションタスクのリストが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Complete 達成状況 実装例 getCompleteByUserId ユーザーIDを指定して達成状況を取得 指定されたユーザーの指定されたミッショングループの達成状況を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Complete 達成状況 実装例 evaluateComplete 達成状況を再評価 指定されたミッショングループ内のすべてのカウンター値をミッションタスク条件と照合して再評価します。 カウンターが既に加算された後にミッションタスクが追加・変更された場合に、新たに達成されたタスクを判定するために使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 Result 型 説明 item Complete 再評価後の達成状況 実装例 evaluateCompleteByUserId ユーザーIDを指定して達成状況を再評価 指定されたミッショングループ内のすべてのカウンター値をミッションタスク条件と照合して再評価します。 カウンターが既に加算された後にミッションタスクが追加・変更された場合に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Complete 再評価後の達成状況 実装例 deleteCompleteByUserId 達成状況を削除 指定されたミッショングループとユーザーのすべての達成状況レコードを削除します。 達成済みと受領済みの両方のステータスが削除され、そのミッショングループのユーザー進捗がリセットされます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Complete 削除した達成状況 実装例 verifyComplete ミッションの達成状況を検証 ミッションタスクの達成状況または受領状況を検証します。 サポートされる検証タイプ：‘completed’（達成済み）、’notCompleted’（未達成）、‘received’（受領済み）、’notReceived’（未受領）、‘completedAndNotReceived’（達成済みかつ未受領）。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 accessToken string  ~ 128文字 アクセストークン verifyType 文字列列挙型 enum {   “completed”,   “notCompleted”,   “received”,   “notReceived”,   “completedAndNotReceived” }  検証の種類 定義 説明 “completed” 条件が達成済みであること “notCompleted” 条件が未達成であること “received” 報酬を受け取り済みであること “notReceived” 報酬が未受け取りであること “completedAndNotReceived” 条件が達成済みで、報酬を未受け取りであること missionTaskName string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Complete 削除した達成状況 実装例 verifyCompleteByUserId ユーザーIDを指定してミッションの達成状況を検証 指定されたユーザーのミッションタスクの達成状況または受領状況を検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 userId string  ~ 128文字 ユーザーID verifyType 文字列列挙型 enum {   “completed”,   “notCompleted”,   “received”,   “notReceived”,   “completedAndNotReceived” }  検証の種類 定義 説明 “completed” 条件が達成済みであること “notCompleted” 条件が未達成であること “received” 報酬を受け取り済みであること “notReceived” 報酬が未受け取りであること “completedAndNotReceived” 条件が達成済みで、報酬を未受け取りであること missionTaskName string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Complete 削除した達成状況 実装例 describeCounters カウンターの一覧を取得 リクエストユーザーのカウンターのページネーション付きリストを取得します。 各カウンターは、ミッションタスク条件への進捗を追跡するスコープ付き値を含み、リセット期間（日次・週次・月次など）ごとに値が管理されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List カウンターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeCountersByUserId ユーザーIDを指定してカウンターの一覧を取得 指定されたユーザーのカウンターのページネーション付きリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List カウンターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 increaseCounterByUserId ユーザーIDを指定してカウンターを加算 指定されたユーザーのカウンターに指定値を加算します。 加算後、このカウンターを参照するすべてのミッションタスクが自動的に再評価され、新たに達成されたミッションが changedCompletes レスポンスで返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 userId string  ~ 128文字 ユーザーID value long  1 ~ 9223372036854775805 加算する値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Counter 加算したカウンター changedCompletes List 更新した達成状況のリスト 実装例 setCounterByUserId ユーザーIDを指定してカウンターを設定 指定されたユーザーのカウンターのスコープ付き値を直接設定し、既存の値を置き換えます。 変更前と変更後のカウンター状態、および新たに達成されたミッションが changedCompletes レスポンスで返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 userId string  ~ 128文字 ユーザーID values List 0 ~ 20 items 設定する値のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Counter 加算したカウンター old Counter カウンター加算後のカウンター changedCompletes List 更新した達成状況のリスト 実装例 decreaseCounter カウンターを減算 リクエストユーザーのカウンターから指定値を減算します。 減算後、このカウンターを参照するすべてのミッションタスクが自動的に再評価され、達成状況が変化したミッションが changedCompletes レスポンスで返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 accessToken string  ~ 128文字 アクセストークン value long  1 ~ 9223372036854775805 減算する値 Result 型 説明 item Counter 減算したカウンター changedCompletes List 更新した達成状況のリスト 実装例 decreaseCounterByUserId ユーザーIDを指定してカウンターを減算 指定されたユーザーのカウンターから指定値を減算します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 userId string  ~ 128文字 ユーザーID value long  1 ~ 9223372036854775805 減算する値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Counter 減算したカウンター changedCompletes List 更新した達成状況のリスト 実装例 getCounter カウンターを取得 リクエストユーザーの指定されたカウンターを、すべてのスコープ付き値（リセット期間ごと）を含めて取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Counter カウンター 実装例 getCounterByUserId ユーザーIDを指定してカウンターを取得 指定されたユーザーの指定されたカウンターを、すべてのスコープ付き値を含めて取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Counter カウンター 実装例 verifyCounterValue カウンター値を検証 カウンターのスコープ付き値が指定された条件を満たしているかを検証します。 サポートされる検証タイプ：’less’（未満）、’lessEqual’（以下）、‘greater’（超過）、‘greaterEqual’（以上）、’equal’（一致）、’notEqual’（不一致）。 検証はカウンターの特定のスコープ（リセットタイプと条件）を対象とします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” カウンター値が指定値未満であること “lessEqual” カウンター値が指定値以下であること “greater” カウンター値が指定値超過であること “greaterEqual” カウンター値が指定値以上であること “equal” カウンター値が指定値と一致すること “notEqual” カウンター値が指定値と一致しないこと scopeType 文字列列挙型 enum {   “resetTiming”,   “verifyAction” } “resetTiming” スコープの種類 このスコープ値がリセットタイミングスケジュールに基づくものか、検証アクション条件に基づくものかを示します。 定義 説明 “resetTiming” リセットタイミング “verifyAction” 検証アクション resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } {scopeType} == “resetTiming” ※ リセットタイミング このスコープ値のリセットタイミングです。カウンター値がリセットされるまでの累積期間を決定します。scopeType が “resetTiming” の場合のみ適用されます。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと ※ scopeType が “resetTiming” であれば必須 conditionName string {scopeType} == “verifyAction” ※ ~ 128文字 条件名 このスコープ値が対応する検証アクション条件の名前です。この値がどの条件スコープに属するかを識別するために使用されます。scopeType が “verifyAction” の場合のみ適用されます。 ※ scopeType が “verifyAction” であれば必須 value long 0 0 ~ 9223372036854775805 カウント このスコープの累積カウンター値です。カウンターが増加すると増え、減少すると減ります。値は最大値で上限が設けられ、ゼロを下回ることはありません。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Counter カウンター 実装例 verifyCounterValueByUserId ユーザーIDを指定してカウンター値を検証 指定されたユーザーのカウンターのスコープ付き値が指定された条件を満たしているかを検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” カウンター値が指定値未満であること “lessEqual” カウンター値が指定値以下であること “greater” カウンター値が指定値超過であること “greaterEqual” カウンター値が指定値以上であること “equal” カウンター値が指定値と一致すること “notEqual” カウンター値が指定値と一致しないこと scopeType 文字列列挙型 enum {   “resetTiming”,   “verifyAction” } “resetTiming” スコープの種類 このスコープ値がリセットタイミングスケジュールに基づくものか、検証アクション条件に基づくものかを示します。 定義 説明 “resetTiming” リセットタイミング “verifyAction” 検証アクション resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } {scopeType} == “resetTiming” ※ リセットタイミング このスコープ値のリセットタイミングです。カウンター値がリセットされるまでの累積期間を決定します。scopeType が “resetTiming” の場合のみ適用されます。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと ※ scopeType が “resetTiming” であれば必須 conditionName string {scopeType} == “verifyAction” ※ ~ 128文字 条件名 このスコープ値が対応する検証アクション条件の名前です。この値がどの条件スコープに属するかを識別するために使用されます。scopeType が “verifyAction” の場合のみ適用されます。 ※ scopeType が “verifyAction” であれば必須 value long 0 0 ~ 9223372036854775805 カウント このスコープの累積カウンター値です。カウンターが増加すると増え、減少すると減ります。値は最大値で上限が設けられ、ゼロを下回ることはありません。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Counter カウンター 実装例 resetCounter カウンターをリセット 指定されたスコープのカウンター値をリセットします。 指定されたスコープタイプに一致するスコープ付き値のみがリセットされ、他のスコープ付き値は変更されません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 scopes List  1 ~ 20 items スコープリスト Result 型 説明 item Counter 削除したカウンター 実装例 resetCounterByUserId ユーザーIDを指定してカウンターをリセット 指定されたユーザーの指定されたスコープのカウンター値をリセットします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 scopes List  1 ~ 20 items スコープリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Counter 削除したカウンター 実装例 deleteCounter カウンターを削除 リクエストユーザーの指定されたカウンターとそのすべてのスコープ付き値を削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 Result 型 説明 item Counter 削除したカウンター 実装例 deleteCounterByUserId ユーザーIDを指定してカウンターを削除 指定されたユーザーの指定されたカウンターとそのすべてのスコープ付き値を削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Counter 削除したカウンター 実装例 describeCounterModels カウンターモデルの一覧を取得 指定されたネームスペースの現在アクティブなカウンターモデルの一覧を取得します。 カウンターモデルは、カウンターが動作するスコープ（日次・週次・月次などのリセットタイミング）と条件を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List カウンターモデルのリスト 実装例 getCounterModel カウンターモデルを取得 指定されたカウンターモデルのスコープ、リセット条件、チャレンジ期間イベント設定を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CounterModel カウンターモデル 実装例 describeMissionGroupModels ミッショングループモデルの一覧を取得 指定されたネームスペースの現在アクティブなミッショングループモデルの一覧を取得します。 ミッショングループモデルは、共通のリセットタイプ（日次・週次・月次・なし）を持つミッションタスクのグループを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List ミッショングループモデルのリスト 実装例 getMissionGroupModel ミッショングループモデルを取得 指定されたミッショングループモデルのリセットタイプ、リセットタイミング設定、および含まれるミッションタスクのリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item MissionGroupModel ミッショングループモデル 実装例 describeMissionTaskModels ミッションタスクモデルの一覧を取得 指定されたミッショングループ内の現在アクティブなミッションタスクモデルの一覧を取得します。 ミッションタスクモデルは、対象カウンター条件、達成検証タイプ、報酬アクションを持つ個別タスクを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List ミッションタスクモデルのリスト 実装例 getMissionTaskModel ミッションタスクモデルを取得 指定されたミッションタスクモデルの対象カウンター、達成検証タイプ、報酬入手アクション、前提ミッションタスク設定を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionTaskName string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item MissionTaskModel ミッションタスクモデル 実装例 exportMaster ミッションモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在アクティブなミッショングループモデル、ミッションタスクモデル、カウンターモデルを有効化可能な形式でエクスポートします。 エクスポートされたデータは、他のネームスペースのマスターデータ更新やバックアップとして使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentMissionMaster 有効化可能なミッションモデルのマスターデータ 実装例 getCurrentMissionMaster 現在アクティブなミッションモデルのマスターデータを取得 指定されたネームスペースの現在アクティブなミッションモデルのマスターデータ（ミッショングループモデル、ミッションタスクモデル、カウンターモデルを含む）を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentMissionMaster 現在アクティブなミッションモデルのマスターデータ 実装例 preUpdateCurrentMissionMaster 現在アクティブなミッションモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentMissionMaster 現在アクティブなミッションモデルのマスターデータを更新 現在アクティブなミッションモデルのマスターデータを更新します。 2つのモードをサポートします：インライン設定用の ‘direct’ モードと、3フェーズ更新プロセスで事前にアップロードした設定を適用する ‘preUpload’ モードです。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentMissionMaster 更新された現在アクティブなミッションモデルのマスターデータ 実装例 updateCurrentMissionMasterFromGitHub 現在アクティブなミッションモデルのマスターデータをGitHubから更新 指定された GitHub リポジトリからマスターデータを取得して、現在アクティブなミッションモデルのマスターデータを更新します。 GS2-Key に保存された API キーが認証に使用され、チェックアウトするブランチ、タグ、またはコミットハッシュを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentMissionMaster 更新された現在アクティブなミッションモデルのマスターデータ 実装例 describeCounterModelMasters カウンターモデルマスターの一覧を取得 指定されたネームスペースのカウンターモデルマスターのページネーション付きリストを取得します。 名前の接頭辞でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 カウンターモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List カウンターモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createCounterModelMaster カウンターモデルマスターを新規作成 指定された設定で新しいカウンターモデルマスターを作成します。 リセット条件（日次・週次・月次・カスタム）を定義するスコープと、カウンターが有効な期間を制御するチャレンジ期間イベントを設定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 scopes List [] 1 ~ 20 items カウンターのリセットタイミングリスト このカウンターのスコープ（リセットタイミングまたは検証アクション条件）を定義します。1つのカウンターに複数のスコープを設定でき、異なる期間の値（例：デイリー、ウィークリー、累計を同時に）を追跡できます。 challengePeriodEventId string ~ 1024文字 カウンターの操作が可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item CounterModelMaster 作成したカウンターモデルマスター 実装例 getCounterModelMaster カウンターモデルマスターを取得 指定されたカウンターモデルマスターのスコープ、リセット条件、チャレンジ期間イベント設定を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CounterModelMaster カウンターモデルマスター 実装例 updateCounterModelMaster カウンターモデルマスターを更新 指定されたカウンターモデルマスターを更新します。メタデータ、説明、スコープ、チャレンジ期間イベントIDを変更できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 scopes List [] 1 ~ 20 items カウンターのリセットタイミングリスト このカウンターのスコープ（リセットタイミングまたは検証アクション条件）を定義します。1つのカウンターに複数のスコープを設定でき、異なる期間の値（例：デイリー、ウィークリー、累計を同時に）を追跡できます。 challengePeriodEventId string ~ 1024文字 カウンターの操作が可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item CounterModelMaster 更新したカウンターモデルマスター 実装例 deleteCounterModelMaster カウンターモデルマスターを削除 指定されたカウンターモデルマスターを削除します。 次のマスターデータ更新まで、現在アクティブなマスターデータには影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CounterModelMaster 削除したカウンターモデルマスター 実装例 describeMissionGroupModelMasters ミッショングループモデルマスターの一覧を取得 指定されたネームスペースのミッショングループモデルマスターのページネーション付きリストを取得します。 名前の接頭辞でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 ミッショングループ名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ミッショングループモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createMissionGroupModelMaster ミッショングループモデルマスターを新規作成 指定された設定で新しいミッショングループモデルマスターを作成します。 リセットタイプ（日次・週次・月次・なし）、リセットタイミング（時間・曜日・月日・基準タイムスタンプ）、達成時の通知ネームスペースを設定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } “notReset” リセットタイミング ミッショングループの達成状況がリセットされるタイミングを決定します。リセットしない（恒久）、毎日、毎週、毎月、基準日時から一定日数ごとから選択します。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセットをする日にち ミッショングループがリセットされる月の日にちです。指定した値が月の日数を超える場合は、その月の最終日として扱われます。resetType が “monthly” の場合のみ使用されます。 ※ resetType が “monthly” であれば必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセットする曜日 ミッショングループがリセットされる曜日です。resetType が “weekly” の場合のみ使用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 ミッショングループがリセットされる時刻（0〜23）です。毎日、毎週、毎月のリセットタイプと組み合わせて使用されます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 基準日時からカウントされるリセット間隔の日数です。resetType が “days” の場合のみ使用されます。 ※ resetType が “days” であれば必須 completeNotificationNamespaceId string ~ 1024文字 ミッションのタスクを達成したときのプッシュ通知 このグループ内のミッションタスクが達成された際にプッシュ通知を配信するために使用される GS2-Gateway のネームスペースGRNです。ゲームクライアントにリアルタイムで通知できます。 Result 型 説明 item MissionGroupModelMaster 作成したミッショングループモデルマスター 実装例 getMissionGroupModelMaster ミッショングループモデルマスターを取得 指定されたミッショングループモデルマスターのリセットタイプ、リセットタイミング、通知設定を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item MissionGroupModelMaster ミッショングループモデルマスター 実装例 updateMissionGroupModelMaster ミッショングループモデルマスターを更新 指定されたミッショングループモデルマスターを更新します。メタデータ、説明、リセットタイプ、リセットタイミング、通知設定を変更できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } “notReset” リセットタイミング ミッショングループの達成状況がリセットされるタイミングを決定します。リセットしない（恒久）、毎日、毎週、毎月、基準日時から一定日数ごとから選択します。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセットをする日にち ミッショングループがリセットされる月の日にちです。指定した値が月の日数を超える場合は、その月の最終日として扱われます。resetType が “monthly” の場合のみ使用されます。 ※ resetType が “monthly” であれば必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセットする曜日 ミッショングループがリセットされる曜日です。resetType が “weekly” の場合のみ使用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 ミッショングループがリセットされる時刻（0〜23）です。毎日、毎週、毎月のリセットタイプと組み合わせて使用されます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 基準日時からカウントされるリセット間隔の日数です。resetType が “days” の場合のみ使用されます。 ※ resetType が “days” であれば必須 completeNotificationNamespaceId string ~ 1024文字 ミッションのタスクを達成したときのプッシュ通知 このグループ内のミッションタスクが達成された際にプッシュ通知を配信するために使用される GS2-Gateway のネームスペースGRNです。ゲームクライアントにリアルタイムで通知できます。 Result 型 説明 item MissionGroupModelMaster 更新したミッショングループモデルマスター 実装例 deleteMissionGroupModelMaster ミッショングループモデルマスターを削除 指定されたミッショングループモデルマスターを削除します。 次のマスターデータ更新まで、現在アクティブなマスターデータには影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item MissionGroupModelMaster 削除したミッショングループ 実装例 describeMissionTaskModelMasters ミッションタスクモデルマスターの一覧を取得 指定されたミッショングループ内のミッションタスクモデルマスターのページネーション付きリストを取得します。 名前の接頭辞でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 ミッションタスクモデルマスター名のフィルター接頭辞 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ミッションタスクモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createMissionTaskModelMaster ミッションタスクモデルマスターを新規作成 指定された設定で新しいミッションタスクモデルマスターを作成します。 対象カウンターとしきい値、達成検証タイプ（カウンター値またはカスタム消費アクション）、報酬入手アクション、チャレンジ期間イベント、前提ミッションタスクを設定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 verifyCompleteType 文字列列挙型 enum {   “counter”,   “verifyActions” } “counter” 達成条件種別 ミッションタスクの達成判定方法を指定します。“counter” は関連するカウンターのスコープ値が目標閾値に達したかを確認します。“verifyActions” は検証アクションを使用して達成条件を確認します。 定義 説明 “counter” カウンター “verifyActions” 検証アクション targetCounter TargetCounterModel {verifyCompleteType} == “counter” ※ 目標カウンター ミッションタスクの達成判定に使用されるカウンター、スコープ、目標値を定義します。カウンターのスコープ値が指定された目標値に達するか超えた場合、タスクが達成されたとみなされます。 ※ verifyCompleteType が “counter” であれば必須 verifyCompleteConsumeActions List {verifyCompleteType} == “verifyActions” 0 ~ 10 items タスク達成判定に使用する検証アクション ミッションタスクの達成判定に使用される検証アクションのリストです。すべての検証アクションが成功した場合にタスクが達成とみなされます。verifyCompleteType が “verifyActions” の場合のみ使用されます。 ※ verifyCompleteType が “verifyActions” であれば有効 completeAcquireActions List [] 0 ~ 100 items ミッション達成時の報酬 プレイヤーがミッション達成報酬を受け取る際に実行される入手アクションのリストです。 challengePeriodEventId string ~ 1024文字 報酬が受け取り可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN premiseMissionTaskName string ~ 128文字 このタスクに挑戦するために達成しておく必要のあるタスクの名前 このタスクの報酬を受け取る前に達成しておく必要がある、同じグループ内の前提ミッションタスクを指定します。段階的なミッションチェーンの作成に使用します。 Result 型 説明 item MissionTaskModelMaster 作成したミッションタスクモデルマスター 実装例 getMissionTaskModelMaster ミッションタスクモデルマスターを取得 指定されたミッションタスクモデルマスターの対象カウンター、達成検証タイプ、報酬アクション、前提設定を含む情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionTaskName string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item MissionTaskModelMaster ミッションタスクモデルマスター 実装例 updateMissionTaskModelMaster ミッションタスクモデルマスターを更新 指定されたミッションタスクモデルマスターを更新します。メタデータ、説明、対象カウンター、達成検証タイプ、報酬アクション、チャレンジ期間イベント、前提ミッションタスクを変更できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionTaskName string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 verifyCompleteType 文字列列挙型 enum {   “counter”,   “verifyActions” } “counter” 達成条件種別 ミッションタスクの達成判定方法を指定します。“counter” は関連するカウンターのスコープ値が目標閾値に達したかを確認します。“verifyActions” は検証アクションを使用して達成条件を確認します。 定義 説明 “counter” カウンター “verifyActions” 検証アクション targetCounter TargetCounterModel {verifyCompleteType} == “counter” ※ 目標カウンター ミッションタスクの達成判定に使用されるカウンター、スコープ、目標値を定義します。カウンターのスコープ値が指定された目標値に達するか超えた場合、タスクが達成されたとみなされます。 ※ verifyCompleteType が “counter” であれば必須 verifyCompleteConsumeActions List {verifyCompleteType} == “verifyActions” 0 ~ 10 items タスク達成判定に使用する検証アクション ミッションタスクの達成判定に使用される検証アクションのリストです。すべての検証アクションが成功した場合にタスクが達成とみなされます。verifyCompleteType が “verifyActions” の場合のみ使用されます。 ※ verifyCompleteType が “verifyActions” であれば有効 completeAcquireActions List [] 0 ~ 100 items ミッション達成時の報酬 プレイヤーがミッション達成報酬を受け取る際に実行される入手アクションのリストです。 challengePeriodEventId string ~ 1024文字 報酬が受け取り可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN premiseMissionTaskName string ~ 128文字 このタスクに挑戦するために達成しておく必要のあるタスクの名前 このタスクの報酬を受け取る前に達成しておく必要がある、同じグループ内の前提ミッションタスクを指定します。段階的なミッションチェーンの作成に使用します。 Result 型 説明 item MissionTaskModelMaster 更新したミッションタスクモデルマスター 実装例 deleteMissionTaskModelMaster ミッションタスクモデルマスターを削除 指定されたミッションタスクモデルマスターを削除します。 次のマスターデータ更新まで、現在アクティブなマスターデータには影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionTaskName string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item MissionTaskModelMaster 削除したミッションタスクモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Mission SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Mission SDK API リファレンス","url":"/ja/api_reference/mission/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 マネー操作時のトランザクションの処理方法を制御する設定です。 priority 文字列列挙型 enum {   “free”,   “paid” }  消費優先度 ウォレットから通貨を消費する際に、有償通貨と無償通貨のどちらを先に消費するかを決定します。 “free” に設定すると、無償通貨（単価=0）が先に消費され、次に単価の高い有償通貨が消費されます。 “paid” に設定すると、単価の高い有償通貨が先に消費され、次に無償通貨が消費されます。 定義 説明 “free” 無償通貨を優先して使用する “paid” 有償通貨を優先して使用する shareFree bool  無償通貨の共有 無償通貨をすべてのウォレットスロット間で共有するかどうか。 有効にすると、無償通貨の残高がスロット0から他のすべてのスロットに同期され、異なるプラットフォームのプレイヤーが同じ無償通貨プールを共有できます。 有償通貨はこの設定に関係なく、常にスロットごとに別々に管理されます。 currency 文字列列挙型 enum {   “JPY”,   “USD”,   “TWD” }  通貨の種類 価格設定と資金決済法の遵守計算に使用される実世界の通貨。 有償通貨の価値追跡と返金義務の計算における測定単位を決定します。 ネームスペース作成後は変更できません。 定義 説明 “JPY” 日本円 “USD” 米ドル “TWD” 台湾ドル appleKey string ~ 1024文字 Apple AppStore のバンドルID Apple AppStore の購入レシートを検証するために使用される iOS アプリの Bundle ID。 iOS デバイスからのアプリ内購入を受け付ける場合に必要です。 googleKey string ~ 5120文字 Google PlayStore の秘密鍵 Google Play の購入レシートを検証するために使用されるサービスアカウントの秘密鍵。 Android デバイスからのアプリ内購入を受け付ける場合に必要です。 enableFakeReceipt bool false フェイクレシートの有効化 テスト目的で Unity Editor が生成するフェイク購入レシートを受け付けるかどうか。 開発・テスト環境でのみ有効にし、不正な通貨付与を防ぐため本番環境では必ず無効にする必要があります。 デフォルトは false です。 createWalletScript ScriptSetting ウォレット作成時スクリプト 新しいウォレットが初めて作成されたときに実行するスクリプト。 ウォレットは初回アクセス時に自動作成されるため、プレイヤーが通貨システムに初めてアクセスした際にこのスクリプトがトリガーされます。 depositScript ScriptSetting 残高加算時スクリプト ウォレットに通貨が加算されたときに実行するスクリプト。 有償通貨の加算（ストア購入）と無償通貨の付与の両方でトリガーされます。 withdrawScript ScriptSetting 残高消費時スクリプト ウォレットから通貨が消費されたときに実行するスクリプト。 消費優先度の設定に従って有償通貨または無償通貨が差し引かれる際にトリガーされます。 balance double 0.0 0 ~ 281474976710653 未使用残高 このネームスペース内の全ユーザーにわたる有償通貨の未使用残高合計。設定された実世界通貨で計測されます。 資金決済法の遵守のために、未履行の義務総額を追跡するのに使用されます。 この値は入金と出金が発生するたびにシステムによって自動的に管理されます。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、ウォレット操作（入金、消費、購入）がモニタリング、監査、分析のためにログ出力されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 Wallet ウォレット ウォレット内の通貨は大きく有償で購入した通貨と、無償で入手した通貨が分けて管理されます。 有償で購入した通貨は更に購入時の単価毎に管理され、サービス終了になってしまった際の返金や資金決済法に該当するだけの残高が存在するかが集計できます。 ウォレットにはスロットがあり、スロットごとに異なる残高を管理できます。 プラットフォームをまたいで残高を共有できない場合にはプラットフォーム毎に異なるスロットを利用することで分けて管理することができます。 その際に無償で入手した通貨は全てのプラットフォームで共通した値を利用することもできます。 詳細  walletId string ※ ~ 1024文字 ウォレット GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID slot int  0 ~ 100000000 スロット番号 プラットフォームやコンテキストごとにウォレット残高を分離するための識別子。 異なるスロットにより、別々の有償通貨プールを管理できます（例: iOS購入はスロット0、Androidはスロット1）。 無償通貨はネームスペースの shareFree 設定により、全スロット間で共有することもできます。 paid int 0 0 ~ 2147483646 有償通貨所持量 このウォレットスロット内の有償（購入済み）通貨の合計量。 単価が0でないすべての WalletDetail エントリの合計です。 ストア購入による入金で増加し、消費優先度に従った出金で減少します。 free int 0 0 ~ 2147483646 無償通貨所持量 このウォレットスロット内の無償（付与された）通貨の合計量。 単価が0の WalletDetail エントリに対応します。 ネームスペースで shareFree が有効な場合、この値はスロット0から全ウォレットスロットに同期されます。 detail List [] 0 ~ 1000 items ウォレット詳細リスト 単価（プライスポイント）ごとの通貨保有内訳。 各エントリは特定の単価で取得された通貨の数量を追跡します。 無償通貨は単価0で保存されます。有償通貨のエントリは消費時に単価の降順でソートされます。 エントリの数量が0になると、リストから自動的に削除されます。最大1000件。 shareFree bool false 無償通貨の共有 このウォレットの無償通貨が全スロット間で共有されるかどうか。 この値はウォレット作成時にネームスペース設定から継承されます。 true の場合、無償通貨がスロット0から他のすべてのウォレットスロットに同期されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Receipt レシート レシートは決済履歴を記録するエンティティです。 決済履歴とは、課金通貨の増減に関するリクエストだけではなく、各種配信プラットフォームにおける決済トランザクションの履歴も含まれます。 詳細  receiptId string ※ ~ 1024文字 レシート GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 transactionId string  ~ 1024文字 トランザクションID このトランザクションの一意な識別子。 ストア購入の場合、プラットフォーム固有のトランザクションID（例: Apple トランザクションID、Google オーダーID）に対応します。 入金・消費操作の場合は、システムが生成した識別子です。 purchaseToken string ~ 4096文字 購入トークン Google Play の決済トランザクションから取得される purchaseToken。 Google Play のアプリ内購入の検証と承認に使用されます。Google Play の購入レシートにのみ存在します。 userId string  ~ 128文字 ユーザーID type 文字列列挙型 enum {   “purchase”,   “deposit”,   “withdraw” }  レシートの種類 このレシートが記録するトランザクションの種類。 “purchase” はストアプラットフォーム（Apple/Google）の購入を記録し、“deposit” はウォレットへの通貨加算を記録し、“withdraw” はウォレットからの通貨消費を記録します。 種類によって利用可能なフィールドが異なります。購入レシートには contentsId があり、入金・消費レシートには slot、price、paid、free、total があります。 定義 説明 “purchase” 購入 “deposit” 加算 “withdraw” 消費 slot int {type} != “purchase” ※ 0 ~ 100000000 スロット番号 この入金または消費操作の対象となったウォレットスロット。 入金（deposit）および消費（withdraw）レシートタイプにのみ存在します。 price float {type} != “purchase” ※ 0 ~ 100000.0 単価 このトランザクションに関係する通貨の単価。 0 は無償通貨を示します。入金（deposit）および消費（withdraw）レシートタイプにのみ存在します。 paid int {type} != “purchase” ※ 0 ~ 2147483646 有償通貨 このトランザクションに関係する有償通貨の数量。 入金の場合は追加された有償通貨の数量、消費の場合は消費された有償通貨の数量です。 入金（deposit）および消費（withdraw）レシートタイプにのみ存在します。 free int {type} != “purchase” ※ 0 ~ 2147483646 無償通貨 このトランザクションに関係する無償通貨の数量。 入金の場合は追加された無償通貨の数量、消費の場合は消費された無償通貨の数量です。 入金（deposit）および消費（withdraw）レシートタイプにのみ存在します。 total int {type} != “purchase” ※ 0 ~ 2147483646 総数 このトランザクションに関係する通貨（有償 + 無償）の合計数量。 入金（deposit）および消費（withdraw）レシートタイプにのみ存在します。 contentsId string {type} == “purchase” ~ 1024文字 コンテンツID ストアプラットフォーム（Apple AppStore または Google Play）で販売されているアイテムのプロダクトID。 Apple App Store のプロダクト ID または Google Play のプロダクト ID に対応します。 購入（purchase）レシートタイプにのみ存在します。 ※ type が “purchase” であれば 有効 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン WalletDetail ウォレットの詳細 特定の単価で取得された通貨の数量を追跡する、ウォレット内のプライスポイントエントリ。 無償通貨は単価0で表され、有償通貨は実世界の購入コストに対応する正の単価を持ちます。 この粒度により、各通貨単位に対していくら支払われたかを正確に把握でき、正確な返金計算と資金決済法への準拠が可能になります。 詳細  price float  0 ~ 100000.0 単価 購入時の通貨1単位あたりの実世界価格。 0 は無償通貨を示します。正の値はネームスペースで設定された通貨（JPY、USD、TWD）での単価を持つ有償通貨を表します。 合計価格の計算（単価 × 数量）と消費時の単位あたり価格の計算に使用されます。 count int  0 ~ 2147483646 所持量 この単価での通貨の保有数量。 入金で増加し、出金で減少します。数量が0になると、この詳細エントリはウォレットから自動的に削除されます。 消費時は、ネームスペースの消費優先度に従って（単価の高い順または無償優先で）詳細エントリから通貨が消費されます。 メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 マネー操作時のトランザクションの処理方法を制御する設定です。 priority 文字列列挙型 enum {   “free”,   “paid” }  消費優先度 ウォレットから通貨を消費する際に、有償通貨と無償通貨のどちらを先に消費するかを決定します。 “free” に設定すると、無償通貨（単価=0）が先に消費され、次に単価の高い有償通貨が消費されます。 “paid” に設定すると、単価の高い有償通貨が先に消費され、次に無償通貨が消費されます。 定義 説明 “free” 無償通貨を優先して使用する “paid” 有償通貨を優先して使用する shareFree bool  無償通貨の共有 無償通貨をすべてのウォレットスロット間で共有するかどうか。 有効にすると、無償通貨の残高がスロット0から他のすべてのスロットに同期され、異なるプラットフォームのプレイヤーが同じ無償通貨プールを共有できます。 有償通貨はこの設定に関係なく、常にスロットごとに別々に管理されます。 currency 文字列列挙型 enum {   “JPY”,   “USD”,   “TWD” }  通貨の種類 価格設定と資金決済法の遵守計算に使用される実世界の通貨。 有償通貨の価値追跡と返金義務の計算における測定単位を決定します。 ネームスペース作成後は変更できません。 定義 説明 “JPY” 日本円 “USD” 米ドル “TWD” 台湾ドル appleKey string ~ 1024文字 Apple AppStore のバンドルID Apple AppStore の購入レシートを検証するために使用される iOS アプリの Bundle ID。 iOS デバイスからのアプリ内購入を受け付ける場合に必要です。 googleKey string ~ 5120文字 Google PlayStore の秘密鍵 Google Play の購入レシートを検証するために使用されるサービスアカウントの秘密鍵。 Android デバイスからのアプリ内購入を受け付ける場合に必要です。 enableFakeReceipt bool false フェイクレシートの有効化 テスト目的で Unity Editor が生成するフェイク購入レシートを受け付けるかどうか。 開発・テスト環境でのみ有効にし、不正な通貨付与を防ぐため本番環境では必ず無効にする必要があります。 デフォルトは false です。 createWalletScript ScriptSetting ウォレット作成時スクリプト 新しいウォレットが初めて作成されたときに実行するスクリプト。 ウォレットは初回アクセス時に自動作成されるため、プレイヤーが通貨システムに初めてアクセスした際にこのスクリプトがトリガーされます。 depositScript ScriptSetting 残高加算時スクリプト ウォレットに通貨が加算されたときに実行するスクリプト。 有償通貨の加算（ストア購入）と無償通貨の付与の両方でトリガーされます。 withdrawScript ScriptSetting 残高消費時スクリプト ウォレットから通貨が消費されたときに実行するスクリプト。 消費優先度の設定に従って有償通貨または無償通貨が差し引かれる際にトリガーされます。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、ウォレット操作（入金、消費、購入）がモニタリング、監査、分析のためにログ出力されます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 マネー操作時のトランザクションの処理方法を制御する設定です。 priority 文字列列挙型 enum {   “free”,   “paid” }  消費優先度 ウォレットから通貨を消費する際に、有償通貨と無償通貨のどちらを先に消費するかを決定します。 “free” に設定すると、無償通貨（単価=0）が先に消費され、次に単価の高い有償通貨が消費されます。 “paid” に設定すると、単価の高い有償通貨が先に消費され、次に無償通貨が消費されます。 定義 説明 “free” 無償通貨を優先して使用する “paid” 有償通貨を優先して使用する appleKey string ~ 1024文字 Apple AppStore のバンドルID Apple AppStore の購入レシートを検証するために使用される iOS アプリの Bundle ID。 iOS デバイスからのアプリ内購入を受け付ける場合に必要です。 googleKey string ~ 5120文字 Google PlayStore の秘密鍵 Google Play の購入レシートを検証するために使用されるサービスアカウントの秘密鍵。 Android デバイスからのアプリ内購入を受け付ける場合に必要です。 enableFakeReceipt bool false フェイクレシートの有効化 テスト目的で Unity Editor が生成するフェイク購入レシートを受け付けるかどうか。 開発・テスト環境でのみ有効にし、不正な通貨付与を防ぐため本番環境では必ず無効にする必要があります。 デフォルトは false です。 createWalletScript ScriptSetting ウォレット作成時スクリプト 新しいウォレットが初めて作成されたときに実行するスクリプト。 ウォレットは初回アクセス時に自動作成されるため、プレイヤーが通貨システムに初めてアクセスした際にこのスクリプトがトリガーされます。 depositScript ScriptSetting 残高加算時スクリプト ウォレットに通貨が加算されたときに実行するスクリプト。 有償通貨の加算（ストア購入）と無償通貨の付与の両方でトリガーされます。 withdrawScript ScriptSetting 残高消費時スクリプト ウォレットから通貨が消費されたときに実行するスクリプト。 消費優先度の設定に従って有償通貨または無償通貨が差し引かれる際にトリガーされます。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、ウォレット操作（入金、消費、購入）がモニタリング、監査、分析のためにログ出力されます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDのユーザーデータの完全削除が完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeWallets ウォレット一覧を取得 リクエストユーザーのウォレットスロットのページネーション付きリストを取得します。 各ウォレットスロットは、有償通貨と無償通貨が個別に管理される独立した残高を持ちます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ウォレットのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeWalletsByUserId ユーザーIDを指定してウォレット一覧を取得 指定されたユーザーのウォレットスロットのページネーション付きリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ウォレットのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getWallet ウォレットを取得 リクエストユーザーの指定されたスロットのウォレットを、有償通貨および無償通貨の残高を含めて取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン slot int  0 ~ 100000000 スロット番号 プラットフォームやコンテキストごとにウォレット残高を分離するための識別子。 異なるスロットにより、別々の有償通貨プールを管理できます（例: iOS購入はスロット0、Androidはスロット1）。 無償通貨はネームスペースの shareFree 設定により、全スロット間で共有することもできます。 Result 型 説明 item Wallet ウォレット 実装例 getWalletByUserId ユーザーIDを指定してウォレットを取得 指定されたユーザーの指定されたスロットのウォレットを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID slot int  0 ~ 100000000 スロット番号 プラットフォームやコンテキストごとにウォレット残高を分離するための識別子。 異なるスロットにより、別々の有償通貨プールを管理できます（例: iOS購入はスロット0、Androidはスロット1）。 無償通貨はネームスペースの shareFree 設定により、全スロット間で共有することもできます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Wallet ウォレット 実装例 depositByUserId ユーザーIDを指定してウォレットの残高に加算 指定されたユーザーのウォレットに指定量の通貨を追加します。 価格が 0 の場合は無償通貨として、それ以外の場合は有償通貨として扱われます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID slot int  0 ~ 100000000 スロット番号 プラットフォームやコンテキストごとにウォレット残高を分離するための識別子。 異なるスロットにより、別々の有償通貨プールを管理できます（例: iOS購入はスロット0、Androidはスロット1）。 無償通貨はネームスペースの shareFree 設定により、全スロット間で共有することもできます。 price float  0 ~ 100000.0 購入価格 count int  1 ~ 2147483646 付与する課金通貨の数量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Wallet 加算後のウォレット 実装例 withdraw ウォレットから残高を消費 リクエストユーザーのウォレットから指定量の通貨を消費します。 paidOnly が false の場合、無償通貨が先に消費され、次に有償通貨が消費されます。paidOnly が true の場合、有償通貨のみが消費されます。 レスポンスには消費した通貨の価格が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン slot int  0 ~ 100000000 スロット番号 プラットフォームやコンテキストごとにウォレット残高を分離するための識別子。 異なるスロットにより、別々の有償通貨プールを管理できます（例: iOS購入はスロット0、Androidはスロット1）。 無償通貨はネームスペースの shareFree 設定により、全スロット間で共有することもできます。 count int  1 ~ 2147483646 消費する課金通貨の数量 paidOnly bool false 有償通貨のみを対象とするか Result 型 説明 item Wallet 消費後のウォレット price float 消費した通貨の価格 実装例 withdrawByUserId ユーザーIDを指定してウォレットから残高を消費 指定されたユーザーのウォレットから指定量の通貨を消費します。 paidOnly が false の場合、無償通貨が先に消費され、次に有償通貨が消費されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID slot int  0 ~ 100000000 スロット番号 プラットフォームやコンテキストごとにウォレット残高を分離するための識別子。 異なるスロットにより、別々の有償通貨プールを管理できます（例: iOS購入はスロット0、Androidはスロット1）。 無償通貨はネームスペースの shareFree 設定により、全スロット間で共有することもできます。 count int  1 ~ 2147483646 消費する課金通貨の数量 paidOnly bool false 有償通貨のみを対象とするか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Wallet 消費後のウォレット price float 消費した通貨の価格 実装例 describeReceipts レシートの一覧を取得 指定された日付範囲内の購入レシートのページネーション付きリストを取得します。 ユーザーIDとウォレットスロットでフィルタリングできます。購入履歴の監査やトランザクションの検証に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID slot int 0 ~ 100000000 スロット begin long 現在時刻から30日前の絶対時刻 検索開始日時 end long 現在時刻 検索終了日時 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List レシートのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getByUserIdAndTransactionId ユーザーIDとトランザクションIDを指定してレシートを取得 指定されたユーザーのトランザクションIDで特定の購入レシートを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID transactionId string  ~ 1024文字 トランザクションID このトランザクションの一意な識別子。 ストア購入の場合、プラットフォーム固有のトランザクションID（例: Apple トランザクションID、Google オーダーID）に対応します。 入金・消費操作の場合は、システムが生成した識別子です。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Receipt レシート 実装例 recordReceipt レシートを記録 ストアプラットフォーム（Apple App Store / Google Play）からの購入レシートを記録・検証します。 不正防止のためプラットフォームのサーバーに対してレシートが検証されます。リプレイ攻撃防止のため重複レシートは拒否されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID contentsId string  ~ 1024文字 ストアプラットフォームで販売されているコンテンツID receipt string  ~ 524288文字 レシート timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Receipt 記録したレシート 実装例 revertRecordReceipt ユーザーIDを指定してレシートの記録を削除 トランザクションIDを抽出して対応するレコードを削除することで、以前に記録されたレシートを取り消します。 ストアプラットフォームからの返金やチャージバック処理に使用します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID receipt string  ~ 524288文字 レシート timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Receipt 記録したレシート 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Money SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Money SDK API リファレンス","url":"/ja/api_reference/money/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 通貨の入金・出金時に使用される分散トランザクションの設定です。 currencyUsagePriority 文字列列挙型 enum {   “PrioritizeFree”,   “PrioritizePaid” }  消費優先度 ウォレットから出金する際に有償通貨と無償通貨のどちらを先に消費するかを決定します。“PrioritizeFree” は無償通貨を優先し、“PrioritizePaid” は有償通貨を優先します。 定義 説明 “PrioritizeFree” 無償通貨を優先して使用する “PrioritizePaid” 有償通貨を優先して使用する sharedFreeCurrency bool  無償通貨を異なるスロットで共有するか 有効にすると、無償通貨の残高がすべてのウォレットスロット（プラットフォーム）間で共有されます。有償通貨はスロットごとに分離されたままです。この設定はネームスペース作成時のみ設定可能で、後から変更できません。 platformSetting PlatformSetting  ストアプラットフォーム設定 サポートされている各ストアプラットフォーム（Apple App Store、Google Play、テスト用Fake）の設定です。各プラットフォームでのレシート検証に必要な認証情報やキーを含みます。 depositBalanceScript ScriptSetting ウォレット残高を加算したときに実行するスクリプトの設定 Script トリガーリファレンス - deposit withdrawBalanceScript ScriptSetting ウォレット残高を消費したときに実行するスクリプトの設定 Script トリガーリファレンス - withdraw verifyReceiptScript ScriptSetting レシート検証を実行したときに実行するスクリプトの設定 Script トリガーリファレンス - verifyReceipt subscribeScript string ~ 1024文字 期間課金を新規契約するときに実行する GS2-Script スクリプトGRN(ユーザーの紐づけ変更時には呼び出されない/一度契約失効後に再度契約した場合も呼び出される) Script トリガーリファレンス - subscribe renewScript string ~ 1024文字 期間課金を更新するときに実行する GS2-Script スクリプトGRN Script トリガーリファレンス - renew unsubscribeScript string ~ 1024文字 期間課金を解約するときに実行する GS2-Script スクリプトGRN(ユーザーの紐づけ変更時には呼び出されない) Script トリガーリファレンス - unsubscribe takeOverScript ScriptSetting 期間課金に紐づけられたユーザーを変更するときに実行するスクリプトの設定 Script トリガーリファレンス - takeOver changeSubscriptionStatusNotification NotificationSetting 期間課金の契約状況が変化したときのプッシュ通知 サブスクリプションのステータスが変化した際（有効化、更新、解約、期限切れ、取り消しなど）に GS2-Gateway を通じて配信されるプッシュ通知の設定です。ゲームクライアントがサブスクリプション状態の変化にリアルタイムで対応できるようにします。 logSetting LogSetting ログの出力設定 このネームスペースに対するAPIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。入金、出金、レシート検証、サブスクリプションイベントの追跡に役立ちます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。 詳細  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Wallet ウォレット ウォレット内の通貨は大きく有償で購入した通貨と、無償で入手した通貨が分けて管理されます。 有償で購入した通貨は更に購入時の単価毎に管理され、サービス終了になってしまった際の返金や資金決済法に該当するだけの残高が存在するかが集計できます。 ウォレットにはスロットがあり、スロットごとに異なる残高を管理できます。 プラットフォームをまたいで残高を共有できない場合にはプラットフォーム毎に異なるスロットを利用することで分けて管理することができます。 その際に無償で入手した通貨は全てのプラットフォームで共通した値を利用することもできます。 詳細  walletId string ※ ~ 1024文字 ウォレット GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID slot int  0 ~ 100000000 スロット番号 ウォレットスロットを識別します。プラットフォーム間の残高共有が許可されていない場合、異なるスロットを使用してプラットフォームごとに通貨を分けて管理できます（例：iOS用とAndroid用）。 summary WalletSummary  ウォレットの状態 ウォレットの現在の残高サマリーで、有償通貨、無償通貨、合計額に分けて表示されます。入金トランザクションから算出されます。 depositTransactions List [] 0 ~ 1000 items 入金トランザクションリスト このウォレットへの全入金の記録です。各トランザクションは購入価格、通貨コード、数量、入金日時を追跡します。有償の入金（価格 \u003e 0）は返金計算や法規制対応のために単価ごとに管理されます。 sharedFreeCurrency bool  無償通貨を共有するか このウォレットの無償通貨がすべてのスロット間で共有されるかどうかを示します。ウォレット作成時にネームスペースの設定から継承されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Event イベント イベントは決済履歴を記録するエンティティです。 決済履歴とは、課金通貨の増減に関するリクエストだけではなく、各種配信プラットフォームにおける決済トランザクションの履歴も含まれます。 詳細  eventId string ※ ~ 1024文字 イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 transactionId string  ~ 1024文字 トランザクションID この決済イベントの一意の識別子です。レシート検証イベントの場合はストアプラットフォームのトランザクションIDに対応します。 userId string  ~ 128文字 ユーザーID eventType 文字列列挙型 enum {   “VerifyReceipt”,   “Deposit”,   “Withdraw”,   “Refund” }  イベントの種類 決済イベントの種類です。“VerifyReceipt” はストアのレシート検証を、“Deposit” は通貨の追加を、“Withdraw” は通貨の消費を、“Refund” は返金処理を記録します。 定義 説明 “VerifyReceipt” レシート検証 “Deposit” 加算 “Withdraw” 消費 “Refund” 返金済み verifyReceiptEvent VerifyReceiptEvent レシート検証イベント レシート検証イベントの詳細です。eventType が “VerifyReceipt” の場合に設定されます。ストアコンテンツ名、プラットフォーム、プラットフォーム固有の検証結果を含みます。 depositEvent DepositEvent 入金イベント 入金イベントの詳細です。eventType が “Deposit” の場合に設定されます。ウォレットスロット、入金トランザクション、入金後のウォレット状態を含みます。 withdrawEvent WithdrawEvent 出金イベント 出金イベントの詳細です。eventType が “Withdraw” の場合に設定されます。ウォレットスロット、出金の詳細、出金後のウォレット状態を含みます。 refundEvent RefundEvent 返金イベント 返金イベントの詳細です。eventType が “Refund” の場合に設定されます。ストアコンテンツ名、プラットフォーム、プラットフォーム固有の返金情報を含みます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SubscribeTransaction サブスクリプションの購入情報 ストアプラットフォームからのサブスクリプション購入レコードを表します。有効、トライアル、初回割引、猶予期間、解約、期限切れ、取り消しなどのライフサイクルを通じた詳細なサブスクリプションステータスを追跡します。各トランザクションは特定のストアプラットフォームとユーザーに紐づけられます。 詳細  subscribeTransactionId string ※ ~ 1024文字 サブスクリプショントランザクション GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 contentName string  ~ 128文字 ストア定期課金コンテンツモデル名 transactionId string  ~ 1024文字 トランザクションID ストアプラットフォームによって割り当てられた一意のトランザクション識別子です。同一購入の重複処理を防止するために使用されます。 store 文字列列挙型 enum {   “AppleAppStore”,   “GooglePlay”,   “fake” }  ストア 購入が行われたストアプラットフォームです。レシート検証に使用される検証方法を決定します。 定義 説明 “AppleAppStore” Apple App Store “GooglePlay” Google Play “fake” Fake userId string ~ 128文字 ユーザーID statusDetail 文字列列挙型 enum {   “active@active”,   “active@converted_from_trial”,   “active@in_trial”,   “active@in_intro_offer”,   “grace@canceled”,   “grace@grace_period”,   “grace@on_hold”,   “inactive@expired”,   “inactive@revoked” }  ステータス 詳細なサブスクリプションステータスです。簡易カテゴリ（active/grace/inactive）の後に具体的な状態が続きます。active 状態はサブスクリプションが利用可能であることを、grace 状態は支払いに問題があるが一時的にアクセス可能であることを、inactive 状態はサブスクリプションが無効であることを示します。 定義 説明 “active@active” 有効 “active@converted_from_trial” 無料トライアルが終了し、有料プランに移行 “active@in_trial” 無料トライアル期間中 “active@in_intro_offer” 初回割引期間中 “grace@canceled” ユーザーが手動で解約済み “grace@grace_period” 支払いが失敗したが、猶予期間内 “grace@on_hold” 支払いが失敗し、一定期間内に支払いが完了しなければ利用不可 “inactive@expired” サブスクリプションが期限切れになった “inactive@revoked” 払い戻しなどで強制的にキャンセルされた expiresAt long  有効期限 このサブスクリプショントランザクションが期限切れになる日時です。ストアプラットフォームによってサブスクリプションが更新されると更新されます。 lastAllocatedAt long 最後にユーザーに割り当てられた日時 このサブスクリプショントランザクションが最後にユーザーに割り当てられた日時です。reallocateSpanDays と組み合わせて、サブスクリプションを別のユーザーに再割り当て可能かどうかを判定するために使用されます。 lastTakeOverAt long 最後に対象ユーザーが切り替えられた日時 このサブスクリプションに紐づくユーザーが最後に変更（引き継ぎ）された日時です。サブスクリプションのアカウント移行履歴を追跡します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SubscriptionStatus サブスクリプションの契約状況 特定のサブスクリプションコンテンツに対するユーザーのサブスクリプション契約状況を追跡します。詳細なサブスクリプショントランザクションの状態から導出された簡易的な有効/無効ステータスと、有効期限、関連するサブスクリプショントランザクションのリストを提供します。 詳細  userId string ~ 128文字 ユーザーID contentName string  ~ 128文字 ストア定期課金コンテンツモデル名 status 文字列列挙型 enum {   “active”,   “inactive” }  ステータス 簡易的なサブスクリプションステータスです。“active” は有効、トライアル、初回割引、猶予期間の状態を含みます。“inactive” は期限切れと取り消しの状態を含みます。 定義 説明 “active” 有効 “inactive” 無効 expiresAt long  有効期限 サブスクリプションが期限切れになる日時です。サブスクリプションが更新されたりステータスが変化した際に更新されます。 detail List [] 0 ~ 100 items 契約状況の詳細 このサブスクリプションに関連するサブスクリプショントランザクションのリストです。各トランザクションはストアプラットフォームからの購入レコードで、詳細なステータス情報（有効、トライアル、猶予期間、期限切れ、取り消しなど）を持ちます。 RefundHistory 返金履歴情報 返金イベントを日付、ユーザー、返金の詳細とともに記録します。ストアプラットフォーム（Apple App Store、Google Play）で処理された返金トランザクションを追跡します。 詳細  refundHistoryId string ※ ~ 1024文字 サブスクリプショントランザクション GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 transactionId string  ~ 1024文字 トランザクションID ストアプラットフォームによって割り当てられた一意のトランザクション識別子です。同一購入の重複処理を防止するために使用されます。 year int  2000 ~ 3000 年 month int  1 ~ 12 月 day int  1 ~ 31 日 userId string ~ 128文字 ユーザーID detail RefundEvent  返金イベント情報 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 DailyTransactionHistory 日々の取引履歴 日次の取引データを集計します。通貨コード別の入金総額（売上）、出金総額（消費）、発行通貨数、消費通貨数を含みます。財務レポートやモニタリングに使用されます。 詳細  dailyTransactionHistoryId string ※ ~ 1024文字 日々の取引履歴 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 year int  2000 ~ 3000 年 month int  1 ~ 12 月 day int  1 ~ 31 日 currency string  ~ 8文字 通貨コード depositAmount double 0 0 ~ 281474976710654 売り上げ総額 この日に入金された実金額（売上）の合計で、指定された通貨建てです。 withdrawAmount double 0 0 ~ 281474976710654 消費総額 この日に消費（出金）された通貨の実金額換算の合計で、消費された各入金トランザクションの単価から算出されます。 issueCount long 0 0 ~ 9223372036854775805 発行数量 この日に入金（発行）された仮想通貨の総単位数で、有償通貨と無償通貨の両方を含みます。 consumeCount long 0 0 ~ 9223372036854775805 消費数量 この日に消費（出金）された仮想通貨の総単位数です。 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン UnusedBalance 未使用残高 各通貨ごとの課金通貨の未使用残高を保持するエンティティ。 詳細  unusedBalanceId string ※ ~ 1024文字 未使用残高 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 currency string  ~ 8文字 通貨コード 未使用残高が追跡されるISO通貨コード（例：“JPY”、“USD”）です。 balance double  0 ~ 16777214 未使用残高 全ユーザーにわたる有償通貨の未使用総額で、指定された通貨建てです。資金決済法およびそれに類する規制への準拠に使用されます。 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン StoreContentModel ストアコンテンツモデル 各種ストアプラットフォームのコンテンツを格納するモデルです。 詳細  storeContentModelId string ※ ~ 1024文字 ストアコンテンツモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ストアコンテンツモデル名 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 appleAppStore AppleAppStoreContent Apple AppStore のコンテンツ このストアコンテンツの Apple App Store 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 googlePlay GooglePlayContent Google Play のコンテンツ このストアコンテンツの Google Play 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 StoreSubscriptionContentModel ストア定期課金コンテンツモデル 各種ストアプラットフォームの定期課金コンテンツを格納するモデルです。 詳細  storeSubscriptionContentModelId string ※ ~ 1024文字 期間課金コンテンツモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ストア定期課金コンテンツモデル名 metadata string ~ 1024文字 メタデータ scheduleNamespaceId string  ~ 1024文字 サブスクリプション期間を連動させる GS2-Schedule のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN triggerName string  ~ 128文字 サブスクリプション期間を反映するトリガー名 サブスクリプションの有効期間を反映するために起動される GS2-Schedule のトリガー名です。トリガーの持続時間はサブスクリプションの有効期限に設定されます。 triggerExtendMode 文字列列挙型 enum {   “just”,   “rollupHour” } “just” サブスクリプション期間をトリガーに反映する時のモード サブスクリプションの有効期限をトリガーの持続時間にどのようにマッピングするかを制御します。“just” はサブスクリプション期間をそのまま使用します。“rollupHour” は指定した時刻（UTC）まで延長し、日中の期限切れを回避します。 定義 説明 “just” そのままサブスクリプション期間を反映 “rollupHour” 次の日跨ぎ時刻まで延長してサブスクリプション期間を反映 rollupHour int {triggerExtendMode} == “rollupHour” 0 0 ~ 23 日跨ぎの時刻 (UTC) triggerExtendMode が “rollupHour” の場合、サブスクリプション期間は有効期限日のこの時刻（0〜23、UTC）まで延長されます。ユーザーのプレイセッション中にサブスクリプションが期限切れになるのを防ぎます。 ※ triggerExtendMode が “rollupHour” であれば 有効 reallocateSpanDays int 30 0 ~ 365 サブスクリプションの契約情報を他のユーザーに割り当て可能となる期間（日） 最後の割り当てから、サブスクリプション契約を別のユーザーに再割り当てできるようになるまでの日数です。ユーザーがアカウントを変更する際の不正利用を防止するため、サブスクリプションの移行に待機期間を設けます。 appleAppStore AppleAppStoreSubscriptionContent Apple AppStore のコンテンツ このサブスクリプションコンテンツの Apple App Store のサブスクリプション情報（サブスクリプショングループID）です。 googlePlay GooglePlaySubscriptionContent Google Play のコンテンツ このサブスクリプションコンテンツの Google Play のサブスクリプション情報（プロダクトID）です。 Receipt ストアプラットフォームのレシート ストアプラットフォーム（Apple App Store、Google Play、またはテスト用Fake）からの購入レシートを表します。サーバーサイドのレシート検証に必要なトランザクションIDとペイロードデータを含みます。 詳細  Store 文字列列挙型 enum {   “AppleAppStore”,   “GooglePlay”,   “fake” }  ストア 購入が行われたストアプラットフォームです。レシート検証に使用される検証方法を決定します。 定義 説明 “AppleAppStore” Apple App Store “GooglePlay” Google Play “fake” Fake TransactionID string  ~ 1024文字 トランザクションID ストアプラットフォームによって割り当てられた一意のトランザクション識別子です。同一購入の重複処理を防止するために使用されます。 Payload string  ~ 1048576文字 ペイロード ストアプラットフォームからのレシートデータです。フォーマットはプラットフォームによって異なります。Apple App Store の場合はトランザクションレシート、Google Play の場合は購入トークンと関連データです。 PlatformSetting ストアプラットフォームの設定 サポートされている全ストアプラットフォームの設定を集約します。Apple App Store、Google Play、Fake（Unity Editorでのテスト用）の設定を含みます。各プラットフォーム設定にはレシート検証に必要な認証情報やキーが含まれます。 詳細  appleAppStore AppleAppStoreSetting Apple AppStore の設定 Apple App Store のレシート検証に使用する認証情報です。バンドルID、共有秘密鍵、Issuer ID、キーID、秘密鍵を含みます。 googlePlay GooglePlaySetting Google Play の設定 Google Play のレシート検証に使用する認証情報です。パッケージ名と署名検証用の公開鍵を含みます。 fake FakeSetting Fake (Unity Editor) の設定 開発・テスト中に Unity Editor が生成するフェイクレシートの受け入れに関する設定です。 AppleAppStoreSetting Apple AppStore の設定 Apple App Store のレシート検証のための設定です。Apple のレシート検証サーバーとの通信に必要な認証情報を含みます。バンドルID、共有秘密鍵、App Store Connect の Issuer ID、キーID、秘密鍵が含まれます。 詳細  bundleId string ~ 1024文字 Apple AppStore のバンドルID sharedSecretKey string ~ 1024文字 AppStore Connect で発行したレシートの暗号化に使用する共有秘密鍵 issuerId string ~ 1024文字 AppStore Connect で登録したアプリ内課金の Issuer ID keyId string ~ 1024文字 Apple に登録済みのキーID privateKeyPem string ~ 10240文字 Apple から受け取った秘密鍵 GooglePlaySetting Google Play の設定 Google Play のレシート検証のための設定です。Google Play からの購入署名を検証するために必要なパッケージ名と公開鍵を含みます。 詳細  packageName string ~ 5120文字 Google Play で配信するパッケージ名 publicKey string ~ 5120文字 署名検証に使用する暗号鍵 FakeSetting デバッグ用の偽のプラットフォームの設定 開発中に Unity Editor が生成するフェイクレシートの処理に関する設定です。フェイクレシートを受け入れるか拒否するかを制御し、実際のストアプラットフォームを使わずにアプリ内課金フローをテストできるようにします。 詳細  acceptFakeReceipt 文字列列挙型 enum {   “Accept”,   “Reject” } “Reject” Unity Editor が出力する偽のレシートで決済できるようにするか フェイクレシートの受け入れを制御します。開発・テスト中は “Accept” に設定し、本番環境では不正な通貨入金を防ぐために “Reject” に設定してください。 定義 説明 “Accept” 受け入れる “Reject” 拒否する WalletSummary ウォレットの状態 ウォレットの通貨残高のサマリービューで、有償と無償の金額を分離しています。ウォレット内のすべての入金トランザクションを価格に基づいて集計して算出されます（価格 \u003e 0 は有償、価格 = 0 は無償）。 詳細  paid int 0 0 ~ 2147483646 有償通貨 実際のお金で購入された通貨の合計量です（価格 \u003e 0 の入金トランザクション）。 free int 0 0 ~ 2147483646 無償通貨 無償で入手した通貨の合計量です（価格 = 0 の入金トランザクション）。ログインボーナスやイベント報酬などが含まれます。 total int 0 0 ~ 2147483646 総数 通貨残高の合計（有償 + 無償）。ウォレットで利用可能な全体量を表します。 DepositTransaction 入金トランザクション ウォレット内の単一の入金レコードを表します。有償の入金（価格 \u003e 0）は正確な返金計算と資金決済法への準拠のために単価ごとに追跡されます。無償の入金（価格 = 0）は別途追跡されます。出金時には、ネームスペースの通貨消費優先度に基づいて入金トランザクションが消費されます。 詳細  price double  0.0 ~ 100000000.0 購入価格 この入金に対して現地通貨で支払われた実際の金額です。0 は無償通貨を示します。返金目的の単価計算に使用されます。 currency string {price} \u003e 0 ※ ~ 8文字 通貨コード 実際の支払いのISO通貨コード（例：“JPY”、“USD”）です。有償の入金（価格 \u003e 0）の場合のみ適用されます。 ※ price が 0 より大きければ 必須 count int  0 ~ 2147483646 課金通貨の数量 この入金における仮想通貨の単位数です。ウォレットから出金されると減少します。 depositedAt long 入金日時 この入金が行われた日時です。 VerifyReceiptEvent レシート検証イベント ストアのレシート検証の詳細を記録します。検証されたストアコンテンツ、使用されたプラットフォーム、プラットフォーム固有の検証結果を含みます。 詳細  contentName string  ~ 128文字 ストアコンテンツモデル名 platform 文字列列挙型 enum {   “AppleAppStore”,   “GooglePlay”,   “fake” }  ストアプラットフォーム レシートが発行されたストアプラットフォームです。どの検証フローが使用されたかを決定します。 定義 説明 “AppleAppStore” Apple AppStore “GooglePlay” Google Play “fake” Fake appleAppStoreVerifyReceiptEvent AppleAppStoreVerifyReceiptEvent Apple AppStore のレシート検証イベント Apple App Store からの検証結果です。環境（sandbox または production）情報を含みます。platform が “AppleAppStore” の場合に設定されます。 googlePlayVerifyReceiptEvent GooglePlayVerifyReceiptEvent Google Play のレシート検証イベント Google Play からの検証結果です。購入トークンを含みます。platform が “GooglePlay” の場合に設定されます。 DepositEvent 入金イベント ウォレットへの通貨入金の詳細を記録します。入金トランザクションと入金後のウォレットの状態を含みます。 詳細  slot int  0 ~ 100000000 スロット番号 ウォレットスロットを識別します。プラットフォーム間の残高共有が許可されていない場合、異なるスロットを使用してプラットフォームごとに通貨を分けて管理できます（例：iOS用とAndroid用）。 depositTransactions List [] 0 ~ 1000 items 入金トランザクションリスト このイベントでウォレットに追加された入金トランザクションです。 status WalletSummary  ウォレットの状態 入金が適用された後のウォレットの残高サマリー（有償、無償、合計）です。 WithdrawEvent 出金イベント ウォレットからの通貨出金の詳細を記録します。消費された入金トランザクションの内訳と出金後のウォレットの状態を含みます。 詳細  slot int  0 ~ 100000000 スロット番号 ウォレットスロットを識別します。プラットフォーム間の残高共有が許可されていない場合、異なるスロットを使用してプラットフォームごとに通貨を分けて管理できます（例：iOS用とAndroid用）。 withdrawDetails List [] 0 ~ 1000 items 出金したウォレットの詳細リスト 通貨が消費された入金トランザクションの内訳です。どの入金（有償か無償か、どの単価のもの）から引き落とされたかを示します。 status WalletSummary  ウォレットの状態 出金が適用された後のウォレットの残高サマリー（有償、無償、合計）です。 RefundEvent 返金イベント 返金イベントの詳細を記録します。返金されたストアコンテンツ、返金が処理されたプラットフォーム、プラットフォーム固有の返金情報を含みます。 詳細  contentName string  ~ 128文字 ストアコンテンツモデル名 platform 文字列列挙型 enum {   “AppleAppStore”,   “GooglePlay”,   “fake” }  ストアプラットフォーム 返金が発行されたストアプラットフォームです。 定義 説明 “AppleAppStore” Apple AppStore “GooglePlay” Google Play “fake” Fake appleAppStoreRefundEvent AppleAppStoreVerifyReceiptEvent Apple AppStore のレシート検証イベント googlePlayRefundEvent GooglePlayVerifyReceiptEvent Google Play のレシート検証イベント AppleAppStoreVerifyReceiptEvent Apple AppStore のレシート Apple App Store のレシート検証の結果を含みます。購入が行われた環境（sandbox または production）の情報を含みます。 詳細  environment 文字列列挙型 enum {   “sandbox”,   “production” }  環境 レシートが生成された Apple App Store の環境です。“sandbox” はテスト購入を、“production” は実際の購入を示します。 定義 説明 “sandbox” Sandbox “production” Production GooglePlayVerifyReceiptEvent Google Play のレシート検証イベント Google Play のレシート検証の結果を含みます。購入の検証に使用された購入トークンを含みます。 詳細  purchaseToken string ~ 4096文字 Purchase Token 購入成功後に Google Play から返される購入トークンです。Google Play のサーバーでの購入の検証と確認に使用されます。 AppleAppStoreContent Apple AppStore のコンテンツ アプリ内課金商品に対応する Apple App Store のプロダクトIDを含みます。レシート検証時の照合に使用されます。 詳細  productId string ~ 1024文字 プロダクトID このアプリ内課金アイテムについて App Store Connect に登録されている Apple App Store のプロダクト識別子です。 GooglePlayContent Google Play のコンテンツ アプリ内課金商品に対応する Google Play のプロダクトIDを含みます。レシート検証時の照合に使用されます。 詳細  productId string ~ 1024文字 プロダクトID このアプリ内課金アイテムについて Google Play Console に登録されている Google Play のプロダクト識別子です。 AppleAppStoreSubscriptionContent Apple AppStore の期間課金コンテンツ サブスクリプションベースの商品の Apple App Store サブスクリプショングループ識別子を含みます。自動更新サブスクリプションの管理と検証に使用されます。 詳細  subscriptionGroupIdentifier string ~ 64文字 サブスクリプショングループID App Store Connect に登録されたサブスクリプショングループ識別子です。同じグループ内のサブスクリプションは相互排他的で、ユーザーは同時に1つしか契約できません。 GooglePlaySubscriptionContent Google Play の期間課金コンテンツ サブスクリプションベースの商品の Google Play プロダクトIDを含みます。Google Play での自動更新サブスクリプションの管理と検証に使用されます。 詳細  productId string ~ 1024文字 プロダクトID GooglePlayRealtimeNotificationMessage RTDN メッセージ Google Play のリアルタイム開発者通知（RTDN）メッセージを表します。RTDN メッセージは Google Play からサーバーに送信され、サブスクリプション状態の変化（更新、解約、期限切れなど）を通知します。 詳細  data string  ~ 1048576文字 データ Google Play からのサブスクリプション状態変更情報を含むBase64エンコードされた通知ペイロードです。 messageId string  ~ 1024文字 メッセージID この RTDN メッセージの一意の識別子です。重複排除に使用されます。 publishTime string  ~ 1024文字 通知が送信された日時 Google Cloud Pub/Sub によって通知が送信された日時で、RFC 3339 形式です。 CurrentModelMaster 現在アクティブなモデルのマスターデータ 現在ネームスペース内で有効なモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Money2 マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ StoreContentModelMaster ストアコンテンツモデルマスター ストアコンテンツモデルは、各種ストアプラットフォームのコンテンツを格納するモデルです。 詳細  storeContentModelId string ※ ~ 1024文字 コンテンツモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ストアコンテンツモデル名 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ appleAppStore AppleAppStoreContent Apple AppStore のコンテンツ このストアコンテンツの Apple App Store 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 googlePlay GooglePlayContent Google Play のコンテンツ このストアコンテンツの Google Play 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン StoreSubscriptionContentModelMaster ストア定期課金コンテンツモデルマスター 各種ストアプラットフォームの定期課金コンテンツを格納するモデルです。 詳細  storeSubscriptionContentModelId string ※ ~ 1024文字 期間課金コンテンツモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ストア定期課金コンテンツモデル名 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ scheduleNamespaceId string  ~ 1024文字 サブスクリプション期間を連動させる GS2-Schedule のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN triggerName string  ~ 128文字 サブスクリプション期間を反映するトリガー名 サブスクリプションの有効期間を反映するために起動される GS2-Schedule のトリガー名です。トリガーの持続時間はサブスクリプションの有効期限に設定されます。 reallocateSpanDays int 30 0 ~ 365 サブスクリプションの契約情報を他のユーザーに割り当て可能となる期間（日） 最後の割り当てから、サブスクリプション契約を別のユーザーに再割り当てできるようになるまでの日数です。ユーザーがアカウントを変更する際の不正利用を防止するため、サブスクリプションの移行に待機期間を設けます。 triggerExtendMode 文字列列挙型 enum {   “just”,   “rollupHour” } “just” サブスクリプション期間をトリガーに反映する時のモード サブスクリプションの有効期限をトリガーの持続時間にどのようにマッピングするかを制御します。“just” はサブスクリプション期間をそのまま使用します。“rollupHour” は指定した時刻（UTC）まで延長し、日中の期限切れを回避します。 定義 説明 “just” そのままサブスクリプション期間を反映 “rollupHour” 次の日跨ぎ時刻まで延長してサブスクリプション期間を反映 rollupHour int {triggerExtendMode} == “rollupHour” 0 0 ~ 23 日跨ぎの時刻 (UTC) triggerExtendMode が “rollupHour” の場合、サブスクリプション期間は有効期限日のこの時刻（0〜23、UTC）まで延長されます。ユーザーのプレイセッション中にサブスクリプションが期限切れになるのを防ぎます。 ※ triggerExtendMode が “rollupHour” であれば 有効 appleAppStore AppleAppStoreSubscriptionContent Apple AppStore のコンテンツ このサブスクリプションコンテンツの Apple App Store のサブスクリプション情報（サブスクリプショングループID）です。 googlePlay GooglePlaySubscriptionContent Google Play のコンテンツ このサブスクリプションコンテンツの Google Play のサブスクリプション情報（プロダクトID）です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 currencyUsagePriority 文字列列挙型 enum {   “PrioritizeFree”,   “PrioritizePaid” }  消費優先度 ウォレットから出金する際に有償通貨と無償通貨のどちらを先に消費するかを決定します。“PrioritizeFree” は無償通貨を優先し、“PrioritizePaid” は有償通貨を優先します。 定義 説明 “PrioritizeFree” 無償通貨を優先して使用する “PrioritizePaid” 有償通貨を優先して使用する description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 通貨の入金・出金時に使用される分散トランザクションの設定です。 sharedFreeCurrency bool  無償通貨を異なるスロットで共有するか 有効にすると、無償通貨の残高がすべてのウォレットスロット（プラットフォーム）間で共有されます。有償通貨はスロットごとに分離されたままです。この設定はネームスペース作成時のみ設定可能で、後から変更できません。 platformSetting PlatformSetting  ストアプラットフォーム設定 サポートされている各ストアプラットフォーム（Apple App Store、Google Play、テスト用Fake）の設定です。各プラットフォームでのレシート検証に必要な認証情報やキーを含みます。 depositBalanceScript ScriptSetting ウォレット残高を加算したときに実行するスクリプトの設定 Script トリガーリファレンス - deposit withdrawBalanceScript ScriptSetting ウォレット残高を消費したときに実行するスクリプトの設定 Script トリガーリファレンス - withdraw verifyReceiptScript ScriptSetting レシート検証を実行したときに実行するスクリプトの設定 Script トリガーリファレンス - verifyReceipt subscribeScript string ~ 1024文字 期間課金を新規契約するときに実行する GS2-Script スクリプトGRN(ユーザーの紐づけ変更時には呼び出されない/一度契約失効後に再度契約した場合も呼び出される) Script トリガーリファレンス - subscribe renewScript string ~ 1024文字 期間課金を更新するときに実行する GS2-Script スクリプトGRN Script トリガーリファレンス - renew unsubscribeScript string ~ 1024文字 期間課金を解約するときに実行する GS2-Script スクリプトGRN(ユーザーの紐づけ変更時には呼び出されない) Script トリガーリファレンス - unsubscribe takeOverScript ScriptSetting 期間課金に紐づけられたユーザーを変更するときに実行するスクリプトの設定 Script トリガーリファレンス - takeOver changeSubscriptionStatusNotification NotificationSetting 期間課金の契約状況が変化したときのプッシュ通知 サブスクリプションのステータスが変化した際（有効化、更新、解約、期限切れ、取り消しなど）に GS2-Gateway を通じて配信されるプッシュ通知の設定です。ゲームクライアントがサブスクリプション状態の変化にリアルタイムで対応できるようにします。 logSetting LogSetting ログの出力設定 このネームスペースに対するAPIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。入金、出金、レシート検証、サブスクリプションイベントの追跡に役立ちます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 currencyUsagePriority 文字列列挙型 enum {   “PrioritizeFree”,   “PrioritizePaid” }  消費優先度 ウォレットから出金する際に有償通貨と無償通貨のどちらを先に消費するかを決定します。“PrioritizeFree” は無償通貨を優先し、“PrioritizePaid” は有償通貨を優先します。 定義 説明 “PrioritizeFree” 無償通貨を優先して使用する “PrioritizePaid” 有償通貨を優先して使用する description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 通貨の入金・出金時に使用される分散トランザクションの設定です。 platformSetting PlatformSetting  ストアプラットフォーム設定 サポートされている各ストアプラットフォーム（Apple App Store、Google Play、テスト用Fake）の設定です。各プラットフォームでのレシート検証に必要な認証情報やキーを含みます。 depositBalanceScript ScriptSetting ウォレット残高を加算したときに実行するスクリプトの設定 Script トリガーリファレンス - deposit withdrawBalanceScript ScriptSetting ウォレット残高を消費したときに実行するスクリプトの設定 Script トリガーリファレンス - withdraw verifyReceiptScript ScriptSetting レシート検証を実行したときに実行するスクリプトの設定 Script トリガーリファレンス - verifyReceipt subscribeScript string ~ 1024文字 期間課金を新規契約するときに実行する GS2-Script スクリプトGRN(ユーザーの紐づけ変更時には呼び出されない/一度契約失効後に再度契約した場合も呼び出される) Script トリガーリファレンス - subscribe renewScript string ~ 1024文字 期間課金を更新するときに実行する GS2-Script スクリプトGRN Script トリガーリファレンス - renew unsubscribeScript string ~ 1024文字 期間課金を解約するときに実行する GS2-Script スクリプトGRN(ユーザーの紐づけ変更時には呼び出されない) Script トリガーリファレンス - unsubscribe takeOverScript ScriptSetting 期間課金に紐づけられたユーザーを変更するときに実行するスクリプトの設定 Script トリガーリファレンス - takeOver changeSubscriptionStatusNotification NotificationSetting 期間課金の契約状況が変化したときのプッシュ通知 サブスクリプションのステータスが変化した際（有効化、更新、解約、期限切れ、取り消しなど）に GS2-Gateway を通じて配信されるプッシュ通知の設定です。ゲームクライアントがサブスクリプション状態の変化にリアルタイムで対応できるようにします。 logSetting LogSetting ログの出力設定 このネームスペースに対するAPIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。入金、出金、レシート検証、サブスクリプションイベントの追跡に役立ちます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeWallets ウォレット一覧を取得 リクエストユーザーのウォレットのページネーション付きリストを取得します。 各ウォレットは、有償通貨と無償通貨が個別に管理される独立した残高を持ちます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ウォレットのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeWalletsByUserId ユーザーIDを指定してウォレット一覧を取得 指定されたユーザーのウォレットのページネーション付きリストを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ウォレットのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getWallet ウォレットを取得 リクエストユーザーの指定されたスロットのウォレットを、有償通貨および無償通貨の残高を含めて取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン slot int  0 ~ 100000000 スロット番号 ウォレットスロットを識別します。プラットフォーム間の残高共有が許可されていない場合、異なるスロットを使用してプラットフォームごとに通貨を分けて管理できます（例：iOS用とAndroid用）。 Result 型 説明 item Wallet ウォレット 実装例 getWalletByUserId ユーザーIDを指定してウォレットを取得 指定されたユーザーの指定されたスロットのウォレットを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID slot int  0 ~ 100000000 スロット番号 ウォレットスロットを識別します。プラットフォーム間の残高共有が許可されていない場合、異なるスロットを使用してプラットフォームごとに通貨を分けて管理できます（例：iOS用とAndroid用）。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Wallet ウォレット 実装例 depositByUserId ユーザーIDを指定してウォレットの残高に加算 指定されたユーザーのウォレットに指定された入金トランザクションを追加します。 各入金トランザクションに対してイベントログが記録されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID slot int  0 ~ 100000000 スロット番号 ウォレットスロットを識別します。プラットフォーム間の残高共有が許可されていない場合、異なるスロットを使用してプラットフォームごとに通貨を分けて管理できます（例：iOS用とAndroid用）。 depositTransactions List  1 ~ 1000 items 入金トランザクションリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Wallet 加算後のウォレット 実装例 withdraw ウォレットから残高を消費 リクエストユーザーのウォレットから指定量の通貨を消費します。 paidOnly が false の場合、無償通貨が先に消費され、次に有償通貨が消費されます。paidOnly が true の場合、有償通貨のみが消費されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン slot int  0 ~ 100000000 スロット番号 ウォレットスロットを識別します。プラットフォーム間の残高共有が許可されていない場合、異なるスロットを使用してプラットフォームごとに通貨を分けて管理できます（例：iOS用とAndroid用）。 withdrawCount int  1 ~ 2147483646 消費する課金通貨の数量 paidOnly bool false 有償通貨のみを対象とするか Result 型 説明 item Wallet 消費後のウォレット withdrawTransactions List 消費した入金トランザクションリスト 実装例 withdrawByUserId ユーザーIDを指定してウォレットから残高を消費 指定されたユーザーのウォレットから指定量の通貨を消費します。 paidOnly が false の場合、無償通貨が先に消費され、次に有償通貨が消費されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID slot int  0 ~ 100000000 スロット番号 ウォレットスロットを識別します。プラットフォーム間の残高共有が許可されていない場合、異なるスロットを使用してプラットフォームごとに通貨を分けて管理できます（例：iOS用とAndroid用）。 withdrawCount int  1 ~ 2147483646 消費する課金通貨の数量 paidOnly bool false 有償通貨のみを対象とするか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Wallet 消費後のウォレット withdrawTransactions List 消費した入金トランザクションリスト 実装例 describeEventsByUserId イベントの一覧を取得 指定されたユーザーの購入イベントのページネーション付きリストを指定された日付範囲内で取得します。 デフォルトの日付範囲は過去30日間です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID begin long 現在時刻から30日前の絶対時刻 検索開始日時 end long 現在時刻 検索終了日時 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List イベントのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getEventByTransactionId トランザクションIDを指定してイベントを取得 トランザクションIDで特定の購入イベントを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 transactionId string  ~ 1024文字 トランザクションID この決済イベントの一意の識別子です。レシート検証イベントの場合はストアプラットフォームのトランザクションIDに対応します。 Result 型 説明 item Event イベント 実装例 verifyReceipt レシートを使用済み化 ストアコンテンツモデルに対して購入レシートを検証し、使用済みとして記録します。 イベントログが記録され、ネームスペースに設定されたレシート検証スクリプトが実行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン contentName string  ~ 128文字 ストアコンテンツモデル名 receipt Receipt  レシート Result 型 説明 item Event イベント 実装例 verifyReceiptByUserId ユーザーIDを指定してレシートを使用済み化 指定されたユーザーの購入レシートを検証し、使用済みとして記録します。 イベントログが記録され、ネームスペースに設定されたレシート検証スクリプトが実行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID contentName string  ~ 128文字 ストアコンテンツモデル名 receipt Receipt  レシート timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Event イベント 実装例 describeSubscriptionStatuses サブスクリプションの契約状況の一覧を取得 リクエストユーザーの全てのサブスクリプションコンテンツモデルの契約状況を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string ~ 128文字 アクセストークン Result 型 説明 items List サブスクリプションの契約状況のリスト 実装例 describeSubscriptionStatusesByUserId ユーザーIDを指定してサブスクリプションの契約状況の一覧を取得 指定されたユーザーの全てのサブスクリプションコンテンツモデルの契約状況を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List サブスクリプションの契約状況のリスト 実装例 getSubscriptionStatus サブスクリプションの契約状況を取得 リクエストユーザーの指定されたコンテンツのサブスクリプション契約状況を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string ~ 128文字 アクセストークン contentName string  ~ 128文字 ストア定期課金コンテンツモデル名 Result 型 説明 item SubscriptionStatus サブスクリプションの契約状況 実装例 getSubscriptionStatusByUserId ユーザーIDを指定してサブスクリプションの契約状況を取得 指定されたユーザーの指定されたコンテンツのサブスクリプション契約状況を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ~ 128文字 ユーザーID contentName string  ~ 128文字 ストア定期課金コンテンツモデル名 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscriptionStatus サブスクリプションの契約状況 実装例 allocateSubscriptionStatus レシートからサブスクリプションの契約状況を割り当て ストアプラットフォーム（Apple App Store / Google Play）に対してレシートを検証し、リクエストユーザーにサブスクリプションを割り当てます。 サブスクリプションが新規に割り当てられた場合、ネームスペースに設定された購読スクリプトが実行され、スケジュールトリガーが更新されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string ~ 128文字 アクセストークン receipt string  ~ 1024文字 レシート Result 型 説明 item SubscriptionStatus サブスクリプションの契約状況 実装例 allocateSubscriptionStatusByUserId ユーザーIDを指定してレシートからサブスクリプションの契約状況を割り当て ストアプラットフォームに対してレシートを検証し、指定されたユーザーにサブスクリプションを割り当てます。 サブスクリプションがすでに別のユーザーに割り当てられている場合、AlreadyUsed エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ~ 128文字 ユーザーID receipt string  ~ 1024文字 レシート timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscriptionStatus サブスクリプションの契約状況 実装例 takeoverSubscriptionStatus すでに他のユーザーに割り当てられているサブスクリプションの契約状況を引き継ぐ 現在他のユーザーに割り当てられているサブスクリプションをリクエストユーザーに移譲します。 ネームスペースに設定された引き継ぎスクリプトが実行され、旧ユーザーと新ユーザーの両方のスケジュールトリガーが更新されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string ~ 128文字 アクセストークン receipt string  ~ 1024文字 レシート Result 型 説明 item SubscriptionStatus サブスクリプションの契約状況 実装例 takeoverSubscriptionStatusByUserId ユーザーIDを指定してすでに他のユーザーに割り当てられているサブスクリプションの契約状況を引き継ぐ 現在他のユーザーに割り当てられているサブスクリプションを指定されたユーザーに移譲します。 引き継ぎスクリプトが実行され、両方のユーザーのサブスクリプショントリガーが更新されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ~ 128文字 ユーザーID receipt string  ~ 1024文字 レシート timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscriptionStatus サブスクリプションの契約状況 実装例 describeRefundHistoriesByUserId ユーザーIDを指定して返金履歴情報の一覧を取得 指定されたユーザーの返金履歴レコードのページネーション付きリストを取得します。 各レコードにはコンテンツ名やプラットフォーム情報を含む返金イベントの詳細が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 返金履歴情報のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeRefundHistoriesByDate 年と月を指定して返金履歴情報の一覧を取得 年と月でフィルタリングされた返金履歴レコードのページネーション付きリストを取得します。 オプションで日によるフィルタリングも可能です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 year int  2000 ~ 3000 年 month int  1 ~ 12 月 day int 1 ~ 31 日 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 返金履歴情報のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getRefundHistory トランザクションIDを指定して返金履歴情報を取得 トランザクションIDで特定の返金履歴レコードを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 transactionId string  ~ 1024文字 トランザクションID ストアプラットフォームによって割り当てられた一意のトランザクション識別子です。同一購入の重複処理を防止するために使用されます。 Result 型 説明 item RefundHistory 返金履歴情報 実装例 describeDailyTransactionHistoriesByCurrency 通貨を指定して日々の取引履歴の一覧を取得 指定された通貨と年でフィルタリングされた日次取引履歴のページネーション付きリストを取得します。 オプションで月によるフィルタリングも可能です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 currency string  ~ 8文字 通貨コード year int  2000 ~ 3000 年 month int 1 ~ 12 月 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 日々の取引履歴のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeDailyTransactionHistories 日々の取引履歴の一覧を取得 指定された年の日次取引履歴のページネーション付きリストを取得します。 オプションで月によるフィルタリングが可能で、月を指定した場合はさらに日でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 year int  2000 ~ 3000 年 month int 1 ~ 12 月 day int {month} \u003e 0 1 ~ 31 日 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 日々の取引履歴のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getDailyTransactionHistory 日付と通貨を指定して日々の取引履歴を取得 指定された日付と通貨の日次取引履歴レコードを取得します。 レコードにはその日の入出金額および発行/消費回数が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 year int  2000 ~ 3000 年 month int  1 ~ 12 月 day int  1 ~ 31 日 currency string  ~ 8文字 通貨コード Result 型 説明 item DailyTransactionHistory 日々の取引履歴 実装例 describeUnusedBalances 未使用残高の一覧を取得 ネームスペースの未使用残高レコードのページネーション付きリストを取得します。 各レコードは特定の通貨の未使用有償通貨残高を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 未使用残高のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getUnusedBalance 通貨を指定して未使用残高を取得 指定された通貨の未使用残高を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 currency string  ~ 8文字 通貨コード 未使用残高が追跡されるISO通貨コード（例：“JPY”、“USD”）です。 Result 型 説明 item UnusedBalance 未使用残高 実装例 describeStoreContentModels ストアコンテンツモデルの一覧を取得 現在アクティブなストアコンテンツモデルのリストを取得します。 これらのモデルは、プラットフォーム固有のプロダクトIDを持つ購入可能なコンテンツアイテムを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List ストアコンテンツモデルのリスト 実装例 getStoreContentModel ストアコンテンツモデルを取得 Apple App Store および Google Play の設定を含む、指定されたストアコンテンツモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 contentName string  ~ 128文字 ストアコンテンツモデル名 Result 型 説明 item StoreContentModel ストアコンテンツモデル 実装例 describeStoreSubscriptionContentModels ストア定期課金コンテンツモデルの一覧を取得 現在アクティブなストア定期課金コンテンツモデルのリストを取得します。 これらのモデルは、プラットフォーム固有の設定とスケジューリングパラメータを持つサブスクリプション商品を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List ストア定期課金コンテンツモデルモデルのリスト 実装例 getStoreSubscriptionContentModel ストア定期課金コンテンツモデルを取得 指定されたストア定期課金コンテンツモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 contentName string  ~ 128文字 ストア定期課金コンテンツモデル名 Result 型 説明 item StoreSubscriptionContentModel ストア定期課金コンテンツモデルモデル 実装例 exportMaster モデルマスターを有効化可能なマスターデータ形式でエクスポート 現在登録されているモデルマスター（ストアコンテンツモデルおよび定期課金コンテンツモデル）を有効化可能なマスターデータ形式でエクスポートします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentModelMaster 有効化可能なマスターデータ 実装例 getCurrentModelMaster 現在アクティブなモデルのマスターデータを取得 ストアコンテンツモデルおよび定期課金コンテンツモデルを含む、現在アクティブなモデルのマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentModelMaster 現在アクティブなモデルのマスターデータ 実装例 preUpdateCurrentModelMaster 現在アクティブなモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentModelMaster 現在アクティブなモデルのマスターデータを更新 現在アクティブなモデルのマスターデータを更新します。大容量マスターデータに対応するため、直接更新モードと事前アップロードモードの両方をサポートしています。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentModelMaster 更新された現在アクティブなモデルのマスターデータ 実装例 updateCurrentModelMasterFromGitHub 現在アクティブなモデルのマスターデータをGitHubから更新 指定されたチェックアウト設定を使用して GitHub リポジトリからマスターデータをチェックアウトし、現在アクティブなモデルのマスターデータを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentModelMaster 更新された現在アクティブなモデルのマスターデータ 実装例 describeStoreContentModelMasters ストアコンテンツモデルマスターの一覧を取得 ストアコンテンツモデルマスターのページネーション付きリストを取得します。 名前のプレフィックスでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 ストアコンテンツ名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ストアコンテンツモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createStoreContentModelMaster ストアコンテンツマスターを新規作成 Apple App Store および Google Play のプロダクトID用のプラットフォーム固有設定を持つ新しいストアコンテンツモデルマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 ストアコンテンツモデル名 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ appleAppStore AppleAppStoreContent Apple AppStore のコンテンツ このストアコンテンツの Apple App Store 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 googlePlay GooglePlayContent Google Play のコンテンツ このストアコンテンツの Google Play 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 Result 型 説明 item StoreContentModelMaster 作成したストアコンテンツマスター 実装例 getStoreContentModelMaster ストアコンテンツマスターを取得 指定されたストアコンテンツモデルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 contentName string  ~ 128文字 ストアコンテンツモデル名 Result 型 説明 item StoreContentModelMaster ストアコンテンツマスター 実装例 updateStoreContentModelMaster ストアコンテンツマスターを更新 指定されたストアコンテンツモデルマスターを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 contentName string  ~ 128文字 ストアコンテンツモデル名 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ appleAppStore AppleAppStoreContent Apple AppStore のコンテンツ このストアコンテンツの Apple App Store 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 googlePlay GooglePlayContent Google Play のコンテンツ このストアコンテンツの Google Play 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 Result 型 説明 item StoreContentModelMaster 更新したストアコンテンツマスター 実装例 deleteStoreContentModelMaster ストアコンテンツマスターを削除 指定されたストアコンテンツモデルマスターを削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 contentName string  ~ 128文字 ストアコンテンツモデル名 Result 型 説明 item StoreContentModelMaster 削除したストアコンテンツマスター 実装例 describeStoreSubscriptionContentModelMasters ストア定期課金コンテンツモデルマスターの一覧を取得 ストア定期課金コンテンツモデルマスターのページネーション付きリストを取得します。 名前のプレフィックスでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 ストア定期課金コンテンツモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ストア定期課金コンテンツモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createStoreSubscriptionContentModelMaster ストア定期課金コンテンツモデルマスターを新規作成 スケジューリングパラメータと Apple App Store および Google Play のプラットフォーム固有設定を持つ新しいストア定期課金コンテンツモデルマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 ストア定期課金コンテンツモデル名 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ scheduleNamespaceId string  ~ 1024文字 サブスクリプション期間を連動させる GS2-Schedule のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN triggerName string  ~ 128文字 サブスクリプション期間を反映するトリガー名 サブスクリプションの有効期間を反映するために起動される GS2-Schedule のトリガー名です。トリガーの持続時間はサブスクリプションの有効期限に設定されます。 triggerExtendMode 文字列列挙型 enum {   “just”,   “rollupHour” } “just” サブスクリプション期間をトリガーに反映する時のモード サブスクリプションの有効期限をトリガーの持続時間にどのようにマッピングするかを制御します。“just” はサブスクリプション期間をそのまま使用します。“rollupHour” は指定した時刻（UTC）まで延長し、日中の期限切れを回避します。 定義 説明 “just” そのままサブスクリプション期間を反映 “rollupHour” 次の日跨ぎ時刻まで延長してサブスクリプション期間を反映 rollupHour int {triggerExtendMode} == “rollupHour” 0 0 ~ 23 日跨ぎの時刻 (UTC) triggerExtendMode が “rollupHour” の場合、サブスクリプション期間は有効期限日のこの時刻（0〜23、UTC）まで延長されます。ユーザーのプレイセッション中にサブスクリプションが期限切れになるのを防ぎます。 ※ triggerExtendMode が “rollupHour” であれば必須 reallocateSpanDays int 30 0 ~ 365 サブスクリプションの契約情報を他のユーザーに割り当て可能となる期間（日） 最後の割り当てから、サブスクリプション契約を別のユーザーに再割り当てできるようになるまでの日数です。ユーザーがアカウントを変更する際の不正利用を防止するため、サブスクリプションの移行に待機期間を設けます。 appleAppStore AppleAppStoreSubscriptionContent Apple AppStore のコンテンツ このサブスクリプションコンテンツの Apple App Store のサブスクリプション情報（サブスクリプショングループID）です。 googlePlay GooglePlaySubscriptionContent Google Play のコンテンツ このサブスクリプションコンテンツの Google Play のサブスクリプション情報（プロダクトID）です。 Result 型 説明 item StoreSubscriptionContentModelMaster 作成したストア定期課金コンテンツモデルマスター 実装例 getStoreSubscriptionContentModelMaster ストア定期課金コンテンツモデルマスターを取得 指定されたストア定期課金コンテンツモデルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 contentName string  ~ 128文字 ストア定期課金コンテンツモデル名 Result 型 説明 item StoreSubscriptionContentModelMaster ストア定期課金コンテンツモデルマスター 実装例 updateStoreSubscriptionContentModelMaster ストア定期課金コンテンツモデルマスターを更新 指定されたストア定期課金コンテンツモデルマスターを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 contentName string  ~ 128文字 ストア定期課金コンテンツモデル名 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ scheduleNamespaceId string  ~ 1024文字 サブスクリプション期間を連動させる GS2-Schedule のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN triggerName string  ~ 128文字 サブスクリプション期間を反映するトリガー名 サブスクリプションの有効期間を反映するために起動される GS2-Schedule のトリガー名です。トリガーの持続時間はサブスクリプションの有効期限に設定されます。 triggerExtendMode 文字列列挙型 enum {   “just”,   “rollupHour” } “just” サブスクリプション期間をトリガーに反映する時のモード サブスクリプションの有効期限をトリガーの持続時間にどのようにマッピングするかを制御します。“just” はサブスクリプション期間をそのまま使用します。“rollupHour” は指定した時刻（UTC）まで延長し、日中の期限切れを回避します。 定義 説明 “just” そのままサブスクリプション期間を反映 “rollupHour” 次の日跨ぎ時刻まで延長してサブスクリプション期間を反映 rollupHour int {triggerExtendMode} == “rollupHour” 0 0 ~ 23 日跨ぎの時刻 (UTC) triggerExtendMode が “rollupHour” の場合、サブスクリプション期間は有効期限日のこの時刻（0〜23、UTC）まで延長されます。ユーザーのプレイセッション中にサブスクリプションが期限切れになるのを防ぎます。 ※ triggerExtendMode が “rollupHour” であれば必須 reallocateSpanDays int 30 0 ~ 365 サブスクリプションの契約情報を他のユーザーに割り当て可能となる期間（日） 最後の割り当てから、サブスクリプション契約を別のユーザーに再割り当てできるようになるまでの日数です。ユーザーがアカウントを変更する際の不正利用を防止するため、サブスクリプションの移行に待機期間を設けます。 appleAppStore AppleAppStoreSubscriptionContent Apple AppStore のコンテンツ このサブスクリプションコンテンツの Apple App Store のサブスクリプション情報（サブスクリプショングループID）です。 googlePlay GooglePlaySubscriptionContent Google Play のコンテンツ このサブスクリプションコンテンツの Google Play のサブスクリプション情報（プロダクトID）です。 Result 型 説明 item StoreSubscriptionContentModelMaster 更新したストア定期課金コンテンツモデルマスター 実装例 deleteStoreSubscriptionContentModelMaster ストア定期課金コンテンツモデルマスターを削除 指定されたストア定期課金コンテンツモデルマスターを削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 contentName string  ~ 128文字 ストア定期課金コンテンツモデル名 Result 型 説明 item StoreSubscriptionContentModelMaster 削除したストア定期課金コンテンツモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Money2 SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Money2 SDK API リファレンス","url":"/ja/api_reference/money2/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 version string ~ 1024文字 バージョン デプロイされたニュースコンテンツの現在のバージョン識別子。 新しい記事データがアップロードまたは GitHub リポジトリから同期されると自動的に更新されます。 この値は機密情報であり、クライアントには公開されません。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、ニュース操作（記事取得、コンテンツ生成、Cookie 発行など）がモニタリングと分析のためにログ出力されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Progress コンテンツ生成進捗 アップロードされた Hugo サイトデータから静的 HTML コンテンツを生成する進捗を追跡します。 記事データがアップロードまたは GitHub から同期されると、異なるユーザーセグメント（パターン）向けにコンテンツが生成されます。 このエンティティは期待される総数に対して何パターンが生成されたかを監視し、プロセス中に Output ログエントリを収集します。 詳細  progressId string ※ ~ 1024文字 コンテンツ生成進捗 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 uploadToken string  ~ 1024文字 アップロードトークン このコンテンツ生成をトリガーした特定のアップロードセッションを識別するトークン。 進捗追跡と元のアップロードリクエストを関連付けるために使用されます。 generated int  0 ~ 1000 生成済みコンテンツ数 これまでに正常に生成されたコンテンツパターンの数。 各パターンが処理されるたびにこの値がインクリメントされます。patternCount と等しくなると生成が完了します。最大1000。 patternCount int  0 ~ 1000 パターン数 このアップロードで生成する必要があるコンテンツパターン（テンプレート）の総数。 生成タスクの全体規模を表します。進捗は generated / patternCount で測定されます。最大1000。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Output 出力 コンテンツ生成プロセス中に生成されるログエントリ。 各 Output は Hugo サイトデータから静的 HTML を生成する際の進捗状況または結果に関するメッセージを記録します。 Output は Progress エンティティに関連付けられます。 詳細  outputId string ※ ~ 1024文字 コンテンツ生成進捗出力 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 36文字 出力名 コンテンツ生成進捗出力の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各コンテンツ生成進捗出力を識別するために使用されます。 text string  ~ 1048576文字 テキスト コンテンツ生成中に出力されたログメッセージのテキスト。 ステータスメッセージ、エラー詳細、または生成プロセスに関するその他の情報を含む場合があります。最大1MB。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン News お知らせ記事 Hugo サイトデータから生成された個々のニュース記事を表します。 各記事はセクションとコンテンツパスに属し、タイトル、タイムスタンプ、Front Matter メタデータを持ちます。 GS2-Schedule のイベントとリンクして表示期間を制御することもできます。 Front Matter には JSON 形式の追加メタデータが含まれ、表示順序を制御するためのオプションの weight フィールドも含まれます。 詳細  section string  ~ 1024文字 セクション名 この記事が属するセクション（カテゴリ）。Hugo のコンテンツディレクトリ構造に対応します。 記事を表示用の論理グループに整理するために使用されます。 content string  ~ 1024文字 コンテンツ セクション内でのこの記事のコンテンツパス識別子。 セクションと合わせて、Hugo コンテンツ構造内の記事の位置を一意に識別します。 title string  ~ 1024文字 記事見出し ニュース記事のタイトル。通常、Hugo の Front Matter で定義されます。 プレイヤーへの記事一覧表示時に見出しとして表示されます。 scheduleEventId string ~ 1024文字 GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN timestamp long  タイムスタンプ UNIX 時間・ミリ秒 frontMatter string  ~ 1024文字 Front Matter JSON 形式の記事に関連付けられたメタデータ。元は Hugo マークダウンの Front Matter で定義されます。 weight（表示順序の制御用）、タグ、カテゴリ、その他のカスタムプロパティなどの任意のフィールドを含むことができます。 SetCookieRequestEntry Cookie 設定リクエストエントリ ニュース記事の Web コンテンツにアクセスするためにブラウザ/WebView に設定する必要がある Cookie のキーバリューペア。 クライアントは記事 URL を読み込む前にこれらの Cookie を設定し、コンテンツへの認可されたアクセスを確保する必要があります。 詳細  key string  ~ 128文字 Cookie キー ニュースコンテンツへの認証アクセスのために設定する Cookie の名前。 最大128文字。 value string  ~ 1024文字 Cookie 値 ニュースコンテンツへの認証アクセスのために設定する Cookie の値。 最大1024文字。 View ビュー 特定のユーザーに対するニュースコンテンツの現在と前回バージョンの差分を表します。 追加・更新されるコンテンツと、削除されるコンテンツの2つのリストを含みます。 この差分ベースのアプローチにより、クライアント側での効率的な差分更新が可能となり、更新のたびに全コンテンツを再ダウンロードする必要がなくなります。 詳細  contents List 0 ~ 1000 items 追加・更新コンテンツ クライアントのローカルキャッシュに追加または更新すべきコンテンツエントリのリスト。 ユーザーが前回取得したバージョン以降に新規作成または変更された記事を表します。最大1000件。 removeContents List 0 ~ 1000 items 削除コンテンツ クライアントのローカルキャッシュから削除すべきコンテンツエントリのリスト。 前回のバージョン以降に削除された、または表示されなくなった記事を表します。最大1000件。 Content コンテンツ どの記事を含めるか除外するかを指定する View 定義で使用されるコンテンツエントリ。 各 Content はセクションとコンテンツパスで識別され、JSON 形式の Front Matter メタデータを持ちます。 Front Matter は JSON 形式でメタデータを保持します。 詳細  section string  ~ 1024文字 セクション このコンテンツエントリのセクション（カテゴリ）パス。Hugo のコンテンツディレクトリ構造に対応します。 content string  ~ 1024文字 コンテンツパス セクション内でこのコンテンツエントリを一意に識別するためのコンテンツパス識別子。 View 内での一意性はこのフィールドによって保証されます。 frontMatter string  ~ 1048576文字 Front Matter このコンテンツエントリに関連付けられた JSON 形式のメタデータ。 タイトル、日付、weight、タグ、その他の Hugo Front Matter フィールドなどの記事プロパティを含みます。 最大1MBのメタデータを保存できます。 メソッド describeNamespaces ネームスペースの一覧を取得 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、ニュース操作（記事取得、コンテンツ生成、Cookie 発行など）がモニタリングと分析のためにログ出力されます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、ニュース操作（記事取得、コンテンツ生成、Cookie 発行など）がモニタリングと分析のためにログ出力されます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 describeProgresses コンテンツ生成進捗の一覧を取得 ネームスペースのコンテンツ生成進捗レコードをページネーション付きで取得します。各レコードはサイト生成タスクの状態を表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List コンテンツ生成進捗のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getProgress コンテンツ生成進捗を取得 指定されたアップロードトークンのコンテンツ生成進捗を取得します。サイト生成タスクの現在の状態と詳細を表示します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 uploadToken string  ~ 1024文字 アップロードトークン このコンテンツ生成をトリガーした特定のアップロードセッションを識別するトークン。 進捗追跡と元のアップロードリクエストを関連付けるために使用されます。 Result 型 説明 item Progress コンテンツ生成進捗 実装例 describeOutputs コンテンツ生成進捗出力の一覧を取得 指定されたアップロードトークンに対するコンテンツ生成処理の出力ログをページネーション付きで取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 uploadToken string  ~ 1024文字 アップロードトークン このコンテンツ生成をトリガーした特定のアップロードセッションを識別するトークン。 進捗追跡と元のアップロードリクエストを関連付けるために使用されます。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List コンテンツ生成進捗出力のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getOutput コンテンツ生成進捗出力を取得 アップロードトークンと出力名を指定して、コンテンツ生成処理の特定の出力ログエントリを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 uploadToken string  ~ 1024文字 アップロードトークン このコンテンツ生成をトリガーした特定のアップロードセッションを識別するトークン。 進捗追跡と元のアップロードリクエストを関連付けるために使用されます。 outputName string  UUID ~ 36文字 出力名 コンテンツ生成進捗出力の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各コンテンツ生成進捗出力を識別するために使用されます。 Result 型 説明 item Output コンテンツ生成進捗出力 実装例 describeNews お知らせ記事の一覧を取得 リクエストしたユーザーのお知らせ記事の一覧を取得します。キャッシュ検証用のコンテンツハッシュとテンプレートハッシュも合わせて返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 items List お知らせ記事のリスト contentHash string お知らせ記事データのハッシュ値 templateHash string テンプレートデータのハッシュ値 実装例 describeNewsByUserId ユーザーIDを指定してお知らせ記事の一覧を取得 指定したユーザーのお知らせ記事の一覧を取得します。キャッシュ検証用のコンテンツハッシュとテンプレートハッシュも合わせて返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List お知らせ記事のリスト contentHash string お知らせ記事データのハッシュ値 templateHash string テンプレートデータのハッシュ値 実装例 wantGrant お知らせ記事にアクセスするために必要な情報を取得 リクエストしたユーザーのお知らせWebコンテンツにアクセスするために必要なクッキーとURLを取得します。ブラウザアクセス用のクッキー、ブラウザURL、およびクッキー不要のZIPダウンロードURLを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 items List お知らせWebコンテンツにアクセスするために設定の必要なクッキーのリスト browserUrl string お知らせWebコンテンツにアクセスするためのURL zipUrl string ZIP形式のお知らせWebコンテンツにアクセスするためのURL (アクセスにCookieの設定は不要) 実装例 wantGrantByUserId ユーザーIDを指定してお知らせ記事にアクセスするために必要な情報を取得 指定したユーザーのお知らせWebコンテンツにアクセスするために必要なクッキーとURLを取得します。ブラウザアクセス用のクッキー、ブラウザURL、およびクッキー不要のZIPダウンロードURLを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List お知らせWebコンテンツにアクセスするために設定の必要なクッキーのリスト browserUrl string お知らせWebコンテンツにアクセスするためのURL zipUrl string ZIP形式のお知らせWebコンテンツにアクセスするためのURL (アクセスにCookieの設定は不要) 実装例 prepareUpdateCurrentNewsMaster 現在アクティブなお知らせを更新準備する 応答に含まれるURLにサイトデータを圧縮したzipファイルをアップロードし アップロード完了後に updateCurrentNewsMaster を呼び出して反映します。 zipファイルをアップロードする際には Content-Type に application/zip を指定する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン templateUploadUrl string テンプレートアップロード処理の実行に使用するURL 実装例 updateCurrentNewsMaster 現在有効なお知らせを更新 アップロードされたサイトデータを適用してお知らせコンテンツを生成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン Result 型 説明 実装例 prepareUpdateCurrentNewsMasterFromGitHub 現在有効なお知らせをGitHubから更新 GitHubリポジトリからサイトデータをチェックアウトして、お知らせコンテンツの更新を準備します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-News SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-News SDK API リファレンス","url":"/ja/api_reference/news/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 クエスト報酬の付与時のトランザクションの処理方法を制御する設定です。 startQuestScript ScriptSetting クエスト開始したときに実行するスクリプトの設定 Script トリガーリファレンス - startQuest completeQuestScript ScriptSetting クエストクリアしたときに実行するスクリプトの設定 Script トリガーリファレンス - completeQuest failedQuestScript ScriptSetting クエスト失敗したときに実行するスクリプトの設定 Script トリガーリファレンス - failedQuest logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。クエストの開始・クリア・失敗イベントの追跡に使用されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Progress クエスト進行状況 クエストの開始時に作成され、終了時に削除されます。 インゲームの途中でアプリを終了した際にはこのデータが残った状態となり エンティティが保持する進行中のクエスト情報からゲームをリジュームすることが可能です。 詳細  progressId string ※ ~ 1024文字 クエスト進行状況 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID transactionId string  UUID ~ 36文字 トランザクションID クエストトランザクションの一意の識別子です。クエスト進行状況と報酬配布を管理するトランザクションを紐付けるために使用されます。 questModelId string  ~ 1024文字 クエストモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 現在進行中のクエストモデルのGRNです。ユーザーがプレイ中のクエストを識別し、クエスト途中でアプリを終了した場合のゲームリジュームを可能にします。 randomSeed long  0 ~ 9223372036854775805 乱数シード クエスト開始時に割り当てられる乱数シードです。このクエスト試行で選択されるコンテンツバリエーション（報酬セット）の決定に使用され、再現可能な結果を保証します。 rewards List [] 0 ~ 1000 items クリア報酬リスト クエストクリア時に付与される報酬のリストです。乱数シードで選択されたコンテンツバリエーションに基づき、クエスト開始時に決定されます。 failedRewards List [] 0 ~ 1000 items 失敗時報酬リスト クエスト失敗時に付与される報酬のリストです。クエスト開始時に決定され、失敗時の慰労報酬やコストの一部返還として提供されます。 metadata string ~ 256文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン CompletedQuestList クリア済みクエストリスト クエストグループ内でユーザーがクリアしたクエストを追跡します。前提クエストのクリア判定や初回クリアボーナスの判定に使用されます。各クエスト名はクリア回数に関わらず一度だけ記録されます。 詳細  completedQuestListId string ※ ~ 1024文字 クリア済みクエストリスト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID questGroupName string  ~ 128文字 クエストグループモデル名 このクリア済みクエストリストが属するクエストグループの名前です。ユーザーごと・クエストグループごとに1つの CompletedQuestList が存在します。 completeQuestNames List [] 0 ~ 1000 items クリア済みクエスト名リスト このクエストグループ内でユーザーがクリアしたクエスト名のリストです。初回クリア時にクエスト名が追加され、重複は排除されます。前提クエスト条件の評価や初回クリアボーナスの判定に使用されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン QuestGroupModel クエストグループモデル クエストグループは複数のクエストをグルーピングするためのエンティティで、クエストの進行はグループ内で同時に1つしか実行できません。 つまり、並列でクエストを進行できるようにする必要がある場合はグループを分ける必要があります。 詳細  questGroupModelId string ※ ~ 1024文字 クエストグループ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 quests List [] 0 ~ 1000 items グループに属するクエスト このクエストグループに属するクエストモデルのリストです。グループ内では同時に1つのクエストのみ進行できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このグループ内のクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。 QuestModel クエストモデル クエストモデルはインゲームの開始に必要な対価とクリアしたときに得られる報酬を保持するエンティティです。 クリアしたときに得られる報酬は複数のバリエーションを用意でき、クエスト開始時に抽選することができます。 例えば、クエスト自体は同じでも、レアモンスターの出現有無によって2種類のコンテンツバリエーションを作成できます。 詳細  questModelId string ※ ~ 1024文字 クエストモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 クエストモデル名 クエストモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 contents List [] 1 ~ 10 items クエストの内容 このクエストのコンテンツバリエーションのリストです。クエスト開始時に重み付き抽選で1つのバリエーションが選択されます。各バリエーションに異なるクリア報酬を定義でき、同じクエストでも異なる結果（例：レアモンスターの出現）を実現できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。この設定はクエストグループの挑戦可能期間より優先されます。 firstCompleteAcquireActions List [] 0 ~ 10 items 初回クリア報酬入手アクションリスト このクエストの初回クリア時にのみ実行される入手アクションのリストです。通常のクリア報酬に加えて付与されるボーナス報酬で、初回クリアボーナスの実現に使用します。 verifyActions List [] 0 ~ 10 items 検証アクションリスト このクエストを開始するための前提条件となる検証アクションのリストです。すべての検証アクションが成功しないとクエストを開始できません。レベル確認やアイテム所持などの要件の強制に使用します。 consumeActions List [] 0 ~ 10 items 消費アクションリスト このクエストの開始コストとして実行される消費アクションです。スタミナや通貨などのコストがクエスト開始時に消費されます。 failedAcquireActions List [] 0 ~ 100 items 失敗時入手アクションリスト クエスト失敗時に実行される入手アクションです。失敗時の慰労報酬やクエスト参加コストの一部返還などに使用します。 premiseQuestNames List [] 0 ~ 10 items 前提クエスト名リスト このクエストに挑戦する前にクリアが必要な同グループ内のクエスト名のリストです。連続するクエストチェーンや分岐するクエストパスの作成に使用します。 Contents コンテンツ クエストコンテンツの1つのバリエーションを表します。各クエストは異なる報酬を持つ複数のコンテンツバリエーションを持つことができ、クエスト開始時に重み付き抽選で1つが選択されます。メタデータはユーザーIDやコンフィグ値によるテンプレート変数の置換をサポートします。 詳細  metadata string ~ 256文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 completeAcquireActions List [] 0 ~ 10 items クリア報酬入手アクション このコンテンツバリエーションでクエストをクリアした際に実行される入手アクションです。プレイヤーがクエストクリア時に受け取る実際の報酬を定義します。 weight int 1 1 ~ 2147483646 抽選の重み クエスト開始時のコンテンツバリエーション抽選で使用される相対的な重みです。値が大きいほどこのバリエーションが選択される確率が高くなります。例えば、重み9のバリエーションは重み1のバリエーションの9倍選択されやすくなります。 Reward 報酬 クエスト開始時に決定される個々の報酬アイテムを表します。実行する入手アクション、対象リソース、付与する数量を含みます。Progress エンティティに保存され、クエストのクリアまたは失敗時の報酬配布に使用されます。 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 5242880文字 リクエスト 入手アクション実行時に使用されるリクエストパラメータのJSON文字列です。対象ネームスペース、リソース名、数量など、報酬の具体的な詳細を含みます。 itemId string  ~ 1024文字 アイテムID 報酬として入手するリソースのGRNです。プレイヤーに付与されるアイテム、通貨、その他のリソースを特定します。 value int  0 ~ 2147483646 数量 報酬として付与するリソースの数量です。ゲームロジックに基づいて動的に調整することが可能です。 AcquireAction 入手アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 ConsumeAction 消費アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 Config コンフィグ設定 トランザクションの変数に適用する設定値 詳細  key string  ~ 64文字 名前 value string ~ 51200文字 値 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか CurrentQuestMaster 現在アクティブなクエストモデルのマスターデータ 現在ネームスペース内で有効な、クエストのモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Quest マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ QuestGroupModelMaster クエストグループモデルマスター クエストグループモデルマスターは、ゲーム内で使用されるクエストグループモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるクエストグループモデルとして反映されます。 クエストグループは複数のクエストをグルーピングするためのエンティティで、クエストの進行はグループ内で同時に1つしか実行できません。 つまり、並列でクエストを進行できるようにする必要がある場合はグループを分ける必要があります。 詳細  questGroupModelId string ※ ~ 1024文字 クエストグループモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このグループ内のクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン QuestModelMaster クエストモデルマスター クエストモデルマスターは、ゲーム内で使用されるクエストモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるクエストモデルとして反映されます。 クエストモデルはインゲームの開始に必要な費用とクリアしたときに得られる報酬を保持するエンティティです。 クリアしたときに得られる報酬は複数のバリエーションを用意でき、クエスト開始時に抽選することができます。 例えば、クエスト自体は同じでも、レアモンスターの出現有無によって2種類のコンテンツバリエーションを作成できます。 詳細  questModelId string ※ ~ 1024文字 クエストモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 questGroupName string  ~ 128文字 クエストグループモデル名 name string  ~ 128文字 クエストモデル名 クエストモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 contents List  1 ~ 10 items クエストの内容 このクエストのコンテンツバリエーションのリストです。クエスト開始時に重み付き抽選で1つのバリエーションが選択されます。各バリエーションに異なるクリア報酬を定義でき、同じクエストでも異なる結果（例：レアモンスターの出現）を実現できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。この設定はクエストグループの挑戦可能期間より優先されます。 firstCompleteAcquireActions List [] 0 ~ 10 items 初回クリア報酬入手アクションリスト このクエストの初回クリア時にのみ実行される入手アクションのリストです。通常のクリア報酬に加えて付与されるボーナス報酬で、初回クリアボーナスの実現に使用します。 verifyActions List [] 0 ~ 10 items 検証アクションリスト このクエストを開始するための前提条件となる検証アクションのリストです。すべての検証アクションが成功しないとクエストを開始できません。レベル確認やアイテム所持などの要件の強制に使用します。 consumeActions List [] 0 ~ 10 items 消費アクションリスト このクエストの開始コストとして実行される消費アクションです。スタミナや通貨などのコストがクエスト開始時に消費されます。 failedAcquireActions List [] 0 ~ 100 items 失敗時入手アクションリスト クエスト失敗時に実行される入手アクションです。失敗時の慰労報酬やクエスト参加コストの一部返還などに使用します。 premiseQuestNames List [] 0 ~ 10 items 前提クエスト名リスト このクエストに挑戦する前にクリアが必要な同グループ内のクエスト名のリストです。連続するクエストチェーンや分岐するクエストパスの作成に使用します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 クエスト報酬の付与時のトランザクションの処理方法を制御する設定です。 startQuestScript ScriptSetting クエスト開始したときに実行するスクリプトの設定 Script トリガーリファレンス - startQuest completeQuestScript ScriptSetting クエストクリアしたときに実行するスクリプトの設定 Script トリガーリファレンス - completeQuest failedQuestScript ScriptSetting クエスト失敗したときに実行するスクリプトの設定 Script トリガーリファレンス - failedQuest logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。クエストの開始・クリア・失敗イベントの追跡に使用されます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 クエスト報酬の付与時のトランザクションの処理方法を制御する設定です。 startQuestScript ScriptSetting クエスト開始したときに実行するスクリプトの設定 Script トリガーリファレンス - startQuest completeQuestScript ScriptSetting クエストクリアしたときに実行するスクリプトの設定 Script トリガーリファレンス - completeQuest failedQuestScript ScriptSetting クエスト失敗したときに実行するスクリプトの設定 Script トリガーリファレンス - failedQuest logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。クエストの開始・クリア・失敗イベントの追跡に使用されます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeProgressesByUserId クエスト進行状況の一覧を取得 指定したユーザーのクエスト進行状況を取得します。ユーザーはクエストグループごとに同時に1つのクエスト進行状況のみ保持できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List クエスト進行状況のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createProgressByUserId ユーザーIDを指定してクエストの進行状況を作成 クエストモデルを参照し、クエストコンテンツの抽選を行ってクエストを開始します。すでに進行中のクエストがある場合、force フラグが設定されていなければエラーを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID questModelId string  ~ 1024文字 開始するクエストモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN force bool false すでに開始しているクエストがある場合にそれを破棄して開始するか config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Progress クエスト進行状況 実装例 getProgress クエスト進行状況を取得 現在のクエスト進行状況を、関連するクエストグループモデルおよびクエストモデルとともに取得します。クエストの再開や表示に必要なすべての情報を提供します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Progress クエスト進行状況 questGroup QuestGroupModel クエストグループモデル quest QuestModel クエストモデル 実装例 getProgressByUserId ユーザーIDを指定してクエスト進行状況を取得 指定したユーザーの現在のクエスト進行状況を、関連するクエストグループモデルおよびクエストモデルとともに取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Progress クエスト進行状況 questGroup QuestGroupModel クエストグループモデル quest QuestModel クエストモデル 実装例 start クエストを開始 同一カテゴリ内でゲームプレイヤーは同時に1つのクエストを実行できます。 すでに同一カテゴリ内で実行中のクエストがある場合、このAPIはエラーを返します。 進行中のクエストを取得するAPIを呼び出すことで、クエストを再開するために必要な情報を得ることができます。 強制的にクエストを開始するには force パラメータに true を指定することで強制的にクエストを開始できます。 クエストが正常に開始できた場合、Progress オブジェクトを応答します。 Progress オブジェクトはクエストを実行するために必要ないくつかの情報を応答します。 transactionId は実行中のクエスト固有のIDです。 クエストの完了報告にはこのIDを指定する必要があります。 randomSeed はクエストの内容を決定するために使用できる乱数シードです。 クエストを開始するたびに異なる乱数が払い出されますので、この値をシード値としてゲームを進行させることで クエスト中にアプリケーションを強制終了したとしても同一条件で再開することができます。 rewards にはこのクエストにおいて入手可能な報酬とその数量の\"最大値\"が得られます。 クエストの完了報告にも rewards を渡すことができ、そこでクエスト中に実際に入手したアイテムの数量を指定します。 詳細はクエストの完了報告APIのドキュメントを参照してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 questName string  ~ 128文字 クエストモデル名 accessToken string  ~ 128文字 アクセストークン force bool false すでに開始しているクエストがある場合にそれを破棄して開始するか config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 transactionId string 発行されたトランザクションID stampSheet string クエストの開始処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 startByUserId ユーザーIDを指定してクエストを開始 同一カテゴリ内でゲームプレイヤーは同時に1つのクエストを実行できます。 すでに同一カテゴリ内で実行中のクエストがある場合、このAPIはエラーを返します。 進行中のクエストを取得するAPIを呼び出すことで、クエストを再開するために必要な情報を得ることができます。 強制的にクエストを開始するには force パラメータに true を指定することで強制的にクエストを開始できます。 クエストが正常に開始できた場合、Progress オブジェクトを応答します。 Progress オブジェクトはクエストを実行するために必要ないくつかの情報を応答します。 transactionId は実行中のクエスト固有のIDです。 クエストの完了報告にはこのIDを指定する必要があります。 randomSeed はクエストの内容を決定するために使用できる乱数シードです。 クエストを開®®始するたびに異なる乱数が払い出されますので、この値をシード値としてゲームを進行させることで クエスト中にアプリケーションを強制終了したとしても同一条件で再開することができます。 rewards にはこのクエストにおいて入手可能な報酬とその数量の\"最大値\"が得られます。 クエストの完了報告にも rewards を渡すことができ、そこでクエスト中に実際に入手したアイテムの数量を指定します。 詳細はクエストの完了報告APIのドキュメントを参照してください。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 questName string  ~ 128文字 クエストモデル名 userId string  ~ 128文字 ユーザーID force bool false すでに開始しているクエストがある場合にそれを破棄して開始するか config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 transactionId string 発行されたトランザクションID stampSheet string クエストの開始処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 end クエストを完了 開始時に受け取ったクエストにおいて入手可能な報酬とその数量の\"最大値\"のうち、クエスト内で実際に入手した報酬を rewards で報告します。 isComplete にはクエストをクリアできたかを報告します。クエストに失敗した場合、rewards の値は無視してクエストに設定された失敗した場合の報酬が付与されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rewards List [] 0 ~ 1000 items クエストで実際に得た報酬 isComplete bool  クエストをクリアしたか config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item Progress クエスト進行状況 transactionId string 発行されたトランザクションID stampSheet string 報酬付与処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 endByUserId ユーザーIDを指定してクエストを完了 開始時に受け取ったクエストにおいて入手可能な報酬とその数量の\"最大値\"のうち、クエスト内で実際に入手した報酬を rewards で報告します。 isComplete にはクエストをクリアできたかを報告します。クエストに失敗した場合、rewards の値は無視してクエストに設定された失敗した場合の報酬が付与されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rewards List [] 0 ~ 1000 items クエストで実際に得た報酬 isComplete bool  クエストをクリアしたか config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Progress クエスト進行状況 transactionId string 発行されたトランザクションID stampSheet string 報酬付与処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 deleteProgress クエスト進行状況を削除 リクエストしたユーザーの現在のクエスト進行状況を削除します。進行中のクエストをキャンセルし、新しいクエストを開始できるようにします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Progress クエスト進行状況 実装例 deleteProgressByUserId ユーザーIDを指定してクエスト進行状況を削除 指定したユーザーの現在のクエスト進行状況を削除します。進行中のクエストをキャンセルし、新しいクエストを開始できるようにします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Progress クエスト進行状況 実装例 describeCompletedQuestLists クリア済みクエストリストの一覧を取得 リクエストしたユーザーのクリア済みクエストリストをページネーション付きで取得します。各エントリはクエストグループとその中でクリアしたクエストを表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List クリア済みクエストリストの一覧 nextPageToken string リストの続きを取得するためのページトークン 実装例 describeCompletedQuestListsByUserId ユーザーIDを指定してクリア済みクエストリストの一覧を取得 指定したユーザーのクリア済みクエストリストをページネーション付きで取得します。各エントリはクエストグループとその中でクリアしたクエストを表します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List クリア済みクエストリストの一覧 nextPageToken string リストの続きを取得するためのページトークン 実装例 getCompletedQuestList クリア済みのクエストリストを取得 指定したクエストグループのクリア済みクエストリストを取得します。リクエストしたユーザーがグループ内でクリアしたすべてのクエスト名を含みます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 このクリア済みクエストリストが属するクエストグループの名前です。ユーザーごと・クエストグループごとに1つの CompletedQuestList が存在します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item CompletedQuestList クリア済みクエストリスト 実装例 getCompletedQuestListByUserId ユーザーIDを指定してクリア済みクエストリストを取得 指定したクエストグループとユーザーのクリア済みクエストリストを取得します。ユーザーがグループ内でクリアしたすべてのクエスト名を含みます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 このクリア済みクエストリストが属するクエストグループの名前です。ユーザーごと・クエストグループごとに1つの CompletedQuestList が存在します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item CompletedQuestList クリア済みクエストリスト 実装例 deleteCompletedQuestListByUserId ユーザーIDを指定してクリア済みクエストリストを削除 指定したクエストグループとユーザーのクリア済みクエストリストを削除します。グループ内のすべてのクエストのクリア状態がリセットされ、初回クリア報酬を再度獲得できるようになります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 このクリア済みクエストリストが属するクエストグループの名前です。ユーザーごと・クエストグループごとに1つの CompletedQuestList が存在します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item CompletedQuestList クリア済みクエストリスト 実装例 describeQuestGroupModels クエストグループモデルの一覧を取得 現在アクティブなクエストグループモデルの一覧を取得します。クエストグループはクエストを整理するカテゴリとして機能し、ユーザーはグループごとに1つのクエストのみ進行できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List クエストグループモデルのリスト 実装例 getQuestGroupModel クエストグループモデルを取得 チャレンジ期間イベント設定と、含まれるクエストモデルの一覧を含む、指定されたクエストグループモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item QuestGroupModel クエストグループモデル 実装例 describeQuestModels クエストモデルの一覧を取得 指定したクエストグループ内の現在アクティブなクエストモデルの一覧を取得します。これらのモデルはクエストのコンテンツ、報酬、条件を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List クエストモデルのリスト 実装例 getQuestModel クエストモデルを取得 コンテンツ定義、報酬設定、消費アクション、前提クエスト条件を含む、指定されたクエストモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questName string  ~ 128文字 クエストモデル名 クエストモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item QuestModel 実装例 exportMaster クエストモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在登録されているクエストグループモデルマスターおよびクエストモデルマスターを有効化可能なマスターデータ形式でエクスポートします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentQuestMaster 有効化可能なクエストモデルのマスターデータ 実装例 getCurrentQuestMaster 現在アクティブなクエストモデルのマスターデータを取得 クエストグループモデルおよびクエストモデルを含む、現在アクティブなクエストモデルのマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentQuestMaster 現在アクティブなクエストモデルのマスターデータ 実装例 preUpdateCurrentQuestMaster 現在アクティブなクエストモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentQuestMaster 現在アクティブなクエストモデルのマスターデータを更新 現在アクティブなクエストモデルのマスターデータを更新します。大容量マスターデータに対応するため、直接更新モードと事前アップロードモードの両方をサポートしています。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentQuestMaster 更新された現在アクティブなクエストモデルのマスターデータ 実装例 updateCurrentQuestMasterFromGitHub 現在アクティブなクエストモデルのマスターデータをGitHubから更新 指定されたチェックアウト設定を使用して GitHub リポジトリからマスターデータをチェックアウトし、現在アクティブなクエストモデルのマスターデータを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentQuestMaster 更新された現在アクティブなクエストモデルのマスターデータ 実装例 describeQuestGroupModelMasters クエストグループモデルマスターの一覧を取得 クエストグループモデルマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 クエストグループ名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List クエストグループモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createQuestGroupModelMaster クエストグループモデルマスターを新規作成 指定した名前、説明、メタデータ、およびオプションのチャレンジ期間イベント設定を持つ新しいクエストグループモデルマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item QuestGroupModelMaster 作成したクエストグループモデルマスター 実装例 getQuestGroupModelMaster クエストグループモデルマスターを取得 指定されたクエストグループモデルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item QuestGroupModelMaster クエストグループモデルマスター 実装例 updateQuestGroupModelMaster クエストグループモデルマスターを更新 指定されたクエストグループモデルマスターの説明、メタデータ、チャレンジ期間イベント設定を更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item QuestGroupModelMaster 更新したクエストグループモデルマスター 実装例 deleteQuestGroupModelMaster クエストグループモデルマスターを削除 指定されたクエストグループモデルマスターを削除します。グループ内のすべてのクエストモデルマスターも同時に削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item QuestGroupModelMaster 削除したクエストグループモデルマスター 実装例 describeQuestModelMasters クエストモデルマスターの一覧を取得 指定したクエストグループ内のクエストモデルマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 クエストモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List クエストモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createQuestModelMaster クエストモデルマスターを新規作成 コンテンツ定義、報酬設定、消費アクション、検証アクション、失敗時入手アクション、前提クエスト名を持つ新しいクエストモデルマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 クエストモデル名 クエストモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 contents List  1 ~ 10 items クエストの内容 このクエストのコンテンツバリエーションのリストです。クエスト開始時に重み付き抽選で1つのバリエーションが選択されます。各バリエーションに異なるクリア報酬を定義でき、同じクエストでも異なる結果（例：レアモンスターの出現）を実現できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN firstCompleteAcquireActions List [] 0 ~ 10 items 初回クリア報酬入手アクションリスト このクエストの初回クリア時にのみ実行される入手アクションのリストです。通常のクリア報酬に加えて付与されるボーナス報酬で、初回クリアボーナスの実現に使用します。 verifyActions List [] 0 ~ 10 items 検証アクションリスト このクエストを開始するための前提条件となる検証アクションのリストです。すべての検証アクションが成功しないとクエストを開始できません。レベル確認やアイテム所持などの要件の強制に使用します。 consumeActions List [] 0 ~ 10 items 消費アクションリスト このクエストの開始コストとして実行される消費アクションです。スタミナや通貨などのコストがクエスト開始時に消費されます。 failedAcquireActions List [] 0 ~ 100 items 失敗時入手アクションリスト クエスト失敗時に実行される入手アクションです。失敗時の慰労報酬やクエスト参加コストの一部返還などに使用します。 premiseQuestNames List [] 0 ~ 10 items 前提クエスト名リスト このクエストに挑戦する前にクリアが必要な同グループ内のクエスト名のリストです。連続するクエストチェーンや分岐するクエストパスの作成に使用します。 Result 型 説明 item QuestModelMaster 作成したクエストモデルマスター 実装例 getQuestModelMaster クエストモデルマスターを取得 コンテンツ定義、報酬設定、前提条件を含む、指定されたクエストモデルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questName string  ~ 128文字 クエストモデル名 クエストモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item QuestModelMaster クエストモデルマスター 実装例 updateQuestModelMaster クエストモデルマスターを更新 指定されたクエストモデルマスターのコンテンツ定義、報酬設定、消費アクション、検証アクション、失敗時入手アクション、前提クエスト名を更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questName string  ~ 128文字 クエストモデル名 クエストモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 contents List  1 ~ 10 items クエストの内容 このクエストのコンテンツバリエーションのリストです。クエスト開始時に重み付き抽選で1つのバリエーションが選択されます。各バリエーションに異なるクリア報酬を定義でき、同じクエストでも異なる結果（例：レアモンスターの出現）を実現できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN firstCompleteAcquireActions List [] 0 ~ 10 items 初回クリア報酬入手アクションリスト このクエストの初回クリア時にのみ実行される入手アクションのリストです。通常のクリア報酬に加えて付与されるボーナス報酬で、初回クリアボーナスの実現に使用します。 verifyActions List [] 0 ~ 10 items 検証アクションリスト このクエストを開始するための前提条件となる検証アクションのリストです。すべての検証アクションが成功しないとクエストを開始できません。レベル確認やアイテム所持などの要件の強制に使用します。 consumeActions List [] 0 ~ 10 items 消費アクションリスト このクエストの開始コストとして実行される消費アクションです。スタミナや通貨などのコストがクエスト開始時に消費されます。 failedAcquireActions List [] 0 ~ 100 items 失敗時入手アクションリスト クエスト失敗時に実行される入手アクションです。失敗時の慰労報酬やクエスト参加コストの一部返還などに使用します。 premiseQuestNames List [] 0 ~ 10 items 前提クエスト名リスト このクエストに挑戦する前にクリアが必要な同グループ内のクエスト名のリストです。連続するクエストチェーンや分岐するクエストパスの作成に使用します。 Result 型 説明 item QuestModelMaster 更新したクエストモデルマスター 実装例 deleteQuestModelMaster クエストモデルマスターを削除 指定されたクエストモデルマスターをクエストグループから削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questGroupName string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 questName string  ~ 128文字 クエストモデル名 クエストモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item QuestModelMaster 削除したクエストモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Quest SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Quest SDK API リファレンス","url":"/ja/api_reference/quest/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ランキング操作時のトランザクションの処理方法を制御する設定です。 lastCalculatedAts List [] 0 ~ 1000 items 最終集計日時リスト 各カテゴリーのグローバルランキングが最後に集計された日時を記録するタイムスタンプのリスト。 カテゴリーごとに1エントリが維持され、再集計が完了すると対応するエントリが更新されます（新規カテゴリーの場合は新しいエントリが追加されます）。 logSetting LogSetting ログ出力設定 ランキング関連の操作ログを GS2-Log に出力するための設定。 設定すると、スコア登録、ランキング取得、購読変更などのアクションが分析や監査のために記録されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Subscribe 購読 スコープランキングの購読状態を保持し、プレイヤーがどのユーザーのスコアをフォローしているかを追跡します。 スコープランキングモードでは、各プレイヤーは購読したユーザーに基づくパーソナライズされたリーダーボードを参照します。 targetUserIds はプレイヤーが追跡したいユーザーのリストで、subscribedUserIds は確認済み（相互または承認済み）の購読を表します。 ユーザーごと・カテゴリーごとに最大10,000件の購読が可能です。 詳細  subscribeId string ※ ~ 1024文字 購読 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 categoryName string  ~ 128文字 カテゴリー名 userId string  ~ 128文字 ユーザーID targetUserIds List [] 0 ~ 10000 items 購読対象ユーザーIDリスト スコープランキングでプレイヤーが追跡したいユーザーIDのリスト。 このリストにユーザーIDを追加すると、そのユーザーのスコアがプレイヤーのパーソナライズされたリーダーボードに含まれます。最大10,000件。 subscribedUserIds List [] 0 ~ 10000 items 被購読ユーザーIDリスト このプレイヤーのスコアを購読している（フォローしている）ユーザーIDのリスト。 購読関係の逆方向を表し、これらのユーザーのスコープランキングにこのプレイヤーのスコアが表示されます。最大10,000件。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Score スコア ゲームプレイヤーごと・カテゴリーごとに登録されたスコアを保持するエンティティです。 各スコアエントリはユニークIDで識別され、カテゴリーとスコア登録ユーザーに関連付けられます。 合算モードでは、新しいスコアは個別のエントリを作成するのではなく、AddScore 操作で既存の合計に加算されます。 カテゴリーの最小値・最大値の範囲外のスコアは登録時に拒否されます。 詳細  scoreId string ※ ~ 1024文字 スコア GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 categoryName string  ~ 128文字 カテゴリー名 userId string  ~ 128文字 ユーザーID uniqueId string  UUID ~ 36文字 ユニークID このスコアエントリを一意に識別する UUID。 作成時に自動生成されます。uniqueByUserId が無効の場合、同一ユーザーの同一カテゴリー内の複数スコアエントリを区別するために使用されます。 scorerUserId string  ~ 128文字 ユーザーID score long  0 ~ 9223372036854775805 スコア プレイヤーが登録したスコア値。 カテゴリーに設定された最小値・最大値の範囲内である必要があります。合算モードでは、AddScore 操作でこの値をインクリメントできます。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Ranking ランキング ランキングリーダーボードの1エントリを表し、ユーザーの順位、スコア、および関連メタデータを含みます。 グローバルランキング（全プレイヤーが共有ボードでバッチ集計により競争）とスコープランキング（購読したプレイヤーに基づくユーザーごとのボードでリアルタイム反映）の2種類があります。 ランキングはカテゴリーに設定されたソート方向で並び替えられ、同スコアのエントリは同順位を共有しつつ異なるインデックスを保持します。 詳細  rank long  1 ~ 9223372036854775805 順位 このエントリのランキング順位（1始まり）。 同スコアのエントリは同じ順位を共有します。例えば、2ユーザーが1位タイの場合、両方とも順位1となり次のエントリは順位3になります。 index long  0 ~ 9223372036854775805 インデックス ランキングリスト内のゼロベースの連番インデックス。 rank と異なり、複数のエントリが同スコアを共有していてもインデックスは常にユニークで連続します。ページネーションや範囲ベースのクエリに使用されます。 categoryName string  ~ 128文字 カテゴリーモデル名 userId string  ~ 128文字 ユーザーID score long  0 ~ 9223372036854775805 スコア このランキングエントリのスコア値。 合算モードの場合、登録された全スコアの累積合計です。ランキングのソート順に使用される値はカテゴリーの orderDirection 設定に依存します。 metadata string ~ 512文字 メタデータ このランキングエントリに関連付けられた任意のメタデータ。 スコア登録時に設定され、ランキング結果と共に返されます。最大512文字。 createdAt long  作成日時 UNIX 時間・ミリ秒 ※ サーバー側で自動的に設定 SubscribeUser 購読ユーザー スコープランキングカテゴリー内の個別の購読関係を表します。 各エントリは、親ユーザーが指定カテゴリーでターゲットユーザーのスコアを購読（フォロー）していることを示します。 詳細  subscribeUserId string ※ ~ 1024文字 購読対象 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 categoryName string  ~ 128文字 カテゴリーモデル名 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 購読対象ユーザーID 購読先のプレイヤーのユーザーID。 このユーザーのスコアが、購読元ユーザーの指定カテゴリーにおけるスコープランキングに表示されます。 CategoryModel カテゴリーモデル カテゴリー毎に異なるランキングを作成できます。 カテゴリーには登録できるスコアの最小値・最大値を設定でき、その範囲外のスコアは破棄されます。 ランキングを集計する際にスコアを小さいものを上位（昇順）にするか、大きいものを上位（降順）にするかを設定できます。 ランキングの種類として グローバル と スコープ を選択できます。 グローバルは全プレイヤーが同じ結果を参照するもので、スコープはフレンド内ランキングや、ギルド内ランキングのようなゲームプレイヤー毎に結果の異なるランキングです。 グローバルランキングはカテゴリーごとにランキングの集計間隔を15分～24時間で設定できます。 スコープランキングはリアルタイムで集計結果が反映されます。 ランキングデータには世代という設定があり、世代を変更することで登録されたスコアをリセットすることができます。 詳細  categoryModelId string ※ ~ 1024文字 カテゴリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 このカテゴリーに登録できるスコアの最小値。 この閾値を下回るスコアは登録時に拒否されます。未設定の場合、下限はありません。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 このカテゴリーに登録できるスコアの最大値。 この閾値を上回るスコアは登録時に拒否されます。未設定の場合、上限はありません。 sum bool false 合算モード 有効にすると、新しく登録されたスコアは既存のスコアを置き換えるのではなく、合計に加算されます。 ランキングは蓄積された合計値に基づいて計算されます。無効の場合、各スコア登録は独立したエントリとして扱われます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキング集計のソート順を決定します。 “asc”（昇順）は低いスコアを上位とし、タイムベースやゴルフ式のランキングに適しています。 “desc”（降順）は高いスコアを上位とし、ポイントベースやハイスコアランキングに適しています。 定義 説明 “asc” 昇順 “desc” 降順 scope 文字列列挙型 enum {   “global”,   “scoped” }  ランキングの種類 このカテゴリーのランキングタイプ。 “global” は全プレイヤーが共有する単一のリーダーボードを作成し、設定された間隔でバッチ集計されます。 “scoped” は購読したプレイヤー（フレンドやギルドメンバー等）に基づくユーザーごとのリーダーボードを作成し、スコアがリアルタイムで反映されます。 定義 説明 “global” グローバル “scoped” スコープ globalRankingSetting GlobalRankingSetting {scope} == “global” ※ グローバルランキング設定 グローバルランキングモード固有の設定。集計間隔、固定時刻、スコアのユニーク性、世代管理、および追加の期間限定スコープを含みます。 scope が “global” に設定されている場合のみ適用されます。 ※ scope が “global” であれば 必須 entryPeriodEventId string ~ 1024文字 スコア登録期間イベントID スコア登録を受け付ける期間を定義する GS2-Schedule イベントの GRN。 この期間外のスコア登録リクエストは拒否されます。未設定の場合、スコアはいつでも登録できます。 accessPeriodEventId string ~ 1024文字 アクセス期間イベントID ランキングデータを閲覧できる期間を定義する GS2-Schedule イベントの GRN。 この期間外のランキング取得リクエストは拒否されます。未設定の場合、ランキングはいつでもアクセスできます。 Scope 集計スコープ グローバルランキングモードにおける追加の期間限定集計スコープを定義します。 通常、グローバルランキングは登録されたスコア全てを対象に集計が行われます。 スコープを追加することで、指定した日数以内に登録されたスコアのみを対象とする別ランキングを作成でき、全期間ランキングと併せてデイリー・ウィークリー・マンスリーなどのリーダーボードを実現できます。 詳細  name string  ~ 128文字 スコープ名 カテゴリー内でこの集計スコープを一意に識別する名前。 複数の期間限定ランキングボードを区別するために使用されます（例: “daily”, “weekly”）。最大128文字。 targetDays long  1 ~ 365 集計対象日数 集計ウィンドウに含める日数。 現在時刻からこの日数以内に登録されたスコアのみがスコープランキングの対象となります。範囲: 1～365日。 GlobalRankingSetting グローバルランキング設定 グローバルは全プレイヤーが同じ結果を参照するものです。 ランキングの集計間隔を15分～24時間で設定できます。 ランキングデータには世代という設定があり、世代を変更することで登録されたスコアをリセットすることができます。 詳細  uniqueByUserId bool true ユーザーID毎にユニーク 有効にすると、ランキング内でユーザーIDごとに1つのスコアのみ保持されます。 ユーザーが新しいスコアを登録すると、ソート方向に基づいてより良いスコアに置き換えられます。 無効にすると、同一ユーザーから複数のスコアエントリが許可され、合算モードや複数エントリによる競争が可能になります。 calculateIntervalMinutes int  15 ~ 1440 集計間隔（分） 連続するランキング再集計の間隔（分）。 システムはこの間隔で、登録された全スコアに基づいてグローバルランキングを定期的に再集計します。 範囲: 15～1440分（15分～24時間）。 calculateFixedTiming FixedTiming 集計時刻固定設定 ランキング再集計が開始される1日の固定時刻（UTC）を指定します。 未設定の場合、再集計は不定の基準時刻から定期間隔で実行されます。 これを設定することで、毎日予測可能で一貫した時刻に再集計が行われるようになります。 additionalScopes List 0 ~ 10 items 追加スコープリスト 追加の期間限定集計スコープのリスト。 各スコープは指定した日数以内に登録されたスコアのみを対象とする別ランキングを定義します。 全期間のグローバルランキングと併せて、デイリー・ウィークリー・マンスリーなどのリーダーボードを作成できます。最大10件。 ignoreUserIds List 0 ~ 10000 items 除外ユーザーIDリスト ランキング集計からスコアを除外するユーザーIDのリスト。 テストアカウント、管理者アカウント、または既知の不正ユーザーをリーダーボードから除外するのに使用します。最大10,000件。 generation string ~ 256文字 世代 現在のランキング世代を表す任意の文字列。 この値を変更すると、前の世代のスコアはランキング集計に含まれなくなるため、実質的にスコアがリセットされます。 シーズン制リセットや定期的なランキングリセットの実装に使用します。最大256文字。 FixedTiming 集計時刻固定設定 グローバルランキングの集計が開始される固定時刻を指定します。 この設定がない場合、ランキング集計は不定の基準時刻から定期間隔で実行されます。 固定の時・分を指定することで、毎日の集計開始時刻（UTC）を予測可能にでき、深夜0時や特定の時刻に集計を開始するよう制御できます。 詳細  hour int 0 ~ 23 時 ランキング集計が開始される時刻の時（UTC）。 0～23 の整数で指定します。 minute int 0 ~ 59 分 指定した時刻の分。 0～59 の整数で指定します。 CalculatedAt 最終集計日時 特定のカテゴリーに対する最後のランキング集計のタイムスタンプを記録します。 ネームスペースはカテゴリーごとに1つずつこのエントリのリストを保持し、グローバルランキングの再集計が完了するたびに更新されます。 詳細  categoryName string  ~ 128文字 カテゴリー名 最終集計時刻が追跡されるカテゴリーモデルの名前。 同じネームスペース内で定義された CategoryModel の name フィールドと一致します。 calculatedAt long  集計日時 このカテゴリーのランキング集計が最後に完了したタイムスタンプ。 UNIX 時間（ミリ秒）で表現されます。ランキング再集計が完了した際にサーバーが自動的に設定します。 CurrentRankingMaster 現在アクティブなランキングモデルのマスターデータ 現在ネームスペース内で有効な、ランキングのモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Ranking マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ CategoryModelMaster カテゴリーモデルマスター カテゴリーモデルマスターは、ゲーム内で使用されるカテゴリーモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるカテゴリーモデルとして反映されます。 カテゴリー毎に異なるランキングを作成できます。 カテゴリーには登録できるスコアの最小値・最大値を設定でき、その範囲外のスコアは破棄されます。 ランキングを集計する際にスコアを小さいものを上位（昇順）にするか、大きいものを上位（降順）にするかを設定できます。 ランキングの種類として グローバル と スコープ を選択できます。 グローバルは全プレイヤーが同じ結果を参照するもので、スコープはフレンド内ランキングや、ギルド内ランキングのようなゲームプレイヤー毎に結果の異なるランキングです。 グローバルランキングはカテゴリーごとにランキングの集計間隔を15分～24時間で設定できます。 スコープランキングはリアルタイムで集計結果が反映されます。 ランキングデータには世代という設定があり、世代を変更することで登録されたスコアをリセットすることができます。 詳細  categoryModelId string ※ ~ 1024文字 カテゴリマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 このカテゴリーに登録できるスコアの最小値。 この閾値を下回るスコアは登録時に拒否されます。未設定の場合、下限はありません。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 このカテゴリーに登録できるスコアの最大値。 この閾値を上回るスコアは登録時に拒否されます。未設定の場合、上限はありません。 sum bool false 合算モード 有効にすると、新しく登録されたスコアは既存のスコアを置き換えるのではなく、合計に加算されます。 ランキングは蓄積された合計値に基づいて計算されます。無効の場合、各スコア登録は独立したエントリとして扱われます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキング集計のソート順を決定します。 “asc”（昇順）は低いスコアを上位とし、タイムベースやゴルフ式のランキングに適しています。 “desc”（降順）は高いスコアを上位とし、ポイントベースやハイスコアランキングに適しています。 定義 説明 “asc” 昇順 “desc” 降順 scope 文字列列挙型 enum {   “global”,   “scoped” }  ランキングの種類 このカテゴリーのランキングタイプ。 “global” は全プレイヤーが共有する単一のリーダーボードを作成し、設定された間隔でバッチ集計されます。 “scoped” は購読したプレイヤー（フレンドやギルドメンバー等）に基づくユーザーごとのリーダーボードを作成し、スコアがリアルタイムで反映されます。 定義 説明 “global” グローバル “scoped” スコープ globalRankingSetting GlobalRankingSetting {scope} == “global” ※ グローバルランキング設定 グローバルランキングモード固有の設定。集計間隔、固定時刻、スコアのユニーク性、世代管理、および追加の期間限定スコープを含みます。 scope が “global” に設定されている場合のみ適用されます。 ※ scope が “global” であれば 必須 entryPeriodEventId string ~ 1024文字 スコア登録期間イベントID スコア登録を受け付ける期間を定義する GS2-Schedule イベントの GRN。 この期間外のスコア登録リクエストは拒否されます。未設定の場合、スコアはいつでも登録できます。 accessPeriodEventId string ~ 1024文字 アクセス期間イベントID ランキングデータを閲覧できる期間を定義する GS2-Schedule イベントの GRN。 この期間外のランキング取得リクエストは拒否されます。未設定の場合、ランキングはいつでもアクセスできます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ランキング操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログ出力設定 ランキング関連の操作ログを GS2-Log に出力するための設定。 設定すると、スコア登録、ランキング取得、購読変更などのアクションが分析や監査のために記録されます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ランキング操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログ出力設定 ランキング関連の操作ログを GS2-Log に出力するための設定。 設定すると、スコア登録、ランキング取得、購読変更などのアクションが分析や監査のために記録されます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 subscribe 対象ユーザーを購読 指定したカテゴリにおいて、指定した対象ユーザーのランキングを購読します。対象ユーザーのスコアがリクエストしたユーザーのスコープ付きランキングに含まれるようになります。自分自身を購読することはできません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリー名 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 購読するユーザーID Result 型 説明 item SubscribeUser 購読対象ユーザー情報 実装例 subscribeByUserId ユーザーIDを指定して対象のユーザーを購読 指定したユーザーに代わって、指定したカテゴリにおいて指定した対象ユーザーのランキングを購読します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリー名 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 購読するユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscribeUser 購読対象ユーザー情報 実装例 describeScores スコアの一覧を取得 指定したカテゴリにおいて、指定したスコア投稿者が登録したスコアのリストをページネーション付きで取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 accessToken string  ~ 128文字 アクセストークン scorerUserId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List スコアのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeScoresByUserId ユーザーIDを指定してスコアの一覧を取得 指定したユーザーにおいて、指定したカテゴリで指定したスコア投稿者が登録したスコアのリストをページネーション付きで取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 userId string  ~ 128文字 ユーザーID scorerUserId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List スコアのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getScore スコアを取得 カテゴリ、スコア投稿者のユーザーID、ユニークIDを指定して特定のスコアレコードを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリー名 accessToken string  ~ 128文字 アクセストークン scorerUserId string  ~ 128文字 ユーザーID uniqueId string “0” ~ 36文字 スコアのユニークID Result 型 説明 item Score スコア 実装例 getScoreByUserId ユーザーIDを指定してスコアを取得 指定したユーザーにおいて、カテゴリ、スコア投稿者のユーザーID、ユニークIDを指定して特定のスコアレコードを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリー名 userId string  ~ 128文字 ユーザーID scorerUserId string  ~ 128文字 ユーザーID uniqueId string “0” ~ 36文字 スコアのユニークID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Score スコア 実装例 describeRankings ランキングを取得 指定したカテゴリのランキングをページネーション付きで取得します。グローバルランキングとスコープ付きランキングの両方に対応しています。開始インデックスを指定して特定の順位から取得を開始できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string ~ 128文字 アクセストークン additionalScopeName string ~ 128文字 スコープ名 カテゴリー内でこの集計スコープを一意に識別する名前。 複数の期間限定ランキングボードを区別するために使用されます（例: “daily”, “weekly”）。最大128文字。 startIndex long 0 ~ 9223372036854775805 ランキングの取得を開始するインデックス pageToken string ~ 4096文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ランキングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeRankingssByUserId ユーザーIDを指定してランキングを取得 指定したカテゴリとユーザーのランキングをページネーション付きで取得します。グローバルランキングとスコープ付きランキングの両方に対応しています。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string ~ 128文字 ユーザーID additionalScopeName string ~ 128文字 スコープ名 カテゴリー内でこの集計スコープを一意に識別する名前。 複数の期間限定ランキングボードを区別するために使用されます（例: “daily”, “weekly”）。最大128文字。 startIndex long 0 ~ 9223372036854775805 ランキングの取得を開始するインデックス pageToken string ~ 4096文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ランキングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeNearRankings 指定したスコア付近のランキングを取得 このAPIはグローバルランキングのときのみ使用できます 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 additionalScopeName string ~ 128文字 スコープ名 カテゴリー内でこの集計スコープを一意に識別する名前。 複数の期間限定ランキングボードを区別するために使用されます（例: “daily”, “weekly”）。最大128文字。 score long  0 ~ 9223372036854775805 スコア このランキングエントリのスコア値。 合算モードの場合、登録された全スコアの累積合計です。ランキングのソート順に使用される値はカテゴリーの orderDirection 設定に依存します。 Result 型 説明 items List ランキングのリスト 実装例 getRanking ランキングを取得 特定のスコア投稿者のスコアに対するランキング情報（順位を含む）を取得します。指定したスコア付近のランキングも合わせて返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン scorerUserId string  ~ 128文字 スコアを獲得したユーザーのユーザーID uniqueId string “0” ~ 36文字 スコアのユニークID additionalScopeName string ~ 128文字 スコープ名 カテゴリー内でこの集計スコープを一意に識別する名前。 複数の期間限定ランキングボードを区別するために使用されます（例: “daily”, “weekly”）。最大128文字。 Result 型 説明 item Ranking ランキング 実装例 getRankingByUserId ユーザーIDを指定してランキングを取得 指定したユーザーにおける特定のスコア投稿者のスコアに対するランキング情報（順位を含む）を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ランキングを取得するユーザーID（GS2-Schedule の期間判定に使用されます。） scorerUserId string  ~ 128文字 スコアを獲得したユーザーのユーザーID uniqueId string “0” ~ 36文字 スコアのユニークID additionalScopeName string ~ 128文字 スコープ名 カテゴリー内でこの集計スコープを一意に識別する名前。 複数の期間限定ランキングボードを区別するために使用されます（例: “daily”, “weekly”）。最大128文字。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Ranking ランキング 実装例 putScore スコアを登録 指定したランキングカテゴリにリクエストしたユーザーのスコアを登録します。カテゴリのタイプに応じてグローバルランキングまたはスコープ付きランキングの処理に振り分けられます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン score long  0 ~ 9223372036854775805 スコア このランキングエントリのスコア値。 合算モードの場合、登録された全スコアの累積合計です。ランキングのソート順に使用される値はカテゴリーの orderDirection 設定に依存します。 metadata string ~ 512文字 メタデータ このランキングエントリに関連付けられた任意のメタデータ。 スコア登録時に設定され、ランキング結果と共に返されます。最大512文字。 Result 型 説明 item Score 登録したスコア 実装例 putScoreByUserId ユーザーIDを指定してスコアを登録 指定したランキングカテゴリに指定したユーザーのスコアを登録します。カテゴリのタイプに応じてグローバルランキングまたはスコープ付きランキングの処理に振り分けられます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID score long  0 ~ 9223372036854775805 スコア このランキングエントリのスコア値。 合算モードの場合、登録された全スコアの累積合計です。ランキングのソート順に使用される値はカテゴリーの orderDirection 設定に依存します。 metadata string ~ 512文字 メタデータ このランキングエントリに関連付けられた任意のメタデータ。 スコア登録時に設定され、ランキング結果と共に返されます。最大512文字。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Score 登録したスコア 実装例 calcRanking ランキングの計算処理の強制実行 スケジュールされた計算タイミングに関係なく、指定したカテゴリのランキング再計算を即座に実行します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 additionalScopeName string ~ 128文字 追加のスコープ Result 型 説明 processing bool 非同期処理で集計処理が継続中か 実装例 getSubscribe 購読対象ユーザー情報を取得 指定したランキングカテゴリにおける特定の対象ユーザーの購読情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリー名 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 ユーザーID Result 型 説明 item SubscribeUser 購読対象ユーザー情報 実装例 getSubscribeByUserId ユーザーIDを指定して購読を取得 指定したユーザーにおける、指定したランキングカテゴリの特定の対象ユーザーの購読情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリー名 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscribeUser 購読対象ユーザー情報 実装例 unsubscribe 対象ユーザーの購読を解除 指定したカテゴリにおいて、指定した対象ユーザーのランキング購読を解除します。対象ユーザーのスコアはリクエストしたユーザーのスコープ付きランキングに表示されなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリー名 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 購読解除するユーザーID Result 型 説明 item SubscribeUser 解除した購読対象ユーザー情報 実装例 unsubscribeByUserId ユーザーIDを指定して対象ユーザーの購読を解除 指定したユーザーに代わって、指定したカテゴリにおいて指定した対象ユーザーのランキング購読を解除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリー名 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 購読解除するユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscribeUser 解除した購読対象ユーザー情報 実装例 describeSubscribesByCategoryName 購読しているユーザーのユーザーIDの一覧取得 指定したランキングカテゴリにおいて、リクエストしたユーザーが購読しているユーザーの一覧を取得します。購読ユーザーのスコアはスコープ付きランキングに含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 accessToken string  ~ 128文字 アクセストークン Result 型 説明 items List 購読対象ユーザー情報のリスト 実装例 describeSubscribesByCategoryNameAndUserId ユーザーIDを指定してそのユーザーが購読しているユーザーの一覧取得 指定したランキングカテゴリにおいて、指定したユーザーが購読しているユーザーの一覧を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 購読対象ユーザー情報のリスト 実装例 describeCategoryModels カテゴリモデルの一覧を取得 現在アクティブなカテゴリモデルの一覧を取得します。カテゴリモデルはスコアリングルール、計算設定、スコープ設定を含むランキングカテゴリを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List カテゴリモデルのリスト 実装例 getCategoryModel カテゴリモデルを取得 スコア範囲、ソート順、スコープタイプ、グローバルランキング設定、エントリー/アクセス期間イベント設定を含む、指定されたカテゴリモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CategoryModel カテゴリモデル 実装例 exportMaster モデルマスターを有効化可能なマスターデータ形式でエクスポート 現在登録されているカテゴリモデルマスターを有効化可能なマスターデータ形式でエクスポートします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentRankingMaster 有効化可能なマスターデータ 実装例 getCurrentRankingMaster 現在アクティブなランキングモデルのマスターデータを取得 カテゴリモデル定義を含む、現在アクティブなランキングモデルのマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentRankingMaster 現在アクティブなランキングモデルのマスターデータ 実装例 preUpdateCurrentRankingMaster 現在アクティブなランキングモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentRankingMaster 現在アクティブなランキングモデルのマスターデータを更新 現在アクティブなランキングモデルのマスターデータを更新します。大容量マスターデータに対応するため、直接更新モードと事前アップロードモードの両方をサポートしています。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentRankingMaster 更新された現在アクティブなランキングモデルのマスターデータ 実装例 updateCurrentRankingMasterFromGitHub 現在アクティブなランキングモデルのマスターデータをGitHubから更新 指定されたチェックアウト設定を使用して GitHub リポジトリからマスターデータをチェックアウトし、現在アクティブなランキングモデルのマスターデータを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentRankingMaster 更新された現在アクティブなランキングモデルのマスターデータ 実装例 describeCategoryModelMasters カテゴリモデルマスターの一覧を取得 カテゴリモデルマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 カテゴリモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List カテゴリモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createCategoryModelMaster カテゴリモデルマスターを新規作成 スコア範囲、ソート順、スコープタイプ、グローバルランキング設定、エントリー/アクセス期間イベント設定を持つ新しいカテゴリモデルマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 このカテゴリーに登録できるスコアの最小値。 この閾値を下回るスコアは登録時に拒否されます。未設定の場合、下限はありません。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 このカテゴリーに登録できるスコアの最大値。 この閾値を上回るスコアは登録時に拒否されます。未設定の場合、上限はありません。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキング集計のソート順を決定します。 “asc”（昇順）は低いスコアを上位とし、タイムベースやゴルフ式のランキングに適しています。 “desc”（降順）は高いスコアを上位とし、ポイントベースやハイスコアランキングに適しています。 定義 説明 “asc” 昇順 “desc” 降順 scope 文字列列挙型 enum {   “global”,   “scoped” }  ランキングの種類 このカテゴリーのランキングタイプ。 “global” は全プレイヤーが共有する単一のリーダーボードを作成し、設定された間隔でバッチ集計されます。 “scoped” は購読したプレイヤー（フレンドやギルドメンバー等）に基づくユーザーごとのリーダーボードを作成し、スコアがリアルタイムで反映されます。 定義 説明 “global” グローバル “scoped” スコープ globalRankingSetting GlobalRankingSetting {scope} == “global” ※ グローバルランキング設定 グローバルランキングモード固有の設定。集計間隔、固定時刻、スコアのユニーク性、世代管理、および追加の期間限定スコープを含みます。 scope が “global” に設定されている場合のみ適用されます。 ※ scope が “global” であれば必須 entryPeriodEventId string ~ 1024文字 スコア登録期間イベントID スコア登録を受け付ける期間を定義する GS2-Schedule イベントの GRN。 この期間外のスコア登録リクエストは拒否されます。未設定の場合、スコアはいつでも登録できます。 accessPeriodEventId string ~ 1024文字 アクセス期間イベントID ランキングデータを閲覧できる期間を定義する GS2-Schedule イベントの GRN。 この期間外のランキング取得リクエストは拒否されます。未設定の場合、ランキングはいつでもアクセスできます。 sum bool false 合算モード 有効にすると、新しく登録されたスコアは既存のスコアを置き換えるのではなく、合計に加算されます。 ランキングは蓄積された合計値に基づいて計算されます。無効の場合、各スコア登録は独立したエントリとして扱われます。 Result 型 説明 item CategoryModelMaster 作成したカテゴリモデルマスター 実装例 getCategoryModelMaster カテゴリモデルマスターを取得 指定されたカテゴリモデルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CategoryModelMaster カテゴリモデルマスター 実装例 updateCategoryModelMaster カテゴリモデルマスターを更新 指定されたカテゴリモデルマスターのスコア範囲、ソート順、スコープタイプ、グローバルランキング設定、エントリー/アクセス期間イベント設定を更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 このカテゴリーに登録できるスコアの最小値。 この閾値を下回るスコアは登録時に拒否されます。未設定の場合、下限はありません。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 このカテゴリーに登録できるスコアの最大値。 この閾値を上回るスコアは登録時に拒否されます。未設定の場合、上限はありません。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキング集計のソート順を決定します。 “asc”（昇順）は低いスコアを上位とし、タイムベースやゴルフ式のランキングに適しています。 “desc”（降順）は高いスコアを上位とし、ポイントベースやハイスコアランキングに適しています。 定義 説明 “asc” 昇順 “desc” 降順 scope 文字列列挙型 enum {   “global”,   “scoped” }  ランキングの種類 このカテゴリーのランキングタイプ。 “global” は全プレイヤーが共有する単一のリーダーボードを作成し、設定された間隔でバッチ集計されます。 “scoped” は購読したプレイヤー（フレンドやギルドメンバー等）に基づくユーザーごとのリーダーボードを作成し、スコアがリアルタイムで反映されます。 定義 説明 “global” グローバル “scoped” スコープ globalRankingSetting GlobalRankingSetting {scope} == “global” ※ グローバルランキング設定 グローバルランキングモード固有の設定。集計間隔、固定時刻、スコアのユニーク性、世代管理、および追加の期間限定スコープを含みます。 scope が “global” に設定されている場合のみ適用されます。 ※ scope が “global” であれば必須 entryPeriodEventId string ~ 1024文字 スコア登録期間イベントID スコア登録を受け付ける期間を定義する GS2-Schedule イベントの GRN。 この期間外のスコア登録リクエストは拒否されます。未設定の場合、スコアはいつでも登録できます。 accessPeriodEventId string ~ 1024文字 アクセス期間イベントID ランキングデータを閲覧できる期間を定義する GS2-Schedule イベントの GRN。 この期間外のランキング取得リクエストは拒否されます。未設定の場合、ランキングはいつでもアクセスできます。 sum bool false 合算モード 有効にすると、新しく登録されたスコアは既存のスコアを置き換えるのではなく、合計に加算されます。 ランキングは蓄積された合計値に基づいて計算されます。無効の場合、各スコア登録は独立したエントリとして扱われます。 Result 型 説明 item CategoryModelMaster 更新したカテゴリモデルマスター 実装例 deleteCategoryModelMaster カテゴリモデルマスターを削除 指定されたカテゴリモデルマスターを削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 categoryName string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CategoryModelMaster 削除したカテゴリモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Ranking SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Ranking SDK API リファレンス","url":"/ja/api_reference/ranking/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 ランキング報酬の付与に使用される分散トランザクションの設定です。入手アクションを自動実行するオートラン、全体の成否を保証するアトミックコミットをサポートします。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。スコア登録やランキング報酬配布の追跡に使用されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 GlobalRankingScore グローバルランキングスコア 特定シーズンのグローバルランキングにおけるユーザーの登録スコアを保存します。合算モードが有効な場合、複数の登録スコアが累積されます。 詳細  globalRankingScoreId string ※ ~ 1024文字 グローバルランキングスコア GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。新しいランキング期間ごとに増加します。 score long  0 ~ 9223372036854775805 スコア ユーザーが登録したスコア値です。ランキングモデルの minimumValue と maximumValue で定義された範囲内である必要があります。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン GlobalRankingReceivedReward グローバルランキング報酬受け取り履歴 グローバルランキングでの順位に対して報酬を設定できます。 報酬を設定するには 順位閾値 と 報酬の内容 を設定します。 詳細  globalRankingReceivedRewardId string ※ ~ 1024文字 グローバルランキング報酬受け取り履歴 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。新しいランキング期間ごとに増加します。 receivedAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン GlobalRankingData グローバルランキング 特定シーズンのグローバルランキングにおけるランキングエントリを表します。ユーザーのスコア、0始まりのインデックス（ソート位置）、1始まりの順位（同点を考慮）を含みます。順位はインデックス + 1 で計算されます。 詳細  globalRankingDataId string ※ ~ 1024文字 グローバルランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。新しいランキング期間ごとに増加します。 userId string  ~ 128文字 ユーザーID index int 0 ~ 2147483646 インデックス ランキング内のこのエントリの0始まりの一意のソート位置です。順位とは異なり、スコアが同点でもインデックスは常に一意です。インデックスベースの報酬計算に使用されます。 rank int 0 ~ 2147483646 順位 1始まりのランキング順位です。同スコアのプレイヤーは同じ順位を共有します。インデックス + 1 で計算されます。順位ベースの報酬計算に使用されます。 score long  0 ~ 9223372036854775805 スコア metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 invertUpdatedAt long  0 ~ 9223372036854775805 更新日時の反転値（ソート用の内部値） createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン ClusterRankingScore クラスターランキングスコア 特定シーズン・クラスターにおけるユーザーの登録スコアを保存します。スコアの受付前に、クラスタータイプ設定に基づいてユーザーのクラスター所属が検証されます。 詳細  clusterRankingScoreId string ※ ~ 1024文字 クラスターランキングスコア GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。 userId string  ~ 128文字 ユーザーID score long  0 ~ 9223372036854775805 スコア このクラスター内でユーザーが登録したスコア値です。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン ClusterRankingReceivedReward クラスターランキング報酬受け取り履歴 クラスターランキングの順位に応じた報酬を設定できます。 報酬を設定するには 順位閾値 と 報酬の内容 を設定します。 詳細  clusterRankingReceivedRewardId string ※ ~ 1024文字 クラスターランキング報酬受け取り履歴 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。 userId string  ~ 128文字 ユーザーID receivedAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン ClusterRankingData クラスターランキング 特定シーズン・クラスターにおけるクラスターランキングのランキングエントリを表します。クラスター内のユーザーのスコア、0始まりのインデックス、1始まりの順位を含みます。 詳細  clusterRankingDataId string ※ ~ 1024文字 クラスターランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このシーズンが属するクラスター（ギルド、ギャザリング、またはグループ）の名前です。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。 userId string  ~ 128文字 ユーザーID index int 0 ~ 2147483646 インデックス クラスターランキング内の0始まりの一意のソート位置です。スコアが同点でも常に一意です。 rank int 0 ~ 2147483646 順位 クラスター内の1始まりのランキング順位です。同スコアのプレイヤーは同じ順位を共有します。インデックス + 1 で計算されます。 score long  0 ~ 9223372036854775805 スコア metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 invertUpdatedAt long  0 ~ 9223372036854775805 更新日時の反転値（ソート用の内部値） createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Subscribe 購読 他プレイヤーを購読対象として登録することで、そのプレイヤーの最新スコアを自身のランキングボードに反映できます。 詳細  subscribeId string ※ ~ 1024文字 スコア購読 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserIds List [] 0 ~ 1000 items 購読対象ユーザーID このユーザーが購読しているユーザーIDのリストです。購読対象ユーザーのスコアがこのユーザーの購読ランキングに表示されます。最大1000ユーザーまで購読可能で、重複購読は防止されます。 fromUserIds List [] 0 ~ 1000 items 被購読対象ユーザーID このユーザーを購読しているユーザーIDのリストです。targetUserIds の逆方向の関係で、どのユーザーがこのユーザーのスコアをフォローしているかを追跡します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SubscribeRankingScore 購読ランキングスコア 特定シーズンの購読ランキングにおけるユーザーの登録スコアを保存します。このスコアは、このユーザーを購読しているユーザーに表示され、パーソナライズされたフレンドランキングを形成します。 詳細  subscribeRankingScoreId string ※ ~ 1024文字 購読ランキングスコア GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。 userId string  ~ 128文字 ユーザーID score long  0 ~ 9223372036854775805 スコア metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SubscribeRankingData 購読ランキング 特定シーズンのユーザーのパーソナライズされた購読ランキングにおけるランキングエントリを表します。購読ユーザーのスコアを含み、フレンドリスト内でランク付けされます。各エントリにはスコアを達成したユーザーIDが含まれます。 詳細  subscribeRankingDataId string ※ ~ 1024文字 購読ランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。 userId string  ~ 128文字 ユーザーID index int 0 ~ 2147483646 インデックス 購読ランキング内の0始まりの一意のソート位置です。 rank int 0 ~ 2147483646 順位 購読ランキング内の1始まりのランキング順位です。インデックス + 1 で計算されます。 scorerUserId string  ~ 128文字 スコアを獲得したユーザーID このスコアを達成したプレイヤーのユーザーIDです。購読ランキングでは購読ユーザーのスコアがエントリとなるため、このフィールドはどのフレンドのスコアかを識別します。 score long  0 ~ 9223372036854775805 スコア metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 invertUpdatedAt long  0 ~ 9223372036854775805 更新日時の反転値（ソート用の内部値） createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SubscribeUser 購読対象ユーザー情報 購読ランキングにおける2ユーザー間の購読関係を表します。 詳細  rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 購読対象ユーザーID 購読対象のプレイヤーのユーザーIDです。このプレイヤーのスコアが購読者のパーソナライズされたランキングに含まれます。 GlobalRankingModel グローバルランキングモデル グローバルランキングは全てのプレイヤーを対象としたランキングを実現するためのモデルです。 上位1000位までのランキングを表示することができます。 GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。 詳細  globalRankingModelId string ※ ~ 1024文字 グローバルランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。無効または意図しないスコア値のフィルタリングに使用します。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。異常に高いスコアの登録防止に使用します。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、ソート方向に応じた最良のスコア（最高値または最低値）のみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合（例：タイムアタック）は「昇順」、高いスコアほど上位の場合（例：ハイスコア）は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、繰り返しサイクルごとにランキングがリセットされ、シーズン制ランキングを実現できます。 rankingRewards List {entryPeriodEventId} != null [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。各報酬は順位閾値と実行する入手アクションを定義します。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧と報酬の受け取りが可能な期間を定義する GS2-Schedule のイベントGRNです。通常、スコア登録期間の間のインターバルに設定します。 rewardCalculationIndex 文字列列挙型 enum {   “rank”,   “index” } “rank” 報酬計算インデックス 報酬をプレイヤーに対応付ける方法を決定します。「順位ベース」は1始まりのランキング順位を使用し（同スコアのプレイヤーは同じ順位を共有）、「インデックスベース」は0始まりの一意のソート位置を使用します（同順位なし）。通常のユースケースでは「順位ベース」を選択してください。 定義 説明 “rank” 順位ベースで報酬を決定 “index” インデックスベースで報酬を決定 ClusterRankingModel クラスターランキングモデル クラスターランキングはギルドやギャザリング内のプレイヤーを対象としたランキングを実現するためのモデルです。 上位1000位までのランキングを表示することができます。 GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。 詳細  clusterRankingModelId string ※ ~ 1024文字 クラスターランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 clusterType 文字列列挙型 enum {   “Raw”,   “Gs2Guild::Guild”,   “Gs2Matchmaking::SeasonGathering” }  クラスタータイプ ランキングのセグメンテーションに使用するグループ（クラスター）の種類を定義します。「Raw」は所属検証なしで任意のクラスター名を指定でき、「Gs2Guild::Guild」はGS2-Guildギルドへの所属を検証し、「Gs2Matchmaking::SeasonGathering」はGS2-Matchmakingシーズンギャザリングへの所属を検証します。 定義 説明 “Raw” 検証なし “Gs2Guild::Guild” GS2-Guild ギルド “Gs2Matchmaking::SeasonGathering” GS2-Matchmaking シーズンギャザリング minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、最良のスコアのみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合は「昇順」、高いスコアほど上位の場合は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、シーズン制ランキングを実現できます。 rankingRewards List {entryPeriodEventId} != null [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧と報酬の受け取りが可能な期間を定義する GS2-Schedule のイベントGRNです。 rewardCalculationIndex 文字列列挙型 enum {   “rank”,   “index” } “rank” 報酬計算インデックス 報酬をプレイヤーに対応付ける方法を決定します。「順位ベース」は1始まりのランキング順位（同スコアは同順位）、「インデックスベース」は0始まりの一意のソート位置（同順位なし）を使用します。 定義 説明 “rank” 順位ベースで報酬を決定 “index” インデックスベースで報酬を決定 SubscribeRankingModel 購読ランキングモデル 購読した他プレイヤーのスコアを集計し、ランキングを作成するモデルです。 詳細  subscribeRankingModelId string ※ ~ 1024文字 購読ランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、最良のスコアのみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合は「昇順」、高いスコアほど上位の場合は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、シーズン制ランキングを実現できます。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧が可能な期間を定義する GS2-Schedule のイベントGRNです。 RankingReward ランキング報酬 スコアの登録期間が設定されたランキングで、登録期間外で参照期間内の時に受け取れる報酬を設定します。 繰り返し設定が有効な場合、直近に期間を終えたランキングが報酬の受け取り対象となります。 詳細  thresholdRank int  1 ~ 1001 順位閾値 この報酬ティアの順位閾値です。順位（またはインデックス、rewardCalculationIndex の設定に依存）がこの閾値以上のプレイヤーがこの報酬を受け取ります。1001に設定すると、ランク外（上位1000位外）のプレイヤー向けの報酬を定義できます。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト プレイヤーがこのランキング報酬を受け取る際に実行される入手アクションのリストです。この順位閾値を達成した報酬として付与されるアイテム、通貨、その他のリソースを定義します。 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか AcquireAction 入手アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 Config コンフィグ設定 トランザクションの変数に適用する設定値 詳細  key string  ~ 64文字 名前 value string ~ 51200文字 値 CurrentRankingMaster 現在アクティブなランキングモデルのマスターデータ 現在ネームスペース内で有効な、ランキングモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Ranking2 マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ GlobalRankingModelMaster グローバルランキングモデルマスター グローバルランキングモデルマスターは、ゲーム内で使用されるグローバルランキングモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるグローバルランキングモデルとして反映されます。 グローバルランキングモデルは全てのプレイヤーを対象としたランキングを実現するためのモデルです。 上位1000位までのランキングを表示することができます。 GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。 詳細  globalRankingModelId string ※ ~ 1024文字 グローバルランキングマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。無効または意図しないスコア値のフィルタリングに使用します。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。異常に高いスコアの登録防止に使用します。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、ソート方向に応じた最良のスコア（最高値または最低値）のみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合（例：タイムアタック）は「昇順」、高いスコアほど上位の場合（例：ハイスコア）は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、繰り返しサイクルごとにランキングがリセットされ、シーズン制ランキングを実現できます。 rankingRewards List {entryPeriodEventId} != null [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。各報酬は順位閾値と実行する入手アクションを定義します。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧と報酬の受け取りが可能な期間を定義する GS2-Schedule のイベントGRNです。通常、スコア登録期間の間のインターバルに設定します。 rewardCalculationIndex 文字列列挙型 enum {   “rank”,   “index” } “rank” 報酬計算インデックス 報酬をプレイヤーに対応付ける方法を決定します。「順位ベース」は1始まりのランキング順位を使用し（同スコアのプレイヤーは同じ順位を共有）、「インデックスベース」は0始まりの一意のソート位置を使用します（同順位なし）。通常のユースケースでは「順位ベース」を選択してください。 定義 説明 “rank” 順位ベースで報酬を決定 “index” インデックスベースで報酬を決定 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン ClusterRankingModelMaster クラスターランキングモデルマスター クラスターランキングモデルマスターは、ゲーム内で使用されるクラスターランキングモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるクラスターランキングモデルとして反映されます。 クラスターランキングモデルはギルドやギャザリング内のプレイヤーを対象としたランキングを実現するためのモデルです。 上位1000位までのランキングを表示することができます。 GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。 詳細  clusterRankingModelId string ※ ~ 1024文字 クラスターランキングマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 clusterType 文字列列挙型 enum {   “Raw”,   “Gs2Guild::Guild”,   “Gs2Matchmaking::SeasonGathering” }  クラスタータイプ ランキングのセグメンテーションに使用するグループ（クラスター）の種類を定義します。「Raw」は所属検証なしで任意のクラスター名を指定でき、「Gs2Guild::Guild」はGS2-Guildギルドへの所属を検証し、「Gs2Matchmaking::SeasonGathering」はGS2-Matchmakingシーズンギャザリングへの所属を検証します。 定義 説明 “Raw” 検証なし “Gs2Guild::Guild” GS2-Guild ギルド “Gs2Matchmaking::SeasonGathering” GS2-Matchmaking シーズンギャザリング minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、最良のスコアのみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合は「昇順」、高いスコアほど上位の場合は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、シーズン制ランキングを実現できます。 rankingRewards List {entryPeriodEventId} != null [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧と報酬の受け取りが可能な期間を定義する GS2-Schedule のイベントGRNです。 rewardCalculationIndex 文字列列挙型 enum {   “rank”,   “index” } “rank” 報酬計算インデックス 報酬をプレイヤーに対応付ける方法を決定します。「順位ベース」は1始まりのランキング順位（同スコアは同順位）、「インデックスベース」は0始まりの一意のソート位置（同順位なし）を使用します。 定義 説明 “rank” 順位ベースで報酬を決定 “index” インデックスベースで報酬を決定 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SubscribeRankingModelMaster 購読ランキングモデルマスター 購読ランキングモデルマスターは、ゲーム内で使用される購読ランキングモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される購読ランキングモデルとして反映されます。 購読ランキングモデルは、購読した他プレイヤーのスコアを集計し、ランキングを作成するモデルです。 詳細  subscribeRankingModelId string ※ ~ 1024文字 グローバルランキングマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、最良のスコアのみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合は「昇順」、高いスコアほど上位の場合は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、シーズン制ランキングを実現できます。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧が可能な期間を定義する GS2-Schedule のイベントGRNです。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 ランキング報酬の付与に使用される分散トランザクションの設定です。入手アクションを自動実行するオートラン、全体の成否を保証するアトミックコミットをサポートします。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。スコア登録やランキング報酬配布の追跡に使用されます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 ランキング報酬の付与に使用される分散トランザクションの設定です。入手アクションを自動実行するオートラン、全体の成否を保証するアトミックコミットをサポートします。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。スコア登録やランキング報酬配布の追跡に使用されます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeGlobalRankingScores グローバルランキングスコアの一覧を取得 リクエストしたユーザーが登録したグローバルランキングスコアのページネーション付きリストを取得します。ランキング名でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List グローバルランキングスコアのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeGlobalRankingScoresByUserId ユーザーIDを指定してグローバルランキングスコアの一覧を取得 指定したユーザーが登録したグローバルランキングスコアのページネーション付きリストを取得します。ランキング名でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List グローバルランキングスコアのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 putGlobalRankingScore グローバルランキングスコアを登録 指定したグローバルランキングにスコアを登録します。スコアはランキングモデルで定義された範囲内である必要があります。エントリー期間イベントが設定されている場合、アクティブ期間中のみスコアを登録できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン score long  0 ~ 9223372036854775805 スコア ユーザーが登録したスコア値です。ランキングモデルの minimumValue と maximumValue で定義された範囲内である必要があります。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item GlobalRankingScore 登録したグローバルランキングスコア 実装例 putGlobalRankingScoreByUserId ユーザーIDを指定してグローバルランキングスコアを登録 指定したユーザーに代わって、指定したグローバルランキングにスコアを登録します。スコアはランキングモデルで定義された範囲内である必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID score long  0 ~ 9223372036854775805 スコア ユーザーが登録したスコア値です。ランキングモデルの minimumValue と maximumValue で定義された範囲内である必要があります。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item GlobalRankingScore 登録したグローバルランキングスコア 実装例 getGlobalRankingScore グローバルランキングスコアを取得 指定したランキングに対してリクエストしたユーザーが登録したグローバルランキングスコアを取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン season long 0 ~ 9223372036854775805 シーズン Result 型 説明 item GlobalRankingScore グローバルランキングスコア 実装例 getGlobalRankingScoreByUserId ユーザーIDを指定してグローバルランキングスコアを取得 指定したランキングに対して指定したユーザーが登録したグローバルランキングスコアを取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item GlobalRankingScore グローバルランキングスコア 実装例 deleteGlobalRankingScoreByUserId ユーザーIDを指定してグローバルランキングスコアを削除 指定したユーザーが指定したランキングおよびシーズンに登録したグローバルランキングスコアを削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item GlobalRankingScore 削除したグローバルランキングスコア 実装例 verifyGlobalRankingScore グローバルランキングのスコアを検証 グローバルランキングスコアを比較演算子（less, lessEqual, greater, greaterEqual, equal, notEqual）を使用して指定した値と比較検証します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” スコアが指定値未満であること “lessEqual” スコアが指定値以下であること “greater” スコアが指定値超過であること “greaterEqual” スコアが指定値以上であること “equal” スコアが指定値と一致すること “notEqual” スコアが指定値と一致しないこと season long 0 ~ 9223372036854775805 シーズン score long  0 ~ 9223372036854775805 スコア ユーザーが登録したスコア値です。ランキングモデルの minimumValue と maximumValue で定義された範囲内である必要があります。 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item GlobalRankingScore グローバルランキングスコア 実装例 verifyGlobalRankingScoreByUserId ユーザーIDを指定してグローバルランキングのスコアを検証 指定したユーザーのグローバルランキングスコアを比較演算子（less, lessEqual, greater, greaterEqual, equal, notEqual）を使用して指定した値と比較検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” スコアが指定値未満であること “lessEqual” スコアが指定値以下であること “greater” スコアが指定値超過であること “greaterEqual” スコアが指定値以上であること “equal” スコアが指定値と一致すること “notEqual” スコアが指定値と一致しないこと season long 0 ~ 9223372036854775805 シーズン score long  0 ~ 9223372036854775805 スコア ユーザーが登録したスコア値です。ランキングモデルの minimumValue と maximumValue で定義された範囲内である必要があります。 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item GlobalRankingScore グローバルランキングスコア 実装例 describeGlobalRankingReceivedRewards グローバルランキング報酬受け取り履歴の一覧を取得 リクエストしたユーザーのグローバルランキング報酬受け取り履歴のページネーション付きリストを取得します。ランキング名とシーズンでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List グローバルランキング報酬受け取り履歴のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeGlobalRankingReceivedRewardsByUserId ユーザーIDを指定してグローバルランキング報酬受け取り履歴の一覧を取得 指定したユーザーのグローバルランキング報酬受け取り履歴のページネーション付きリストを取得します。ランキング名とシーズンでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List グローバルランキング報酬受け取り履歴のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createGlobalRankingReceivedReward グローバルランキング報酬受け取り履歴を記録 指定したグローバルランキングの報酬受け取り履歴を記録します。実際に報酬を受け取る前にこの記録が必要です。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン season long 0 ~ 9223372036854775805 シーズン Result 型 説明 item GlobalRankingReceivedReward グローバルランキング報酬受け取り履歴 実装例 createGlobalRankingReceivedRewardByUserId ユーザーIDを指定してグローバルランキング報酬受け取り履歴を記録 指定したユーザーに代わって、指定したグローバルランキングの報酬受け取り履歴を記録します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item GlobalRankingReceivedReward グローバルランキング報酬受け取り履歴 実装例 receiveGlobalRankingReceivedReward グローバルランキング報酬受け取り 指定したグローバルランキングとシーズンのランキング報酬を受け取ります。報酬はユーザーのランキング順位とランキングモデルの報酬設定によって決定されます。報酬アイテムを付与するためのトランザクションが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item GlobalRankingModel グローバルランキングモデル acquireActions List 報酬受け取り時に実行される入手アクションのリスト transactionId string 発行されたトランザクションID stampSheet string 交換処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 receiveGlobalRankingReceivedRewardByUserId ユーザーIDを指定してグローバルランキング報酬受け取り 指定したユーザーに代わって、指定したグローバルランキングとシーズンのランキング報酬を受け取ります。報酬アイテムを付与するためのトランザクションが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item GlobalRankingModel グローバルランキングモデル acquireActions List 報酬受け取り時に実行される入手アクションのリスト transactionId string 発行されたトランザクションID stampSheet string 交換処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 getGlobalRankingReceivedReward グローバルランキング報酬受け取り履歴を取得 指定したグローバルランキングの報酬受け取り履歴を取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン season long 0 ~ 9223372036854775805 シーズン Result 型 説明 item GlobalRankingReceivedReward グローバルランキング報酬受け取り履歴 実装例 getGlobalRankingReceivedRewardByUserId ユーザーIDを指定してグローバルランキング報酬受け取り履歴を取得 指定したユーザーの指定したグローバルランキングの報酬受け取り履歴を取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item GlobalRankingReceivedReward グローバルランキング報酬受け取り履歴 実装例 deleteGlobalRankingReceivedRewardByUserId ユーザーIDを指定してグローバルランキング報酬受け取り履歴を削除 指定したユーザーの指定したランキングおよびシーズンのグローバルランキング報酬受け取り履歴を削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。新しいランキング期間ごとに増加します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item GlobalRankingReceivedReward 削除したグローバルランキング報酬受け取り履歴 実装例 describeGlobalRankings グローバルランキングの一覧を取得 指定したランキングのグローバルランキングデータのページネーション付きリストを取得します。ランキングデータには順位、スコア、ユーザー情報が含まれます。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List グローバルランキングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeGlobalRankingsByUserId ユーザーIDを指定してグローバルランキングの一覧を取得 指定したユーザーに代わって、指定したランキングのグローバルランキングデータのページネーション付きリストを取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List グローバルランキングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getGlobalRanking グローバルランキングを取得 指定したグローバルランキングにおけるリクエストしたユーザーの順位とスコアを取得します。ランキングデータは登録されたスコアから計算されます。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン season long 0 ~ 9223372036854775805 シーズン Result 型 説明 item GlobalRankingData グローバルランキング 実装例 getGlobalRankingByUserId ユーザーIDを指定してグローバルランキングを取得 指定したグローバルランキングにおける指定したユーザーの順位とスコアを取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item GlobalRankingData グローバルランキング 実装例 describeClusterRankingScores クラスターランキングスコアの一覧を取得 リクエストしたユーザーが登録したクラスターランキングスコアのページネーション付きリストを取得します。ランキング名、クラスター名、シーズンでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 season long 0 ~ 9223372036854775805 シーズン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List クラスターランキングスコアのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeClusterRankingScoresByUserId ユーザーIDを指定してクラスターランキングスコアの一覧を取得 指定したユーザーが登録したクラスターランキングスコアのページネーション付きリストを取得します。ランキング名、クラスター名、シーズンでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 season long 0 ~ 9223372036854775805 シーズン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List クラスターランキングスコアのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 putClusterRankingScore クラスターランキングスコアを登録 指定したクラスターランキングにスコアを登録します。ユーザーは指定したクラスター（ギルドまたはマッチメイキングギャザリング）に所属している必要があります。スコアはランキングモデルで定義された範囲内である必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 accessToken string  ~ 128文字 アクセストークン score long  0 ~ 9223372036854775805 スコア このクラスター内でユーザーが登録したスコア値です。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item ClusterRankingScore 登録したクラスターランキングスコア 実装例 putClusterRankingScoreByUserId ユーザーIDを指定してクラスターランキングスコアを登録 指定したユーザーに代わって、指定したクラスターランキングにスコアを登録します。ユーザーは指定したクラスターに所属している必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 userId string  ~ 128文字 ユーザーID score long  0 ~ 9223372036854775805 スコア このクラスター内でユーザーが登録したスコア値です。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ClusterRankingScore 登録したクラスターランキングスコア 実装例 getClusterRankingScore クラスターランキングスコアを取得 指定したランキングおよびクラスターに対してリクエストしたユーザーが登録したクラスターランキングスコアを取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 accessToken string  ~ 128文字 アクセストークン season long 0 ~ 9223372036854775805 シーズン Result 型 説明 item ClusterRankingScore クラスターランキングスコア 実装例 getClusterRankingScoreByUserId ユーザーIDを指定してクラスターランキングスコアを取得 指定したランキングおよびクラスターに対して指定したユーザーが登録したクラスターランキングスコアを取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 userId string  ~ 128文字 ユーザーID season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ClusterRankingScore クラスターランキングスコア 実装例 deleteClusterRankingScoreByUserId ユーザーIDを指定してクラスターランキングスコアを削除 指定したユーザーが指定したランキング、クラスター、シーズンに登録したクラスターランキングスコアを削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 userId string  ~ 128文字 ユーザーID season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ClusterRankingScore 削除したクラスターランキングスコア 実装例 verifyClusterRankingScore クラスターランキングのスコアを検証 クラスターランキングスコアを比較演算子（less, lessEqual, greater, greaterEqual, equal, notEqual）を使用して指定した値と比較検証します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” スコアが指定値未満であること “lessEqual” スコアが指定値以下であること “greater” スコアが指定値超過であること “greaterEqual” スコアが指定値以上であること “equal” スコアが指定値と一致すること “notEqual” スコアが指定値と一致しないこと season long 0 ~ 9223372036854775805 シーズン score long  0 ~ 9223372036854775805 スコア このクラスター内でユーザーが登録したスコア値です。 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item ClusterRankingScore クラスターランキングスコア 実装例 verifyClusterRankingScoreByUserId ユーザーIDを指定してクラスターランキングのスコアを検証 指定したユーザーのクラスターランキングスコアを比較演算子（less, lessEqual, greater, greaterEqual, equal, notEqual）を使用して指定した値と比較検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” スコアが指定値未満であること “lessEqual” スコアが指定値以下であること “greater” スコアが指定値超過であること “greaterEqual” スコアが指定値以上であること “equal” スコアが指定値と一致すること “notEqual” スコアが指定値と一致しないこと season long 0 ~ 9223372036854775805 シーズン score long  0 ~ 9223372036854775805 スコア このクラスター内でユーザーが登録したスコア値です。 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ClusterRankingScore クラスターランキングスコア 実装例 describeClusterRankingReceivedRewards クラスターランキング報酬受け取り履歴の一覧を取得 リクエストしたユーザーのクラスターランキング報酬受け取り履歴のページネーション付きリストを取得します。ランキング名、クラスター名、シーズンでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 season long 0 ~ 9223372036854775805 シーズン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List クラスターランキング報酬受け取り履歴のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeClusterRankingReceivedRewardsByUserId ユーザーIDを指定してクラスターランキング報酬受け取り履歴の一覧を取得 指定したユーザーのクラスターランキング報酬受け取り履歴のページネーション付きリストを取得します。ランキング名、クラスター名、シーズンでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 season long 0 ~ 9223372036854775805 シーズン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List クラスターランキング報酬受け取り履歴のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createClusterRankingReceivedReward クラスターランキング報酬受け取り履歴を記録 指定したクラスターランキングおよびクラスターの報酬受け取り履歴を記録します。実際に報酬を受け取る前にこの記録が必要です。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 accessToken string  ~ 128文字 アクセストークン season long 0 ~ 9223372036854775805 シーズン Result 型 説明 item ClusterRankingReceivedReward クラスターランキング報酬受け取り履歴 実装例 createClusterRankingReceivedRewardByUserId ユーザーIDを指定してクラスターランキング報酬受け取り履歴を記録 指定したユーザーに代わって、指定したクラスターランキングおよびクラスターの報酬受け取り履歴を記録します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 userId string  ~ 128文字 ユーザーID season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ClusterRankingReceivedReward クラスターランキング報酬受け取り履歴 実装例 receiveClusterRankingReceivedReward クラスターランキング報酬受け取り 指定したクラスターランキング、クラスター、シーズンのランキング報酬を受け取ります。報酬はユーザーのランキング順位とランキングモデルの報酬設定によって決定されます。報酬アイテムを付与するためのトランザクションが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 season long 0 ~ 9223372036854775805 シーズン config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item ClusterRankingModel クラスターランキングモデル acquireActions List 報酬受け取り時に実行される入手アクションのリスト transactionId string 発行されたトランザクションID stampSheet string 交換処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 receiveClusterRankingReceivedRewardByUserId ユーザーIDを指定してクラスターランキング報酬受け取り 指定したユーザーに代わって、指定したクラスターランキング、クラスター、シーズンのランキング報酬を受け取ります。報酬アイテムを付与するためのトランザクションが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 season long 0 ~ 9223372036854775805 シーズン config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ClusterRankingModel クラスターランキングモデル acquireActions List 報酬受け取り時に実行される入手アクションのリスト transactionId string 発行されたトランザクションID stampSheet string 交換処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 getClusterRankingReceivedReward クラスターランキング報酬受け取り履歴を取得 指定したクラスターランキングおよびクラスターの報酬受け取り履歴を取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 accessToken string  ~ 128文字 アクセストークン season long 0 ~ 9223372036854775805 シーズン Result 型 説明 item ClusterRankingReceivedReward クラスターランキング報酬受け取り履歴 実装例 getClusterRankingReceivedRewardByUserId ユーザーIDを指定してクラスターランキング報酬受け取り履歴を取得 指定したユーザーの指定したクラスターランキングおよびクラスターの報酬受け取り履歴を取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 userId string  ~ 128文字 ユーザーID season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ClusterRankingReceivedReward クラスターランキング報酬受け取り履歴 実装例 deleteClusterRankingReceivedRewardByUserId ユーザーIDを指定してクラスターランキング報酬受け取り履歴を削除 指定したユーザーの指定したランキング、クラスター、シーズンのクラスターランキング報酬受け取り履歴を削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 userId string  ~ 128文字 ユーザーID season long  0 ~ 9223372036854775805 シーズン GS2-Schedule イベントの繰り返し回数に対応するシーズン番号です。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ClusterRankingReceivedReward 削除したクラスターランキング報酬受け取り履歴 実装例 describeClusterRankings クラスターランキングの一覧を取得 指定したランキングおよびクラスターのクラスターランキングデータのページネーション付きリストを取得します。ランキングデータには順位、スコア、ユーザー情報が含まれます。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このシーズンが属するクラスター（ギルド、ギャザリング、またはグループ）の名前です。 season long 0 ~ 9223372036854775805 シーズン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List クラスターランキングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeClusterRankingsByUserId ユーザーIDを指定してクラスターランキングの一覧を取得 指定したユーザーに代わって、指定したランキングおよびクラスターのクラスターランキングデータのページネーション付きリストを取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このシーズンが属するクラスター（ギルド、ギャザリング、またはグループ）の名前です。 season long 0 ~ 9223372036854775805 シーズン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List クラスターランキングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getClusterRanking クラスターランキングを取得 指定したクラスターランキングにおけるリクエストしたユーザーの順位とスコアを取得します。ランキングデータはクラスター内の登録されたスコアから計算されます。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このシーズンが属するクラスター（ギルド、ギャザリング、またはグループ）の名前です。 accessToken string  ~ 128文字 アクセストークン season long 0 ~ 9223372036854775805 シーズン Result 型 説明 item ClusterRankingData クラスターランキング 実装例 getClusterRankingByUserId ユーザーIDを指定してクラスターランキングを取得 指定したクラスターランキングにおける指定したユーザーの順位とスコアを取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このシーズンが属するクラスター（ギルド、ギャザリング、またはグループ）の名前です。 userId string  ~ 128文字 ユーザーID season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item ClusterRankingData クラスターランキング 実装例 describeSubscribes 購読対象ユーザー情報の一覧を取得 リクエストしたユーザーが購読ランキングのために購読しているユーザーのページネーション付きリストを取得します。ランキング名でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 購読対象ユーザー情報のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeSubscribesByUserId ユーザーIDを指定して購読対象ユーザー情報の一覧を取得 指定したユーザーが購読ランキングのために購読しているユーザーのページネーション付きリストを取得します。ランキング名でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 購読対象ユーザー情報のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 addSubscribe 購読対象のユーザーIDを登録 指定した購読ランキングにおいて、指定した対象ユーザーを購読します。対象ユーザーのスコアがリクエストしたユーザーの購読ランキングに含まれるようになります。購読が追加されると、対象ユーザーの既存スコアが購読者のランキングデータに同期されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 購読対象のユーザーID Result 型 説明 item SubscribeUser 登録した購読対象ユーザー情報 実装例 addSubscribeByUserId ユーザーIDを指定して購読対象のユーザーIDを登録 指定したユーザーに代わって、指定した購読ランキングにおいて指定した対象ユーザーを購読します。既存のスコアが購読者のランキングデータに同期されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 購読対象のユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscribeUser 登録した購読対象ユーザー情報 実装例 describeSubscribeRankingScores 購読ランキングスコアの一覧を取得 リクエストしたユーザーが登録した購読ランキングスコアのページネーション付きリストを取得します。ランキング名でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 購読ランキングスコアのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeSubscribeRankingScoresByUserId ユーザーIDを指定して購読ランキングスコアの一覧を取得 指定したユーザーが登録した購読ランキングスコアのページネーション付きリストを取得します。ランキング名でフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 購読ランキングスコアのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 putSubscribeRankingScore 購読ランキングスコアを登録 指定した購読ランキングにスコアを登録します。スコアはすべての購読者のランキングデータに反映されます。スコアはランキングモデルで定義された範囲内である必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン score long  0 ~ 9223372036854775805 スコア metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item SubscribeRankingScore 登録した購読ランキングスコア 実装例 putSubscribeRankingScoreByUserId ユーザーIDを指定して購読ランキングスコアを登録 指定したユーザーに代わって、指定した購読ランキングにスコアを登録します。スコアはすべての購読者のランキングデータに反映されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID score long  0 ~ 9223372036854775805 スコア metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscribeRankingScore 登録した購読ランキングスコア 実装例 getSubscribeRankingScore 購読ランキングスコアを取得 指定したランキングに対してリクエストしたユーザーが登録した購読ランキングスコアを取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン season long 0 ~ 9223372036854775805 シーズン Result 型 説明 item SubscribeRankingScore 購読ランキングスコア 実装例 getSubscribeRankingScoreByUserId ユーザーIDを指定して購読ランキングスコアを取得 指定したランキングに対して指定したユーザーが登録した購読ランキングスコアを取得します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscribeRankingScore 購読ランキングスコア 実装例 deleteSubscribeRankingScoreByUserId ユーザーIDを指定して購読ランキングスコアを削除 指定したユーザーが指定したランキングおよびシーズンに登録した購読ランキングスコアを削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscribeRankingScore 削除した購読ランキングスコア 実装例 verifySubscribeRankingScore 購読ランキングのスコアを検証 購読ランキングスコアを比較演算子（less, lessEqual, greater, greaterEqual, equal, notEqual）を使用して指定した値と比較検証します。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” スコアが指定値未満であること “lessEqual” スコアが指定値以下であること “greater” スコアが指定値超過であること “greaterEqual” スコアが指定値以上であること “equal” スコアが指定値と一致すること “notEqual” スコアが指定値と一致しないこと season long 0 ~ 9223372036854775805 シーズン score long  0 ~ 9223372036854775805 スコア multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item SubscribeRankingScore 購読ランキングスコア 実装例 verifySubscribeRankingScoreByUserId ユーザーIDを指定して購読ランキングのスコアを検証 指定したユーザーの購読ランキングスコアを比較演算子（less, lessEqual, greater, greaterEqual, equal, notEqual）を使用して指定した値と比較検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” スコアが指定値未満であること “lessEqual” スコアが指定値以下であること “greater” スコアが指定値超過であること “greaterEqual” スコアが指定値以上であること “equal” スコアが指定値と一致すること “notEqual” スコアが指定値と一致しないこと season long 0 ~ 9223372036854775805 シーズン score long  0 ~ 9223372036854775805 スコア multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscribeRankingScore 購読ランキングスコア 実装例 describeSubscribeRankings 購読ランキングの一覧を取得 指定したランキングの購読ランキングデータのページネーション付きリストを取得します。ランキングにはリクエストしたユーザーが購読しているユーザーのスコアのみが含まれます。オプションでシーズンを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 購読ランキングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeSubscribeRankingsByUserId ユーザーIDを指定して購読ランキングの一覧を取得 指定したユーザーに代わって、指定したランキングの購読ランキングデータのページネーション付きリストを取得します。ランキングには指定したユーザーが購読しているユーザーのスコアのみが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long 0 ~ 9223372036854775805 シーズン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 購読ランキングのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getSubscribeRanking 購読ランキングを取得 購読ランキング内のリクエストしたユーザー（または指定したスコアラー）の順位とスコアを取得します。オプションでシーズンとスコアラーユーザーIDを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン season long 0 ~ 9223372036854775805 シーズン scorerUserId string ~ 128文字 スコアを獲得したユーザーID このスコアを達成したプレイヤーのユーザーIDです。購読ランキングでは購読ユーザーのスコアがエントリとなるため、このフィールドはどのフレンドのスコアかを識別します。 Result 型 説明 item SubscribeRankingData 購読ランキング 実装例 getSubscribeRankingByUserId ユーザーIDを指定して購読ランキングを取得 購読ランキング内の指定したユーザー（または指定したスコアラー）の順位とスコアを取得します。オプションでシーズンとスコアラーユーザーIDを指定できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID season long 0 ~ 9223372036854775805 シーズン scorerUserId string ~ 128文字 スコアを獲得したユーザーID このスコアを達成したプレイヤーのユーザーIDです。購読ランキングでは購読ユーザーのスコアがエントリとなるため、このフィールドはどのフレンドのスコアかを識別します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscribeRankingData 購読ランキング 実装例 getSubscribe 購読対象ユーザー情報を取得 指定した購読ランキングにおける指定した対象ユーザーの購読情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 購読対象のユーザーID Result 型 説明 item SubscribeUser 購読対象ユーザー情報 実装例 getSubscribeByUserId ユーザーIDを指定して購読対象ユーザー情報を取得 指定したユーザーにおける、指定した購読ランキングの指定した対象ユーザーの購読情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 購読対象のユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscribeUser 購読対象ユーザー情報 実装例 deleteSubscribe 購読対象のユーザーIDを削除 指定した購読ランキングにおいて、指定した対象ユーザーの購読を解除します。対象ユーザーのスコアはリクエストしたユーザーの購読ランキングに表示されなくなります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetUserId string  ~ 128文字 購読対象のユーザーID Result 型 説明 item SubscribeUser 削除した購読対象ユーザー情報 実装例 deleteSubscribeByUserId ユーザーIDを指定して購読対象のユーザーIDを削除 指定したユーザーに代わって、指定した購読ランキングにおいて指定した対象ユーザーの購読を解除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetUserId string  ~ 128文字 購読対象のユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SubscribeUser 削除した購読対象ユーザー情報 実装例 describeGlobalRankingModels グローバルランキングモデルの一覧を取得 現在アクティブなグローバルランキングモデルの一覧を取得します。グローバルランキングモデルはスコア範囲、ソート順、報酬設定、エントリー/アクセス期間イベントなどのランキング設定を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List グローバルランキングモデルのリスト 実装例 getGlobalRankingModel グローバルランキングモデルを取得 スコア範囲、ソート順、ランキング報酬、エントリー/アクセス期間イベント設定を含む、指定されたグローバルランキングモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item GlobalRankingModel グローバルランキングモデル 実装例 describeClusterRankingModels クラスターランキングモデルの一覧を取得 現在アクティブなクラスターランキングモデルの一覧を取得します。クラスターランキングモデルはクラスタータイプ（ギルドまたはマッチメイキングギャザリング）、スコア範囲、ソート順、報酬設定、エントリー/アクセス期間イベントなどのランキング設定を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List クラスターランキングモデルのリスト 実装例 getClusterRankingModel クラスターランキングモデルを取得 クラスタータイプ、スコア範囲、ソート順、ランキング報酬、エントリー/アクセス期間イベント設定を含む、指定されたクラスターランキングモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item ClusterRankingModel クラスターランキングモデル 実装例 describeSubscribeRankingModels 購読ランキングモデルの一覧を取得 現在アクティブな購読ランキングモデルの一覧を取得します。購読ランキングモデルは、購読したフレンドとのみ競争するランキング設定を定義し、スコア範囲、ソート順、エントリー/アクセス期間イベントなどを含みます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List 購読ランキングモデルのリスト 実装例 getSubscribeRankingModel 購読ランキングモデルを取得 スコア範囲、ソート順、エントリー/アクセス期間イベント設定を含む、指定された購読ランキングモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SubscribeRankingModel 購読ランキングモデル 実装例 exportMaster モデルマスターを有効化可能なマスターデータ形式でエクスポート 現在登録されているグローバル、クラスター、購読ランキングモデルマスターを有効化可能なマスターデータ形式でエクスポートします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentRankingMaster モデルマスターを有効化可能なマスターデータ形式でエクスポート 実装例 getCurrentRankingMaster 現在アクティブなランキングモデルのマスターデータを取得 グローバル、クラスター、購読ランキングモデル定義を含む、現在アクティブなランキングモデルのマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentRankingMaster 現在アクティブなランキングモデルのマスターデータ 実装例 preUpdateCurrentRankingMaster 現在アクティブなランキングモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentRankingMaster 現在アクティブなランキングモデルのマスターデータを更新 現在アクティブなランキングモデルのマスターデータを更新します。大容量マスターデータに対応するため、直接更新モードと事前アップロードモードの両方をサポートしています。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentRankingMaster 更新された現在アクティブなランキングモデルのマスターデータ 実装例 updateCurrentRankingMasterFromGitHub 現在アクティブなランキングモデルのマスターデータをGitHubから更新 指定されたチェックアウト設定を使用して GitHub リポジトリからマスターデータをチェックアウトし、現在アクティブなランキングモデルのマスターデータを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentRankingMaster 更新された現在アクティブなランキングモデルのマスターデータ 実装例 describeGlobalRankingModelMasters グローバルランキングモデルマスターの一覧を取得 グローバルランキングモデルマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 グローバルランキングモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List グローバルランキングモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createGlobalRankingModelMaster グローバルランキングモデルマスターを新規作成 スコア範囲、ソート順、合計モード、ランキング報酬、報酬計算インデックス、エントリー/アクセス期間イベント設定を持つ新しいグローバルランキングモデルマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。無効または意図しないスコア値のフィルタリングに使用します。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。異常に高いスコアの登録防止に使用します。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、ソート方向に応じた最良のスコア（最高値または最低値）のみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合（例：タイムアタック）は「昇順」、高いスコアほど上位の場合（例：ハイスコア）は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 rankingRewards List {entryPeriodEventId} != null [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。各報酬は順位閾値と実行する入手アクションを定義します。 rewardCalculationIndex 文字列列挙型 enum {   “rank”,   “index” } “rank” 報酬計算インデックス 報酬をプレイヤーに対応付ける方法を決定します。「順位ベース」は1始まりのランキング順位を使用し（同スコアのプレイヤーは同じ順位を共有）、「インデックスベース」は0始まりの一意のソート位置を使用します（同順位なし）。通常のユースケースでは「順位ベース」を選択してください。 定義 説明 “rank” 順位ベースで報酬を決定 “index” インデックスベースで報酬を決定 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item GlobalRankingModelMaster 作成したグローバルランキングモデルマスター 実装例 getGlobalRankingModelMaster グローバルランキングモデルマスターを取得 指定されたグローバルランキングモデルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item GlobalRankingModelMaster グローバルランキングモデルマスター 実装例 updateGlobalRankingModelMaster グローバルランキングモデルマスターを更新 指定されたグローバルランキングモデルマスターのスコア範囲、ソート順、合計モード、ランキング報酬、報酬計算インデックス、エントリー/アクセス期間イベント設定を更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。無効または意図しないスコア値のフィルタリングに使用します。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。異常に高いスコアの登録防止に使用します。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、ソート方向に応じた最良のスコア（最高値または最低値）のみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合（例：タイムアタック）は「昇順」、高いスコアほど上位の場合（例：ハイスコア）は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 rankingRewards List {entryPeriodEventId} != null [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。各報酬は順位閾値と実行する入手アクションを定義します。 rewardCalculationIndex 文字列列挙型 enum {   “rank”,   “index” } “rank” 報酬計算インデックス 報酬をプレイヤーに対応付ける方法を決定します。「順位ベース」は1始まりのランキング順位を使用し（同スコアのプレイヤーは同じ順位を共有）、「インデックスベース」は0始まりの一意のソート位置を使用します（同順位なし）。通常のユースケースでは「順位ベース」を選択してください。 定義 説明 “rank” 順位ベースで報酬を決定 “index” インデックスベースで報酬を決定 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item GlobalRankingModelMaster 更新したグローバルランキングモデルマスター 実装例 deleteGlobalRankingModelMaster グローバルランキングモデルマスターを削除 指定されたグローバルランキングモデルマスターを削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item GlobalRankingModelMaster 削除したグローバルランキングモデルマスター 実装例 describeClusterRankingModelMasters クラスターランキングモデルマスターの一覧を取得 クラスターランキングモデルマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 クラスターランキングモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List クラスターランキングモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createClusterRankingModelMaster クラスターランキングモデルマスターを新規作成 クラスタータイプ、スコア範囲、ソート順、合計モード、ランキング報酬、報酬計算インデックス、エントリー/アクセス期間イベント設定を持つ新しいクラスターランキングモデルマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 clusterType 文字列列挙型 enum {   “Raw”,   “Gs2Guild::Guild”,   “Gs2Matchmaking::SeasonGathering” }  クラスタータイプ ランキングのセグメンテーションに使用するグループ（クラスター）の種類を定義します。「Raw」は所属検証なしで任意のクラスター名を指定でき、「Gs2Guild::Guild」はGS2-Guildギルドへの所属を検証し、「Gs2Matchmaking::SeasonGathering」はGS2-Matchmakingシーズンギャザリングへの所属を検証します。 定義 説明 “Raw” 検証なし “Gs2Guild::Guild” GS2-Guild ギルド “Gs2Matchmaking::SeasonGathering” GS2-Matchmaking シーズンギャザリング minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、最良のスコアのみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合は「昇順」、高いスコアほど上位の場合は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 rankingRewards List {entryPeriodEventId} != null [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。 rewardCalculationIndex 文字列列挙型 enum {   “rank”,   “index” } “rank” 報酬計算インデックス 報酬をプレイヤーに対応付ける方法を決定します。「順位ベース」は1始まりのランキング順位（同スコアは同順位）、「インデックスベース」は0始まりの一意のソート位置（同順位なし）を使用します。 定義 説明 “rank” 順位ベースで報酬を決定 “index” インデックスベースで報酬を決定 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item ClusterRankingModelMaster 作成したクラスターランキングモデルマスター 実装例 getClusterRankingModelMaster クラスターランキングモデルマスターを取得 指定されたクラスターランキングモデルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item ClusterRankingModelMaster クラスターランキングモデルマスター 実装例 updateClusterRankingModelMaster クラスターランキングモデルマスターを更新 指定されたクラスターランキングモデルマスターのクラスタータイプ、スコア範囲、ソート順、合計モード、ランキング報酬、報酬計算インデックス、エントリー/アクセス期間イベント設定を更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 clusterType 文字列列挙型 enum {   “Raw”,   “Gs2Guild::Guild”,   “Gs2Matchmaking::SeasonGathering” }  クラスタータイプ ランキングのセグメンテーションに使用するグループ（クラスター）の種類を定義します。「Raw」は所属検証なしで任意のクラスター名を指定でき、「Gs2Guild::Guild」はGS2-Guildギルドへの所属を検証し、「Gs2Matchmaking::SeasonGathering」はGS2-Matchmakingシーズンギャザリングへの所属を検証します。 定義 説明 “Raw” 検証なし “Gs2Guild::Guild” GS2-Guild ギルド “Gs2Matchmaking::SeasonGathering” GS2-Matchmaking シーズンギャザリング minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、最良のスコアのみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合は「昇順」、高いスコアほど上位の場合は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 rankingRewards List {entryPeriodEventId} != null [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。 rewardCalculationIndex 文字列列挙型 enum {   “rank”,   “index” } “rank” 報酬計算インデックス 報酬をプレイヤーに対応付ける方法を決定します。「順位ベース」は1始まりのランキング順位（同スコアは同順位）、「インデックスベース」は0始まりの一意のソート位置（同順位なし）を使用します。 定義 説明 “rank” 順位ベースで報酬を決定 “index” インデックスベースで報酬を決定 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item ClusterRankingModelMaster 更新したクラスターランキングモデルマスター 実装例 deleteClusterRankingModelMaster クラスターランキングモデルマスターを削除 指定されたクラスターランキングモデルマスターを削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item ClusterRankingModelMaster 削除したクラスターランキングモデルマスター 実装例 describeSubscribeRankingModelMasters 購読ランキングモデルマスターの一覧を取得 購読ランキングモデルマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 購読ランキングモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 購読ランキングモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createSubscribeRankingModelMaster 購読ランキングモデルマスターを新規作成 スコア範囲、ソート順、合計モード、エントリー/アクセス期間イベント設定を持つ新しい購読ランキングモデルマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、最良のスコアのみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合は「昇順」、高いスコアほど上位の場合は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item SubscribeRankingModelMaster 作成した購読ランキングモデルマスター 実装例 getSubscribeRankingModelMaster 購読ランキングモデルマスターを取得 指定された購読ランキングモデルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SubscribeRankingModelMaster 購読ランキングモデルマスター 実装例 updateSubscribeRankingModelMaster 購読ランキングモデルマスターを更新 指定された購読ランキングモデルマスターのスコア範囲、ソート順、合計モード、エントリー/アクセス期間イベント設定を更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、最良のスコアのみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合は「昇順」、高いスコアほど上位の場合は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item SubscribeRankingModelMaster 更新した購読ランキングモデルマスター 実装例 deleteSubscribeRankingModelMaster 購読ランキングモデルマスターを削除 指定された購読ランキングモデルマスターを削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SubscribeRankingModelMaster 削除した購読ランキングモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Ranking2 SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Ranking2 SDK API リファレンス","url":"/ja/api_reference/ranking2/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 リアルタイム操作時のトランザクションの処理方法を制御する設定です。 serverType 文字列列挙型 enum {   “relay” }  サーバの種類 リアルタイム通信のためにプロビジョニングするゲームサーバーのタイプ。 現在は “relay” モードをサポートしており、接続されたゲームクライアント間でメッセージを転送するパケットリレーサーバーを提供します。 定義 説明 “relay” パケットリレー serverSpec 文字列列挙型 enum {   “realtime1.nano” }  サーバのスペック プロビジョニングされるゲームサーバーのハードウェアスペックティア。 各ルームのサーバーインスタンスに割り当てられるコンピューティングリソース（CPU、メモリ）を決定します。現在 “realtime1.nano” をサポートしています。 定義 説明 “realtime1.nano” realtime1.nano createNotification NotificationSetting ルーム作成完了通知 ルームのプロビジョニングが完了し、接続可能になったときにトリガーされるプッシュ通知設定。 ルーム作成は非同期で行われ（IPアドレス、ポート、暗号鍵は少し遅れて割り当てられる）、この通知によりクライアントにルームが接続受付可能になったことを通知します。 logSetting LogSetting ログ出力設定 リアルタイム関連の操作ログを GS2-Log に出力するための設定。 設定すると、ルーム作成、接続イベント、メッセージリレーのアクティビティなどが分析やデバッグのために記録されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。 詳細  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 Room ルーム マルチプレイヤー対戦でリアルタイム通信を処理するための専用ゲームサーバーインスタンスを表します。 ルーム作成は非同期で行われ、リクエスト後にシステムがサーバーをプロビジョニングし、インスタンスの準備ができるとIPアドレス、ポート、暗号鍵が割り当てられます。 クライアントは接続を試みる前に作成完了通知を待つか、ポーリングする必要があります。 暗号鍵はゲームクライアントとリレーサーバー間のセキュアな通信チャネルを確立するために使用されます。 詳細  roomId string ※ ~ 1024文字 ルーム GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ipAddress string ~ 128文字 IPアドレス プロビジョニングされたゲームサーバーのIPアドレス。 ルームのサーバーインスタンスの準備ができた後、システムにより自動的に割り当てられます。ルーム作成直後には利用できません。最大128文字。 port int 0 ~ 65535 待受ポート プロビジョニングされたゲームサーバーの待受ポート番号。 サーバーインスタンスの準備ができた後、IPアドレスと共に自動的に割り当てられます。範囲: 0～65535。 encryptionKey string ~ 256文字 暗号鍵 ゲームクライアントとリレーサーバー間の通信を暗号化するためのキー。 サーバーインスタンスの準備ができた後、IPアドレスおよびポートと共に自動的に割り当てられます。 クライアントはリレーサーバーを介して送受信するメッセージの暗号化・復号化にこのキーを使用する必要があります。最大256文字。 notificationUserIds List [] 0 ~ 1000 items 通知先ユーザーIDリスト ルームのプロビジョニングが完了し接続可能になった時にプッシュ通知を受け取るユーザーIDのリスト。 通常、リアルタイムセッションに参加するプレイヤーを含め、接続を開始するよう通知します。最大1,000件。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 リアルタイム操作時のトランザクションの処理方法を制御する設定です。 serverType 文字列列挙型 enum {   “relay” }  サーバの種類 リアルタイム通信のためにプロビジョニングするゲームサーバーのタイプ。 現在は “relay” モードをサポートしており、接続されたゲームクライアント間でメッセージを転送するパケットリレーサーバーを提供します。 定義 説明 “relay” パケットリレー serverSpec 文字列列挙型 enum {   “realtime1.nano” }  サーバのスペック プロビジョニングされるゲームサーバーのハードウェアスペックティア。 各ルームのサーバーインスタンスに割り当てられるコンピューティングリソース（CPU、メモリ）を決定します。現在 “realtime1.nano” をサポートしています。 定義 説明 “realtime1.nano” realtime1.nano createNotification NotificationSetting ルーム作成完了通知 ルームのプロビジョニングが完了し、接続可能になったときにトリガーされるプッシュ通知設定。 ルーム作成は非同期で行われ（IPアドレス、ポート、暗号鍵は少し遅れて割り当てられる）、この通知によりクライアントにルームが接続受付可能になったことを通知します。 logSetting LogSetting ログ出力設定 リアルタイム関連の操作ログを GS2-Log に出力するための設定。 設定すると、ルーム作成、接続イベント、メッセージリレーのアクティビティなどが分析やデバッグのために記録されます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 リアルタイム操作時のトランザクションの処理方法を制御する設定です。 serverType 文字列列挙型 enum {   “relay” }  サーバの種類 リアルタイム通信のためにプロビジョニングするゲームサーバーのタイプ。 現在は “relay” モードをサポートしており、接続されたゲームクライアント間でメッセージを転送するパケットリレーサーバーを提供します。 定義 説明 “relay” パケットリレー serverSpec 文字列列挙型 enum {   “realtime1.nano” }  サーバのスペック プロビジョニングされるゲームサーバーのハードウェアスペックティア。 各ルームのサーバーインスタンスに割り当てられるコンピューティングリソース（CPU、メモリ）を決定します。現在 “realtime1.nano” をサポートしています。 定義 説明 “realtime1.nano” realtime1.nano createNotification NotificationSetting ルーム作成完了通知 ルームのプロビジョニングが完了し、接続可能になったときにトリガーされるプッシュ通知設定。 ルーム作成は非同期で行われ（IPアドレス、ポート、暗号鍵は少し遅れて割り当てられる）、この通知によりクライアントにルームが接続受付可能になったことを通知します。 logSetting LogSetting ログ出力設定 リアルタイム関連の操作ログを GS2-Log に出力するための設定。 設定すると、ルーム作成、接続イベント、メッセージリレーのアクティビティなどが分析やデバッグのために記録されます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 now 現在時刻を取得 クライアントとサーバー間の時刻同期のために、現在のサーバータイムスタンプを返します。タイムスタンプはUNIX時間（ミリ秒）で返されます。 詳細 Request  accessToken string ~ 128文字 アクセストークン Result 型 説明 timestamp long 現在時刻 UNIX 時間・ミリ秒 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 describeRooms ルーム情報の一覧を取得 ネームスペース内で現在アクティブなルームのページネーション付きリストを取得します。各ルームにはIPアドレス、ポート、暗号鍵などの接続情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ルーム情報のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 wantRoom ルームの作成依頼をする ルームの作成は直ちに完了しません。 ルームの作成が完了した時に、サーバーからプッシュ通知を受け取ることが可能です。 通知を希望する場合は、プッシュ通知を送信する対象のユーザーIDのリストを notificationUserIds に指定します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 notificationUserIds List [] 0 ~ 1000 items 通知先ユーザーIDリスト ルームのプロビジョニングが完了し接続可能になった時にプッシュ通知を受け取るユーザーIDのリスト。 通常、リアルタイムセッションに参加するプレイヤーを含め、接続を開始するよう通知します。最大1,000件。 Result 型 説明 item Room ルーム情報 実装例 getRoom ルーム情報を取得 ゲームサーバーへの接続に必要なIPアドレス、ポート、暗号鍵を含む、指定されたルームの詳細情報を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Room ルーム情報 実装例 deleteRoom ルームを削除 指定されたルームを削除し、関連するゲームサーバーリソースを解放します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 roomName string  ~ 128文字 ルーム名 ルーム固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Room ルーム情報 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Realtime SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Realtime SDK API リファレンス","url":"/ja/api_reference/realtime/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 スケジュール操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログ出力設定 スケジュール関連の操作ログを GS2-Log に出力するための設定。 設定すると、イベントクエリ、トリガー発動、トリガー削除などのアクションが分析や監査のために記録されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Trigger トリガー 相対イベントスケジューリングの起点を定義し、プレイヤーごとのイベント期間を実現します。 プレイヤーに対してトリガーが発動されると、発動時刻（triggeredAt）と有効期限（expiresAt）が記録されます。 “relative” スケジュールタイプで設定されたイベントはトリガーを名前で参照し、そのプレイヤーのイベント期間はトリガーの発動時刻から有効期限まで続きます。 トリガーは更新可能（createdAt をリセットし expiresAt を更新）で、有効期限後は TTL により自動的にクリーンアップされます。 詳細  triggerId string ※ ~ 1024文字 トリガー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID triggeredAt long ※ 現在時刻 トリガー発動日時 このトリガーが発動されたタイムスタンプ。 相対イベントスケジューリングの基準開始点として機能します。明示的に指定されない場合、現在時刻が自動設定されます。 UNIX 時間（ミリ秒）で表現されます。 expiresAt long  有効期限 このトリガーが期限切れとなり、相対イベント期間が終了するタイムスタンプ。 この時刻以降、トリガーは期限切れと見なされ（IsExpire が true を返す）、このプレイヤーに対する関連する相対イベントは無効になります。 トリガーデータは有効期限後に DynamoDB TTL により自動的にクリーンアップされます。UNIX 時間（ミリ秒）で表現されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Event イベント イベントの期間は絶対期間と相対期間の2種類存在します。 絶対期間は 例えば YYYY年MM月DD日 00:00(UTC) ～ YYYY年MM月DD日 23:59(UTC) のような固定の期間で、 相対期間は トリガーを引いたタイミングから 24時間 のようなゲームプレイヤー毎に異なる期間をイベント期間とするものです。 イベントには開催期間だけでなく、繰り返しが設定できるようになっており イベント期間のうち、月曜日の 10:00 ～ 11:00 だけをイベント期間とするような設定も可能です。 詳細  eventId string ※ ~ 1024文字 GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scheduleType 文字列列挙型 enum {   “absolute”,   “relative” }  スケジュールタイプ イベント期間の定義方法を決定します。 “absolute” は全プレイヤー共通の固定開始・終了タイムスタンプを使用します。 “relative” はプレイヤーごとのトリガーを起点として使用し、パーソナライズされたイベント期間を実現します（例: 各プレイヤーの初回ログインから24時間）。 定義 説明 “absolute” 固定期間 “relative” プレイヤー毎に異なる期間 absoluteBegin long 絶対開始日時 絶対スケジューリングにおけるイベント期間の固定開始時刻。 全プレイヤーが同じ開始時刻を共有します。絶対イベントで未設定の場合、イベントは過去から開始されているものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 absoluteEnd long 絶対終了日時 絶対スケジューリングにおけるイベント期間の固定終了時刻。 全プレイヤーが同じ終了時刻を共有します。絶対イベントで未設定の場合、イベントは終了しないものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 relativeTriggerName string {scheduleType} == “relative” ※ ~ 128文字 イベント開始トリガー名 ゲームプレイヤー毎にイベント期間を設定する ( relative ) 場合に、イベントの開始の起点とするトリガーの名前を指定します。 英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ※ scheduleType が “relative” であれば 必須 repeatSetting RepeatSetting  繰り返し設定 イベント期間内の繰り返し有効時間枠の設定。 アクティブ期間を特定の時間帯、曜日、月の日付、またはカスタムのアクティブ/インアクティブ日サイクルに絞り込むことができます。 繰り返しパターンなしでイベント期間全体を通してアクティブにするには repeatType を “always” に設定します。 RepeatSetting 繰り返し設定 イベント全体期間内の繰り返し有効時間枠を設定します。 5種類の繰り返しタイプをサポートします: “always”（イベント期間全体）、“daily”（毎日の特定時間帯）、“weekly”（毎週の特定曜日範囲＋時間帯）、 “monthly”（毎月の特定日範囲＋時間帯）、“custom”（基準日からのアクティブ/インアクティブ日数の交互サイクル）。 daily/weekly/monthly タイプで beginHour と endHour が同じ場合、終了時刻は翌日の同時刻として扱われます（つまり24時間フルウィンドウ）。 詳細  repeatType 文字列列挙型 enum {   “always”,   “daily”,   “weekly”,   “monthly”,   “custom” } “always” 繰り返しの種類 イベント期間内に適用する繰り返しパターンのタイプ。 タイプによって必要な追加フィールドが異なります: daily/weekly/monthly は時間設定、weekly は曜日、monthly は日付、custom は基準日と日数が必要です。 未指定の場合は “always” がデフォルトとなります。 定義 説明 “always” イベント期間中 常時有効 “daily” イベント期間のうち 毎日X時～X時 “weekly” イベント期間のうち 毎週 開始曜日～終了曜日 X時～X時 “monthly” イベント期間のうち 毎月 開始日～終了日 X時～X時 “custom” 基準日から始まり、イベント期間中、X日アクティブ、Y日インアクティブを繰り返す beginDayOfMonth int {repeatType} == “monthly” ※ 1 ~ 31 繰り返し開始日 繰り返しウィンドウが開始する月の日（1～31）。 指定した値がその月の日数を超える場合、その月の最終日として扱われます。 repeatType が “monthly” の場合のみ適用されます。 ※ repeatType が “monthly” であれば 必須 endDayOfMonth int {repeatType} == “monthly” ※ 1 ~ 31 繰り返し終了日 繰り返しウィンドウが終了する月の日（1～31）。 指定した値がその月の日数を超える場合、その月の最終日として扱われます。 repeatType が “monthly” の場合のみ適用されます。 ※ repeatType が “monthly” であれば 必須 beginDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {repeatType} == “weekly” ※ 繰り返し開始曜日 繰り返しウィンドウが開始する曜日。 ウィンドウは週の境界をまたぐことができます（例: 金曜日～月曜日）。repeatType が “weekly” の場合のみ適用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ repeatType が “weekly” であれば 必須 endDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {repeatType} == “weekly” ※ 繰り返し終了曜日 繰り返しウィンドウが終了する曜日。 beginDayOfWeek と組み合わせて週間アクティブ期間を定義します。repeatType が “weekly” の場合のみ適用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ repeatType が “weekly” であれば 必須 beginHour int {repeatType} in [“daily”, “weekly”, “monthly”] ※ 0 ~ 23 繰り返し開始時（時） 各サイクルで繰り返しウィンドウが開始する時刻（UTC、0～23）。 daily、weekly、monthly の繰り返しタイプで必須です。beginHour と endHour が同じ場合、ウィンドウは24時間（翌日の同時刻まで）となります。 ※ repeatType が “daily”,“weekly”,“monthly\"であれば 必須 endHour int {repeatType} in [“daily”, “weekly”, “monthly”] ※ 0 ~ 24 繰り返し終了時（時） 各サイクルで繰り返しウィンドウが終了する時刻（UTC、0～24）。 24 を指定すると翌日の深夜0時を表します。daily、weekly、monthly の繰り返しタイプで必須です。 ※ repeatType が “daily”,“weekly”,“monthly\"であれば 必須 anchorTimestamp long {repeatType} == “custom” ※ 基準タイムスタンプ カスタムのアクティブ/インアクティブサイクルが開始する基準日。 システムはこの基準日からの経過日数に基づいて、現在時刻がどのフェーズ（アクティブまたはインアクティブ）にあるかを計算します。 repeatType が “custom” の場合のみ適用されます。UNIX 時間（ミリ秒）で表現します。 ※ repeatType が “custom” であれば 必須 activeDays int {repeatType} == “custom” ※ 1 ~ 2147483646 アクティブ日数 カスタムサイクルの各周期でイベントがアクティブとなる連続日数。 アクティブ日数の後、inactiveDays で指定された日数だけイベントが非アクティブとなり、サイクルが繰り返されます。 repeatType が “custom” の場合のみ適用されます。最小1日。 ※ repeatType が “custom” であれば 必須 inactiveDays int {repeatType} == “custom” ※ 0 ~ 2147483646 インアクティブ日数 カスタムサイクルの各周期でイベントが非アクティブとなる連続日数。 アクティブ日数の後に続きます。ギャップなしの連続アクティブイベントにするには 0 を設定します。 repeatType が “custom” の場合のみ適用されます。最小0日。 ※ repeatType が “custom” であれば 必須 RepeatSchedule 繰り返しスケジュール状態 特定の時点におけるイベントの繰り返しサイクルの現在の状態を表します。 繰り返し回数（サイクルが発生した回数）、現在のアクティブウィンドウの開始・終了時刻、 前回完了したウィンドウの終了時刻、および次回のウィンドウの開始時刻を含みます。 この情報はイベントの繰り返し設定と現在時刻から動的に計算されます。 詳細  repeatCount int  0 ~ 2147483646 繰り返し回数 現在時刻までに完了した繰り返しサイクルの回数。 繰り返しウィンドウが終了するたびにインクリメントされます。シーズン制や定期イベントのサイクル進捗の追跡に使用できます。 currentRepeatStartAt long 現在のリピート開始日時 現在アクティブな繰り返しウィンドウの開始時刻。 イベントが現在アクティブな繰り返しウィンドウにない場合は null です。UNIX 時間（ミリ秒）で表現されます。 currentRepeatEndAt long 現在のリピート終了日時 現在アクティブな繰り返しウィンドウの終了時刻。 イベントが現在アクティブな繰り返しウィンドウにない場合は null です。UNIX 時間（ミリ秒）で表現されます。 lastRepeatEndAt long 前回のリピート終了日時 直近で完了した繰り返しウィンドウの終了時刻。 まだ繰り返しウィンドウが終了していない場合は null です。UNIX 時間（ミリ秒）で表現されます。 nextRepeatStartAt long 次回のリピート開始日時 次回の繰り返しウィンドウの開始時刻。 イベント期間内に次の繰り返しウィンドウがない場合は null です。UNIX 時間（ミリ秒）で表現されます。 CurrentEventMaster 現在アクティブなイベントのマスターデータ 現在ネームスペース内で有効な、イベントの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Schedule マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ EventMaster イベントマスター イベントマスターは、ゲーム内で使用されるイベントの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるイベントとして反映されます。 イベントの期間は絶対期間と相対期間の2種類存在します。 絶対期間は 例えば YYYY年MM月DD日 00:00(UTC) ～ YYYY年MM月DD日 23:59(UTC) のような固定の期間で、 相対期間は トリガーを引いたタイミングから 24時間 のようなゲームプレイヤー毎に異なる期間をイベント期間とするものです。 イベントには開催期間だけでなく、繰り返しが設定できるようになっており イベント期間のうち、月曜日の 10:00 ～ 11:00 だけをイベント期間とするような設定も可能です。 詳細  eventId string ※ ~ 1024文字 イベントマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scheduleType 文字列列挙型 enum {   “absolute”,   “relative” }  スケジュールタイプ イベント期間の定義方法を決定します。 “absolute” は全プレイヤー共通の固定開始・終了タイムスタンプを使用します。 “relative” はプレイヤーごとのトリガーを起点として使用し、パーソナライズされたイベント期間を実現します（例: 各プレイヤーの初回ログインから24時間）。 定義 説明 “absolute” 固定期間 “relative” プレイヤー毎に異なる期間 absoluteBegin long 絶対開始日時 絶対スケジューリングにおけるイベント期間の固定開始時刻。 全プレイヤーが同じ開始時刻を共有します。絶対イベントで未設定の場合、イベントは過去から開始されているものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 absoluteEnd long 絶対終了日時 絶対スケジューリングにおけるイベント期間の固定終了時刻。 全プレイヤーが同じ終了時刻を共有します。絶対イベントで未設定の場合、イベントは終了しないものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 relativeTriggerName string {scheduleType} == “relative” ※ ~ 128文字 イベント開始トリガー名 ゲームプレイヤー毎にイベント期間を設定する ( relative ) 場合に、イベントの開始の起点とするトリガーの名前を指定します。 英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ※ scheduleType が “relative” であれば 必須 repeatSetting RepeatSetting  繰り返し設定 イベント期間内の繰り返し有効時間枠の設定。 アクティブ期間を特定の時間帯、曜日、月の日付、またはカスタムのアクティブ/インアクティブ日サイクルに絞り込むことができます。 繰り返しパターンなしでイベント期間全体を通してアクティブにするには repeatType を “always” に設定します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 スケジュール操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログ出力設定 スケジュール関連の操作ログを GS2-Log に出力するための設定。 設定すると、イベントクエリ、トリガー発動、トリガー削除などのアクションが分析や監査のために記録されます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 スケジュール操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログ出力設定 スケジュール関連の操作ログを GS2-Log に出力するための設定。 設定すると、イベントクエリ、トリガー発動、トリガー削除などのアクションが分析や監査のために記録されます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeTriggers トリガーの一覧を取得 リクエストしたユーザーに対して引かれたトリガーのページネーション付きリストを取得します。トリガーは相対スケジュールイベントを有効化するために使用され、有効期限（TTL）を持ちます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List トリガーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeTriggersByUserId ユーザーIDを指定してトリガーの一覧を取得 指定したユーザーに対して引かれたトリガーのページネーション付きリストを取得します。トリガーは相対スケジュールイベントを有効化するために使用され、有効期限（TTL）を持ちます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List トリガーのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getTrigger トリガーを取得 名前、作成時刻、有効期限（TTL）を含む指定されたトリガーを取得します。リクエストしたユーザーのトリガーの現在の状態を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン triggerName string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Trigger トリガー 実装例 getTriggerByUserId ユーザーIDを指定してトリガーを取得 指定したユーザーの名前、作成時刻、有効期限（TTL）を含む指定されたトリガーを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID triggerName string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Trigger トリガー 実装例 triggerByUserId ユーザーIDを指定してトリガーを実行 指定したユーザーのトリガーを引きます。トリガー戦略により動作が決まります：‘renew’ は新しいTTLでリセット、’extend’ は既存のTTLを延長、‘drop’ は既に引かれている場合は無視、‘repeatCycleEnd’/‘repeatCycleNextStart’/‘absoluteEnd’ は指定したイベントのスケジュールに有効期限を合わせます。トリガーを引くと関連する相対スケジュールイベントが有効化されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 triggerName string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID triggerStrategy 文字列列挙型 enum {   “renew”,   “extend”,   “drop”,   “repeatCycleEnd”,   “repeatCycleNextStart”,   “absoluteEnd” }  トリガーの引き方の方針 定義 説明 “renew” すでにトリガーが引かれている場合は再度新しい期間で引き直す “extend” すでにトリガーが引かれている場合は期間を延長 “drop” すでにトリガーが引かれている場合は無視 “repeatCycleEnd” 指定したイベントの繰り返し期間の終了日時に有効期限を迎えるようにトリガーを引く “repeatCycleNextStart” 指定したイベントの繰り返しで、次回の繰り返し開始日時に有効期限を迎えるようにトリガーを引く “absoluteEnd” 指定したイベントの終了日時に有効期限を迎えるようにトリガーを引く ttl int {triggerStrategy} in [“renew”, “extend”, “drop”] ※ 0 ~ 2147483646 トリガーの有効期限(秒) ※ triggerStrategy が “renew”,“extend”,“drop\"であれば 必須 eventId string {triggerStrategy} in [“repeatCycleEnd”, “repeatCycleNextStart”, “absoluteEnd”] ※ ~ 1024文字 イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ triggerStrategy が “repeatCycleEnd”,“repeatCycleNextStart”,“absoluteEnd\"であれば 必須 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Trigger 引いたトリガー 実装例 extendTriggerByUserId ユーザーIDを指定してトリガーの期間を延長 指定したユーザーの既存のトリガーの有効期限を指定した秒数だけ延長します。トリガーが存在しない場合は、指定した延長期間をTTLとして新しいトリガーが作成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 triggerName string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID extendSeconds int  0 ~ 2147483646 トリガーを延長する期間(秒) timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Trigger 引いたトリガー 実装例 deleteTrigger トリガーを削除 リクエストしたユーザーの指定されたトリガーを削除します。トリガーを削除すると、関連する相対スケジュールイベントが無効化されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン triggerName string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Trigger 削除したトリガー 実装例 deleteTriggerByUserId ユーザーIDを指定してトリガーを削除 指定したユーザーの指定されたトリガーを削除します。トリガーを削除すると、関連する相対スケジュールイベントが無効化されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID triggerName string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Trigger 削除したトリガー 実装例 verifyTrigger トリガーが引かれてからの経過時間を検証 トリガーの状態に関する条件を検証します。verifyType は以下を設定できます：’notTriggerd’ はトリガーが引かれていないことを検証、’elapsed’ はトリガーが引かれてから指定した分数が経過していることを検証、’notElapsed’ は指定した分数がまだ経過していないことを検証します。検証条件が満たされない場合はエラーを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン triggerName string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “notTriggerd”,   “elapsed”,   “notElapsed” }  検証の種類 定義 説明 “notTriggerd” トリガーが引かれていない “elapsed” 指定時間が経過している “notElapsed” 指定時間が経過していない elapsedMinutes int {verifyType} in [“elapsed”, “notElapsed”] ※ 0 ~ 2147483646 経過時間(分) ※ verifyType が “elapsed”,“notElapsed\"であれば 必須 Result 型 説明 item Trigger トリガー 実装例 verifyTriggerByUserId ユーザーIDを指定してトリガーが引かれてからの経過時間を検証 指定したユーザーのトリガーの状態に関する条件を検証します。verifyType は ’notTriggerd’、’elapsed’、’notElapsed’ を設定できます。検証条件が満たされない場合はエラーを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID triggerName string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “notTriggerd”,   “elapsed”,   “notElapsed” }  検証の種類 定義 説明 “notTriggerd” トリガーが引かれていない “elapsed” 指定時間が経過している “notElapsed” 指定時間が経過していない elapsedMinutes int {verifyType} in [“elapsed”, “notElapsed”] ※ 0 ~ 2147483646 経過時間(分) ※ verifyType が “elapsed”,“notElapsed\"であれば 必須 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Trigger トリガー 実装例 describeEvents イベントの一覧を取得 リクエストしたユーザーの現在アクティブなイベントの一覧を取得します。スケジュールが現在進行中のイベントのみが返されます。相対スケジュールイベントの場合、結果はユーザーのトリガー状態に依存します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 items List イベントのリスト 実装例 describeEventsByUserId ユーザーIDを指定してイベントの一覧を取得 指定したユーザーの現在アクティブなイベントの一覧を取得します。スケジュールが現在進行中のイベントのみが返されます。相対スケジュールイベントの場合、結果は指定したユーザーのトリガー状態に依存します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List イベントのリスト 実装例 describeRawEvents イベントの一覧を取得 ユーザーコンテキストやスケジュール状態でフィルタリングせずに、ネームスペース内のすべてのイベント定義の一覧を取得します。イベントが現在アクティブかどうかに関係なく、生のイベントデータを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List イベントのリスト 実装例 getEvent イベントを取得 指定されたイベントをスケジュール状態とともに取得します。イベントが現在開催期間中であるかどうか、スケジュールの開始/終了時刻、繰り返しスケジュール情報、グローバルスケジュールであるかどうかを返します。isInSchedule が true に設定されており、イベントが現在アクティブでない場合、NotFound エラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 eventName string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン isInSchedule bool true 現在開催中のイベントのみ取得対象とするか Result 型 説明 item Event イベント inSchedule bool? 現在イベント期間中か scheduleStartAt long イベント期間開始時刻 scheduleEndAt long イベント期間終了時刻 イベントの種類が absolute なら EventModel の absoluteEnd が格納されます。 イベントの種類が relative なら scheduleEndAt にはトリガーの有効期限または EventModel の absoluteEnd のどちらか終了が近い方が格納されます。 repeatSchedule RepeatSchedule 繰り返し情報 isGlobalSchedule bool? イベントがグローバルスケジュールか 実装例 getEventByUserId ユーザーIDを指定してイベントを取得 指定したユーザーにおける指定されたイベントをスケジュール状態とともに取得します。イベントが現在開催期間中であるかどうか、スケジュールの開始/終了時刻、繰り返しスケジュール情報、グローバルスケジュールであるかどうかを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 eventName string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID isInSchedule bool true 現在開催中のイベントのみ取得対象とするか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Event イベント inSchedule bool? 現在イベント期間中か scheduleStartAt long イベント期間開始時刻 scheduleEndAt long イベント期間終了時刻 イベントの種類が absolute なら EventModel の absoluteEnd が格納されます。 イベントの種類が relative なら scheduleEndAt にはトリガーの有効期限または EventModel の absoluteEnd のどちらか終了が近い方が格納されます。 repeatSchedule RepeatSchedule 繰り返し情報 isGlobalSchedule bool? イベントがグローバルスケジュールか 実装例 getRawEvent イベントを取得 ユーザーコンテキストなしで生のイベント定義を取得します。特定のユーザーのトリガー状態に対するスケジュール状態の評価なしにイベントデータを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 eventName string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Event イベント 実装例 verifyEvent イベントの開催期間であるか検証 指定されたイベントが現在アクティブなスケジュール期間内であるかを検証します。verifyType を ‘inSchedule’ に設定するとイベントがアクティブであることを検証し、’notInSchedule’ に設定するとアクティブでないことを検証します。検証条件が満たされない場合はエラーを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン eventName string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “inSchedule”,   “notInSchedule” }  検証の種類 定義 説明 “inSchedule” イベントの開催期間である “notInSchedule” イベントの開催期間ではない Result 型 説明 item Event イベント inSchedule bool? 現在イベント期間中か scheduleStartAt long イベント期間開始時刻 scheduleEndAt long イベント期間終了時刻 イベントの種類が absolute なら EventModel の absoluteEnd が格納されます。 イベントの種類が relative なら scheduleEndAt にはトリガーの有効期限または EventModel の absoluteEnd のどちらか終了が近い方が格納されます。 repeatSchedule RepeatSchedule 繰り返し情報 isGlobalSchedule bool? イベントがグローバルスケジュールか 実装例 verifyEventByUserId ユーザーIDを指定してイベントの開催期間であるかを検証 指定したユーザーにおいて、指定されたイベントが現在アクティブなスケジュール期間内であるかを検証します。verifyType は ‘inSchedule’ または ’notInSchedule’ を設定できます。検証条件が満たされない場合はエラーを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID eventName string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “inSchedule”,   “notInSchedule” }  検証の種類 定義 説明 “inSchedule” イベントの開催期間である “notInSchedule” イベントの開催期間ではない timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Event イベント inSchedule bool? 現在イベント期間中か scheduleStartAt long イベント期間開始時刻 scheduleEndAt long イベント期間終了時刻 イベントの種類が absolute なら EventModel の absoluteEnd が格納されます。 イベントの種類が relative なら scheduleEndAt にはトリガーの有効期限または EventModel の absoluteEnd のどちらか終了が近い方が格納されます。 repeatSchedule RepeatSchedule 繰り返し情報 isGlobalSchedule bool? イベントがグローバルスケジュールか 実装例 exportMaster モデルマスターを有効化可能なマスターデータ形式でエクスポート 現在登録されているイベントマスターを有効化可能なマスターデータ形式でエクスポートします。エクスポートされたデータには、絶対/相対タイミング、繰り返し設定、トリガー設定を含むすべてのイベントスケジュール定義が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentEventMaster 有効化可能なマスターデータ 実装例 getCurrentEventMaster 現在アクティブなイベントのマスターデータを取得 スケジュール評価に使用されているすべてのイベントスケジュール定義を含む、現在アクティブなイベントマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentEventMaster 現在アクティブなイベントのマスターデータ 実装例 preUpdateCurrentEventMaster 現在アクティブなイベントのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentEventMaster 現在アクティブなイベントのマスターデータを更新 現在アクティブなイベントマスターデータを更新します。大容量マスターデータに対応するため、直接更新モードと事前アップロードモードの両方をサポートしています。事前アップロードモードでは、PreUpdate APIで取得したアップロードトークンを使用して設定を読み取ります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentEventMaster 更新された現在アクティブなイベントのマスターデータ 実装例 updateCurrentEventMasterFromGitHub 現在アクティブなイベントのマスターデータをGitHubから更新 指定されたチェックアウト設定を使用してGitHubリポジトリからマスターデータをチェックアウトし、現在アクティブなイベントマスターデータを更新します。GitHubとの認証にはキーサービス経由でAPIキーが復号されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentEventMaster 更新された現在アクティブなイベントのマスターデータ 実装例 describeEventMasters イベントマスターの一覧を取得 イベントマスターのページネーション付きリストを取得します。イベント名のプレフィックスでフィルタリングできます。イベントマスターは、絶対/相対タイミング、繰り返し設定、トリガー関連付けなどのイベントスケジュールを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 イベント名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List イベントマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createEventMaster イベントマスターを新規作成 スケジュールタイプ（絶対または相対）、開始/終了時刻、繰り返し設定（日次、週次、月次）、および相対スケジュールイベント用のオプショナルなトリガー名を持つ新しいイベントマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scheduleType 文字列列挙型 enum {   “absolute”,   “relative” }  スケジュールタイプ イベント期間の定義方法を決定します。 “absolute” は全プレイヤー共通の固定開始・終了タイムスタンプを使用します。 “relative” はプレイヤーごとのトリガーを起点として使用し、パーソナライズされたイベント期間を実現します（例: 各プレイヤーの初回ログインから24時間）。 定義 説明 “absolute” 固定期間 “relative” プレイヤー毎に異なる期間 absoluteBegin long 絶対開始日時 絶対スケジューリングにおけるイベント期間の固定開始時刻。 全プレイヤーが同じ開始時刻を共有します。絶対イベントで未設定の場合、イベントは過去から開始されているものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 absoluteEnd long 絶対終了日時 絶対スケジューリングにおけるイベント期間の固定終了時刻。 全プレイヤーが同じ終了時刻を共有します。絶対イベントで未設定の場合、イベントは終了しないものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 relativeTriggerName string {scheduleType} == “relative” ※ ~ 128文字 イベント開始トリガー名 ゲームプレイヤー毎にイベント期間を設定する ( relative ) 場合に、イベントの開始の起点とするトリガーの名前を指定します。 英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ※ scheduleType が “relative” であれば必須 repeatSetting RepeatSetting  繰り返し設定 イベント期間内の繰り返し有効時間枠の設定。 アクティブ期間を特定の時間帯、曜日、月の日付、またはカスタムのアクティブ/インアクティブ日サイクルに絞り込むことができます。 繰り返しパターンなしでイベント期間全体を通してアクティブにするには repeatType を “always” に設定します。 Result 型 説明 item EventMaster 作成したイベントマスター 実装例 getEventMaster イベントマスターを取得 スケジュールタイプ、開始/終了時刻、繰り返し設定、トリガー設定を含む、指定されたイベントマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 eventName string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EventMaster イベントマスター 実装例 updateEventMaster イベントマスターを更新 指定されたイベントマスターのスケジュールタイプ、開始/終了時刻、繰り返し設定、トリガー設定、その他のプロパティを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 eventName string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scheduleType 文字列列挙型 enum {   “absolute”,   “relative” }  スケジュールタイプ イベント期間の定義方法を決定します。 “absolute” は全プレイヤー共通の固定開始・終了タイムスタンプを使用します。 “relative” はプレイヤーごとのトリガーを起点として使用し、パーソナライズされたイベント期間を実現します（例: 各プレイヤーの初回ログインから24時間）。 定義 説明 “absolute” 固定期間 “relative” プレイヤー毎に異なる期間 absoluteBegin long 絶対開始日時 絶対スケジューリングにおけるイベント期間の固定開始時刻。 全プレイヤーが同じ開始時刻を共有します。絶対イベントで未設定の場合、イベントは過去から開始されているものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 absoluteEnd long 絶対終了日時 絶対スケジューリングにおけるイベント期間の固定終了時刻。 全プレイヤーが同じ終了時刻を共有します。絶対イベントで未設定の場合、イベントは終了しないものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 relativeTriggerName string {scheduleType} == “relative” ※ ~ 128文字 イベント開始トリガー名 ゲームプレイヤー毎にイベント期間を設定する ( relative ) 場合に、イベントの開始の起点とするトリガーの名前を指定します。 英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ※ scheduleType が “relative” であれば必須 repeatSetting RepeatSetting  繰り返し設定 イベント期間内の繰り返し有効時間枠の設定。 アクティブ期間を特定の時間帯、曜日、月の日付、またはカスタムのアクティブ/インアクティブ日サイクルに絞り込むことができます。 繰り返しパターンなしでイベント期間全体を通してアクティブにするには repeatType を “always” に設定します。 Result 型 説明 item EventMaster 更新したイベントマスター 実装例 deleteEventMaster イベントマスターを削除 指定されたイベントマスターを削除します。これはマスター定義のみを削除するもので、現在アクティブなイベントマスターデータは次回のマスターデータ更新まで影響を受けません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 eventName string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item EventMaster 削除したイベントマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Schedule SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Schedule SDK API リファレンス","url":"/ja/api_reference/schedule/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 スクリプトがトランザクションアクションを返す際に使用される分散トランザクションの設定です。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。スクリプトの呼び出しとその結果の追跡に使用されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからスクリプトをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 スクリプトファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Script スクリプト GS2 では標準の機能だけで機能を実現できない時のためにスクリプトで機能を拡張できるようになっています。 スクリプトは Lua 言語で記述することができます。 スクリプト内から GS2 のサービスのデータを取得することもできますので、柔軟な処理を記述できます。 詳細はドキュメントを参照してください。 詳細  scriptId string ※ ~ 1024文字 スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 スクリプト名 スクリプト固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 script string  ~ 5242880文字 Luaスクリプト 実行する Lua スクリプトのソースコードです。スクリプトから GS2 サービスのデータにアクセスし、呼び出し元サービスの動作を変更する結果を返すことができます。 disableStringNumberToNumber bool false 文字列から数値への変換を無効化 有効にすると、数字のみで構成される文字列（例：“12345”）が自動的に数値に変換されず、文字列として保持されます。数値に見えても文字列型のままにすべきIDやコードを扱う場合に便利です。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン RandomStatus 乱数の状態 スクリプト実行コンテキスト内で利用可能な乱数の状態を管理します。シード値とカテゴリごとの使用済み乱数のリストを含みます。この状態は Lua スクリプトにテーブルとして渡され、スクリプトから読み取り・変更が可能です。 詳細  seed long  0 ~ 4294967294 乱数シード 乱数生成のシード値です。スクリプト実行内で決定論的な乱数列を生成するために使用されます。 used List 0 ~ 1000 items 使用済み乱数リスト 目的別にカテゴリ分けされた消費済み乱数のリストです。各カテゴリは独自の使用カウンターを持てます。 RandomUsed 使用済み乱数 特定カテゴリで消費された乱数の数を追跡します。各カテゴリはスクリプト実行内での乱数使用の異なる目的を表し、乱数消費の独立した追跡を可能にします。 詳細  category long  0 ~ 4294967294 カテゴリ 乱数使用カテゴリの数値識別子です。各カテゴリは乱数消費を独立して追跡し、スクリプトが異なる目的に別々の乱数シーケンスを使用できるようにします。 used long  0 ~ 4294967294 使用回数 このカテゴリで消費された乱数の数です。このカテゴリのシーケンスから乱数が引かれるたびに増加します。 AcquireAction 入手アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 ConsumeAction 消費アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 Transaction トランザクション スクリプトから返される分散トランザクションとして実行されるアクションのセットを表します。検証アクション（前提条件チェック）、消費アクション（リソース消費）、入手アクション（リソース付与）を含み、入手アクションとして実行されます。 詳細  transactionId string ~ 128文字 トランザクションID このトランザクションのオプションの一意識別子です。入手アクションの実行の追跡と重複排除に使用されます。 verifyActions List 0 ~ 100 items 検証アクションリスト トランザクションの前提条件となる検証アクションのリストです。すべての検証アクションが成功した後に消費アクションと入手アクションが実行されます。 consumeActions List [] 0 ~ 100 items 消費アクションリスト トランザクションの一部としてリソースを消費する消費アクションのリストです。すべての検証アクションが成功した後に実行されます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト トランザクションの一部としてリソースを付与する入手アクションのリストです。すべての消費アクションが正常に完了した後に実行されます。 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 スクリプトがトランザクションアクションを返す際に使用される分散トランザクションの設定です。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。スクリプトの呼び出しとその結果の追跡に使用されます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 スクリプトがトランザクションアクションを返す際に使用される分散トランザクションの設定です。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。スクリプトの呼び出しとその結果の追跡に使用されます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 describeScripts スクリプトの一覧を取得 ネームスペースに登録されたLuaスクリプトのページネーション付きリストを取得します。スクリプト名のプレフィックスでフィルタリングできます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 スクリプト名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List スクリプトのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createScript スクリプトを新規作成 指定されたコードで新しいLuaスクリプトを作成します。disableStringNumberToNumber オプションにより、スクリプト実行時に数値のみで構成された文字列が自動的に数値に変換されるかどうかを制御できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 スクリプト名 スクリプト固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 script string  ~ 5242880文字 Luaスクリプト disableStringNumberToNumber bool false 数値のみで構成された文字列を数値に変換しない Result 型 説明 item Script 作成したスクリプト 実装例 createScriptFromGitHub GitHubリポジトリのコードからスクリプトを新規作成 指定されたGitHubリポジトリからソースファイルをチェックアウトして、新しいスクリプトを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 スクリプト名 スクリプト固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 checkoutSetting GitHubCheckoutSetting  GitHubからソースコードをチェックアウトする設定 disableStringNumberToNumber bool false 数値のみで構成された文字列を数値に変換しない Result 型 説明 item Script 作成したスクリプト 実装例 getScript スクリプトを取得 名前、説明、スクリプトコード、型変換設定を含む、指定されたスクリプトを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 scriptName string  ~ 128文字 スクリプト名 スクリプト固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Script スクリプト 実装例 updateScript スクリプトを更新 指定されたスクリプトのコード、説明、型変換設定を更新します。スクリプトコード全体が新しい内容に置き換えられます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 scriptName string  ~ 128文字 スクリプト名 スクリプト固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 script string  ~ 5242880文字 Luaスクリプト disableStringNumberToNumber bool false 数値のみで構成された文字列を数値に変換しない Result 型 説明 item Script 更新したスクリプト 実装例 updateScriptFromGitHub GitHub をデータソースとしてスクリプトを更新 指定されたGitHubリポジトリから最新のソースコードを取得して、既存のスクリプトを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 scriptName string  ~ 128文字 スクリプト名 スクリプト固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 checkoutSetting GitHubCheckoutSetting  GitHubからソースコードをチェックアウトする設定 disableStringNumberToNumber bool false 数値のみで構成された文字列を数値に変換しない Result 型 説明 item Script 更新したスクリプト 実装例 deleteScript スクリプトを削除 指定されたスクリプトをネームスペースから削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 scriptName string  ~ 128文字 スクリプト名 スクリプト固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Script 削除したスクリプト 実装例 invokeScript スクリプトを実行 指定されたLuaスクリプトを提供されたJSON引数で同期的に実行します。ステータスコード、戻り値、トランザクション情報、乱数状態、実行時間、標準出力を含む実行結果を返します。GS2サービス間のアトミック操作のためのトランザクション処理をサポートしています。 詳細 Request  scriptId string  ~ 1024文字 スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN userId string ~ 128文字 ユーザーID args string “{}” ~ 5242880文字 スクリプトに渡される引数 (JSON形式) randomStatus RandomStatus 乱数の状態 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 code int ステータスコード result string 戻り値 transaction Transaction トランザクション randomStatus RandomStatus 乱数の状態 atomicCommit bool? トランザクションをアトミックにコミットするか transactionResult TransactionResult トランザクション実行結果 executeTime int スクリプトの実行時間(ミリ秒) charged int 費用の計算対象となった時間(秒) output List 標準出力の内容のリスト 実装例 debugInvoke スクリプトを実行 デバッグ目的で、事前のスクリプト登録なしに提供されたLuaスクリプトコードを直接実行します。スクリプトの迅速なテストと開発が可能です。 詳細 Request  script string  ~ 5242880文字 Luaスクリプト args string “{}” ~ 5242880文字 スクリプトに渡される引数 (JSON形式) userId string ~ 128文字 ユーザーID randomStatus RandomStatus 乱数の状態 disableStringNumberToNumber bool false 数値のみで構成された文字列を数値に変換しない timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 code int ステータスコード result string 戻り値 transaction Transaction トランザクション randomStatus RandomStatus 乱数の状態 atomicCommit bool? トランザクションをアトミックにコミットするか transactionResult TransactionResult トランザクション実行結果 executeTime int スクリプトの実行時間(ミリ秒) charged int 費用の計算対象となった時間(秒) output List 標準出力の内容のリスト 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Script SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Script SDK API リファレンス","url":"/ja/api_reference/script/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 シーズンレーティング結果の適用時に使用されるトランザクション処理の設定。 logSetting LogSetting ログ出力設定 投票用紙の発行、投票の提出、レーティング計算などのシーズンレーティング操作のログ出力設定。 設定した場合、操作ログが指定した GS2-Log ネームスペースに出力されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAtomicCommit bool false トランザクションの実行をアトミックにコミットするか transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 MatchSession マッチセッション 対戦ごとの投票コンテキストを管理する一時的なエンティティです。 プレイヤーは MatchSession から投票用紙を取得し、投票結果を確定させます。 TTL（有効期限）を持ち、期限経過または多数決成立により結果が確定します。 詳細  sessionId string ※ ~ 1024文字 セッション GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 128文字 セッション名 セッション固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン Ballot 投票用紙 特定のマッチセッションに対して各プレイヤーに発行される投票チケットです。 対戦コンテキスト（シーズン、セッション、参加人数）とプレイヤーのユーザーIDを含みます。 投票用紙はサーバーによって署名されプレイヤーに返却され、プレイヤーはゲーム結果を記入して WrittenBallot として再提出します。 投票集計時、全参加者の投票用紙が多数決で比較され、結果の改ざんを防止します。 詳細  userId string  ~ 128文字 ユーザーID seasonName string  ~ 128文字 シーズン名 この対戦のレーティング計算に使用するシーズンモデルの名前。 この対戦に適用されるティアー構造とポイント変動ルールを定義する SeasonModel を参照します。 sessionName string  ~ 128文字 セッション名 この投票用紙が属するマッチセッションの名前。 同一セッション内の全投票用紙は投票プロセスにおいて集約されます。 numberOfPlayer int  2 ~ 10 参加人数 この対戦の総参加者数。 投票の完了判定に使用されます。結果確定には全投票用紙の収集（または多数決の成立）が必要です。 有効範囲: 2〜10。 Vote 投票状況 シーズン内の特定マッチセッションの投票状態を集約するモデルです。 全参加者から WrittenBallot を収集し、多数決により公式な対戦結果を決定します。 提出された投票用紙の数が予定参加人数に達すると投票完了と判定されます。 過半数の投票用紙が結果に合意した場合に結果が確定し、合意に至らない場合は “minority” エラーが発生します。 詳細  voteId string ※ ~ 1024文字 投票状況 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 seasonName string  ~ 128文字 シーズン名 この投票に関連付けられたシーズンモデルの名前。 この対戦のティアー構造とポイント変動ルールを定義する SeasonModel を参照します。 sessionName string  ~ 128文字 セッション名 この投票が属するマッチセッションの名前。 シーズン名と組み合わせて、ネームスペース内で投票を一意に識別します。 writtenBallots List [] 0 ~ 10 items 記入済み投票用紙のリスト 対戦参加者から提出された投票用紙のコレクション。 各投票用紙はプレイヤーが結果を提出するたびにユーザーIDで追加または置換されます。全予定プレイヤーが提出完了（またはセッション期限切れ）すると、 多数決により投票用紙が集計され公式な対戦結果が決定されます。 最大10エントリ（対戦あたりの最大参加人数に対応）。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SeasonModel シーズンモデル シーズン期間中に適用されるティアー構造とポイント変動ルールを定義するマスターデータです。 各ティアーごとのポイント変動範囲・参加料・ランクアップボーナスを設定し、ポイント管理に使用する Experience モデルを指定します。 実際のポイントおよびティアーのユーザーデータは GS2-Experience によって管理されます。 詳細  seasonModelId string ※ ~ 1024文字 シーズンモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 tiers List  1 ~ 100 items ティアーモデルのリスト シーズンのランキングラダーを構成するティアー定義の順序付きリスト。 各ティアーは独自のポイント変動ルール（参加料、最小/最大変動量、昇格ボーナス）を定義します。 プレイヤーは GS2-Experience で管理される累積ポイントに基づいてティアーを進行します。 最小1ティアー、最大100ティアー。 experienceModelId string  ~ 1024文字 経験値モデルID シーズンポイントとティアー進行の管理に使用する GS2-Experience 経験値モデルの GRN。 経験値モデルのランク閾値がティアー境界を決定し、経験値がプレイヤーの現在のシーズンポイントを表します。 対戦結果によるポイント変動はこの経験値モデルに適用されます。 challengePeriodEventId string ~ 1024文字 チャレンジ期間イベントID シーズンが対戦可能な期間を定義する GS2-Schedule イベントの GRN。 設定した場合、参照先のイベントがアクティブな間のみプレイヤーは対戦に参加できます。 未設定の場合、シーズンに期間制限はありません。 TierModel ティアーモデル ティアーモデルは、シーズン内の各ティアーにおけるポイント変動ルールを定義するモデルです。 順位に応じたポイント変動範囲、参加料、昇格時ボーナスを設定します。 ポイントの実データは GS2-Experience によって管理されますが、その増減ロジックは TierModel の設定に基づいて決定されます。 詳細  metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 raiseRankBonus int  0 ~ 10000 ランク昇格ボーナス プレイヤーがこのティアーに昇格した際に加算されるボーナスポイントで、即座の降格を防ぐバッファとして機能します。 例えば 100 に設定すると、昇格閾値より100ポイント多い状態で新ティアーを開始します。 有効範囲: 0〜10000。 entryFee int  0 ~ 10000 参加料 対戦開始前にプレイヤーから差し引かれる参加コストとしてのポイント。 この参加料は対戦結果に関わらず常に減算され、対戦プレイにリスク要素を生み出します。 有効範囲: 0〜10000。 minimumChangePoint int  -99999999 ~ -1 最小変動ポイント 1回の対戦結果で発生しうる最小（最も負の）ポイント変動量で、通常は最悪の敗北時の値を表します。 負の値である必要があります。敗北プレイヤーの実際のポイント変動はこの値と0の間になります。 有効範囲: -99999999〜-1。 maximumChangePoint int  1 ~ 99999999 最大変動ポイント 1回の対戦結果で発生しうる最大（最も正の）ポイント変動量で、通常は最高の勝利時の値を表します。 正の値である必要があります。勝利プレイヤーの実際のポイント変動は0とこの値の間になります。 有効範囲: 1〜99999999。 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか GameResult 対戦結果 対戦における1人のプレイヤーの結果を表すモデルです。 プレイヤーのユーザーIDと順位を保持します。WrittenBallot 内で全参加者の結果を報告するために使用されます。 投票集計時、全投票用紙のゲーム結果が多数決で比較され、公式な結果が決定されます。 詳細  rank int  0 ~ 2147483646 順位 対戦におけるこのプレイヤーの最終順位。 1 は1位（勝者）を表します。順位の値は TierModel の設定に基づいてポイント変動量を決定するために使用されます。 userId string  ~ 128文字 ユーザーID SignedBallot 署名付き投票用紙 GS2-Key を使用してサーバーが暗号署名した投票用紙です。 署名により、投票用紙の内容（シーズン、セッション、プレイヤー、参加人数）が改ざんされていないことが保証されます。 投票提出時、サーバー側で署名付き投票用紙が検証された後にゲーム結果が受理されます。 詳細  body string  ~ 1024文字 署名対象データ 署名対象となる投票用紙データのシリアライズされたJSON表現。 投票用紙の内容（ユーザーID、シーズン名、セッション名、参加人数）を署名と照合可能な形式で含みます。 最大1024文字。 signature string  ~ 256文字 署名 投票用紙の本文に対して GS2-Key が生成した暗号署名。 投票用紙がサーバーによって発行され、クライアントによって改変されていないことを検証するために使用されます。 Base64エンコード、最大256文字。 WrittenBallot 記入済み投票用紙 対戦結果を書き込んだ投票用紙を表すデータモデルです。 ユーザーIDと順位を含む投票内容を保持し、署名付きで Vote API に渡されます。 詳細  ballot Ballot  投票用紙 この対戦でプレイヤーに発行された元の投票用紙。 対戦コンテキスト（シーズン、セッション、プレイヤーID、参加人数）を含み、集計時に投票者を識別するために使用されます。 gameResults List 0 ~ 10 items 対戦結果のリスト このプレイヤーが報告したゲーム結果で、対戦の各参加者につき1エントリ。 各エントリにはユーザーIDと順位が含まれます。リスト内のユーザーIDは一意でなければなりません（child_unique制約により強制）。 投票集計時、結果はユーザーIDでソートされ、全提出投票用紙間で比較して多数決を取ります。 最大10エントリ。 CurrentSeasonModelMaster 現在アクティブなシーズンモデルのマスターデータ 現在ネームスペース内で有効な、シーズンモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-SeasonRating マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ SeasonModelMaster シーズンモデルマスター シーズンモデルマスターは、ゲーム内で使用されるシーズンモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるシーズンモデルとして反映されます。 シーズンモデルは、シーズン期間中に適用されるティアー構造とポイント変動ルールを定義するマスターデータです。 各ティアーの変動範囲・参加料・ランクアップボーナスを設定し、ポイント管理に使用する Experience モデルを指定します。 実際のポイントおよびティアーのユーザーデータは GS2-Experience によって管理されます。 詳細  seasonModelId string ※ ~ 1024文字 シーズンモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 tiers List  1 ~ 100 items ティアーモデルのリスト シーズンのランキングラダーを構成するティアー定義の順序付きリスト。 各ティアーは独自のポイント変動ルール（参加料、最小/最大変動量、昇格ボーナス）を定義します。 プレイヤーは GS2-Experience で管理される累積ポイントに基づいてティアーを進行します。 最小1ティアー、最大100ティアー。 experienceModelId string  ~ 1024文字 経験値モデルID シーズンポイントとティアー進行の管理に使用する GS2-Experience 経験値モデルの GRN。 経験値モデルのランク閾値がティアー境界を決定し、経験値がプレイヤーの現在のシーズンポイントを表します。 対戦結果によるポイント変動はこの経験値モデルに適用されます。 challengePeriodEventId string ~ 1024文字 チャレンジ期間イベントID シーズンが対戦可能な期間を定義する GS2-Schedule イベントの GRN。 設定した場合、参照先のイベントがアクティブな間のみプレイヤーは対戦に参加できます。 未設定の場合、シーズンに期間制限はありません。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 シーズンレーティング結果の適用時に使用されるトランザクション処理の設定。 logSetting LogSetting ログ出力設定 投票用紙の発行、投票の提出、レーティング計算などのシーズンレーティング操作のログ出力設定。 設定した場合、操作ログが指定した GS2-Log ネームスペースに出力されます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 シーズンレーティング結果の適用時に使用されるトランザクション処理の設定。 logSetting LogSetting ログ出力設定 投票用紙の発行、投票の提出、レーティング計算などのシーズンレーティング操作のログ出力設定。 設定した場合、操作ログが指定した GS2-Log ネームスペースに出力されます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeMatchSessions セッションの一覧を取得 ネームスペース内のマッチセッションのページネーション付きリストを取得します。マッチセッションは個々の対戦を表し、レーティング計算のためにプレイヤーをグループ化するために使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List セッションのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createMatchSession セッションを作成 セッションを作成すると、セッションIDが発行されます。 対戦結果のレポート送信にはセッションIDが必要で、セッションIDを指定してレポートを送信することで、そのセッションに対するレポートを送信することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 sessionName string UUID ~ 128文字 セッション名 セッション固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ttlSeconds int 60 60 ~ 7200 セッションの有効期限(秒) Result 型 説明 item MatchSession 作成したセッション 実装例 getMatchSession セッションを取得 名前とTTL情報を含む、指定されたマッチセッションを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 sessionName string  UUID ~ 128文字 セッション名 セッション固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item MatchSession セッション 実装例 deleteMatchSession セッションを削除 指定されたマッチセッションを削除します。セッションに関連する保留中の投票も無効化されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 sessionName string  UUID ~ 128文字 セッション名 セッション固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item MatchSession 削除したセッション 実装例 getBallot 署名と共に投票用紙を作成 マッチセッションのレーティング投票に参加するため、リクエストしたユーザーの投票用紙を発行します。プレイヤーがシーズンの挑戦期間内であることを検証し、設定されたエントリー料をプレイヤーのレーティングから差し引き、指定された暗号鍵を使用して署名付き投票用紙を生成します。署名付き投票用紙は vote または voteMultiple の送信時に使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 sessionName string  UUID ~ 128文字 セッション名 セッション固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン numberOfPlayer int  2 ~ 10 参加人数 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item Ballot 投票用紙 body string 署名対象のデータ signature string 署名データ 実装例 getBallotByUserId ユーザーIDを指定して署名と共に投票用紙を作成 指定したユーザーがマッチセッションのレーティング投票に参加するための投票用紙を発行します。挑戦期間の検証、エントリー料の差し引き、指定された暗号鍵を使用した署名付き投票用紙の生成を行います。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 sessionName string  UUID ~ 128文字 セッション名 セッション固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID numberOfPlayer int  2 ~ 10 参加人数 keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Ballot 投票用紙 body string 署名対象のデータ signature string 署名データ 実装例 vote 対戦結果を投票 投票は最初の投票が行われてから5分以内に行う必要があります。 つまり、結果は即座に反映されず、投票開始からおよそ5分後または全てのプレイヤーが投票を行った際に結果が反映されます。 5分以内に全ての投票用紙を回収できなかった場合はその時点の投票内容で多数決をとって結果を決定します。 結果を即座に反映したい場合は、勝利した側の代表プレイヤーが投票用紙を各プレイヤーから集めて voteMultiple を呼び出すことで結果を即座に反映できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ballotBody string  ~ 1024文字 投票用紙の署名対象のデータ ballotSignature string  ~ 256文字 投票用紙の署名 gameResults List 0 ~ 10 items 対戦結果 対戦を行ったプレイヤーグループに所属するユーザーIDのリスト keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item Ballot 投票用紙 実装例 voteMultiple 対戦結果をまとめて投票 ゲームに勝利した側が他プレイヤーの投票用紙を集めてまとめて投票するのに使用します。 『勝利した側』としているのは、敗北した側が自分たちが勝ったことにして報告することにインセンティブはありますが、その逆はないためです。 負けた側が投票用紙を渡してこない可能性がありますが、その場合も過半数の投票用紙があれば結果を通すことができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 signedBallots List 0 ~ 10 items 署名付の投票用紙リスト gameResults List 0 ~ 10 items 投票内容。対戦を行ったプレイヤーグループ1に所属するユーザーIDのリスト keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item Ballot 投票用紙 実装例 commitVote 投票状況を強制確定 すべての投票が集まるのを待たずに、マッチセッションのレーティング計算を手動でトリガーします。保留中の投票を処理し、現在の投票状態に基づいてレーティング変更を計算し、処理後に投票レコードとマッチセッションを削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 sessionName string  ~ 128文字 セッション名 この投票が属するマッチセッションの名前。 シーズン名と組み合わせて、ネームスペース内で投票を一意に識別します。 Result 型 説明 実装例 describeSeasonModels シーズンモデルの一覧を取得 現在アクティブなシーズンモデルの一覧を取得します。シーズンモデルは、シーズンレーティング計算のためのレーティングティア、経験値モデル参照、挑戦期間イベントを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List シーズンモデルのリスト 実装例 getSeasonModel シーズンモデルを取得 レーティングティア、経験値モデル参照、挑戦期間イベント設定を含む、指定されたシーズンモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SeasonModel シーズンモデル 実装例 exportMaster モデルマスターを有効化可能なマスターデータ形式でエクスポート 現在登録されているシーズンモデルマスターを有効化可能なマスターデータ形式でエクスポートします。エクスポートされたデータには、レーティングティア、経験値モデル参照、挑戦期間設定を含むすべてのシーズンレーティング定義が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentSeasonModelMaster 有効化可能なマスターデータ 実装例 getCurrentSeasonModelMaster 現在アクティブなシーズンモデルのマスターデータを取得 レーティング計算に使用されているすべてのシーズンレーティング定義を含む、現在アクティブなシーズンモデルマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentSeasonModelMaster 現在アクティブなシーズンモデルのマスターデータ 実装例 preUpdateCurrentSeasonModelMaster 現在アクティブなシーズンモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentSeasonModelMaster 現在アクティブなシーズンモデルのマスターデータを更新 現在アクティブなシーズンモデルマスターデータを更新します。大容量マスターデータに対応するため、直接更新モードと事前アップロードモードの両方をサポートしています。事前アップロードモードでは、PreUpdate APIで取得したアップロードトークンを使用して設定を読み取ります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentSeasonModelMaster 更新された現在アクティブなシーズンモデルのマスターデータ 実装例 updateCurrentSeasonModelMasterFromGitHub 現在アクティブなシーズンモデルのマスターデータをGitHubから更新 指定されたチェックアウト設定を使用してGitHubリポジトリからマスターデータをチェックアウトし、現在アクティブなシーズンモデルマスターデータを更新します。GitHubとの認証にはキーサービス経由でAPIキーが復号されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentSeasonModelMaster 更新された現在アクティブなシーズンモデルのマスターデータ 実装例 describeSeasonModelMasters シーズンモデルマスターの一覧を取得 シーズンモデルマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。シーズンモデルマスターは、シーズンレーティングのためのレーティングティア、経験値モデル参照、挑戦期間イベントを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 シーズンモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List シーズンモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createSeasonModelMaster シーズンモデルマスターを新規作成 レーティングティア、レーティング保存用のGS2-Experience経験値モデルへの参照、およびプレイヤーの参加を制限するオプションの挑戦期間イベントIDを持つ新しいシーズンモデルマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 tiers List  1 ~ 100 items ティアーモデルのリスト シーズンのランキングラダーを構成するティアー定義の順序付きリスト。 各ティアーは独自のポイント変動ルール（参加料、最小/最大変動量、昇格ボーナス）を定義します。 プレイヤーは GS2-Experience で管理される累積ポイントに基づいてティアーを進行します。 最小1ティアー、最大100ティアー。 experienceModelId string  ~ 1024文字 経験値モデルID シーズンポイントとティアー進行の管理に使用する GS2-Experience 経験値モデルの GRN。 経験値モデルのランク閾値がティアー境界を決定し、経験値がプレイヤーの現在のシーズンポイントを表します。 対戦結果によるポイント変動はこの経験値モデルに適用されます。 challengePeriodEventId string ~ 1024文字 チャレンジ期間イベントID シーズンが対戦可能な期間を定義する GS2-Schedule イベントの GRN。 設定した場合、参照先のイベントがアクティブな間のみプレイヤーは対戦に参加できます。 未設定の場合、シーズンに期間制限はありません。 Result 型 説明 item SeasonModelMaster 作成したシーズンモデルマスター 実装例 getSeasonModelMaster シーズンモデルマスターを取得 レーティングティア、経験値モデル参照、挑戦期間イベント設定を含む、指定されたシーズンモデルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SeasonModelMaster シーズンモデルマスター 実装例 updateSeasonModelMaster シーズンモデルマスターを更新 指定されたシーズンモデルマスターのレーティングティア、経験値モデル参照、挑戦期間イベント、その他のプロパティを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 tiers List  1 ~ 100 items ティアーモデルのリスト シーズンのランキングラダーを構成するティアー定義の順序付きリスト。 各ティアーは独自のポイント変動ルール（参加料、最小/最大変動量、昇格ボーナス）を定義します。 プレイヤーは GS2-Experience で管理される累積ポイントに基づいてティアーを進行します。 最小1ティアー、最大100ティアー。 experienceModelId string  ~ 1024文字 経験値モデルID シーズンポイントとティアー進行の管理に使用する GS2-Experience 経験値モデルの GRN。 経験値モデルのランク閾値がティアー境界を決定し、経験値がプレイヤーの現在のシーズンポイントを表します。 対戦結果によるポイント変動はこの経験値モデルに適用されます。 challengePeriodEventId string ~ 1024文字 チャレンジ期間イベントID シーズンが対戦可能な期間を定義する GS2-Schedule イベントの GRN。 設定した場合、参照先のイベントがアクティブな間のみプレイヤーは対戦に参加できます。 未設定の場合、シーズンに期間制限はありません。 Result 型 説明 item SeasonModelMaster 更新したシーズンモデルマスター 実装例 deleteSeasonModelMaster シーズンモデルマスターを削除 指定されたシーズンモデルマスターを削除します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SeasonModelMaster 削除したシーズンモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-SeasonRating SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-SeasonRating SDK API リファレンス","url":"/ja/api_reference/season_rating/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 シリアルキー操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログの出力設定 シリアルコードの発行・使用に関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用されるログネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースIDは、ログデータを集約し、保存する対象の GS2-Log のネームスペースを指定します。 この設定を通じて、このネームスペース以下のAPIリクエスト・レスポンスログデータが対象の GS2-Log へ出力されるようになります。 GS2-Log にはリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 IssueJob シリアルコード発行ジョブ シリアルコードの発行処理を実行するとエンティティが作成されます。 発行数量には1〜100000の範囲を指定でき、発行処理の進行状況を確認することもできます。 発行処理が完了するとステータスが PROCESSING から COMPLETE に代わり、発行されたシリアルコードの情報にアクセスできるようになります。 詳細  issueJobId string ※ ~ 1024文字 発行ジョブ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  UUID ~ 36文字 シリアルコード発行ジョブ名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 issuedCount int 0 0 ~ 1000000 シリアルコードの発行済み数量 このジョブでこれまでに発行されたシリアルコードの数です。コードがバッチで作成されるたびにアトミックに加算されます。この値が issueRequestCount に達するとジョブのステータスが COMPLETE に遷移します。 issueRequestCount int  1 ~ 100000 シリアルコードの発行数量 このジョブで発行を要求されたシリアルコードの総数です。1ジョブあたり1〜100,000の範囲で指定できます。発行処理はバッチで非同期に処理されます。 status 文字列列挙型 enum {   “PROCESSING”,   “COMPLETE” } “PROCESSING” ステータス この発行ジョブの現在の処理状態です。ジョブ作成時は PROCESSING で開始し、要求されたすべてのシリアルコードの発行が完了すると COMPLETE に遷移します。COMPLETE になると、発行されたシリアルコードを取得できるようになります。 定義 説明 “PROCESSING” 発行処理中 “COMPLETE” 発行完了 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SerialKey シリアルコード 発行されたシリアルコードは1度のみ使用可能です。 シリアルコードは「RPCLP-FP7N-NCDMJ-FLVA-IRI4」のような形式で発行され、データ長を変更することはできません。 シリアルコード内にはキャンペーンの種類の情報も含まれており、シリアルコードを使用する際にはネームスペースを指定するだけで使用できます。 詳細  serialKeyId string ※ ~ 1024文字 シリアルキー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 campaignModelName string  ~ 128文字 キャンペーン名 このシリアルコードが属するキャンペーンモデルの名前です。キャンペーン情報はシリアルコード自体に埋め込まれているため、コード使用時にはネームスペースを指定するだけで利用できます。 code string  ~ 48文字 シリアルコード 「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 status 文字列列挙型 enum {   “ACTIVE”,   “USED”,   “INACTIVE” } “ACTIVE” ステータス このシリアルコードの現在の使用状態です。ユーザーが消費すると ACTIVE から USED に遷移します。二重使用を防ぐため楽観的ロックで保護されています。INACTIVE のコードは使用できません。 定義 説明 “ACTIVE” 利用可能 “USED” 使用済み “INACTIVE” 無効（利用不可） usedUserId string {status} == “USED” ※ ~ 128文字 ユーザーID ※ status が “USED” であれば 必須 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 usedAt long 使用日時 このシリアルコードが消費された日時です。ステータスが USED に遷移した際に自動的に設定され、使用が取り消された場合はクリアされます。 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン CampaignModel キャンペーンモデル キャンペーンモデルはキャンペーンを定義し、シリアルコードと紐づけて管理するために使用されます。 詳細  campaignId string ※ ~ 1024文字 キャンペーンモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 キャンペーンモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 enableCampaignCode bool false キャンペーンコードによる引き換えを許可するか 有効にすると、個別のシリアルコードではなく共通のキャンペーンコード（キャンペーン名）を使って報酬を引き換えられるようになります。これにより、1つのコードを複数のユーザーが使用できます。 CurrentCampaignMaster 現在アクティブなキャンペーンモデルのマスターデータ 現在ネームスペース内で有効な、キャンペーンモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-SerialKey マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ CampaignModelMaster キャンペーンモデルマスターデータ キャンペーンモデルマスターは、ゲーム内で使用されるキャンペーンモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるキャンペーンモデルとして反映されます。 キャンペーンモデルはキャンペーンを定義し、シリアルコードと紐づけて管理するために使用されます。 詳細  campaignId string ※ ~ 1024文字 キャンペーンモデルマスターデータ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 キャンペーンモデル名 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 enableCampaignCode bool false キャンペーンコードによる引き換えを許可するか 有効にすると、個別のシリアルコードではなく共通のキャンペーンコード（キャンペーン名）を使って報酬を引き換えられるようになります。これにより、1つのコードを複数のユーザーが使用できます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 シリアルキー操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログの出力設定 シリアルコードの発行・使用に関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 シリアルキー操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログの出力設定 シリアルコードの発行・使用に関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeIssueJobs シリアルコード発行ジョブの一覧を取得 指定されたキャンペーンのシリアルコード発行ジョブのページネーション付きリストを取得します。各ジョブはバッチ発行リクエストを表し、完了ステータスが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 campaignModelName string  ~ 128文字 キャンペーンモデル名 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List シリアルコード発行ジョブのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getIssueJob シリアルコード発行ジョブを取得 名前、リクエスト数、メタデータ、完了ステータスを含む、指定されたシリアルコード発行ジョブを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 campaignModelName string  ~ 128文字 キャンペーンモデル名 issueJobName string  UUID ~ 36文字 シリアルコード発行ジョブ名 Result 型 説明 item IssueJob シリアルコード発行ジョブ 実装例 issue シリアルコード発行ジョブを作成 非同期のシリアルコード生成ジョブを開始します。コードはバッチ生成され、完了時にサマリーファイルが作成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 campaignModelName string  ~ 128文字 キャンペーンモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 issueRequestCount int  1 ~ 100000 シリアルコードの発行数量 このジョブで発行を要求されたシリアルコードの総数です。1ジョブあたり1〜100,000の範囲で指定できます。発行処理はバッチで非同期に処理されます。 Result 型 説明 item IssueJob シリアルコード発行ジョブ 実装例 describeSerialKeys シリアルコードの一覧を取得 完了した発行ジョブによって生成されたシリアルコードのページネーション付きリストを取得します。効率的な取得のためにコードは並列でロードされ、インメモリバッファを通してページネーションされます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 campaignModelName string  ~ 128文字 キャンペーンモデル名 issueJobName string  UUID ~ 36文字 シリアルコード発行ジョブ名 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List シリアルコードのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 downloadSerialCodes シリアルコードの一覧をファイル形式で取得 完了した発行ジョブからすべてのシリアルコードをファイルとしてダウンロードするための署名付きURLを生成します。シリアルコードの一括エクスポートに適しています。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 campaignModelName string  ~ 128文字 キャンペーンモデル名 issueJobName string  UUID ~ 36文字 シリアルコード発行ジョブ名 Result 型 説明 url string ファイルURL 実装例 issueOnce シリアルコードを1件発行 シリアルコードを1件即座に発行します。コードはAES暗号化とbase32エンコーディングを使用してXXXXX-XXXX-XXXXX-XXXX-XXXXXの形式で生成されます。バッチ発行ジョブとは異なり、同期的にコードを生成して返却します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 campaignModelName string  ~ 128文字 キャンペーンモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 Result 型 説明 item SerialKey シリアルコード 実装例 getSerialKey シリアルコードを取得 関連するキャンペーンモデルとともに、指定されたシリアルコードを取得します。コードの使用状況とメタデータを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 code string  ~ 48文字 シリアルコード 「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。 Result 型 説明 item SerialKey シリアルコード campaignModel CampaignModel キャンペーンモデル 実装例 verifyCode シリアルコードの有効性を確認 シリアルコードを消費せずに検証します。特定のキャンペーンモデル名に対する検証をサポートし、コードがactive（未使用）かinactive（使用済み）かを確認できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン code string  ~ 48文字 シリアルコード 「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。 campaignModelName string ~ 128文字 キャンペーン名 このシリアルコードが属するキャンペーンモデルの名前です。キャンペーン情報はシリアルコード自体に埋め込まれているため、コード使用時にはネームスペースを指定するだけで利用できます。 verifyType 文字列列挙型 enum {   “active”,   “inactive” }  検証タイプ 定義 説明 “active” 有効 “inactive” 無効 Result 型 説明 item SerialKey シリアルコード campaignModel CampaignModel キャンペーンモデル 実装例 verifyCodeByUserId ユーザーIDを指定してシリアルコードの有効性を確認 指定されたユーザーのシリアルコードを消費せずに検証します。特定のキャンペーンモデル名に対する検証をサポートし、コードがactive（未使用）かinactive（使用済み）かを確認できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID code string  ~ 48文字 シリアルコード 「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。 campaignModelName string ~ 128文字 キャンペーン名 このシリアルコードが属するキャンペーンモデルの名前です。キャンペーン情報はシリアルコード自体に埋め込まれているため、コード使用時にはネームスペースを指定するだけで利用できます。 verifyType 文字列列挙型 enum {   “active”,   “inactive” }  検証タイプ 定義 説明 “active” 有効 “inactive” 無効 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SerialKey シリアルコード campaignModel CampaignModel キャンペーンモデル 実装例 use シリアルコードの使用済み化 現在のユーザーによりシリアルコードを使用済みとしてマークします。コードが存在し、まだ使用されていないことを検証します。コードが見つからない場合や既に消費されている場合はエラーを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン code string  ~ 48文字 シリアルコード 「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。 Result 型 説明 item SerialKey シリアルコード campaignModel CampaignModel キャンペーンモデル 実装例 useByUserId ユーザーIDを指定してシリアルコードの使用済み化 指定されたユーザーによりシリアルコードを使用済みとしてマークします。コードが存在し、まだ使用されていないことを検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID code string  ~ 48文字 シリアルコード 「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SerialKey シリアルコード campaignModel CampaignModel キャンペーンモデル 実装例 revertUseByUserId ユーザーIDを指定してシリアルコードを未使用化 使用済みのシリアルコードを未使用状態に戻します。リバート前にコードが現在使用済み状態であることを検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID code string  ~ 48文字 シリアルコード 「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SerialKey シリアルコード campaignModel CampaignModel キャンペーンモデル 実装例 describeCampaignModels キャンペーンモデルの一覧を取得 ネームスペース内の現在アクティブなキャンペーンモデルの一覧を取得します。キャンペーンモデルは、キャンペーンコードの有効化を含むシリアルコードキャンペーンの設定を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List キャンペーンモデルのリスト 実装例 getCampaignModel キャンペーンモデルを取得 名前、メタデータ、キャンペーンコード有効化設定を含む、指定されたキャンペーンモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 campaignModelName string  ~ 128文字 キャンペーンモデル名 Result 型 説明 item CampaignModel キャンペーンモデル 実装例 exportMaster キャンペーンモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在登録されているキャンペーンモデルマスターを有効化可能なマスターデータ形式でエクスポートします。エクスポートされたデータには、キャンペーンコード有効化設定を含むすべてのキャンペーン定義が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentCampaignMaster 有効化可能なキャンペーンモデルのマスターデータ 実装例 getCurrentCampaignMaster 現在アクティブなキャンペーンモデルのマスターデータを取得 シリアルコード管理に使用されているすべてのキャンペーン定義を含む、現在アクティブなキャンペーンモデルマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentCampaignMaster 現在アクティブなキャンペーンモデルのマスターデータ 実装例 preUpdateCurrentCampaignMaster 現在アクティブなキャンペーンモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentCampaignMaster 現在アクティブなキャンペーンモデルのマスターデータを更新 現在アクティブなキャンペーンモデルマスターデータを更新します。大容量マスターデータに対応するため、直接更新モードと事前アップロードモードの両方をサポートしています。事前アップロードモードでは、PreUpdate APIで取得したアップロードトークンを使用して設定を読み取ります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentCampaignMaster 更新された現在アクティブなキャンペーンモデルのマスターデータ 実装例 updateCurrentCampaignMasterFromGitHub 現在アクティブなキャンペーンモデルのマスターデータをGitHubから更新 指定されたチェックアウト設定を使用してGitHubリポジトリからマスターデータをチェックアウトし、現在アクティブなキャンペーンモデルマスターデータを更新します。GitHubとの認証にはキーサービス経由でAPIキーが復号されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentCampaignMaster 更新された現在アクティブなキャンペーンモデルのマスターデータ 実装例 describeCampaignModelMasters キャンペーンモデルマスターの一覧を取得 キャンペーンモデルマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。キャンペーンモデルマスターは、キャンペーンコードの有効化を含むシリアルコードキャンペーンの設定を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 キャンペーンモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List キャンペーンモデルマスターデータのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createCampaignModelMaster キャンペーンモデルマスターデータを新規作成 名前、説明、メタデータ、およびこのキャンペーンでキャンペーンコードを使用できるかどうかを制御するenableCampaignCodeフラグを持つ新しいキャンペーンモデルマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 キャンペーンモデル名 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 enableCampaignCode bool false キャンペーンコードによる引き換えを許可するか 有効にすると、個別のシリアルコードではなく共通のキャンペーンコード（キャンペーン名）を使って報酬を引き換えられるようになります。これにより、1つのコードを複数のユーザーが使用できます。 Result 型 説明 item CampaignModelMaster 作成したキャンペーンモデルマスターデータ 実装例 getCampaignModelMaster キャンペーンモデルマスターデータを取得 名前、説明、メタデータ、キャンペーンコード有効化設定を含む、指定されたキャンペーンモデルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 campaignModelName string  ~ 128文字 キャンペーンモデル名 Result 型 説明 item CampaignModelMaster キャンペーンモデルマスターデータ 実装例 updateCampaignModelMaster キャンペーンモデルマスターを更新 指定されたキャンペーンモデルマスターの説明、メタデータ、キャンペーンコード有効化設定を更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 campaignModelName string  ~ 128文字 キャンペーンモデル名 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 enableCampaignCode bool false キャンペーンコードによる引き換えを許可するか 有効にすると、個別のシリアルコードではなく共通のキャンペーンコード（キャンペーン名）を使って報酬を引き換えられるようになります。これにより、1つのコードを複数のユーザーが使用できます。 Result 型 説明 item CampaignModelMaster 更新したキャンペーンモデルマスター 実装例 deleteCampaignModelMaster キャンペーンモデルマスターを削除 指定されたキャンペーンモデルマスターを削除します。これはマスター定義のみを削除し、現在アクティブなキャンペーンモデルには影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 campaignModelName string  ~ 128文字 キャンペーンモデル名 Result 型 説明 item CampaignModelMaster 削除したキャンペーンモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-SerialKey SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-SerialKey SDK API リファレンス","url":"/ja/api_reference/serial_key/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 陳列棚操作時のトランザクションの処理方法を制御する設定です。 buyScript ScriptSetting 購入を実行しようとしたときに実行するスクリプトの設定 Script トリガーリファレンス - buy logSetting LogSetting ログの出力設定 陳列棚の閲覧や商品購入に関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Showcase 陳列棚 陳列棚 には陳列する商品を定義できます。 また、 陳列棚 の商品の販売期間を設定することができます。 詳細  showcaseId string ※ ~ 1024文字 陳列棚 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 salesPeriodEventId string ~ 1024文字 陳列棚の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN この陳列棚全体の販売期間を制御します。指定した場合、関連する GS2-Schedule のイベント期間中のみ陳列棚が利用可能になります。イベントが有効でない場合、陳列棚は空で返されます。 displayItems List [] 1 ~ 1000 items 陳列する商品リスト この陳列棚に陳列される商品のリストです。各陳列商品は単一の商品または商品グループのいずれかです。販売期間イベントが終了または無効な商品は、陳列棚の取得時に自動的にフィルタリングされます。 DisplayItem 陳列する商品 陳列棚に表示される商品です。単一の商品または商品グループのいずれかを参照できます。各陳列商品には、陳列棚全体の販売期間とは独立して GS2-Schedule イベントによる個別の販売期間を設定できます。 詳細  displayItemId string  UUID ~ 128文字 陳列商品ID 陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 type 文字列列挙型 enum {   “salesItem”,   “salesItemGroup” }  種類 表示する商品の種類です。「salesItem」は固定の対価と報酬を持つ単一商品です。「salesItemGroup」は複数の商品を順番に評価する商品グループで、ステップアップ価格や初回限定割引などに使用されます。 定義 説明 “salesItem” 商品 “salesItemGroup” 商品グループ salesItem SalesItem {type} == “salesItem” ※ 商品 ※ type が “salesItem” であれば 必須 salesItemGroup SalesItemGroup {type} == “salesItemGroup” ※ 商品グループ ※ type が “salesItemGroup” であれば 必須 salesPeriodEventId string ~ 1024文字 この陳列商品の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN この個別の陳列商品の販売期間を制御します。指定した場合、関連する GS2-Schedule のイベント期間中のみ陳列棚に表示されます。陳列棚全体の販売期間とは独立して動作します。 RandomShowcase ランダム陳列棚 ランダム陳列棚は、指定した周期で入れ替わるランダムに選別された商品が陳列される陳列棚のモデルです。 選別される商品は、商品プールに登録された商品から指定数量が、商品ごとに設定された重みに基づいてランダムに選択されます。 ランダム陳列棚には GS2-Schedule のイベントを関連づけることで、販売期間を設定することができます。 詳細  randomShowcaseId string ※ ~ 1024文字 ランダム陳列棚 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumNumberOfChoice int  1 ~ 100 選出される商品の最大数 各ローテーション期間に商品プールからランダムに抽選される商品の数です。重み付きランダム選択で重複なく抽選されるため、1回のローテーションで同じ商品が2回表示されることはありません。 displayItems List [] 1 ~ 100 items 選出対象の陳列商品リスト 商品がランダムに抽選される候補アイテムのプールです。各アイテムには選択確率を決定する重みと、ローテーション全体で表示可能な回数を制限する在庫数があります。 baseTimestamp long  陳列する商品を再抽選の基準時間 ローテーション境界の計算に使用される基準タイムスタンプです。この基準時間から一定間隔（resetIntervalHours）ごとに商品の再抽選が行われます。過去の時刻を指定する必要があります。 resetIntervalHours int  1 ~ 168 陳列する商品を再抽選する間隔（時） 各商品ローテーション間の時間数です。baseTimestamp を基準として間隔が経過すると、新しい乱数シードで陳列商品が再抽選されます。1〜168時間（1週間）の範囲で設定できます。 salesPeriodEventId string ~ 1024文字 陳列棚の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このランダム陳列棚全体の販売期間を制御します。指定した場合、関連する GS2-Schedule のイベント期間中のみ陳列棚が利用可能になります。 RandomDisplayItem ランダム陳列棚に陳列された商品 特定のユーザーに対してランダム陳列棚で抽選・表示された商品を表します。現在のローテーション期間における商品の対価、報酬、および購入回数の追跡情報を含みます。 詳細  showcaseName string  ~ 128文字 ランダム陳列棚名 name string  UUID ~ 128文字 ランダム陳列商品名 ランダム陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト consumeActions List [] 0 ~ 10 items 消費アクションリスト acquireActions List [] 1 ~ 100 items 入手アクションリスト currentPurchaseCount int  1 ~ 2147483646 現在の購入回数 現在のローテーション期間中にこの商品が購入された回数です。購入のたびに加算され、ローテーション期間が終了するとリセットされます。 maximumPurchaseCount int  1 ~ 2147483646 最大購入回数 現在のローテーション期間中にこの商品を購入できる最大回数です。currentPurchaseCount がこの値に達すると、次のローテーションまで購入できなくなります。 RandomDisplayItemModel ランダム陳列棚に陳列可能な商品 weight に商品を選別する確率を設定できます。 詳細  name string  UUID ~ 128文字 ランダム陳列商品ID ランダム陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト このランダム陳列商品を購入する前に実行される前提条件チェックです。すべての検証アクションが成功した後に消費・入手アクションが処理されます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト このランダム陳列商品の購入対価としてリソースを消費するアクションです。トランザクションの消費アクションとして実行されます。 acquireActions List [] 1 ~ 100 items 入手アクションリスト このランダム陳列商品の購入報酬としてリソースを付与するアクションです。トランザクションの入手アクションとして実行されます。 stock int  1 ~ 2147483646 在庫数 すべてのローテーションを通じてこの商品が抽選される最大回数です。在庫がゼロになると、以降の抽選から除外されます。ローテーション抽選時に商品が選択されると在庫が消費されます。 weight int  1 ~ 2147483646 排出重み ランダム選択におけるこの商品の相対的な確率の重みです。重みが大きいほど抽選される確率が高くなります。実際の選択確率は、この商品の重みを対象となるすべての商品の重みの合計で割った値として計算されます。 SalesItem 商品 商品を購入するために必要となる対価と、商品を購入したときに得られる報酬を設定します。 詳細  name string  ~ 128文字 商品名 商品固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト 購入前に実行される前提条件チェックです。すべての検証アクションが成功した後に消費・入手アクションが処理されます。購入資格の条件チェックに使用できます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト 購入対価としてリソースを消費するアクションです。商品グループの購入回数制御のために GS2-Limit の CountUp アクションを含めることができます。 acquireActions List [] 1 ~ 100 items 入手アクションリスト 購入報酬としてリソースを付与するアクションです。すべての消費アクションが正常に完了した後に実行されます。 SalesItemGroup 商品グループ 商品グループは陳列棚に陳列するためのエンティティです。 商品グループには複数の商品を所属させることができ、所属している商品の先頭から順番に購入可能かを判定し、一番最初に購入可能だと判定された商品が実際に陳列されます。 初回のみ割引する商品や、ステップアップガチャのように購入回数によって商品の内容が変化する仕組みに使用できます。 詳細  name string  ~ 128文字 商品グループ名 商品グループ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 salesItems List [] 2 ~ 10 items 商品グループに含める商品 このグループ内の商品の順序付きリストです。GS2-Limit カウンターを使って先頭から順に購入可能かを判定し、最初に購入可能と判定された商品が表示されます。いずれも該当しない場合、リストの最後の商品がフォールバックとして使用されます。 PurchaseCount 商品の購入回数 ローテーション期間内の特定のランダム陳列商品の購入回数を追跡します。購入時に加算され、購入が取り消された場合に減算されます。 詳細  name string  ~ 128文字 商品購入回数名 購入回数を追跡するランダム陳列商品の名前です。ランダム陳列棚内の陳列商品名に対応します。 count int  1 ~ 2147483646 購入回数 現在のローテーション期間中にこの商品が購入された回数です。商品ごとの最大購入回数制限の適用に使用されます。 ConsumeAction 消費アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 AcquireAction 入手アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 Config コンフィグ設定 トランザクションの変数に適用する設定値 詳細  key string  ~ 64文字 名前 トランザクションテンプレートで置換される変数名です。入手アクションパラメータ内のプレースホルダーに対応します。 value string ~ 51200文字 値 トランザクションテンプレート内の対応する変数名に置換される値です。 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか CurrentShowcaseMaster 現在アクティブな陳列棚モデルのマスターデータ 現在ネームスペース内で有効な、陳列棚モデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Showcase マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ SalesItemMaster 商品マスター 商品マスターは、ゲーム内で使用される商品マスターの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される商品マスターとして反映されます。 商品を購入するために必要となる対価と、商品を購入したときに得られる報酬を設定します。 詳細  salesItemId string ※ ~ 1024文字 商品マスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 商品名 商品固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List 0 ~ 10 items 検証アクションリスト 購入前に実行される前提条件チェックです。すべての検証アクションが成功した後に消費・入手アクションが処理されます。購入資格の条件チェックに使用できます。 consumeActions List 0 ~ 10 items 消費アクションリスト 購入対価としてリソースを消費するアクションです。商品グループの購入回数制御のために GS2-Limit の CountUp アクションを含めることができます。 acquireActions List  1 ~ 100 items 入手アクションリスト 購入報酬としてリソースを付与するアクションです。すべての消費アクションが正常に完了した後に実行されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン SalesItemGroupMaster 商品グループマスター 商品グループマスターは、ゲーム内で使用される商品グループの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される商品グループとして反映されます。 商品グループは陳列棚に陳列するためのエンティティです。 商品グループには複数の商品を所属させることができ、所属している商品の先頭から順番に購入可能かを判定し、一番最初に購入可能だと判定された商品が実際に陳列されます。 初回のみ割引する商品や、ステップアップガチャのように購入回数によって商品の内容が変化する仕組みに使用できます。 詳細  salesItemGroupId string ※ ~ 1024文字 商品グループマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 商品グループ名 商品グループ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 salesItemNames List  2 ~ 10 items 商品グループに含める商品リスト このグループ内の商品名の順序付きリストです。GS2-Limit カウンターを使って先頭から順に購入可能かを判定し、最初に購入可能と判定された商品が表示されます。いずれも該当しない場合、リストの最後の商品がフォールバックとして使用されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン ShowcaseMaster 陳列棚マスター 陳列棚マスターは、ゲーム内で使用される 陳列棚 の編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される 陳列棚 として反映されます。 陳列棚 には販売期間を設定できます。 詳細  showcaseId string ※ ~ 1024文字 陳列棚マスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 salesPeriodEventId string ~ 1024文字 陳列棚の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN この陳列棚全体の販売期間を制御します。指定した場合、関連する GS2-Schedule のイベント期間中のみ陳列棚が利用可能になります。イベントが有効でない場合、陳列棚は空で返されます。 displayItems List  1 ~ 1000 items 陳列する商品リスト この陳列棚に陳列される商品のリストです。各陳列商品は単一の商品または商品グループのいずれかです。販売期間イベントが終了または無効な商品は、陳列棚の取得時に自動的にフィルタリングされます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン DisplayItemMaster 陳列する商品のマスターデータ 陳列棚に表示される商品のマスターデータです。名前で単一の商品または商品グループのいずれかを参照できます。各陳列商品には、陳列棚全体の販売期間とは独立して GS2-Schedule イベントによる個別の販売期間を設定できます。 詳細  displayItemId string  UUID ~ 128文字 陳列商品ID 陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 type 文字列列挙型 enum {   “salesItem”,   “salesItemGroup” }  種類 表示する商品の種類です。「salesItem」は固定の対価と報酬を持つ単一商品です。「salesItemGroup」は複数の商品を順番に評価する商品グループで、ステップアップ価格や初回限定割引などに使用されます。 定義 説明 “salesItem” 商品 “salesItemGroup” 商品グループ salesItemName string {type} == “salesItem” ※ ~ 128文字 商品の名前 表示する商品の名前です。陳列商品の種類が「salesItem」の場合に、商品マスターで定義された特定の商品を参照するために使用されます。 ※ type が “salesItem” であれば 必須 salesItemGroupName string {type} == “salesItemGroup” ※ ~ 128文字 商品グループの名前 表示する商品グループの名前です。陳列商品の種類が「salesItemGroup」の場合に、購入回数に基づいて複数の商品を評価する商品グループを参照するために使用されます。 ※ type が “salesItemGroup” であれば 必須 salesPeriodEventId string ~ 1024文字 この陳列商品の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN この個別の陳列商品の販売期間を制御します。指定した場合、関連する GS2-Schedule のイベント期間中のみ陳列棚に表示されます。陳列棚全体の販売期間とは独立して動作します。 revision long 0 0 ~ 9223372036854775805 リビジョン RandomShowcaseMaster ランダム陳列棚マスター ランダム陳列棚マスターは、ゲーム内で使用されるランダム陳列棚の編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるランダム陳列棚として反映されます。 ランダム陳列棚は、指定した周期で入れ替わるランダムに選別された商品が陳列される陳列棚のモデルです。 選別される商品は、商品プールに登録された商品から指定数量が、商品ごとに設定された重みに基づいてランダムに選択されます。 ランダム陳列棚には GS2-Schedule のイベントを関連づけることで、販売期間を設定することができます。 詳細  showcaseId string ※ ~ 1024文字 ランダム陳列棚マスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumNumberOfChoice int  1 ~ 100 選出される商品の最大数 各ローテーション期間に商品プールからランダムに抽選される商品の数です。重み付きランダム選択で重複なく抽選されるため、1回のローテーションで同じ商品が2回表示されることはありません。 displayItems List  1 ~ 100 items 選出対象のランダム陳列商品リスト 商品がランダムに抽選される候補アイテムのプールです。各アイテムには選択確率を決定する重みと、ローテーション全体で表示可能な回数を制限する在庫数があります。 baseTimestamp long  陳列する商品を再抽選する基準時刻 ローテーション境界の計算に使用される基準タイムスタンプです。この基準時間から一定間隔（resetIntervalHours）ごとに商品の再抽選が行われます。過去の時刻を指定する必要があります。 resetIntervalHours int  1 ~ 168 陳列する商品を再抽選する間隔（時） 各商品ローテーション間の時間数です。baseTimestamp を基準として間隔が経過すると、新しい乱数シードで陳列商品が再抽選されます。1〜168時間（1週間）の範囲で設定できます。 salesPeriodEventId string ~ 1024文字 陳列棚の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このランダム陳列棚全体の販売期間を制御します。指定した場合、関連する GS2-Schedule のイベント期間中のみ陳列棚が利用可能になります。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 陳列棚操作時のトランザクションの処理方法を制御する設定です。 buyScript ScriptSetting 購入を実行しようとしたときに実行するスクリプトの設定 Script トリガーリファレンス - buy logSetting LogSetting ログの出力設定 陳列棚の閲覧や商品購入に関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 陳列棚操作時のトランザクションの処理方法を制御する設定です。 buyScript ScriptSetting 購入を実行しようとしたときに実行するスクリプトの設定 Script トリガーリファレンス - buy logSetting LogSetting ログの出力設定 陳列棚の閲覧や商品購入に関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeShowcases 陳列棚の一覧を取得 現在のユーザーが利用可能なアクティブな陳列棚の一覧を取得します。販売期間イベント設定に基づいて現在アクティブな陳列棚のみが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 items List 陳列棚のリスト 実装例 describeShowcasesByUserId ユーザーIDを指定して陳列棚の一覧を取得 指定されたユーザーが利用可能なアクティブな陳列棚の一覧を取得します。販売期間イベント設定に基づいて現在アクティブな陳列棚のみが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 陳列棚のリスト 実装例 getShowcase 陳列棚を取得 現在のユーザー向けに陳列商品を含む指定された陳列棚を取得します。販売期間イベント設定に基づいて陳列棚がアクティブである必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Showcase 陳列棚 実装例 getShowcaseByUserId ユーザーIDを指定して陳列棚を取得 指定されたユーザー向けに陳列商品を含む指定された陳列棚を取得します。販売期間イベント設定に基づいて陳列棚がアクティブである必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Showcase 陳列棚 実装例 buy 商品を購入 指定された陳列棚から陳列商品を購入します。商品に定義された検証、消費、入手アクションを処理するトランザクションが生成されます。設定値を渡してトランザクション変数を上書きすることも可能です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 displayItemId string  UUID ~ 128文字 陳列商品ID 陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 accessToken string  ~ 128文字 アクセストークン quantity int 1 1 ~ 1000 購入数量 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item SalesItem 商品 transactionId string 発行されたトランザクションID stampSheet string 購入処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 buyByUserId ユーザーIDを指定して商品を購入 指定されたユーザーに対して指定された陳列棚から陳列商品を購入します。商品に定義された検証、消費、入手アクションを処理するトランザクションが生成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 displayItemId string  UUID ~ 128文字 陳列商品ID 陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 userId string  ~ 128文字 ユーザーID quantity int 1 1 ~ 1000 購入数量 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item SalesItem 商品 transactionId string 発行されたトランザクションID stampSheet string 購入処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 incrementPurchaseCount 購入回数を加算 ランダム陳列棚の特定の商品の購入回数を加算します。ローテーション期間ごとの購入制限を追跡するために使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 displayItemName string  ~ 128文字 商品購入回数名 購入回数を追跡するランダム陳列商品の名前です。ランダム陳列棚内の陳列商品名に対応します。 accessToken string  ~ 128文字 アクセストークン count int  0 ~ 100 加算する購入回数 Result 型 説明 item RandomDisplayItem 購入回数加算後のランダム陳列商品 実装例 incrementPurchaseCountByUserId ユーザーIDを指定して購入回数を加算 指定されたユーザーのランダム陳列棚の特定の商品の購入回数を加算します。ローテーション期間ごとの購入制限を追跡するために使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 displayItemName string  ~ 128文字 商品購入回数名 購入回数を追跡するランダム陳列商品の名前です。ランダム陳列棚内の陳列商品名に対応します。 userId string  ~ 128文字 ユーザーID count int  0 ~ 100 加算する購入回数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item RandomDisplayItem 購入回数加算後のランダム陳列商品 実装例 decrementPurchaseCountByUserId ユーザーIDを指定して購入回数を減算 ランダム陳列棚の特定の商品の購入回数を減算します。購入の取り消しや購入カウンターの調整に使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 displayItemName string  ~ 128文字 商品購入回数名 購入回数を追跡するランダム陳列商品の名前です。ランダム陳列棚内の陳列商品名に対応します。 userId string  ~ 128文字 ユーザーID count int  0 ~ 100 減算する購入回数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item RandomDisplayItem 購入回数加算後のランダム陳列商品 実装例 forceReDrawByUserId ユーザーIDを指定してランダム陳列棚の内容を再抽選 指定されたユーザーのランダム陳列棚の商品を強制的に再抽選し、現在の選択をリセットして設定されたプールから新しいランダム商品の選択をトリガーします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ランダム陳列棚の商品一覧 実装例 describeRandomDisplayItems ランダム陳列棚の商品一覧を取得 現在のユーザーに対してランダム陳列棚に現在表示されている商品の一覧を取得します。商品は設定されたプールからランダムに選択され、リセット間隔に基づいてローテーションされます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 items List ランダム陳列棚の商品リスト 実装例 describeRandomDisplayItemsByUserId ユーザーIDを指定してランダム陳列棚の商品一覧を取得 指定されたユーザーに対してランダム陳列棚に現在表示されている商品の一覧を取得します。商品は設定されたプールからランダムに選択され、リセット間隔に基づいてローテーションされます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ランダム陳列棚の商品リスト 実装例 getRandomDisplayItem ランダム陳列棚の商品を取得 現在のユーザーに対してランダム陳列棚から指定された商品を取得します。販売期間イベントに基づいてランダム陳列棚が利用可能である必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 displayItemName string  UUID ~ 128文字 ランダム陳列商品名 ランダム陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item RandomDisplayItem 商品 実装例 getRandomDisplayItemByUserId ユーザーIDを指定してランダム陳列棚の商品を取得 指定されたユーザーに対してランダム陳列棚から指定された商品を取得します。販売期間イベントに基づいてランダム陳列棚が利用可能である必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 displayItemName string  UUID ~ 128文字 ランダム陳列商品名 ランダム陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item RandomDisplayItem 商品 実装例 randomShowcaseBuy ランダム陳列棚の商品を購入 ランダム陳列棚から商品を購入します。設定された検証、消費、入手アクションを処理するトランザクションが生成されます。設定値を渡してトランザクション変数を上書きすることも可能です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 displayItemName string  UUID ~ 128文字 ランダム陳列商品名 ランダム陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 accessToken string  ~ 128文字 アクセストークン quantity int 1 1 ~ 1000 購入数量 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item RandomDisplayItem 購入した商品 transactionId string 発行されたトランザクションID stampSheet string 購入処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 randomShowcaseBuyByUserId ユーザーIDを指定してランダム陳列棚の商品を購入 指定されたユーザーに対してランダム陳列棚から商品を購入します。設定された検証、消費、入手アクションを処理するトランザクションが生成されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 displayItemName string  UUID ~ 128文字 ランダム陳列商品名 ランダム陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 userId string  ~ 128文字 ユーザーID quantity int 1 1 ~ 1000 購入数量 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item RandomDisplayItem 購入した商品 transactionId string 発行されたトランザクションID stampSheet string 購入処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 exportMaster 陳列棚マスターを有効化可能なマスターデータ形式でエクスポート 現在登録されている陳列棚マスターを有効化可能なマスターデータ形式でエクスポートします。エクスポートされたデータには、陳列棚、商品、商品グループ、ランダム陳列棚のすべての定義が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentShowcaseMaster 有効化可能な陳列棚のマスターデータ 実装例 getCurrentShowcaseMaster 現在アクティブな陳列棚のマスターデータを取得 使用中のすべての陳列棚、商品、商品グループ、ランダム陳列棚の定義を含む、現在アクティブな陳列棚マスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentShowcaseMaster 現在アクティブな陳列棚のマスターデータ 実装例 preUpdateCurrentShowcaseMaster 現在アクティブな陳列棚のマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentShowcaseMaster 現在アクティブな陳列棚のマスターデータを更新 現在アクティブな陳列棚マスターデータを更新します。大容量マスターデータに対応するため、直接更新モードと事前アップロードモードの両方をサポートしています。事前アップロードモードでは、PreUpdate APIで取得したアップロードトークンを使用して設定を読み取ります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentShowcaseMaster 更新された現在アクティブな陳列棚のマスターデータ 実装例 updateCurrentShowcaseMasterFromGitHub 現在アクティブな陳列棚のマスターデータをGitHubから更新 指定されたチェックアウト設定を使用してGitHubリポジトリからマスターデータをチェックアウトし、現在アクティブな陳列棚マスターデータを更新します。GitHubとの認証にはキーサービス経由でAPIキーが復号されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentShowcaseMaster 更新された現在アクティブな陳列棚のマスターデータ 実装例 describeSalesItemMasters 商品マスターの一覧を取得 商品マスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。商品マスターは商品購入時に実行される検証、消費、入手アクションを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 商品名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 商品マスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createSalesItemMaster 商品マスターを新規作成 検証アクション（購入前バリデーション）、消費アクション（差し引くリソース）、入手アクション（付与するリソース）を持つ新しい商品マスターを作成し、完全な購入トランザクションを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 商品名 商品固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List 0 ~ 10 items 検証アクションリスト 購入前に実行される前提条件チェックです。すべての検証アクションが成功した後に消費・入手アクションが処理されます。購入資格の条件チェックに使用できます。 consumeActions List 0 ~ 10 items 消費アクションリスト 購入対価としてリソースを消費するアクションです。商品グループの購入回数制御のために GS2-Limit の CountUp アクションを含めることができます。 acquireActions List  1 ~ 100 items 入手アクションリスト 購入報酬としてリソースを付与するアクションです。すべての消費アクションが正常に完了した後に実行されます。 Result 型 説明 item SalesItemMaster 作成した商品マスター 実装例 getSalesItemMaster 商品マスターを取得 検証、消費、入手アクションの設定を含む、指定された商品マスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 salesItemName string  ~ 128文字 商品名 商品固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SalesItemMaster 商品マスター 実装例 updateSalesItemMaster 商品マスターを更新 指定された商品マスターの説明、メタデータ、検証アクション、消費アクション、入手アクションを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 salesItemName string  ~ 128文字 商品名 商品固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List 0 ~ 10 items 検証アクションリスト 購入前に実行される前提条件チェックです。すべての検証アクションが成功した後に消費・入手アクションが処理されます。購入資格の条件チェックに使用できます。 consumeActions List 0 ~ 10 items 消費アクションリスト 購入対価としてリソースを消費するアクションです。商品グループの購入回数制御のために GS2-Limit の CountUp アクションを含めることができます。 acquireActions List  1 ~ 100 items 入手アクションリスト 購入報酬としてリソースを付与するアクションです。すべての消費アクションが正常に完了した後に実行されます。 Result 型 説明 item SalesItemMaster 更新した商品マスター 実装例 deleteSalesItemMaster 商品マスターを削除 指定された商品マスターを削除します。これはマスター定義のみを削除し、現在アクティブな陳列棚には影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 salesItemName string  ~ 128文字 商品名 商品固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SalesItemMaster 削除した商品マスター 実装例 describeSalesItemGroupMasters 商品グループマスターの一覧を取得 商品グループマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。商品グループマスターは複数の商品をまとめて陳列棚に表示するためにバンドルします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 商品グループ名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 商品グループマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createSalesItemGroupMaster 商品グループマスターを新規作成 名前、メタデータ、およびグループに属する商品名のリストを持つ新しい商品グループマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 商品グループ名 商品グループ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 salesItemNames List  2 ~ 10 items 商品グループに含める商品リスト このグループ内の商品名の順序付きリストです。GS2-Limit カウンターを使って先頭から順に購入可能かを判定し、最初に購入可能と判定された商品が表示されます。いずれも該当しない場合、リストの最後の商品がフォールバックとして使用されます。 Result 型 説明 item SalesItemGroupMaster 作成した商品グループマスター 実装例 getSalesItemGroupMaster 商品グループマスターを取得 所属する商品名のリストを含む、指定された商品グループマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 salesItemGroupName string  ~ 128文字 商品グループ名 商品グループ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SalesItemGroupMaster 商品グループマスター 実装例 updateSalesItemGroupMaster 商品グループマスターを更新 指定された商品グループマスターの説明、メタデータ、所属する商品名のリストを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 salesItemGroupName string  ~ 128文字 商品グループ名 商品グループ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 salesItemNames List  2 ~ 10 items 商品グループに含める商品リスト このグループ内の商品名の順序付きリストです。GS2-Limit カウンターを使って先頭から順に購入可能かを判定し、最初に購入可能と判定された商品が表示されます。いずれも該当しない場合、リストの最後の商品がフォールバックとして使用されます。 Result 型 説明 item SalesItemGroupMaster 更新した商品グループマスター 実装例 deleteSalesItemGroupMaster 商品グループマスターを削除 指定された商品グループマスターを削除します。これはマスター定義のみを削除し、現在アクティブな陳列棚には影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 salesItemGroupName string  ~ 128文字 商品グループ名 商品グループ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item SalesItemGroupMaster 削除した商品グループマスター 実装例 describeShowcaseMasters 陳列棚マスターの一覧を取得 陳列棚マスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。陳列棚マスターは各陳列棚の陳列商品と販売期間イベントを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 陳列棚名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 陳列棚マスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createShowcaseMaster 陳列棚マスターを新規作成 名前、陳列商品、メタデータ、およびユーザーに陳列棚が利用可能な期間を制御するオプションの販売期間イベントIDを持つ新しい陳列棚マスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 displayItems List  1 ~ 1000 items 陳列する商品リスト この陳列棚に陳列される商品のリストです。各陳列商品は単一の商品または商品グループのいずれかです。販売期間イベントが終了または無効な商品は、陳列棚の取得時に自動的にフィルタリングされます。 salesPeriodEventId string ~ 1024文字 陳列棚の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item ShowcaseMaster 作成した陳列棚マスター 実装例 getShowcaseMaster 陳列棚マスターを取得 陳列商品、メタデータ、販売期間イベント設定を含む、指定された陳列棚マスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item ShowcaseMaster 陳列棚マスター 実装例 updateShowcaseMaster 陳列棚マスターを更新 指定された陳列棚マスターの説明、メタデータ、陳列商品、販売期間イベント設定を更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 displayItems List  1 ~ 1000 items 陳列する商品リスト この陳列棚に陳列される商品のリストです。各陳列商品は単一の商品または商品グループのいずれかです。販売期間イベントが終了または無効な商品は、陳列棚の取得時に自動的にフィルタリングされます。 salesPeriodEventId string ~ 1024文字 陳列棚の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item ShowcaseMaster 更新した陳列棚マスター 実装例 deleteShowcaseMaster 陳列棚マスターを削除 指定された陳列棚マスターを削除します。これはマスター定義のみを削除し、現在アクティブな陳列棚には影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item ShowcaseMaster 削除した陳列棚マスター 実装例 describeRandomShowcaseMasters ランダム陳列棚マスターの一覧を取得 ランダム陳列棚マスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。ランダム陳列棚マスターは商品プール、最大表示数、ローテーションタイミング、販売期間イベントを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 ランダム陳列棚名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ランダム陳列棚マスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createRandomShowcaseMaster ランダム陳列棚マスターを新規作成 最大表示数、陳列商品プール、基準タイムスタンプ、商品ローテーションのリセット間隔（時間）、およびオプションの販売期間イベントIDを持つ新しいランダム陳列棚マスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumNumberOfChoice int  1 ~ 100 選出される商品の最大数 各ローテーション期間に商品プールからランダムに抽選される商品の数です。重み付きランダム選択で重複なく抽選されるため、1回のローテーションで同じ商品が2回表示されることはありません。 displayItems List  1 ~ 100 items 選出対象のランダム陳列商品リスト 商品がランダムに抽選される候補アイテムのプールです。各アイテムには選択確率を決定する重みと、ローテーション全体で表示可能な回数を制限する在庫数があります。 baseTimestamp long  陳列する商品を再抽選する基準時刻 ローテーション境界の計算に使用される基準タイムスタンプです。この基準時間から一定間隔（resetIntervalHours）ごとに商品の再抽選が行われます。過去の時刻を指定する必要があります。 resetIntervalHours int  1 ~ 168 陳列する商品を再抽選する間隔（時） 各商品ローテーション間の時間数です。baseTimestamp を基準として間隔が経過すると、新しい乱数シードで陳列商品が再抽選されます。1〜168時間（1週間）の範囲で設定できます。 salesPeriodEventId string ~ 1024文字 陳列棚の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item RandomShowcaseMaster 作成したランダム陳列棚マスター 実装例 getRandomShowcaseMaster ランダム陳列棚マスターを取得 商品プール、最大表示数、ローテーションタイミング設定、販売期間イベント設定を含む、指定されたランダム陳列棚マスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RandomShowcaseMaster ランダム陳列棚モデルマスター 実装例 updateRandomShowcaseMaster ランダム陳列棚モデルマスターを更新 指定されたランダム陳列棚マスターの説明、メタデータ、商品プール、最大表示数、ローテーションタイミング、販売期間イベントを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumNumberOfChoice int  1 ~ 100 選出される商品の最大数 各ローテーション期間に商品プールからランダムに抽選される商品の数です。重み付きランダム選択で重複なく抽選されるため、1回のローテーションで同じ商品が2回表示されることはありません。 displayItems List  1 ~ 100 items 選出対象のランダム陳列商品リスト 商品がランダムに抽選される候補アイテムのプールです。各アイテムには選択確率を決定する重みと、ローテーション全体で表示可能な回数を制限する在庫数があります。 baseTimestamp long  陳列する商品を再抽選する基準時刻 ローテーション境界の計算に使用される基準タイムスタンプです。この基準時間から一定間隔（resetIntervalHours）ごとに商品の再抽選が行われます。過去の時刻を指定する必要があります。 resetIntervalHours int  1 ~ 168 陳列する商品を再抽選する間隔（時） 各商品ローテーション間の時間数です。baseTimestamp を基準として間隔が経過すると、新しい乱数シードで陳列商品が再抽選されます。1〜168時間（1週間）の範囲で設定できます。 salesPeriodEventId string ~ 1024文字 陳列棚の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Result 型 説明 item RandomShowcaseMaster 更新したランダム陳列棚モデルマスター 実装例 deleteRandomShowcaseMaster ランダム陳列棚モデルマスターを削除 指定されたランダム陳列棚マスターを削除します。これはマスター定義のみを削除し、現在アクティブなランダム陳列棚には影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RandomShowcaseMaster 削除したランダム陳列棚モデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Showcase SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Showcase SDK API リファレンス","url":"/ja/api_reference/showcase/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 ノード解放・拘束操作の実行時に使用されるトランザクション処理の設定。 消費アクション（解放コスト）と入手アクション（拘束時の返却）が GS2 トランザクションシステムを通じてどのように処理されるかを定義します。 releaseScript ScriptSetting ノード開放時に実行するスクリプトの設定 Script トリガーリファレンス - release restrainScript ScriptSetting ノード開放状態を未解放状態に戻すときに実行するスクリプトの設定 Script トリガーリファレンス - restrain logSetting LogSetting ログ出力設定 ノード解放・拘束・リセットなどのスキルツリー操作のログ出力設定。 設定した場合、操作ログが指定した GS2-Log ネームスペースに出力されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Status スキルツリーの解放状況 特定のプレイヤーとプロパティに対するスキルツリーの解放状態を追跡するモデルです。 解放済み（アンロック済み）のノード名のリストを管理します。ノードは解放（リストに追加）、拘束（リストから削除）、リセット（全クリア）が可能です。 既に解放済みのノードを解放しようとしたり、未解放のノードを拘束しようとするとエラーになります。 ユーザーが初めてアクセスした際に自動作成されます。 詳細  statusId string ※ ~ 1024文字 ステータス GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 releasedNodeNames List [] 0 ~ 1000 items 解放済みノードモデル名リスト このスキルツリーでプレイヤーがアンロックしたノードモデル名のリスト。 解放（追加）、拘束（削除）、リセット（全クリア）操作により更新されます。 最大1000エントリ。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン NodeModel ノードモデル スキルツリー内のノードを定義するモデルで、解放コスト・前提条件・返却動作を含みます。 各ノードには検証アクション（解放前の条件チェック）、消費アクション（支払うコスト）、先に解放が必要な前提ノードを設定できます。 ノードを拘束（未解放状態に戻す）すると、消費したリソースが返却率に基づいて部分的に返却されます。 返却入手アクションは消費アクションに返却率を乗じて自動的に計算されます。 詳細  nodeModelId string ※ ~ 1024文字 ノードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ノードモデル名 ノードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 releaseVerifyActions List [] 0 ~ 10 items 解放検証アクションリスト このノードを解放する前に実行され、条件が満たされているかを確認する検証アクションのリスト。 例えば、プレイヤーが特定のレベルに達しているか、特定のアイテムを所持しているかを検証できます。 いずれかの検証アクションが失敗すると、ノード解放は拒否されます。最大10アクション。 releaseConsumeActions List [] 1 ~ 10 items 解放消費アクションリスト このノードを解放する際に実行される消費アクションのリストで、解放コストを表します。 これらのアクションは返却入手アクションの計算にも使用されます。ノードを拘束する際、各消費アクションが返却率に基づいて逆転されます。 最低1つの消費アクションが必要です。最大10アクション。 returnAcquireActions List 0 ~ 10 items 返却入手アクションリスト このノードを拘束（取り消し）する際に実行される入手アクションのリストで、プレイヤーに返却されるリソースを表します。 このフィールドは解放消費アクションに返却率を乗じて自動生成されます。 例えば、解放コストが100ゴールドで返却率が0.8の場合、拘束時に80ゴールドが返却されます。 最大10アクション。 restrainReturnRate float 1.0 0.0 ~ 1.0 返却率 このノードを拘束（未解放状態に戻す）した際に消費リソースが返却される割合。 1.0 は全額返却、0.5 は半額返却、0.0 は返却なしを意味します。 デフォルトは 1.0（全額返却）。有効範囲: 0.0〜1.0。 premiseNodeNames List [] 0 ~ 10 items 前提ノードモデル名リスト このノードを解放する前に解放済みでなければならない他のノードモデルの名前。 スキルツリーの依存関係グラフを定義します。前提ノードがすべて解放済みでなければ、このノードは解放できません。 最大10の前提ノード。 Config コンフィグ設定 トランザクションの変数に適用する設定値 詳細  key string  ~ 64文字 名前 value string ~ 51200文字 値 ConsumeAction 消費アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 AcquireAction 入手アクション 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか CurrentTreeMaster 現在アクティブなノードモデルのマスターデータ 現在ネームスペース内で有効な、ノードモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-SkillTree マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ NodeModelMaster ノードモデルマスター ノードモデルマスターは、ゲーム内で使用されるノードモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるノードモデルとして反映されます。 各ノードは解放コスト（消費アクション）、解放条件（検証アクション）、前提ノード、返却動作（返却率）を定義します。 ノードを拘束すると、消費したリソースが返却率に基づいて部分的に返却されます。返却入手アクションは自動的に計算されます。 詳細  nodeModelId string ※ ~ 1024文字 ノードモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ノードモデル名 ノードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 releaseVerifyActions List [] 0 ~ 10 items 解放検証アクションリスト このノードを解放する前に実行され、条件が満たされているかを確認する検証アクションのリスト。 例えば、プレイヤーが特定のレベルに達しているか、特定のアイテムを所持しているかを検証できます。 いずれかの検証アクションが失敗すると、ノード解放は拒否されます。最大10アクション。 releaseConsumeActions List [] 1 ~ 10 items 解放消費アクションリスト このノードを解放する際に実行される消費アクションのリストで、解放コストを表します。 これらのアクションは返却入手アクションの計算にも使用されます。ノードを拘束する際、各消費アクションが返却率に基づいて逆転されます。 最低1つの消費アクションが必要です。最大10アクション。 restrainReturnRate float 1.0 0.0 ~ 1.0 返却率 このノードを拘束（未解放状態に戻す）した際に消費リソースが返却される割合。 1.0 は全額返却、0.5 は半額返却、0.0 は返却なしを意味します。 デフォルトは 1.0（全額返却）。有効範囲: 0.0〜1.0。 premiseNodeNames List [] 0 ~ 10 items 前提ノードモデル名リスト このノードを解放する前に解放済みでなければならない他のノードモデルの名前。 スキルツリーの依存関係グラフを定義します。前提ノードがすべて解放済みでなければ、このノードは解放できません。 最大10の前提ノード。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 ノード解放・拘束操作の実行時に使用されるトランザクション処理の設定。 消費アクション（解放コスト）と入手アクション（拘束時の返却）が GS2 トランザクションシステムを通じてどのように処理されるかを定義します。 releaseScript ScriptSetting ノード開放時に実行するスクリプトの設定 Script トリガーリファレンス - release restrainScript ScriptSetting ノード開放状態を未解放状態に戻すときに実行するスクリプトの設定 Script トリガーリファレンス - restrain logSetting LogSetting ログ出力設定 ノード解放・拘束・リセットなどのスキルツリー操作のログ出力設定。 設定した場合、操作ログが指定した GS2-Log ネームスペースに出力されます。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 ノード解放・拘束操作の実行時に使用されるトランザクション処理の設定。 消費アクション（解放コスト）と入手アクション（拘束時の返却）が GS2 トランザクションシステムを通じてどのように処理されるかを定義します。 releaseScript ScriptSetting ノード開放時に実行するスクリプトの設定 Script トリガーリファレンス - release restrainScript ScriptSetting ノード開放状態を未解放状態に戻すときに実行するスクリプトの設定 Script トリガーリファレンス - restrain logSetting LogSetting ログ出力設定 ノード解放・拘束・リセットなどのスキルツリー操作のログ出力設定。 設定した場合、操作ログが指定した GS2-Log ネームスペースに出力されます。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 markReleaseByUserId ユーザーIDを指定して解放済みノードを記録 指定されたノードが解放可能であることを検証し（前提ノードが既に解放済みである必要があります）、解放済みとしてマークします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 nodeModelNames List  1 ~ 1000 items ノードモデル名のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステータス 実装例 release ノードを解放 トランザクションを生成してスキルツリーの指定ノードを解放します。トランザクションにはノードモデルで定義された解放時の検証アクション（解放前バリデーション）と解放時の消費アクション（リソース差し引き）が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 nodeModelNames List  1 ~ 1000 items ノードモデル名のリスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item Status ステータス transactionId string 発行されたトランザクションID stampSheet string 解放処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 releaseByUserId ユーザーIDを指定してノードを解放 トランザクションを生成してスキルツリーの指定ノードを解放します。トランザクションにはノードモデルで定義された解放時の検証アクション（解放前バリデーション）と解放時の消費アクション（リソース差し引き）が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 nodeModelNames List  1 ~ 1000 items ノードモデル名のリスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステータス transactionId string 発行されたトランザクションID stampSheet string 解放処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 markRestrain ノードの解放状態を未解放化 指定されたノードが拘束可能であることを検証し（依存するノードが解放状態でないことが必要です）、未解放としてマークします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 nodeModelNames List  1 ~ 1000 items ノードモデル名のリスト Result 型 説明 item Status ステータス 実装例 markRestrainByUserId ユーザーIDを指定してノードの解放状態を未解放化 指定されたノードが拘束可能であることを検証し（依存するノードが解放状態でないことが必要です）、未解放としてマークします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 nodeModelNames List  1 ~ 1000 items ノードモデル名のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステータス 実装例 restrain ノードの解放状態を未解放状態に戻す トランザクションを生成して指定ノードを未解放状態に戻します。元の解放時に消費されたリソースは、ノードモデルに設定された拘束返還率に基づいて一部返還されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 nodeModelNames List  1 ~ 1000 items ノードモデル名のリスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item Status ステータス transactionId string 発行されたトランザクションID stampSheet string 未解放状態に戻す処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 restrainByUserId ユーザーIDを指定してノードの解放状態を未解放状態に戻す トランザクションを生成して指定ノードを未解放状態に戻します。元の解放時に消費されたリソースは、ノードモデルに設定された拘束返還率に基づいて一部返還されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 nodeModelNames List  1 ~ 1000 items ノードモデル名のリスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステータス transactionId string 発行されたトランザクションID stampSheet string 未解放状態に戻す処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 describeStatuses ステータス一覧を取得 リクエストユーザーのスキルツリーステータスのページネーション付きリストを取得します。各ステータスには、特定のプロパティIDに対するスキルツリー内の全ノードの解放状態が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ステータスリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeStatusesByUserId ユーザーIDを指定してステータス一覧を取得 指定されたユーザーのスキルツリーステータスのページネーション付きリストを取得します。各ステータスには、特定のプロパティIDに対するスキルツリー内の全ノードの解放状態が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ステータスリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getStatus ステータスを取得 リクエストユーザーと指定されたプロパティIDのスキルツリーステータスを取得します。ステータスには解放済みノード名のリストとその現在の状態が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 Result 型 説明 item Status ステータス 実装例 getStatusByUserId ユーザーIDを指定してステータスを取得 指定されたユーザーとプロパティIDのスキルツリーステータスを取得します。ステータスには解放済みノード名のリストとその現在の状態が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステータス 実装例 reset ステータスをリセット すべての解放済みノードを未解放状態に戻してスキルツリーステータスをリセットします。各ノードモデルに設定された拘束返還率に基づいてリソースを返還するトランザクションを生成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 Result 型 説明 item Status ステータス transactionId string 発行されたトランザクションID stampSheet string リセット処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 resetByUserId ユーザーIDを指定してステータスをリセット すべての解放済みノードを未解放状態に戻してスキルツリーステータスをリセットします。各ノードモデルに設定された拘束返還率に基づいてリソースを返還するトランザクションを生成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステータス transactionId string 発行されたトランザクションID stampSheet string リセット処理の実行に使用するスタンプシート stampSheetEncryptionKeyId string スタンプシートの署名計算に使用した暗号鍵GRN autoRunStampSheet bool? トランザクションの自動実行が有効か atomicCommit bool? トランザクションをアトミックにコミットするか transaction string 発行されたトランザクション transactionResult TransactionResult トランザクション実行結果 実装例 describeNodeModels ノードモデルの一覧を取得 スキルツリーのアクティブなノードモデルのリストを取得します。各ノードモデルは解放時の検証・消費アクション、拘束時の返還率、前提ノード名を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List ノードモデルのリスト 実装例 getNodeModel ノードモデルを取得 解放時の検証アクション、解放時の消費アクション、拘束時の返還率、前提ノード名の設定を含む、指定されたノードモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 nodeModelName string  ~ 128文字 ノードモデル名 ノードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item NodeModel ノードモデル 実装例 exportMaster ノードモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在登録されているノードモデルマスターを有効化可能なマスターデータ形式でエクスポートします。エクスポートされたデータには、解放アクション、拘束返還率、前提ノード設定を含むすべてのノードモデル定義が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentTreeMaster 有効化可能なノードモデルのマスターデータ 実装例 getCurrentTreeMaster 現在アクティブなノードモデルのマスターデータを取得 使用中のすべてのノードモデル定義（解放アクション、拘束返還率、前提ノード設定を含む）を含む、現在アクティブなノードモデルマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentTreeMaster 現在アクティブなノードモデルのマスターデータ 実装例 preUpdateCurrentTreeMaster 現在アクティブなノードモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentTreeMaster 現在アクティブなノードモデルのマスターデータを更新 現在アクティブなノードモデルマスターデータを更新します。大容量マスターデータに対応するため、直接更新モードと事前アップロードモードの両方をサポートしています。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentTreeMaster 更新された現在アクティブなノードモデルのマスターデータ 実装例 updateCurrentTreeMasterFromGitHub 現在アクティブなノードモデルのマスターデータをGitHubから更新 指定されたチェックアウト設定を使用してGitHubリポジトリからマスターデータをチェックアウトし、現在アクティブなノードモデルマスターデータを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentTreeMaster 更新された現在アクティブなノードモデルのマスターデータ 実装例 describeNodeModelMasters ノードモデルマスターの一覧を取得 ノードモデルマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。ノードモデルマスターは解放アクション、拘束返還率、前提ノードを含むスキルツリー構造を定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 ノードモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ノードモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNodeModelMaster ノードモデルマスターを新規作成 解放時の検証アクション（解放前バリデーション）、解放時の消費アクション（解放時に差し引くリソース）、拘束返還率（拘束時に返還するリソースの割合）、前提ノード名を持つ新しいノードモデルマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 ノードモデル名 ノードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 releaseVerifyActions List [] 0 ~ 10 items 解放検証アクションリスト このノードを解放する前に実行され、条件が満たされているかを確認する検証アクションのリスト。 例えば、プレイヤーが特定のレベルに達しているか、特定のアイテムを所持しているかを検証できます。 いずれかの検証アクションが失敗すると、ノード解放は拒否されます。最大10アクション。 releaseConsumeActions List [] 1 ~ 10 items 解放消費アクションリスト このノードを解放する際に実行される消費アクションのリストで、解放コストを表します。 これらのアクションは返却入手アクションの計算にも使用されます。ノードを拘束する際、各消費アクションが返却率に基づいて逆転されます。 最低1つの消費アクションが必要です。最大10アクション。 restrainReturnRate float 1.0 0.0 ~ 1.0 返却率 このノードを拘束（未解放状態に戻す）した際に消費リソースが返却される割合。 1.0 は全額返却、0.5 は半額返却、0.0 は返却なしを意味します。 デフォルトは 1.0（全額返却）。有効範囲: 0.0〜1.0。 premiseNodeNames List [] 0 ~ 10 items 前提ノードモデル名リスト このノードを解放する前に解放済みでなければならない他のノードモデルの名前。 スキルツリーの依存関係グラフを定義します。前提ノードがすべて解放済みでなければ、このノードは解放できません。 最大10の前提ノード。 Result 型 説明 item NodeModelMaster 作成したノードモデルマスター 実装例 getNodeModelMaster ノードモデルマスターを取得 解放時の検証アクション、解放時の消費アクション、拘束返還率、前提ノード名の設定を含む、指定されたノードモデルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 nodeModelName string  ~ 128文字 ノードモデル名 ノードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item NodeModelMaster ノードモデルマスター 実装例 updateNodeModelMaster ノードモデルマスターを更新 指定されたノードモデルマスターの説明、メタデータ、解放時の検証アクション、解放時の消費アクション、拘束返還率、前提ノード名を更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 nodeModelName string  ~ 128文字 ノードモデル名 ノードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 releaseVerifyActions List [] 0 ~ 10 items 解放検証アクションリスト このノードを解放する前に実行され、条件が満たされているかを確認する検証アクションのリスト。 例えば、プレイヤーが特定のレベルに達しているか、特定のアイテムを所持しているかを検証できます。 いずれかの検証アクションが失敗すると、ノード解放は拒否されます。最大10アクション。 releaseConsumeActions List [] 1 ~ 10 items 解放消費アクションリスト このノードを解放する際に実行される消費アクションのリストで、解放コストを表します。 これらのアクションは返却入手アクションの計算にも使用されます。ノードを拘束する際、各消費アクションが返却率に基づいて逆転されます。 最低1つの消費アクションが必要です。最大10アクション。 restrainReturnRate float 1.0 0.0 ~ 1.0 返却率 このノードを拘束（未解放状態に戻す）した際に消費リソースが返却される割合。 1.0 は全額返却、0.5 は半額返却、0.0 は返却なしを意味します。 デフォルトは 1.0（全額返却）。有効範囲: 0.0〜1.0。 premiseNodeNames List [] 0 ~ 10 items 前提ノードモデル名リスト このノードを解放する前に解放済みでなければならない他のノードモデルの名前。 スキルツリーの依存関係グラフを定義します。前提ノードがすべて解放済みでなければ、このノードは解放できません。 最大10の前提ノード。 Result 型 説明 item NodeModelMaster 更新したノードモデルマスター 実装例 deleteNodeModelMaster ノードモデルマスターを削除 指定されたノードモデルマスターを削除します。これはマスター定義のみを削除し、現在アクティブなスキルツリーには影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 nodeModelName string  ~ 128文字 ノードモデル名 ノードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item NodeModelMaster 削除したノードモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-SkillTree SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-SkillTree SDK API リファレンス","url":"/ja/api_reference/skill_tree/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 スタミナ操作時のトランザクションの処理方法を制御する設定です。 overflowTriggerScript string ~ 1024文字 オーバーフロートリガースクリプト 回復時にスタミナがオーバーフローした際に呼び出す GS2-Script の GRN。 時間ベースの回復でスタミナが最大値を超える場合にトリガーされ、余剰分のカスタム処理（例：オーバーフロー分をアイテムに変換）が可能です。 Script トリガーリファレンス - overflow logSetting LogSetting ログの出力設定 スタミナの消費、回復、オーバーフローなどの操作を GS2-Log に記録するためのログ出力設定。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 Stamina スタミナ スタミナとは現実時間の時間経過で回復するポイントです。 一般的にこのスタミナを消費してゲームをプレイできるようにすることで、プレイヤーの1日のプレイ回数を制限し、ゲームの進行速度をゲーム提供側がコントロールする目的で使用されます。 詳細  staminaId string ※ ~ 1024文字 スタミナ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID value int  0 ~ 2147483646 スタミナ値 オーバーフロー分を除く、このユーザーの現在のスタミナ量。 回復間隔と回復量に基づいて時間経過で自動的に増加し、maxValue まで回復します。 lastRecoveredAt からの経過時間を用いて recoverSteps = elapsedMinutes / recoverIntervalMinutes の式で計算されます。 maxValue int  1 ~ 2147483646 スタミナの最大値 StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく MaxStaminaTable でオーバーライドされるユーザーごとのスタミナ最大値。 オーバーフロー無効時は initialCapacity が下限となります。オーバーフロー有効時は maxCapacity が上限となります。 自然回復はこの値で停止します。 recoverIntervalMinutes int 1 ~ 2147483646 スタミナの回復間隔（分） StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく RecoverIntervalTable でオーバーライドされるユーザーごとの回復間隔（分）。 テーブルが設定されていない場合、モデルのデフォルト recoverIntervalMinutes にフォールバックします。 recoverValue int 1 ~ 2147483646 スタミナの回復量 StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく RecoverValueTable でオーバーライドされるユーザーごとのティックあたりの回復量。 テーブルが設定されていない場合、モデルのデフォルト recoverValue にフォールバックします。 overflowValue int  0 ~ 2147483646 オーバーフロー値 通常の最大値（maxValue）を超えて格納されているスタミナ量。 StaminaModel の isOverflow が有効な場合のみ使用されます。実効スタミナの合計は value + overflowValue で、maxCapacity が上限です。 スタミナ消費時はオーバーフロー分が先に消費されます。 nextRecoverAt long 次回回復時刻 次のスタミナ回復ティックが発生する Unix タイムスタンプ（ミリ秒）。 lastRecoveredAt + recoverIntervalMinutes（ミリ秒換算）で計算されます。スタミナが既に maxValue の場合、このフィールドは未設定になることがあります。 lastRecoveredAt long ※ 現在時刻 最後に回復した時刻 UNIX 時間・ミリ秒 ※サーバー側で自動的に設定 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン StaminaModel スタミナモデル スタミナの最大値や、回復間隔、回復量といったパラメータを定義できます。 GS2-Experience と連動させて、最大値や回復量をコントロールすることもできます。 詳細  staminaModelId string ※ ~ 1024文字 スタミナモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 スタミナモデル名 スタミナモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 recoverIntervalMinutes int  0 ~ 2147483646 回復間隔（分） スタミナ回復ティックの間隔（分単位）。 この間隔が経過するたびに、プレイヤーのスタミナが回復量分だけ増加します。 RecoverIntervalTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 0 に設定すると時間ベースの自動回復が無効になります。 recoverValue int 1 0 ~ 2147483646 回復量 回復ティックごとに回復するスタミナの量。 回復間隔が経過するたびに、最大値に達するまでこの値分スタミナが増加します。 RecoverValueTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 デフォルトは 1。 initialCapacity int  0 ~ 2147483646 最大値の初期値 全プレイヤーに対するデフォルトのスタミナ最大値。 オーバーフローが無効の場合、ユーザーごとの最大値の下限として機能します。 MaxStaminaTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 isOverflow bool  オーバーフロー可否 アイテム使用などの手段でスタミナが初期最大値を超えられるかどうか。 有効の場合、スタミナは initialCapacity を超えて maxCapacity まで設定可能です。自然回復は通常の最大値で停止します。 無効の場合、ユーザーごとの最大値は initialCapacity 以上に制限されます。 maxCapacity int {isOverflow} == true ※ 0 ~ 2147483646 オーバーフロー時の最大値 オーバーフロー有効時のスタミナの絶対上限値。 オーバーフローでもスタミナはこの値を超えることはできません。isOverflow が true の場合のみ表示されます。 例えば initialCapacity が 100、maxCapacity が 200 の場合、アイテムでスタミナを 200 まで増やせますが、自然回復は 100 で停止します。 ※ isOverflow が true であれば 必須 maxStaminaTable MaxStaminaTable スタミナ最大値テーブル プレイヤーの GS2-Experience ランクに基づいてスタミナ最大値を動的に決定する MaxStaminaTable への参照。 設定時、プレイヤーの最大スタミナは現在のランクインデックスでテーブルから参照され、initialCapacity をオーバーライドします。 未設定の場合、全プレイヤーが同じ initialCapacity を最大値として共有します。 recoverIntervalTable RecoverIntervalTable 回復間隔テーブル プレイヤーの GS2-Experience ランクに基づいて回復間隔を動的に決定する RecoverIntervalTable への参照。 設定時、プレイヤーの回復間隔は現在のランクインデックスでテーブルから参照され、recoverIntervalMinutes をオーバーライドします。 未設定の場合、全プレイヤーが同じ recoverIntervalMinutes を共有します。 recoverValueTable RecoverValueTable 回復量テーブル プレイヤーの GS2-Experience ランクに基づいて回復量を動的に決定する RecoverValueTable への参照。 設定時、プレイヤーの回復量は現在のランクインデックスでテーブルから参照され、recoverValue をオーバーライドします。 未設定の場合、全プレイヤーが同じ recoverValue を共有します。 MaxStaminaTable スタミナ最大値テーブル スタミナ最大値テーブルは、GS2-Experience のランクごとにスタミナの最大値を定義するエンティティです。 詳細  name string  ~ 128文字 スタミナ最大値テーブル名 スタミナ最大値テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとのスタミナ最大値が決定されます。 values List  1 ~ 1024 items ランク毎のスタミナ最大値 プレイヤーの GS2-Experience ランクインデックスで索引されるスタミナ最大値の配列。 インデックス i の値がランク i のプレイヤーの最大スタミナとして使用されます。配列長は参照先の ExperienceModel で定義されたランク数と一致させる必要があります。 RecoverIntervalTable 回復間隔テーブル 回復間隔テーブルは、GS2-Experience のランクごとにスタミナの回復間隔を定義するエンティティです。 詳細  name string  ~ 128文字 回復間隔テーブル名 回復間隔テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復間隔が決定されます。 values List  1 ~ 1024 items ランク毎の回復間隔 プレイヤーの GS2-Experience ランクインデックスで索引される回復間隔値（分単位）の配列。 インデックス i の値がランク i のプレイヤーの回復間隔として使用され、モデルのデフォルト recoverIntervalMinutes をオーバーライドします。 RecoverValueTable スタミナ回復量テーブル スタミナ回復量テーブルは、GS2-Experience のランクごとにスタミナの回復量を定義するエンティティです。 詳細  name string  ~ 128文字 スタミナ回復量テーブル名 スタミナ回復量テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復量が決定されます。 values List  1 ~ 1024 items ランク毎の回復量 プレイヤーの GS2-Experience ランクインデックスで索引される回復量値の配列。 インデックス i の値がランク i のプレイヤーのティックあたりの回復量として使用され、モデルのデフォルト recoverValue をオーバーライドします。 CurrentStaminaMaster 現在アクティブなスタミナモデルのマスターデータ 現在ネームスペース内で有効な、スタミナモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Stamina マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ StaminaModelMaster スタミナモデルマスター スタミナモデルマスターは、ゲーム内で使用されるスタミナモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるスタミナモデルとして反映されます。 スタミナの最大値や、回復間隔、回復量といったパラメータを定義できます。 GS2-Experience と連動させて、最大値や回復量をコントロールすることもできます。 詳細  staminaModelId string ※ ~ 1024文字 スタミナモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 スタミナモデル名 スタミナモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 recoverIntervalMinutes int  0 ~ 2147483646 回復間隔（分） スタミナ回復ティックの間隔（分単位）。 この間隔が経過するたびに、プレイヤーのスタミナが回復量分だけ増加します。 RecoverIntervalTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 0 に設定すると時間ベースの自動回復が無効になります。 recoverValue int 1 0 ~ 2147483646 回復量 回復ティックごとに回復するスタミナの量。 回復間隔が経過するたびに、最大値に達するまでこの値分スタミナが増加します。 RecoverValueTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 デフォルトは 1。 initialCapacity int  0 ~ 2147483646 最大値の初期値 全プレイヤーに対するデフォルトのスタミナ最大値。 オーバーフローが無効の場合、ユーザーごとの最大値の下限として機能します。 MaxStaminaTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 isOverflow bool  オーバーフロー可否 アイテム使用などの手段でスタミナが初期最大値を超えられるかどうか。 有効の場合、スタミナは initialCapacity を超えて maxCapacity まで設定可能です。自然回復は通常の最大値で停止します。 無効の場合、ユーザーごとの最大値は initialCapacity 以上に制限されます。 maxCapacity int {isOverflow} == true ※ 0 ~ 2147483646 オーバーフロー時の最大値 オーバーフロー有効時のスタミナの絶対上限値。 オーバーフローでもスタミナはこの値を超えることはできません。isOverflow が true の場合のみ表示されます。 ※ isOverflow が true であれば 必須 maxStaminaTableName string ~ 128文字 スタミナ最大値テーブル名 プレイヤーの GS2-Experience ランクに基づいてスタミナ最大値を動的に決定する MaxStaminaTable の名前。 設定時、プレイヤーの最大スタミナは現在のランクインデックスでテーブルから参照され、initialCapacity をオーバーライドします。 recoverIntervalTableName string ~ 128文字 回復間隔テーブル名 プレイヤーの GS2-Experience ランクに基づいて回復間隔を動的に決定する RecoverIntervalTable の名前。 設定時、プレイヤーの回復間隔はテーブルから参照され、recoverIntervalMinutes をオーバーライドします。 recoverValueTableName string ~ 128文字 回復量テーブル名 プレイヤーの GS2-Experience ランクに基づいて回復量を動的に決定する RecoverValueTable の名前。 設定時、プレイヤーの回復量はテーブルから参照され、recoverValue をオーバーライドします。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン MaxStaminaTableMaster スタミナ最大値テーブルマスター スタミナ最大値テーブルマスターは、ゲーム内で使用されるスタミナ最大値テーブルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるスタミナ最大値テーブルとして反映されます。 スタミナ最大値テーブルは、GS2-Experience のランクごとにスタミナの最大値を定義するエンティティです。 詳細  maxStaminaTableId string ※ ~ 1024文字 スタミナの最大値テーブルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 最大スタミナ値テーブル名 最大スタミナ値テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとのスタミナ最大値が決定されます。 values List  1 ~ 1024 items ランク毎のスタミナ最大値 プレイヤーの GS2-Experience ランクインデックスで索引されるスタミナ最大値の配列。 インデックス i の値がランク i のプレイヤーの最大スタミナとして使用されます。配列長は参照先の ExperienceModel で定義されたランク数と一致させる必要があります。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン RecoverIntervalTableMaster 回復間隔テーブルマスター 回復間隔テーブルマスターは、ゲーム内で使用される回復間隔テーブルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照される回復間隔テーブルとして反映されます。 回復間隔テーブルは、GS2-Experience のランクごとにスタミナの回復間隔を定義するエンティティです。 詳細  recoverIntervalTableId string ※ ~ 1024文字 回復間隔テーブルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 回復間隔テーブル名 回復間隔テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復間隔が決定されます。 values List  1 ~ 1024 items ランク毎の回復間隔 プレイヤーの GS2-Experience ランクインデックスで索引される回復間隔値（分単位）の配列。 インデックス i の値がランク i のプレイヤーの回復間隔として使用され、モデルのデフォルト recoverIntervalMinutes をオーバーライドします。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン RecoverValueTableMaster スタミナ回復量テーブルマスター スタミナ回復量テーブルマスターは、ゲーム内で使用されるスタミナ回復量テーブルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるスタミナ回復量テーブルとして反映されます。 スタミナ回復量テーブルは、GS2-Experience のランクごとにスタミナの回復量を定義するエンティティです。 詳細  recoverValueTableId string ※ ~ 1024文字 スタミナ回復量テーブルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 スタミナ回復量テーブル名 スタミナ回復量テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 description string ~ 1024文字 説明文 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復量が決定されます。 values List  1 ~ 1024 items ランク毎の回復量 プレイヤーの GS2-Experience ランクインデックスで索引される回復量値の配列。 インデックス i の値がランク i のプレイヤーのティックあたりの回復量として使用され、モデルのデフォルト recoverValue をオーバーライドします。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 スタミナ操作時のトランザクションの処理方法を制御する設定です。 overflowTriggerScript string ~ 1024文字 オーバーフロートリガースクリプト 回復時にスタミナがオーバーフローした際に呼び出す GS2-Script の GRN。 時間ベースの回復でスタミナが最大値を超える場合にトリガーされ、余剰分のカスタム処理（例：オーバーフロー分をアイテムに変換）が可能です。 Script トリガーリファレンス - overflow logSetting LogSetting ログの出力設定 スタミナの消費、回復、オーバーフローなどの操作を GS2-Log に記録するためのログ出力設定。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 スタミナ操作時のトランザクションの処理方法を制御する設定です。 overflowTriggerScript string ~ 1024文字 オーバーフロートリガースクリプト 回復時にスタミナがオーバーフローした際に呼び出す GS2-Script の GRN。 時間ベースの回復でスタミナが最大値を超える場合にトリガーされ、余剰分のカスタム処理（例：オーバーフロー分をアイテムに変換）が可能です。 Script トリガーリファレンス - overflow logSetting LogSetting ログの出力設定 スタミナの消費、回復、オーバーフローなどの操作を GS2-Log に記録するためのログ出力設定。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeStaminas スタミナ一覧を取得 リクエストユーザーのすべてのスタミナリソースのページネーション付きリストを取得します。各スタミナエントリには現在値、最大値、回復設定、オーバーフロー量が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List スタミナのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeStaminasByUserId ユーザーIDを指定してスタミナ一覧を取得 指定されたユーザーのすべてのスタミナリソースのページネーション付きリストを取得します。各スタミナエントリには現在値、最大値、回復設定、オーバーフロー量が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List スタミナのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getStamina スタミナを取得 指定されたスタミナリソースとそのスタミナモデルを取得します。現在のスタミナ値、最大値、回復間隔、回復量、オーバーフロー量を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 getStaminaByUserId ユーザーIDを指定してスタミナを取得 指定されたユーザーのスタミナリソースとそのスタミナモデルを取得します。現在のスタミナ値、最大値、回復間隔、回復量、オーバーフロー量を返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 updateStaminaByUserId ユーザーIDを指定してスタミナを作成・更新 現在値、最大値、回復間隔、回復量を含むすべてのスタミナプロパティを一括で設定します。これは現在のオーバーフロー量と最終回復タイムスタンプを保持したまま直接オーバーライドするための管理操作です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID value int  0 ~ 2147483646 スタミナ値 オーバーフロー分を除く、このユーザーの現在のスタミナ量。 回復間隔と回復量に基づいて時間経過で自動的に増加し、maxValue まで回復します。 lastRecoveredAt からの経過時間を用いて recoverSteps = elapsedMinutes / recoverIntervalMinutes の式で計算されます。 maxValue int  1 ~ 2147483646 スタミナの最大値 StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく MaxStaminaTable でオーバーライドされるユーザーごとのスタミナ最大値。 オーバーフロー無効時は initialCapacity が下限となります。オーバーフロー有効時は maxCapacity が上限となります。 自然回復はこの値で停止します。 recoverIntervalMinutes int 1 ~ 2147483646 スタミナの回復間隔（分） StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく RecoverIntervalTable でオーバーライドされるユーザーごとの回復間隔（分）。 テーブルが設定されていない場合、モデルのデフォルト recoverIntervalMinutes にフォールバックします。 recoverValue int 1 ~ 2147483646 スタミナの回復量 StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく RecoverValueTable でオーバーライドされるユーザーごとのティックあたりの回復量。 テーブルが設定されていない場合、モデルのデフォルト recoverValue にフォールバックします。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 consumeStamina スタミナを消費 現在のスタミナ値から指定された量を差し引きます。現在のスタミナ値が消費量未満の場合、Insufficientエラーを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 accessToken string  ~ 128文字 アクセストークン consumeValue int  1 ~ 2147483646 消費するスタミナ量 Result 型 説明 item Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 consumeStaminaByUserId ユーザーIDを指定してスタミナを消費 指定されたユーザーの現在のスタミナ値から指定された量を差し引きます。現在のスタミナ値が消費量未満の場合、Insufficientエラーを返します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID consumeValue int  1 ~ 2147483646 消費するスタミナ量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 applyStamina 現在のスタミナの自然回復量を適用 時間経過に基づく自動スタミナ回復を計算して適用します。回復量は最終回復からの経過時間、スタミナモデルに設定された回復間隔、回復量に基づいて計算されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 accessToken string  ~ 128文字 アクセストークン Result 型 説明 item Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 applyStaminaByUserId ユーザーIDを指定して現在のスタミナの自然回復量を適用 指定されたユーザーの時間経過に基づく自動スタミナ回復を計算して適用します。回復量は最終回復からの経過時間、スタミナモデルに設定された回復間隔、回復量に基づいて計算されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 recoverStaminaByUserId ユーザーIDを指定してスタミナを回復 指定された量のスタミナを最大容量まで回復します。回復により値が最大値を超え、オーバーフローモードが有効な場合、超過分はオーバーフロー値として記録されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID recoverValue int  1 ~ 2147483646 スタミナの回復量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ staminaModel StaminaModel スタミナモデル overflowValue int スタミナ値の上限を超えて受け取れずに GS2-Inbox に転送したスタミナ値 実装例 raiseMaxValueByUserId ユーザーIDを指定してスタミナの最大値を加算 指定された量だけスタミナの最大容量を恒久的に増加させます。レベルアップ報酬やアイテム効果などの恒久的なステータス上昇に使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID raiseValue int  0 ~ 2147483646 上昇する最大スタミナ量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 decreaseMaxValue スタミナの最大値の減算 指定された量だけスタミナの最大容量を減少させます。スタミナ容量へのデバフやペナルティの適用に使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 accessToken string  ~ 128文字 アクセストークン decreaseValue int  0 ~ 2147483646 減算する最大スタミナ量 Result 型 説明 item Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 decreaseMaxValueByUserId ユーザーIDを指定してスタミナの最大値の減算 指定されたユーザーのスタミナの最大容量を指定された量だけ減少させます。スタミナ容量へのデバフやペナルティの適用に使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID decreaseValue int  0 ~ 2147483646 減算する最大スタミナ量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 setMaxValueByUserId ユーザーIDを指定してスタミナの最大値を更新 スタミナの最大容量を指定された値に設定します。監査目的で変更前のスタミナ状態がレスポンスに保持されます。管理者によるオーバーライドや特別イベントでの調整に使用されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID maxValue int  1 ~ 2147483646 スタミナの最大値 StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく MaxStaminaTable でオーバーライドされるユーザーごとのスタミナ最大値。 オーバーフロー無効時は initialCapacity が下限となります。オーバーフロー有効時は maxCapacity が上限となります。 自然回復はこの値で停止します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ old Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 setRecoverIntervalByUserId ユーザーIDを指定してスタミナの回復間隔(分)を更新 スタミナの回復間隔を指定された値（分）に設定します。監査目的で変更前のスタミナ状態がレスポンスに保持されます。スタミナが自動的に回復する頻度を制御します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID recoverIntervalMinutes int  1 ~ 2147483646 スタミナの回復間隔(分) timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ old Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 setRecoverValueByUserId ユーザーIDを指定してスタミナの回復量を設定 スタミナの回復量を指定された値に設定します。監査目的で変更前のスタミナ状態がレスポンスに保持されます。回復間隔ごとに回復するスタミナ量を制御します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID recoverValue int  1 ~ 2147483646 スタミナの回復量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ old Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 setMaxValueByStatus スタミナの最大値をGS2-Experienceのステータスを使用して更新 署名付きGS2-Experienceステータスのランク値に基づいてスタミナの最大容量を設定します。署名付きステータスのボディと署名を指定されたキーで検証し、ランク値を使用してスタミナ最大値テーブルから対応する最大スタミナを参照します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 accessToken string  ~ 128文字 アクセストークン keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN signedStatusBody string  ~ 524288文字 署名対象の GS2-Experience ステータスのボディ signedStatusSignature string  ~ 128文字 GS2-Experience ステータスの署名 Result 型 説明 item Stamina スタミナ old Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 setRecoverIntervalByStatus スタミナの回復間隔をGS2-Experienceのステータスを使用して更新 署名付きGS2-Experienceステータスのランク値に基づいてスタミナの回復間隔を設定します。署名付きステータスのボディと署名を指定されたキーで検証し、ランク値を使用して回復間隔テーブルから対応する回復間隔を参照します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 accessToken string  ~ 128文字 アクセストークン keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN signedStatusBody string  ~ 524288文字 署名対象の GS2-Experience ステータスのボディ signedStatusSignature string  ~ 128文字 GS2-Experience ステータスの署名 Result 型 説明 item Stamina スタミナ old Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 setRecoverValueByStatus スタミナの回復量をGS2-Experienceのステータスを使用して更新 署名付きGS2-Experienceステータスのランク値に基づいてスタミナの回復量を設定します。署名付きステータスのボディと署名を指定されたキーで検証し、ランク値を使用して回復量テーブルから対応する回復量を参照します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 accessToken string  ~ 128文字 アクセストークン keyId string “grn:gs2:{region}:{ownerId}:key:default:key:default” ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN signedStatusBody string  ~ 524288文字 署名対象の GS2-Experience ステータスのボディ signedStatusSignature string  ~ 128文字 GS2-Experience ステータスの署名 Result 型 説明 item Stamina スタミナ old Stamina スタミナ staminaModel StaminaModel スタミナモデル 実装例 deleteStaminaByUserId ユーザーIDを指定してスタミナを削除 指定されたユーザーのスタミナリソースを完全に削除します。現在値、回復設定、オーバーフロー量を含むスタミナレコードが完全に削除されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina 削除したスタミナ 実装例 verifyStaminaValue スタミナ現在値を検証 現在のスタミナ値が指定された条件（未満、以下、超過、以上、一致、不一致）を指定された閾値に対して満たすことを、状態を変更せずに検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 現在値が指定値未満であること “lessEqual” 現在値が指定値以下であること “greater” 現在値が指定値超過であること “greaterEqual” 現在値が指定値以上であること “equal” 現在値が指定値と一致すること “notEqual” 現在値が指定値と一致しないこと value int  0 ~ 2147483646 現在値 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Stamina スタミナ 実装例 verifyStaminaValueByUserId ユーザーIDを指定してスタミナ現在値を検証 指定されたユーザーの現在のスタミナ値が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 現在値が指定値未満であること “lessEqual” 現在値が指定値以下であること “greater” 現在値が指定値超過であること “greaterEqual” 現在値が指定値以上であること “equal” 現在値が指定値と一致すること “notEqual” 現在値が指定値と一致しないこと value int  0 ~ 2147483646 現在値 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ 実装例 verifyStaminaMaxValue スタミナ最大値を検証 スタミナの最大容量（バフによる変更を含む）が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 最大値が指定値未満であること “lessEqual” 最大値が指定値以下であること “greater” 最大値が指定値超過であること “greaterEqual” 最大値が指定値以上であること “equal” 最大値が指定値と一致すること “notEqual” 最大値が指定値と一致しないこと value int  0 ~ 2147483646 最大値 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Stamina スタミナ 実装例 verifyStaminaMaxValueByUserId ユーザーIDを指定してスタミナ最大値を検証 指定されたユーザーのスタミナの最大容量（バフによる変更を含む）が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 最大値が指定値未満であること “lessEqual” 最大値が指定値以下であること “greater” 最大値が指定値超過であること “greaterEqual” 最大値が指定値以上であること “equal” 最大値が指定値と一致すること “notEqual” 最大値が指定値と一致しないこと value int  0 ~ 2147483646 最大値 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ 実装例 verifyStaminaRecoverIntervalMinutes スタミナ回復速度を検証 スタミナの回復間隔（分）が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 回復速度が指定値未満であること “lessEqual” 回復速度が指定値以下であること “greater” 回復速度が指定値超過であること “greaterEqual” 回復速度が指定値以上であること “equal” 回復速度が指定値と一致すること “notEqual” 回復速度が指定値と一致しないこと value int  0 ~ 2147483646 回復速度 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Stamina スタミナ 実装例 verifyStaminaRecoverIntervalMinutesByUserId ユーザーIDを指定してスタミナ回復速度を検証 指定されたユーザーのスタミナの回復間隔（分）が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 回復速度が指定値未満であること “lessEqual” 回復速度が指定値以下であること “greater” 回復速度が指定値超過であること “greaterEqual” 回復速度が指定値以上であること “equal” 回復速度が指定値と一致すること “notEqual” 回復速度が指定値と一致しないこと value int  0 ~ 2147483646 回復速度 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ 実装例 verifyStaminaRecoverValue スタミナ回復量を検証 スタミナの回復量（バフによる変更を含む）が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 回復量が指定値未満であること “lessEqual” 回復量が指定値以下であること “greater” 回復量が指定値超過であること “greaterEqual” 回復量が指定値以上であること “equal” 回復量が指定値と一致すること “notEqual” 回復量が指定値と一致しないこと value int  0 ~ 2147483646 回復量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Stamina スタミナ 実装例 verifyStaminaRecoverValueByUserId ユーザーIDを指定してスタミナ回復量を検証 指定されたユーザーのスタミナの回復量（バフによる変更を含む）が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 回復量が指定値未満であること “lessEqual” 回復量が指定値以下であること “greater” 回復量が指定値超過であること “greaterEqual” 回復量が指定値以上であること “equal” 回復量が指定値と一致すること “notEqual” 回復量が指定値と一致しないこと value int  0 ~ 2147483646 回復量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ 実装例 verifyStaminaOverflowValue スタミナのオーバーフロー量を検証 スタミナのオーバーフロー量（最大容量を超えた余剰スタミナ）が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” オーバーフロー量が指定値未満であること “lessEqual” オーバーフロー量が指定値以下であること “greater” オーバーフロー量が指定値超過であること “greaterEqual” オーバーフロー量が指定値以上であること “equal” オーバーフロー量が指定値と一致すること “notEqual” オーバーフロー量が指定値と一致しないこと value int  0 ~ 2147483646 オーバーフロー量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか Result 型 説明 item Stamina スタミナ 実装例 verifyStaminaOverflowValueByUserId ユーザーIDを指定してスタミナオーバーフロー量を検証 指定されたユーザーのスタミナのオーバーフロー量が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” オーバーフロー量が指定値未満であること “lessEqual” オーバーフロー量が指定値以下であること “greater” オーバーフロー量が指定値超過であること “greaterEqual” オーバーフロー量が指定値以上であること “equal” オーバーフロー量が指定値と一致すること “notEqual” オーバーフロー量が指定値と一致しないこと value int  0 ~ 2147483646 オーバーフロー量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Stamina スタミナ 実装例 describeStaminaModels スタミナモデルの一覧を取得 アクティブなスタミナモデルのリストを取得します。各スタミナモデルは回復間隔、回復量、初期容量、オーバーフロー設定、およびレベルベースのスタミナパラメータ用のオプションのルックアップテーブルを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List スタミナモデルのリスト 実装例 getStaminaModel スタミナモデルを取得 回復間隔、回復量、初期容量、オーバーフロー設定、関連するルックアップテーブル名を含む、指定されたスタミナモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 スタミナモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item StaminaModel スタミナモデル 実装例 exportMaster スタミナモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在登録されているスタミナモデルマスターを有効化可能なマスターデータ形式でエクスポートします。エクスポートされたデータには、スタミナモデル、スタミナ最大値テーブル、回復間隔テーブル、回復量テーブルのすべての定義が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentStaminaMaster 有効化可能なスタミナモデルのマスターデータ 実装例 getCurrentStaminaMaster 現在アクティブなスタミナモデルのマスターデータを取得 使用中のすべてのスタミナモデル、スタミナ最大値テーブル、回復間隔テーブル、回復量テーブルの定義を含む、現在アクティブなスタミナモデルマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentStaminaMaster 現在アクティブなスタミナモデルのマスターデータ 実装例 preUpdateCurrentStaminaMaster 現在アクティブなスタミナモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentStaminaMaster 現在アクティブなスタミナモデルのマスターデータを更新 現在アクティブなスタミナモデルマスターデータを更新します。大容量マスターデータに対応するため、直接更新モードと事前アップロードモードの両方をサポートしています。事前アップロードモードでは、PreUpdate APIで取得したアップロードトークンを使用して設定を読み取ります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentStaminaMaster 更新された現在アクティブなスタミナモデルのマスターデータ 実装例 updateCurrentStaminaMasterFromGitHub 現在アクティブなスタミナモデルのマスターデータをGitHubから更新 指定されたチェックアウト設定を使用してGitHubリポジトリからマスターデータをチェックアウトし、現在アクティブなスタミナモデルマスターデータを更新します。GitHubとの認証にはキーサービス経由でAPIキーが復号されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentStaminaMaster 更新された現在アクティブなスタミナモデルのマスターデータ 実装例 describeStaminaModelMasters スタミナモデルマスターの一覧を取得 スタミナモデルマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。スタミナモデルマスターは回復間隔、回復量、初期容量、オーバーフロー設定、オプションのルックアップテーブル関連付けを定義します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 スタミナモデル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List スタミナモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createStaminaModelMaster スタミナモデルマスターを新規作成 回復間隔（分）、回復量、初期容量、オーバーフローモード設定、最大容量、およびレベルベースのパラメータスケーリング用のスタミナ最大値テーブル、回復間隔テーブル、回復量テーブルへのオプション関連付けを持つ新しいスタミナモデルマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 スタミナモデル名 スタミナモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 recoverIntervalMinutes int  0 ~ 2147483646 回復間隔（分） スタミナ回復ティックの間隔（分単位）。 この間隔が経過するたびに、プレイヤーのスタミナが回復量分だけ増加します。 RecoverIntervalTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 0 に設定すると時間ベースの自動回復が無効になります。 recoverValue int 1 0 ~ 2147483646 回復量 回復ティックごとに回復するスタミナの量。 回復間隔が経過するたびに、最大値に達するまでこの値分スタミナが増加します。 RecoverValueTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 デフォルトは 1。 initialCapacity int  0 ~ 2147483646 最大値の初期値 全プレイヤーに対するデフォルトのスタミナ最大値。 オーバーフローが無効の場合、ユーザーごとの最大値の下限として機能します。 MaxStaminaTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 isOverflow bool  オーバーフロー可否 アイテム使用などの手段でスタミナが初期最大値を超えられるかどうか。 有効の場合、スタミナは initialCapacity を超えて maxCapacity まで設定可能です。自然回復は通常の最大値で停止します。 無効の場合、ユーザーごとの最大値は initialCapacity 以上に制限されます。 maxCapacity int {isOverflow} == true ※ 0 ~ 2147483646 オーバーフロー時の最大値 オーバーフロー有効時のスタミナの絶対上限値。 オーバーフローでもスタミナはこの値を超えることはできません。isOverflow が true の場合のみ表示されます。 ※ isOverflow が true であれば必須 maxStaminaTableName string ~ 128文字 スタミナ最大値テーブル名 プレイヤーの GS2-Experience ランクに基づいてスタミナ最大値を動的に決定する MaxStaminaTable の名前。 設定時、プレイヤーの最大スタミナは現在のランクインデックスでテーブルから参照され、initialCapacity をオーバーライドします。 recoverIntervalTableName string ~ 128文字 回復間隔テーブル名 プレイヤーの GS2-Experience ランクに基づいて回復間隔を動的に決定する RecoverIntervalTable の名前。 設定時、プレイヤーの回復間隔はテーブルから参照され、recoverIntervalMinutes をオーバーライドします。 recoverValueTableName string ~ 128文字 回復量テーブル名 プレイヤーの GS2-Experience ランクに基づいて回復量を動的に決定する RecoverValueTable の名前。 設定時、プレイヤーの回復量はテーブルから参照され、recoverValue をオーバーライドします。 Result 型 説明 item StaminaModelMaster 作成したスタミナモデルマスター 実装例 getStaminaModelMaster スタミナモデルマスターを取得 回復設定、容量設定、オーバーフローモード、関連するルックアップテーブル名を含む、指定されたスタミナモデルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 スタミナモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item StaminaModelMaster スタミナモデルマスター 実装例 updateStaminaModelMaster スタミナモデルマスターを更新 指定されたスタミナモデルマスターの説明、メタデータ、回復間隔、回復量、初期容量、オーバーフロー設定、最大容量、ルックアップテーブル関連付けを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 スタミナモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 recoverIntervalMinutes int  0 ~ 2147483646 回復間隔（分） スタミナ回復ティックの間隔（分単位）。 この間隔が経過するたびに、プレイヤーのスタミナが回復量分だけ増加します。 RecoverIntervalTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 0 に設定すると時間ベースの自動回復が無効になります。 recoverValue int 1 0 ~ 2147483646 回復量 回復ティックごとに回復するスタミナの量。 回復間隔が経過するたびに、最大値に達するまでこの値分スタミナが増加します。 RecoverValueTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 デフォルトは 1。 initialCapacity int  0 ~ 2147483646 最大値の初期値 全プレイヤーに対するデフォルトのスタミナ最大値。 オーバーフローが無効の場合、ユーザーごとの最大値の下限として機能します。 MaxStaminaTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 isOverflow bool  オーバーフロー可否 アイテム使用などの手段でスタミナが初期最大値を超えられるかどうか。 有効の場合、スタミナは initialCapacity を超えて maxCapacity まで設定可能です。自然回復は通常の最大値で停止します。 無効の場合、ユーザーごとの最大値は initialCapacity 以上に制限されます。 maxCapacity int {isOverflow} == true ※ 0 ~ 2147483646 オーバーフロー時の最大値 オーバーフロー有効時のスタミナの絶対上限値。 オーバーフローでもスタミナはこの値を超えることはできません。isOverflow が true の場合のみ表示されます。 ※ isOverflow が true であれば必須 maxStaminaTableName string ~ 128文字 スタミナ最大値テーブル名 プレイヤーの GS2-Experience ランクに基づいてスタミナ最大値を動的に決定する MaxStaminaTable の名前。 設定時、プレイヤーの最大スタミナは現在のランクインデックスでテーブルから参照され、initialCapacity をオーバーライドします。 recoverIntervalTableName string ~ 128文字 回復間隔テーブル名 プレイヤーの GS2-Experience ランクに基づいて回復間隔を動的に決定する RecoverIntervalTable の名前。 設定時、プレイヤーの回復間隔はテーブルから参照され、recoverIntervalMinutes をオーバーライドします。 recoverValueTableName string ~ 128文字 回復量テーブル名 プレイヤーの GS2-Experience ランクに基づいて回復量を動的に決定する RecoverValueTable の名前。 設定時、プレイヤーの回復量はテーブルから参照され、recoverValue をオーバーライドします。 Result 型 説明 item StaminaModelMaster 更新したスタミナモデルマスター 実装例 deleteStaminaModelMaster スタミナモデルマスターを削除 指定されたスタミナモデルマスターを削除します。これはマスター定義のみを削除し、現在アクティブなスタミナ設定には影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 スタミナモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item StaminaModelMaster 削除したスタミナモデルマスター 実装例 describeMaxStaminaTableMasters スタミナの最大値テーブルマスターの一覧を取得 スタミナの最大値テーブルマスターのページネーション付きリストを取得します。これらのテーブルは経験値ランク値をスタミナ最大容量にマッピングし、レベルベースのスタミナスケーリングを可能にします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List スタミナの最大値テーブルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createMaxStaminaTableMaster スタミナの最大値テーブルマスターを新規作成 経験値モデルIDと値配列を持つ新しいスタミナの最大値テーブルマスターを作成します。値配列は経験値ランクでインデックスされ、各ランクを対応するスタミナ最大容量にマッピングします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 最大スタミナ値テーブル名 最大スタミナ値テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとのスタミナ最大値が決定されます。 values List  1 ~ 1024 items ランク毎のスタミナ最大値 プレイヤーの GS2-Experience ランクインデックスで索引されるスタミナ最大値の配列。 インデックス i の値がランク i のプレイヤーの最大スタミナとして使用されます。配列長は参照先の ExperienceModel で定義されたランク数と一致させる必要があります。 Result 型 説明 item MaxStaminaTableMaster 作成したスタミナの最大値テーブルマスター 実装例 getMaxStaminaTableMaster スタミナの最大値テーブルマスターを取得 経験値モデル関連付けとランクから容量への値マッピングを含む、指定されたスタミナの最大値テーブルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 maxStaminaTableName string  ~ 128文字 最大スタミナ値テーブル名 最大スタミナ値テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item MaxStaminaTableMaster スタミナの最大値テーブルマスター 実装例 updateMaxStaminaTableMaster スタミナの最大値テーブルマスターを更新 指定されたスタミナの最大値テーブルマスターの説明、メタデータ、経験値モデル関連付け、ランクから容量への値マッピングを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 maxStaminaTableName string  ~ 128文字 最大スタミナ値テーブル名 最大スタミナ値テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとのスタミナ最大値が決定されます。 values List  1 ~ 1024 items ランク毎のスタミナ最大値 プレイヤーの GS2-Experience ランクインデックスで索引されるスタミナ最大値の配列。 インデックス i の値がランク i のプレイヤーの最大スタミナとして使用されます。配列長は参照先の ExperienceModel で定義されたランク数と一致させる必要があります。 Result 型 説明 item MaxStaminaTableMaster 更新したスタミナの最大値テーブルマスター 実装例 deleteMaxStaminaTableMaster スタミナの最大値テーブルマスターを削除 指定されたスタミナの最大値テーブルマスターを削除します。これはマスター定義のみを削除し、現在アクティブなスタミナ設定には影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 maxStaminaTableName string  ~ 128文字 最大スタミナ値テーブル名 最大スタミナ値テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item MaxStaminaTableMaster 削除したスタミナの最大値テーブルマスター 実装例 describeRecoverIntervalTableMasters 回復間隔テーブルマスターの一覧を取得 回復間隔テーブルマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。これらのテーブルは経験値ランク値をスタミナ回復間隔（分）にマッピングし、レベルベースの回復速度スケーリングを可能にします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 回復間隔テーブル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 回復間隔テーブルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createRecoverIntervalTableMaster 回復間隔テーブルマスターを新規作成 経験値モデルIDと値配列を持つ新しい回復間隔テーブルマスターを作成します。値配列は経験値ランクでインデックスされ、各ランクを対応する回復間隔（分）にマッピングします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 回復間隔テーブル名 回復間隔テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復間隔が決定されます。 values List  1 ~ 1024 items ランク毎の回復間隔 プレイヤーの GS2-Experience ランクインデックスで索引される回復間隔値（分単位）の配列。 インデックス i の値がランク i のプレイヤーの回復間隔として使用され、モデルのデフォルト recoverIntervalMinutes をオーバーライドします。 Result 型 説明 item RecoverIntervalTableMaster 作成した回復間隔テーブルマスター 実装例 getRecoverIntervalTableMaster 回復間隔テーブルマスターを取得 経験値モデル関連付けとランクから回復間隔への値マッピングを含む、指定された回復間隔テーブルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 recoverIntervalTableName string  ~ 128文字 回復間隔テーブル名 回復間隔テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RecoverIntervalTableMaster 回復間隔テーブルマスター 実装例 updateRecoverIntervalTableMaster 回復間隔テーブルマスターを更新 指定された回復間隔テーブルマスターの説明、メタデータ、経験値モデル関連付け、ランクから回復間隔への値マッピングを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 recoverIntervalTableName string  ~ 128文字 回復間隔テーブル名 回復間隔テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復間隔が決定されます。 values List  1 ~ 1024 items ランク毎の回復間隔 プレイヤーの GS2-Experience ランクインデックスで索引される回復間隔値（分単位）の配列。 インデックス i の値がランク i のプレイヤーの回復間隔として使用され、モデルのデフォルト recoverIntervalMinutes をオーバーライドします。 Result 型 説明 item RecoverIntervalTableMaster 更新した回復間隔テーブルマスター 実装例 deleteRecoverIntervalTableMaster 回復間隔テーブルマスターを削除 指定された回復間隔テーブルマスターを削除します。これはマスター定義のみを削除し、現在アクティブなスタミナ設定には影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 recoverIntervalTableName string  ~ 128文字 回復間隔テーブル名 回復間隔テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RecoverIntervalTableMaster 削除した回復間隔テーブルマスター 実装例 describeRecoverValueTableMasters スタミナ回復量テーブルマスターの一覧を取得 スタミナ回復量テーブルマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。これらのテーブルは経験値ランク値を回復間隔ごとのスタミナ回復量にマッピングし、レベルベースの回復量スケーリングを可能にします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 スタミナ回復量テーブル名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List スタミナ回復量テーブルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createRecoverValueTableMaster スタミナ回復量テーブルマスターを新規作成 経験値モデルIDと値配列を持つ新しいスタミナ回復量テーブルマスターを作成します。値配列は経験値ランクでインデックスされ、各ランクを対応する回復間隔ごとの回復量にマッピングします。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 スタミナ回復量テーブル名 スタミナ回復量テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復量が決定されます。 values List  1 ~ 1024 items ランク毎の回復量 プレイヤーの GS2-Experience ランクインデックスで索引される回復量値の配列。 インデックス i の値がランク i のプレイヤーのティックあたりの回復量として使用され、モデルのデフォルト recoverValue をオーバーライドします。 Result 型 説明 item RecoverValueTableMaster 作成したスタミナ回復量テーブルマスター 実装例 getRecoverValueTableMaster スタミナ回復量テーブルマスターを取得 経験値モデル関連付けとランクから回復量への値マッピングを含む、指定されたスタミナ回復量テーブルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 recoverValueTableName string  ~ 128文字 スタミナ回復量テーブル名 スタミナ回復量テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RecoverValueTableMaster スタミナ回復量テーブルマスター 実装例 updateRecoverValueTableMaster スタミナ回復量テーブルマスターを更新 指定されたスタミナ回復量テーブルマスターの説明、メタデータ、経験値モデル関連付け、ランクから回復量への値マッピングを更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 recoverValueTableName string  ~ 128文字 スタミナ回復量テーブル名 スタミナ回復量テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復量が決定されます。 values List  1 ~ 1024 items ランク毎の回復量 プレイヤーの GS2-Experience ランクインデックスで索引される回復量値の配列。 インデックス i の値がランク i のプレイヤーのティックあたりの回復量として使用され、モデルのデフォルト recoverValue をオーバーライドします。 Result 型 説明 item RecoverValueTableMaster 更新したスタミナ回復量テーブルマスター 実装例 deleteRecoverValueTableMaster スタミナ回復量テーブルマスターを削除 指定されたスタミナ回復量テーブルマスターを削除します。これはマスター定義のみを削除し、現在アクティブなスタミナ設定には影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 recoverValueTableName string  ~ 128文字 スタミナ回復量テーブル名 スタミナ回復量テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item RecoverValueTableMaster 削除したスタミナ回復量テーブルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Stamina SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Stamina SDK API リファレンス","url":"/ja/api_reference/stamina/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 supportSpeculativeExecution 文字列列挙型 enum {   “enable”,   “disable” } “disable” 投機的実行をサポートするか 有効にすると、ステートマシン定義と乱数状態が Status エンティティに埋め込まれ、クライアントがサーバー確認前にローカルで状態遷移をシミュレーションできるようになります。transactionSetting の設定が必要です。 定義 説明 “enable” 有効 “disable” 無効 transactionSetting TransactionSetting {supportSpeculativeExecution} == “enable” トランザクション設定 ステートマシンの emit アクション実行時のトランザクションの処理方法を制御する設定です。投機的実行を有効にする場合に必要です。 ※ supportSpeculativeExecution が “enable” であれば 有効 startScript ScriptSetting ステートマシンを起動したときに実行するスクリプトの設定 Script トリガーリファレンス - start passScript ScriptSetting ステートマシンが正常終了したときに実行するスクリプトの設定 Script トリガーリファレンス - pass errorScript ScriptSetting ステートマシンが異常終了したときに実行するスクリプトの設定 Script トリガーリファレンス - error lowestStateMachineVersion long ステートマシンの最低バージョン 実行可能なステートマシンの最低バージョンです。この値より古いバージョンのステートマシンで作成された Status インスタンスは拒否され、すべての実行中インスタンスが最新の定義を使用することが保証されます。 logSetting LogSetting ログの出力設定 ステートマシンの実行、状態遷移、emit イベントに関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 完了時に実行するスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 完了時のスクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 完了スクリプトの完了を知りたい時に使用します。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 Status ステートマシンの状態 特定のユーザーに対するステートマシンの実行インスタンスを表します。変数、サブステートマシン用のコールスタック、遷移回数、乱数状態を含む現在の実行状態を追跡します。ステータスは Running、Wait、Pass（成功）、Error の状態を遷移します。 詳細  statusId string ※ ~ 1024文字 ステートマシンの状態 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 userId string  ~ 128文字 ユーザーID name string  UUID ~ 36文字 ステータス名 ステートマシンの状態の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ステートマシンの状態を識別するために使用されます。 stateMachineVersion long  0 ~ 32503680000000 バージョン このステートマシン定義のバージョン識別子です。作成時に自動的に割り当てられます。ネームスペースの lowestStateMachineVersion と組み合わせて、実行中インスタンスのバージョン互換性を強制するために使用されます。 enableSpeculativeExecution 文字列列挙型 enum {   “enable”,   “disable” } “disable” 投機的実行を有効にするか 有効にすると、ステートマシン定義と乱数状態がこの Status エンティティに含まれます。これによりクライアントがサーバー確認前にローカルで遷移をシミュレーションでき、体感遅延を軽減できます。 定義 説明 “enable” 有効 “disable” 無効 stateMachineDefinition string {enableSpeculativeExecution} == “enable” ~ 16777216文字 ステートマシン定義 投機的実行のためにこのステータスに埋め込まれた GSL 定義です。enableSpeculativeExecution が有効な場合のみ存在します。通常の API レスポンスではフィルタリングされ、クライアント側シミュレーションに必要な場合のみ含まれます。 ※ enableSpeculativeExecution が “enable” であれば 有効 randomStatus RandomStatus {enableSpeculativeExecution} == “enable” 乱数状態 この実行インスタンスの乱数生成状態です。投機的実行時にクライアントとサーバーで決定論的な乱数動作を保証するために使用されます。enableSpeculativeExecution が有効な場合のみ存在します。 ※ enableSpeculativeExecution が “enable” であれば 有効 stacks List [] 0 ~ 1024 items スタック サブステートマシン呼び出しのコールスタックです。ステートマシンがサブステートマシンを呼び出すと、呼び出し元のステートマシン名と戻り先タスクがプッシュされます。サブステートマシンが完了するとエントリがポップされ、戻り先タスクから実行が再開されます。 variables List [] 0 ~ 1000 items ステートマシンごとの状態変数 コール階層内の各ステートマシンの現在の変数値です。各エントリはステートマシン名と、int、float、string、bool、array、map 型をサポートする JSON シリアライズされた値を保持します。変数は同一実行インスタンス内の状態遷移を通じて永続化されます。 status 文字列列挙型 enum {   “Running”,   “Wait”,   “Pass”,   “Error” } “Running” ステータス このステートマシンインスタンスの現在の実行状態です。「Running」はマシンが遷移を処理中であることを意味します。「Wait」はマシンが外部イベント（emit）を待機中であることを意味します。「Pass」は正常に完了したことを意味します。「Error」はエラーで終了したことを意味します。 定義 説明 “Running” 実行中 “Wait” 待機中 “Pass” 終了 “Error” エラー lastError string ~ 1024文字 最後のエラー 最後に発生したエラーのメッセージです。ステータスが「Error」に遷移した際に設定されます。ステートマシンが異常終了した原因の詳細を含みます。 transitionCount int 0 0 ~ 2147483645 遷移回数 この実行インスタンスで実行された状態遷移の合計回数です。遷移ごとに加算されます。この値が1000を超えると、無限ループを防ぐためステートマシンはエラーで終了します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 StackEntry スタックエントリ サブステートマシンのコールスタック内の1つのエントリを表します。ステートマシンがサブステートマシンを呼び出すと、呼び出し元の名前と戻り先タスクがスタックにプッシュされます。サブステートマシンが完了すると、ポップされたエントリの戻り先タスクから実行が再開されます。 詳細  stateMachineName string  ~ 128文字 ステートマシン名 このスタックエントリをプッシュした呼び出し元ステートマシンの名前です。サブステートマシンから戻る際に、どのステートマシンのコンテキストを復元するかの識別に使用されます。 taskName string  ~ 128文字 タスク名 サブステートマシンが完了した際に戻るタスク（状態）の名前です。呼び出し元ステートマシンのこのタスクから実行が再開されます。 Variable ステートマシンごとの状態変数 コール階層内の特定のステートマシンの現在の変数状態を保持します。値は int、float、string、bool、array、map データ型をサポートする JSON シリアライズされた表現です。 詳細  stateMachineName string  ~ 128文字 ステートマシン名 これらの変数を所有するステートマシンの名前です。ネストされたコール階層では、各ステートマシンがこの名前で識別される独立した変数スコープを持ちます。 value string  ~ 1048576文字 値 このステートマシンの JSON シリアライズされた変数値です。int、float、string、bool、array、map データ型をサポートします。ステートマシンが遷移やアクションを処理する際に更新されます。 Event イベント ステートマシン実行中に発生したイベントを表します。ステート変更イベント（状態遷移の記録）または emit イベント（外部アクションをトリガーするメッセージの送信）のいずれかです。 詳細  eventType 文字列列挙型 enum {   “change_state”,   “emit” }  イベントの種類 イベントの種類です。「change_state」はステートマシン内の状態遷移を記録します。「emit」は報酬の付与やリソースの消費などの外部アクションをトリガーするメッセージの送信を表します。 定義 説明 “change_state” ステートの変更 “emit” メッセージの送信 changeStateEvent ChangeStateEvent {eventType} == “change_state” ※ ステートの変更 ※ eventType が “change_state” であれば 必須 emitEvent EmitEvent {eventType} == “emit” ※ メッセージの送信 ※ eventType が “emit” であれば 必須 ChangeStateEvent ステートの変更イベント ステートマシン内で発生した状態遷移を記録します。遷移先のタスク名、整合性検証用のハッシュ、および遷移のタイムスタンプを含みます。 詳細  taskName string  ~ 128文字 タスク名 ステートマシンが遷移した先のタスク（状態）の名前です。 hash string  ~ 64文字 ハッシュ 状態遷移の整合性を検証するためのハッシュ値です。遷移が正しく実行され、状態が一貫していることを検証するために使用されます。 timestamp long  タイムスタンプ EmitEvent メッセージの送信イベント 外部アクションをトリガーするためにステートマシンが送信するメッセージを表します。イベント名はアクションの種類を識別し、パラメータはアクション固有のデータを提供します。 詳細  event string  ~ 128文字 イベント名 送信されたイベントの種類を識別する名前です。報酬の付与やリソースの消費など、どの外部アクションを呼び出すかの判定に使用されます。 parameters string  ~ 1024文字 パラメータ 送信されたイベントに渡されるパラメータです。このイベントによってトリガーされる外部アクションを設定するために使用される、アクション固有のデータをシリアライズ形式で含みます。 timestamp long  タイムスタンプ RandomStatus 乱数の状態 ステートマシン実行インスタンスの乱数生成状態を管理します。シード値とカテゴリごとの使用状況追跡を含みます。投機的実行時にクライアントとサーバーで決定論的な乱数動作を保証するために使用されます。 詳細  seed long  0 ~ 4294967294 乱数シード ステートマシン実行内での決定論的な乱数生成のためのシード値です。 used List 0 ~ 1000 items 使用済み乱数リスト カテゴリごとに消費された乱数を追跡します。各カテゴリは乱数使用の異なる目的を表し、投機的再実行時の一貫性を維持するための独立した追跡を可能にします。 RandomUsed 使用済み乱数 ステートマシン実行内の特定カテゴリで消費された乱数の数を追跡します。各カテゴリは異なる目的での独立した乱数追跡を可能にします。 詳細  category long  0 ~ 4294967294 カテゴリ 乱数使用カテゴリの数値識別子です。各カテゴリは乱数消費を独立して追跡し、ステートマシンが異なる目的に別々の乱数シーケンスを使用できるようにします。 used long  0 ~ 4294967294 使用回数 このカテゴリで消費された乱数の数です。このカテゴリのシーケンスから乱数が引かれるたびに増加します。 VerifyActionResult 検証アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 verifyRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード verifyResult string ~ 1048576文字 結果内容 ConsumeActionResult 消費アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 consumeRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード consumeResult string ~ 1048576文字 結果内容 AcquireActionResult 入手アクションの実行結果 詳細  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 acquireRequest string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 statusCode int 0 ~ 999 ステータスコード acquireResult string ~ 1048576文字 結果内容 TransactionResult トランザクション実行結果 サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果 詳細  transactionId string  36 ~ 36文字 トランザクションID verifyResults List 0 ~ 10 items 検証アクションの実行結果リスト consumeResults List [] 0 ~ 10 items 消費アクションの実行結果リスト acquireResults List [] 0 ~ 100 items 入手アクションの実行結果リスト hasError bool false トランザクション実行中にエラーが発生したかどうか StateMachineMaster ステートマシン定義 GSLで記述されたステートマシンを管理します。 詳細  stateMachineId string ※ ~ 1024文字 ステートマシンマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 mainStateMachineName string  ~ 128文字 メインステートマシン名 GSL 定義内のエントリポイントとなるステートマシンの名前です。このステートマシンから実行が開始され、スタック機構を通じてサブステートマシンを呼び出すことができます。 payload string  ~ 5242880文字 ステートマシン定義 ステートマシンの状態、遷移、アクションを定義する GSL（GS2 State Language）のソースコードです。効率的な取得のためにメタデータとは別に保存されます。 version long  0 ~ 32503680000000 バージョン このステートマシン定義のバージョン識別子です。作成時に自動的に割り当てられます。ネームスペースの lowestStateMachineVersion と組み合わせて、実行中インスタンスのバージョン互換性を強制するために使用されます。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 supportSpeculativeExecution 文字列列挙型 enum {   “enable”,   “disable” } “disable” 投機的実行をサポートするか 有効にすると、ステートマシン定義と乱数状態が Status エンティティに埋め込まれ、クライアントがサーバー確認前にローカルで状態遷移をシミュレーションできるようになります。transactionSetting の設定が必要です。 定義 説明 “enable” 有効 “disable” 無効 transactionSetting TransactionSetting {supportSpeculativeExecution} == “enable” トランザクション設定 ステートマシンの emit アクション実行時のトランザクションの処理方法を制御する設定です。投機的実行を有効にする場合に必要です。 ※ supportSpeculativeExecution が “enable” であれば有効 startScript ScriptSetting ステートマシンを起動したときに実行するスクリプトの設定 Script トリガーリファレンス - start passScript ScriptSetting ステートマシンが正常終了したときに実行するスクリプトの設定 Script トリガーリファレンス - pass errorScript ScriptSetting ステートマシンが異常終了したときに実行するスクリプトの設定 Script トリガーリファレンス - error lowestStateMachineVersion long ステートマシンの最低バージョン 実行可能なステートマシンの最低バージョンです。この値より古いバージョンのステートマシンで作成された Status インスタンスは拒否され、すべての実行中インスタンスが最新の定義を使用することが保証されます。 logSetting LogSetting ログの出力設定 ステートマシンの実行、状態遷移、emit イベントに関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 supportSpeculativeExecution 文字列列挙型 enum {   “enable”,   “disable” } “disable” 投機的実行をサポートするか 有効にすると、ステートマシン定義と乱数状態が Status エンティティに埋め込まれ、クライアントがサーバー確認前にローカルで状態遷移をシミュレーションできるようになります。transactionSetting の設定が必要です。 定義 説明 “enable” 有効 “disable” 無効 transactionSetting TransactionSetting {supportSpeculativeExecution} == “enable” トランザクション設定 ステートマシンの emit アクション実行時のトランザクションの処理方法を制御する設定です。投機的実行を有効にする場合に必要です。 ※ supportSpeculativeExecution が “enable” であれば有効 startScript ScriptSetting ステートマシンを起動したときに実行するスクリプトの設定 Script トリガーリファレンス - start passScript ScriptSetting ステートマシンが正常終了したときに実行するスクリプトの設定 Script トリガーリファレンス - pass errorScript ScriptSetting ステートマシンが異常終了したときに実行するスクリプトの設定 Script トリガーリファレンス - error lowestStateMachineVersion long ステートマシンの最低バージョン 実行可能なステートマシンの最低バージョンです。この値より古いバージョンのステートマシンで作成された Status インスタンスは拒否され、すべての実行中インスタンスが最新の定義を使用することが保証されます。 logSetting LogSetting ログの出力設定 ステートマシンの実行、状態遷移、emit イベントに関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータのクリーニングを実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeStatuses ステートマシンの状態のリストを取得 リクエストしたユーザーのステートマシン状態のページネーション付きリストを取得します。ステータス（Running、Pass、Error）でフィルタリングして、特定の状態のステートマシンのみを取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン status 文字列列挙型 enum {   “Running”,   “Wait”,   “Pass”,   “Error” } ステータス このステートマシンインスタンスの現在の実行状態です。「Running」はマシンが遷移を処理中であることを意味します。「Wait」はマシンが外部イベント（emit）を待機中であることを意味します。「Pass」は正常に完了したことを意味します。「Error」はエラーで終了したことを意味します。 定義 説明 “Running” 実行中 “Wait” 待機中 “Pass” 終了 “Error” エラー pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ステートマシンの状態のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeStatusesByUserId ユーザーIDを指定してステートマシンの状態のリストを取得 指定したユーザーのステートマシン状態のページネーション付きリストを取得します。ステータス（Running、Pass、Error）でフィルタリングして、特定の状態のステートマシンのみを取得できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID status 文字列列挙型 enum {   “Running”,   “Wait”,   “Pass”,   “Error” } ステータス このステートマシンインスタンスの現在の実行状態です。「Running」はマシンが遷移を処理中であることを意味します。「Wait」はマシンが外部イベント（emit）を待機中であることを意味します。「Pass」は正常に完了したことを意味します。「Error」はエラーで終了したことを意味します。 定義 説明 “Running” 実行中 “Wait” 待機中 “Pass” 終了 “Error” エラー pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List ステートマシンの状態のリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 getStatus ステートマシンの状態を取得 現在の状態、変数、スタックトレース、エラー情報を含む、リクエストしたユーザーのステートマシン状態を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン statusName string  ~ 36文字 ステータス名 Result 型 説明 item Status ステートマシンの状態 実装例 getStatusByUserId ユーザーIDを指定してステートマシンの状態を取得 現在の状態、変数、スタックトレース、エラー情報を含む、指定したユーザーのステートマシン状態を取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID statusName string  ~ 36文字 ステータス名 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステートマシンの状態 実装例 startStateMachineByUserId ユーザーIDを指定してステートマシンを開始 最新のマスターバージョンを使用して、指定したユーザーの新しいステートマシンインスタンスを開始します。引数はJSONとして渡され、ステートマシン変数にパースされます。オプションのTTL（分単位）を設定できます。省略した場合、ステートマシンは約10年間有効です。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID args string “{}” ~ 4096文字 ステートマシンに渡す引数 ttl int 1 ~ 525600 有効期間(分) timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 開始したステートマシンの状態 実装例 emit ステートマシンにイベントを送信 名前付きイベントとJSON引数をステートマシンに送信し、状態遷移をトリガーします。ステートマシンのバージョンがネームスペースのlowestStateMachineVersionより低い場合、ステータスは自動的に削除されNotFoundエラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン statusName string  ~ 36文字 ステータス名 eventName string  ~ 36文字 イベントの名前 args string “{}” ~ 4096文字 ステートマシンに渡す引数 Result 型 説明 item Status ステートマシンの状態 実装例 emitByUserId ユーザーIDを指定してステートマシンにイベントを送信 指定したユーザーのステートマシンに名前付きイベントとJSON引数を送信し、状態遷移をトリガーします。ステートマシンのバージョンがネームスペースのlowestStateMachineVersionより低い場合、ステータスは自動的に削除されNotFoundエラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID statusName string  ~ 36文字 ステータス名 eventName string  ~ 36文字 イベントの名前 args string “{}” ~ 4096文字 ステートマシンに渡す引数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステートマシンの状態 実装例 report ステートマシンに複数のイベントを報告 投機的実行を使用してクライアント側で処理されたイベントのバッチを報告します。サーバーはイベントをリプレイして状態遷移を検証します。結果の状態がクライアントの報告した状態と一致しない場合、StateMismatchエラーが返されます。ネームスペースで投機的実行が有効になっている必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン statusName string  ~ 36文字 ステータス名 events List 0 ~ 1000 items イベントのリスト Result 型 説明 item Status ステートマシンの状態 実装例 reportByUserId ユーザーIDを指定してステートマシンに複数のイベントを報告 指定したユーザーについて、投機的実行を使用してクライアント側で処理されたイベントのバッチを報告します。サーバーはイベントをリプレイして状態遷移を検証します。結果の状態がクライアントの報告した状態と一致しない場合、StateMismatchエラーが返されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID statusName string  ~ 36文字 ステータス名 events List 0 ~ 1000 items イベントのリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status ステートマシンの状態 実装例 deleteStatusByUserId ユーザーIDを指定してステートマシンを削除 現在の状態（Running、Pass、Error）に関係なく、ステートマシンの状態を強制的に削除します。Exitとは異なり、ステートマシンが終端状態に達している必要はありません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID statusName string  ~ 36文字 ステータス名 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 削除したステートマシンの状態 実装例 exitStateMachine ステートマシンを終了して削除 ステートマシンの状態が「Pass」または「Error」の時にのみ使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン statusName string  ~ 36文字 ステータス名 Result 型 説明 item Status 終了したステートマシンの状態 実装例 exitStateMachineByUserId ユーザーIDを指定してステートマシンを終了して削除 ステートマシンの状態が「Pass」または「Error」の時にのみ使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID statusName string  ~ 36文字 ステータス名 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item Status 終了したステートマシンの状態 実装例 describeStateMachineMasters ステートマシンマスターの一覧を取得 ステートマシンマスターのバージョン一覧をページネーション付きで取得します。各バージョンにはメインステートマシン名とステートマシンロジックを定義するGS2 Scriptペイロードが含まれます。タイムスタンプベースのバージョン番号で識別される複数のバージョンが同時に存在できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ステートマシンマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 updateStateMachineMaster ステートマシンマスターを作成または更新 ステートマシンマスターの新しいバージョンを作成します。GS2 Scriptステートマシン定義を含むペイロードは保存前にパース検証されます。このAPIを呼び出すたびにタイムスタンプベースのバージョン番号で新しいバージョンが作成され、以前のバージョンは保持されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mainStateMachineName string  ~ 128文字 メインステートマシン名 GSL 定義内のエントリポイントとなるステートマシンの名前です。このステートマシンから実行が開始され、スタック機構を通じてサブステートマシンを呼び出すことができます。 payload string  ~ 5242880文字 ステートマシン定義 ステートマシンの状態、遷移、アクションを定義する GSL（GS2 State Language）のソースコードです。効率的な取得のためにメタデータとは別に保存されます。 Result 型 説明 item StateMachineMaster 作成したステートマシンマスター 実装例 getStateMachineMaster ステートマシンマスターを取得 ステートマシンロジックを定義するメインステートマシン名とGS2 Scriptペイロードを含む、指定されたバージョンのステートマシンマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 version long  0 ~ 32503680000000 バージョン このステートマシン定義のバージョン識別子です。作成時に自動的に割り当てられます。ネームスペースの lowestStateMachineVersion と組み合わせて、実行中インスタンスのバージョン互換性を強制するために使用されます。 Result 型 説明 item StateMachineMaster ステートマシンマスター 実装例 deleteStateMachineMaster ステートマシンマスターを削除 指定されたバージョンのステートマシンマスターを削除します。このバージョンで開始済みの実行中のステートマシンは引き続き動作しますが、削除されたバージョンで新しいステートマシンを開始することはできません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 version long  0 ~ 32503680000000 バージョン このステートマシン定義のバージョン識別子です。作成時に自動的に割り当てられます。ネームスペースの lowestStateMachineVersion と組み合わせて、実行中インスタンスのバージョン互換性を強制するために使用されます。 Result 型 説明 item StateMachineMaster 削除したステートマシンマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-StateMachine SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-StateMachine SDK API リファレンス","url":"/ja/api_reference/state_machine/sdk/"},{"content":"モデル Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 バージョンチェック操作時のトランザクションの処理方法を制御する設定です。 assumeUserId string  ~ 1024文字 バージョンチェックを通過した場合に昇格する GS2-Identifier ユーザー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN バージョンチェックが通過した際に権限を引き受ける GS2-Identifier ユーザーです。バージョン検証が成功した後、システムがユーザーに代わって認可されたアクション（アクセスの付与など）を実行できるようにします。 acceptVersionScript ScriptSetting バージョンを承認したときに実行するスクリプトの設定 Script トリガーリファレンス - acceptVersion checkVersionTriggerScriptId string ~ 1024文字 バージョンチェック処理を実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - checkVersion logSetting LogSetting ログの出力設定 バージョンチェックおよびバージョン承認操作に関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。 詳細  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。 詳細  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。 詳細  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 GitHubCheckoutSetting GitHubからマスターデータをチェックアウトする設定 詳細  apiKeyId string  ~ 1024文字 GitHub APIキーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN repositoryName string  ~ 1024文字 リポジトリ名 sourcePath string  ~ 1024文字 マスターデータ（JSON）ファイルのパス referenceType 文字列列挙型 enum {   “commit_hash”,   “branch”,   “tag” }  コードの取得元 定義 説明 “commit_hash” コミットハッシュ “branch” ブランチ “tag” タグ commitHash string {referenceType} == “commit_hash” ※ ~ 1024文字 コミットハッシュ ※ referenceType が “commit_hash” であれば 必須 branchName string {referenceType} == “branch” ※ ~ 1024文字 ブランチ名 ※ referenceType が “branch” であれば 必須 tagName string {referenceType} == “tag” ※ ~ 1024文字 タグ名 ※ referenceType が “tag” であれば 必須 AcceptVersion 承認したバージョン アプリバージョンや、アセットバージョンのようなデータに紐づいたバージョンではなく 同意した利用規約のバージョンのようなユーザ毎にバージョン管理が必要なエンティティで使用します。 詳細  acceptVersionId string ※ ~ 1024文字 承認したバージョン GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 versionName string  ~ 128文字 バージョン名 この承認レコードが関連付けられているバージョンモデルの名前です。ユーザーの承認を特定のバージョンモデル定義に紐付けます。 userId string  ~ 128文字 ユーザーID version Version  バージョン ユーザーが承認または拒否したバージョン番号です。「active」スコープのバージョンモデルで使用される場合、バージョンチェック時にモデルの現在のバージョンと比較されます。 status 文字列列挙型 enum {   “accept”,   “reject” } “accept” ステータス このバージョンに対するユーザーの承認判断です。「accept」はユーザーがバージョンを承認したこと（例：利用規約への同意）を意味し、「reject」はユーザーが明示的に拒否したことを意味します。 定義 説明 “accept” 承認済み “reject” 拒否済み createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン VersionModel バージョンモデル バージョンモデルには、ログインを受け入れるが、バージョンアップ出来ることを通知する警告バージョンと、ログインを受け入れないエラーバージョンを設定できます。 現在のバージョンをクライアントに申告させるのに、署名の有無を指定できます。 署名付きを選択した場合、クライアントは嘘のバージョン申告を出来なくなります。 詳細  versionModelId string ※ ~ 1024文字 バージョンモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scope 文字列列挙型 enum {   “passive”,   “active” }  判定に使用するバージョン値の種類 バージョンチェックに使用するバージョン値の取得方法を決定します。「passive」はチェック時にクライアントが現在のバージョンを申告する方式、「active」はユーザーが過去に明示的に承認したバージョン（利用規約への同意など）を使用する方式です。 定義 説明 “passive” クライアントから送信 “active” 過去明示的に承認したバージョン type 文字列列挙型 enum {   “simple”,   “schedule” } “simple” バージョンチェックモード バージョンチェックの方式を選択します。「simple」は固定の警告・エラーバージョン閾値を使用し、「schedule」は GS2-Schedule のイベントを利用して時期に応じた異なるバージョン閾値を適用します。 定義 説明 “simple” シンプル “schedule” 時系列切り替え currentVersion Version {type} == “simple” and {scope} == “active” ※ 現在のバージョン このバージョンモデルの最新バージョンです。「simple」モードの「active」スコープでのみ使用され、ユーザーがバージョン更新を承認・確認する際に現在のバージョンを通知します。 ※ type が “simple” で かつ scope が “active” であれば 必須 warningVersion Version {type} == “simple” ※ バージョンアップを促すバージョン アップグレード通知を表示する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、ログインは許可されますがユーザーにアップグレードが促されます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば 必須 errorVersion Version {type} == “simple” ※ バージョンチェックでエラーになるバージョン ログインを許可する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、バージョンチェックがエラーとなりログインがブロックされます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば 必須 scheduleVersions List {type} == “schedule” 0 ~ 10 items 時系列で切り替わるバージョンチェック内容リスト GS2-Schedule のイベントに基づいて異なるタイミングで有効になるバージョンチェック設定のリストです。更新を必須にする前に警告を表示するなど、段階的なバージョン強制が可能になります。 ※ type が “schedule” であれば 有効 needSignature bool {scope} == “passive” ※ 判定するバージョン値に署名検証を必要とするか 有効にすると、クライアントはバージョン申告と共に暗号署名を提供する必要があります。これにより、クライアントがバージョンチェックを回避するために偽のバージョンを申告することを防止します。スコープが「passive」の場合にのみ適用されます。 ※ scope が “passive” であれば 必須 signatureKeyId string {needSignature} ※ ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ needSignature が “true” であれば 必須 approveRequirement 文字列列挙型 enum {   “required”,   “optional” } {scope} == “active” “required” 承認の必要性 このバージョンモデルに対するユーザー承認が必須か任意かを制御します。「required」の場合、ユーザーが現在のバージョンを承認していないとバージョンチェックが失敗します。「optional」の場合、承認状態に関係なくバージョンチェックが通過します。スコープが「active」の場合にのみ適用されます。 定義 説明 “required” 承認が必要 “optional” 任意の承認 ※ scope が “active” であれば 有効 Status バージョンの状態 バージョンの検証結果を表します。チェックに使用されたバージョンモデルと、クライアントから申告された、またはユーザー承認から記録された現在のバージョンを含みます。バージョンチェック結果の一部として返され、バージョンが最新か、アップグレード警告が必要か、ブロックされるかをクライアントに通知します。 詳細  versionModel VersionModel  バージョンモデル このバージョンチェックに使用されたバージョンモデル定義です。チェック結果を決定した警告・エラーバージョン閾値、スコープ、その他の設定を含みます。 currentVersion Version 現在のバージョン バージョンチェック時に評価されたバージョンです。「passive」スコープの場合はクライアントが申告したバージョン、「active」スコープの場合はユーザーが過去に承認したバージョンです。バージョン情報が利用できない場合は存在しないことがあります。 TargetVersion 検証するバージョン バージョンチェックのためにクライアントが送信するバージョン申告を表します。署名なしモードではバージョンを直接指定します。署名ありモードでは、改ざん防止のために暗号署名と共にバージョンがボディに埋め込まれます。 詳細  versionName string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 body string ~ 1048576文字 ボディ バージョン情報を含む署名済みペイロードです。署名検証が有効な場合（needSignature が true）に使用されます。ボディには署名と照合可能な形式でバージョンデータが含まれます。 signature string ~ 256文字 署名 ボディの内容を検証するための暗号署名です。提供された場合、サーバーはバージョンモデルで設定された GS2-Key の暗号鍵を使用して署名を検証し、申告されたバージョンを受け入れます。 version Version {signature} == \"\" ※ バージョン 検証対象のバージョン番号です。署名検証が不要な場合（署名が未提供）に使用されます。署名が提供されている場合、バージョンは署名済みボディから抽出されます。 ※ signature が \"\" であれば 必須 SignTargetVersion 署名対象バージョン バージョン申告の署名対象として使用されるデータ構造です。リージョン、オーナー、ネームスペース、バージョンモデル名、バージョン番号を含みます。このデータを GS2-Key の暗号鍵で署名することで、クライアントがバージョンチェックに送信する改ざん防止されたバージョン申告を生成します。 詳細  region string  ~ 128文字 リージョン namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 versionName string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 version Version  バージョン 署名済みペイロードに含まれるバージョン番号です。このバージョンはネームスペースやバージョンモデルのコンテキストと共に、暗号署名されるデータを構成します。 Version バージョン 3階層（メジャー、マイナー、マイクロ）のバージョン番号を表します。バージョンの比較はメジャー、マイナー、マイクロの順に階層的に行われます。バージョンチェックの警告・エラー閾値の定義に使用されます。 詳細  major int  0 ~ 2147483646 メジャーバージョン バージョン比較で最も優先度の高いコンポーネントです。メジャーバージョンの差異はマイナーバージョンやマイクロバージョンより優先されます。 minor int  0 ~ 2147483646 マイナーバージョン バージョン比較で2番目に優先されるコンポーネントです。メジャーバージョンが同一の場合にのみ比較されます。 micro int  0 ~ 2147483646 マイクロバージョン バージョン比較で最も優先度の低いコンポーネントです。メジャーバージョンとマイナーバージョンがともに同一の場合にのみ比較されます。 ScheduleVersion 時系列で切り替わるバージョン GS2-Schedule のイベントで制御される特定の期間中に有効になるバージョン閾値（現在、警告、エラー）のセットを定義します。複数のスケジュールバージョンを設定することで、古いクライアントをブロックする前にユーザーに警告するなど、段階的なバージョン強制を実装できます。 詳細  currentVersion Version  現在のバージョン このスケジュール期間中に利用可能な最新バージョンです。「active」スコープでユーザーが更新を承認する際に現在のバージョンを通知するために使用されます。 warningVersion Version  バージョンアップを促すバージョン このスケジュール期間中にアップグレード通知を表示する最低バージョン閾値です。ログインは許可されますがユーザーにアップグレードが促されます。 errorVersion Version  バージョンチェックでエラーになるバージョン このスケジュール期間中にログインを許可する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、バージョンチェックがエラーとなりログインがブロックされます。 scheduleEventId string ~ 1024文字 バージョンチェックを有効化する期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このバージョン閾値セットが有効になる期間を制御する GS2-Schedule のイベントを指定します。ここで定義されたバージョンチェック設定は、指定したイベントがアクティブな期間にのみ適用されます。 CurrentVersionMaster 現在アクティブなバージョンモデルのマスターデータ 現在ネームスペース内で有効な、バージョンモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Version マスターデータリファレンス をご参照ください。 詳細  namespaceId string ※ ~ 1024文字 ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 settings string  ~ 5242880 バイト (5MB) マスターデータ VersionModelMaster バージョンモデルマスター バージョンモデルマスターは、ゲーム内で使用されるバージョンモデルの編集・管理用データで、マネージメントコンソールのマスターデータエディタで一時的に保持されます。 インポート・更新処理を行うことで、実際にゲームから参照されるバージョンモデルとして反映されます。 バージョンモデルには、ログインを受け入れるが、バージョンアップ出来ることを通知する警告バージョンと、ログインを受け入れないエラーバージョンを設定できます。 現在のバージョンをクライアントに申告させるのに、署名の有無を指定できます。 署名付きを選択した場合、クライアントは嘘のバージョン申告を出来なくなります。 詳細  versionModelId string ※ ~ 1024文字 バージョンモデルマスター GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scope 文字列列挙型 enum {   “passive”,   “active” }  判定に使用するバージョン値の種類 バージョンチェックに使用するバージョン値の取得方法を決定します。「passive」はチェック時にクライアントが現在のバージョンを申告する方式、「active」はユーザーが過去に明示的に承認したバージョン（利用規約への同意など）を使用する方式です。 定義 説明 “passive” クライアントから送信 “active” 過去明示的に承認したバージョン type 文字列列挙型 enum {   “simple”,   “schedule” } “simple” バージョンチェックモード バージョンチェックの方式を選択します。「simple」は固定の警告・エラーバージョン閾値を使用し、「schedule」は GS2-Schedule のイベントを利用して時期に応じた異なるバージョン閾値を適用します。 定義 説明 “simple” シンプル “schedule” 時系列切り替え currentVersion Version {type} == “simple” and {scope} == “active” ※ 現在のバージョン このバージョンモデルの最新バージョンです。「simple」モードの「active」スコープでのみ使用され、ユーザーがバージョン更新を承認・確認する際に現在のバージョンを通知します。 ※ type が “simple” で かつ scope が “active” であれば 必須 warningVersion Version {type} == “simple” ※ バージョンアップを促すバージョン アップグレード通知を表示する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、ログインは許可されますがユーザーにアップグレードが促されます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば 必須 errorVersion Version {type} == “simple” ※ バージョンチェックでエラーになるバージョン ログインを許可する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、バージョンチェックがエラーとなりログインがブロックされます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば 必須 scheduleVersions List {type} == “schedule” 0 ~ 10 items 時系列で切り替わるバージョンチェック内容リスト GS2-Schedule のイベントに基づいて異なるタイミングで有効になるバージョンチェック設定のリストです。更新を必須にする前に警告を表示するなど、段階的なバージョン強制が可能になります。 ※ type が “schedule” であれば 有効 needSignature bool {scope} == “passive” ※ 判定するバージョン値に署名検証を必要とするか 有効にすると、クライアントはバージョン申告と共に暗号署名を提供する必要があります。これにより、クライアントがバージョンチェックを回避するために偽のバージョンを申告することを防止します。スコープが「passive」の場合にのみ適用されます。 ※ scope が “passive” であれば 必須 signatureKeyId string {needSignature} ※ ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ needSignature が “true” であれば 必須 approveRequirement 文字列列挙型 enum {   “required”,   “optional” } {scope} == “active” “required” 承認の必要性 このバージョンモデルに対するユーザー承認が必須か任意かを制御します。「required」の場合、ユーザーが現在のバージョンを承認していないとバージョンチェックが失敗します。「optional」の場合、承認状態に関係なくバージョンチェックが通過します。スコープが「active」の場合にのみ適用されます。 定義 説明 “required” 承認が必要 “optional” 任意の承認 ※ scope が “active” であれば 有効 createdAt long ※ 現在時刻 作成日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 updatedAt long ※ 現在時刻 最終更新日時 UNIX 時間・ミリ秒 ※ サーバーが自動で設定 revision long 0 0 ~ 9223372036854775805 リビジョン メソッド describeNamespaces ネームスペースの一覧を取得 プロジェクト内において、サービス単位で作成されたネームスペースの一覧を取得します。 オプションのページトークンを使用して、リストの特定の位置からデータの取得を開始できます。 また、取得するネームスペースの数を制限することも可能です。 詳細 Request  namePrefix string ~ 64文字 ネームスペース名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List ネームスペースのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createNamespace ネームスペースを新規作成 ネームスペースの名前、説明、および各種設定を含む詳細情報を指定する必要があります。 詳細 Request  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 バージョンチェック操作時のトランザクションの処理方法を制御する設定です。 assumeUserId string  ~ 1024文字 バージョンチェックを通過した場合に昇格する GS2-Identifier ユーザー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN acceptVersionScript ScriptSetting バージョンを承認したときに実行するスクリプトの設定 Script トリガーリファレンス - acceptVersion checkVersionTriggerScriptId string ~ 1024文字 バージョンチェック処理を実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN logSetting LogSetting ログの出力設定 バージョンチェックおよびバージョン承認操作に関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 Result 型 説明 item Namespace 作成したネームスペース 実装例 getNamespaceStatus ネームスペースの状態を取得 指定されたネームスペースの現在の状態を取得します。 これには、ネームスペースがアクティブか、保留中か、またはその他の状態にあるかが含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 status string 実装例 getNamespace ネームスペースを取得 指定されたネームスペースの詳細情報を取得します。 これには、ネームスペースの名前、説明、およびその他の設定情報が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace ネームスペース 実装例 updateNamespace ネームスペースを更新 指定されたネームスペースの設定を更新します。 ネームスペースの説明や、特定の設定を変更することができます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 バージョンチェック操作時のトランザクションの処理方法を制御する設定です。 assumeUserId string  ~ 1024文字 バージョンチェックを通過した場合に昇格する GS2-Identifier ユーザー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN acceptVersionScript ScriptSetting バージョンを承認したときに実行するスクリプトの設定 Script トリガーリファレンス - acceptVersion checkVersionTriggerScriptId string ~ 1024文字 バージョンチェック処理を実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN logSetting LogSetting ログの出力設定 バージョンチェックおよびバージョン承認操作に関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 Result 型 説明 item Namespace 更新したネームスペース 実装例 deleteNamespace ネームスペースを削除 指定されたネームスペースを削除します。 この操作は不可逆であり、削除されたネームスペースに関連するすべてのデータは回復不能になります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item Namespace 削除したネームスペース 実装例 getServiceVersion マイクロサービスのバージョンを取得 詳細 Request Request parameters: None Result 型 説明 item string バージョン 実装例 dumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプを取得 個人情報保護の法的要件を満たすために使用したり、データのバックアップや移行に使用できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkDumpUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力データのURL 実装例 cleanUserDataByUserId ユーザーデータの完全削除 指定されたユーザーIDに紐づくデータの削除を実行します。 これにより、特定のユーザーデータをプロジェクトから安全に削除できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkCleanUserDataByUserId 指定したユーザーIDに紐づくデータのダンプが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 prepareImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIの戻り値で応答されたURLにエクスポートした zip ファイルをアップロードし、importUserDataByUserId を呼び出すことで実際のインポート処理を開始できます。 詳細 Request  userId string  ~ 128文字 ユーザーID timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string ユーザーデータアップロード処理の実行に使用するURL 実装例 importUserDataByUserId 指定したユーザーIDに紐づくデータのインポートを実行 インポートに使用できるデータは GS2 によってエクスポートして取得したデータに限定され、古いデータはインポートに失敗する可能性があります。 エクスポートしたユーザーIDと異なるユーザーIDでインポートすることができますが、ユーザーデータのペイロード内にユーザーIDが含まれる場合はその限りではありません。 このAPIを呼び出す前に prepareImportUserDataByUserId を呼び出して、アップロード準備を完了させる必要があります。 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 実装例 checkImportUserDataByUserId 指定したユーザーIDに紐づくデータのインポートが完了しているか確認 詳細 Request  userId string  ~ 128文字 ユーザーID uploadToken string  ~ 1024文字 アップロード準備で受け取ったトークン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 url string 出力ログのURL 実装例 describeAcceptVersions 承認したバージョンの一覧を取得 リクエストしたユーザーが承認または否認したバージョンのページネーション付きリストを取得します。各レコードにはバージョンモデル名と承認/否認されたバージョン番号が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List 承認したバージョンのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 describeAcceptVersionsByUserId ユーザーIDを指定して承認したバージョンの一覧を取得 指定したユーザーが承認または否認したバージョンのページネーション付きリストを取得します。各レコードにはバージョンモデル名と承認/否認されたバージョン番号が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 items List 承認したバージョンのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 accept 現在のバージョンを承認 利用規約などで本機能を利用する場合、ユーザーが利用規約を確認している間にサーバーの現在のバージョンが更新された時にエラーとするため version 引数に同意しようとしているバージョンを指定してください。 バージョンを指定しなければ、最新のバージョンで承認が行われたこととなり、引数のバージョン指定があり、かつ、そのバージョンがエラーバージョン条件を満たす場合はエラーとなります。 エラーバージョン以外の条件を満たしていたとしても、APIは成功しクライアントが指定したバージョンで承認したことになります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 versionName string  ~ 128文字 バージョン名 この承認レコードが関連付けられているバージョンモデルの名前です。ユーザーの承認を特定のバージョンモデル定義に紐付けます。 accessToken string  ~ 128文字 アクセストークン version Version 承認したバージョン Result 型 説明 item AcceptVersion 承認したバージョン 実装例 acceptByUserId ユーザーIDを指定して現在のバージョンを承認 利用規約などで本機能を利用する場合、ユーザーが利用規約を確認している間にサーバーの現在のバージョンが更新された時にエラーとするため version 引数に同意しようとしているバージョンを指定してください。 バージョンを指定しなければ、最新のバージョンで承認が行われたこととなり、引数のバージョン指定があり、かつ、そのバージョンがエラーバージョン条件を満たす場合はエラーとなります。 エラーバージョン以外の条件を満たしていたとしても、APIは成功しクライアントが指定したバージョンで承認したことになります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 versionName string  ~ 128文字 バージョン名 この承認レコードが関連付けられているバージョンモデルの名前です。ユーザーの承認を特定のバージョンモデル定義に紐付けます。 userId string  ~ 128文字 ユーザーID version Version 承認したバージョン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item AcceptVersion 承認したバージョン 実装例 reject 現在のバージョンを否認 承認が必須でない規約で否認されたことを記録するために使用します。 このAPIを呼び出すためには VersionModel の approveRequirement が optional である必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 versionName string  ~ 128文字 バージョン名 この承認レコードが関連付けられているバージョンモデルの名前です。ユーザーの承認を特定のバージョンモデル定義に紐付けます。 accessToken string  ~ 128文字 アクセストークン version Version 否認したバージョン Result 型 説明 item AcceptVersion 否認したバージョン 実装例 rejectByUserId ユーザーIDを指定して現在のバージョンを否認 承認が必須でない規約で否認されたことを記録するために使用します。 このAPIを呼び出すためには VersionModel の approveRequirement が optional である必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 versionName string  ~ 128文字 バージョン名 この承認レコードが関連付けられているバージョンモデルの名前です。ユーザーの承認を特定のバージョンモデル定義に紐付けます。 userId string  ~ 128文字 ユーザーID version Version 否認したバージョン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item AcceptVersion 否認したバージョン 実装例 getAcceptVersion 承認したバージョンを取得 リクエストしたユーザーと指定されたバージョンモデルのバージョン承認レコードを取得します。承認または否認されたバージョン番号が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン versionName string  ~ 128文字 バージョン名 この承認レコードが関連付けられているバージョンモデルの名前です。ユーザーの承認を特定のバージョンモデル定義に紐付けます。 Result 型 説明 item AcceptVersion 承認したバージョン 実装例 getAcceptVersionByUserId ユーザーIDを指定して承認したバージョンを取得 指定したユーザーとバージョンモデルのバージョン承認レコードを取得します。承認または否認されたバージョン番号が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID versionName string  ~ 128文字 バージョン名 この承認レコードが関連付けられているバージョンモデルの名前です。ユーザーの承認を特定のバージョンモデル定義に紐付けます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item AcceptVersion 承認したバージョン 実装例 deleteAcceptVersion 承認したバージョンを削除 リクエストしたユーザーのバージョン承認レコードを削除します。削除後、バージョンモデルがactiveスコープを使用している場合、次回のバージョンチェック時にユーザーはバージョンを再承認する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン versionName string  ~ 128文字 バージョン名 この承認レコードが関連付けられているバージョンモデルの名前です。ユーザーの承認を特定のバージョンモデル定義に紐付けます。 Result 型 説明 item AcceptVersion 削除した承認バージョン 実装例 deleteAcceptVersionByUserId ユーザーIDを指定して承認したバージョンを削除 指定したユーザーのバージョン承認レコードを削除します。削除後、バージョンモデルがactiveスコープを使用している場合、次回のバージョンチェック時にユーザーはバージョンを再承認する必要があります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID versionName string  ~ 128文字 バージョン名 この承認レコードが関連付けられているバージョンモデルの名前です。ユーザーの承認を特定のバージョンモデル定義に紐付けます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 item AcceptVersion 削除した承認バージョン 実装例 checkVersion バージョンチェック ネームスペース内のすべてのバージョンモデルに対してクライアントのバージョンをチェックします。passiveスコープのモデルでは、targetVersionsからのクライアント報告バージョンが使用されます（オプションでキーサービスによる署名検証）。activeスコープのモデルでは、ユーザーが以前承認したバージョンが参照されます。バージョン閾値に基づいて警告とエラーの個別リストを返します。すべてのチェックがエラーなしで通過した場合、ネームスペースに設定されたユーザーIDを使用してプロジェクトトークンが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 accessToken string  ~ 128文字 アクセストークン targetVersions List [] 0 ~ 1000 items 検証するバージョンリスト Result 型 説明 projectToken string サインインしたプロジェクトトークン warnings List バージョンの検証結果 警告のリスト errors List バージョンの検証結果 エラーのリスト 実装例 checkVersionByUserId ユーザーIDを指定してバージョンチェック ネームスペース内のすべてのバージョンモデルに対して指定したユーザーのバージョンをチェックします。passiveスコープのモデルでは、targetVersionsからのクライアント報告バージョンが使用されます（オプションで署名検証）。activeスコープのモデルでは、ユーザーが以前承認したバージョンが参照されます。バージョン閾値に基づいて警告とエラーの個別リストを返します。すべてのチェックがエラーなしで通過した場合、プロジェクトトークンが発行されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID targetVersions List [] 0 ~ 1000 items 検証するバージョンリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Result 型 説明 projectToken string サインインしたプロジェクトトークン warnings List バージョンの検証結果 警告のリスト errors List バージョンの検証結果 エラーのリスト 実装例 calculateSignature バージョンの署名を計算 キーサービスを使用して指定されたバージョンの暗号署名を計算します。リージョン、オーナー、ネームスペースのコンテキストとともにバージョン情報がボディにシリアライズされ、バージョンモデルに設定された署名キーで署名されます。結果のボディと署名は、passiveスコープモデルでの署名検証付きバージョンチェックに使用できます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 versionName string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 version Version バージョン Result 型 説明 body string ボディ signature string 署名 実装例 describeVersionModels バージョンモデルの一覧を取得 現在アクティブなバージョンモデルのリストを取得します。各モデルにはスコープ（passive/active）、警告/エラーバージョンの閾値、スケジュールベースのバージョン制御、署名検証設定を含むバージョンチェックルールが定義されています。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 items List バージョンモデルのリスト 実装例 getVersionModel バージョンモデルを取得 スコープ、警告/エラーバージョンの閾値、スケジュールベースのバージョンルール、署名要件、承認設定を含む指定されたバージョンモデルを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 versionName string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item VersionModel バージョンモデル 実装例 exportMaster バージョンモデルマスターを有効化可能なマスターデータ形式でエクスポート 現在登録されているバージョンモデルマスターを有効化可能なマスターデータ形式でエクスポートします。エクスポートされたデータには、スコープ、バージョン閾値、スケジュールルール、署名設定、承認要件を含むすべてのバージョンモデル定義が含まれます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentVersionMaster 有効化可能なバージョンモデルのマスターデータ 実装例 getCurrentVersionMaster 現在アクティブなバージョンモデルのマスターデータを取得 バージョンチェックに使用されている、すべてのバージョンモデル定義を含む現在アクティブなバージョンモデルマスターデータを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item CurrentVersionMaster 現在アクティブなバージョンモデルのマスターデータ 実装例 preUpdateCurrentVersionMaster 現在アクティブなバージョンモデルのマスターデータを更新（3フェーズ版） 1MBを超えるマスターデータをアップロードする場合は、3フェーズで更新を行います。 このAPIを実行し、アップロード用のトークンとURLを取得します。 取得したURLに対して、マスターデータをアップロードします。 UpdateCurrentModelMaster にアップロードで取得したトークンを渡して実行し、マスターデータを反映します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 uploadToken string アップロード後に結果を反映する際に使用するトークン uploadUrl string アップロード処理の実行に使用するURL 実装例 updateCurrentVersionMaster 現在アクティブなバージョンモデルのマスターデータを更新 現在アクティブなバージョンモデルマスターデータを更新します。大容量マスターデータに対応するため、直接更新モードと事前アップロードモードの両方をサポートしています。事前アップロードモードでは、PreUpdate APIで取得したアップロードトークンを使用して設定を読み取ります。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 Result 型 説明 item CurrentVersionMaster 更新された現在アクティブなバージョンモデルのマスターデータ 実装例 updateCurrentVersionMasterFromGitHub 現在アクティブなバージョンモデルのマスターデータをGitHubから更新 指定されたチェックアウト設定を使用してGitHubリポジトリからマスターデータをチェックアウトし、現在アクティブなバージョンモデルマスターデータを更新します。GitHubとの認証にはキーサービス経由でAPIキーが復号されます。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 checkoutSetting GitHubCheckoutSetting  GitHubからマスターデータをチェックアウトする設定 Result 型 説明 item CurrentVersionMaster 更新された現在アクティブなバージョンモデルのマスターデータ 実装例 describeVersionModelMasters バージョンモデルマスターの一覧を取得 バージョンモデルマスターのページネーション付きリストを取得します。名前のプレフィックスでフィルタリングできます。各マスターにはスコープ（passive/active）、警告/エラーバージョンの閾値、スケジュールベースのバージョン制御、署名検証設定、承認要件を含むバージョンチェックルールが定義されています。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 namePrefix string ~ 64文字 バージョン名のフィルター接頭辞 pageToken string ~ 1024文字 データの取得を開始する位置を指定するトークン limit int 30 1 ~ 1000 データの取得件数 Result 型 説明 items List バージョンモデルマスターのリスト nextPageToken string リストの続きを取得するためのページトークン 実装例 createVersionModelMaster バージョンモデルマスターを新規作成 スコープ（passive: クライアント報告バージョン、active: サーバー管理の承認）、現在/警告/エラーバージョンの閾値、オプションのスケジュールベースのバージョンルール、署名検証設定、承認要件（required/optional）を持つ新しいバージョンモデルマスターを作成します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scope 文字列列挙型 enum {   “passive”,   “active” }  判定に使用するバージョン値の種類 バージョンチェックに使用するバージョン値の取得方法を決定します。「passive」はチェック時にクライアントが現在のバージョンを申告する方式、「active」はユーザーが過去に明示的に承認したバージョン（利用規約への同意など）を使用する方式です。 定義 説明 “passive” クライアントから送信 “active” 過去明示的に承認したバージョン type 文字列列挙型 enum {   “simple”,   “schedule” } “simple” バージョンチェックモード バージョンチェックの方式を選択します。「simple」は固定の警告・エラーバージョン閾値を使用し、「schedule」は GS2-Schedule のイベントを利用して時期に応じた異なるバージョン閾値を適用します。 定義 説明 “simple” シンプル “schedule” 時系列切り替え currentVersion Version {type} == “simple” and {scope} == “active” ※ 現在のバージョン このバージョンモデルの最新バージョンです。「simple」モードの「active」スコープでのみ使用され、ユーザーがバージョン更新を承認・確認する際に現在のバージョンを通知します。 ※ type が “simple” で かつ scope が “active” であれば 必須 warningVersion Version {type} == “simple” ※ バージョンアップを促すバージョン アップグレード通知を表示する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、ログインは許可されますがユーザーにアップグレードが促されます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば必須 errorVersion Version {type} == “simple” ※ バージョンチェックでエラーになるバージョン ログインを許可する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、バージョンチェックがエラーとなりログインがブロックされます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば必須 scheduleVersions List {type} == “schedule” 0 ~ 10 items 時系列で切り替わるバージョンチェック内容リスト GS2-Schedule のイベントに基づいて異なるタイミングで有効になるバージョンチェック設定のリストです。更新を必須にする前に警告を表示するなど、段階的なバージョン強制が可能になります。 ※ type が “schedule” であれば有効 needSignature bool {scope} == “passive” ※ 判定するバージョン値に署名検証を必要とするか 有効にすると、クライアントはバージョン申告と共に暗号署名を提供する必要があります。これにより、クライアントがバージョンチェックを回避するために偽のバージョンを申告することを防止します。スコープが「passive」の場合にのみ適用されます。 ※ scope が “passive” であれば必須 signatureKeyId string {needSignature} ※ ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ needSignature が “true” であれば必須 approveRequirement 文字列列挙型 enum {   “required”,   “optional” } {scope} == “active” “required” 承認の必要性 このバージョンモデルに対するユーザー承認が必須か任意かを制御します。「required」の場合、ユーザーが現在のバージョンを承認していないとバージョンチェックが失敗します。「optional」の場合、承認状態に関係なくバージョンチェックが通過します。スコープが「active」の場合にのみ適用されます。 定義 説明 “required” 承認が必要 “optional” 任意の承認 ※ scope が “active” であれば必須 Result 型 説明 item VersionModelMaster 作成したバージョンモデルマスター 実装例 getVersionModelMaster バージョンモデルマスターを取得 スコープ、バージョン閾値、スケジュールベースのルール、署名設定、承認要件を含む指定されたバージョンモデルマスターを取得します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 versionName string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item VersionModelMaster バージョンモデルマスター 実装例 updateVersionModelMaster バージョンモデルマスターを更新 指定されたバージョンモデルマスターのスコープ、バージョン閾値、スケジュールベースのルール、署名設定、承認要件を更新します。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 versionName string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scope 文字列列挙型 enum {   “passive”,   “active” }  判定に使用するバージョン値の種類 バージョンチェックに使用するバージョン値の取得方法を決定します。「passive」はチェック時にクライアントが現在のバージョンを申告する方式、「active」はユーザーが過去に明示的に承認したバージョン（利用規約への同意など）を使用する方式です。 定義 説明 “passive” クライアントから送信 “active” 過去明示的に承認したバージョン type 文字列列挙型 enum {   “simple”,   “schedule” } “simple” バージョンチェックモード バージョンチェックの方式を選択します。「simple」は固定の警告・エラーバージョン閾値を使用し、「schedule」は GS2-Schedule のイベントを利用して時期に応じた異なるバージョン閾値を適用します。 定義 説明 “simple” シンプル “schedule” 時系列切り替え currentVersion Version {type} == “simple” and {scope} == “active” ※ 現在のバージョン このバージョンモデルの最新バージョンです。「simple」モードの「active」スコープでのみ使用され、ユーザーがバージョン更新を承認・確認する際に現在のバージョンを通知します。 ※ type が “simple” で かつ scope が “active” であれば 必須 warningVersion Version {type} == “simple” ※ バージョンアップを促すバージョン アップグレード通知を表示する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、ログインは許可されますがユーザーにアップグレードが促されます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば必須 errorVersion Version {type} == “simple” ※ バージョンチェックでエラーになるバージョン ログインを許可する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、バージョンチェックがエラーとなりログインがブロックされます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば必須 scheduleVersions List {type} == “schedule” 0 ~ 10 items 時系列で切り替わるバージョンチェック内容リスト GS2-Schedule のイベントに基づいて異なるタイミングで有効になるバージョンチェック設定のリストです。更新を必須にする前に警告を表示するなど、段階的なバージョン強制が可能になります。 ※ type が “schedule” であれば有効 needSignature bool {scope} == “passive” ※ 判定するバージョン値に署名検証を必要とするか 有効にすると、クライアントはバージョン申告と共に暗号署名を提供する必要があります。これにより、クライアントがバージョンチェックを回避するために偽のバージョンを申告することを防止します。スコープが「passive」の場合にのみ適用されます。 ※ scope が “passive” であれば必須 signatureKeyId string {needSignature} ※ ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ needSignature が “true” であれば必須 approveRequirement 文字列列挙型 enum {   “required”,   “optional” } {scope} == “active” “required” 承認の必要性 このバージョンモデルに対するユーザー承認が必須か任意かを制御します。「required」の場合、ユーザーが現在のバージョンを承認していないとバージョンチェックが失敗します。「optional」の場合、承認状態に関係なくバージョンチェックが通過します。スコープが「active」の場合にのみ適用されます。 定義 説明 “required” 承認が必要 “optional” 任意の承認 ※ scope が “active” であれば必須 Result 型 説明 item VersionModelMaster 更新したバージョンモデルマスター 実装例 deleteVersionModelMaster バージョンモデルマスターを削除 指定されたバージョンモデルマスターを削除します。これはマスター定義のみを削除し、現在アクティブなバージョン設定には影響しません。 詳細 Request  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 versionName string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 Result 型 説明 item VersionModelMaster 削除したバージョンモデルマスター 実装例","lang":"ja","section":"api_reference","summary":"各種プログラミング言語向け GS2-Version SDK の モデルの仕様 と API のリファレンス\n","title":"GS2-Version SDK API リファレンス","url":"/ja/api_reference/version/sdk/"},{"content":"UI 構成 まずシーンの全体像をお見せします。 画面上部にインベントリの容量の使用状況を表示し、中央に所持アイテムの一覧、下部にアイテムを入手するボタンを用意しています。 コンテキスト Context の配置について解説します。 A は GS2-Inventory のインベントリコンテキストです。 B は GS2-Inventory のアイテムリストコンテキストです。 C は GS2-Inventory のアイテムコンテキストです。 D は GS2-Exchange で 無償で Potion を入手する交換レートコンテキストです。 E は GS2-Exchange で 無償で Ether を入手する交換レートコンテキストです。 実装解説 インベントリの消費容量を表示 InventoryWindow ノードには GS2-Inventory のインベントリを指定したコンテキストと、Inventory の情報を取得する Fetcher が指定されています。 Text には Gs2InventoryInventoryLabel が設定されており、 現在の消費容量 / 最大容量 という文字列をテキストコンポーネントの値に反映しています。 アイテムの一覧を取得 Gs2InventoryOwnItemSetFetcher でインベントリに含まれるアイテムの一覧を取得しています。 Gs2InventoryOwnItemSetList で 100個 の Item ノードを複製し、 それぞれの Item ノードが持つ Gs2InventoryOwnItemSetContext に所持しているアイテムの情報をコンテキスト情報として設定しています。 アイテムの表示 Item ノードは Gs2InventoryOwnItemSetContext を持ちますが、ここに ScriptableObject は設定していません。 なぜなら、Gs2InventoryItemSetList によって値が設定されるためです。 Fetcher でアイテムモデルと、所持情報をそれぞれ取得しています。 Name では、Gs2InventoryItemModelLabel を使用して、取得したアイテム名をテキストコンポーネントに反映しています。 Count では、Gs2InventoryOwnItemSetLabel を使用して、取得したアイテムの所持数量をテキストコンポーネントに反映しています。 Use ノードの配下には Gs2InventoryItemSetConsumeAction プレハブが配置されており、消費数量を1で指定してあります。 消費されるアイテムの種類はコンテキストによって決定されており、親階層に存在する Item ノードで指定されているアイテムが消費されます。 そして、消費処理が成功した場合、自分自身を無効化するように設定されています。 Use ノードにはボタンが配置されており、クリック時に Gs2InventoryItemSetConsumeAction プレハブ を有効化するように設定されています。 これによって、ボタンをクリックするとアイテムが1つ消費される動作となります。 アイテムの入手 アイテムを入手するAPIはゲーム内から呼び出せないため、今回は GS2-Exchange に無償で各アイテムを入手できる交換レートを用意し、交換を実行することでアイテムを入手できるように設定しています。 Acquire Potion ノードの配下には Gs2ExchangeExchangeExchangeAction プレハブが配置されており、 交換数量を1で指定してあります。 そして、交換処理が成功した場合、自分自身を無効化するように設定されています。 Acquire Potion ノードには交換レートコンテキストが設定されており、交換を実行するレートを指定しています。 ボタンコンポーネントも配置されており、ボタンをクリックすることで Gs2ExchangeExchangeExchangeAction プレハブを有効化しています。 Acquire Ether ノードも類似の設定が行われており、設定されている交換レートが Potion ではなく Ether が手に入る交換レートが設定されています。 動作確認 起動すると、最初は何もアイテムを所持していないため空のリストと、インベントリの消費容量が 0/10 という表示がされます。 Acquire Potion をクリックしてみます。 1度の交換でポーションを10個入手できる交換レートですので、アイテムの一覧に Potion が 10 個表示されました。 次は、Acquire Ether をクリックしてみます。 2行目が追加され、Ether が増えました。 Potion をさらに10回交換してみます。 Potion は 99個 スタックできる設定になっているため、99個のスタックと 11個のスタックに分かれました。 99個 のスタックの Use ボタンをクリックして Potion を消費してみます。 98個 になります。 次は、11個 のスタックの Use ボタンをクリックして Potion を消費してみます。 10個 になりました。 最後に ノーコードでここまで出来るのは少し驚きだったのではないでしょうか？ まだまだ UI Kit の解説は続きます。ぜひ続きもご覧ください。","lang":"ja","section":"get_start","summary":"もう少し高度なチュートリアルにも挑戦してみましょう","title":"UI Kit を使ってアイテムインベントリを実装","url":"/ja/get_start/uikit/inventory/"},{"content":"GS2 の API を呼び出すには、認証情報（クレデンシャル）が必要です。 クレデンシャルを作成する方法は2通りあります。 初めての方は、手順が直感的に分かりやすい マネージメントコンソール を使用する方法をおすすめします。 マネージメントコンソールを使用して作成する GS2-Deploy を使用して作成する","lang":"ja","section":"get_start","summary":"GS2 を利用するためのクレデンシャル(APIキー)を作成します\n","title":"クレデンシャル(APIキー)の作成","url":"/ja/get_start/tutorial/setup_credential/"},{"content":"Basic Support 無料でご利用いただけます。 フォーラム を通じて質問が可能です。GS2スタッフが回答することもありますが、ユーザー同士の互助が前提となっています。 サポートは最大限提供いたしますが、個別のプロジェクトの事情に関するお問い合わせにはお答えできない場合があります。 コードの不具合に関するお問い合わせの際には、再現可能なプログラムのコードを用意してください。 Business Support 月額30万円でご利用いただけます。 同一企業で複数のプロジェクトでGS2の採用をご検討いただける場合、プロジェクトごとにサポートの契約が必要です。 お客様ご指定のメッセンジャーを使用したプライベートコミュニケーションが可能です。 プロジェクトの企画内容に基づいた、GS2を利用する際の設計方針を提供します。 サポート範囲には、 GS2に関する問題に対する回答 バグの報告と修正 企画内容からGS2の各マイクロサービスをどのように活用するかのご提案 などが含まれます。 1ヶ月あたり最大15時間までのサポートを提供します。 サポート時間を超えた場合、追加料金が発生する場合があります。 Professional Service 1時間あたり2万円でご利用いただけます。Business Supportの契約が必要です。 Business Supportに含まれない、より高度なサポート内容に対して提供します。 例えば、特定の機能の実装支援、セキュリティ設定のアドバイス、コードレビュー、ログ調査などが含まれます。 1回のサポート時間は1時間からとなり、複数回の利用が可能です。 ただし、一回のサポート時間が長時間になる場合は、事前に相談が必要です。 Professional Serviceのご利用には、1回あたりの最低利用時間が1時間以上必要です。 また、ご利用にあたり、GS2のAPI利用の基礎知識を持った開発者が必要となります。 詳細はチャットよりお問い合わせください。 Prototyping ゲーム開発の初期フェーズの試作段階に限り、「Business Support」＋「GS2の利用料金」を月額10万円でご利用いただけます。 Prototypingでは、以下のサポート内容が含まれます。 Business Support に相当するサポート GS2の利用料金 Prototyping は最大で3ヶ月間利用が可能です。 詳細はチャットよりお問い合わせください。","lang":"ja","section":"pricing","summary":"Game Server Services を活用するためのサポートメニュー\n","title":"サポートメニュー","url":"/ja/pricing/support/"},{"content":"","lang":"ja","section":"articles","summary":"雑多な開発資料\n","title":"開発資料","url":"/ja/articles/"},{"content":"トリガー createAccount アカウント新規作成 同期実行スクリプト アカウント新規作成処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース account Account ゲームプレイヤーアカウント Result 型 必須 デフォルト 値の制限 説明 permit bool  アカウントの作成を許可するか 実装例 非同期実行スクリプト アカウント新規作成処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース account Account ゲームプレイヤーアカウント 実装例 authentication アカウントの認証 同期実行スクリプト アカウントの認証処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース account Account ゲームプレイヤーアカウント elapsedHours int 前回ログインからの経過時間 Result 型 必須 デフォルト 値の制限 説明 permit bool  アカウントの認証を許可するか force bool false パスワード認証に失敗しても認証を通すか 実装例 非同期実行スクリプト アカウントの認証処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース account Account ゲームプレイヤーアカウント elapsedHours int 前回ログインからの経過時間 実装例 ban アカウントBANの登録 同期実行スクリプト アカウントBANの登録処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース account Account ゲームプレイヤーアカウント addBanStatus BanStatus 追加するアカウントBANステータス Result 型 必須 デフォルト 値の制限 説明 permit bool  アカウントBANの登録を許可するか 実装例 非同期実行スクリプト アカウントBANの登録処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース account Account ゲームプレイヤーアカウント addBanStatus BanStatus 追加するアカウントBANステータス 実装例 unBan アカウントBANの解除 同期実行スクリプト アカウントBANの解除処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース account Account ゲームプレイヤーアカウント Result 型 必須 デフォルト 値の制限 説明 permit bool  アカウントBANの解除を許可するか 実装例 非同期実行スクリプト アカウントBANの解除処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース account Account ゲームプレイヤーアカウント 実装例 createTakeOver 引き継ぎ情報登録 同期実行スクリプト 引き継ぎ情報登録処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース takeOver TakeOver 引き継ぎ情報 account Account ゲームプレイヤーアカウント Result 型 必須 デフォルト 値の制限 説明 permit bool  引き継ぎ情報登録を許可するか 実装例 非同期実行スクリプト 引き継ぎ情報登録処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース takeOver TakeOver 引き継ぎ情報 account Account ゲームプレイヤーアカウント 実装例 doTakeOver 引き継ぎ実行 同期実行スクリプト 引き継ぎ実行処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース account Account ゲームプレイヤーアカウント takeOver TakeOver 引き継ぎ情報 Result 型 必須 デフォルト 値の制限 説明 permit bool  引き継ぎ実行を許可するか force bool false パスワード認証に失敗しても認証を通すか 実装例 非同期実行スクリプト 引き継ぎ実行処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース account Account ゲームプレイヤーアカウント takeOver TakeOver 引き継ぎ情報 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Account Script トリガー リファレンス","url":"/ja/api_reference/account/script/"},{"content":"トリガー acquirePoint ポイント獲得 同期実行スクリプト ポイント獲得処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース point Point 獲得処理前ポイント acquirePointValue long 獲得ポイント量 Result 型 必須 デフォルト 値の制限 説明 permit bool  ポイント獲得を許可するか overridePointValue long 0 ~ 2147483645 上書きする獲得ポイント量 実装例 非同期実行スクリプト ポイント獲得処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース point Point 獲得処理前ポイント afterPoint Point 獲得後ポイント acquirePointValue long 獲得ポイント量 実装例 consumePoint ポイント消費 同期実行スクリプト ポイント消費処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース point Point 消費処理前ポイント consumePointValue long 消費ポイント量 Result 型 必須 デフォルト 値の制限 説明 permit bool  ポイント消費を許可するか overridePointValue long 0 ~ 2147483645 上書きする消費ポイント量 実装例 非同期実行スクリプト ポイント消費処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース point Point 消費処理前ポイント afterPoint Point 消費後ポイント consumePointValue long 消費ポイント量 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-AdReward Script トリガー リファレンス","url":"/ja/api_reference/ad_reward/script/"},{"content":"トリガー apply バフの適用 同期実行スクリプト バフの適用処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース buffEntryModel BuffEntryModel バフエントリーモデル userId string ユーザーID Result 型 必須 デフォルト 値の制限 説明 permit bool  バフの適用を許可するか overrideBuffRate float  0 ~ 100 バフに適用する上書きレート (倍率) 実装例 非同期実行スクリプト バフの適用処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース buffEntryModel BuffEntryModel バフエントリーモデル userId string ユーザーID 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Buff Script トリガー リファレンス","url":"/ja/api_reference/buff/script/"},{"content":"トリガー createRoom ルーム作成 同期実行スクリプト ルーム作成処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース room Room ルーム Result 型 必須 デフォルト 値の制限 説明 permit bool  ルーム作成を許可するか 実装例 非同期実行スクリプト ルーム作成処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース room Room ルーム 実装例 deleteRoom ルーム削除 同期実行スクリプト ルーム削除処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース room Room ルーム Result 型 必須 デフォルト 値の制限 説明 permit bool  ルーム削除を許可するか 実装例 非同期実行スクリプト ルーム削除処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース room Room ルーム 実装例 postMessage メッセージ投稿 同期実行スクリプト メッセージ投稿処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース room Room ルーム message Message メッセージ Result 型 必須 デフォルト 値の制限 説明 permit bool  メッセージ投稿を許可するか 実装例 非同期実行スクリプト メッセージ投稿処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース room Room ルーム message Message メッセージ 実装例 subscribeRoom ルーム購読 同期実行スクリプト ルーム購読処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース room Room ルーム subscribe Subscribe 購読 Result 型 必須 デフォルト 値の制限 説明 permit bool  ルーム購読を許可するか 実装例 非同期実行スクリプト ルーム購読処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース room Room ルーム subscribe Subscribe 購読 実装例 unsubscribeRoom ルーム購読解除 同期実行スクリプト ルーム購読解除処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース room Room ルーム subscribe Subscribe 購読 Result 型 必須 デフォルト 値の制限 説明 permit bool  ルーム購読解除を許可するか 実装例 非同期実行スクリプト ルーム購読解除処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース room Room ルーム subscribe Subscribe 購読 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Chat Script トリガー リファレンス","url":"/ja/api_reference/chat/script/"},{"content":"トリガー doneUpload データオブジェクトのアップロード完了を報告する 同期実行スクリプト データオブジェクトのアップロード完了を報告する処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース dataObject DataObject データオブジェクト objectUrl string アップロードしたオブジェクトのURL Result 型 必須 デフォルト 値の制限 説明 permit bool  データオブジェクトのアップロード完了報告 を許可するか 実装例 非同期実行スクリプト データオブジェクトのアップロード完了を報告する処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース dataObject DataObject データオブジェクト 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Datastore Script トリガー リファレンス","url":"/ja/api_reference/datastore/script/"},{"content":"トリガー entry エントリー登録 同期実行スクリプト エントリー登録処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース entryModels EntryModel[] エントリーモデルのリスト userId string ユーザーID Result 型 必須 デフォルト 値の制限 説明 permit bool  エントリー登録を許可するか 実装例 非同期実行スクリプト エントリー登録処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース entryModels EntryModel[] エントリーモデルのリスト userId string ユーザーID 実装例 duplicateEntry 既に登録済みのエントリーへの再登録 同期実行スクリプト 既に登録済みのエントリーへの再登録処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース entryModel EntryModel エントリーモデル userId string ユーザーID 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Dictionary Script トリガー リファレンス","url":"/ja/api_reference/dictionary/script/"},{"content":"トリガー enhance 強化実行 同期実行スクリプト 強化実行処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース rateModel RateModel 強化レートモデル targetItemSetId string 強化対象のアイテムセットのGRN bonusRate float 経験値ボーナスの倍率(1.0=ボーナスなし) experienceValue long 入手経験値量 Result 型 必須 デフォルト 値の制限 説明 permit bool  強化実行を許可するか overrideExperienceValue long 0 ~ 2147483645 上書きする入手経験値量 実装例 非同期実行スクリプト 強化実行処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース rateModel RateModel 強化レートモデル targetItemSetId string 強化対象のアイテムセットのGRN bonusRate float 経験値ボーナスの倍率(1.0=ボーナスなし) experienceValue long 入手経験値量 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Enhance Script トリガー リファレンス","url":"/ja/api_reference/enhance/script/"},{"content":"トリガー exchange 交換 同期実行スクリプト 交換処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース rateModel RateModel 交換レートモデル userId string 交換を実行しているユーザーID count int 交換量 config Config[] トランザクションの変数に適用する設定値 Result 型 必須 デフォルト 値の制限 説明 permit bool  交換を許可するか rateMode string  “float” 倍率モード rate float 1.0 0 ~ 1000 入手量の倍率 logRate LogRate 対数を使用した入手量補正 実装例 非同期実行スクリプト 交換処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース rateModel RateModel 交換レートモデル userId string 交換を実行しているユーザーID count int 交換量 config Config[] トランザクションの変数に適用する設定値 実装例 incrementalExchange 交換 同期実行スクリプト 交換処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース rateModel IncrementalRateModel 交換レートモデル userId string 交換を実行しているユーザーID count int 交換量 config Config[] トランザクションの変数に適用する設定値 Result 型 必須 デフォルト 値の制限 説明 permit bool  交換を許可するか 実装例 非同期実行スクリプト 交換処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース rateModel IncrementalRateModel 交換レートモデル userId string 交換を実行しているユーザーID count int 交換量 config Config[] トランザクションの変数に適用する設定値 実装例 calculateCost コスト上昇型交換レートのためのコスト計算スクリプト 同期実行スクリプト コスト上昇型交換レートのためのコスト計算スクリプト処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース incrementalRateModel IncrementalRateModel コスト上昇型交換モデル userId string ユーザーID currentExchangeCount int 現在の交換回数 quantity int 交換数量 Result 型 必須 デフォルト 値の制限 説明 costMode string  “num” コスト計算方法 cost long 0 ~ 9223372036854775805 コスト logCost LogCost 対数を使用したコスト計算結果 実装例 acquireAwait 交換待機 同期実行スクリプト 交換待機処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース rateModel RateModel 交換レートモデル awaitModel Await 交換待機 Result 型 必須 デフォルト 値の制限 説明 permit bool  交換待機を許可するか 実装例 非同期実行スクリプト 交換待機処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース rateModel RateModel 交換レートモデル awaitModel Await 交換待機 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Exchange Script トリガー リファレンス","url":"/ja/api_reference/exchange/script/"},{"content":"トリガー rankCapScript ランクキャップ取得 同期実行スクリプト ランクキャップ取得処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース experienceModel ExperienceModel 経験値モデル userId string ユーザーID propertyId string プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 Result 型 必須 デフォルト 値の制限 説明 rankCap long  0 ~ 2147483645 ランクキャップ 実装例 changeExperience 経験値変化 同期実行スクリプト 経験値変化処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース experienceModel ExperienceModel 経験値モデル status Status 変化前ステータス afterStatus Status 変化後ステータス Result 型 必須 デフォルト 値の制限 説明 permit bool  経験値変化 を許可するか overrideExperienceValue long  0 ~ 2147483645 上書きする経験値 実装例 非同期実行スクリプト 経験値変化処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース experienceModel ExperienceModel 経験値モデル oldStatus Status 変化前のステータス status Status ステータス 実装例 changeRank ランク変化 同期実行スクリプト ランク変化処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース experienceModel ExperienceModel 経験値モデル status Status 変化前のステータス afterStatus Status 変化後のステータス Result 型 必須 デフォルト 値の制限 説明 permit bool  ランク変化 を許可するか 実装例 非同期実行スクリプト ランク変化処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース experienceModel ExperienceModel 経験値モデル oldStatus Status 変化前のステータス status Status ステータス 実装例 changeRankCap ランクキャップ変化 同期実行スクリプト ランクキャップ変化処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース experienceModel ExperienceModel 経験値モデル status Status 変化前のステータス afterStatus Status 変化後のステータス Result 型 必須 デフォルト 値の制限 説明 permit bool  ランクキャップ変化 を許可するか overrideRankCapValue long  0 ~ 2147483645 新しいランクキャップ 実装例 非同期実行スクリプト ランクキャップ変化処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース experienceModel ExperienceModel 経験値モデル status Status ステータス 実装例 overflowExperience 経験値あふれ 同期実行スクリプト 経験値あふれ処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース experienceModel ExperienceModel 経験値モデル status Status ステータス overflowExperienceValue long 経験値あふれ量 Result 型 必須 デフォルト 値の制限 説明 permit bool  経験値あふれ を許可するか 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Experience Script トリガー リファレンス","url":"/ja/api_reference/experience/script/"},{"content":"トリガー updateMold フォームの保存領域のキャパシティ更新 同期実行スクリプト フォームの保存領域のキャパシティ更新処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース mold Mold 更新前のフォームの保存領域 afterMold Mold 更新後のフォームの保存領域 Result 型 必須 デフォルト 値の制限 説明 permit bool  フォームの保存領域のキャパシティ更新 を許可するか 実装例 非同期実行スクリプト フォームの保存領域のキャパシティ更新処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース mold Mold フォームの保存領域 実装例 updateForm フォーム更新 同期実行スクリプト フォーム更新処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース mold Mold フォームの保存領域 form Form 更新前のフォーム afterForm Form 更新後のフォーム Result 型 必須 デフォルト 値の制限 説明 permit bool  フォーム更新 を許可するか 実装例 非同期実行スクリプト フォーム更新処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース mold Mold フォームの保存領域 form Form フォーム 実装例 updatePropertyForm プロパティフォーム更新 同期実行スクリプト プロパティフォーム更新処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース propertyForm PropertyForm 更新前のプロパティフォーム afterPropertyForm PropertyForm 更新後のプロパティフォーム Result 型 必須 デフォルト 値の制限 説明 permit bool  プロパティフォーム更新 を許可するか 実装例 非同期実行スクリプト プロパティフォーム更新処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース propertyForm PropertyForm プロパティフォーム 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Formation Script トリガー リファレンス","url":"/ja/api_reference/formation/script/"},{"content":"トリガー updateProfile プロフィールの更新 同期実行スクリプト プロフィールの更新処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース profile Profile プロフィール oldProfile Profile 更新前のプロフィール publicProfile string 新しい公開されるプロフィール followerProfile string 新しいフォロワー向けに公開されるプロフィール friendProfile string 新しいフレンド向けに公開されるプロフィール Result 型 必須 デフォルト 値の制限 説明 permit bool  プロフィールの更新 を許可するか 実装例 非同期実行スクリプト プロフィールの更新処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldProfile Profile 更新前のプロフィール profile Profile 更新後のプロフィール 実装例 follow フォロー 同期実行スクリプト フォロー処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース followUser FollowUser フォロー情報 Result 型 必須 デフォルト 値の制限 説明 permit bool  フォロー を許可するか 実装例 非同期実行スクリプト フォロー処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース followUser FollowUser フォロー情報 実装例 unfollow アンフォロー 同期実行スクリプト アンフォロー処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース followUser FollowUser フォロー情報 Result 型 必須 デフォルト 値の制限 説明 permit bool  アンフォロー を許可するか 実装例 非同期実行スクリプト アンフォロー処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース followUser FollowUser フォロー情報 実装例 deleteFriend フレンドを削除 同期実行スクリプト フレンドを削除処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース userId string ユーザーID friendUser FriendUser フレンド Result 型 必須 デフォルト 値の制限 説明 permit bool  フレンドの削除 を許可するか 実装例 非同期実行スクリプト フレンドを削除処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース userId string ユーザーID friendUser FriendUser フレンド 実装例 sendRequest フレンドリクエスト発行 同期実行スクリプト フレンドリクエスト発行処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース friendRequest FriendRequest フレンドリクエスト Result 型 必須 デフォルト 値の制限 説明 permit bool  フレンドリクエストの発行 を許可するか 実装例 非同期実行スクリプト フレンドリクエスト発行処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース friendRequest FriendRequest フレンドリクエスト 実装例 cancelRequest フレンドリクエストのキャンセル 同期実行スクリプト フレンドリクエストのキャンセル処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース friendRequest FriendRequest フレンドリクエスト Result 型 必須 デフォルト 値の制限 説明 permit bool  フレンドリクエストのキャンセル を許可するか 実装例 非同期実行スクリプト フレンドリクエストのキャンセル処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース friendRequest FriendRequest フレンドリクエスト 実装例 acceptRequest フレンドリクエストの承諾 同期実行スクリプト フレンドリクエストの承諾処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース friendRequest FriendRequest フレンドリクエスト Result 型 必須 デフォルト 値の制限 説明 permit bool  フレンドリクエストの承諾 を許可するか 実装例 非同期実行スクリプト フレンドリクエストの承諾処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース friendRequest FriendRequest フレンドリクエスト 実装例 rejectRequest フレンドリクエストの拒否 同期実行スクリプト フレンドリクエストの拒否処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース friendRequest FriendRequest フレンドリクエスト Result 型 必須 デフォルト 値の制限 説明 permit bool  フレンドリクエストの拒否 を許可するか 実装例 非同期実行スクリプト フレンドリクエストの拒否処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース friendRequest FriendRequest フレンドリクエスト 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Friend Script トリガー リファレンス","url":"/ja/api_reference/friend/script/"},{"content":"トリガー changeGrade グレード変化 同期実行スクリプト グレード変化処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース gradeModel GradeModel グレードモデル status Status 変化前ステータス afterStatus Status 変化後ステータス Result 型 必須 デフォルト 値の制限 説明 permit bool  グレード変化 を許可するか overrideGradeValue long  0 ~ 2147483645 上書きするグレード値 実装例 非同期実行スクリプト グレード変化処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース gradeModel GradeModel グレードモデル status Status ステータス afterStatus Status 変化後ステータス 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Grade Script トリガー リファレンス","url":"/ja/api_reference/grade/script/"},{"content":"トリガー createGuild ギルド作成 同期実行スクリプト ギルド作成処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル guild Guild ギルド Result 型 必須 デフォルト 値の制限 説明 permit bool  ギルド作成 を許可するか 実装例 非同期実行スクリプト ギルド作成処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル guild Guild ギルド 実装例 updateGuild ギルド更新 同期実行スクリプト ギルド更新処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル oldGuild Guild 更新前のギルド newGuild Guild 更新後のギルド Result 型 必須 デフォルト 値の制限 説明 permit bool  ギルド更新 を許可するか 実装例 非同期実行スクリプト ギルド更新処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル oldGuild Guild 更新前のギルド newGuild Guild 更新後のギルド 実装例 joinGuild ギルド参加 同期実行スクリプト ギルド参加処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル guild Guild ギルド userId string ユーザーID Result 型 必須 デフォルト 値の制限 説明 permit bool  ギルド参加 を許可するか 実装例 非同期実行スクリプト ギルド参加処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル guild Guild ギルド userId string ユーザーID 実装例 leaveGuild ギルド脱退 同期実行スクリプト ギルド脱退処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル guild Guild ギルド userId string ユーザーID self bool 自分自身で脱退したか / ギルドマスターによって脱退させられたか、ギルドが解散した時に false になる Result 型 必須 デフォルト 値の制限 説明 permit bool  ギルド脱退 を許可するか 実装例 非同期実行スクリプト ギルド脱退処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル guild Guild ギルド userId string ユーザーID self bool 自分自身で脱退したか / ギルドマスターによって脱退させられたか、ギルドが解散した時に false になる 実装例 changeRole ロール変更 同期実行スクリプト ロール変更処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル guild Guild ギルド oldMembers Member[] 更新前のメンバー情報 newMembers Member[] 更新後のメンバー情報 Result 型 必須 デフォルト 値の制限 説明 permit bool  ロールの変更 を許可するか 実装例 非同期実行スクリプト ロール変更処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル guild Guild ギルド oldMembers Member[] 更新前のメンバー情報 newMembers Member[] 更新後のメンバー情報 実装例 deleteGuild ギルドを削除 同期実行スクリプト ギルドを削除処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル guild Guild ギルド Result 型 必須 デフォルト 値の制限 説明 permit bool  ギルドの削除 を許可するか 実装例 非同期実行スクリプト ギルドを削除処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル guild Guild ギルド 実装例 receiveJoinRequest ギルド参加リクエスト受信 同期実行スクリプト ギルド参加リクエスト受信処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル guild Guild ギルド receiveMemberRequest ReceiveMemberRequest 参加リクエスト Result 型 必須 デフォルト 値の制限 説明 permit bool  ギルド参加リクエスト受信を許可するか 実装例 非同期実行スクリプト ギルド参加リクエスト受信処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース guildModel GuildModel ギルドモデル guild Guild ギルド receiveMemberRequest ReceiveMemberRequest 参加リクエスト 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Guild Script トリガー リファレンス","url":"/ja/api_reference/guild/script/"},{"content":"トリガー receive 報酬受け取り 同期実行スクリプト 報酬受け取り処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース category CategoryModel カテゴリーモデル userId string 報酬受け取りを実行しているユーザーID status Status ステータス acquireActions AcquireAction[] 報酬 config Config[] トランザクションの変数に適用する設定値 Result 型 必須 デフォルト 値の制限 説明 permit bool  報酬受け取りを許可するか rate float 1.0 0 ~ 1000 入手量の倍率 実装例 非同期実行スクリプト 報酬受け取り処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース category CategoryModel カテゴリーモデル userId string 報酬受け取りを実行しているユーザーID oldStatus Status 報酬受け取り前のステータス newStatus Status 報酬受け取り後のステータス acquireActions AcquireAction[] 報酬 config Config[] トランザクションの変数に適用する設定値 実装例 overrideAcquireActions 放置報酬の入手アクションを動的に決定するスクリプト 同期実行スクリプト 放置報酬の入手アクションを動的に決定するスクリプトを同期実行したのち、入手アクションが実行されます。 Request 型 説明 namespace Namespace ネームスペース categoryModel CategoryModel カテゴリーモデル userId string ユーザーID Result 型 必須 デフォルト 値の制限 説明 acquireActions AcquireActionList[]  1 ~ 100 items 待機時間ごとに得られる入手アクションリスト 待機時間を「X分」だと仮定すると 「X / rewardIntervalMinutes」が報酬を受け取れる数になりますが、ここで指定した配列の要素をループすることで、待機時間ごとに異なる報酬を付与できます。 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Idle Script トリガー リファレンス","url":"/ja/api_reference/idle/script/"},{"content":"トリガー receiveMessage メッセージ受信 同期実行スクリプト メッセージ受信処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース message Message メッセージ Result 型 必須 デフォルト 値の制限 説明 permit bool  メッセージ受信 を許可するか overrideMetadata string 0 ~ 4096文字 上書きするメタデータ 実装例 非同期実行スクリプト メッセージ受信処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース message Message メッセージ 実装例 readMessage メッセージ開封 同期実行スクリプト メッセージ開封処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース message Message メッセージ Result 型 必須 デフォルト 値の制限 説明 permit bool  メッセージ開封 を許可するか 実装例 非同期実行スクリプト メッセージ開封処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース message Message メッセージ 実装例 deleteMessage メッセージ削除 同期実行スクリプト メッセージ削除処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース message Message メッセージ Result 型 必須 デフォルト 値の制限 説明 permit bool  メッセージ削除 を許可するか 実装例 非同期実行スクリプト メッセージ削除処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース message Message メッセージ 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Inbox Script トリガー リファレンス","url":"/ja/api_reference/inbox/script/"},{"content":"トリガー acquire アイテム入手 同期実行スクリプト アイテム入手処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース inventory Inventory インベントリ itemSets ItemSet[] アイテムセットのリスト acquireItemName string 入手したアイテムモデル名 userId string ユーザーID acquireCount long 入手数量 expiresAt long 有効期限 UNIX 時間・ミリ秒 Result 型 必須 デフォルト 値の制限 説明 permit bool  アイテム入手を許可するか overrideAcquireCount int 0 ~ 2147483645 実際に適用する入手量 実装例 非同期実行スクリプト アイテム入手処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldInventory Inventory 更新前のインベントリ oldItemSets ItemSet[] 更新前のアイテムセットリスト newInventory Inventory 更新後のインベントリ newItemSets ItemSet[] 更新後のアイテムセットのリスト acquireItemName string 入手したアイテムモデル名 userId string ユーザーID acquireCount long 入手数量 overflowValue long 溢れた量 expiresAt long 有効期限 UNIX 時間・ミリ秒 実装例 overflowDone アイテム数が入手上限に当たり、入手できなかった数量の通知完了 同期実行スクリプト アイテム数が入手上限に当たり、入手できなかった数量の通知完了処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース inventory Inventory インベントリ itemModel ItemModel アイテムモデル userId string ユーザーID overflowValue long 溢れた量 実装例 consume アイテム消費 同期実行スクリプト アイテム消費処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース inventory Inventory インベントリ itemSets ItemSet[] アイテムセットのリスト consumeItemName string 消費したアイテムモデル名 userId string ユーザーID consumeCount long 消費数量 Result 型 必須 デフォルト 値の制限 説明 permit bool  アイテム消費を許可するか overrideConsumeCount int 0 ~ 2147483645 実際に適用する消費量 実装例 非同期実行スクリプト アイテム消費処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldInventory Inventory 消費前のインベントリ oldItemSets ItemSet[] 消費前のアイテムセットのリスト newInventory Inventory 消費後のインベントリ newItemSets ItemSet[] 消費後のアイテムセットのリスト consumeItemName string 消費したアイテムモデル名 userId string ユーザーID consumeCount long 消費数量 実装例 simpleItemAcquire シンプルアイテム入手 同期実行スクリプト シンプルアイテム入手処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース inventoryName string シンプルインベントリモデル名 このインベントリのアイテムの種類を定義するシンプルインベントリモデルの名前です。ユーザーのシンプルインベントリインスタンスをモデル定義にリンクします。 simpleItems SimpleItem[] シンプルアイテムのリスト userId string ユーザーID acquireCounts AcquireCount[] シンプルアイテムの入手数量リスト Result 型 必須 デフォルト 値の制限 説明 permit bool  シンプルアイテム入手を許可するか overrideAcquireCounts AcquireCount[] 0 ~ 100 items シンプルアイテムの入手数量リスト 実装例 非同期実行スクリプト シンプルアイテム入手処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース inventoryName string シンプルインベントリモデル名 このインベントリのアイテムの種類を定義するシンプルインベントリモデルの名前です。ユーザーのシンプルインベントリインスタンスをモデル定義にリンクします。 oldSimpleItems SimpleItem[] 更新前のシンプルアイテムのリスト newSimpleItems SimpleItem[] 更新後のシンプルアイテムのリスト userId string ユーザーID acquireCounts AcquireCount[] シンプルアイテムのリスト 実装例 simpleItemConsume シンプルアイテム消費 同期実行スクリプト シンプルアイテム消費処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース inventoryName string シンプルインベントリモデル名 このインベントリのアイテムの種類を定義するシンプルインベントリモデルの名前です。ユーザーのシンプルインベントリインスタンスをモデル定義にリンクします。 simpleItems SimpleItem[] シンプルアイテムのリスト userId string ユーザーID consumeCounts ConsumeCount[] シンプルアイテムの消費数量のリスト Result 型 必須 デフォルト 値の制限 説明 permit bool  シンプルアイテム消費を許可するか overrideConsumeCounts ConsumeCount[] 0 ~ 100 items シンプルアイテムのリスト 実装例 非同期実行スクリプト シンプルアイテム消費処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース inventoryName string シンプルインベントリモデル名 このインベントリのアイテムの種類を定義するシンプルインベントリモデルの名前です。ユーザーのシンプルインベントリインスタンスをモデル定義にリンクします。 oldSimpleItems SimpleItem[] 更新前のシンプルアイテムのリスト newSimpleItems SimpleItem[] 更新後のシンプルアイテムのリスト userId string ユーザーID consumeCounts ConsumeCount[] シンプルアイテムの消費数量リスト 実装例 bigItemAcquire 巨大アイテム入手 同期実行スクリプト 巨大アイテム入手処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース inventoryName string 巨大インベントリモデル名 このインベントリのアイテムの種類を定義する巨大インベントリモデルの名前です。ユーザーの巨大インベントリインスタンスをモデル定義にリンクします。 itemName string 巨大アイテムモデル名 このレコードに格納されているアイテムの種類を定義する巨大アイテムモデルの名前です。この巨大アイテムの所持品がどのアイテム定義に対応するかを識別するために使用されます。 item BigItem 巨大アイテム userId string ユーザーID acquireCount string 巨大アイテムの入手数量 最大1024桁までの整数値文字列 Result 型 必須 デフォルト 値の制限 説明 permit bool  巨大アイテム入手を許可するか rate float 1.0 0 ~ 1000 入手量の倍率 実装例 非同期実行スクリプト 巨大アイテム入手処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース inventoryName string 巨大インベントリモデル名 このインベントリのアイテムの種類を定義する巨大インベントリモデルの名前です。ユーザーの巨大インベントリインスタンスをモデル定義にリンクします。 itemName string 巨大アイテムモデル名 このレコードに格納されているアイテムの種類を定義する巨大アイテムモデルの名前です。この巨大アイテムの所持品がどのアイテム定義に対応するかを識別するために使用されます。 oldItem BigItem 更新前の巨大アイテム newItem BigItem 更新後の巨大アイテム userId string ユーザーID acquireCount string 巨大アイテムの入手数量 最大1024桁までの整数値文字列 実装例 bigItemConsume 巨大アイテム消費 同期実行スクリプト 巨大アイテム消費処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース inventoryName string 巨大インベントリモデル名 このインベントリのアイテムの種類を定義する巨大インベントリモデルの名前です。ユーザーの巨大インベントリインスタンスをモデル定義にリンクします。 itemName string 巨大アイテムモデル名 このレコードに格納されているアイテムの種類を定義する巨大アイテムモデルの名前です。この巨大アイテムの所持品がどのアイテム定義に対応するかを識別するために使用されます。 item BigItem 巨大アイテム userId string ユーザーID consumeCount string 巨大アイテムの消費数量 最大1024桁までの整数値文字列 Result 型 必須 デフォルト 値の制限 説明 permit bool  巨大アイテム消費を許可するか rate float 1.0 0 ~ 1000 消費量の倍率 実装例 非同期実行スクリプト 巨大アイテム消費処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース inventoryName string 巨大インベントリモデル名 このインベントリのアイテムの種類を定義する巨大インベントリモデルの名前です。ユーザーの巨大インベントリインスタンスをモデル定義にリンクします。 itemName string 巨大アイテムモデル名 このレコードに格納されているアイテムの種類を定義する巨大アイテムモデルの名前です。この巨大アイテムの所持品がどのアイテム定義に対応するかを識別するために使用されます。 oldItem BigItem 更新前の巨大アイテム newItem BigItem 更新後の巨大アイテム userId string ユーザーID consumeCount string 巨大アイテムの消費数量 最大1024桁までの整数値文字列 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Inventory Script トリガー リファレンス","url":"/ja/api_reference/inventory/script/"},{"content":"トリガー countUp カウントアップ 同期実行スクリプト カウントアップ処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース limitModel LimitModel 回数制限モデル counter Counter カウンター userId string ユーザーID countUpValue int カウントアップする量 maxValue int カウントアップを許容する最大値 Result 型 必須 デフォルト 値の制限 説明 permit bool  カウントアップを許可するか 実装例 非同期実行スクリプト カウントアップ処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース limitModel LimitModel 回数制限モデル oldCounter Counter 更新前のカウンター newCounter Counter 更新後のカウンター userId string ユーザーID countUpValue int カウントアップする量 maxValue int カウントアップを許容する最大値 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Limit Script トリガー リファレンス","url":"/ja/api_reference/limit/script/"},{"content":"トリガー receive 受け取り 同期実行スクリプト 受け取り処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース bonusModel BonusModel ログインボーナスモデル userId string 受け取りを実行しているユーザーID receiveStep int 受け取ったステップ config Config[] トランザクションの変数に適用する設定値 Result 型 必須 デフォルト 値の制限 説明 permit bool  受け取りを許可するか 実装例 非同期実行スクリプト 受け取り処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース bonusModel BonusModel ログインボーナスモデル userId string 受け取りを実行しているユーザーID receiveStep int 受け取ったステップ config Config[] トランザクションの変数に適用する設定値 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-LoginReward Script トリガー リファレンス","url":"/ja/api_reference/login_reward/script/"},{"content":"トリガー lottery 抽選 同期実行スクリプト 抽選処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース lotteryModel LotteryModel 抽選モデル drawnPrizes DrawnPrize[] 抽選結果の景品リスト boxItems BoxItems ボックスの状態（景品と残数・初期数量の情報） Result 型 必須 デフォルト 値の制限 説明 permit bool  抽選 を許可するか overrideDrawnPrizes DrawnPrize[] 0 ~ 1000 items 上書きする抽選結果の景品リスト 実装例 choicePrizeTable 排出確率テーブルを動的に変化させる 同期実行スクリプト 排出確率テーブルを動的に変化させる処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース lotteryModel LotteryModel 排出確率テーブルを動的に選択する対象の抽選モデル userId string ユーザーID count int 抽選回数 Result 型 必須 デフォルト 値の制限 説明 prizeTableNames string[]  1 ~ 1000 items 抽選に使用する排出確率テーブルの名前のリスト 応答値が10個で抽選回数が10未満の場合は、先頭から順番に使用されます。 抽選回数が10回で、10未満の景品テーブルを応答した場合、応答した景品テーブルを順番に使用し、残りは最後に応答した景品テーブルで抽選します。 例えば、3個の景品テーブルを応答した場合、1回目は1個目の景品テーブル、2回目は2個目の景品テーブル、3回目以降は3個目の景品テーブルで抽選します。 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Lottery Script トリガー リファレンス","url":"/ja/api_reference/lottery/script/"},{"content":"トリガー createGathering ギャザリング新規作成 同期実行スクリプト ギャザリング新規作成処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース gathering Gathering ギャザリング 実装例 completeMatchmaking マッチメイキング完了 同期実行スクリプト マッチメイキング完了処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース gathering Gathering ギャザリング 実装例 changeRating レーティングの値変化 同期実行スクリプト レーティングの値変化処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldRating Rating 更新前のレーティング newRating Rating 更新後のレーティング Result 型 必須 デフォルト 値の制限 説明 permit bool  レーティングの値変化を許可するか 実装例 非同期実行スクリプト レーティングの値変化処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldRating Rating 更新前のレーティング newRating Rating 更新前のレーティング 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Matchmaking Script トリガー リファレンス","url":"/ja/api_reference/matchmaking/script/"},{"content":"トリガー missionComplete ミッション達成 同期実行スクリプト ミッション達成処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース missionGroupModel MissionGroupModel ミッショングループ oldComplete Complete 達成前の達成状況 newComplete Complete 達成後の達成状況 completeTaskNames [] 達成したタスク名のリスト Result 型 必須 デフォルト 値の制限 説明 permit bool  ミッション達成 を許可するか 実装例 非同期実行スクリプト ミッション達成処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース missionGroupModel MissionGroupModel ミッショングループ complete Complete 達成状況 completeTaskNames [] 達成したタスク名のリスト 実装例 counterIncrement カウンター上昇 同期実行スクリプト カウンター上昇処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース counterModel CounterModel カウンターモデル oldCounter Counter 更新前のカウンター newCounter Counter 更新後のカウンター Result 型 必須 デフォルト 値の制限 説明 permit bool  カウンター上昇 を許可するか 実装例 非同期実行スクリプト カウンター上昇処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース counterModel CounterModel カウンターモデル counter Counter カウンター 実装例 receiveRewards 報酬受取 同期実行スクリプト 報酬受取処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース missionGroupModel MissionGroupModel ミッショングループ oldComplete Complete 更新前の達成状況 newComplete Complete 更新後の達成状況 receiveRewardTaskNames [] 報酬を受け取るタスク名リスト Result 型 必須 デフォルト 値の制限 説明 permit bool  報酬受取 を許可するか 実装例 非同期実行スクリプト 報酬受取処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース missionGroupModel MissionGroupModel ミッショングループ complete Complete 達成状況 receiveRewardTaskNames [] 報酬を受け取るタスク名リスト 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Mission Script トリガー リファレンス","url":"/ja/api_reference/mission/script/"},{"content":"トリガー createWallet ウォレット新規作成 同期実行スクリプト ウォレット新規作成処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース wallet Wallet ウォレット Result 型 必須 デフォルト 値の制限 説明 permit bool  ウォレットの作成を許可するか initialAmount int  0 ~ 2147483645 ウォレットの初期残高 - 無償付与として加算されます 実装例 非同期実行スクリプト ウォレット新規作成処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース wallet Wallet ウォレット 実装例 deposit ウォレット残高加算 同期実行スクリプト ウォレット残高加算処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldWallet Wallet 加算前のウォレット newWallet Wallet 加算後のウォレット price float 購入価格 depositCount int 付与する課金通貨の数量 Result 型 必須 デフォルト 値の制限 説明 permit bool  ウォレット残高加算を許可するか 実装例 非同期実行スクリプト ウォレット残高加算処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldWallet Wallet 加算前のウォレット newWallet Wallet 加算後のウォレット price float 購入価格 depositCount int 付与する課金通貨の数量 実装例 withdraw ウォレット残高消費 同期実行スクリプト ウォレット残高消費処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldWallet Wallet 消費前のウォレット newWallet Wallet 消費後のウォレット withdrawCount int 消費する課金通貨の数量 paidOnly bool 有償通貨のみを対象とするか Result 型 必須 デフォルト 値の制限 説明 permit bool  ウォレット残高消費を許可するか 実装例 非同期実行スクリプト ウォレット残高消費処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldWallet Wallet 消費前のウォレット newWallet Wallet 消費後のウォレット withdrawCount int 消費する課金通貨の数量 paidOnly bool 有償通貨のみを対象とするか 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Money Script トリガー リファレンス","url":"/ja/api_reference/money/script/"},{"content":"トリガー deposit ウォレット残高加算 同期実行スクリプト ウォレット残高加算処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldWallet Wallet 加算前のウォレット newWallet Wallet 加算後のウォレット transactions DepositTransaction[] 発生したトランザクションリスト count int 残高の加算量 Result 型 必須 デフォルト 値の制限 説明 permit bool  ウォレット残高加算を許可するか 実装例 非同期実行スクリプト ウォレット残高加算処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldWallet Wallet 加算前のウォレット newWallet Wallet 加算後のウォレット transactions DepositTransaction[] 発生したトランザクションリスト count int 残高の加算量 実装例 withdraw ウォレット残高消費 同期実行スクリプト ウォレット残高消費処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldWallet Wallet 消費前のウォレット newWallet Wallet 消費後のウォレット transactions DepositTransaction[] 発生したトランザクションリスト count int 残高の消費量 Result 型 必須 デフォルト 値の制限 説明 permit bool  ウォレット残高の消費を許可するか 実装例 非同期実行スクリプト ウォレット残高消費処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldWallet Wallet 消費前のウォレット newWallet Wallet 消費後のウォレット transactions DepositTransaction[] 発生したトランザクションリスト count int 残高の消費量 実装例 subscribe 新規契約 同期実行スクリプト 新規契約処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース contentModel StoreSubscriptionContentModel 期間課金ストアコンテンツモデル transaction SubscribeTransaction 期間課金状態 userId string ユーザーID ttlAt long GS2-Schedule のトリガーに反映する有効期限 実装例 renew 契約更新 同期実行スクリプト 契約更新処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース contentModel StoreSubscriptionContentModel 期間課金ストアコンテンツモデル transaction SubscribeTransaction 期間課金状態 userId string ユーザーID ttlAt long GS2-Schedule のトリガーに反映する有効期限 実装例 unsubscribe 契約解除 同期実行スクリプト 契約解除処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース contentModel StoreSubscriptionContentModel 期間課金ストアコンテンツモデル transaction SubscribeTransaction 期間課金状態 userId string ユーザーID 実装例 takeOver 割り当てユーザー変更 同期実行スクリプト 割り当てユーザー変更処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース contentModel StoreSubscriptionContentModel 期間課金ストアコンテンツモデル transaction SubscribeTransaction 期間課金状態 fromUserId string ユーザーID toUserId string ユーザーID elapsedHours int 前回割り当てユーザー変更からの経過時間（時） Result 型 必須 デフォルト 値の制限 説明 permit bool  割り当てユーザー変更を許可するか 実装例 非同期実行スクリプト 割り当てユーザー変更処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース contentModel StoreSubscriptionContentModel 期間課金ストアコンテンツモデル transaction SubscribeTransaction 期間課金状態 fromUserId string ユーザーID toUserId string ユーザーID elapsedHours int 前回割り当てユーザー変更からの経過時間（時） 実装例 verifyReceipt レシート検証 同期実行スクリプト レシート検証処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース storeContentModel StoreContentModel ストアコンテンツモデル receipt Receipt レシート userId string ユーザーID Result 型 必須 デフォルト 値の制限 説明 permit bool  レシートの検証を許可するか 実装例 非同期実行スクリプト レシート検証処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース storeContentModel StoreContentModel ストアコンテンツモデル receipt Receipt レシート userId string ユーザーID 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Money2 Script トリガー リファレンス","url":"/ja/api_reference/money2/script/"},{"content":"トリガー startQuest クエスト開始 同期実行スクリプト クエスト開始処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース questGroupModel QuestGroupModel クエストグループモデル questModel QuestModel クエストモデル randomSeed long 乱数シード rewards Reward[] クエストで得られる報酬リスト userId string ユーザーID config Config[] トランザクションの変数に適用する設定値 Result 型 必須 デフォルト 値の制限 説明 permit bool  クエスト開始を許可するか overrideRandomSeed long 0 ~ 9223372036854775805 乱数シード overrideRewards Reward[] 0 ~ 1000 items クエストで得られる報酬リスト 実装例 非同期実行スクリプト クエスト開始処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース questGroupModel QuestGroupModel クエストグループモデル questModel QuestModel クエストモデル progress Progress クエスト進行状況 config Config[] トランザクションの変数に適用する設定値 実装例 completeQuest クエストクリア 同期実行スクリプト クエストクリア処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース questGroupModel QuestGroupModel クエストグループモデル questModel QuestModel クエストモデル rewards Reward[] クエストで得た報酬リスト progress Progress クエスト進行状況 config Config[] トランザクションの変数に適用する設定値 Result 型 必須 デフォルト 値の制限 説明 permit bool  クエストクリアを許可するか overrideRewards Reward[] 0 ~ 1000 items クエストで得られる報酬リスト 実装例 非同期実行スクリプト クエストクリア処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース questGroupModel QuestGroupModel クエストグループモデル questModel QuestModel クエストモデル rewards Reward[] クエストで得た報酬リスト progress Progress クエスト進行状況 config Config[] トランザクションの変数に適用する設定値 実装例 failedQuest クエスト失敗 同期実行スクリプト クエスト失敗処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース questGroupModel QuestGroupModel クエストグループモデル questModel QuestModel クエストモデル rewards Reward[] クエストで得た報酬リスト progress Progress クエスト進行状況 config Config[] トランザクションの変数に適用する設定値 Result 型 必須 デフォルト 値の制限 説明 permit bool  クエスト失敗を許可するか overrideRewards Reward[] 0 ~ 1000 items クエストで得られる報酬リスト 実装例 非同期実行スクリプト クエスト失敗処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース questGroupModel QuestGroupModel クエストグループモデル questModel QuestModel クエストモデル rewards Reward[] クエストで得た報酬リスト progress Progress クエスト進行状況 config Config[] トランザクションの変数に適用する設定値 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Quest Script トリガー リファレンス","url":"/ja/api_reference/quest/script/"},{"content":"トリガー buy 購入 同期実行スクリプト 購入処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース showcase Showcase 陳列棚モデル displayItem DisplayItem 陳列商品モデル userId string 購入を実行しているユーザーID quantity int 購入量 config Config[] トランザクションの変数に適用する設定値 Result 型 必須 デフォルト 値の制限 説明 permit bool  購入を許可するか 実装例 非同期実行スクリプト 購入処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース showcase Showcase 陳列棚モデル displayItem DisplayItem 陳列商品モデル userId string 購入を実行しているユーザーID quantity int 購入量 config Config[] トランザクションの変数に適用する設定値 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Showcase Script トリガー リファレンス","url":"/ja/api_reference/showcase/script/"},{"content":"トリガー release ノードを解放 同期実行スクリプト ノードを解放処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldStatus Status 更新前のステータス newStatus Status 更新後のステータス userId string ユーザーID nodeModelNames [] ノードモデル名のリスト Result 型 必須 デフォルト 値の制限 説明 permit bool  ノードを解放を許可するか 実装例 非同期実行スクリプト ノードを解放処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース oldStatus Status 更新前のステータス newStatus Status 更新後のステータス userId string ユーザーID nodeModelNames [] ノードモデル名のリスト 実装例 restrain ノードの解放を元に戻す 同期実行スクリプト ノードの解放を元に戻す処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース userId string ユーザーID oldStatus Status 更新前のステータス newStatus Status 更新後のステータス nodeModelNames [] ノードモデル名のリスト Result 型 必須 デフォルト 値の制限 説明 permit bool  ノードの解放を元に戻すを許可するか 実装例 非同期実行スクリプト ノードの解放を元に戻す処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース userId string ユーザーID oldStatus Status 更新前のステータス newStatus Status 更新後のステータス nodeModelNames [] ノードモデル名のリスト 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-SkillTree Script トリガー リファレンス","url":"/ja/api_reference/skill_tree/script/"},{"content":"トリガー overflow スタミナ最大値のオーバーフロー 同期実行スクリプト スタミナ最大値のオーバーフロー処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース staminaModel StaminaModel スタミナモデル stamina Stamina スタミナ overflowValue long 溢れた量 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Stamina Script トリガー リファレンス","url":"/ja/api_reference/stamina/script/"},{"content":"トリガー start ステートマシンを開始 同期実行スクリプト ステートマシンを開始処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース stateMachineMaster StateMachineMaster ステートマシンマスターデータ status Status ステータス userId string ユーザーID parameters string ステートマシンに渡す引数 Result 型 必須 デフォルト 値の制限 説明 permit bool  開始を許可するか 実装例 非同期実行スクリプト ステートマシンを開始処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース stateMachineMaster StateMachineMaster ステートマシンマスターデータ status Status ステータス userId string ユーザーID parameters string ステートマシンに渡す引数 実装例 pass ステートマシンが正常終了 同期実行スクリプト ステートマシンが正常終了処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース stateMachineMaster StateMachineMaster ステートマシンマスターデータ status Status ステータス userId string ユーザーID Result 型 必須 デフォルト 値の制限 説明 permit bool  ステートマシンの正常終了を許可するか 実装例 非同期実行スクリプト ステートマシンが正常終了処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース stateMachineMaster StateMachineMaster ステートマシンマスターデータ status Status ステータス userId string ユーザーID 実装例 error ステートマシンが異常終了 同期実行スクリプト ステートマシンが異常終了処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース stateMachineMaster StateMachineMaster ステートマシンマスターデータ status Status ステータス userId string ユーザーID Result 型 必須 デフォルト 値の制限 説明 permit bool  ステートマシンの異常終了を許可するか 実装例 非同期実行スクリプト ステートマシンが異常終了処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース stateMachineMaster StateMachineMaster ステートマシンマスターデータ status Status ステータス userId string ユーザーID 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-StateMachine Script トリガー リファレンス","url":"/ja/api_reference/state_machine/script/"},{"content":"トリガー acceptVersion バージョン承認 同期実行スクリプト バージョン承認処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース versionModel VersionModel バージョンモデル acceptVersion AcceptVersion 承認したバージョン currentAcceptVersion AcceptVersion 現在承認しているバージョン Result 型 必須 デフォルト 値の制限 説明 permit bool  バージョン承認を許可するか 実装例 非同期実行スクリプト バージョン承認処理の後に、スクリプトが非同期実行されます。 Request 型 説明 namespace Namespace ネームスペース versionModel VersionModel バージョンモデル acceptVersion AcceptVersion 承認したバージョン 実装例 checkVersion バージョンチェック 同期実行スクリプト バージョンチェック処理の前に、スクリプトが同期実行されます。 Request 型 説明 namespace Namespace ネームスペース versionModel VersionModel バージョンモデル currentVersion Version 現在のバージョン userId string ユーザーID warning Status 通常のバージョンチェックの結果 警告になった場合 error Status 通常のバージョンチェックの結果 エラーになった場合 Result 型 必須 デフォルト 値の制限 説明 overrideWarning Status 上書きするバージョンチェックの結果 警告 overrideError Status 上書きするバージョンチェックの結果 エラー 実装例","lang":"ja","section":"api_reference","summary":"拡張スクリプトを呼び出すイベントトリガーのリファレンス\n","title":"GS2-Version Script トリガー リファレンス","url":"/ja/api_reference/version/script/"},{"content":"GS2-Accountサービスの利用を開始するにあたり、ネームスペースを追加する必要があります。 ネームスペース(名前空間)は、一つのプロジェクト内で同じサービスを、異なった複数の用途で利用できるようにするための仕組みです。 異なるネームスペース内であれば、同じサービスでも全く別のデータ空間として取り扱われます。 それでは、サンプルのテンプレートを使って、GS2-Accountのネームスペース名にgame-0001を追加し、 アカウントの認証に使用する暗号鍵を発行して、アカウントの新規作成が可能な状態にします。 GS2-Deploy でリソースを作成する GS2-Deploy は、テンプレートファイル（YAML形式）を元に、複数のサービスのリソースをまとめて作成・管理するためのサービスです。 マネージメントコンソール にログインします。 左メニューから Deploy を選択し、 Stacks をクリックします。 スタックの新規作成 をクリックします。 スタック名 に initialize-account などの任意の名前を入力します。 テンプレートデータ の入力欄に、以下のテンプレートの内容をコピー＆ペーストします。 作成 ボタンをクリックします。 作成が完了するまで数秒〜数十秒かかります。ステータスが CREATE_COMPLETE になれば完了です。 サンプルテンプレートをダウンロード","lang":"ja","section":"get_start","summary":"匿名アカウントを発行〜ログインまでできるリソースを用意しましょう\n","title":"ログイン処理に必要なリソースを準備","url":"/ja/get_start/tutorial/setup_account/"},{"content":"GS2-SDK はゲームエンジンに特化したSDKが提供されています。 Unity と Unreal Engine 5 を利用した開発者はこの SDK による様々な機能を利用できます。 Unity Unity で利用できる SDK として 「GS2-SDK for Unity」 を提供しています。 Unity Package Manager(UPM) と完全に統合されており、SDK の更新も UPM 上で行えます。 依存しているライブラリは LitJSON (Public Domain) / websocket-sharp (MIT) / Protocol Buffers (BSD) のみです。 GS2-SDK for Unity は Apache License 2.0 で提供されており、以下の GitHub リポジトリで全てのソースコードが公開されています。 https://github.com/gs2io/gs2-csharp-sdk https://github.com/gs2io/gs2-sdk-for-unity https://github.com/gs2io/gs2-uikit-for-unity GS2-SDK for Unity はサーバーから取得したデータの状態管理機能を有しています。 APIを通して取得したデータは SDK のレイヤーでキャッシュされ、サーバーの値が更新された場合はキャッシュも自動的に更新されます。 そのため、開発者はデータの読み込みに関しては、何も考えずに Update関数 から GS2-SDK の API を呼び出して最新の値にアクセスできます。 実装例 var result = await gs2.Account.Namespace( namespaceName: \"namespace-0001\" ).CreateAsync(); var item = await result.ModelAsync(); var userId = item.UserId; var password = item.Password; GS2-UIKit for Unity より Unity に特化した SDK です。 Unity Editor で GameObject に対してコンポーネントを付与するだけで、テキストにアイテムの所持数量を反映したり 回数制限の上限に達しているか・達していないかで GameObject を有効化・無効化するような設定ができます。 サーバーからデータを取得して UI に反映するような単純な実装であれば、UI Kit を使用することでノーコードで実現できます。 Unreal Engine 5 Unreal Engine 5 で利用できる SDK として 「GS2-SDK for Unreal Engine」 を提供しています。 Unreal Engine のプラグインとして提供されており、コードを配置するだけでプロジェクトに組み込むことができます。 依存している外部のライブラリはなく、全て Unreal Engine 5 の標準機能で実装されています。 GS2-SDK for Unreal Engine は Apache License 2.0 で提供されており、以下の GitHub リポジトリで全てのソースコードが公開されています。 https://github.com/gs2io/gs2-sdk-for-ue5 実装例 const auto Domain = Gs2-\u003eAccount-\u003eNamespace( \"namespace-0001\" // namespaceName ); const auto Future = Domain-\u003eCreate( ); Future-\u003eStartSynchronousTask(); if (Future-\u003eGetTask().IsError()) return false; // obtain changed values / result values const auto Future2 = Future-\u003eGetTask().Result()-\u003eModel(); Future2-\u003eStartSynchronousTask(); if (Future2-\u003eGetTask().IsError()) return false; const auto Result = Future2-\u003eGetTask().Result(); Blueprint SDK より Unreal Engine 5 に特化した SDK です。 Unreal Editor で開発できるノードベースのプログラミング環境である Blueprint に対応したSDKです。 Blueprint SDK を使用することで、C++ を使用しなくても GS2 の機能にアクセス可能です。","lang":"ja","section":"overview","summary":"GS2 を利用したゲーム開発について\n","title":"実装","url":"/ja/overview/workflow/coding/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 changePasswordIfTakeOver bool false アカウント引き継ぎ時にパスワードを変更するか アカウント引き継ぎ時にパスワードを変更するかどうかを指定します。 この設定により、アカウント引き継ぎを実行した後に引き継ぎ前のデバイスからのログインを制限することができます。 differentUserIdForLoginAndDataRetention bool false ログインに使用するユーザーIDとデータの保持に使用するユーザーIDを異なるものにする ログイン用ユーザーIDとデータ保持用ユーザーIDを分けるかどうかを指定します。 この設定により、プラットフォーマーが規定する個人情報保護の要件を少ない工数で満たせる可能性があります。 ※このパラメータは、ネームスペースの作成時にのみ設定が可能です。 createAccountScript ScriptSetting アカウント新規作成したときに実行するスクリプト アカウント作成のカスタムロジックを実装するのに使用されます。 Script トリガーリファレンス - createAccount authenticationScript ScriptSetting 認証したときに実行するスクリプト 認証プロセスのカスタマイズに役立ちます。 Script トリガーリファレンス - authentication createTakeOverScript ScriptSetting 引き継ぎ情報登録したときに実行するスクリプト 引き継ぎ情報を初めて登録した時に報酬を与えるために、GS2-Mission のカウンターを上昇するなどのカスタムロジックを追加するのに使用されます。 Script トリガーリファレンス - createTakeOver doTakeOverScript ScriptSetting 引き継ぎ実行したときに実行するスクリプト 引き継ぎ処理の追加ロジックを実装するのに役立ちます。 Script トリガーリファレンス - doTakeOver banScript ScriptSetting アカウントBANステータスを追加したときに実行するスクリプト Script トリガーリファレンス - ban unBanScript ScriptSetting アカウントBANステータスを解除したときに実行するスクリプト Script トリガーリファレンス - unBan logSetting LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log のネームスペース情報を保持します。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentModelMaster 現在アクティブな引き継ぎ情報タイプモデルのマスターデータ 現在ネームスペース内で有効な引き継ぎ情報タイプモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Account マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentModelMaster 更新された現在アクティブな引き継ぎ情報タイプモデルのマスターデータ 実装例 TakeOverTypeModel 引き継ぎ情報タイプモデル 引き継ぎ情報を定義するモデルです。 引き継ぎ情報とは、デバイスの機種変更やプラットフォーム間のアカウントの移動・共有時に使用する情報です。 個人を識別するユニークな文字列とパスワードで構成され、その適切な組み合わせを入力することで、Account(匿名アカウント)を取得することができます。 1つの Account に対して複数の引き継ぎ情報を設定できます。 複数の引き継ぎ情報を設定するにはそれぞれ異なるスロットを指定する必要があります。 スロットには0～1024を指定できますので、最大1025種類の引き継ぎ情報を設定可能です。 具体的な用例としては 0 には Sign in with Apple のアカウント情報を、1 には Google のアカウント情報を保存するようにする。というような使い方が想定されています。 あくまでこの引き継ぎ情報はデータホルダーであり、ソーシャルアカウントとの認証の仕組みは別途用意する必要があります。  takeOverTypeModelId string ※ ~ 1024文字 引き継ぎ情報タイプモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 openIdConnectSetting OpenIdConnectSetting  OpenID Connect の設定 OpenID Connect 準拠の Identity Provider (IdP) と連携するための設定です。ディスカバリURL、クライアント認証情報、Apple Sign In パラメータなどのプラットフォーム固有の設定が含まれます。 OpenIdConnectSetting OpenID Connect の設定 OpenID Connect 準拠の IdP の設定を登録することで、アカウントの引き継ぎ情報として IdP 連携を利用できるようになります。  configurationPath string  ~ 1024文字 OpenID Connect 設定 URL OpenID Connect プロバイダーのディスカバリエンドポイント URL です。well-known 形式（例：https://example.com/.well-known/openid-configuration）に従う必要があります。 clientId string  ~ 1024文字 クライアントID IdP に登録されたアプリケーションのクライアントIDです。 clientSecret string {configurationPath} != “https://appleid.apple.com/.well-known/openid-configuration” ※ ~ 1024文字 クライアントシークレット ※ configurationPath が “https://appleid.apple.com/.well-known/openid-configuration” 以外の、その他の IdP 連携であれば 必須 appleTeamId string {configurationPath} == “https://appleid.apple.com/.well-known/openid-configuration” ※ ~ 1024文字 Apple Developer チームID Apple Developer アカウントのチームIDです。Apple Sign In 認証に必要です。 ※ configurationPath が “https://appleid.apple.com/.well-known/openid-configuration” であれば 必須 appleKeyId string {configurationPath} == “https://appleid.apple.com/.well-known/openid-configuration” ※ ~ 1024文字 Apple に登録済みのキーID Sign in with Apple 用に Apple Developer アカウントに登録されたキーIDです。 ※ configurationPath が “https://appleid.apple.com/.well-known/openid-configuration” であれば 必須 applePrivateKeyPem string {configurationPath} == “https://appleid.apple.com/.well-known/openid-configuration” ※ ~ 10240文字 Apple から受け取った秘密鍵 Apple Developer ポータルからダウンロードした PEM 形式の秘密鍵です。Apple Sign In 認証に必要です。 ※ configurationPath が “https://appleid.apple.com/.well-known/openid-configuration” であれば 必須 doneEndpointUrl string ~ 1024文字 認証完了時に遷移するURL 未指定の場合 /authorization/done に遷移します。 Query String に id_token が付与されます。 additionalScopeValues List [] 0 ~ 10 items OpenID Connect で取得する追加のスコープ デフォルトの OpenID Connect スコープに加えて IdP にリクエストする追加の OAuth スコープです。認証時に追加のユーザー情報を取得することができます。 additionalReturnValues List [] 0 ~ 10 items OpenID Connect で取得する追加の返却値 ID トークンまたは UserInfo レスポンスから返却値に含める追加のクレーム名です。指定されたクレームが抽出され、標準の認証結果とともに返却されます。 ScopeValue スコープ値 OpenID Connect 認証時に取得される追加の OAuth スコープ値を表すキーと値のペアです。標準の OpenID Connect クレーム以外に IdP から取得した追加データの保存に使用されます。  key string  ~ 64文字 名前 認証時に IdP に対してリクエストしたスコープ名です。 value string ~ 51200文字 値 対応するスコープに対して IdP から返却された値です。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Account Deploy/CDK リファレンス","url":"/ja/api_reference/account/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 広告視聴報酬の付与時に実行される分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションが含まれます。 admob AdMob AdMob の設定 AdMob に関連する広告の設定やパラメータを管理します。 unityAd UnityAd Unity Ads の設定 Unity Ads に関連する広告の設定やパラメータを管理します。 appLovinMaxes List 0 ~ 10 items AppLovin MAX の設定 AppLovin MAX に関連する広告の設定やパラメータを管理します。 acquirePointScript ScriptSetting ポイント入手時に実行するスクリプトの設定 Script トリガーリファレンス - acquirePoint consumePointScript ScriptSetting ポイント消費時に実行するスクリプトの設定 Script トリガーリファレンス - consumePoint changePointNotification NotificationSetting  広告視聴によりポイントが変動したときのプッシュ通知 広告視聴によるポイント変動時のプッシュ通知設定です。 ポイントが変動した際にゲームクライアントに通知するための設定を保持します。 この設定を行わなければ、獲得したポイントが即時にゲームに反映されません。 logSetting LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log のネームスペース情報を保持します。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 AdMob AdMob 広告プラットフォームに関連する設定 許可された広告ユニットIDのリストを保持し、これに基づいて AdMob からの視聴完了 Webhook の検証を行います。  allowAdUnitIds List  1 ~ 10 items 許可する広告ユニットIDリスト AdMobからの広告視聴完了コールバックに含まれる広告ユニットIDを検証するために使用されます。 リストに含まれる広告ユニットIDは、アプリケーションまたはゲーム内での広告視聴が適切に完了したことを確認するためのものです。 AdMobプラットフォームから送信される広告視聴完了の通知に含まれる広告ユニットIDがこのリストにあるかどうかを確認することで、正当な広告視聴イベントのみを受け入れ、不正なリクエストやスパムを防ぐことができます。 UnityAd Unity Ads 広告プラットフォームに関連する設定 アプリケーションやゲームで使用されるUnity Ads関連の暗号鍵を保持するために使用されます。 暗号鍵はUnity Adsから発行され、広告視聴の完了を検証する際に使用します。  keys List 0 ~ 10 items 暗号鍵のリスト Unity Adsから発行された暗号鍵のリストを保持します。 これらの鍵は、Unity Ads 広告プラットフォームとの通信や広告イベントの検証に使用されます。 暗号鍵は Unity Dashboard で取得することができます。 リストに含まれる各鍵は、広告視聴の完了を検証するために必要です。 AppLovinMax AppLovin MAX 広告プラットフォームに関連する設定 許可された広告ユニットIDを保持し、これに基づいて AppLovin MAX からの視聴完了 Webhook の検証を行います。  allowAdUnitId string  ~ 16文字 許可する広告ユニットID AppLovin MAX から送信される広告視聴完了コールバックに含まれる ad_unit_id を検証するために使用されます。 この設定に登録された広告ユニットIDと、コールバックに含まれる ad_unit_id が一致する場合のみ、広告視聴が正当に完了したものとして受け付けます。 これにより、許可されていない広告ユニットからの通知や不正なリクエストを拒否し、不正な広告報酬の付与やスパムを防ぐことができます。 eventKey string  ~ 128文字 AppLovin Event Key AppLovin MAXからの広告視聴完了コールバックが適切なアクセス元からのアクセスであることを検証する際に利用します","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-AdReward Deploy/CDK リファレンス","url":"/ja/api_reference/ad_reward/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 バフの適用結果に基づいて実行される分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションが含まれます。 applyBuffScript ScriptSetting バフを適用する際に実行するスクリプトの設定 Script トリガーリファレンス - apply logSetting LogSetting ログの出力設定 バフ操作のログデータを GS2-Log に出力するための設定です。APIリクエスト・レスポンスのログを収集する GS2-Log のネームスペースを指定します。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentBuffMaster 現在アクティブなバフエントリーモデルのマスターデータ 現在ネームスペース内で有効な、バフエントリーモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Buff マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentBuffMaster 更新された現在アクティブなバフエントリーモデルのマスターデータ 実装例 BuffEntryModel バフエントリーモデル バフの適用量はバフエントリーモデルで管理し、同一の対象に対して複数のバフエントリーモデルを関連づけることが可能です。 バフエントリーモデルの適用順番はバフエントリーモデルの priority で管理し、 priority の値が小さいほど優先度が高くなります。 バフの適用方式は3種類存在し「Rate Add」、「Mul」と「Value Add」があります。 Rate Add はバフの適用レートに加算する命令、Mul はバフの適用レートに乗算する命令です。 Value Add はバフの補正計算後の値に加算を行う命令です。 たとえば、デフォルトのレートが 1.0 で、Rate Add 0.2 と設定するとバフの適用レートは 1.2 になります。 Mul 0.5 と設定するとバフの適用レートは 0.5 倍になります。 バフエントリーモデルには GS2-Schedule のイベントを関連づけることができ、イベントの開催期間中のみバフを適用するような設定も可能です。  buffEntryModelId string ※ ~ 1024文字 バフエントリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 バフエントリーモデル名 バフエントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 expression 文字列列挙型 enum {   “rate_add”,   “mul”,   “value_add” }  バフの適用タイプ バフ値を対象にどのように適用するかを指定します。「Rate Add」は補正レートに加算（例: 1.0 + 0.2 = 1.2）、「Mul」は補正レートに乗算（例: レート * 0.5）、「Value Add」はレートベースの補正計算後の値に直接加算します。 定義 説明 “rate_add” 補正レートに加算 “mul” 補正レートに乗算 “value_add” 値を直接加算（モデルやアクションの数値のみ） targetType 文字列列挙型 enum {   “model”,   “action” }  バフを適用する対象の種類 バフをモデルのフィールド値に適用するか、アクションのパラメータに適用するかを指定します。「Model」は GS2 リソースモデルのフィールドを対象とし、「Action」は GS2 アクション（例：入手量や消費量）のパラメータを対象とします。 定義 説明 “model” モデル “action” アクション targetModel BuffTargetModel {targetType} == “model” ※ バフを適用する対象のモデル バフを適用する GS2 リソースモデルとフィールドを指定します。モデル名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “model” であれば 必須 targetAction BuffTargetAction {targetType} == “action” ※ バフを適用する対象のアクション バフを適用する GS2 アクションとパラメータを指定します。アクション名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “action” であれば 必須 priority int  0 ~ 2147483646 バフの適用優先度 バフエントリーモデルが評価される順序を決定します。値が小さいほど先に評価されます。同じフィールドを対象とする複数のバフがある場合、Rate Add と Mul 演算の相互作用により、適用順序が最終結果に影響します。 applyPeriodScheduleEventId string ~ 1024文字 バフを適用するイベントの開催期間 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このバフの有効期間を制御する GS2-Schedule イベントの GRN です。指定した場合、イベントの開催期間中のみバフが適用されます。未指定の場合、バフは常に有効です。 BuffTargetModel バフを適用する対象のモデル バフ適用の対象となる GS2 リソースモデルとフィールドを定義します。どのモデルのどのフィールド値をバフで変更するかを指定し、対象リソースインスタンスを特定する条件GRNと適用するレート値を含みます。  targetModelName 文字列列挙型 enum { }  バフを適用するモデルの種類 targetFieldName string  ~ 64文字 バフの適用対象フィールド名 バフによって値が変更される対象モデル上の数値フィールド名です。例えば、経験値や攻撃力などの数値属性を表すフィールドが対象となります。 conditionGrns List  1 ~ 10 items バフの適用条件GRNのリスト バフ適用の対象リソースインスタンスを特定する GRN パターンのリストです。複数の GRN を組み合わせて、リソースを正確に特定する複合条件を形成します。 rate float  0 ~ 1000000 補正レート 適用されるバフ値です。適用タイプにより意味が異なります。「Rate Add」の場合は基本レートに加算、「Mul」の場合は現在のレートに乗算、「Value Add」の場合はレート計算後のフィールド値に直接加算されます。 BuffTargetAction バフを適用する対象のアクション バフ適用の対象となる GS2 アクションとパラメータを定義します。どのアクションのどのパラメータをバフで変更するかを指定し、対象リソースインスタンスを特定する条件GRNと適用するレート値を含みます。  targetActionName 文字列列挙型 enum { \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SubExperience\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:ConsumeItemSet\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeSimpleItems\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:ConsumeBigItem\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2Limit:CountUp\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:Withdraw\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Money2:Withdraw\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Stamina:ConsumeStamina\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , }  バフを適用するアクションの種類 targetFieldName string  ~ 64文字 バフの適用対象フィールド名 バフによって値が変更される対象アクション上の数値パラメータ名です。例えば、入手数、消費量、報酬数量などを表すパラメータが対象となります。 conditionGrns List  1 ~ 10 items バフの適用条件GRNのリスト バフ適用の対象リソースインスタンスを特定する GRN パターンのリストです。複数の GRN を組み合わせて、リソースを正確に特定する複合条件を形成します。 rate float  0 ~ 1000000 レート 適用されるバフ値です。適用タイプにより意味が異なります。「Rate Add」の場合は基本レートに加算、「Mul」の場合は現在のレートに乗算、「Value Add」の場合はレート計算後のパラメータ値に直接加算されます。 BuffTargetGrn バフ適用条件となるリソースのGRNパターン バフを適用する対象のリソースインスタンスを特定するための、プレースホルダーを含む GRN テンプレートです。モデル名で GS2 サービスモデルを特定し、GRN パターンにはランタイムで解決されるコンテキスト変数（例：region、ownerId、namespaceName）が含まれます。  targetModelName string  ~ 64文字 バフの適用条件のモデル名 条件GRNを解決するために使用される GS2 サービスモデルの名前です。GRN パターンがどのサービスのリソースモデルを参照するかを特定します。 targetGrn string  ~ 1024文字 バフの適用条件GRN ランタイムで解決されるコンテキストプレースホルダー（例：{region}、{ownerId}）を含む GRN テンプレートです。バフの対象となる特定のリソースインスタンスを特定するために使用されます。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Buff Deploy/CDK リファレンス","url":"/ja/api_reference/buff/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 チャットサービス内でのトランザクションの処理方法を制御する設定です。 allowCreateRoom bool true ゲームプレイヤーによるルームの作成を許可するか ゲーム運営側があらかじめルームを作成しておいて、ゲームプレイヤーはそのルームを購読する形式の場合は「false」を指定します。 逆に、ゲームプレイヤーが自由にルームを作成して、他のプレイヤーを招待して遊ぶ形式の場合は「true」を指定します。 messageLifeTimeDays int 1 1 ~ 30 メッセージ保持期間(日数) ルーム内のメッセージを保持する日数。 postMessageScript ScriptSetting メッセージを投稿したときに実行するスクリプトの設定 Script トリガーリファレンス - postMessage createRoomScript ScriptSetting ルームを作成したときに実行するスクリプトの設定 Script トリガーリファレンス - createRoom deleteRoomScript ScriptSetting ルームを削除したときに実行するスクリプトの設定 Script トリガーリファレンス - deleteRoom subscribeRoomScript ScriptSetting ルームを購読したときに実行するスクリプトの設定 Script トリガーリファレンス - subscribeRoom unsubscribeRoomScript ScriptSetting ルームの購読を解除したときに実行するスクリプトの設定 Script トリガーリファレンス - unsubscribeRoom postNotification NotificationSetting  購読しているルームに新しい投稿がきたときのプッシュ通知 購読中のルームに新しいメッセージが投稿された際に GS2-Gateway 経由でプッシュ通知を送信するための設定です。この設定がなければ、クライアントは新しいメッセージを検出するためにルームをポーリングする必要があります。 logSetting LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log のネームスペース情報を保持します。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentModelMaster 現在アクティブなカテゴリーモデルのマスターデータ 現在ネームスペース内で有効な、カテゴリーモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Chat マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentModelMaster 更新された現在アクティブなカテゴリーモデルのマスターデータ 実装例 CategoryModel カテゴリーモデル カテゴリーモデルは、チャットルームに投稿されるメッセージを分類するためのカテゴリーを定義します。 各カテゴリーは数値で識別され、カテゴリーごとにプレイヤーのアクセストークンを使った投稿を許可するか拒否するかを設定できます。 これにより、サーバーのみが投稿可能なシステムアナウンスカテゴリーなどのユースケースを実現できます。  categoryModelId string ※ ~ 1024文字 カテゴリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 category int  0 ~ 2147483645 カテゴリー メッセージカテゴリーの数値識別子です。このカテゴリー番号で投稿されたメッセージは、プレイヤーの投稿を許可するかなど、このモデルで定義されたルールに従います。 rejectAccessTokenPost 文字列列挙型 enum {   “Enabled”,   “Disabled” } プレイヤーのアクセストークンを利用した投稿を拒否する 有効にすると、このカテゴリーではサーバーサイドの API 呼び出し（ユーザーID指定）のみがメッセージを投稿できます。プレイヤーが直接投稿すべきでないシステムアナウンスやサーバー生成メッセージに有用です。 定義 説明 “Enabled” アクセストークンを利用した投稿を拒否する “Disabled” アクセストークンを利用した投稿を許可する","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Chat Deploy/CDK リファレンス","url":"/ja/api_reference/chat/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 データストア操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 logSetting LogSetting ログの出力設定 データストア操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、データオブジェクトのアップロード・ダウンロード・アクセス権変更などの API リクエスト・レスポンスログを収集できます。 doneUploadScript ScriptSetting アップロード完了報告時に実行するスクリプトの設定 Script トリガーリファレンス - doneUpload GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用されるログネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースIDは、ログデータを集約し、保存する対象の GS2-Log のネームスペースを指定します。 この設定を通じて、このネームスペース以下のAPIリクエスト・レスポンスログデータが対象の GS2-Log へ出力されるようになります。 GS2-Log にはリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Datastore Deploy/CDK リファレンス","url":"/ja/api_reference/datastore/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 図鑑エントリー登録処理時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 entryScript ScriptSetting エントリー登録時に実行するスクリプトの設定 Script トリガーリファレンス - entry duplicateEntryScript string ~ 1024文字 登録済みのエントリーを再度登録しようとしたときに実行するスクリプトGRN Script トリガーリファレンス - duplicateEntry logSetting LogSetting ログの出力設定 図鑑操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、エントリー登録・お気に入り操作など図鑑関連の API リクエスト・レスポンスログを収集できます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用されるログネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースIDは、ログデータを集約し、保存する対象の GS2-Log のネームスペースを指定します。 この設定を通じて、このネームスペース以下のAPIリクエスト・レスポンスログデータが対象の GS2-Log へ出力されるようになります。 GS2-Log にはリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentEntryMaster 現在アクティブなエントリーモデルのマスターデータ 現在ネームスペース内で有効な、エントリーモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Dictionary マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentEntryMaster 更新された現在アクティブなエントリーモデルのマスターデータ 実装例 EntryModel エントリーモデル エントリーモデルは、GS2-Dictionary において図鑑に記録可能な対象を定義するマスターデータです。 各エントリーモデルは、モンスターやアイテム、アバターパーツなど、図鑑に記録されるエンティティの種類を表します。 エントリーの所持状態は「記録済み / 未記録」の2値で管理され、同一エントリーモデルに対して数量やスタックの概念はありません。  entryModelId string ※ ~ 1024文字 エントリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 エントリーモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Dictionary Deploy/CDK リファレンス","url":"/ja/api_reference/dictionary/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 リソース配布処理時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 assumeUserId string ~ 1024文字 GS2-Identifier ユーザー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN autoRunStampSheetNotification NotificationSetting  トランザクションの自動実行が完了したときのプッシュ通知(旧仕様) トランザクションがサーバーサイドで自動実行完了した際に GS2-Gateway 経由でプッシュ通知を送信するための設定です。これは旧仕様であり、新仕様では autoRunTransactionNotification を使用してください。 autoRunTransactionNotification NotificationSetting  トランザクションの自動実行が完了したときのプッシュ通知 分散トランザクションがサーバーサイドで自動実行完了した際に GS2-Gateway 経由でプッシュ通知を送信するための設定です。トランザクション結果をクライアントに通知し、ローカル状態を適切に更新できるようにします。 logSetting LogSetting ログの出力設定 ディストリビューター操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、リソース配布・入手アクション実行・トランザクション処理の API リクエスト・レスポンスログを収集できます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用されるログネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースIDは、ログデータを集約し、保存する対象の GS2-Log のネームスペースを指定します。 この設定を通じて、このネームスペース以下のAPIリクエスト・レスポンスログデータが対象の GS2-Log へ出力されるようになります。 GS2-Log にはリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentDistributorMaster 現在アクティブな配信モデルのマスターデータ 現在ネームスペース内で有効な、配信モデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Distributor マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentDistributorMaster 更新された現在アクティブな配信モデルのマスターデータ 実装例 DistributorModel 配信モデル 配信モデルとはリソースの入手時に所持枠を超えて入手した時のポリシーを設定するエンティティです。 GS2-Distributor を通して入手処理を行うことで、あふれたリソースを GS2-Inbox のメッセージとして転送することができます。  distributorModelId string ※ ~ 1024文字 配信モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 配信モデル名 配信モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 inboxNamespaceId string ~ 1024文字 あふれたリソースを転送する GS2-Inbox のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN リソースの入手がプレイヤーの所持枠を超えた場合、あふれたリソースは指定された GS2-Inbox ネームスペースにメッセージとして転送されます。プレイヤーは後から受信箱からリソースを受け取ることができます。 whiteListTargetIds List [] 0 ~ 1000 items GS2-Distributorを通して処理出来る対象のリソースGRNのホワイトリスト この配信モデルを使用して入手処理を行える対象となるリソースのGRNプレフィックスを指定します。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Distributor Deploy/CDK リファレンス","url":"/ja/api_reference/distributor/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 エンチャントパラメータ操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログの出力設定 エンチャント操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、バランスパラメータおよびレアリティパラメータ操作の API リクエスト・レスポンスログを収集できます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentParameterMaster 現在アクティブなパラメータモデルのマスターデータ 現在ネームスペース内で有効な、パラメータモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Enchant マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentParameterMaster 更新された現在アクティブなパラメータモデルのマスターデータ 実装例 BalanceParameterModel バランスパラメータモデル バランスパラメータの抽選条件を定義します。 バランスパラメータは固定の合計値を複数のパラメータスロットに分配します。例えば、合計パワーが100の武器に対して ATK=60、DEF=30、SPD=10 のように配分されます。初期値の設定方針により値の割り当て方法が決まります： average は均等に分配し、 lottery は合計値をランダムに配分します。  balanceParameterModelId string ※ ~ 1024文字 バランスパラメータモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 バランスパラメータモデル名 バランスパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 totalValue long  0 ~ 9223372036854775805 合計値 すべてのパラメータスロットに分配される固定の合計値です。パラメータが抽選される際、使用される配分方針に関わらず、個々の値の合計は常にこの合計値になります。 initialValueStrategy 文字列列挙型 enum {   “average”,   “lottery” } “average” 初期値の設定方針 初回割り当て時に合計値をパラメータスロットにどのように分配するかを決定します。 average は合計値をすべてのパラメータに均等に分配し、 lottery は合計値をランダムに分配してバラエティに富んだパラメータの組み合わせを作成します。 定義 説明 “average” 平均値 “lottery” 抽選 parameters List  1 ~ 10 items バランスパラメータ値モデルのリスト このバランスパラメータで利用可能なパラメータスロットを定義します。各エントリは名前付きパラメータスロット（例: ATK、DEF、SPD）をオプションのメタデータとともに指定します。合計値はこれらのスロットに分配されます。 BalanceParameterValueModel バランスパラメータ値モデル バランスパラメータ内で利用可能な単一のパラメータスロットを定義します。各エントリは、抽選処理中に合計値の一部を受け取る名前付きスロット（例: ATK、DEF、SPD）を指定します。  name string  ~ 64文字 名前 このパラメータスロットの識別子（例: ATK、DEF、SPD）です。バランスパラメータモデル内で一意である必要があります。抽選されたパラメータ値の保存・取得時にキーとして使用されます。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 RarityParameterModel レアリティパラメータモデル レアリティパラメータの抽選条件を定義します。レアリティパラメータは重み付き抽選システムを使用して、付与されるパラメータの数と割り当てられる具体的な値の両方を決定します。まず、付与数モデルのリストから重み付き抽選により埋めるパラメータスロット数が決定されます。次に、各スロットの値がパラメータ値モデルのリストから重み付き抽選で選択され、制御された確率分布によるランダムな装備属性を提供します。  rarityParameterModelId string ※ ~ 1024文字 レアリティパラメータモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レアリティパラメータモデル名 レアリティパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumParameterCount int  1 ~ 10 付与するパラメータの最大数 リソースに付与できるパラメータスロット数の上限です。実際に付与される数は付与数モデルのリストからの重み付き抽選で決定されますが、この値を超えることはありません。 parameterCounts List  1 ~ 10 items レアリティパラメータの付与数モデルのリスト 付与されるパラメータスロット数を決定するための重み付き抽選エントリを定義します。各エントリは付与数と排出重みを指定します。重みが大きいほど、その付与数が選択される確率が高くなります。 parameters List  1 ~ 1000 items レアリティパラメータ値モデルのリスト 抽選可能なパラメータ値のプールを定義します。各エントリはパラメータ名、リソース詳細、排出重みを指定します。パラメータスロットを埋める際、このプールから重複なしの重み付き抽選で値が選択されます。 RarityParameterCountModel レアリティパラメータの付与数モデル リソースに付与されるパラメータスロット数を決定するための重み付き抽選の単一エントリを定義します。各エントリはパラメータ数と排出重みをペアにし、パラメータ数量の確率分布を細かく制御できます。  count int  0 ~ 10 付与数 このエントリが抽選された際に付与するパラメータスロット数です。例えば、付与数が 3 の場合、リソースは値モデルプールから選択された 3 つのパラメータ値を受け取ります。 weight int  1 ~ 2147483646 排出重み パラメータ付与数を決定する重み付き抽選で使用される相対的な重みです。値が大きいほど、この付与数が選択される確率が高くなります。実際の確率は、この重みを付与数モデルリスト内のすべての重みの合計で割った値になります。 RarityParameterValueModel レアリティパラメータ値モデル レアリティパラメータ値の重み付き抽選プール内の単一エントリを定義します。各エントリはパラメータ名、ゲーム定義のリソース詳細、およびプール内の他のエントリに対する選択確率を決定する排出重みを指定します。  name string  ~ 64文字 名前 この抽選エントリの識別子です。レアリティパラメータモデルの値プール内で一意である必要があります。抽選された際、この名前が結果のレアリティパラメータ値に保存されます。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 resourceName string  ~ 64文字 ゲーム内で使用するパラメータリソースの種類を表す名前（GS2の動作のためには使用しません） このパラメータ値に関連付けられたゲーム定義のリソース種別名（例: “fire_attack”、“ice_resist”）です。GS2 はこの値を自身の動作には使用せず、抽選結果にそのまま渡されゲームロジックで使用されます。 resourceValue long  0 ~ 9223372036854775805 ゲーム内で使用するパラメータリソースの値（GS2の動作のためには使用しません） このパラメータのゲーム定義の数値（例: 攻撃力+50 の場合は 50）です。GS2 はこの値を自身の動作には使用せず、抽選結果にそのまま渡されゲームロジックで使用されます。 weight int  1 ~ 2147483646 排出重み パラメータ値を選択する重み付き抽選で使用される相対的な重みです。値が大きいほど、このエントリが選択される確率が高くなります。実際の確率は、この重みをプール内のすべての重みの合計で割った値になります。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Enchant Deploy/CDK リファレンス","url":"/ja/api_reference/enchant/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 強化操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 enhanceScript ScriptSetting 強化時に実行するスクリプトの設定 Script トリガーリファレンス - enhance logSetting LogSetting ログの出力設定 強化操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、強化および限界突破操作の API リクエスト・レスポンスログを収集できます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentRateMaster 現在アクティブなレートモデルのマスターデータ 現在ネームスペース内で有効な、レートモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Enhance マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentRateMaster 更新された現在アクティブなレートモデルのマスターデータ 実装例 RateModel 強化レートモデル 強化レートは強化に使用する素材と強化対象を定義したデータです。 素材データ、強化対象データは共に GS2-Inventory で管理されている必要があります。 強化で得られる経験値は GS2-Inventory のメタデータにJSON形式で記録します。 ここではメタデータのどの階層に経験値の値が格納されているかを記載する必要があります。 強化時に一定の確率で 大成功 といった形で入手できる経験値量に補正値をかけることができます。 その抽選確率もこのエンティティで定義します。  rateModelId string ※ ~ 1024文字 強化レートモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 targetInventoryModelId string  ~ 1024文字 強化対象に使用できる GS2-Inventory インベントリモデルの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化対象となるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。強化されるアイテムはこのインベントリモデルに属している必要があります。 acquireExperienceSuffix string  ~ 1024文字 GS2-Experience で入手した経験値を格納するプロパティID に付与するサフィックス アイテムのプロパティ ID の末尾に追加され、経験値が保存される GS2-Experience のプロパティ ID を構成する文字列です。同じアイテムに複数の経験値種別を持たせることができます（例: キャラクターレベルの “level”、好感度の “like”）。 materialInventoryModelId string  ~ 1024文字 強化の素材に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化素材として使用できるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。各素材が提供する経験値は、acquireExperienceHierarchy で指定された JSON 階層を使用してアイテムモデルのメタデータに定義されます。 acquireExperienceHierarchy List 0 ~ 10 items ItemModelのメタデータに格納する、入手経験値を定義するJSONデータの階層構造の定義 GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 例えば、{ “aaa”: { “bbb”: { “experienceValue”: 100 } } } というような構造のデータ定義でメタデータに設定したい場合は、[ “aaa”, “bbb”, “experienceValue” ] のように指定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 experienceModelId string  ~ 1024文字 強化の結果得られる GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化で得られた経験値が記録される GS2-Experience の経験値モデルを指定します。経験値は、対象アイテムのプロパティ ID と acquireExperienceSuffix を組み合わせて識別されるプロパティに加算されます。 bonusRates List 0 ~ 1000 items 経験値獲得量ボーナス 強化時のボーナス経験値倍率の重み付き抽選を定義します。各エントリは倍率（例: 1.5 で 150%）と排出重みを指定します。強化実行時に重み付き抽選で1つのエントリが選択され、「大成功」ボーナスが獲得経験値に適用されるかどうかが決定されます。 BonusRate 経験値獲得量ボーナス 強化時の経験値ボーナス倍率を決定する重み付き抽選の単一エントリを定義します。異なる倍率と重みを持つ複数のエントリを設定することで、制御された確率による「大成功」や「超成功」の仕組みを実装できます。  rate float 1.0 0 ~ 10000 経験値ボーナスの倍率 (1.0 = ボーナスなし) このエントリが抽選された際に基本経験値に適用される倍率です。1.0 はボーナスなしの通常強化、1.5 は経験値 150%（大成功）、2.0 は経験値 200%（超成功）などを意味します。 weight int 1 0 ~ 2147483645 抽選重み ボーナスレートを選択する重み付き抽選で使用される相対的な重みです。値が大きいほど、このボーナスレートが選択される確率が高くなります。実際の確率は、この重みをボーナスレートリスト内のすべての重みの合計で割った値になります。 UnleashRateModel 限界突破レートモデル アイテムの限界突破（解放）条件を定義します。GS2-Inventory で管理されるアイテムと GS2-Grade のグレードモデルを関連付け、グレードの進行を可能にします。各グレードレベルで消費する同種アイテムの数を個別に設定でき、各限界突破段階のコストを細かく制御できます。  unleashRateModelId string ※ ~ 1024文字 限界突破レートモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 限界突破レートモデル名 限界突破レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 targetInventoryModelId string  ~ 1024文字 限界突破対象に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 限界突破対象となるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。限界突破するアイテムと素材として消費する同種アイテムの両方がこのインベントリモデルに属している必要があります。 gradeModelId string  ~ 1024文字 グレードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 対象アイテムの限界突破レベルを追跡する GS2-Grade のグレードモデルを指定します。限界突破が成功すると、このグレードモデル内でアイテムのグレードが加算されます。 gradeEntries List  1 ~ 1000 items グレードエントリーリスト 限界突破の各グレードレベルに対する素材コストを定義します。各エントリはグレード値と、そのグレードに到達するために消費する必要がある同種アイテム数をマッピングします。例えば、グレード1は複製1個、グレード2は複製3個のように設定できます。 UnleashRateEntryModel 限界突破レートエントリモデル 限界突破の進行における単一グレードレベルの素材コストを定義します。各エントリは対象となるグレード値と、そのグレードを達成するために消費する必要がある同種アイテムの数を指定します。  gradeValue long  1 ~ 1000 対象グレード このエントリがコストを定義するグレード値です。このグレードレベルへの限界突破を実行する際、needCount で指定された数のアイテムが消費されます。 needCount int  1 ~ 1000 同種のアイテムを何個消費するか 対象グレードへの限界突破を実行するために消費する必要がある同種アイテムの数です。これらのアイテムは、限界突破されるアイテムと同じアイテムモデルのものです。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Enhance Deploy/CDK リファレンス","url":"/ja/api_reference/enhance/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 enableAwaitExchange bool false 交換結果の受け取りに待ち時間の発生する交換機能を利用するか 有効にすると、 await タイミングタイプの交換レートモデルが利用可能になります。これらの交換は報酬を受け取る前に実時間の経過が必要で、プレイヤーが結果を待つ必要のあるクラフトや生産系の仕組みを実現できます。 enableDirectExchange bool true 直接交換 API の呼び出しを許可する 有効にすると、クライアントが交換 API を直接呼び出してリソース交換を実行できます。無効にすると、トランザクションアクション経由でのみ交換がトリガーされ、交換発生のサーバーサイド制御がより厳密になります。 transactionSetting TransactionSetting  トランザクション設定 交換操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 exchangeScript ScriptSetting 交換を実行しようとしたときに実行するスクリプトの設定 Script トリガーリファレンス - exchange incrementalExchangeScript ScriptSetting レート上昇型交換を実行しようとしたときに実行するスクリプトの設定 Script トリガーリファレンス - incrementalExchange acquireAwaitScript ScriptSetting 待機方式の交換処理で、待機が完了し報酬を受け取ろうとしたときに実行するスクリプトの設定 Script トリガーリファレンス - acquireAwait logSetting LogSetting ログの出力設定 交換操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、交換、コスト上昇型交換、待機操作の API リクエスト・レスポンスログを収集できます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentRateMaster 現在アクティブなレートモデルのマスターデータ 現在ネームスペース内で有効な、レートモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Exchange マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentRateMaster 更新された現在アクティブなレートモデルのマスターデータ 実装例 RateModel 交換レートモデル 交換レートモデルはリソースとリソースを交換する際に使用するレートを定義するエンティティです。 直ちに交換できるレートだけでなく、現実時間で一定時間経過したのちに交換できるレートを設定できます。 現実時間での時間経過が必要な交換レートには、更に即時交換を実行するために必要なリソースを定義することが可能です。  rateModelId string ※ ~ 1024文字 交換レートモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト 交換が実行される前にすべてパスする必要がある事前条件チェックです。いずれかの検証アクションが失敗すると、リソースを消費せずに交換が中止されます。レベル要件やインベントリ容量などの条件を強制するために使用されます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト この交換を実行するためにプレイヤーが支払う必要があるリソース（コスト）を定義します。複数の消費アクションを指定でき、ゴールドとアイテムの両方を必要とするような複雑な交換コストを実現できます。これらのアクションは分散トランザクション内の消費アクションとして実行されます。 timingType 文字列列挙型 enum {   “immediate”,   “await” } “immediate” 交換の種類 交換実行後に報酬がいつ配送されるかを決定します。 immediate は交換実行時に即座に報酬を配送します。 await は報酬を受け取る前に実時間の経過が必要で、待機期間（例: クラフト時間）を設けます。 定義 説明 “immediate” 即時 “await” 現実時間の経過待ち lockTime int {timingType} == “await” ※ 0 ~ 538214400 交換実行から実際に報酬を受け取れるようになるまでの待ち時間（分） timingType が await の場合にのみ適用されます。交換が開始されてからプレイヤーが報酬を受け取れるようになるまでに経過する必要がある実時間の分数を指定します。待ち時間はスキップ機能を使用して短縮できます。 ※ timingType が “await” であれば 必須 acquireActions List [] 0 ~ 100 items 入手アクションリスト 交換完了時にプレイヤーが受け取るリソース（報酬）を定義します。複数の入手アクションを指定して、さまざまなリソースタイプを同時に付与できます。これらのアクションは分散トランザクション内の入手アクションとして実行されます。 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 ConsumeAction 消費アクション  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 IncrementalRateModel コスト上昇型交換レートモデル 通常の交換レートは常に一定のレートでの交換を提供します。 上昇型交換レートでは、交換回数に応じてコストが上昇していくレートを定義することができます。 例えば、1回目の交換では 1:1 で交換できるが、2回目の交換では 2:1 で交換できる、といったレートを定義することができます。 このようなレートを定義することで、プレイヤーがゲームを進めることで得られるリソースの価値を上げることができます。 交換回数は現実時間の経過でリセットすることができます。 この機能を利用することで、毎日あるいは毎週交換に必要なコストをリセットすることができます。  incrementalRateModelId string ※ ~ 1024文字 コスト上昇型交換レートモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 consumeAction ConsumeAction  消費アクション（数量/値は自動的に上書きされます） 交換のコストとして消費されるリソースの種類を定義します。実際の数量は交換回数と計算方式（線形、べき乗、スクリプト）に基づいて動的に計算されます。アクションの種類と対象リソースのみ指定すればよく、数量フィールドは自動的に上書きされます。 calculateType 文字列列挙型 enum {   “linear”,   “power”,   “gs2_script” }  コスト上昇量の計算方式 交換回数に応じてコストがどのように上昇するかを決定します。 linear はコストを baseValue +（coefficientValue × 交換回数）として計算します。 power はコストを coefficientValue ×（交換回数 + 1）^2 として計算します。 gs2_script は任意のロジックのためにカスタム GS2-Script に計算を委任します。 定義 説明 “linear” ベース値 + (係数 * 交換回数) “power” 係数 * (交換回数 + 1) ^ 2 “gs2_script” GS2-Script による任意のロジック baseValue long {calculateType} == “linear” ※ 0 ~ 9223372036854775805 ベース値 linear 計算方式を使用する場合の初回交換時の基本コストです。合計コストは baseValue +（coefficientValue × 交換回数）として計算されます。 ※ calculateType が “linear” であれば 必須 coefficientValue long {calculateType} in [“linear”, “power”] ※ 0 ~ 9223372036854775805 係数 交換回数に応じてコストがどれだけ速く上昇するかを制御する乗数です。 linear モードでは、各交換でこの値がコストに加算されます。 power モードでは、コストは coefficientValue ×（交換回数 + 1）^2 として計算されます。 ※ calculateType が “linear”,“power\"であれば 必須 calculateScriptId string {calculateType} == “gs2_script” ※ ~ 1024文字 コスト計算スクリプトの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - calculateCost ※ calculateType が “gs2_script” であれば 必須 exchangeCountId string  ~ 1024文字 交換実行回数を管理する GS2-Limit の回数制限モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 各ユーザーがこのコスト上昇型交換を何回実行したかを追跡する GS2-Limit の回数制限モデルを参照します。カウントは上昇するコストの計算に使用され、GS2-Limit のリセットタイミングを使用して定期的（例: 毎日または毎週）にリセットできます。 maximumExchangeCount int 2147483646 0 ~ 2147483646 交換回数の上限 ユーザーがこのコスト上昇型交換を実行できる最大回数です。交換回数がこの上限に達すると、GS2-Limit によるカウントリセットまでそれ以降の交換が拒否されます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト コスト上昇型交換の完了時にプレイヤーが受け取るリソース（報酬）を定義します。報酬は交換回数に関わらず一定で、コストのみが交換ごとに増加します。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Exchange Deploy/CDK リファレンス","url":"/ja/api_reference/exchange/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 経験値操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 rankCapScriptId string ~ 1024文字 ランクキャップを動的に決定するスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN changeExperienceScript ScriptSetting 経験値変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeExperience changeRankScript ScriptSetting ランク変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeRank changeRankCapScript ScriptSetting ランクキャップ変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeRankCap overflowExperienceScript string ~ 1024文字 経験値あふれしたときに実行するスクリプトGRN Script トリガーリファレンス - overflowExperience logSetting LogSetting ログの出力設定 経験値操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、経験値変動、ランクアップ、ランクキャップ変更の API リクエスト・レスポンスログを収集できます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentExperienceMaster 現在アクティブな経験値モデルのマスターデータ 現在ネームスペース内で有効な、経験値モデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Experience マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentExperienceMaster 更新された現在アクティブな経験値モデルのマスターデータ 実装例 ExperienceModel 経験値モデル 経験値とランクシステムのルールを定義します。ランクアップに必要な経験値の閾値、デフォルトのランクキャップ、最大ランクキャップを設定します。ランクキャップはステータスが到達できる最大ランクを制限し、ステータスごとに最大ランクキャップまで引き上げることができます（例: 限界突破）。オプションで、現在のランクに基づいて報酬倍率を調整する入手アクションレートテーブルを含めることができます。  experienceModelId string ※ ~ 1024文字 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 経験値モデル名 経験値モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultExperience long 0 0 ~ 9223372036854775805 経験値の初期値 新規作成されたステータスに割り当てられる経験値です。通常、プレイヤーが進行の最初から始めるように 0 に設定されます。初期ランクはこの値からランクアップ閾値テーブルを使用して決定されます。 defaultRankCap long  0 ~ 9223372036854775805 ランクキャップの初期値 新規作成されたステータスが到達できるデフォルトの最大ランクです。このランクの閾値を超えた経験値は破棄されるかオーバーフロースクリプトがトリガーされます。ランクキャップは限界突破などの操作により、ステータスごとに maxRankCap まで引き上げることができます。 maxRankCap long  0 ~ 9223372036854775805 ランクキャップの最大値 ランクキャップの絶対的な上限です。ランクキャップ増加操作（限界突破など）を行っても、ランクキャップはこの値を超えることはできません。defaultRankCap 以上の値である必要があります。 rankThreshold Threshold  ランクアップ閾値 各ランクに必要な累計経験値を定義する閾値テーブルを参照します。閾値のエントリ数が到達可能な最大ランクを決定し、各エントリの値は次のランクに到達するために必要な経験値を指定します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト ステータスのランクを参照として使用する際に報酬量を調整するランクベースの倍率テーブルを定義します。各テーブルはランクと倍率をマッピングし、同じアクションからより高ランクのキャラクターがより多くの報酬を受け取るような仕組みを実現できます。 Threshold ランクアップ閾値 ランクアップ閾値は経験値からランク（レベル）を決定するために必要な数列です。 [10, 20] という値を設定した場合、経験値の値が 1~9 の間はランク1、10~19 の間はランク2、経験値の値が 20 でランク3 となり、それ以上経験値を入手することが出来なくなります。  metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 values List  1 ~ 10000 items ランクアップ経験値閾値リスト ランク進行を定義する累計経験値の順序付き配列です。エントリ数が到達可能な最大ランクを決定します。例えば [10, 20] の場合、経験値 0〜9 でランク1、10〜19 でランク2、20 以上でランク3（それ以上の経験値獲得は不可）となります。 AcquireActionRate 報酬加算テーブル ステータスの現在のランクに基づいて報酬量を調整するランクベースの倍率テーブルを定義します。テーブルの各エントリはランクに対応し、入手量に適用される倍率を指定します。標準的な倍精度浮動小数点値と、大規模な計算用の大数値文字列表現の両方をサポートします。  name string  ~ 128文字 報酬加算テーブル名 この報酬加算テーブルの一意な識別子です。特定の入手アクションに適用する倍率テーブルを指定する際に参照されます。 mode 文字列列挙型 enum {   “double”,   “big” } “double” 報酬加算テーブルの種類 倍率値の数値精度を選択します。標準的な浮動小数点数（2^48 まで）には “double” を、大規模な計算が必要な場合は 1024 桁までの文字列表現をサポートする “big” を使用します。 定義 説明 “double” 2^48 未満の浮動小数点数 “big” 文字列表記で1024桁未満の浮動小数点数 rates List {mode} == “double” ※ 1 ~ 10000 items ランクごとの加算量(倍率) ランクをインデックスとする倍率値の配列です。i 番目のエントリはステータスがランク i の時に適用される報酬倍率を定義します。mode が “double” に設定されている場合に使用されます。 ※ mode が “double” であれば 必須 bigRates List {mode} == “big” ※ 1 ~ 10000 items ランクごとの加算量(倍率) ランクをインデックスとする文字列表現の倍率値の配列です。i 番目のエントリはステータスがランク i の時に適用される報酬倍率を定義します。大数値精度が必要な計算で mode が “big” に設定されている場合に使用されます。 ※ mode が “big” であれば 必須","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Experience Deploy/CDK リファレンス","url":"/ja/api_reference/experience/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 編成操作時のトランザクションの処理方法を制御する設定です。 updateMoldScript ScriptSetting フォームの保存領域のキャパシティを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updateMold updateFormScript ScriptSetting フォームを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updateForm updatePropertyFormScript ScriptSetting プロパティフォームを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updatePropertyForm logSetting LogSetting ログの出力設定 編成操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、フォーム更新、保存領域キャパシティ変更、プロパティフォーム変更の API リクエスト・レスポンスログを収集できます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentFormMaster 現在アクティブなフォームモデルのマスターデータ 現在ネームスペース内で有効な、フォームモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Formation マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentFormMaster 更新された現在アクティブなフォームモデルのマスターデータ 実装例 FormModel フォームモデル フォームモデルは編成状況を表すエンティティです。 編成できる領域として スロット を定義できます。 武器・防具 であれば 「右手」「左手」「胴」「腕」のような部位をスロットとし、 パーティであれば「前衛」「中衛」「後衛」のようなポジションをスロットとして表現できます。  formModelId string ※ ~ 1024文字 フォームモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 フォームモデル名 フォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このフォームを構成するスロット定義の順序付きリストです。各スロットは割り当て可能なポジションを表し、スロット名はフォーム内で一意である必要があります。装備では「weapon」「armor」「accessory」のようなスロット、パーティでは「position_1」「position_2」のようなスロットが考えられます。 SlotModel スロットモデル フォームモデル内の1つのスロットを定義します。スロットはゲームリソース（アイテム、キャラクター、装備など）を配置できる割り当て可能なポジションを表します。プロパティの正規表現によってスロットに設定可能な値が検証されます。  name string  ~ 128文字 スロットモデル名 フォームモデル内でこのスロットを一意に識別する名前です。装備フォームでは「right_hand」「body」のような名前が、パーティフォームでは「vanguard」「rear_guard」のような名前が一般的です。 propertyRegex string “.*” ~ 512文字 プロパティとして設定可能な値の正規表現 このスロットに割り当て可能なプロパティ ID 値を検証する正規表現パターンです。例えば、特定の GS2-Inventory アイテム GRN や GS2-Dictionary エントリー GRN に制限することができます。デフォルトは “.*” で任意の値を許可します。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 MoldModel フォームの保存領域モデル フォームの保存領域モデルは、パーティ編成であれば「火属性パーティ」「水属性パーティ」のような形で保存することを想定しています。 保存できる領域の数は制限することができ、個別に拡張することもできます。  moldModelId string ※ ~ 1024文字 フォームの保存領域 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialMaxCapacity int  1 ~ 2147483646 フォームを保存できる初期キャパシティ この保存領域で各プレイヤーが利用できるデフォルトのフォーム保存スロット数です。例えば 3 に設定すると、プレイヤーは初期状態で最大 3 つの異なる編成（例:「火属性パーティ」「水属性パーティ」「風属性パーティ」）を保存できます。プレイヤーごとに maxCapacity まで拡張可能です。 maxCapacity int  1 ~ 2147483646 フォームを保存できる最大キャパシティ この保存領域でプレイヤーごとのフォーム保存スロット数の絶対的な上限です。キャパシティ拡張操作を行っても、キャパシティはこの値を超えることはできません。initialMaxCapacity 以上の値である必要があります。 formModel FormModel  フォームモデル PropertyFormModel プロパティフォームモデル プロパティフォームモデルは編成状況を表すエンティティです。 Mold / Form との違いは、スロット数を定義して、各スロットに編成を記録するのが Mold / Form で、 所有している装備に対してスキルを設定するような、数を事前に決めるのが難しい編成を表現するのに利用するのがプロパティフォームモデルです。  propertyFormModelId string ※ ~ 1024文字 プロパティフォームモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 プロパティフォームモデル名 プロパティフォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このプロパティフォームのスロット定義の順序付きリストです。キャパシティでフォーム数が制限される Mold/Form とは異なり、プロパティフォームはプロパティ ID で識別され、所有するリソースごとに存在できます。スロット名はフォーム内で一意である必要があります。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Formation Deploy/CDK リファレンス","url":"/ja/api_reference/formation/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 フレンド操作時のトランザクションの処理方法を制御する設定です。 followScript ScriptSetting フォローされたときに実行するスクリプトの設定 Script トリガーリファレンス - follow unfollowScript ScriptSetting アンフォローされたときに実行するスクリプトの設定 Script トリガーリファレンス - unfollow sendRequestScript ScriptSetting フレンドリクエストを発行したときに実行するスクリプトの設定 Script トリガーリファレンス - sendRequest cancelRequestScript ScriptSetting フレンドリクエストをキャンセルしたときに実行するスクリプトの設定 Script トリガーリファレンス - cancelRequest acceptRequestScript ScriptSetting フレンドリクエストを承諾したときに実行するスクリプトの設定 Script トリガーリファレンス - acceptRequest rejectRequestScript ScriptSetting フレンドリクエストを拒否したときに実行するスクリプトの設定 Script トリガーリファレンス - rejectRequest deleteFriendScript ScriptSetting フレンドを削除したときに実行するスクリプトの設定 Script トリガーリファレンス - deleteFriend updateProfileScript ScriptSetting プロフィールを更新したときに実行するスクリプトの設定 Script トリガーリファレンス - updateProfile followNotification NotificationSetting フォローされたときのプッシュ通知 他のプレイヤーにフォローされたときにプッシュ通知を送信する設定です。フォローされたプレイヤーが GS2-Gateway 経由でリアルタイムに通知を受け取ることができます。 receiveRequestNotification NotificationSetting  フレンドリクエストが届いたときのプッシュ通知 他のプレイヤーからフレンドリクエストを受信したときにプッシュ通知を送信する設定です。受信者が GS2-Gateway 経由で迅速に応答できるようにします。 cancelRequestNotification NotificationSetting  受け取ったフレンドリクエストがキャンセルされたときのプッシュ通知 以前受信したフレンドリクエストが送信者によってキャンセルされたときにプッシュ通知を送信する設定です。保留中のリクエストが存在しなくなったことを受信者に通知します。 acceptRequestNotification NotificationSetting  フレンドリクエストが承認されたときのプッシュ通知 送信したフレンドリクエストが受信者によって承認されたときにプッシュ通知を送信する設定です。承認後、両プレイヤーが互いのフレンドリストに追加されます。 rejectRequestNotification NotificationSetting  フレンドリクエストが拒否されたときのプッシュ通知 送信したフレンドリクエストが受信者によって拒否されたときにプッシュ通知を送信する設定です。フレンドリクエストは送信ボックスと受信ボックスの両方から削除されます。 deleteFriendNotification NotificationSetting  フレンドが削除されたときのプッシュ通知 他のプレイヤーのフレンドリストから削除されたときにプッシュ通知を送信する設定です。フレンド関係は双方で解消されます。 logSetting LogSetting ログの出力設定 フレンド操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、フォロー/アンフォロー、フレンドリクエスト、プロフィール更新の API リクエスト・レスポンスログを収集できます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Friend Deploy/CDK リファレンス","url":"/ja/api_reference/friend/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ゲートウェイ操作時のトランザクションの処理方法を制御する設定です。 firebaseSecret string ~ 1024文字 Firebase の通知送信に使用するシークレットトークン Firebase Cloud Messaging (FCM) のサーバーキーまたはシークレットトークンです。対象プレイヤーがオフラインでゲーム内の WebSocket 通知を受信できない場合に、モバイルプッシュ通知への転送を有効にするために必要です。 logSetting LogSetting ログの出力設定 ゲートウェイ操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、WebSocket セッション管理、通知配信、Firebase トークン操作の API リクエスト・レスポンスログを収集できます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Gateway Deploy/CDK リファレンス","url":"/ja/api_reference/gateway/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 グレード操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 changeGradeScript ScriptSetting グレードが変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeGrade logSetting LogSetting ログの出力設定 グレード操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、グレード変更やランクキャップ更新の API リクエスト・レスポンスログを収集できます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentGradeMaster 現在アクティブなグレードモデルのマスターデータ 現在ネームスペース内で有効な、グレードモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Grade マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentGradeMaster 更新された現在アクティブなグレードモデルのマスターデータ 実装例 GradeModel グレードモデル グレードモデルとは、キャラクターや装備のランクを示すエンティティで、グレードによって GS2-Experience のランクキャップを設定することができます。  gradeModelId string ※ ~ 1024文字 グレードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 グレードモデル名 グレードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultGrades List 0 ~ 100 items デフォルトグレードモデルリスト 新規ステータス作成時に評価されるデフォルトグレードルールの順序付きリストです。各エントリはプロパティIDの正規表現パターンとマッチした場合に割り当てるグレード値を定義します。どのパターンにもマッチしない場合はデフォルトのグレード値 0 が使用されます。 experienceModelId string  ~ 1024文字 GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このグレードモデルと連動させる GS2-Experience の経験値モデルの GRN です。グレード値が変更されると、グレードエントリのマッピングに基づいて連動する経験値モデルのランクキャップが自動的に更新されます。これにより、高いグレードが高いランクキャップを解放するグレード駆動の成長が実現できます。 gradeEntries List  1 ~ 100 items グレードエントリーモデルリスト 各グレード値を連動する GS2-Experience モデルのランクキャップにマッピングするグレードエントリの順序付きリストです。配列のインデックスがグレード値に対応し、最初のエントリ（インデックス 0）がグレード 0 のランクキャップを、2番目がグレード 1 を定義します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト グレードに基づいて報酬量をスケーリングするための名前付き倍率テーブルのコレクションです。複数のテーブルを定義して、異なる種類の報酬（例: 経験値、通貨、アイテム）に異なるスケーリングルールを適用できます。 DefaultGradeModel デフォルトグレードモデル グレードを新規作成する際にプロパティIDの正規表現へのマッチに応じてデフォルトのグレード値を設定することができます。  propertyIdRegex string  ~ 1024文字 プロパティID正規表現 新規作成されたグレードステータスのプロパティIDに対してマッチングされる正規表現パターンです。プロパティIDがこのパターンにマッチすると、0 の代わりに指定されたデフォルトグレード値が初期グレードとして割り当てられます。パターンは順番に評価され、最初にマッチしたものが使用されます。 defaultGradeValue long  0 ~ 9223372036854775805 デフォルトのグレード値 プロパティIDが propertyIdRegex パターンにマッチした場合に新規作成されたステータスに割り当てられる初期グレード値です。このインデックスのグレードエントリが対応するランクキャップを定義するため、この値は連動する GS2-Experience モデルの開始ランクキャップを決定します。 GradeEntryModel グレードエントリーモデル グレード値と連動する GS2-Experience モデルのランクキャップのマッピングを定義します。各エントリはプロパティIDのマッチングに使用する正規表現パターンも指定し、グレードアップ操作に使用できるリソースとそのプロパティIDの変換方法を決定します。  metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 rankCapValue long  0 ~ 9223372036854775805 ランクキャップ値 このグレードが適用された際に連動する GS2-Experience モデルに設定するランクキャップ値です。プレイヤーのグレードがこのエントリに対応する値に変更されると、関連する経験値ステータスのランクキャップがこの値に自動更新され、到達可能な最大ランクが制御されます。 propertyIdRegex string  ~ 1024文字 プロパティID正規表現 グレードアップマッチング用の変数を抽出するために、グレードステータスのプロパティIDに適用される正規表現パターンです。このパターン内のキャプチャグループ（括弧で囲まれた部分）は gradeUpPropertyIdRegex で $1、$2 などとして利用できます。例えば “character-(.+)” というパターンはキャラクター識別子を抽出し、グレードアップ素材のプロパティIDマッチングに使用します。 gradeUpPropertyIdRegex string  ~ 1024文字 グレードアップ用プロパティID正規表現 グレード昇格のために消費できるリソースのプロパティIDを特定する正規表現パターンです。このパターンは propertyIdRegex のキャプチャグループを $1、$2 などで参照できます。例えば propertyIdRegex で “sword-001” を $1 として抽出した場合、このパターンを “grade-up-material-$1” とすることで、その剣に固有の素材をマッチさせることができます。 AcquireActionRate 報酬加算テーブル 現在のグレード値に基づいて報酬量をスケーリングする名前付き倍率テーブルを定義します。各グレード値は入手アクションに適用される倍率にマッピングされ、高いグレードのキャラクターや装備がより多くの報酬を受け取れるようになります。標準的な倍精度浮動小数点数モードと、非常に大きな値に対応するビッグナンバーモードの両方をサポートします。  name string  ~ 128文字 報酬加算テーブル名 グレードモデル内でこの倍率テーブルを一意に識別する名前です。トランザクションの特定の入手アクションにグレードベースの報酬スケーリングを適用する際に参照されます。 mode 文字列列挙型 enum {   “double”,   “big” } “double” 報酬加算テーブルの種類 倍率値の数値精度モードを選択します。“double” モードはほとんどのケースに適した標準的な浮動小数点数を使用します。“big” モードは最大1024桁までの文字列表現の数値を使用し、非常に大きな値の計算を必要とするゲームに対応します。 定義 説明 “double” 2^48 未満の浮動小数点数 “big” 文字列表記で1024桁未満の浮動小数点数 rates List {mode} == “double” ※ 1 ~ 1000 items グレードごとの倍率リスト（double モード） グレード値でインデックスされた報酬倍率の配列で、倍精度浮動小数点数を使用します。インデックス 0 のエントリがグレード 0 の倍率、インデックス 1 がグレード 1 の倍率となります。mode が “double” に設定されている場合に使用されます。 ※ mode が “double” であれば 必須 bigRates List {mode} == “big” ※ 1 ~ 1000 items グレードごとの倍率リスト（big モード） グレード値でインデックスされた報酬倍率の配列で、拡張精度のために文字列表現の数値を使用します。インデックス 0 のエントリがグレード 0 の倍率、インデックス 1 がグレード 1 の倍率となります。非常に大きな数値計算を必要とするゲーム向けに、mode が “big” に設定されている場合に使用されます。 ※ mode が “big” であれば 必須","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Grade Deploy/CDK リファレンス","url":"/ja/api_reference/grade/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 blockingPolicy BlockingPolicyModel  ブロッキングポリシー GS2 サービスへのアクセスを制御するこのネームスペースのセキュリティポリシー設定です。アクセス可能なサービス、地理的制限ルール、匿名IP検知、ホスティングプロバイダーIP検知、レピュテーションベースのIPフィルタリング、カスタムIPアドレスの許可/拒否リストを定義します。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 BlockingPolicyModel ブロッキングポリシー GS2-Guard ネームスペースの包括的なアクセス制御ルールを定義します。サービスレベルのアクセス制御、国別の地理的制限、匿名IP検知（Tor/プロキシ）、ホスティングプロバイダーIP検知（VPN/レンタルサーバー）、IPレピュテーションフィルタリング、カスタムIPアドレスの許可/拒否リストなど、複数のセキュリティレイヤーを組み合わせます。  passServices List  1 ~ 100 items アクセス可能なGS2サービスのリスト このガードネームスペースを通じてクライアントがアクセスを許可される GS2 サービスのリストです。このリストに含まれるサービスのみがブロッキングポリシーの保護対象になります。少なくとも1つのサービスを指定する必要があります。 defaultRestriction 文字列列挙型 enum {   “Allow”,   “Deny” } “Allow” 制限の方針 設定された検知ルールのいずれにもマッチしないリクエストに適用されるデフォルトアクションです。“Allow” はマッチしないトラフィックをすべて許可し（ブロックリスト方式）、“Deny” はマッチしないトラフィックをすべてブロックします（許可リスト方式）。 定義 説明 “Allow” 条件に一致しないアクセスを許可 “Deny” 条件に一致しないアクセスを拒否 locationDetection 文字列列挙型 enum {   “Enable”,   “Disable” } “Disable” アクセス元国検知 クライアントのアクセス元の国に基づく地理的制限を有効または無効にします。有効にすると、国別にアクセスがフィルタリングされます。具体的な国と許可/拒否の動作は locations および locationRestriction フィールドで設定します。 定義 説明 “Enable” 有効 “Disable” 無効 locations List {locationDetection} == “Enable” [] 1 ~ 100 items アクセスを検知する国リスト 地理的制限フィルタリングに使用される国のリストです。各国は ISO 3166-1 alpha-2 国コードで指定します。これらの国が許可されるか拒否されるかは locationRestriction 設定によって決定されます。locationDetection が有効な場合にのみ有効です。 ※ locationDetection が “Enable” であれば 有効 locationRestriction 文字列列挙型 enum {   “Allow”,   “Deny” } {locationDetection} == “Enable” ※ 国リストマッチ時のアクション locations リストに含まれる国からのリクエストに対して実行するアクションです。“Allow” はリストに含まれる国からのアクセスのみを許可し（許可リスト）、“Deny” はリストに含まれる国からのアクセスをブロックします（ブロックリスト）。locationDetection および locations リストと連携して動作します。 定義 説明 “Allow” アクセスを許可 “Deny” アクセスを拒否 ※ locationDetection が “Enable” であれば 必須 anonymousIpDetection 文字列列挙型 enum {   “Enable”,   “Disable” } “Disable” 匿名IPサービス検知 Tor 出口ノードやパブリックプロキシなどの匿名IPサービスからのアクセス検知を有効または無効にします。有効にすると、これらのソースからのリクエストが識別・評価されます。 定義 説明 “Enable” 有効 “Disable” 無効 anonymousIpRestriction 文字列列挙型 enum {   “Deny” } {anonymousIpDetection} == “Enable” “Deny” 匿名IP検知時のアクション 匿名IPサービス（Tor/パブリックプロキシ）からのアクセスが検知された場合に実行するアクションです。現在はそのようなアクセスをブロックする “Deny” のみをサポートしています。anonymousIpDetection が有効な場合にのみ有効です。 定義 説明 “Deny” アクセスを拒否 ※ anonymousIpDetection が “Enable” であれば 有効 hostingProviderIpDetection 文字列列挙型 enum {   “Enable”,   “Disable” } “Disable” ホスティングサービス検知 パブリック VPN サービスやレンタルサーバーなどのホスティングプロバイダーのIPアドレスからのアクセス検知を有効または無効にします。有効にすると、エンドユーザーデバイスではなくクラウドインフラやホスティングサービスから発信されたトラフィックが識別・評価されます。 定義 説明 “Enable” 有効 “Disable” 無効 hostingProviderIpRestriction 文字列列挙型 enum {   “Deny” } {hostingProviderIpDetection} == “Enable” “Deny” ホスティングサービス検知時のアクション ホスティングプロバイダーIP（パブリック VPN/レンタルサーバー）からのアクセスが検知された場合に実行するアクションです。現在はそのようなアクセスをブロックする “Deny” のみをサポートしています。hostingProviderIpDetection が有効な場合にのみ有効です。 定義 説明 “Deny” アクセスを拒否 ※ hostingProviderIpDetection が “Enable” であれば 有効 reputationIpDetection 文字列列挙型 enum {   “Enable”,   “Disable” } “Disable” 悪意のあるアクセス元IP検知 既知の悪評を持つIPアドレスからのアクセス検知を有効または無効にします。有効にすると、ボット、DDoS攻撃、その他の悪意のある活動に関連付けられたIPが識別・評価されます。 定義 説明 “Enable” 有効 “Disable” 無効 reputationIpRestriction 文字列列挙型 enum {   “Deny” } {reputationIpDetection} == “Enable” “Deny” 悪意のあるアクセス元IP検知時のアクション 悪評を持つIPからのアクセスが検知された場合に実行するアクションです。現在はそのようなアクセスをブロックする “Deny” のみをサポートしています。reputationIpDetection が有効な場合にのみ有効です。 定義 説明 “Deny” アクセスを拒否 ※ reputationIpDetection が “Enable” であれば 有効 ipAddressesDetection 文字列列挙型 enum {   “Enable”,   “Disable” } “Disable” アクセス元IP検知 カスタムIPアドレスベースのアクセスフィルタリングを有効または無効にします。有効にすると、ipAddresses フィールドで指定されたカスタムIPアドレスリストに対してリクエストが評価されます。許可/拒否の動作は ipAddressRestriction で制御されます。 定義 説明 “Enable” 有効 “Disable” 無効 ipAddresses List {ipAddressesDetection} == “Enable” 0 ~ 100 items IPアドレスレンジリスト カスタムIPベースのアクセスフィルタリングに使用される CIDR 表記のIPアドレスレンジのリストです。各受信リクエストのソースIPがこれらのレンジに対して評価されます。マッチしたIPが許可されるか拒否されるかは ipAddressRestriction で制御されます。ipAddressesDetection が有効な場合にのみ有効です。 ※ ipAddressesDetection が “Enable” であれば 有効 ipAddressRestriction 文字列列挙型 enum {   “Allow”,   “Deny” } {ipAddressesDetection} == “Enable” ※ IPアドレスリストマッチ時のアクション リクエストのソースIPがカスタムIPアドレスリストにマッチした場合に実行するアクションです。“Allow” はリストに含まれるIPからのアクセスのみを許可し（許可リスト）、“Deny” はリストに含まれるIPからのアクセスをブロックします（ブロックリスト）。ipAddressesDetection が有効な場合にのみ有効です。 定義 説明 “Allow” アクセスを許可 “Deny” アクセスを拒否 ※ ipAddressesDetection が “Enable” であれば 必須","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Guard Deploy/CDK リファレンス","url":"/ja/api_reference/guard/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ギルド操作時の分散トランザクションの実行方法を制御する設定です。自動実行、アトミックコミット、非同期処理などのオプションをサポートします。 changeNotification NotificationSetting ギルド変更通知 ギルド情報（表示名、属性、参加ポリシーなど）が更新されたときに GS2-Gateway 経由で送信されるプッシュ通知です。ギルドメンバーがギルドの変更についてリアルタイムで更新を受け取ることができます。 joinNotification NotificationSetting メンバー参加通知 新しいメンバーがギルドに参加したときに GS2-Gateway 経由で送信されるプッシュ通知です。自由参加または参加リクエストの承認によるものの両方に対応します。既存メンバーが新規追加を通知されるようになります。 leaveNotification NotificationSetting メンバー離脱通知 メンバーがギルドから離脱または除籍されたときに GS2-Gateway 経由で送信されるプッシュ通知です。自発的な脱退とギルドマスターによる追放の両方に対応します。 changeMemberNotification NotificationSetting メンバー変更通知 ギルドメンバーの情報（ロール、メタデータ）が更新されたときに GS2-Gateway 経由で送信されるプッシュ通知です。メタデータの変更でこの通知がトリガーされるかどうかは changeMemberNotificationIgnoreChangeMetadata で制御できます。 changeMemberNotificationIgnoreChangeMetadata bool? false メンバーの情報が更新されたときの通知を発行する際にメタデータの変更を無視する receiveRequestNotification NotificationSetting リクエスト受信通知 ユーザーからの新しい参加リクエストをギルドが受信したときに GS2-Gateway 経由で送信されるプッシュ通知です。ギルドマスターや権限を持つメンバーが承認待ちのリクエストを通知されるようになります。 removeRequestNotification NotificationSetting リクエスト削除通知 ギルド参加リクエストが削除されたときに GS2-Gateway 経由で送信されるプッシュ通知です。送信者によるキャンセル、ギルドによる拒否、または承認（リクエスト削除とメンバー追加）のいずれかに対応します。 createGuildScript ScriptSetting ギルドを作成するときに実行するスクリプトの設定 Script トリガーリファレンス - createGuild updateGuildScript ScriptSetting ギルドを更新するときに実行するスクリプトの設定 Script トリガーリファレンス - updateGuild joinGuildScript ScriptSetting ギルドに参加するときに実行するスクリプトの設定 Script トリガーリファレンス - joinGuild receiveJoinRequestScript ScriptSetting ギルドに参加申請を受け付けたときに実行するスクリプトの設定 Script トリガーリファレンス - receiveJoinRequest leaveGuildScript ScriptSetting ギルドを脱退するときに実行するスクリプトの設定 Script トリガーリファレンス - leaveGuild changeRoleScript ScriptSetting メンバーに割り当てているロールを変更するときに実行するスクリプトの設定 Script トリガーリファレンス - changeRole deleteGuildScript ScriptSetting ギルドを削除するときに実行するスクリプトの設定 Script トリガーリファレンス - deleteGuild logSetting LogSetting ログの出力設定 ギルド操作のログデータを GS2-Log に出力するための設定です。GS2-Log のネームスペースを指定することで、ギルド作成、参加、脱退、ロール変更の API リクエスト・レスポンスログを収集できます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentGuildMaster 現在アクティブなギルドモデルのマスターデータ 現在ネームスペース内で有効な、ギルドモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Guild マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentGuildMaster 更新された現在アクティブなギルドモデルのマスターデータ 実装例 GuildModel ギルドモデル ギルドモデルとは、ギルドの加入可能最大人数の設定や、ギルド内での役職ごとの権限設定を持つエンティティです。  guildModelId string ※ ~ 1024文字 ギルドモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultMaximumMemberCount int  1 ~ 2147483646 デフォルト最大メンバー数 新しいギルドが作成される際に許可されるメンバーの初期最大数です。この値は新規ギルドの currentMaximumMemberCount の初期値として使用されます。ギルド操作や入手アクションを通じて、後から maximumMemberCount の上限まで増加させることができます。 maximumMemberCount int  1 ~ 2147483646 最大メンバー数上限 ギルドが持つことができるメンバー数の絶対的な上限です。ギルドの currentMaximumMemberCount はこの値を超えることができません。ギルドが意図されたサイズを超えて成長するのを防ぐハードキャップとして機能します。 inactivityPeriodDays int 7 1 ~ 365 無活動期間（日数） ギルドマスターの無活動がこの日数を超えた場合に、残りのギルドメンバーから新しいギルドマスターが自動的に選出されます。ギルドマスターがプレイを停止した際にギルドが管理不能になるのを防ぎます。 roles List  1 ~ 10 items ロールモデルリスト このタイプのギルド内で利用可能なロール定義のリストです。guildMasterRole および guildMemberDefaultRole で参照されるロールを少なくとも含む必要があります。各ロールはポリシードキュメントを介して固有の権限セットを定義します。最大10個のロールを定義できます。 guildMasterRole string  ~ 128文字 ギルドマスターロール名 ギルドマスターに割り当てられるロールの名前です。roles リストで定義されたロールを参照する必要があります。ギルドマスターは通常、参加リクエストの承認、メンバー追放、ロール変更、ギルド設定の更新など、ギルドを管理する全権限を持ちます。 guildMemberDefaultRole string  ~ 128文字 デフォルトメンバーロール名 新しいギルドメンバーが参加した際に自動的に割り当てられるロールの名前です。roles リストで定義されたロールを参照する必要があります。これはギルドマスターによるロール変更前の一般メンバーの基本権限セットです。 rejoinCoolTimeMinutes int 0 0 ~ 2147483646 再参加クールタイム（分） ユーザーがギルドを離脱した後、再度ギルドに参加できるようになるまでのクールダウン期間（分）です。0 に設定すると即時再参加が可能になります。ユーザーが繰り返しギルドに参加・離脱する悪用パターンを防止します。 maxConcurrentJoinGuilds int 1 ~ 10 同時参加可能ギルド最大数 ユーザーがこのタイプのギルドに同時にメンバーとして参加できる最大数です。プレイヤーが複数のギルドに同時に所属できるデザイン（例: 戦闘ギルドとソーシャルギルド）を可能にします。値は 1 から 10 の範囲です。 maxConcurrentGuildMasterCount int 1 ~ 100 同時存在可能ギルドマスター最大数 1つのギルドに同時に存在できるギルドマスターの最大人数です。複数のプレイヤーがギルドマスターの責任と権限を共有する共同リーダーシップのデザインを可能にします。値は 1 から 100 の範囲です。 RoleModel ロールモデル ロールモデルはギルド内での役割を定義し、その役割ごと実行できる処理に関する権限を設定します。  name string  ~ 128文字 ロールモデル名 ロールモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 policyDocument string  ~ 10240文字 ポリシードキュメント このロールの権限を定義する JSON 形式のポリシードキュメントです。このロールに割り当てられたメンバーに対して、どのギルド操作（参加リクエストの承認/拒否、メンバー追放、ギルド情報の更新、メンバーロールの変更など）が許可または拒否されるかを指定します。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Guild Deploy/CDK リファレンス","url":"/ja/api_reference/guild/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Identifier クレデンシャル GS2 の API にアクセスするために使用されるクレデンシャルです。 クレデンシャルはクライアントIDとクライアントシークレットからなり、クレデンシャルを使用したアクセスは、クレデンシャルの所有者となるユーザーの権限に基づいてアクセス制限が施されます。 Request リソースの生成・更新リクエスト  userName string  ~ 128文字 ユーザー名 このクレデンシャルを所有するGS2-Identifierユーザーの名前です。クレデンシャルはこのユーザーにアタッチされたセキュリティポリシーに基づいて権限を継承します。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Identifier 作成したクレデンシャル ClientSecret string クライアントシークレット 実装例 Password パスワード マネージメントコンソールにユーザーの権限に基づいてログインするためのパスワードです。 パスワードを設定することで、1つのプロジェクトに異なるアカウントからログインでき、なおかつアクセスできる情報に制限をかけることができます。 Request リソースの生成・更新リクエスト  userName string  ~ 128文字 ユーザー名 このパスワードを所有するGS2-Identifierユーザーの名前です。ユーザーはこのユーザー名と対応するパスワードでマネージメントコンソールにログインし、ユーザーにアタッチされたセキュリティポリシーに基づいてアクセスが制限されます。 password string  ~ 1024文字 パスワード マネージメントコンソール認証に使用されるハッシュ化されたパスワードです。パスワード作成時に設定され、ログイン時にユーザー入力と照合されます。内部的に保存され、APIを通じて返却されることはありません。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Password 作成したパスワード 実装例 AttachSecurityPolicy アタッチされたセキュリティポリシー GS2-Identifierユーザーとセキュリティポリシーの関連付けを管理します。各ユーザーはそのユーザーに適用されるセキュリティポリシーGRNのリストを含む1つのアタッチメントレコードを持ちます。ユーザーのクレデンシャルがAPIアクセスに使用される際、アタッチされたすべてのポリシーが評価され、要求された操作が許可されるか拒否されるかが判定されます。 Request リソースの生成・更新リクエスト  userName string  ~ 128文字 GS2-Identifier ユーザー名 GS2-Identifier ユーザー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 securityPolicyId string  ~ 1024文字 割り当てるセキュリティポリシーの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Items SecurityPolicy[] ユーザーに割り当てたセキュリティポリシーのリスト 実装例 User GS2-Identifier ユーザー プロジェクトにアクセス可能なゲーム開発者を表すエンティティです。 ユーザーにはプログラムからアクセスするためのクレデンシャルや、 ユーザーの権限に基づいてマネージメントコンソールにログインし、プロジェクトを管理できるパスワードを登録できます。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 GS2-Identifier ユーザー名 GS2-Identifier ユーザー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item User 作成したユーザー 実装例 SecurityPolicy セキュリティーポリシー ユーザが利用できるAPIの種類やアクセスできるリソースの制限を定義します。 アクセス制限のルールはポリシードキュメントというJSON形式の定義データを使用します。 ポリシードキュメントの仕様については、開発資料内のポリシードキュメントについての 解説ページ を参照してください。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 セキュリティポリシー名 セキュリティポリシー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 policy string  ~ 524288文字 ポリシードキュメント このセキュリティポリシーのアクセス制御ルールを定義するJSONドキュメントです。どのGS2 APIアクションが許可または拒否されるか、またルールが適用されるリソース（GRNパターンで識別）を指定します。複数のステートメントを組み合わせてきめ細かなアクセス制御を作成できます。最大512KBです。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item SecurityPolicy 作成したセキュリティポリシー 実装例","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Identifier Deploy/CDK リファレンス","url":"/ja/api_reference/identifier/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 放置報酬の付与時のトランザクションの処理方法を制御する設定です。 receiveScript ScriptSetting 報酬を受け取ったときに実行するスクリプトの設定 Script トリガーリファレンス - receive overrideAcquireActionsScriptId string ~ 1024文字 放置報酬の入手アクションを動的に決定するスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN logSetting LogSetting ログの出力設定 放置報酬操作に関連するAPIリクエストおよびレスポンスログを出力するためのGS2-Logネームスペースを指定します。放置ステータスの作成、報酬の受け取り、タイミング問題のデバッグに役立ちます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentCategoryMaster 現在アクティブなカテゴリーモデルのマスターデータ 現在ネームスペース内で有効な、カテゴリーモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Idle マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentCategoryMaster 更新された現在アクティブなカテゴリーモデルのマスターデータ 実装例 CategoryModel カテゴリーモデル カテゴリーモデルとは、放置報酬を得られる待機カテゴリーを設定するエンティティです。 設定には、待機時間ごとの報酬や、最大待機時間などの情報が含まれます。  categoryModelId string ※ ~ 1024文字 カテゴリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 rewardIntervalMinutes int  0 ~ 2147483646 報酬間隔（分） 各放置報酬の間の時間間隔（分）です。例えば60に設定すると、ユーザーは放置時間60分ごとに1つの報酬ユニットを獲得します。報酬の総数は（経過放置分数）/ rewardIntervalMinutes として計算され、acquireActions配列を循環します。 defaultMaximumIdleMinutes int  0 ~ 2147483646 デフォルト最大放置時間（分） このカテゴリーの新しいステータスに対するデフォルトの最大放置時間（分）です。この制限を超える放置時間は追加の報酬を蓄積しません。この値はステータス作成時に各ステータスの maximumIdleMinutes にコピーされ、入手アクションを通じてユーザーごとに拡張できます。 rewardResetMode 文字列列挙型 enum {   “Reset”,   “CarryOver” } “Reset” 報酬リセットモード ユーザーが報酬を受け取った後の放置時間の扱いを決定します。「Reset」は放置時間をゼロに戻し、部分的な間隔時間は失われます。「CarryOver」は追加の報酬を得るに足りなかった残り時間を保持し、次の報酬サイクルにカウントされます。 定義 説明 “Reset” 待機時間を0にリセット “CarryOver” 報酬を得るに至らなかった残り時間を持ち越す acquireActions List [] 1 ~ 100 items 待機時間ごとに得られる入手アクションリスト 待機時間を「X分」だと仮定すると 「X / rewardIntervalMinutes」が報酬を受け取れる数になりますが、ここで指定した配列の要素をループすることで、待機時間ごとに異なる報酬を付与できます。 idlePeriodScheduleId string ~ 1024文字 放置期間スケジュールID 放置時間が蓄積される期間を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ放置時間がカウントされます。イベントが繰り返される場合、ステータスは繰り返し回数を追跡し、新しいサイクルの開始時に放置時間をリセットして、イベント期間ごとに報酬が計算されるようにします。 receivePeriodScheduleId string ~ 1024文字 受取期間スケジュールID ユーザーが蓄積された放置報酬を受け取れる時間枠を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ報酬の受け取りが受け付けられます。これにより、放置蓄積期間とは別の期間限定の報酬受取期間を設定できます。 AcquireActionList 入手アクションリスト 1つの報酬間隔で一括して付与される複数の入手アクションをグループ化するラッパーです。各 AcquireActionList はカテゴリーモデルの acquireActions 配列内の1つの報酬サイクルに対応し、各間隔で異なる報酬の組み合わせを設定できます。  acquireActions List [] 0 ~ 100 items 入手アクションリスト この報酬間隔がトリガーされた時に一括で実行される入手アクションのコレクションです。複数のアクションを組み合わせて、1つの放置報酬サイクルで異なる種類の報酬を同時に付与できます。リストあたり最大100アクションです。 AcquireAction 入手アクション 放置報酬として使用される単一の入手アクションを表します。アクションタイプ（例：アイテム追加、通貨増加）とそのリクエストパラメータで構成されます。放置報酬が受け取られると、これらのアクションがトランザクションに組み立てられ、実行されてユーザーに報酬が配布されます。  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Idle Deploy/CDK リファレンス","url":"/ja/api_reference/idle/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 isAutomaticDeletingEnabled bool false 自動削除 有効にすると、メッセージが開封（既読）された後にユーザーのメッセージ一覧から自動的に削除されます。クライアントからの明示的な削除操作なしに受け取り済みメッセージを削除し、受信ボックスを整理します。無効の場合、開封済みメッセージは手動で削除されるまで一覧に残ります。 transactionSetting TransactionSetting トランザクション設定 メッセージに添付された報酬を付与する際に使用される分散トランザクション処理の設定です。readAcquireActions を持つメッセージが開封されると、入手アクションが生成・実行されて報酬が配布されます。自動実行、アトミックコミット、非同期処理をサポートします。 receiveMessageScript ScriptSetting メッセージを受信したときに実行するスクリプトの設定 Script トリガーリファレンス - receiveMessage readMessageScript ScriptSetting メッセージを開封したときに実行するスクリプトの設定 Script トリガーリファレンス - readMessage deleteMessageScript ScriptSetting メッセージを削除したときに実行するスクリプトの設定 Script トリガーリファレンス - deleteMessage receiveNotification NotificationSetting 受信通知 ユーザーの受信ボックスに新しいメッセージが配信されたときにトリガーされるプッシュ通知設定です。GS2-Gatewayを使用してゲームクライアントにリアルタイム通知を送信し、ポーリングなしで新着メッセージインジケーターの表示や受信ボックスの更新をUIで行えるようにします。 logSetting LogSetting ログの出力設定 メッセージ操作に関連するAPIリクエストおよびレスポンスログを出力するためのGS2-Logネームスペースを指定します。監査やデバッグ目的でメッセージの配信、開封、報酬受け取り、削除を追跡するのに役立ちます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentMessageMaster 現在アクティブなグローバルメッセージのマスターデータ 現在ネームスペース内で有効な、グローバルメッセージの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Inbox マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentMessageMaster 更新された現在アクティブなグローバルメッセージのマスターデータ 実装例 GlobalMessage グローバルメッセージ グローバルメッセージはゲームプレイヤー全体にメッセージを届ける仕組みです。 グローバルメッセージには有効期間を設定でき、各ゲームプレイヤーはグローバルメッセージを受信する処理を実行することで 有効期間内のグローバルメッセージの中で未受信のメッセージを自分のメッセージボックスにコピーします。  globalMessageId string ※ ~ 1024文字 全ユーザーに向けたメッセージ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 グローバルメッセージ名 グローバルメッセージ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string  ~ 4096文字 メタデータ メッセージのタイトル、本文、表示パラメータなどを含むJSON文字列など、グローバルメッセージの内容を表す任意のデータです。ユーザーがこのグローバルメッセージを受信すると、メタデータは受信ボックス内の個別メッセージにコピーされます。GS2はこの値を解釈しません。最大4096文字です。 readAcquireActions List [] 0 ~ 100 items 開封時入手アクション このグローバルメッセージからコピーされたメッセージをユーザーが開封した際に実行される入手アクションのリストです。これらのアクションはメタデータとともに各ユーザーの個別メッセージにコピーされます。グローバルメッセージあたり最大100アクションです。 expiresTimeSpan TimeSpan 有効期限までの期間 ユーザーがこのグローバルメッセージを受信（コピー）した時刻から、コピーされたメッセージが期限切れとなり受信ボックスから自動削除されるまでの期間です。日、時間、分の組み合わせで指定します。有効期限に達するとメッセージは既読状態に関わらず削除され、未受け取りの添付報酬も含めて削除されます。 messageReceptionPeriodEventId string ~ 1024文字 メッセージ受信期間イベントID このグローバルメッセージを受信（ユーザーの受信ボックスにコピー）できる時間枠を定義するGS2-ScheduleイベントのGRNです。この期間外では、ユーザーがグローバルメッセージの受信操作をトリガーしてもメッセージは配信されません。期間限定のイベント告知や季節キャンペーン報酬に便利です。 TimeSpan タイムスパン 日、時間、分の組み合わせとして期間を表します。受信時刻を基準としたメッセージの有効期間を定義するために使用されます。例えば、7日、0時間、0分のタイムスパンは、ユーザーが受信してから正確に1週間後にメッセージが期限切れになることを意味します。  days int 0 0 ~ 365 日数 このタイムスパンの日数です。時間と分と組み合わせて合計期間が計算されます。最大365日です。 hours int 0 0 ~ 24 時間 このタイムスパンの時間数です。日数と分と組み合わせて合計期間が計算されます。最大24時間です。 minutes int 0 0 ~ 60 分 このタイムスパンの分数です。日数と時間と組み合わせて合計期間が計算されます。最大60分です。 AcquireAction 入手アクション 報酬としてメッセージに添付される単一の入手アクションを表します。アクションタイプ（例：インベントリへのアイテム追加、通貨増加）とそのリクエストパラメータで構成されます。メッセージが開封されると、これらのアクションがトランザクションに組み立てられ、実行されてユーザーに報酬が配布されます。  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Inbox Deploy/CDK リファレンス","url":"/ja/api_reference/inbox/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 アイテムの入手や消費などのインベントリ操作に対する分散トランザクション処理を設定します。シームレスな実行のための自動実行モード、複数リソースの一貫した操作のためのアトミックコミット、大規模な報酬配布のための非同期処理をサポートします。 acquireScript ScriptSetting アイテムを入手したときに実行するスクリプトの設定 Script トリガーリファレンス - acquire overflowScript ScriptSetting 入手上限に当たって入手できなかったときに実行するスクリプトの設定 Script トリガーリファレンス - overflowDone consumeScript ScriptSetting アイテムを消費するときに実行するスクリプトの設定 Script トリガーリファレンス - consume simpleItemAcquireScript ScriptSetting シンプルアイテムを入手したときに実行するスクリプトの設定 Script トリガーリファレンス - simpleItemAcquire simpleItemConsumeScript ScriptSetting シンプルアイテムを消費するときに実行するスクリプトの設定 Script トリガーリファレンス - simpleItemConsume bigItemAcquireScript ScriptSetting 巨大アイテムを入手したときに実行するスクリプトの設定 Script トリガーリファレンス - bigItemAcquire bigItemConsumeScript ScriptSetting 巨大アイテムを消費するときに実行するスクリプトの設定 Script トリガーリファレンス - bigItemConsume logSetting LogSetting ログの出力設定 インベントリ操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のためにアイテムの入手、消費、容量変更の追跡に便利です。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentItemModelMaster 現在アクティブなアイテムモデルのマスターデータ 現在ネームスペース内で有効な、アイテムモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Inventory マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentItemModelMaster 更新された現在アクティブなアイテムモデルのマスターデータ 実装例 InventoryModel インベントリモデル インベントリはゲームプレイヤーが所有しているアイテムを格納するカバンのようなものです。 インベントリには容量が設定でき、容量を超えては所有できません。  inventoryModelId string ※ ~ 1024文字 インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialCapacity int  0 ~ 2147483646 初期サイズ インベントリが初めて作成される際にユーザーに提供されるインベントリ枠の数です。各枠には1つのアイテムスタックを格納できます。ユーザーはゲームプレイのアクションを通じてmaxCapacityまで容量を拡張できます。 maxCapacity int  0 ~ 2147483646 最大サイズ ユーザーが拡張可能なインベントリ枠の上限値です。この値を超えて容量を増やすことはできません。すべての枠が使用中でアイテムをこれ以上スタックできない場合、オーバーフロースクリプトが超過分を処理しない限り、入手は失敗します。 protectReferencedItem bool? false 参照元保護 有効にすると、（referenceOf メカニズムで）参照元が登録されているアイテムセットは消費または削除できなくなります。他のシステムで使用中のアイテム（例：装備中のギア、編成にバインドされたアイテム）が誤って削除されることを防ぎます。 itemModels List [] 1 ~ 1000 items アイテムモデル一覧 このインベントリに格納可能なアイテムの種類です。各アイテムモデルは1種類のアイテムのスタックおよび入手動作を定義します。インベントリモデルあたり最大1000アイテムモデルです。 ItemModel アイテムモデル アイテムは、ポーション ×99 のように、1つのインベントリ枠に複数個まとめて所持できます。 このように 1枠に複数個まとめることを「スタック」 と呼び、アイテムごとに スタックできる上限数 を設定できます。 スタック上限に達した場合の挙動もアイテムごとに設定できます。 具体的には、以下のどちらかを選べます： 新しいインベントリ枠を追加して、さらに所持できるようにする 上限に達したため、これ以上入手できないようにする  itemModelId string ※ ~ 1024文字 アイテムモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 アイテムモデル名 アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 stackingLimit long  1 ~ 9223372036854775805 スタック可能な最大数量 1つのインベントリ枠（スタック）に保持できるこのアイテムの最大数です。この上限に達した場合の動作はallowMultipleStacks設定に依存し、新しい枠が割り当てられるか、それ以上の入手がブロックされます。 allowMultipleStacks bool  複数スタック許可 有効にすると、スタック上限に達した場合に新しいインベントリ枠が自動的に割り当てられ、このアイテムの追加数量を格納します（追加の容量を消費します）。無効の場合、既存の枠でスタック上限に達すると入手がブロックされます。 sortValue int  0 ~ 2147483646 表示順番 インベントリ内のアイテムを表示用にソートするための数値です。値が小さいほど先に表示されます。この値はItemSetレコードにもコピーされ、所持アイテムの一貫した順序付けを可能にします。 SimpleInventoryModel シンプルインベントリモデル 通常の InventoryModel では、インベントリ内に格納できるアイテムの容量制限ができました。 しかし、シンプルインベントリ ではそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。 ただし、シンプルインベントリでは、複数のアイテムの増減処理を1回の処理で実行可能なAPIが利用できます。  inventoryModelId string ※ ~ 1024文字 シンプルインベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 simpleItemModels List [] 1 ~ 1000 items シンプルアイテムモデル一覧 このシンプルインベントリに格納可能なアイテムの種類です。通常のインベントリと異なり、シンプルアイテムにはスタック上限や容量制約がありません。シンプルインベントリモデルあたり最大1000アイテムモデルです。 SimpleItemModel シンプルアイテムモデル ItemModel では、スタックできる数量の最大値を設定でき、一定数を超える場合は複数のスタックに分けるような実装が可能でした。 シンプルアイテム にはそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。  itemModelId string ※ ~ 1024文字 シンプルアイテムモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シンプルアイテムモデル名 シンプルアイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 BigInventoryModel 巨大インベントリモデル 通常の InventoryModel や SimpleInventoryModel では、インベントリに格納できるアイテムの数は int64 の範囲に限られました。 インフレ系ゲームでは、もっと広い値の範囲を必要とする場合があります。 巨大インベントリモデルでは、インベントリに格納できるアイテムの数には1024桁の整数値を持たせることができます。  inventoryModelId string ※ ~ 1024文字 巨大インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 bigItemModels List [] 1 ~ 1000 items 巨大アイテムモデル一覧 この巨大インベントリに格納可能なアイテムの種類です。各巨大アイテムモデルは最大1024桁の整数文字列として表される数量を保持できます。巨大インベントリモデルあたり最大1000アイテムモデルです。 BigItemModel 巨大アイテムモデル 巨大アイテムモデルは、巨大インベントリモデルに格納される巨大アイテムを定義するモデルです。 巨大アイテムは、所持数量を int64 の範囲を超えて保持することができます。  itemModelId string ※ ~ 1024文字 巨大アイテムモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Inventory Deploy/CDK リファレンス","url":"/ja/api_reference/inventory/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ジョブキュー操作時のトランザクションの処理方法を制御する設定です。 enableAutoRun bool false サーバーサイドで自動的にジョブを実行するか 有効にすると、登録されたジョブはクライアントがポーリングして実行する必要なく、サーバーサイドで自動的に実行されます。無効の場合、クライアントは明示的にrun APIを呼び出してジョブを処理する必要があり、pushNotificationで新しいジョブの通知を受け取ることができます。 pushNotification NotificationSetting !{enableAutoRun} プッシュ通知 新しいジョブがジョブキューに登録された際のGS2-Gatewayを介したプッシュ通知設定です。enableAutoRunが無効の場合のみ利用可能です。新しく登録されたジョブを処理するためにクライアントにrun APIの呼び出しを促すために使用されます。 ※ enableAutoRun が “false” であれば有効 runNotification NotificationSetting  実行通知 ジョブキューのジョブが実行された際のGS2-Gatewayを介したプッシュ通知設定です。通知にはジョブの結果が含まれ、クライアントは追加のAPI呼び出しなしに報酬の表示やエラー処理を行えます。 logSetting LogSetting ログの出力設定 ジョブキュー操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のためにジョブの登録、実行、リトライ、失敗の追跡に便利です。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-JobQueue Deploy/CDK リファレンス","url":"/ja/api_reference/job_queue/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 暗号鍵操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。暗号化・復号リクエストなどの鍵使用の監査に便利です。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 Key 暗号鍵 GS2 で暗号化処理が必要な場合にここで作成する暗号鍵のGRNを指定する必要があります。 具体的な暗号鍵の内容は GS2 の外に出ることはなく、安全に暗号化・復号処理を行えます。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 暗号鍵名 暗号鍵固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Key 作成した暗号鍵 実装例","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Key Deploy/CDK リファレンス","url":"/ja/api_reference/key/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 カウントアップやカウンターリセットなどの回数制限操作時のトランザクションの処理方法を制御する設定です。 countUpScript ScriptSetting カウントアップするときに実行するスクリプトの設定 Script トリガーリファレンス - countUp logSetting LogSetting ログの出力設定 回数制限操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のためにカウンターの増加、リセット、制限チェックの追跡に便利です。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentLimitMaster 現在アクティブな回数制限モデルのマスターデータ 現在ネームスペース内で有効な、回数制限モデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Limit マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentLimitMaster 更新された現在アクティブな回数制限モデルのマスターデータ 実装例 LimitModel 回数制限モデル 回数制限モデルには、使用回数をリセットするタイミングを設定できます。 リセット間隔は 「毎日」「毎週」「毎月」「リセットしない」「一定日数」の 5 種類から選択できます。 また、回数制限の最大値はマスターデータ側では固定しません。 これは、ゲーム内のコンテキストに応じて、許可される最大回数を動的に変化させるためです。 たとえばステップアップガチャのように、 購入回数カウンターが 3 回未満 の場合に購入できる商品 上記の商品が購入できない場合に、購入回数カウンターが 5 回未満 なら購入できる別の商品 といったように、状況に応じて「最大回数」を切り替えられる設計を想定しています。  limitModelId string ※ ~ 1024文字 回数制限モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” }  リセットタイミング この回数制限モデル配下のカウンター値が自動的にゼロにリセットされるタイミングを決定します。notReset（恒久的、リセットなし）、daily（毎日指定時刻にリセット）、weekly（指定曜日にリセット）、monthly（指定日にリセット）、days（基準日時から一定日数ごとにリセット）から選択します。すべての時刻はUTCです。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセット日 resetTypeが “monthly” の場合にカウンターがリセットされる月の日にちです。1〜31の値が有効です。指定した日がその月の日数を超える場合（例：2月の31日）、その月の最終日にリセットされます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセット曜日 resetTypeが “weekly” の場合にカウンターがリセットされる曜日です。この曜日のresetHour（UTC）で指定された時刻にリセットされます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 daily、weekly、monthlyリセットタイプでカウンターがリセットされるUTCの時刻（0〜23）です。例えば0の場合、UTC午前0時にカウンターがリセットされます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば 必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 resetTypeが “days” の場合のカウンターリセットの間隔（日数）です。リセット周期はanchorTimestampから計算されます。例えばdaysが7でanchorTimestampが月曜日の正午なら、毎週月曜日の正午にカウンターがリセットされます。 ※ resetType が “days” であれば 必須","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Limit Deploy/CDK リファレンス","url":"/ja/api_reference/limit/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Lock Deploy/CDK リファレンス","url":"/ja/api_reference/lock/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 type 文字列列挙型 enum {   “gs2”,   “bigquery”,   “firehose” } “gs2” ログの書き出し方法 ログデータのエクスポート先を決定します。“gs2” はGS2のマネージドストレージにログを保存し、組み込みの検索・分析機能を利用できます。“bigquery” はGoogle BigQueryにログをエクスポートして高度な分析を行えます。“firehose” はAmazon Kinesis Data Firehoseにログをストリーミングし、S3やRedshiftなどのAWS送信先に配信します。 定義 説明 “gs2” GS2による管理 “bigquery” BigQuery への書き出し “firehose” Kinesis Firehose への書き出し gcpCredentialJson string {type} == “bigquery” ※ ~ 5120文字 GCPのクレデンシャル BigQueryへのログエクスポート時の認証に使用するGCPクレデンシャルJSONです。サービスアカウントには対象データセットに対するBigQuery Data Editor権限が必要です。 ※ type が “bigquery” であれば必須 bigQueryDatasetName string {type} == “bigquery” ※ ~ 1024文字 BigQueryのデータセット名 ログデータのエクスポート先となるBigQueryデータセットの名前です。データセットは提供されたクレデンシャルに関連付けられたGCPプロジェクト内にあらかじめ存在している必要があります。 ※ type が “bigquery” であれば必須 logExpireDays int {type} in [“gs2”, “bigquery”] ※ 0 ~ 3650 ログの保存期間(日) ログデータを保持する日数です。この期間を超えたログは自動的に削除されます。エクスポート方法が “gs2” または “bigquery” の場合に適用されます。最大3650日（約10年）まで設定可能です。 ※ type が “gs2”,“bigquery\"であれば 必須 awsRegion string {type} == “firehose” ※ ~ 256文字 AWSのリージョン Kinesis Data Firehose配信ストリームが存在するAWSリージョンです（例：us-east-1、ap-northeast-1）。 ※ type が “firehose” であれば必須 awsAccessKeyId string {type} == “firehose” ※ ~ 256文字 AWSのアクセスキーID Kinesis Data Firehoseへの認証に使用するAWSアクセスキーIDです。IAMユーザーには、指定されたFirehose配信ストリームへのレコード送信権限が必要です。 ※ type が “firehose” であれば必須 awsSecretAccessKey string {type} == “firehose” ※ ~ 256文字 AWSのシークレットアクセスキー Kinesis Data Firehose認証のためにアクセスキーIDと対になるAWSシークレットアクセスキーです。 ※ type が “firehose” であれば必須 firehoseStreamName string {type} == “firehose” ※ ~ 256文字 Kinesis Firehose のストリーム名 ログデータの送信先となるKinesis Data Firehose配信ストリームの名前です。 ※ type が “firehose” であれば必須 firehoseCompressData 文字列列挙型 enum {   “none”,   “gzip” } {type} == “firehose” “none” Kinesis Firehose に出力するデータを圧縮するか Kinesis Data Firehoseに送信する前にログデータを圧縮するかどうかの設定です。Gzip圧縮によりデータ転送量とストレージコストを削減できます。 定義 説明 “none” 圧縮しない “gzip” Gzip ※ type が “firehose” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 Dashboard ダッシュボード ログデータとメトリクスを可視化するためのカスタマイズ可能なダッシュボードです。各ダッシュボードはレイアウトとウィジェット設定をJSONペイロードとして保存し、ログ分析のカスタマイズされたビューを作成できます。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 displayName string  ~ 256文字 表示用の名前 このダッシュボードの人間が読める名前で、ダッシュボード一覧やヘッダーに表示されます。 description string ~ 1024文字 説明文 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Dashboard 作成したダッシュボード 実装例 FacetModel ファセットモデル ログデータのフィルタリングと集計に使用できるファセットフィールドを定義します。ファセットにより、サービス名、メソッド、ステータス、カスタムフィールドなどの特定のディメンションでログ検索結果を絞り込めます。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 field string  ~ 128文字 ファセットのフィールド名 このファセットが対象とするログフィールドの名前です（例：“service”、“method”、“status”）。 type 文字列列挙型 enum {   “string”,   “double”,   “measure” }  ファセットのデータ型 ファセットフィールドのデータ型です。“string” は値のカウント付きカテゴリ値、“double” は範囲フィルタリング付き数値、“measure” は統計分析付き測定値に使用します。 定義 説明 “string” 文字列 “double” 数値 “measure” 測定値 displayName string  ~ 128文字 表示用の名前 このファセットの人間が読める名前で、ログ検索UIに表示されます。 order int 0 0 ~ 100000 表示順 UIでこのファセットを表示する際の並び順です。値が小さいほど先に表示されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item FacetModel 作成したファセットモデル 実装例","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Log Deploy/CDK リファレンス","url":"/ja/api_reference/log/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 このネームスペース内で報酬トランザクションがどのように実行されるかの設定。 receiveScript ScriptSetting 報酬を受け取るときに実行するスクリプトの設定 Script トリガーリファレンス - receive logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、ログインボーナスの操作（受け取り、取り逃がし救済など）がモニタリングと分析のためにログ出力されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentBonusMaster 現在アクティブなログインボーナスモデルのマスターデータ 現在ネームスペース内で有効な、ログインボーナスモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-LoginReward マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentBonusMaster 更新された現在アクティブなログインボーナスモデルのマスターデータ 実装例 BonusModel ログインボーナスモデル ログインボーナスモデルにはログインボーナスの配布スケジュールを設定します。 配布スケジュールには《スケジュールモード》と《ストリーミングモード》があります。 スケジュールモードでは、GS2-Schedule のイベントの指定が必須で、そのイベントの開始日からの経過日数でボーナスの配布を行います。 途中で撮り逃しが発生した場合、その分のボーナスは配布されません。 ストリーミングモードでは、毎日ボーナスに設定された報酬を先頭から順番に配布します。 ストリーミングモードでは繰り返しの設定が可能です。その場合、ストリームの終端に達した場合、先頭から再度配布を行います。 スケジュールモード・ストリーミングモード 共に、取り逃がしの救済機能があります。 一定のコストを支払うことで、取り逃がしたボーナスを受け取ることができます。 ただし、GS2-Schedule のイベントが関連づけられている場合、イベントの開始日からの経過日数より先のボーナスは受け取ることができません。 取り逃がし機能はストリーミングモードかつ繰り返しが有効な場合は使用することができません。 スケジュールモード・ストリーミングモード 共に、設定可能なボーナスの最大日数は100日です。  bonusModelId string ※ ~ 1024文字 ログインボーナスモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 mode 文字列列挙型 enum {   “schedule”,   “streaming” }  モード ログインボーナスの配布スケジュールの種類を指定します。 「schedule」モードでは、GS2-Schedule のイベント開始日からの経過日数に基づいて報酬が配布されます。 「streaming」モードでは、カレンダーの日付に関係なく、毎日先頭から順番に報酬が配布されます。 定義 説明 “schedule” スケジュールモード “streaming” ストリーミングモード periodEventId string ~ 1024文字 期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ログインボーナスを有効化する期間を表す GS2-Schedule のイベントGRN。 スケジュールモードでは必須で、報酬配布の経過日数を計算する起点の開始日を決定します。 ストリーミングモードでは省略可能ですが、指定した場合はイベント開始日からの経過日数より先のボーナスは受け取れなくなります。 resetHour int {periodEventId} == \"\" ※ 0 ~ 23 リセット時間（UTC） 受け取りフラグがリセットされる時刻（0-23、UTC）。 ログインボーナスにおける日付の切り替わりタイミングを決定します。 periodEventId が未指定の場合にのみ必要です。イベントが設定されている場合、リセットタイミングはイベントのスケジュールに従います。 ※ periodEventId が \"\" であれば 必須 repeat 文字列列挙型 enum {   “enabled”,   “disabled” } {mode} == “streaming” ※ 繰り返し 全ての報酬を配布し終えた後に、先頭から再度配布を行うかどうか。 ストリーミングモードでのみ有効です。有効にすると、最後の報酬を配布した後に最初の報酬に戻ってループします。 注意: 繰り返しが有効な場合、取り逃がし救済機能は使用できません。 定義 説明 “enabled” 有効 “disabled” 無効 ※ mode が “streaming” であれば 必須 rewards List 0 ~ 100 items 報酬リスト 日毎の報酬の順序付きリスト。各エントリは1日分のログインボーナスに対応し、インデックス 0 から順に配布されます。 スケジュールモードでは、インデックスはイベント開始日からの経過日数に対応します。 ストリーミングモードでは、インデックスはログイン日数に対応します。最大100エントリまで設定可能です。 missedReceiveRelief 文字列列挙型 enum {   “enabled”,   “disabled” } “disabled” 取り逃がし救済機能 取り逃がしたボーナスの救済機能を有効にするかどうか。有効にすると、ユーザーは指定されたコスト（消費アクション）を支払うことで、受け取り損ねたボーナスを遡って受け取ることができます。 任意で、救済の許可前に条件を確認する検証アクションも設定できます。 ストリーミングモードかつ繰り返しが有効な場合は使用できません。デフォルトは「disabled」です。 定義 説明 “enabled” 有効 “disabled” 無効 missedReceiveReliefVerifyActions List {missedReceiveRelief} == “enabled” [] 0 ~ 10 items 取り逃がし救済の検証アクションリスト 取り逃がし救済を許可する前に実行される検証アクションのリスト。 救済処理の前にユーザーの資格などの前提条件をチェックします。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば 有効 missedReceiveReliefConsumeActions List {missedReceiveRelief} == “enabled” [] 0 ~ 10 items 取り逃がし救済の消費アクションリスト 取り逃がしたボーナスを救済するためにユーザーが支払うコストを定義する消費アクションのリスト。 例えば、ゲーム内通貨やアイテムを救済コストとして消費するよう設定できます。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば 有効 Reward 報酬 ログインボーナスの1日分の報酬設定を表します。 各 Reward にはユーザーが受け取るもの（アイテム、通貨、経験値など）を定義する入手アクションのリストが含まれます。 BonusModel の rewards 配列は1日あたり1つの Reward を保持し、順番に配布されます。 報酬の値はバフシステム（BonusModelBuff）を通じて実行時に変更でき、入手アクションにレート乗数を適用できます。  acquireActions List  1 ~ 10 items 入手アクションリスト この日の報酬としてユーザーに付与されるリソースを定義する入手アクションのリスト。 各アクションは入手アクション（アイテム追加、通貨付与など）とそのリクエストパラメータを指定します。 報酬あたり最低1個、最大10個のアクションを設定できます。 ConsumeAction 消費アクション 消費アクションの仕組みを通じてユーザーからリソースを消費するアクションを定義します。 取り逃がしボーナスの救済でユーザーが支払うコスト（通貨の差し引き、アイテムの消費など）を指定するために使用されます。 action フィールドは消費アクションの種類を指定し、request フィールドには対応するリクエストパラメータが含まれます。  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション 操作の実行前に条件を検証するアクションを定義します。 取り逃がしボーナスの救済で、救済を許可する前に前提条件（ユーザーの資格、リソースの利用可能性など）を確認するために使用されます。 action フィールドは検証アクションの種類を指定し、request フィールドには対応するリクエストパラメータが含まれます。  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 AcquireAction 入手アクション 入手アクションの仕組みを通じてユーザーにリソースを付与するアクションを定義します。 報酬内で使用され、ユーザーが受け取るもの（インベントリへのアイテム追加、通貨の付与、経験値の付与など）を指定します。 action フィールドは入手アクションの種類を指定し、request フィールドには対応するリクエストパラメータが含まれます。  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-LoginReward Deploy/CDK リファレンス","url":"/ja/api_reference/login_reward/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 抽選操作時のトランザクションの処理方法を制御する設定です。抽選では入手アクションを通じてユーザーに景品を付与するトランザクションが発行されます。 lotteryTriggerScriptId string ~ 1024文字 抽選を実行した際に呼び出される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN logSetting LogSetting ログの出力設定 抽選操作のAPIリクエスト・レスポンスログを出力するためのGS2-Logネームスペースを指定します。デバッグや分析のために抽選結果、景品配布、ボックスガチャの状態追跡に便利です。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentLotteryMaster 現在アクティブな抽選モデルのマスターデータ 現在ネームスペース内で有効な、抽選モデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Lottery マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentLotteryMaster 更新された現在アクティブな抽選モデルのマスターデータ 実装例 PrizeTable 排出確率テーブル 景品には、入手アクションを指定するか、別の排出確率テーブルを参照させることもできます。 排出確率テーブルを入れ子にすることで、たとえば 1段目で SSR / SR / R などのレアリティを抽選し、2段目でそのレアリティに対応した具体的なコンテンツを抽選するといった設定が可能です。 この仕組みにより、ゲーム全体としてのレアリティ別排出確率を調整しやすくなります。  prizeTableId string ※ ~ 1024文字 排出確率テーブル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 排出確率テーブル名 排出確率テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 prizes List  1 ~ 100 items 景品リスト この排出確率テーブル内の景品リストです。各景品は排出重み（確率）、排出時に実行するアクション、およびオプションの排出回数制限を定義します。各景品の実際の排出確率は、その重みをテーブル内の全景品の重みの合計で割って算出されます。 Prize 景品 排出確率テーブル内の単一の景品エントリです。 景品は入手アクション（アイテムや通貨の付与など）を直接指定するか、別の排出確率テーブルを参照してネストされた抽選を行えます。 各景品には排出重みがあり、排出される相対的な確率を決定します。  prizeId string  UUID ~ 36文字 景品ID 排出確率テーブル内でこの景品を一意に識別するIDです。排出回数制限の追跡や、フェイルオーバー景品の指定時の参照に使用されます。 type 文字列列挙型 enum {   “action”,   “prize_table” }  景品の種類 この景品が直接報酬を付与するか、別の排出確率テーブルに委譲するかを決定します。“action” は排出時に実行する入手アクションを指定します。“prize_table” は別の排出確率テーブルを参照してネストされた抽選を行います（例：1段目でレアリティを決定、2段目で具体的なアイテムを決定）。 定義 説明 “action” 景品の入手アクション “prize_table” 更に排出確率テーブルを指定して再抽選 acquireActions List {type} == “action” [] 1 ~ 100 items 入手アクションリスト この景品が排出された時に実行する入手アクションのリストです。複数のアクションを指定して、一度に複数の報酬を付与できます（例：アイテムと通貨を同時に付与）。 ※ type が “action” であれば 有効 drawnLimit int {type} == “action” 1 ~ 1000000 最大排出数 この景品が全ユーザーを通じて排出される最大回数です。制限に達すると、代わりにフェイルオーバー景品（limitFailOverPrizeId）が排出されます。ジャックポットアイテムなどの数量限定景品の実装に使用されます。 ※ type が “action” であれば 有効 limitFailOverPrizeId string {type} == “action” and {drawnLimit} \u003e 0 ※ ~ 32文字 制限時フェイルオーバー景品ID この景品の排出回数制限（drawnLimit）に達した場合に代わりに排出する景品のIDです。同じ排出確率テーブル内の別の景品を参照する必要があります。 ※ type が “action” で かつ drawnLimit が 0 より大きければ 必須 prizeTableName string {type} == “prize_table” ※ ~ 128文字 排出確率テーブルの名前 抽選を委譲する排出確率テーブルの名前です。景品タイプが “prize_table” の場合にネストされた抽選に使用されます。 ※ type が “prize_table” であれば 必須 weight int  1 ~ 2147483646 排出重み 排出確率テーブル内でのこの景品の相対的な重みです。実際の排出確率は、この景品の重みをテーブル内の全景品の重みの合計で割って算出されます。例えば3つの景品の重みが70、20、10の場合、それぞれの排出確率は70%、20%、10%になります。 LotteryModel 抽選モデル 抽選モデルは排出方式や排出テーブルの参照方法を定義するエンティティです。 排出方式は2種類用意されており、通常抽選は毎回一定の確率で抽選をする方式、Box抽選は箱の中にあらかじめ定義された数量の景品が入っており、抽選するたびに箱から景品を取り出していく抽選方式です。 抽選処理を行うにあたって、排出確率テーブルを利用しますが、 GS2-Script を使用すれば複数回抽選を実行した際に排出確率テーブルを一部だけ異なるテーブルに差し替えることができます。 この仕組みを利用することで、10連ガチャで1回だけ異なる抽選確率テーブルを適用することが可能となります。  lotteryModelId string ※ ~ 1024文字 抽選モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 mode 文字列列挙型 enum {   “normal”,   “box” }  抽選モード 景品の抽選方式を選択します。“normal” は毎回一定の確率で抽選を行います（景品は繰り返し排出されます）。“box” は仮想的な箱にあらかじめ定義された数量の景品を入れ、抽選するたびに箱から景品を取り出します（すべての景品が最終的に排出されることが保証されます）。 定義 説明 “normal” 通常抽選 “box” ボックス抽選 method 文字列列挙型 enum {   “prize_table”,   “script” }  抽選方法 排出確率テーブルの参照方法を決定します。“prize_table” は静的に指定された排出確率テーブルを使用します。“script” はGS2-Scriptを使用して抽選時に動的に排出確率テーブルを選択し、10連ガチャで1回だけ異なる排出確率テーブルを適用するなどのシナリオを実現できます。 定義 説明 “prize_table” 静的な排出確率テーブル “script” GS2-Script による動的な排出確率テーブル prizeTableName string {method} == “prize_table” ※ ~ 128文字 排出確率テーブルの名前 この抽選モデルで使用する排出確率テーブルの名前です。抽選方法が “prize_table” の場合に必須です。 ※ method が “prize_table” であれば 必須 choicePrizeTableScriptId string {method} == “script” ※ ~ 1024文字 排出確率テーブルを決定する GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - choicePrizeTable ※ method が “script” であれば 必須 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Lottery Deploy/CDK リファレンス","url":"/ja/api_reference/lottery/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 マッチメイキング操作時のトランザクションの処理方法を制御する設定です。 enableRating bool false レーティング計算機能の有効化 Glicko-2 ベースのレーティング計算機能を有効にするかどうか。 有効にすると、プレイヤーは Vote システムを通じて対戦結果を送信し、レーティングが自動的に更新されます。 RatingModel マスターデータの設定が必要です。デフォルトは false です。 enableDisconnectDetection 文字列列挙型 enum {   “disable”,   “enable” } “disable” 切断検知 マッチメイキング中のプレイヤーが待機中であることを定期的に報告する必要があるかを制御します。 有効にすると、プレイヤーが設定されたタイムアウト期間内にキープアライブを送信しない場合、ギャザリングから自動的に退出処理されます。 これにより「ゴースト」プレイヤーがマッチメイキングの完了をブロックすることを防ぎます。デフォルトは “disable” です。 定義 説明 “disable” 無効 “enable” 有効 disconnectDetectionTimeoutSeconds int {enableDisconnectDetection} == “enable” ※ 15 ~ 600 切断検知タイムアウト（秒） キープアライブ報告なしにプレイヤーを切断とみなしギャザリングから退出させるまでの待機秒数。 切断検知が有効な場合のみ適用されます。15 から 600 秒の範囲で指定します。 ※ enableDisconnectDetection が “enable” であれば必須 createGatheringTriggerType 文字列列挙型 enum {   “none”,   “gs2_realtime”,   “gs2_script” } “none” ギャザリング作成時トリガータイプ 新しいギャザリングが作成されたときに実行するアクションの種類。 GS2-Realtime のルーム作成をトリガーしてリアルタイム通信を開始したり、GS2-Script を実行してカスタムロジックを実行できます。デフォルトは “none” です。 定義 説明 “none” なし “gs2_realtime” GS2-Realtime のルーム作成 “gs2_script” GS2-Script の実行 createGatheringTriggerRealtimeNamespaceId string {createGatheringTriggerType} == “gs2_realtime” ※ ~ 1024文字 ギャザリング作成時にルームを作成する GS2-Realtime のネームスペース ※ createGatheringTriggerType が “gs2_realtime” であれば必須 createGatheringTriggerScriptId string {createGatheringTriggerType} == “gs2_script” ※ ~ 1024文字 ギャザリング作成時に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ createGatheringTriggerType が “gs2_script” であれば必須 completeMatchmakingTriggerType 文字列列挙型 enum {   “none”,   “gs2_realtime”,   “gs2_script” } “none” マッチメイキング完了時トリガータイプ マッチメイキングが完了した（すべてのロール枠が埋まった）ときに実行するアクションの種類。 マッチングされたプレイヤー向けに GS2-Realtime のルーム作成をトリガーしたり、GS2-Script を実行してカスタムの事後処理ロジックを実行できます。デフォルトは “none” です。 定義 説明 “none” なし “gs2_realtime” GS2-Realtime のルーム作成 “gs2_script” GS2-Script の実行 completeMatchmakingTriggerRealtimeNamespaceId string {completeMatchmakingTriggerType} == “gs2_realtime” ※ ~ 1024文字 マッチメイキング完了時にルームを作成する GS2-Realtime のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ completeMatchmakingTriggerType が “gs2_realtime” であれば必須 completeMatchmakingTriggerScriptId string {completeMatchmakingTriggerType} == “gs2_script” ※ ~ 1024文字 マッチメイキング完了時に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ completeMatchmakingTriggerType が “gs2_script” であれば必須 enableCollaborateSeasonRating 文字列列挙型 enum {   “enable”,   “disable” } “disable” シーズンレーティング連携の有効化 シーズンベースのレーティング計算のために GS2-SeasonRating との連携を有効にするかどうか。 有効にすると、マッチメイキング完了時に指定した GS2-SeasonRating のネームスペースにレーティング計算セッションが自動作成されます。 デフォルトは “disable” です。 定義 説明 “enable” 有効 “disable” 無効 collaborateSeasonRatingNamespaceId string {enableCollaborateSeasonRating} == “enable” ※ ~ 1024文字 シーズンレーティングネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ enableCollaborateSeasonRating が “enable” であれば必須 collaborateSeasonRatingTtl int {enableCollaborateSeasonRating} == “enable” 60 60 ~ 7200 シーズンレーティング結果TTL（秒） マッチメイキング完了後、GS2-SeasonRating 経由の対戦結果送信を受け付ける最大待機時間（秒）。 この期間内に結果が送信されない場合、レーティングセッションは期限切れとなります。60 から 7200 秒の範囲で指定します。デフォルトは 60 です。 ※ enableCollaborateSeasonRating が “enable” であれば必須 changeRatingScript ScriptSetting レーティング値が変化したときに実行するスクリプトの設定 Script トリガーリファレンス - changeRating joinNotification NotificationSetting 参加通知 新しいプレイヤーがギャザリングに参加したときのプッシュ通知設定。 既存の参加者に新しいプレイヤーが参加したことを通知し、ゲームクライアントがマッチメイキング UI を更新できるようにします。 leaveNotification NotificationSetting 離脱通知 プレイヤーがギャザリングから離脱したときのプッシュ通知設定。 残りの参加者にプレイヤーが離脱したことを通知し、ゲームクライアントに変更を反映させます。 completeNotification NotificationSetting 完了通知 マッチメイキングが完了した（すべてのロール枠が埋まった）ときのプッシュ通知設定。 すべての参加者にギャザリングが満員になり対戦を開始できることを通知します。 changeRatingNotification NotificationSetting レーティング変動通知 投票処理後にプレイヤーのレーティング値が変動したときのプッシュ通知設定。 影響を受けたプレイヤーに新しいレーティングを通知し、ゲームクライアントに更新された値を表示させます。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、マッチメイキングの操作（ギャザリングの作成・参加・離脱、投票、レーティング変動など）がモニタリングと分析のためにログ出力されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentModelMaster 現在アクティブなモデルのマスターデータ 現在ネームスペース内で有効な、モデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Matchmaking マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentModelMaster 更新された現在アクティブなモデルのマスターデータ 実装例 RatingModel レーティングモデル GS2 ではレーティングアルゴリズムとして Glicko-2 を採用しています。 Glicko-2 には複数のパラメータがありますが、GS2-Matchmaking ではそれらを総合的に表す ボラティリティ という1つのパラメータに集約しています。 ボラティリティ は変化の大きさを表すパラメータで、値が大きいほどレーティングの値の変動量が大きくなります。  ratingModelId string ※ ~ 1024文字 レーティングモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialValue int 1500 100 ~ 10000 レート値の初期値 プレイヤーが初めてレーティング付きマッチメイキングに参加したときに割り当てられる開始レート値。 デフォルトは 1500 です。すべてのプレイヤーは同じレーティングから開始し、対戦結果に基づいて調整されます。 volatility int 100 1 ~ 20000 レーティングのボラティリティ 各対戦後にレート値がどの程度変動するかを制御する Glicko-2 のパラメータ。 値が大きいほどレーティングの変動幅が大きくなり、より早くレーティングが調整されます。 値が小さいほどレーティングが安定し、緩やかに変化します。デフォルトは 100 です。 SeasonModel シーズンモデル シーズンマッチメイキングにおいて、一定期間有効な永続ギャザリングの期間・最大参加人数・ティアー連携設定を定義するマスターデータです。 GS2-Schedule により期間を管理し、必要に応じて GS2-Experience と連携して同一ティアー内で永続ギャザリングを形成します。  seasonModelId string ※ ~ 1024文字 シーズンモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumParticipants int  2 ~ 1000 最大参加人数 1つのシーズンギャザリングに参加可能なプレイヤーの最大人数。 この上限に達するとシーズンギャザリングは満員となり、それ以上のプレイヤーは参加できなくなります。 2 から 1000 の範囲で指定します。 experienceModelId string ~ 1024文字 ティアー管理用の経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN プレイヤーのティアーを決定するために使用する GS2-Experience の経験値モデルの GRN。 この経験値モデルにおけるプレイヤーのランクがマッチメイキングのティアーとして使用され、同程度のレベルのプレイヤー同士がグルーピングされます。 未指定の場合、ティアーによるグルーピングは無効となり、レベルに関係なく全プレイヤーがマッチングされます。 challengePeriodEventId string  ~ 1024文字 チャレンジ期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このシーズンの有効期間を定義する GS2-Schedule イベントの GRN。 このイベントがアクティブな間のみ、シーズンギャザリングの作成・参加が可能です。 イベント期間が終了するとシーズンがクローズし、新しいマッチメイキングはできなくなります。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Matchmaking Deploy/CDK リファレンス","url":"/ja/api_reference/matchmaking/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用されるログネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースIDは、ログデータを集約し、保存する対象の GS2-Log のネームスペースを指定します。 この設定を通じて、このネームスペース以下のAPIリクエスト・レスポンスログデータが対象の GS2-Log へ出力されるようになります。 GS2-Log にはリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentFieldMaster 現在アクティブなフィールドのモデルのマスターデータ 現在ネームスペース内で有効な、フィールドのモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-MegaField マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentFieldMaster 更新された現在アクティブなフィールドのモデルのマスターデータ 実装例 AreaModel エリアは空間を分割するもので、同じ座標でもエリアが異なれば別空間として扱うことができます。  areaModelId string ※ ~ 1024文字 エリアモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 エリアモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 layerModels List [] 0 ~ 1000 items レイヤーモデル一覧 LayerModel レイヤーは1つの空間内で複数の論理階層を実現します。 たとえば、キャラクターが大量に存在する空間で、エネミーが見えなくなってしまう問題を解決します。 レイヤー1 にはキャラクターを配置。レイヤー2にはエネミーを配置した場合、レイヤーごとに指定した距離内での取得数量を指定できるため、見えなくなる心配はありません。  layerModelId string ※ ~ 1024文字 レイヤーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レイヤーモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-MegaField Deploy/CDK リファレンス","url":"/ja/api_reference/mega_field/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 ミッション達成報酬の付与時に使用される分散トランザクションの設定です。 missionCompleteScript ScriptSetting ミッションを達成したときに実行するスクリプトの設定 Script トリガーリファレンス - missionComplete counterIncrementScript ScriptSetting カウンターが上昇したときに実行するスクリプトの設定 Script トリガーリファレンス - counterIncrement receiveRewardsScript ScriptSetting 報酬を受け取ったときに実行するスクリプトの設定 Script トリガーリファレンス - receiveRewards completeNotification NotificationSetting  ミッションのタスクを達成したときのプッシュ通知 ミッションタスクの達成条件が満たされた際に GS2-Gateway を通じて配信されるプッシュ通知の設定です。ゲームクライアントが達成状況を即座にUIに反映できるようにします。 logSetting LogSetting ログの出力設定 このネームスペースに対するAPIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。カウンターの増加、ミッション達成、報酬受け取りのデバッグに役立ちます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentMissionMaster 現在アクティブなミッションモデルのマスターデータ 現在ネームスペース内で有効な、ミッションのモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Mission マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentMissionMaster 更新された現在アクティブなミッションモデルのマスターデータ 実装例 CounterModel カウンターモデル カウンターモデルはミッションタスクの達成条件に設定可能なエンティティです。 カウンターの値は複数のミッショングループから参照可能なため、1つのカウンターでウィークリーミッションとデイリーミッションといった複数のミッショングループの達成条件に設定ができます。  counterId string ※ ~ 1024文字 カウンターモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scopes List [] 1 ~ 20 items カウンターのリセットタイミングリスト このカウンターのスコープ（リセットタイミングまたは検証アクション条件）を定義します。1つのカウンターに複数のスコープを設定でき、異なる期間の値（例：デイリー、ウィークリー、累計を同時に）を追跡できます。 challengePeriodEventId string ~ 1024文字 カウンターの操作が可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このカウンターの増減が可能な期間を定義する GS2-Schedule イベントを指定します。未設定の場合、カウンターはいつでも操作できます。 CounterScopeModel カウンターリセットタイミングモデル カウンターのスコープを定義し、カウンター値のリセット方法とタイミングを決定します。スコープはリセットタイミング（毎日、毎週、毎月、一定日数ごと、またはリセットなし）か検証アクション条件のいずれかです。各カウンターは複数のスコープを持ち、異なる期間の値を追跡できます。  scopeType 文字列列挙型 enum {   “resetTiming”,   “verifyAction” } “resetTiming” スコープの種類 カウンタースコープの定義方法を決定します。“resetTiming” は定期的なリセットスケジュールを使用し、“verifyAction” は検証アクションでカウンター値が適用されるかどうかを判定します。 定義 説明 “resetTiming” リセットタイミング “verifyAction” 検証アクション resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } “notReset” リセットタイミング このスコープのカウンター値がリセットされるタイミングを決定します。リセットしない（恒久累計）、毎日、毎週、毎月、一定日数ごとから選択します。scopeType が “resetTiming” の場合のみ使用されます。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセットをする日にち カウンター値がリセットされる月の日にちです。指定した値が月の日数を超える場合は、その月の最終日として扱われます。resetType が “monthly” の場合のみ使用されます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセットする曜日 カウンター値がリセットされる曜日です。resetType が “weekly” の場合のみ使用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 カウンター値がリセットされる時刻（0〜23）です。毎日、毎週、毎月のリセットタイプと組み合わせて使用されます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 conditionName string {scopeType} == “verifyAction” ※ ~ 128文字 条件名 この検証アクション条件スコープを識別する一意の名前です。カウンター内の対応するスコープ値の検索に使用されます。scopeType が “verifyAction” の場合のみ使用されます。 ※ scopeType が “verifyAction” であれば 必須 condition VerifyAction {scopeType} == “verifyAction” ※ 条件 このスコープのカウンター値が適用されるかどうかを判定する検証アクションです。scopeType が “verifyAction” の場合のみ使用されます。 ※ scopeType が “verifyAction” であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば 必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 基準日時からカウントされるカウンター値のリセット間隔の日数です。resetType が “days” の場合のみ使用されます。 ※ resetType が “days” であれば 必須 MissionGroupModel ミッショングループモデル ミッショングループは、カウンターのリセットタイミングでタスクをグルーピングするエンティティです。 たとえば、デイリーミッションで1つのグループ、ウィークリーミッションで1つのグループとなります。  missionGroupId string ※ ~ 1024文字 ミッショングループ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 tasks List [] 0 ~ 1000 items ミッションタスクリスト このグループに属するミッションタスクです。各タスクは達成条件（カウンターの閾値または検証アクション）と達成時に付与される報酬を定義します。 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } “notReset” リセットタイミング ミッショングループの達成状況がリセットされるタイミングを決定します。リセットしない（恒久）、毎日、毎週、毎月、基準日時から一定日数ごとから選択します。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセットをする日にち ミッショングループがリセットされる月の日にちです。指定した値が月の日数を超える場合は、その月の最終日として扱われます。resetType が “monthly” の場合のみ使用されます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセットする曜日 ミッショングループがリセットされる曜日です。resetType が “weekly” の場合のみ使用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 ミッショングループがリセットされる時刻（0〜23）です。毎日、毎週、毎月のリセットタイプと組み合わせて使用されます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 completeNotificationNamespaceId string ~ 1024文字 ミッションのタスクを達成したときのプッシュ通知 このグループ内のミッションタスクが達成された際にプッシュ通知を配信するために使用される GS2-Gateway のネームスペースGRNです。ゲームクライアントにリアルタイムで通知できます。 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば 必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 基準日時からカウントされるリセット間隔の日数です。resetType が “days” の場合のみ使用されます。 ※ resetType が “days” であれば 必須 MissionTaskModel ミッションタスクモデル ミッションタスクは関連付けたカウンターの値が一定を超えたら報酬が貰える条件を定義するエンティティです。  missionTaskId string ※ ~ 1024文字 ミッションタスク GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyCompleteType 文字列列挙型 enum {   “counter”,   “verifyActions” } “counter” 達成条件種別 ミッションタスクの達成判定方法を指定します。“counter” は関連するカウンターのスコープ値が目標閾値に達したかを確認します。“verifyActions” は検証アクションを使用して達成条件を確認します。 定義 説明 “counter” カウンター “verifyActions” 検証アクション targetCounter TargetCounterModel {verifyCompleteType} == “counter” ※ 目標カウンター ミッションタスクの達成判定に使用されるカウンター、スコープ、目標値を定義します。カウンターのスコープ値が指定された目標値に達するか超えた場合、タスクが達成されたとみなされます。 ※ verifyCompleteType が “counter” であれば 必須 verifyCompleteConsumeActions List {verifyCompleteType} == “verifyActions” [] 0 ~ 10 items タスク達成判定に使用する検証アクション ミッションタスクの達成判定に使用される検証アクションのリストです。すべての検証アクションが成功した場合にタスクが達成とみなされます。verifyCompleteType が “verifyActions” の場合のみ使用されます。 ※ verifyCompleteType が “verifyActions” であれば 有効 completeAcquireActions List [] 0 ~ 100 items ミッション達成時の報酬 プレイヤーがミッション達成報酬を受け取る際に実行される入手アクションのリストです。 challengePeriodEventId string ~ 1024文字 報酬が受け取り可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ミッションタスクの報酬を受け取ることができる期間を定義する GS2-Schedule イベントを指定します。未設定の場合、達成後いつでも報酬を受け取ることができます。 premiseMissionTaskName string ~ 128文字 このタスクに挑戦するために達成しておく必要のあるタスクの名前 このタスクの報酬を受け取る前に達成しておく必要がある、同じグループ内の前提ミッションタスクを指定します。段階的なミッションチェーンの作成に使用します。 TargetCounterModel 目標カウンター ミッションの達成目標となるカウンターの情報  counterName string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 scopeType 文字列列挙型 enum {   “resetTiming”,   “verifyAction” } “resetTiming” スコープの種類 ミッション達成判定に使用するカウンタースコープの種類を指定します。“resetTiming” は特定のリセット期間のカウンター値を評価し、“verifyAction” は名前付き条件の値を評価します。 定義 説明 “resetTiming” リセットタイミング “verifyAction” 検証アクション resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } {scopeType} == “resetTiming” 目標リセットタイミング 目標値と比較するカウンターのリセットタイミングスコープを指定します。例えば “daily” を選択すると、デイリーのカウンター値を確認します。省略した場合、ミッショングループのリセットタイミングが使用されます。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと ※ scopeType が “resetTiming” であれば 有効 conditionName string {scopeType} == “verifyAction” ※ ~ 128文字 条件名 目標値と比較する検証アクション条件スコープの名前です。カウンターモデルのスコープで定義された conditionName と一致する必要があります。scopeType が “verifyAction” の場合のみ使用されます。 ※ scopeType が “verifyAction” であれば 必須 value long  0 ~ 9223372036854775805 目標値 ミッションタスクが達成とみなされるために、カウンターのスコープ値が達するか超える必要がある閾値です。 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Mission Deploy/CDK リファレンス","url":"/ja/api_reference/mission/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 マネー操作時のトランザクションの処理方法を制御する設定です。 priority 文字列列挙型 enum {   “free”,   “paid” }  消費優先度 ウォレットから通貨を消費する際に、有償通貨と無償通貨のどちらを先に消費するかを決定します。 “free” に設定すると、無償通貨（単価=0）が先に消費され、次に単価の高い有償通貨が消費されます。 “paid” に設定すると、単価の高い有償通貨が先に消費され、次に無償通貨が消費されます。 定義 説明 “free” 無償通貨を優先して使用する “paid” 有償通貨を優先して使用する shareFree bool  無償通貨の共有 無償通貨をすべてのウォレットスロット間で共有するかどうか。 有効にすると、無償通貨の残高がスロット0から他のすべてのスロットに同期され、異なるプラットフォームのプレイヤーが同じ無償通貨プールを共有できます。 有償通貨はこの設定に関係なく、常にスロットごとに別々に管理されます。 currency 文字列列挙型 enum {   “JPY”,   “USD”,   “TWD” }  通貨の種類 価格設定と資金決済法の遵守計算に使用される実世界の通貨。 有償通貨の価値追跡と返金義務の計算における測定単位を決定します。 ネームスペース作成後は変更できません。 定義 説明 “JPY” 日本円 “USD” 米ドル “TWD” 台湾ドル appleKey string ~ 1024文字 Apple AppStore のバンドルID Apple AppStore の購入レシートを検証するために使用される iOS アプリの Bundle ID。 iOS デバイスからのアプリ内購入を受け付ける場合に必要です。 googleKey string ~ 5120文字 Google PlayStore の秘密鍵 Google Play の購入レシートを検証するために使用されるサービスアカウントの秘密鍵。 Android デバイスからのアプリ内購入を受け付ける場合に必要です。 enableFakeReceipt bool false フェイクレシートの有効化 テスト目的で Unity Editor が生成するフェイク購入レシートを受け付けるかどうか。 開発・テスト環境でのみ有効にし、不正な通貨付与を防ぐため本番環境では必ず無効にする必要があります。 デフォルトは false です。 createWalletScript ScriptSetting ウォレット作成時スクリプト 新しいウォレットが初めて作成されたときに実行するスクリプト。 ウォレットは初回アクセス時に自動作成されるため、プレイヤーが通貨システムに初めてアクセスした際にこのスクリプトがトリガーされます。 depositScript ScriptSetting 残高加算時スクリプト ウォレットに通貨が加算されたときに実行するスクリプト。 有償通貨の加算（ストア購入）と無償通貨の付与の両方でトリガーされます。 withdrawScript ScriptSetting 残高消費時スクリプト ウォレットから通貨が消費されたときに実行するスクリプト。 消費優先度の設定に従って有償通貨または無償通貨が差し引かれる際にトリガーされます。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、ウォレット操作（入金、消費、購入）がモニタリング、監査、分析のためにログ出力されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Money Deploy/CDK リファレンス","url":"/ja/api_reference/money/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 currencyUsagePriority 文字列列挙型 enum {   “PrioritizeFree”,   “PrioritizePaid” }  消費優先度 ウォレットから出金する際に有償通貨と無償通貨のどちらを先に消費するかを決定します。“PrioritizeFree” は無償通貨を優先し、“PrioritizePaid” は有償通貨を優先します。 定義 説明 “PrioritizeFree” 無償通貨を優先して使用する “PrioritizePaid” 有償通貨を優先して使用する description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 通貨の入金・出金時に使用される分散トランザクションの設定です。 sharedFreeCurrency bool  無償通貨を異なるスロットで共有するか 有効にすると、無償通貨の残高がすべてのウォレットスロット（プラットフォーム）間で共有されます。有償通貨はスロットごとに分離されたままです。この設定はネームスペース作成時のみ設定可能で、後から変更できません。 platformSetting PlatformSetting  ストアプラットフォーム設定 サポートされている各ストアプラットフォーム（Apple App Store、Google Play、テスト用Fake）の設定です。各プラットフォームでのレシート検証に必要な認証情報やキーを含みます。 depositBalanceScript ScriptSetting ウォレット残高を加算したときに実行するスクリプトの設定 Script トリガーリファレンス - deposit withdrawBalanceScript ScriptSetting ウォレット残高を消費したときに実行するスクリプトの設定 Script トリガーリファレンス - withdraw verifyReceiptScript ScriptSetting レシート検証を実行したときに実行するスクリプトの設定 Script トリガーリファレンス - verifyReceipt subscribeScript string ~ 1024文字 期間課金を新規契約するときに実行する GS2-Script スクリプトGRN(ユーザーの紐づけ変更時には呼び出されない/一度契約失効後に再度契約した場合も呼び出される) Script トリガーリファレンス - subscribe renewScript string ~ 1024文字 期間課金を更新するときに実行する GS2-Script スクリプトGRN Script トリガーリファレンス - renew unsubscribeScript string ~ 1024文字 期間課金を解約するときに実行する GS2-Script スクリプトGRN(ユーザーの紐づけ変更時には呼び出されない) Script トリガーリファレンス - unsubscribe takeOverScript ScriptSetting 期間課金に紐づけられたユーザーを変更するときに実行するスクリプトの設定 Script トリガーリファレンス - takeOver changeSubscriptionStatusNotification NotificationSetting 期間課金の契約状況が変化したときのプッシュ通知 サブスクリプションのステータスが変化した際（有効化、更新、解約、期限切れ、取り消しなど）に GS2-Gateway を通じて配信されるプッシュ通知の設定です。ゲームクライアントがサブスクリプション状態の変化にリアルタイムで対応できるようにします。 logSetting LogSetting ログの出力設定 このネームスペースに対するAPIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。入金、出金、レシート検証、サブスクリプションイベントの追跡に役立ちます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 PlatformSetting ストアプラットフォームの設定 サポートされている全ストアプラットフォームの設定を集約します。Apple App Store、Google Play、Fake（Unity Editorでのテスト用）の設定を含みます。各プラットフォーム設定にはレシート検証に必要な認証情報やキーが含まれます。  appleAppStore AppleAppStoreSetting Apple AppStore の設定 Apple App Store のレシート検証に使用する認証情報です。バンドルID、共有秘密鍵、Issuer ID、キーID、秘密鍵を含みます。 googlePlay GooglePlaySetting Google Play の設定 Google Play のレシート検証に使用する認証情報です。パッケージ名と署名検証用の公開鍵を含みます。 fake FakeSetting Fake (Unity Editor) の設定 開発・テスト中に Unity Editor が生成するフェイクレシートの受け入れに関する設定です。 AppleAppStoreSetting Apple AppStore の設定 Apple App Store のレシート検証のための設定です。Apple のレシート検証サーバーとの通信に必要な認証情報を含みます。バンドルID、共有秘密鍵、App Store Connect の Issuer ID、キーID、秘密鍵が含まれます。  bundleId string ~ 1024文字 Apple AppStore のバンドルID sharedSecretKey string ~ 1024文字 AppStore Connect で発行したレシートの暗号化に使用する共有秘密鍵 issuerId string ~ 1024文字 AppStore Connect で登録したアプリ内課金の Issuer ID keyId string ~ 1024文字 Apple に登録済みのキーID privateKeyPem string ~ 10240文字 Apple から受け取った秘密鍵 GooglePlaySetting Google Play の設定 Google Play のレシート検証のための設定です。Google Play からの購入署名を検証するために必要なパッケージ名と公開鍵を含みます。  packageName string ~ 5120文字 Google Play で配信するパッケージ名 publicKey string ~ 5120文字 署名検証に使用する暗号鍵 FakeSetting デバッグ用の偽のプラットフォームの設定 開発中に Unity Editor が生成するフェイクレシートの処理に関する設定です。フェイクレシートを受け入れるか拒否するかを制御し、実際のストアプラットフォームを使わずにアプリ内課金フローをテストできるようにします。  acceptFakeReceipt 文字列列挙型 enum {   “Accept”,   “Reject” } “Reject” Unity Editor が出力する偽のレシートで決済できるようにするか フェイクレシートの受け入れを制御します。開発・テスト中は “Accept” に設定し、本番環境では不正な通貨入金を防ぐために “Reject” に設定してください。 定義 説明 “Accept” 受け入れる “Reject” 拒否する CurrentModelMaster 現在アクティブなモデルのマスターデータ 現在ネームスペース内で有効なモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Money2 マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentModelMaster 更新された現在アクティブなモデルのマスターデータ 実装例 StoreContentModel ストアコンテンツモデル 各種ストアプラットフォームのコンテンツを格納するモデルです。  storeContentModelId string ※ ~ 1024文字 ストアコンテンツモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ストアコンテンツモデル名 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 appleAppStore AppleAppStoreContent Apple AppStore のコンテンツ このストアコンテンツの Apple App Store 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 googlePlay GooglePlayContent Google Play のコンテンツ このストアコンテンツの Google Play 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 AppleAppStoreContent Apple AppStore のコンテンツ アプリ内課金商品に対応する Apple App Store のプロダクトIDを含みます。レシート検証時の照合に使用されます。  productId string ~ 1024文字 プロダクトID このアプリ内課金アイテムについて App Store Connect に登録されている Apple App Store のプロダクト識別子です。 GooglePlayContent Google Play のコンテンツ アプリ内課金商品に対応する Google Play のプロダクトIDを含みます。レシート検証時の照合に使用されます。  productId string ~ 1024文字 プロダクトID このアプリ内課金アイテムについて Google Play Console に登録されている Google Play のプロダクト識別子です。 StoreSubscriptionContentModel ストア定期課金コンテンツモデル 各種ストアプラットフォームの定期課金コンテンツを格納するモデルです。  storeSubscriptionContentModelId string ※ ~ 1024文字 期間課金コンテンツモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ストア定期課金コンテンツモデル名 metadata string ~ 1024文字 メタデータ scheduleNamespaceId string  ~ 1024文字 サブスクリプション期間を連動させる GS2-Schedule のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN triggerName string  ~ 128文字 サブスクリプション期間を反映するトリガー名 サブスクリプションの有効期間を反映するために起動される GS2-Schedule のトリガー名です。トリガーの持続時間はサブスクリプションの有効期限に設定されます。 triggerExtendMode 文字列列挙型 enum {   “just”,   “rollupHour” } “just” サブスクリプション期間をトリガーに反映する時のモード サブスクリプションの有効期限をトリガーの持続時間にどのようにマッピングするかを制御します。“just” はサブスクリプション期間をそのまま使用します。“rollupHour” は指定した時刻（UTC）まで延長し、日中の期限切れを回避します。 定義 説明 “just” そのままサブスクリプション期間を反映 “rollupHour” 次の日跨ぎ時刻まで延長してサブスクリプション期間を反映 rollupHour int {triggerExtendMode} == “rollupHour” 0 0 ~ 23 日跨ぎの時刻 (UTC) triggerExtendMode が “rollupHour” の場合、サブスクリプション期間は有効期限日のこの時刻（0〜23、UTC）まで延長されます。ユーザーのプレイセッション中にサブスクリプションが期限切れになるのを防ぎます。 ※ triggerExtendMode が “rollupHour” であれば 有効 reallocateSpanDays int 30 0 ~ 365 サブスクリプションの契約情報を他のユーザーに割り当て可能となる期間（日） 最後の割り当てから、サブスクリプション契約を別のユーザーに再割り当てできるようになるまでの日数です。ユーザーがアカウントを変更する際の不正利用を防止するため、サブスクリプションの移行に待機期間を設けます。 appleAppStore AppleAppStoreSubscriptionContent Apple AppStore のコンテンツ このサブスクリプションコンテンツの Apple App Store のサブスクリプション情報（サブスクリプショングループID）です。 googlePlay GooglePlaySubscriptionContent Google Play のコンテンツ このサブスクリプションコンテンツの Google Play のサブスクリプション情報（プロダクトID）です。 AppleAppStoreSubscriptionContent Apple AppStore の期間課金コンテンツ サブスクリプションベースの商品の Apple App Store サブスクリプショングループ識別子を含みます。自動更新サブスクリプションの管理と検証に使用されます。  subscriptionGroupIdentifier string ~ 64文字 サブスクリプショングループID App Store Connect に登録されたサブスクリプショングループ識別子です。同じグループ内のサブスクリプションは相互排他的で、ユーザーは同時に1つしか契約できません。 GooglePlaySubscriptionContent Google Play の期間課金コンテンツ サブスクリプションベースの商品の Google Play プロダクトIDを含みます。Google Play での自動更新サブスクリプションの管理と検証に使用されます。  productId string ~ 1024文字 プロダクトID","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Money2 Deploy/CDK リファレンス","url":"/ja/api_reference/money2/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスのログを GS2-Log に出力するための設定。 設定すると、ニュース操作（記事取得、コンテンツ生成、Cookie 発行など）がモニタリングと分析のためにログ出力されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-News Deploy/CDK リファレンス","url":"/ja/api_reference/news/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 クエスト報酬の付与時のトランザクションの処理方法を制御する設定です。 startQuestScript ScriptSetting クエスト開始したときに実行するスクリプトの設定 Script トリガーリファレンス - startQuest completeQuestScript ScriptSetting クエストクリアしたときに実行するスクリプトの設定 Script トリガーリファレンス - completeQuest failedQuestScript ScriptSetting クエスト失敗したときに実行するスクリプトの設定 Script トリガーリファレンス - failedQuest logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。クエストの開始・クリア・失敗イベントの追跡に使用されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentQuestMaster 現在アクティブなクエストモデルのマスターデータ 現在ネームスペース内で有効な、クエストのモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Quest マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentQuestMaster 更新された現在アクティブなクエストモデルのマスターデータ 実装例 QuestGroupModel クエストグループモデル クエストグループは複数のクエストをグルーピングするためのエンティティで、クエストの進行はグループ内で同時に1つしか実行できません。 つまり、並列でクエストを進行できるようにする必要がある場合はグループを分ける必要があります。  questGroupModelId string ※ ~ 1024文字 クエストグループ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 quests List [] 0 ~ 1000 items グループに属するクエスト このクエストグループに属するクエストモデルのリストです。グループ内では同時に1つのクエストのみ進行できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このグループ内のクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。 QuestModel クエストモデル クエストモデルはインゲームの開始に必要な対価とクリアしたときに得られる報酬を保持するエンティティです。 クリアしたときに得られる報酬は複数のバリエーションを用意でき、クエスト開始時に抽選することができます。 例えば、クエスト自体は同じでも、レアモンスターの出現有無によって2種類のコンテンツバリエーションを作成できます。  questModelId string ※ ~ 1024文字 クエストモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 クエストモデル名 クエストモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 contents List [] 1 ~ 10 items クエストの内容 このクエストのコンテンツバリエーションのリストです。クエスト開始時に重み付き抽選で1つのバリエーションが選択されます。各バリエーションに異なるクリア報酬を定義でき、同じクエストでも異なる結果（例：レアモンスターの出現）を実現できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。この設定はクエストグループの挑戦可能期間より優先されます。 firstCompleteAcquireActions List [] 0 ~ 10 items 初回クリア報酬入手アクションリスト このクエストの初回クリア時にのみ実行される入手アクションのリストです。通常のクリア報酬に加えて付与されるボーナス報酬で、初回クリアボーナスの実現に使用します。 verifyActions List [] 0 ~ 10 items 検証アクションリスト このクエストを開始するための前提条件となる検証アクションのリストです。すべての検証アクションが成功しないとクエストを開始できません。レベル確認やアイテム所持などの要件の強制に使用します。 consumeActions List [] 0 ~ 10 items 消費アクションリスト このクエストの開始コストとして実行される消費アクションです。スタミナや通貨などのコストがクエスト開始時に消費されます。 failedAcquireActions List [] 0 ~ 100 items 失敗時入手アクションリスト クエスト失敗時に実行される入手アクションです。失敗時の慰労報酬やクエスト参加コストの一部返還などに使用します。 premiseQuestNames List [] 0 ~ 10 items 前提クエスト名リスト このクエストに挑戦する前にクリアが必要な同グループ内のクエスト名のリストです。連続するクエストチェーンや分岐するクエストパスの作成に使用します。 Contents コンテンツ クエストコンテンツの1つのバリエーションを表します。各クエストは異なる報酬を持つ複数のコンテンツバリエーションを持つことができ、クエスト開始時に重み付き抽選で1つが選択されます。メタデータはユーザーIDやコンフィグ値によるテンプレート変数の置換をサポートします。  metadata string ~ 256文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 completeAcquireActions List [] 0 ~ 10 items クリア報酬入手アクション このコンテンツバリエーションでクエストをクリアした際に実行される入手アクションです。プレイヤーがクエストクリア時に受け取る実際の報酬を定義します。 weight int 1 1 ~ 2147483646 抽選の重み クエスト開始時のコンテンツバリエーション抽選で使用される相対的な重みです。値が大きいほどこのバリエーションが選択される確率が高くなります。例えば、重み9のバリエーションは重み1のバリエーションの9倍選択されやすくなります。 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 ConsumeAction 消費アクション  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Quest Deploy/CDK リファレンス","url":"/ja/api_reference/quest/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 ランキング操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログ出力設定 ランキング関連の操作ログを GS2-Log に出力するための設定。 設定すると、スコア登録、ランキング取得、購読変更などのアクションが分析や監査のために記録されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentRankingMaster 現在アクティブなランキングモデルのマスターデータ 現在ネームスペース内で有効な、ランキングのモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Ranking マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentRankingMaster 更新された現在アクティブなランキングモデルのマスターデータ 実装例 CategoryModel カテゴリーモデル カテゴリー毎に異なるランキングを作成できます。 カテゴリーには登録できるスコアの最小値・最大値を設定でき、その範囲外のスコアは破棄されます。 ランキングを集計する際にスコアを小さいものを上位（昇順）にするか、大きいものを上位（降順）にするかを設定できます。 ランキングの種類として グローバル と スコープ を選択できます。 グローバルは全プレイヤーが同じ結果を参照するもので、スコープはフレンド内ランキングや、ギルド内ランキングのようなゲームプレイヤー毎に結果の異なるランキングです。 グローバルランキングはカテゴリーごとにランキングの集計間隔を15分～24時間で設定できます。 スコープランキングはリアルタイムで集計結果が反映されます。 ランキングデータには世代という設定があり、世代を変更することで登録されたスコアをリセットすることができます。  categoryModelId string ※ ~ 1024文字 カテゴリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 このカテゴリーに登録できるスコアの最小値。 この閾値を下回るスコアは登録時に拒否されます。未設定の場合、下限はありません。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 このカテゴリーに登録できるスコアの最大値。 この閾値を上回るスコアは登録時に拒否されます。未設定の場合、上限はありません。 sum bool false 合算モード 有効にすると、新しく登録されたスコアは既存のスコアを置き換えるのではなく、合計に加算されます。 ランキングは蓄積された合計値に基づいて計算されます。無効の場合、各スコア登録は独立したエントリとして扱われます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキング集計のソート順を決定します。 “asc”（昇順）は低いスコアを上位とし、タイムベースやゴルフ式のランキングに適しています。 “desc”（降順）は高いスコアを上位とし、ポイントベースやハイスコアランキングに適しています。 定義 説明 “asc” 昇順 “desc” 降順 scope 文字列列挙型 enum {   “global”,   “scoped” }  ランキングの種類 このカテゴリーのランキングタイプ。 “global” は全プレイヤーが共有する単一のリーダーボードを作成し、設定された間隔でバッチ集計されます。 “scoped” は購読したプレイヤー（フレンドやギルドメンバー等）に基づくユーザーごとのリーダーボードを作成し、スコアがリアルタイムで反映されます。 定義 説明 “global” グローバル “scoped” スコープ globalRankingSetting GlobalRankingSetting {scope} == “global” ※ グローバルランキング設定 グローバルランキングモード固有の設定。集計間隔、固定時刻、スコアのユニーク性、世代管理、および追加の期間限定スコープを含みます。 scope が “global” に設定されている場合のみ適用されます。 ※ scope が “global” であれば 必須 entryPeriodEventId string ~ 1024文字 スコア登録期間イベントID スコア登録を受け付ける期間を定義する GS2-Schedule イベントの GRN。 この期間外のスコア登録リクエストは拒否されます。未設定の場合、スコアはいつでも登録できます。 accessPeriodEventId string ~ 1024文字 アクセス期間イベントID ランキングデータを閲覧できる期間を定義する GS2-Schedule イベントの GRN。 この期間外のランキング取得リクエストは拒否されます。未設定の場合、ランキングはいつでもアクセスできます。 Scope 集計スコープ グローバルランキングモードにおける追加の期間限定集計スコープを定義します。 通常、グローバルランキングは登録されたスコア全てを対象に集計が行われます。 スコープを追加することで、指定した日数以内に登録されたスコアのみを対象とする別ランキングを作成でき、全期間ランキングと併せてデイリー・ウィークリー・マンスリーなどのリーダーボードを実現できます。  name string  ~ 128文字 スコープ名 カテゴリー内でこの集計スコープを一意に識別する名前。 複数の期間限定ランキングボードを区別するために使用されます（例: “daily”, “weekly”）。最大128文字。 targetDays long  1 ~ 365 集計対象日数 集計ウィンドウに含める日数。 現在時刻からこの日数以内に登録されたスコアのみがスコープランキングの対象となります。範囲: 1～365日。 GlobalRankingSetting グローバルランキング設定 グローバルは全プレイヤーが同じ結果を参照するものです。 ランキングの集計間隔を15分～24時間で設定できます。 ランキングデータには世代という設定があり、世代を変更することで登録されたスコアをリセットすることができます。  uniqueByUserId bool true ユーザーID毎にユニーク 有効にすると、ランキング内でユーザーIDごとに1つのスコアのみ保持されます。 ユーザーが新しいスコアを登録すると、ソート方向に基づいてより良いスコアに置き換えられます。 無効にすると、同一ユーザーから複数のスコアエントリが許可され、合算モードや複数エントリによる競争が可能になります。 calculateIntervalMinutes int  15 ~ 1440 集計間隔（分） 連続するランキング再集計の間隔（分）。 システムはこの間隔で、登録された全スコアに基づいてグローバルランキングを定期的に再集計します。 範囲: 15～1440分（15分～24時間）。 calculateFixedTiming FixedTiming 集計時刻固定設定 ランキング再集計が開始される1日の固定時刻（UTC）を指定します。 未設定の場合、再集計は不定の基準時刻から定期間隔で実行されます。 これを設定することで、毎日予測可能で一貫した時刻に再集計が行われるようになります。 additionalScopes List 0 ~ 10 items 追加スコープリスト 追加の期間限定集計スコープのリスト。 各スコープは指定した日数以内に登録されたスコアのみを対象とする別ランキングを定義します。 全期間のグローバルランキングと併せて、デイリー・ウィークリー・マンスリーなどのリーダーボードを作成できます。最大10件。 ignoreUserIds List 0 ~ 10000 items 除外ユーザーIDリスト ランキング集計からスコアを除外するユーザーIDのリスト。 テストアカウント、管理者アカウント、または既知の不正ユーザーをリーダーボードから除外するのに使用します。最大10,000件。 generation string ~ 256文字 世代 現在のランキング世代を表す任意の文字列。 この値を変更すると、前の世代のスコアはランキング集計に含まれなくなるため、実質的にスコアがリセットされます。 シーズン制リセットや定期的なランキングリセットの実装に使用します。最大256文字。 FixedTiming 集計時刻固定設定 グローバルランキングの集計が開始される固定時刻を指定します。 この設定がない場合、ランキング集計は不定の基準時刻から定期間隔で実行されます。 固定の時・分を指定することで、毎日の集計開始時刻（UTC）を予測可能にでき、深夜0時や特定の時刻に集計を開始するよう制御できます。  hour int 0 ~ 23 時 ランキング集計が開始される時刻の時（UTC）。 0～23 の整数で指定します。 minute int 0 ~ 59 分 指定した時刻の分。 0～59 の整数で指定します。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Ranking Deploy/CDK リファレンス","url":"/ja/api_reference/ranking/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 ランキング報酬の付与に使用される分散トランザクションの設定です。入手アクションを自動実行するオートラン、全体の成否を保証するアトミックコミットをサポートします。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。スコア登録やランキング報酬配布の追跡に使用されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentRankingMaster 現在アクティブなランキングモデルのマスターデータ 現在ネームスペース内で有効な、ランキングモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Ranking2 マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentRankingMaster 更新された現在アクティブなランキングモデルのマスターデータ 実装例 GlobalRankingModel グローバルランキングモデル グローバルランキングは全てのプレイヤーを対象としたランキングを実現するためのモデルです。 上位1000位までのランキングを表示することができます。 GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。  globalRankingModelId string ※ ~ 1024文字 グローバルランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。無効または意図しないスコア値のフィルタリングに使用します。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。異常に高いスコアの登録防止に使用します。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、ソート方向に応じた最良のスコア（最高値または最低値）のみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合（例：タイムアタック）は「昇順」、高いスコアほど上位の場合（例：ハイスコア）は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、繰り返しサイクルごとにランキングがリセットされ、シーズン制ランキングを実現できます。 rankingRewards List {entryPeriodEventId} != null [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。各報酬は順位閾値と実行する入手アクションを定義します。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧と報酬の受け取りが可能な期間を定義する GS2-Schedule のイベントGRNです。通常、スコア登録期間の間のインターバルに設定します。 rewardCalculationIndex 文字列列挙型 enum {   “rank”,   “index” } “rank” 報酬計算インデックス 報酬をプレイヤーに対応付ける方法を決定します。「順位ベース」は1始まりのランキング順位を使用し（同スコアのプレイヤーは同じ順位を共有）、「インデックスベース」は0始まりの一意のソート位置を使用します（同順位なし）。通常のユースケースでは「順位ベース」を選択してください。 定義 説明 “rank” 順位ベースで報酬を決定 “index” インデックスベースで報酬を決定 RankingReward ランキング報酬 スコアの登録期間が設定されたランキングで、登録期間外で参照期間内の時に受け取れる報酬を設定します。 繰り返し設定が有効な場合、直近に期間を終えたランキングが報酬の受け取り対象となります。  thresholdRank int  1 ~ 1001 順位閾値 この報酬ティアの順位閾値です。順位（またはインデックス、rewardCalculationIndex の設定に依存）がこの閾値以上のプレイヤーがこの報酬を受け取ります。1001に設定すると、ランク外（上位1000位外）のプレイヤー向けの報酬を定義できます。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト プレイヤーがこのランキング報酬を受け取る際に実行される入手アクションのリストです。この順位閾値を達成した報酬として付与されるアイテム、通貨、その他のリソースを定義します。 ClusterRankingModel クラスターランキングモデル クラスターランキングはギルドやギャザリング内のプレイヤーを対象としたランキングを実現するためのモデルです。 上位1000位までのランキングを表示することができます。 GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。  clusterRankingModelId string ※ ~ 1024文字 クラスターランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 clusterType 文字列列挙型 enum {   “Raw”,   “Gs2Guild::Guild”,   “Gs2Matchmaking::SeasonGathering” }  クラスタータイプ ランキングのセグメンテーションに使用するグループ（クラスター）の種類を定義します。「Raw」は所属検証なしで任意のクラスター名を指定でき、「Gs2Guild::Guild」はGS2-Guildギルドへの所属を検証し、「Gs2Matchmaking::SeasonGathering」はGS2-Matchmakingシーズンギャザリングへの所属を検証します。 定義 説明 “Raw” 検証なし “Gs2Guild::Guild” GS2-Guild ギルド “Gs2Matchmaking::SeasonGathering” GS2-Matchmaking シーズンギャザリング minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、最良のスコアのみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合は「昇順」、高いスコアほど上位の場合は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、シーズン制ランキングを実現できます。 rankingRewards List {entryPeriodEventId} != null [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧と報酬の受け取りが可能な期間を定義する GS2-Schedule のイベントGRNです。 rewardCalculationIndex 文字列列挙型 enum {   “rank”,   “index” } “rank” 報酬計算インデックス 報酬をプレイヤーに対応付ける方法を決定します。「順位ベース」は1始まりのランキング順位（同スコアは同順位）、「インデックスベース」は0始まりの一意のソート位置（同順位なし）を使用します。 定義 説明 “rank” 順位ベースで報酬を決定 “index” インデックスベースで報酬を決定 SubscribeRankingModel 購読ランキングモデル 購読した他プレイヤーのスコアを集計し、ランキングを作成するモデルです。  subscribeRankingModelId string ※ ~ 1024文字 購読ランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、最良のスコアのみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合は「昇順」、高いスコアほど上位の場合は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、シーズン制ランキングを実現できます。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧が可能な期間を定義する GS2-Schedule のイベントGRNです。 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Ranking2 Deploy/CDK リファレンス","url":"/ja/api_reference/ranking2/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 リアルタイム操作時のトランザクションの処理方法を制御する設定です。 serverType 文字列列挙型 enum {   “relay” }  サーバの種類 リアルタイム通信のためにプロビジョニングするゲームサーバーのタイプ。 現在は “relay” モードをサポートしており、接続されたゲームクライアント間でメッセージを転送するパケットリレーサーバーを提供します。 定義 説明 “relay” パケットリレー serverSpec 文字列列挙型 enum {   “realtime1.nano” }  サーバのスペック プロビジョニングされるゲームサーバーのハードウェアスペックティア。 各ルームのサーバーインスタンスに割り当てられるコンピューティングリソース（CPU、メモリ）を決定します。現在 “realtime1.nano” をサポートしています。 定義 説明 “realtime1.nano” realtime1.nano createNotification NotificationSetting ルーム作成完了通知 ルームのプロビジョニングが完了し、接続可能になったときにトリガーされるプッシュ通知設定。 ルーム作成は非同期で行われ（IPアドレス、ポート、暗号鍵は少し遅れて割り当てられる）、この通知によりクライアントにルームが接続受付可能になったことを通知します。 logSetting LogSetting ログ出力設定 リアルタイム関連の操作ログを GS2-Log に出力するための設定。 設定すると、ルーム作成、接続イベント、メッセージリレーのアクティビティなどが分析やデバッグのために記録されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN NotificationSetting プッシュ通知に関する設定 GS2 のマイクロサービス内で何らかのイベントが発生した際に、プッシュ通知を送信するための設定です。 ここでいうプッシュ通知は GS2-Gateway の提供する WebSocket インターフェースを経由した処理であり、スマートフォンのプッシュ通知とは性質が異なります。 たとえば、マッチメイキングが完了した時やフレンドリクエストが届いた時など、ゲームクライアントの操作とは関係なく状態が変化した際に GS2-Gateway を経由してプッシュ通知をすることで、ゲームクライアントは状態の変化を検知することができます。 GS2-Gateway のプッシュ通知は通知先のデバイスがオフラインだった時に追加の処理としてモバイルプッシュ通知を送信できます。 モバイルプッシュ通知をうまく利用すれば、マッチメイキング中にゲームを終了しても、モバイルプッシュ通知を使用してプレイヤーに通知し、ゲームに戻ってくるフローを実現できる可能性があります。  gatewayNamespaceId string “grn:gs2:{region}:{ownerId}:gateway:default” ~ 1024文字 プッシュ通知に使用する GS2-Gateway のネームスペース 「grn:gs2:」から始まる GRN 形式で GS2-Gateway のネームスペースIDを指定します。 enableTransferMobileNotification bool? false モバイルプッシュ通知へ転送するか この通知を送信しようとした時、通知先のデバイスがオフラインだった場合、モバイルプッシュ通知へ転送するかどうかを指定します。 sound string {enableTransferMobileNotification} == true ~ 1024文字 モバイルプッシュ通知で使用するサウンドファイル名 ここで指定したサウンドファイル名は、モバイルプッシュ通知を送信する際に使用され、特別なサウンドで通知を出すことができます。 ※ enableTransferMobileNotification が true であれば 有効 enable 文字列列挙型 enum {   “Enabled”,   “Disabled” } “Enabled” プッシュ通知を有効にするか 定義 説明 “Enabled” 有効 “Disabled” 無効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Realtime Deploy/CDK リファレンス","url":"/ja/api_reference/realtime/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 スケジュール操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログ出力設定 スケジュール関連の操作ログを GS2-Log に出力するための設定。 設定すると、イベントクエリ、トリガー発動、トリガー削除などのアクションが分析や監査のために記録されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentEventMaster 現在アクティブなイベントのマスターデータ 現在ネームスペース内で有効な、イベントの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Schedule マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentEventMaster 更新された現在アクティブなイベントのマスターデータ 実装例 Event イベント イベントの期間は絶対期間と相対期間の2種類存在します。 絶対期間は 例えば YYYY年MM月DD日 00:00(UTC) ～ YYYY年MM月DD日 23:59(UTC) のような固定の期間で、 相対期間は トリガーを引いたタイミングから 24時間 のようなゲームプレイヤー毎に異なる期間をイベント期間とするものです。 イベントには開催期間だけでなく、繰り返しが設定できるようになっており イベント期間のうち、月曜日の 10:00 ～ 11:00 だけをイベント期間とするような設定も可能です。  eventId string ※ ~ 1024文字 GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scheduleType 文字列列挙型 enum {   “absolute”,   “relative” }  スケジュールタイプ イベント期間の定義方法を決定します。 “absolute” は全プレイヤー共通の固定開始・終了タイムスタンプを使用します。 “relative” はプレイヤーごとのトリガーを起点として使用し、パーソナライズされたイベント期間を実現します（例: 各プレイヤーの初回ログインから24時間）。 定義 説明 “absolute” 固定期間 “relative” プレイヤー毎に異なる期間 absoluteBegin long 絶対開始日時 絶対スケジューリングにおけるイベント期間の固定開始時刻。 全プレイヤーが同じ開始時刻を共有します。絶対イベントで未設定の場合、イベントは過去から開始されているものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 absoluteEnd long 絶対終了日時 絶対スケジューリングにおけるイベント期間の固定終了時刻。 全プレイヤーが同じ終了時刻を共有します。絶対イベントで未設定の場合、イベントは終了しないものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 relativeTriggerName string {scheduleType} == “relative” ※ ~ 128文字 イベント開始トリガー名 ゲームプレイヤー毎にイベント期間を設定する ( relative ) 場合に、イベントの開始の起点とするトリガーの名前を指定します。 英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ※ scheduleType が “relative” であれば 必須 repeatSetting RepeatSetting  繰り返し設定 イベント期間内の繰り返し有効時間枠の設定。 アクティブ期間を特定の時間帯、曜日、月の日付、またはカスタムのアクティブ/インアクティブ日サイクルに絞り込むことができます。 繰り返しパターンなしでイベント期間全体を通してアクティブにするには repeatType を “always” に設定します。 RepeatSetting 繰り返し設定 イベント全体期間内の繰り返し有効時間枠を設定します。 5種類の繰り返しタイプをサポートします: “always”（イベント期間全体）、“daily”（毎日の特定時間帯）、“weekly”（毎週の特定曜日範囲＋時間帯）、 “monthly”（毎月の特定日範囲＋時間帯）、“custom”（基準日からのアクティブ/インアクティブ日数の交互サイクル）。 daily/weekly/monthly タイプで beginHour と endHour が同じ場合、終了時刻は翌日の同時刻として扱われます（つまり24時間フルウィンドウ）。  repeatType 文字列列挙型 enum {   “always”,   “daily”,   “weekly”,   “monthly”,   “custom” } “always” 繰り返しの種類 イベント期間内に適用する繰り返しパターンのタイプ。 タイプによって必要な追加フィールドが異なります: daily/weekly/monthly は時間設定、weekly は曜日、monthly は日付、custom は基準日と日数が必要です。 未指定の場合は “always” がデフォルトとなります。 定義 説明 “always” イベント期間中 常時有効 “daily” イベント期間のうち 毎日X時～X時 “weekly” イベント期間のうち 毎週 開始曜日～終了曜日 X時～X時 “monthly” イベント期間のうち 毎月 開始日～終了日 X時～X時 “custom” 基準日から始まり、イベント期間中、X日アクティブ、Y日インアクティブを繰り返す beginDayOfMonth int {repeatType} == “monthly” ※ 1 ~ 31 繰り返し開始日 繰り返しウィンドウが開始する月の日（1～31）。 指定した値がその月の日数を超える場合、その月の最終日として扱われます。 repeatType が “monthly” の場合のみ適用されます。 ※ repeatType が “monthly” であれば 必須 endDayOfMonth int {repeatType} == “monthly” ※ 1 ~ 31 繰り返し終了日 繰り返しウィンドウが終了する月の日（1～31）。 指定した値がその月の日数を超える場合、その月の最終日として扱われます。 repeatType が “monthly” の場合のみ適用されます。 ※ repeatType が “monthly” であれば 必須 beginDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {repeatType} == “weekly” ※ 繰り返し開始曜日 繰り返しウィンドウが開始する曜日。 ウィンドウは週の境界をまたぐことができます（例: 金曜日～月曜日）。repeatType が “weekly” の場合のみ適用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ repeatType が “weekly” であれば 必須 endDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {repeatType} == “weekly” ※ 繰り返し終了曜日 繰り返しウィンドウが終了する曜日。 beginDayOfWeek と組み合わせて週間アクティブ期間を定義します。repeatType が “weekly” の場合のみ適用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ repeatType が “weekly” であれば 必須 beginHour int {repeatType} in [“daily”, “weekly”, “monthly”] ※ 0 ~ 23 繰り返し開始時（時） 各サイクルで繰り返しウィンドウが開始する時刻（UTC、0～23）。 daily、weekly、monthly の繰り返しタイプで必須です。beginHour と endHour が同じ場合、ウィンドウは24時間（翌日の同時刻まで）となります。 ※ repeatType が “daily”,“weekly”,“monthly\"であれば 必須 endHour int {repeatType} in [“daily”, “weekly”, “monthly”] ※ 0 ~ 24 繰り返し終了時（時） 各サイクルで繰り返しウィンドウが終了する時刻（UTC、0～24）。 24 を指定すると翌日の深夜0時を表します。daily、weekly、monthly の繰り返しタイプで必須です。 ※ repeatType が “daily”,“weekly”,“monthly\"であれば 必須 anchorTimestamp long {repeatType} == “custom” ※ 基準タイムスタンプ カスタムのアクティブ/インアクティブサイクルが開始する基準日。 システムはこの基準日からの経過日数に基づいて、現在時刻がどのフェーズ（アクティブまたはインアクティブ）にあるかを計算します。 repeatType が “custom” の場合のみ適用されます。UNIX 時間（ミリ秒）で表現します。 ※ repeatType が “custom” であれば 必須 activeDays int {repeatType} == “custom” ※ 1 ~ 2147483646 アクティブ日数 カスタムサイクルの各周期でイベントがアクティブとなる連続日数。 アクティブ日数の後、inactiveDays で指定された日数だけイベントが非アクティブとなり、サイクルが繰り返されます。 repeatType が “custom” の場合のみ適用されます。最小1日。 ※ repeatType が “custom” であれば 必須 inactiveDays int {repeatType} == “custom” ※ 0 ~ 2147483646 インアクティブ日数 カスタムサイクルの各周期でイベントが非アクティブとなる連続日数。 アクティブ日数の後に続きます。ギャップなしの連続アクティブイベントにするには 0 を設定します。 repeatType が “custom” の場合のみ適用されます。最小0日。 ※ repeatType が “custom” であれば 必須","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Schedule Deploy/CDK リファレンス","url":"/ja/api_reference/schedule/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 スクリプトがトランザクションアクションを返す際に使用される分散トランザクションの設定です。 logSetting LogSetting ログの出力設定 APIリクエスト・レスポンスログの出力先となる GS2-Log のネームスペースを指定します。スクリプトの呼び出しとその結果の追跡に使用されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 Script スクリプト GS2 では標準の機能だけで機能を実現できない時のためにスクリプトで機能を拡張できるようになっています。 スクリプトは Lua 言語で記述することができます。 スクリプト内から GS2 のサービスのデータを取得することもできますので、柔軟な処理を記述できます。 詳細はドキュメントを参照してください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 name string  ~ 128文字 スクリプト名 スクリプト固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 script string  ~ 5242880文字 Luaスクリプト disableStringNumberToNumber bool false 数値のみで構成された文字列を数値に変換しない GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Script 作成したスクリプト 実装例","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Script Deploy/CDK リファレンス","url":"/ja/api_reference/script/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 シーズンレーティング結果の適用時に使用されるトランザクション処理の設定。 logSetting LogSetting ログ出力設定 投票用紙の発行、投票の提出、レーティング計算などのシーズンレーティング操作のログ出力設定。 設定した場合、操作ログが指定した GS2-Log ネームスペースに出力されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAtomicCommit bool false トランザクションの実行をアトミックにコミットするか transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentSeasonModelMaster 現在アクティブなシーズンモデルのマスターデータ 現在ネームスペース内で有効な、シーズンモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-SeasonRating マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentSeasonModelMaster 更新された現在アクティブなシーズンモデルのマスターデータ 実装例 SeasonModel シーズンモデル シーズン期間中に適用されるティアー構造とポイント変動ルールを定義するマスターデータです。 各ティアーごとのポイント変動範囲・参加料・ランクアップボーナスを設定し、ポイント管理に使用する Experience モデルを指定します。 実際のポイントおよびティアーのユーザーデータは GS2-Experience によって管理されます。  seasonModelId string ※ ~ 1024文字 シーズンモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 tiers List  1 ~ 100 items ティアーモデルのリスト シーズンのランキングラダーを構成するティアー定義の順序付きリスト。 各ティアーは独自のポイント変動ルール（参加料、最小/最大変動量、昇格ボーナス）を定義します。 プレイヤーは GS2-Experience で管理される累積ポイントに基づいてティアーを進行します。 最小1ティアー、最大100ティアー。 experienceModelId string  ~ 1024文字 経験値モデルID シーズンポイントとティアー進行の管理に使用する GS2-Experience 経験値モデルの GRN。 経験値モデルのランク閾値がティアー境界を決定し、経験値がプレイヤーの現在のシーズンポイントを表します。 対戦結果によるポイント変動はこの経験値モデルに適用されます。 challengePeriodEventId string ~ 1024文字 チャレンジ期間イベントID シーズンが対戦可能な期間を定義する GS2-Schedule イベントの GRN。 設定した場合、参照先のイベントがアクティブな間のみプレイヤーは対戦に参加できます。 未設定の場合、シーズンに期間制限はありません。 TierModel ティアーモデル ティアーモデルは、シーズン内の各ティアーにおけるポイント変動ルールを定義するモデルです。 順位に応じたポイント変動範囲、参加料、昇格時ボーナスを設定します。 ポイントの実データは GS2-Experience によって管理されますが、その増減ロジックは TierModel の設定に基づいて決定されます。  metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 raiseRankBonus int  0 ~ 10000 ランク昇格ボーナス プレイヤーがこのティアーに昇格した際に加算されるボーナスポイントで、即座の降格を防ぐバッファとして機能します。 例えば 100 に設定すると、昇格閾値より100ポイント多い状態で新ティアーを開始します。 有効範囲: 0〜10000。 entryFee int  0 ~ 10000 参加料 対戦開始前にプレイヤーから差し引かれる参加コストとしてのポイント。 この参加料は対戦結果に関わらず常に減算され、対戦プレイにリスク要素を生み出します。 有効範囲: 0〜10000。 minimumChangePoint int  -99999999 ~ -1 最小変動ポイント 1回の対戦結果で発生しうる最小（最も負の）ポイント変動量で、通常は最悪の敗北時の値を表します。 負の値である必要があります。敗北プレイヤーの実際のポイント変動はこの値と0の間になります。 有効範囲: -99999999〜-1。 maximumChangePoint int  1 ~ 99999999 最大変動ポイント 1回の対戦結果で発生しうる最大（最も正の）ポイント変動量で、通常は最高の勝利時の値を表します。 正の値である必要があります。勝利プレイヤーの実際のポイント変動は0とこの値の間になります。 有効範囲: 1〜99999999。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-SeasonRating Deploy/CDK リファレンス","url":"/ja/api_reference/season_rating/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 シリアルキー操作時のトランザクションの処理方法を制御する設定です。 logSetting LogSetting ログの出力設定 シリアルコードの発行・使用に関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用されるログネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースIDは、ログデータを集約し、保存する対象の GS2-Log のネームスペースを指定します。 この設定を通じて、このネームスペース以下のAPIリクエスト・レスポンスログデータが対象の GS2-Log へ出力されるようになります。 GS2-Log にはリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentCampaignMaster 現在アクティブなキャンペーンモデルのマスターデータ 現在ネームスペース内で有効な、キャンペーンモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-SerialKey マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentCampaignMaster 更新された現在アクティブなキャンペーンモデルのマスターデータ 実装例 CampaignModel キャンペーンモデル キャンペーンモデルはキャンペーンを定義し、シリアルコードと紐づけて管理するために使用されます。  campaignId string ※ ~ 1024文字 キャンペーンモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 キャンペーンモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 enableCampaignCode bool false キャンペーンコードによる引き換えを許可するか 有効にすると、個別のシリアルコードではなく共通のキャンペーンコード（キャンペーン名）を使って報酬を引き換えられるようになります。これにより、1つのコードを複数のユーザーが使用できます。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-SerialKey Deploy/CDK リファレンス","url":"/ja/api_reference/serial_key/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 陳列棚操作時のトランザクションの処理方法を制御する設定です。 buyScript ScriptSetting 購入を実行しようとしたときに実行するスクリプトの設定 Script トリガーリファレンス - buy logSetting LogSetting ログの出力設定 陳列棚の閲覧や商品購入に関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentShowcaseMaster 現在アクティブな陳列棚モデルのマスターデータ 現在ネームスペース内で有効な、陳列棚モデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Showcase マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentShowcaseMaster 更新された現在アクティブな陳列棚のマスターデータ 実装例 Showcase 陳列棚 陳列棚 には陳列する商品を定義できます。 また、 陳列棚 の商品の販売期間を設定することができます。  showcaseId string ※ ~ 1024文字 陳列棚 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 salesPeriodEventId string ~ 1024文字 陳列棚の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN この陳列棚全体の販売期間を制御します。指定した場合、関連する GS2-Schedule のイベント期間中のみ陳列棚が利用可能になります。イベントが有効でない場合、陳列棚は空で返されます。 displayItems List [] 1 ~ 1000 items 陳列する商品リスト この陳列棚に陳列される商品のリストです。各陳列商品は単一の商品または商品グループのいずれかです。販売期間イベントが終了または無効な商品は、陳列棚の取得時に自動的にフィルタリングされます。 DisplayItem 陳列する商品 陳列棚に表示される商品です。単一の商品または商品グループのいずれかを参照できます。各陳列商品には、陳列棚全体の販売期間とは独立して GS2-Schedule イベントによる個別の販売期間を設定できます。  displayItemId string  UUID ~ 128文字 陳列商品ID 陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 type 文字列列挙型 enum {   “salesItem”,   “salesItemGroup” }  種類 表示する商品の種類です。「salesItem」は固定の対価と報酬を持つ単一商品です。「salesItemGroup」は複数の商品を順番に評価する商品グループで、ステップアップ価格や初回限定割引などに使用されます。 定義 説明 “salesItem” 商品 “salesItemGroup” 商品グループ salesItem SalesItem {type} == “salesItem” ※ 商品 ※ type が “salesItem” であれば 必須 salesItemGroup SalesItemGroup {type} == “salesItemGroup” ※ 商品グループ ※ type が “salesItemGroup” であれば 必須 salesPeriodEventId string ~ 1024文字 この陳列商品の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN この個別の陳列商品の販売期間を制御します。指定した場合、関連する GS2-Schedule のイベント期間中のみ陳列棚に表示されます。陳列棚全体の販売期間とは独立して動作します。 SalesItem 商品 商品を購入するために必要となる対価と、商品を購入したときに得られる報酬を設定します。  name string  ~ 128文字 商品名 商品固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト 購入前に実行される前提条件チェックです。すべての検証アクションが成功した後に消費・入手アクションが処理されます。購入資格の条件チェックに使用できます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト 購入対価としてリソースを消費するアクションです。商品グループの購入回数制御のために GS2-Limit の CountUp アクションを含めることができます。 acquireActions List [] 1 ~ 100 items 入手アクションリスト 購入報酬としてリソースを付与するアクションです。すべての消費アクションが正常に完了した後に実行されます。 SalesItemGroup 商品グループ 商品グループは陳列棚に陳列するためのエンティティです。 商品グループには複数の商品を所属させることができ、所属している商品の先頭から順番に購入可能かを判定し、一番最初に購入可能だと判定された商品が実際に陳列されます。 初回のみ割引する商品や、ステップアップガチャのように購入回数によって商品の内容が変化する仕組みに使用できます。  name string  ~ 128文字 商品グループ名 商品グループ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 salesItems List [] 2 ~ 10 items 商品グループに含める商品 このグループ内の商品の順序付きリストです。GS2-Limit カウンターを使って先頭から順に購入可能かを判定し、最初に購入可能と判定された商品が表示されます。いずれも該当しない場合、リストの最後の商品がフォールバックとして使用されます。 RandomShowcase ランダム陳列棚 ランダム陳列棚は、指定した周期で入れ替わるランダムに選別された商品が陳列される陳列棚のモデルです。 選別される商品は、商品プールに登録された商品から指定数量が、商品ごとに設定された重みに基づいてランダムに選択されます。 ランダム陳列棚には GS2-Schedule のイベントを関連づけることで、販売期間を設定することができます。  randomShowcaseId string ※ ~ 1024文字 ランダム陳列棚 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumNumberOfChoice int  1 ~ 100 選出される商品の最大数 各ローテーション期間に商品プールからランダムに抽選される商品の数です。重み付きランダム選択で重複なく抽選されるため、1回のローテーションで同じ商品が2回表示されることはありません。 displayItems List [] 1 ~ 100 items 選出対象の陳列商品リスト 商品がランダムに抽選される候補アイテムのプールです。各アイテムには選択確率を決定する重みと、ローテーション全体で表示可能な回数を制限する在庫数があります。 baseTimestamp long  陳列する商品を再抽選の基準時間 ローテーション境界の計算に使用される基準タイムスタンプです。この基準時間から一定間隔（resetIntervalHours）ごとに商品の再抽選が行われます。過去の時刻を指定する必要があります。 resetIntervalHours int  1 ~ 168 陳列する商品を再抽選する間隔（時） 各商品ローテーション間の時間数です。baseTimestamp を基準として間隔が経過すると、新しい乱数シードで陳列商品が再抽選されます。1〜168時間（1週間）の範囲で設定できます。 salesPeriodEventId string ~ 1024文字 陳列棚の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このランダム陳列棚全体の販売期間を制御します。指定した場合、関連する GS2-Schedule のイベント期間中のみ陳列棚が利用可能になります。 RandomDisplayItemModel ランダム陳列棚に陳列可能な商品 weight に商品を選別する確率を設定できます。  name string  UUID ~ 128文字 ランダム陳列商品ID ランダム陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト このランダム陳列商品を購入する前に実行される前提条件チェックです。すべての検証アクションが成功した後に消費・入手アクションが処理されます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト このランダム陳列商品の購入対価としてリソースを消費するアクションです。トランザクションの消費アクションとして実行されます。 acquireActions List [] 1 ~ 100 items 入手アクションリスト このランダム陳列商品の購入報酬としてリソースを付与するアクションです。トランザクションの入手アクションとして実行されます。 stock int  1 ~ 2147483646 在庫数 すべてのローテーションを通じてこの商品が抽選される最大回数です。在庫がゼロになると、以降の抽選から除外されます。ローテーション抽選時に商品が選択されると在庫が消費されます。 weight int  1 ~ 2147483646 排出重み ランダム選択におけるこの商品の相対的な確率の重みです。重みが大きいほど抽選される確率が高くなります。実際の選択確率は、この商品の重みを対象となるすべての商品の重みの合計で割った値として計算されます。 ConsumeAction 消費アクション  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Showcase Deploy/CDK リファレンス","url":"/ja/api_reference/showcase/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting  トランザクション設定 ノード解放・拘束操作の実行時に使用されるトランザクション処理の設定。 消費アクション（解放コスト）と入手アクション（拘束時の返却）が GS2 トランザクションシステムを通じてどのように処理されるかを定義します。 releaseScript ScriptSetting ノード開放時に実行するスクリプトの設定 Script トリガーリファレンス - release restrainScript ScriptSetting ノード開放状態を未解放状態に戻すときに実行するスクリプトの設定 Script トリガーリファレンス - restrain logSetting LogSetting ログ出力設定 ノード解放・拘束・リセットなどのスキルツリー操作のログ出力設定。 設定した場合、操作ログが指定した GS2-Log ネームスペースに出力されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentTreeMaster 現在アクティブなノードモデルのマスターデータ 現在ネームスペース内で有効な、ノードモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-SkillTree マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentTreeMaster 更新された現在アクティブなノードモデルのマスターデータ 実装例 NodeModel ノードモデル スキルツリー内のノードを定義するモデルで、解放コスト・前提条件・返却動作を含みます。 各ノードには検証アクション（解放前の条件チェック）、消費アクション（支払うコスト）、先に解放が必要な前提ノードを設定できます。 ノードを拘束（未解放状態に戻す）すると、消費したリソースが返却率に基づいて部分的に返却されます。 返却入手アクションは消費アクションに返却率を乗じて自動的に計算されます。  nodeModelId string ※ ~ 1024文字 ノードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ノードモデル名 ノードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 releaseVerifyActions List [] 0 ~ 10 items 解放検証アクションリスト このノードを解放する前に実行され、条件が満たされているかを確認する検証アクションのリスト。 例えば、プレイヤーが特定のレベルに達しているか、特定のアイテムを所持しているかを検証できます。 いずれかの検証アクションが失敗すると、ノード解放は拒否されます。最大10アクション。 releaseConsumeActions List [] 1 ~ 10 items 解放消費アクションリスト このノードを解放する際に実行される消費アクションのリストで、解放コストを表します。 これらのアクションは返却入手アクションの計算にも使用されます。ノードを拘束する際、各消費アクションが返却率に基づいて逆転されます。 最低1つの消費アクションが必要です。最大10アクション。 returnAcquireActions List 0 ~ 10 items 返却入手アクションリスト このノードを拘束（取り消し）する際に実行される入手アクションのリストで、プレイヤーに返却されるリソースを表します。 このフィールドは解放消費アクションに返却率を乗じて自動生成されます。 例えば、解放コストが100ゴールドで返却率が0.8の場合、拘束時に80ゴールドが返却されます。 最大10アクション。 restrainReturnRate float 1.0 0.0 ~ 1.0 返却率 このノードを拘束（未解放状態に戻す）した際に消費リソースが返却される割合。 1.0 は全額返却、0.5 は半額返却、0.0 は返却なしを意味します。 デフォルトは 1.0（全額返却）。有効範囲: 0.0〜1.0。 premiseNodeNames List [] 0 ~ 10 items 前提ノードモデル名リスト このノードを解放する前に解放済みでなければならない他のノードモデルの名前。 スキルツリーの依存関係グラフを定義します。前提ノードがすべて解放済みでなければ、このノードは解放できません。 最大10の前提ノード。 ConsumeAction 消費アクション  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-SkillTree Deploy/CDK リファレンス","url":"/ja/api_reference/skill_tree/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 スタミナ操作時のトランザクションの処理方法を制御する設定です。 overflowTriggerScript string ~ 1024文字 オーバーフロートリガースクリプト 回復時にスタミナがオーバーフローした際に呼び出す GS2-Script の GRN。 時間ベースの回復でスタミナが最大値を超える場合にトリガーされ、余剰分のカスタム処理（例：オーバーフロー分をアイテムに変換）が可能です。 Script トリガーリファレンス - overflow logSetting LogSetting ログの出力設定 スタミナの消費、回復、オーバーフローなどの操作を GS2-Log に記録するためのログ出力設定。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentStaminaMaster 現在アクティブなスタミナモデルのマスターデータ 現在ネームスペース内で有効な、スタミナモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Stamina マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentStaminaMaster 更新された現在アクティブなスタミナモデルのマスターデータ 実装例 StaminaModel スタミナモデル スタミナの最大値や、回復間隔、回復量といったパラメータを定義できます。 GS2-Experience と連動させて、最大値や回復量をコントロールすることもできます。  staminaModelId string ※ ~ 1024文字 スタミナモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 スタミナモデル名 スタミナモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 recoverIntervalMinutes int  0 ~ 2147483646 回復間隔（分） スタミナ回復ティックの間隔（分単位）。 この間隔が経過するたびに、プレイヤーのスタミナが回復量分だけ増加します。 RecoverIntervalTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 0 に設定すると時間ベースの自動回復が無効になります。 recoverValue int 1 0 ~ 2147483646 回復量 回復ティックごとに回復するスタミナの量。 回復間隔が経過するたびに、最大値に達するまでこの値分スタミナが増加します。 RecoverValueTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 デフォルトは 1。 initialCapacity int  0 ~ 2147483646 最大値の初期値 全プレイヤーに対するデフォルトのスタミナ最大値。 オーバーフローが無効の場合、ユーザーごとの最大値の下限として機能します。 MaxStaminaTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 isOverflow bool  オーバーフロー可否 アイテム使用などの手段でスタミナが初期最大値を超えられるかどうか。 有効の場合、スタミナは initialCapacity を超えて maxCapacity まで設定可能です。自然回復は通常の最大値で停止します。 無効の場合、ユーザーごとの最大値は initialCapacity 以上に制限されます。 maxCapacity int {isOverflow} == true ※ 0 ~ 2147483646 オーバーフロー時の最大値 オーバーフロー有効時のスタミナの絶対上限値。 オーバーフローでもスタミナはこの値を超えることはできません。isOverflow が true の場合のみ表示されます。 例えば initialCapacity が 100、maxCapacity が 200 の場合、アイテムでスタミナを 200 まで増やせますが、自然回復は 100 で停止します。 ※ isOverflow が true であれば 必須 maxStaminaTable MaxStaminaTable スタミナ最大値テーブル プレイヤーの GS2-Experience ランクに基づいてスタミナ最大値を動的に決定する MaxStaminaTable への参照。 設定時、プレイヤーの最大スタミナは現在のランクインデックスでテーブルから参照され、initialCapacity をオーバーライドします。 未設定の場合、全プレイヤーが同じ initialCapacity を最大値として共有します。 recoverIntervalTable RecoverIntervalTable 回復間隔テーブル プレイヤーの GS2-Experience ランクに基づいて回復間隔を動的に決定する RecoverIntervalTable への参照。 設定時、プレイヤーの回復間隔は現在のランクインデックスでテーブルから参照され、recoverIntervalMinutes をオーバーライドします。 未設定の場合、全プレイヤーが同じ recoverIntervalMinutes を共有します。 recoverValueTable RecoverValueTable 回復量テーブル プレイヤーの GS2-Experience ランクに基づいて回復量を動的に決定する RecoverValueTable への参照。 設定時、プレイヤーの回復量は現在のランクインデックスでテーブルから参照され、recoverValue をオーバーライドします。 未設定の場合、全プレイヤーが同じ recoverValue を共有します。 MaxStaminaTable スタミナ最大値テーブル スタミナ最大値テーブルは、GS2-Experience のランクごとにスタミナの最大値を定義するエンティティです。  name string  ~ 128文字 スタミナ最大値テーブル名 スタミナ最大値テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとのスタミナ最大値が決定されます。 values List  1 ~ 1024 items ランク毎のスタミナ最大値 プレイヤーの GS2-Experience ランクインデックスで索引されるスタミナ最大値の配列。 インデックス i の値がランク i のプレイヤーの最大スタミナとして使用されます。配列長は参照先の ExperienceModel で定義されたランク数と一致させる必要があります。 RecoverIntervalTable 回復間隔テーブル 回復間隔テーブルは、GS2-Experience のランクごとにスタミナの回復間隔を定義するエンティティです。  name string  ~ 128文字 回復間隔テーブル名 回復間隔テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復間隔が決定されます。 values List  1 ~ 1024 items ランク毎の回復間隔 プレイヤーの GS2-Experience ランクインデックスで索引される回復間隔値（分単位）の配列。 インデックス i の値がランク i のプレイヤーの回復間隔として使用され、モデルのデフォルト recoverIntervalMinutes をオーバーライドします。 RecoverValueTable スタミナ回復量テーブル スタミナ回復量テーブルは、GS2-Experience のランクごとにスタミナの回復量を定義するエンティティです。  name string  ~ 128文字 スタミナ回復量テーブル名 スタミナ回復量テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復量が決定されます。 values List  1 ~ 1024 items ランク毎の回復量 プレイヤーの GS2-Experience ランクインデックスで索引される回復量値の配列。 インデックス i の値がランク i のプレイヤーのティックあたりの回復量として使用され、モデルのデフォルト recoverValue をオーバーライドします。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Stamina Deploy/CDK リファレンス","url":"/ja/api_reference/stamina/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 supportSpeculativeExecution 文字列列挙型 enum {   “enable”,   “disable” } “disable” 投機的実行をサポートするか 有効にすると、ステートマシン定義と乱数状態が Status エンティティに埋め込まれ、クライアントがサーバー確認前にローカルで状態遷移をシミュレーションできるようになります。transactionSetting の設定が必要です。 定義 説明 “enable” 有効 “disable” 無効 transactionSetting TransactionSetting {supportSpeculativeExecution} == “enable” トランザクション設定 ステートマシンの emit アクション実行時のトランザクションの処理方法を制御する設定です。投機的実行を有効にする場合に必要です。 ※ supportSpeculativeExecution が “enable” であれば有効 startScript ScriptSetting ステートマシンを起動したときに実行するスクリプトの設定 Script トリガーリファレンス - start passScript ScriptSetting ステートマシンが正常終了したときに実行するスクリプトの設定 Script トリガーリファレンス - pass errorScript ScriptSetting ステートマシンが異常終了したときに実行するスクリプトの設定 Script トリガーリファレンス - error lowestStateMachineVersion long ステートマシンの最低バージョン 実行可能なステートマシンの最低バージョンです。この値より古いバージョンのステートマシンで作成された Status インスタンスは拒否され、すべての実行中インスタンスが最新の定義を使用することが保証されます。 logSetting LogSetting ログの出力設定 ステートマシンの実行、状態遷移、emit イベントに関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 完了時に実行するスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 完了時のスクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 完了スクリプトの完了を知りたい時に使用します。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 StateMachineMaster ステートマシン定義 GSLで記述されたステートマシンを管理します。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mainStateMachineName string  ~ 128文字 メインステートマシン名 GSL 定義内のエントリポイントとなるステートマシンの名前です。このステートマシンから実行が開始され、スタック機構を通じてサブステートマシンを呼び出すことができます。 payload string  ~ 5242880文字 ステートマシン定義 ステートマシンの状態、遷移、アクションを定義する GSL（GS2 State Language）のソースコードです。効率的な取得のためにメタデータとは別に保存されます。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item StateMachineMaster 作成したステートマシンマスター 実装例","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-StateMachine Deploy/CDK リファレンス","url":"/ja/api_reference/state_machine/deploy/"},{"content":"エンティティ Deploy処理で操作の対象となるリソース Namespace ネームスペース ネームスペースは、一つのプロジェクト内で同じサービスを異なる用途で複数利用するためのエンティティです。 GS2 の各サービスはネームスペース単位で管理されます。ネームスペースが異なれば、同じサービスでも完全に独立したデータ空間として扱われます。 そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。 Request リソースの生成・更新リクエスト  name string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 transactionSetting TransactionSetting トランザクション設定 バージョンチェック操作時のトランザクションの処理方法を制御する設定です。 assumeUserId string  ~ 1024文字 バージョンチェックを通過した場合に昇格する GS2-Identifier ユーザー GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN acceptVersionScript ScriptSetting バージョンを承認したときに実行するスクリプトの設定 Script トリガーリファレンス - acceptVersion checkVersionTriggerScriptId string ~ 1024文字 バージョンチェック処理を実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN logSetting LogSetting ログの出力設定 バージョンチェックおよびバージョン承認操作に関する API リクエスト・レスポンスログを出力する GS2-Log のネームスペースを指定します。 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item Namespace 作成したネームスペース 実装例 TransactionSetting トランザクション設定 トランザクション設定は、トランザクションの実行方法・整合性・非同期処理・競合回避の仕組みを制御する設定です。 自動実行（AutoRun）、アトミック実行（AtomicCommit）、GS2-Distributor を利用した非同期実行、スクリプト結果の一括適用、GS2-JobQueue による入手アクションの非同期化などを組み合わせ、ゲームロジックに応じた堅牢なトランザクション管理を可能にします。  enableAutoRun bool false 発行したトランザクションをサーバーサイドで自動的に実行するか enableAtomicCommit bool {enableAutoRun} == true false トランザクションの実行をアトミックにコミットするか ※ enableAutoRun が true であれば 有効 transactionUseDistributor bool {enableAtomicCommit} == true false トランザクションを非同期処理で実行する ※ enableAtomicCommit が true であれば 有効 commitScriptResultInUseDistributor bool {transactionUseDistributor} == true false スクリプトの結果コミット処理を非同期処理で実行するか ※ transactionUseDistributor が true であれば 有効 acquireActionUseJobQueue bool {enableAtomicCommit} == true false 入手アクションを実行する際に GS2-JobQueue を使用するか ※ enableAtomicCommit が true であれば 有効 distributorNamespaceId string “grn:gs2:{region}:{ownerId}:distributor:default” ~ 1024文字 トランザクションの実行に使用する GS2-Distributor ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN queueNamespaceId string “grn:gs2:{region}:{ownerId}:queue:default” ~ 1024文字 トランザクションの実行に使用する GS2-JobQueue のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ScriptSetting スクリプト設定 GS2 ではマイクロサービスのイベントに関連づけて、カスタムスクリプトを実行することができます。 このモデルは、スクリプトの実行をトリガーするための設定を保持します。 スクリプトの実行方式は大きく2種類あり、それは「同期実行」と「非同期実行」です。 同期実行は、スクリプトの実行が完了するまで処理がブロックされます。 代わりに、スクリプトの実行結果を使って API の実行を止めたり、API のレスポンス内容を制御することができます。 一方、非同期実行ではスクリプトの完了を待つために処理がブロックされることはありません。 ただし、スクリプトの実行結果を利用して API の実行を停止したり、API の応答内容を変更することはできません。 非同期実行は API の応答フローに影響を与えないため、原則として非同期実行を推奨します。 非同期実行には実行方式が2種類あり、GS2-Script と Amazon EventBridge があります。 Amazon EventBridge を使用することで、Lua 以外の言語で処理を記述することができます。  triggerScriptId string ~ 1024文字 API 実行時に同期的に実行される GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 doneTriggerTargetType 文字列列挙型 enum {   “none”,   “gs2_script”,   “aws” } “none” 非同期スクリプトの実行方法 非同期実行で使用するスクリプトの種類を指定します。 「非同期実行のスクリプトを使用しない(none)」「GS2-Scriptを使用する(gs2_script)」「Amazon EventBridgeを使用する(aws)」が選択できます。 定義 説明 “none” なし “gs2_script” GS2-Script “aws” Amazon EventBridge doneTriggerScriptId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行する GS2-Script スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 doneTriggerQueueNamespaceId string {doneTriggerTargetType} == “gs2_script” ~ 1024文字 非同期実行スクリプトを実行する GS2-JobQueue ネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 非同期実行スクリプトを直接実行するのではなく、GS2-JobQueue を経由する場合は GS2-JobQueue のネームスペースGRN を指定します。 GS2-JobQueue を利用する理由は多くはありませんので、特に理由がなければ指定する必要はありません。 ※ doneTriggerTargetType が “gs2_script” であれば 有効 LogSetting ログの出力設定 ログデータの出力設定を管理します。この型は、ログデータを書き出すために使用される GS2-Log ネームスペースの識別子（Namespace ID）を保持します。 ログネームスペースID(loggingNamespaceId)には、ログデータを収集し保存する GS2-Log のネームスペースを、GRNの形式で指定します。 この設定をすることで、設定されたネームスペース内で発生したAPIリクエスト・レスポンスのログデータが、対象の GS2-Log ネームスペース側へ出力されるようになります。 GS2-Log ではリアルタイムでログが提供され、システムの監視や分析、デバッグなどに利用できます。  loggingNamespaceId string  ~ 1024文字 ログを出力する GS2-Log のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 「grn:gs2:」ではじまる GRN 形式のIDで指定する必要があります。 CurrentVersionMaster 現在アクティブなバージョンモデルのマスターデータ 現在ネームスペース内で有効な、バージョンモデルの定義を記述したマスターデータです。 GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。 JSONファイルを作成する方法として、マネージメントコンソール内にマスターデータエディタを提供しています。 また、よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。 Note JSONファイルの形式については GS2-Version マスターデータリファレンス をご参照ください。 Request リソースの生成・更新リクエスト  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 mode 文字列列挙型 enum {   “direct”,   “preUpload” } “direct” 更新モード 定義 説明 “direct” マスターデータを直接更新 “preUpload” マスターデータをアップロードしてから更新 settings string {mode} == “direct” ※ ~ 5242880文字 マスターデータ ※ mode が “direct” であれば必須 uploadToken string {mode} == “preUpload” ※ ~ 1024文字 事前アップロードで取得したトークン アップロードしたマスターデータを適用するために使用されます。 ※ mode が “preUpload” であれば必須 GetAttr !GetAttr タグで取得可能なリソースの生成結果 型 説明 Item CurrentVersionMaster 更新された現在アクティブなバージョンモデルのマスターデータ 実装例 VersionModel バージョンモデル バージョンモデルには、ログインを受け入れるが、バージョンアップ出来ることを通知する警告バージョンと、ログインを受け入れないエラーバージョンを設定できます。 現在のバージョンをクライアントに申告させるのに、署名の有無を指定できます。 署名付きを選択した場合、クライアントは嘘のバージョン申告を出来なくなります。  versionModelId string ※ ~ 1024文字 バージョンモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scope 文字列列挙型 enum {   “passive”,   “active” }  判定に使用するバージョン値の種類 バージョンチェックに使用するバージョン値の取得方法を決定します。「passive」はチェック時にクライアントが現在のバージョンを申告する方式、「active」はユーザーが過去に明示的に承認したバージョン（利用規約への同意など）を使用する方式です。 定義 説明 “passive” クライアントから送信 “active” 過去明示的に承認したバージョン type 文字列列挙型 enum {   “simple”,   “schedule” } “simple” バージョンチェックモード バージョンチェックの方式を選択します。「simple」は固定の警告・エラーバージョン閾値を使用し、「schedule」は GS2-Schedule のイベントを利用して時期に応じた異なるバージョン閾値を適用します。 定義 説明 “simple” シンプル “schedule” 時系列切り替え currentVersion Version {type} == “simple” and {scope} == “active” ※ 現在のバージョン このバージョンモデルの最新バージョンです。「simple」モードの「active」スコープでのみ使用され、ユーザーがバージョン更新を承認・確認する際に現在のバージョンを通知します。 ※ type が “simple” で かつ scope が “active” であれば 必須 warningVersion Version {type} == “simple” ※ バージョンアップを促すバージョン アップグレード通知を表示する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、ログインは許可されますがユーザーにアップグレードが促されます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば 必須 errorVersion Version {type} == “simple” ※ バージョンチェックでエラーになるバージョン ログインを許可する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、バージョンチェックがエラーとなりログインがブロックされます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば 必須 scheduleVersions List {type} == “schedule” 0 ~ 10 items 時系列で切り替わるバージョンチェック内容リスト GS2-Schedule のイベントに基づいて異なるタイミングで有効になるバージョンチェック設定のリストです。更新を必須にする前に警告を表示するなど、段階的なバージョン強制が可能になります。 ※ type が “schedule” であれば 有効 needSignature bool {scope} == “passive” ※ 判定するバージョン値に署名検証を必要とするか 有効にすると、クライアントはバージョン申告と共に暗号署名を提供する必要があります。これにより、クライアントがバージョンチェックを回避するために偽のバージョンを申告することを防止します。スコープが「passive」の場合にのみ適用されます。 ※ scope が “passive” であれば 必須 signatureKeyId string {needSignature} ※ ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ needSignature が “true” であれば 必須 approveRequirement 文字列列挙型 enum {   “required”,   “optional” } {scope} == “active” “required” 承認の必要性 このバージョンモデルに対するユーザー承認が必須か任意かを制御します。「required」の場合、ユーザーが現在のバージョンを承認していないとバージョンチェックが失敗します。「optional」の場合、承認状態に関係なくバージョンチェックが通過します。スコープが「active」の場合にのみ適用されます。 定義 説明 “required” 承認が必要 “optional” 任意の承認 ※ scope が “active” であれば 有効 Version バージョン 3階層（メジャー、マイナー、マイクロ）のバージョン番号を表します。バージョンの比較はメジャー、マイナー、マイクロの順に階層的に行われます。バージョンチェックの警告・エラー閾値の定義に使用されます。  major int  0 ~ 2147483646 メジャーバージョン バージョン比較で最も優先度の高いコンポーネントです。メジャーバージョンの差異はマイナーバージョンやマイクロバージョンより優先されます。 minor int  0 ~ 2147483646 マイナーバージョン バージョン比較で2番目に優先されるコンポーネントです。メジャーバージョンが同一の場合にのみ比較されます。 micro int  0 ~ 2147483646 マイクロバージョン バージョン比較で最も優先度の低いコンポーネントです。メジャーバージョンとマイナーバージョンがともに同一の場合にのみ比較されます。 ScheduleVersion 時系列で切り替わるバージョン GS2-Schedule のイベントで制御される特定の期間中に有効になるバージョン閾値（現在、警告、エラー）のセットを定義します。複数のスケジュールバージョンを設定することで、古いクライアントをブロックする前にユーザーに警告するなど、段階的なバージョン強制を実装できます。  currentVersion Version  現在のバージョン このスケジュール期間中に利用可能な最新バージョンです。「active」スコープでユーザーが更新を承認する際に現在のバージョンを通知するために使用されます。 warningVersion Version  バージョンアップを促すバージョン このスケジュール期間中にアップグレード通知を表示する最低バージョン閾値です。ログインは許可されますがユーザーにアップグレードが促されます。 errorVersion Version  バージョンチェックでエラーになるバージョン このスケジュール期間中にログインを許可する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、バージョンチェックがエラーとなりログインがブロックされます。 scheduleEventId string ~ 1024文字 バージョンチェックを有効化する期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このバージョン閾値セットが有効になる期間を制御する GS2-Schedule のイベントを指定します。ここで定義されたバージョンチェック設定は、指定したイベントがアクティブな期間にのみ適用されます。","lang":"ja","section":"api_reference","summary":"GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例\n","title":"GS2-Version Deploy/CDK リファレンス","url":"/ja/api_reference/version/deploy/"},{"content":"GS2 の Game Engine 向け SDK (GS2 SDK for Unity, GS2 SDK for Unreal Engine など) には、サーバーから取得したデータを SDK 内部にキャッシュする機構が組み込まれています。 このキャッシュ機構を理解することで、API 呼び出し回数を削減し、ゲームのレスポンス性とコストの両方を改善できます。 キャッシュの基本動作 Domain オブジェクト（ gs2.Inventory.Namespace(...).Me(...).Inventory(...) のようなアクセス）を介してデータを取得すると、取得したデータは SDK 内部のキャッシュに保持されます。 同一のリソースに対する再取得は、サーバーに問い合わせを行わず、キャッシュから返されます。 そのため、UI の各所で必要となる値を都度サーバーから取得しなくても、Domain オブジェクトを通して何度でも安心して値を参照できます。 キャッシュの自動更新 サーバー側でデータが更新された場合は、SDK 側のキャッシュも自動的に最新の状態に追随します。 具体的には以下のタイミングで反映されます。 API 呼び出しの応答内に含まれるリソース情報を受け取ったとき WebSocket 接続を介してリソースの更新通知を受け取ったとき スタンプシートの実行結果として返却されたリソース情報を受け取ったとき 例えば、 Gs2-Showcase で商品を購入すると、その購入処理によって増加した Gs2-Inventory のアイテム所持数も、購入 API の応答に含まれる結果から自動的に SDK 内のキャッシュへ反映されます。 UI 側でわざわざ「アイテム一覧を取り直す」必要はありません。 設計指針 取得 API は躊躇なく呼ぶ Domain オブジェクト経由の ModelAsync / Model / Fetch といった取得処理は、初回はサーバーへリクエストを発行し、以降はキャッシュから値を返します。 そのため、UI を更新するたびに値を読みに行く実装にしても、過剰なリクエスト料金が発生することはありません。 // UI 描画のたびに呼んでも、初回以降は SDK 内のキャッシュから返る var item = await gs2.Inventory.Namespace(\"namespace-0001\") .Me(GameSession) .Inventory(\"inventory-0001\") .ItemSet(\"item-0001\") .ModelAsync(); キャッシュの更新を能動的に受け取る Domain オブジェクトは、SDK 内のキャッシュが更新されたタイミングを購読するためのイベント機構を持っています。 UI 側でイベントを購読しておくと、所持数の変動などをポーリングなしで反映できます。 詳細は各 Game Engine SDK のリファレンスを参照してください。 サーバーの最新状態を保証したい場合 低レベル API（ Gs2*RestClient / Gs2*WebSocketClient を直接呼び出す形式）はキャッシュを介さずに必ずサーバーへリクエストを送ります。 チート対策のサーバー再検証など、確実にサーバー側の最新状態を取得したい場合は低レベル API を利用してください。 ゾーン切り替え時の挙動 GS2 は 1 つのリージョン内に複数のゾーンを Active / Active で構成しています ( リージョン を参照)。 ゾーン間ではデータベースの同期にわずかな遅延が発生するため、ゾーンが切り替わった瞬間に「書き込んだはずの値が読み込めない」現象が起こり得ます。 SDK のキャッシュ機構は、こうした瞬間的な不整合があっても UI が古い値で固まり続けないよう、ベストエフォートで最新状態に追随するよう設計されています。 ゲーム開発者が特別な追加実装を行わなくても、新しいゾーンの最新値にキャッシュが寄っていきます。 関連項目 リージョン コストの最適化","lang":"ja","section":"articles","summary":"GS2 SDK が内部に保持するキャッシュの仕組みと、活用するための設計指針\n","title":"SDK のキャッシュ機構","url":"/ja/articles/tech/cache/"},{"content":"ここでは、GS2 SDK を使用してアカウントの作成とログインを行う最小限の実装方法を解説します。 各プラットフォームごとの完全なコードは サンプルコード全文 をご確認ください。 Unity での実装について Unity SDK では非同期処理に Coroutine を使用しています。以下のコード例は Coroutine 内（ IEnumerator を返すメソッド内）で実行することを想定しています。 GS2 SDKの初期化 Setup variables まずは3つの変数を定義しています。 変数名 用途 取得元 clientId GS2にアクセスするための認証情報 クレデンシャル(APIキー)の作成 で作成した値 clientSecret GS2にアクセスするための認証情報 クレデンシャル(APIキー)の作成 で作成した値 accountNamespaceName 利用する GS2-Account のネームスペース名 ログイン処理に必要なリソースを準備 で作成した値 Setup general setting Gs2Client.CreateFuture(UniTask 使用時は Gs2Client.CreateAsync) で GS2 のクライアントを作成します。 clientId や clientSecret が不適切な場合、ここでエラーが返ります。 匿名アカウントの新規作成 ここではゲームプレイヤーを識別するためのアカウントの作成を行っています。 accountNamespaceName にはアカウントを追加する先のネームスペース名を指定します。 なお、このサンプルでは毎起動時に新規のアカウントでログインする挙動になっていますが、通常は、アカウントの作成はアプリケーションの初回起動時にのみ行ないます。 実際のアプリケーションではこの応答のアカウント情報をローカルストレージ等に保存し、2回目以降はローカルストレージ等から取得した作成済みのアカウント情報で、既存のゲームプレイヤーとしてログインを行います。 ログイン処理 つづいて GS2 へのログイン処理です。 Gs2AccountAuthenticator にアカウントの認証に関する情報を指定します。具体的にはログインに使用する GS2-Account のネームスペース名を指定しています。 更に、 userId password には作成したアカウントのユーザIDとパスワードを指定します。 結果として GameSession オブジェクトが返ります。 以降 GS2 の API を呼び出すときにログイン状態でなければ呼び出せないAPIの引数には GameSession を渡して使用することとなります。 ログイン後呼び出し可能なAPIの呼び出し ログイン状態でなければ使用できないAPIの一例として、引き継ぎ設定の一覧を取得するAPIを呼び出しています。 GameSession を渡して、ログイン中のゲームプレイヤーに設定されている引き継ぎ設定の一覧を取得できます。 GS2 SDKの終了処理 GS2との接続を終了します。 チュートリアルはおえましたか？ GS2 の使い方についてガイダンスしている YouTube チャンネル をご確認ください！ より実践的なサンプルも提供しています。 GS2 を使えば他にどんなことが実現できるのか調べましょう GS2 を使用した開発ワークフローについて学びましょう","lang":"ja","section":"get_start","summary":"アカウント発行〜ログインまでを実装してみましょう\n","title":"実装","url":"/ja/get_start/tutorial/coding/"},{"content":"検証をするにあたって、現在の多くのサーバーシステムはいくつかの課題を抱えています。 検証項目に対応した環境のセットアップ 時間に関する検証 サーバー負荷に関する検証 検証項目に対応した環境のセットアップ 検証に使用するインフラは直接的な利益を生みません。 そのため、環境を維持するコストは問題視されがちです。 結果として、貧弱な検証環境が出来上がり、それが非効率な業務を産んでいることがあります。 GS2 は pay-as-you-go スタイルの課金形態を採用することで、環境を増やしてもアクセスしなければコストは発生しません。 さらに、環境をセットアップするのも GS2-Deploy を利用すればすぐに準備が整います。 これら特性により、検証項目に応じた環境の増減が用意に行えるようになります。 具体的には、以下の検証を行いたい時、従来の開発スタイルでは直列で検証業務をする必要がありましたが、GS2 では並列で業務を行えます。 1日1回クエストに挑戦できる回数制限が正しく機能していることの確認 クエストのドロップ報酬の内容が適切であること 上記例は「クエストに挑戦できる回数に制限があることでドロップ報酬の内容を確認しづらくなる」という状況です。 このような場合、回数制限を無くしたバージョンを別環境に用意し、そこでドロップ報酬の内容を検証してもらうことができます。 別環境を用意するコストが高いとこの判断が行えず、一方を確認した後でもう一方の確認をすることになり、検証にかかる時間が増大します。 時間に関する検証 特定の時刻になったらイベントが開始されることを検証するのも一つ難しい課題です。 時間に関する処理は不具合の発見が難しく、できれば検証環境ではイベントの期間を時間を早めるようなことはせず、本番環境に適用する GS2-Deploy のテンプレートを共通化したいです。 GS2 では時間に関する処理に対して、時刻オフセットを指定して利用できる仕組みを提供しています。 時刻オフセットの指定には GS2-Account を利用している場合は、アカウント単位で異なるオフセットを指定できますし、 GS2-Auth を使用してアクセストークンを発行している場合は、アクセストークンを発行する時のパラメータでオフセットを指定できます。 この機能を利用すれば、2週間後に開催されるイベントのQAを行うのに、+2週間のオフセットをつけた アカウント もしくは アクセストークン で検証することで GS2-Schedule のイベント開催期間を変更することなく検証を行うことが可能となります。 サーバー負荷に関する検証 ゲームプレイヤーをサーバーに招き入れる前に、大量のプレイヤーが遊びに来ても問題なくサービスを提供できるのか、サーバー負荷に関する検証が必要となります。 多くのゲームは過去の実績のないサーバーシステムのため、この検証は念入りに行う必要があるでしょう。 しかし、GS2 は多数のゲームをホストしており、GS2のアーキテクチャは秒間10万を超えるAPIリクエストを処理できることを検証済みです。 そのため、GS2 の利用者はサーバー負荷に対して気にする必要はありません。 しかし、どうしても心配な場合は負荷テストのレポートを GS2 に有償で依頼することができます。 その方法も非常に単純です。 一般的なゲームプレイヤーが行うのと同等のプレイをできれば10人以上で1時間ほどプレイします。 そのプレイを行った際に利用した GS2 のアカウントIDと、プロジェクト名 と時間帯、そして想定される CCU を GS2 に共有します。 GS2 はそのアクセス履歴からテストシナリオを作成し、CCU 相当になるようアクセス数を増幅してテストを実施しレポートを作成します。 これまで負荷テストを行ったことがある方であれば、これがいかに簡単なプロセスかを理解できるはずです。","lang":"ja","section":"overview","summary":"GS2 を利用したゲームの検証方法について\n","title":"検証","url":"/ja/overview/workflow/qa/"},{"content":"マスターデータのフォーマット  version string  2024-07-30 マスターデータのフォーマットバージョン takeOverTypeModels List ~ 1000 items 引き継ぎ情報タイプモデル 引き継ぎ情報を定義するモデルです。 引き継ぎ情報とは、デバイスの機種変更やプラットフォーム間のアカウントの移動・共有時に使用する情報です。 個人を識別するユニークな文字列とパスワードで構成され、その適切な組み合わせを入力することで、Account(匿名アカウント)を取得することができます。 1つの Account に対して複数の引き継ぎ情報を設定できます。 複数の引き継ぎ情報を設定するにはそれぞれ異なるスロットを指定する必要があります。 スロットには0～1024を指定できますので、最大1025種類の引き継ぎ情報を設定可能です。 具体的な用例としては 0 には Sign in with Apple のアカウント情報を、1 には Google のアカウント情報を保存するようにする。というような使い方が想定されています。 あくまでこの引き継ぎ情報はデータホルダーであり、ソーシャルアカウントとの認証の仕組みは別途用意する必要があります。 モデル TakeOverTypeModel 引き継ぎ情報タイプモデル 引き継ぎ情報を定義するモデルです。 引き継ぎ情報とは、デバイスの機種変更やプラットフォーム間のアカウントの移動・共有時に使用する情報です。 個人を識別するユニークな文字列とパスワードで構成され、その適切な組み合わせを入力することで、Account(匿名アカウント)を取得することができます。 1つの Account に対して複数の引き継ぎ情報を設定できます。 複数の引き継ぎ情報を設定するにはそれぞれ異なるスロットを指定する必要があります。 スロットには0～1024を指定できますので、最大1025種類の引き継ぎ情報を設定可能です。 具体的な用例としては 0 には Sign in with Apple のアカウント情報を、1 には Google のアカウント情報を保存するようにする。というような使い方が想定されています。 あくまでこの引き継ぎ情報はデータホルダーであり、ソーシャルアカウントとの認証の仕組みは別途用意する必要があります。  takeOverTypeModelId string ※ ~ 1024文字 引き継ぎ情報タイプモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 type int  0 ~ 1024 スロット番号 0から1024までの範囲で指定され、異なる引き継ぎ情報を区別します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 openIdConnectSetting OpenIdConnectSetting  OpenID Connect の設定 OpenID Connect 準拠の Identity Provider (IdP) と連携するための設定です。ディスカバリURL、クライアント認証情報、Apple Sign In パラメータなどのプラットフォーム固有の設定が含まれます。 OpenIdConnectSetting OpenID Connect の設定 OpenID Connect 準拠の IdP の設定を登録することで、アカウントの引き継ぎ情報として IdP 連携を利用できるようになります。  configurationPath string  ~ 1024文字 OpenID Connect 設定 URL OpenID Connect プロバイダーのディスカバリエンドポイント URL です。well-known 形式（例：https://example.com/.well-known/openid-configuration）に従う必要があります。 clientId string  ~ 1024文字 クライアントID IdP に登録されたアプリケーションのクライアントIDです。 clientSecret string {configurationPath} != “https://appleid.apple.com/.well-known/openid-configuration” ※ ~ 1024文字 クライアントシークレット ※ configurationPath が “https://appleid.apple.com/.well-known/openid-configuration” 以外の、その他の IdP 連携であれば 必須 appleTeamId string {configurationPath} == “https://appleid.apple.com/.well-known/openid-configuration” ※ ~ 1024文字 Apple Developer チームID Apple Developer アカウントのチームIDです。Apple Sign In 認証に必要です。 ※ configurationPath が “https://appleid.apple.com/.well-known/openid-configuration” であれば 必須 appleKeyId string {configurationPath} == “https://appleid.apple.com/.well-known/openid-configuration” ※ ~ 1024文字 Apple に登録済みのキーID Sign in with Apple 用に Apple Developer アカウントに登録されたキーIDです。 ※ configurationPath が “https://appleid.apple.com/.well-known/openid-configuration” であれば 必須 applePrivateKeyPem string {configurationPath} == “https://appleid.apple.com/.well-known/openid-configuration” ※ ~ 10240文字 Apple から受け取った秘密鍵 Apple Developer ポータルからダウンロードした PEM 形式の秘密鍵です。Apple Sign In 認証に必要です。 ※ configurationPath が “https://appleid.apple.com/.well-known/openid-configuration” であれば 必須 doneEndpointUrl string ~ 1024文字 認証完了時に遷移するURL 未指定の場合 /authorization/done に遷移します。 Query String に id_token が付与されます。 additionalScopeValues List [] 0 ~ 10 items OpenID Connect で取得する追加のスコープ デフォルトの OpenID Connect スコープに加えて IdP にリクエストする追加の OAuth スコープです。認証時に追加のユーザー情報を取得することができます。 additionalReturnValues List [] 0 ~ 10 items OpenID Connect で取得する追加の返却値 ID トークンまたは UserInfo レスポンスから返却値に含める追加のクレーム名です。指定されたクレームが抽出され、標準の認証結果とともに返却されます。 ScopeValue スコープ値 OpenID Connect 認証時に取得される追加の OAuth スコープ値を表すキーと値のペアです。標準の OpenID Connect クレーム以外に IdP から取得した追加データの保存に使用されます。  key string  ~ 64文字 名前 認証時に IdP に対してリクエストしたスコープ名です。 value string ~ 51200文字 値 対応するスコープに対して IdP から返却された値です。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Account マスターデータリファレンス","url":"/ja/api_reference/account/master_data/"},{"content":"マスターデータのフォーマット  version string  2024-04-15 マスターデータのフォーマットバージョン buffEntryModels List ~ 100 items バフエントリーモデル バフの適用量はバフエントリーモデルで管理し、同一の対象に対して複数のバフエントリーモデルを関連づけることが可能です。 バフエントリーモデルの適用順番はバフエントリーモデルの priority で管理し、 priority の値が小さいほど優先度が高くなります。 バフの適用方式は3種類存在し「Rate Add」、「Mul」と「Value Add」があります。 Rate Add はバフの適用レートに加算する命令、Mul はバフの適用レートに乗算する命令です。 Value Add はバフの補正計算後の値に加算を行う命令です。 たとえば、デフォルトのレートが 1.0 で、Rate Add 0.2 と設定するとバフの適用レートは 1.2 になります。 Mul 0.5 と設定するとバフの適用レートは 0.5 倍になります。 バフエントリーモデルには GS2-Schedule のイベントを関連づけることができ、イベントの開催期間中のみバフを適用するような設定も可能です。 モデル BuffEntryModel バフエントリーモデル バフの適用量はバフエントリーモデルで管理し、同一の対象に対して複数のバフエントリーモデルを関連づけることが可能です。 バフエントリーモデルの適用順番はバフエントリーモデルの priority で管理し、 priority の値が小さいほど優先度が高くなります。 バフの適用方式は3種類存在し「Rate Add」、「Mul」と「Value Add」があります。 Rate Add はバフの適用レートに加算する命令、Mul はバフの適用レートに乗算する命令です。 Value Add はバフの補正計算後の値に加算を行う命令です。 たとえば、デフォルトのレートが 1.0 で、Rate Add 0.2 と設定するとバフの適用レートは 1.2 になります。 Mul 0.5 と設定するとバフの適用レートは 0.5 倍になります。 バフエントリーモデルには GS2-Schedule のイベントを関連づけることができ、イベントの開催期間中のみバフを適用するような設定も可能です。  buffEntryModelId string ※ ~ 1024文字 バフエントリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 バフエントリーモデル名 バフエントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 expression 文字列列挙型 enum {   “rate_add”,   “mul”,   “value_add” }  バフの適用タイプ バフ値を対象にどのように適用するかを指定します。「Rate Add」は補正レートに加算（例: 1.0 + 0.2 = 1.2）、「Mul」は補正レートに乗算（例: レート * 0.5）、「Value Add」はレートベースの補正計算後の値に直接加算します。 定義 説明 “rate_add” 補正レートに加算 “mul” 補正レートに乗算 “value_add” 値を直接加算（モデルやアクションの数値のみ） targetType 文字列列挙型 enum {   “model”,   “action” }  バフを適用する対象の種類 バフをモデルのフィールド値に適用するか、アクションのパラメータに適用するかを指定します。「Model」は GS2 リソースモデルのフィールドを対象とし、「Action」は GS2 アクション（例：入手量や消費量）のパラメータを対象とします。 定義 説明 “model” モデル “action” アクション targetModel BuffTargetModel {targetType} == “model” ※ バフを適用する対象のモデル バフを適用する GS2 リソースモデルとフィールドを指定します。モデル名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “model” であれば 必須 targetAction BuffTargetAction {targetType} == “action” ※ バフを適用する対象のアクション バフを適用する GS2 アクションとパラメータを指定します。アクション名、フィールド名、対象リソースを特定する条件GRN、およびレート値が含まれます。 ※ targetType が “action” であれば 必須 priority int  0 ~ 2147483646 バフの適用優先度 バフエントリーモデルが評価される順序を決定します。値が小さいほど先に評価されます。同じフィールドを対象とする複数のバフがある場合、Rate Add と Mul 演算の相互作用により、適用順序が最終結果に影響します。 applyPeriodScheduleEventId string ~ 1024文字 バフを適用するイベントの開催期間 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このバフの有効期間を制御する GS2-Schedule イベントの GRN です。指定した場合、イベントの開催期間中のみバフが適用されます。未指定の場合、バフは常に有効です。 BuffTargetModel バフを適用する対象のモデル バフ適用の対象となる GS2 リソースモデルとフィールドを定義します。どのモデルのどのフィールド値をバフで変更するかを指定し、対象リソースインスタンスを特定する条件GRNと適用するレート値を含みます。  targetModelName 文字列列挙型 enum { }  バフを適用するモデルの種類 targetFieldName string  ~ 64文字 バフの適用対象フィールド名 バフによって値が変更される対象モデル上の数値フィールド名です。例えば、経験値や攻撃力などの数値属性を表すフィールドが対象となります。 conditionGrns List  1 ~ 10 items バフの適用条件GRNのリスト バフ適用の対象リソースインスタンスを特定する GRN パターンのリストです。複数の GRN を組み合わせて、リソースを正確に特定する複合条件を形成します。 rate float  0 ~ 1000000 補正レート 適用されるバフ値です。適用タイプにより意味が異なります。「Rate Add」の場合は基本レートに加算、「Mul」の場合は現在のレートに乗算、「Value Add」の場合はレート計算後のフィールド値に直接加算されます。 BuffTargetAction バフを適用する対象のアクション バフ適用の対象となる GS2 アクションとパラメータを定義します。どのアクションのどのパラメータをバフで変更するかを指定し、対象リソースインスタンスを特定する条件GRNと適用するレート値を含みます。  targetActionName 文字列列挙型 enum { \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SubExperience\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:ConsumeItemSet\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeSimpleItems\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:ConsumeBigItem\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2Limit:CountUp\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:Withdraw\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Money2:Withdraw\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Stamina:ConsumeStamina\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , }  バフを適用するアクションの種類 targetFieldName string  ~ 64文字 バフの適用対象フィールド名 バフによって値が変更される対象アクション上の数値パラメータ名です。例えば、入手数、消費量、報酬数量などを表すパラメータが対象となります。 conditionGrns List  1 ~ 10 items バフの適用条件GRNのリスト バフ適用の対象リソースインスタンスを特定する GRN パターンのリストです。複数の GRN を組み合わせて、リソースを正確に特定する複合条件を形成します。 rate float  0 ~ 1000000 レート 適用されるバフ値です。適用タイプにより意味が異なります。「Rate Add」の場合は基本レートに加算、「Mul」の場合は現在のレートに乗算、「Value Add」の場合はレート計算後のパラメータ値に直接加算されます。 BuffTargetGrn バフ適用条件となるリソースのGRNパターン バフを適用する対象のリソースインスタンスを特定するための、プレースホルダーを含む GRN テンプレートです。モデル名で GS2 サービスモデルを特定し、GRN パターンにはランタイムで解決されるコンテキスト変数（例：region、ownerId、namespaceName）が含まれます。  targetModelName string  ~ 64文字 バフの適用条件のモデル名 条件GRNを解決するために使用される GS2 サービスモデルの名前です。GRN パターンがどのサービスのリソースモデルを参照するかを特定します。 targetGrn string  ~ 1024文字 バフの適用条件GRN ランタイムで解決されるコンテキストプレースホルダー（例：{region}、{ownerId}）を含む GRN テンプレートです。バフの対象となる特定のリソースインスタンスを特定するために使用されます。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Buff マスターデータリファレンス","url":"/ja/api_reference/buff/master_data/"},{"content":"マスターデータのフォーマット  version string  2020-04-30 マスターデータのフォーマットバージョン categoryModels List ~ 1000 items カテゴリーモデル カテゴリーモデルは、チャットルームに投稿されるメッセージを分類するためのカテゴリーを定義します。 各カテゴリーは数値で識別され、カテゴリーごとにプレイヤーのアクセストークンを使った投稿を許可するか拒否するかを設定できます。 これにより、サーバーのみが投稿可能なシステムアナウンスカテゴリーなどのユースケースを実現できます。 モデル CategoryModel カテゴリーモデル カテゴリーモデルは、チャットルームに投稿されるメッセージを分類するためのカテゴリーを定義します。 各カテゴリーは数値で識別され、カテゴリーごとにプレイヤーのアクセストークンを使った投稿を許可するか拒否するかを設定できます。 これにより、サーバーのみが投稿可能なシステムアナウンスカテゴリーなどのユースケースを実現できます。  categoryModelId string ※ ~ 1024文字 カテゴリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 category int  0 ~ 2147483645 カテゴリー メッセージカテゴリーの数値識別子です。このカテゴリー番号で投稿されたメッセージは、プレイヤーの投稿を許可するかなど、このモデルで定義されたルールに従います。 rejectAccessTokenPost 文字列列挙型 enum {   “Enabled”,   “Disabled” } プレイヤーのアクセストークンを利用した投稿を拒否する 有効にすると、このカテゴリーではサーバーサイドの API 呼び出し（ユーザーID指定）のみがメッセージを投稿できます。プレイヤーが直接投稿すべきでないシステムアナウンスやサーバー生成メッセージに有用です。 定義 説明 “Enabled” アクセストークンを利用した投稿を拒否する “Disabled” アクセストークンを利用した投稿を許可する","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Chat マスターデータリファレンス","url":"/ja/api_reference/chat/master_data/"},{"content":"マスターデータのフォーマット  version string  2020-04-30 マスターデータのフォーマットバージョン entryModels List ~ 10000 items エントリーモデル エントリーモデルは、GS2-Dictionary において図鑑に記録可能な対象を定義するマスターデータです。 各エントリーモデルは、モンスターやアイテム、アバターパーツなど、図鑑に記録されるエンティティの種類を表します。 エントリーの所持状態は「記録済み / 未記録」の2値で管理され、同一エントリーモデルに対して数量やスタックの概念はありません。 モデル EntryModel エントリーモデル エントリーモデルは、GS2-Dictionary において図鑑に記録可能な対象を定義するマスターデータです。 各エントリーモデルは、モンスターやアイテム、アバターパーツなど、図鑑に記録されるエンティティの種類を表します。 エントリーの所持状態は「記録済み / 未記録」の2値で管理され、同一エントリーモデルに対して数量やスタックの概念はありません。  entryModelId string ※ ~ 1024文字 エントリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 エントリーモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Dictionary マスターデータリファレンス","url":"/ja/api_reference/dictionary/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-03-01 マスターデータのフォーマットバージョン distributorModels List ~ 100 items 配信モデル 配信モデルとはリソースの入手時に所持枠を超えて入手した時のポリシーを設定するエンティティです。 GS2-Distributor を通して入手処理を行うことで、あふれたリソースを GS2-Inbox のメッセージとして転送することができます。 モデル DistributorModel 配信モデル 配信モデルとはリソースの入手時に所持枠を超えて入手した時のポリシーを設定するエンティティです。 GS2-Distributor を通して入手処理を行うことで、あふれたリソースを GS2-Inbox のメッセージとして転送することができます。  distributorModelId string ※ ~ 1024文字 配信モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 配信モデル名 配信モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 inboxNamespaceId string ~ 1024文字 あふれたリソースを転送する GS2-Inbox のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN リソースの入手がプレイヤーの所持枠を超えた場合、あふれたリソースは指定された GS2-Inbox ネームスペースにメッセージとして転送されます。プレイヤーは後から受信箱からリソースを受け取ることができます。 whiteListTargetIds List [] 0 ~ 1000 items GS2-Distributorを通して処理出来る対象のリソースGRNのホワイトリスト この配信モデルを使用して入手処理を行える対象となるリソースのGRNプレフィックスを指定します。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Distributor マスターデータリファレンス","url":"/ja/api_reference/distributor/master_data/"},{"content":"マスターデータのフォーマット  version string  2023-07-18 マスターデータのフォーマットバージョン balanceParameterModels List ~ 10000 items バランスパラメータモデル バランスパラメータの抽選条件を定義します。 バランスパラメータは固定の合計値を複数のパラメータスロットに分配します。例えば、合計パワーが100の武器に対して ATK=60、DEF=30、SPD=10 のように配分されます。初期値の設定方針により値の割り当て方法が決まります： average は均等に分配し、 lottery は合計値をランダムに配分します。 rarityParameterModels List ~ 10000 items レアリティパラメータモデル レアリティパラメータの抽選条件を定義します。レアリティパラメータは重み付き抽選システムを使用して、付与されるパラメータの数と割り当てられる具体的な値の両方を決定します。まず、付与数モデルのリストから重み付き抽選により埋めるパラメータスロット数が決定されます。次に、各スロットの値がパラメータ値モデルのリストから重み付き抽選で選択され、制御された確率分布によるランダムな装備属性を提供します。 モデル BalanceParameterModel バランスパラメータモデル バランスパラメータの抽選条件を定義します。 バランスパラメータは固定の合計値を複数のパラメータスロットに分配します。例えば、合計パワーが100の武器に対して ATK=60、DEF=30、SPD=10 のように配分されます。初期値の設定方針により値の割り当て方法が決まります： average は均等に分配し、 lottery は合計値をランダムに配分します。  balanceParameterModelId string ※ ~ 1024文字 バランスパラメータモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 バランスパラメータモデル名 バランスパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 totalValue long  0 ~ 9223372036854775805 合計値 すべてのパラメータスロットに分配される固定の合計値です。パラメータが抽選される際、使用される配分方針に関わらず、個々の値の合計は常にこの合計値になります。 initialValueStrategy 文字列列挙型 enum {   “average”,   “lottery” } “average” 初期値の設定方針 初回割り当て時に合計値をパラメータスロットにどのように分配するかを決定します。 average は合計値をすべてのパラメータに均等に分配し、 lottery は合計値をランダムに分配してバラエティに富んだパラメータの組み合わせを作成します。 定義 説明 “average” 平均値 “lottery” 抽選 parameters List  1 ~ 10 items バランスパラメータ値モデルのリスト このバランスパラメータで利用可能なパラメータスロットを定義します。各エントリは名前付きパラメータスロット（例: ATK、DEF、SPD）をオプションのメタデータとともに指定します。合計値はこれらのスロットに分配されます。 BalanceParameterValueModel バランスパラメータ値モデル バランスパラメータ内で利用可能な単一のパラメータスロットを定義します。各エントリは、抽選処理中に合計値の一部を受け取る名前付きスロット（例: ATK、DEF、SPD）を指定します。  name string  ~ 64文字 名前 このパラメータスロットの識別子（例: ATK、DEF、SPD）です。バランスパラメータモデル内で一意である必要があります。抽選されたパラメータ値の保存・取得時にキーとして使用されます。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 RarityParameterModel レアリティパラメータモデル レアリティパラメータの抽選条件を定義します。レアリティパラメータは重み付き抽選システムを使用して、付与されるパラメータの数と割り当てられる具体的な値の両方を決定します。まず、付与数モデルのリストから重み付き抽選により埋めるパラメータスロット数が決定されます。次に、各スロットの値がパラメータ値モデルのリストから重み付き抽選で選択され、制御された確率分布によるランダムな装備属性を提供します。  rarityParameterModelId string ※ ~ 1024文字 レアリティパラメータモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レアリティパラメータモデル名 レアリティパラメータモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumParameterCount int  1 ~ 10 付与するパラメータの最大数 リソースに付与できるパラメータスロット数の上限です。実際に付与される数は付与数モデルのリストからの重み付き抽選で決定されますが、この値を超えることはありません。 parameterCounts List  1 ~ 10 items レアリティパラメータの付与数モデルのリスト 付与されるパラメータスロット数を決定するための重み付き抽選エントリを定義します。各エントリは付与数と排出重みを指定します。重みが大きいほど、その付与数が選択される確率が高くなります。 parameters List  1 ~ 1000 items レアリティパラメータ値モデルのリスト 抽選可能なパラメータ値のプールを定義します。各エントリはパラメータ名、リソース詳細、排出重みを指定します。パラメータスロットを埋める際、このプールから重複なしの重み付き抽選で値が選択されます。 RarityParameterCountModel レアリティパラメータの付与数モデル リソースに付与されるパラメータスロット数を決定するための重み付き抽選の単一エントリを定義します。各エントリはパラメータ数と排出重みをペアにし、パラメータ数量の確率分布を細かく制御できます。  count int  0 ~ 10 付与数 このエントリが抽選された際に付与するパラメータスロット数です。例えば、付与数が 3 の場合、リソースは値モデルプールから選択された 3 つのパラメータ値を受け取ります。 weight int  1 ~ 2147483646 排出重み パラメータ付与数を決定する重み付き抽選で使用される相対的な重みです。値が大きいほど、この付与数が選択される確率が高くなります。実際の確率は、この重みを付与数モデルリスト内のすべての重みの合計で割った値になります。 RarityParameterValueModel レアリティパラメータ値モデル レアリティパラメータ値の重み付き抽選プール内の単一エントリを定義します。各エントリはパラメータ名、ゲーム定義のリソース詳細、およびプール内の他のエントリに対する選択確率を決定する排出重みを指定します。  name string  ~ 64文字 名前 この抽選エントリの識別子です。レアリティパラメータモデルの値プール内で一意である必要があります。抽選された際、この名前が結果のレアリティパラメータ値に保存されます。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 resourceName string  ~ 64文字 ゲーム内で使用するパラメータリソースの種類を表す名前（GS2の動作のためには使用しません） このパラメータ値に関連付けられたゲーム定義のリソース種別名（例: “fire_attack”、“ice_resist”）です。GS2 はこの値を自身の動作には使用せず、抽選結果にそのまま渡されゲームロジックで使用されます。 resourceValue long  0 ~ 9223372036854775805 ゲーム内で使用するパラメータリソースの値（GS2の動作のためには使用しません） このパラメータのゲーム定義の数値（例: 攻撃力+50 の場合は 50）です。GS2 はこの値を自身の動作には使用せず、抽選結果にそのまま渡されゲームロジックで使用されます。 weight int  1 ~ 2147483646 排出重み パラメータ値を選択する重み付き抽選で使用される相対的な重みです。値が大きいほど、このエントリが選択される確率が高くなります。実際の確率は、この重みをプール内のすべての重みの合計で割った値になります。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Enchant マスターデータリファレンス","url":"/ja/api_reference/enchant/master_data/"},{"content":"マスターデータのフォーマット  version string  2020-08-22 マスターデータのフォーマットバージョン rateModels List ~ 10000 items 強化レートモデル 強化レートは強化に使用する素材と強化対象を定義したデータです。 素材データ、強化対象データは共に GS2-Inventory で管理されている必要があります。 強化で得られる経験値は GS2-Inventory のメタデータにJSON形式で記録します。 ここではメタデータのどの階層に経験値の値が格納されているかを記載する必要があります。 強化時に一定の確率で 大成功 といった形で入手できる経験値量に補正値をかけることができます。 その抽選確率もこのエンティティで定義します。 unleashRateModels List ~ 10000 items 限界突破レートモデル アイテムの限界突破（解放）条件を定義します。GS2-Inventory で管理されるアイテムと GS2-Grade のグレードモデルを関連付け、グレードの進行を可能にします。各グレードレベルで消費する同種アイテムの数を個別に設定でき、各限界突破段階のコストを細かく制御できます。 モデル RateModel 強化レートモデル 強化レートは強化に使用する素材と強化対象を定義したデータです。 素材データ、強化対象データは共に GS2-Inventory で管理されている必要があります。 強化で得られる経験値は GS2-Inventory のメタデータにJSON形式で記録します。 ここではメタデータのどの階層に経験値の値が格納されているかを記載する必要があります。 強化時に一定の確率で 大成功 といった形で入手できる経験値量に補正値をかけることができます。 その抽選確率もこのエンティティで定義します。  rateModelId string ※ ~ 1024文字 強化レートモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 targetInventoryModelId string  ~ 1024文字 強化対象に使用できる GS2-Inventory インベントリモデルの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化対象となるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。強化されるアイテムはこのインベントリモデルに属している必要があります。 acquireExperienceSuffix string  ~ 1024文字 GS2-Experience で入手した経験値を格納するプロパティID に付与するサフィックス アイテムのプロパティ ID の末尾に追加され、経験値が保存される GS2-Experience のプロパティ ID を構成する文字列です。同じアイテムに複数の経験値種別を持たせることができます（例: キャラクターレベルの “level”、好感度の “like”）。 materialInventoryModelId string  ~ 1024文字 強化の素材に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化素材として使用できるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。各素材が提供する経験値は、acquireExperienceHierarchy で指定された JSON 階層を使用してアイテムモデルのメタデータに定義されます。 acquireExperienceHierarchy List 0 ~ 10 items ItemModelのメタデータに格納する、入手経験値を定義するJSONデータの階層構造の定義 GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 例えば、{ “aaa”: { “bbb”: { “experienceValue”: 100 } } } というような構造のデータ定義でメタデータに設定したい場合は、[ “aaa”, “bbb”, “experienceValue” ] のように指定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 experienceModelId string  ~ 1024文字 強化の結果得られる GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 強化で得られた経験値が記録される GS2-Experience の経験値モデルを指定します。経験値は、対象アイテムのプロパティ ID と acquireExperienceSuffix を組み合わせて識別されるプロパティに加算されます。 bonusRates List 0 ~ 1000 items 経験値獲得量ボーナス 強化時のボーナス経験値倍率の重み付き抽選を定義します。各エントリは倍率（例: 1.5 で 150%）と排出重みを指定します。強化実行時に重み付き抽選で1つのエントリが選択され、「大成功」ボーナスが獲得経験値に適用されるかどうかが決定されます。 BonusRate 経験値獲得量ボーナス 強化時の経験値ボーナス倍率を決定する重み付き抽選の単一エントリを定義します。異なる倍率と重みを持つ複数のエントリを設定することで、制御された確率による「大成功」や「超成功」の仕組みを実装できます。  rate float 1.0 0 ~ 10000 経験値ボーナスの倍率 (1.0 = ボーナスなし) このエントリが抽選された際に基本経験値に適用される倍率です。1.0 はボーナスなしの通常強化、1.5 は経験値 150%（大成功）、2.0 は経験値 200%（超成功）などを意味します。 weight int 1 0 ~ 2147483645 抽選重み ボーナスレートを選択する重み付き抽選で使用される相対的な重みです。値が大きいほど、このボーナスレートが選択される確率が高くなります。実際の確率は、この重みをボーナスレートリスト内のすべての重みの合計で割った値になります。 UnleashRateModel 限界突破レートモデル アイテムの限界突破（解放）条件を定義します。GS2-Inventory で管理されるアイテムと GS2-Grade のグレードモデルを関連付け、グレードの進行を可能にします。各グレードレベルで消費する同種アイテムの数を個別に設定でき、各限界突破段階のコストを細かく制御できます。  unleashRateModelId string ※ ~ 1024文字 限界突破レートモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 限界突破レートモデル名 限界突破レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 description string ~ 1024文字 説明文 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 targetInventoryModelId string  ~ 1024文字 限界突破対象に使用できる GS2-Inventory インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 限界突破対象となるアイテムを保持する GS2-Inventory のインベントリモデルを指定します。限界突破するアイテムと素材として消費する同種アイテムの両方がこのインベントリモデルに属している必要があります。 gradeModelId string  ~ 1024文字 グレードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 対象アイテムの限界突破レベルを追跡する GS2-Grade のグレードモデルを指定します。限界突破が成功すると、このグレードモデル内でアイテムのグレードが加算されます。 gradeEntries List  1 ~ 1000 items グレードエントリーリスト 限界突破の各グレードレベルに対する素材コストを定義します。各エントリはグレード値と、そのグレードに到達するために消費する必要がある同種アイテム数をマッピングします。例えば、グレード1は複製1個、グレード2は複製3個のように設定できます。 UnleashRateEntryModel 限界突破レートエントリモデル 限界突破の進行における単一グレードレベルの素材コストを定義します。各エントリは対象となるグレード値と、そのグレードを達成するために消費する必要がある同種アイテムの数を指定します。  gradeValue long  1 ~ 1000 対象グレード このエントリがコストを定義するグレード値です。このグレードレベルへの限界突破を実行する際、needCount で指定された数のアイテムが消費されます。 needCount int  1 ~ 1000 同種のアイテムを何個消費するか 対象グレードへの限界突破を実行するために消費する必要がある同種アイテムの数です。これらのアイテムは、限界突破されるアイテムと同じアイテムモデルのものです。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Enhance マスターデータリファレンス","url":"/ja/api_reference/enhance/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-08-19 マスターデータのフォーマットバージョン rateModels List ~ 10000 items 交換レートモデル 交換レートモデルはリソースとリソースを交換する際に使用するレートを定義するエンティティです。 直ちに交換できるレートだけでなく、現実時間で一定時間経過したのちに交換できるレートを設定できます。 現実時間での時間経過が必要な交換レートには、更に即時交換を実行するために必要なリソースを定義することが可能です。 incrementalRateModels List ~ 10000 items コスト上昇型交換レートモデル 通常の交換レートは常に一定のレートでの交換を提供します。 上昇型交換レートでは、交換回数に応じてコストが上昇していくレートを定義することができます。 例えば、1回目の交換では 1:1 で交換できるが、2回目の交換では 2:1 で交換できる、といったレートを定義することができます。 このようなレートを定義することで、プレイヤーがゲームを進めることで得られるリソースの価値を上げることができます。 交換回数は現実時間の経過でリセットすることができます。 この機能を利用することで、毎日あるいは毎週交換に必要なコストをリセットすることができます。 モデル RateModel 交換レートモデル 交換レートモデルはリソースとリソースを交換する際に使用するレートを定義するエンティティです。 直ちに交換できるレートだけでなく、現実時間で一定時間経過したのちに交換できるレートを設定できます。 現実時間での時間経過が必要な交換レートには、更に即時交換を実行するために必要なリソースを定義することが可能です。  rateModelId string ※ ~ 1024文字 交換レートモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト 交換が実行される前にすべてパスする必要がある事前条件チェックです。いずれかの検証アクションが失敗すると、リソースを消費せずに交換が中止されます。レベル要件やインベントリ容量などの条件を強制するために使用されます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト この交換を実行するためにプレイヤーが支払う必要があるリソース（コスト）を定義します。複数の消費アクションを指定でき、ゴールドとアイテムの両方を必要とするような複雑な交換コストを実現できます。これらのアクションは分散トランザクション内の消費アクションとして実行されます。 timingType 文字列列挙型 enum {   “immediate”,   “await” } “immediate” 交換の種類 交換実行後に報酬がいつ配送されるかを決定します。 immediate は交換実行時に即座に報酬を配送します。 await は報酬を受け取る前に実時間の経過が必要で、待機期間（例: クラフト時間）を設けます。 定義 説明 “immediate” 即時 “await” 現実時間の経過待ち lockTime int {timingType} == “await” ※ 0 ~ 538214400 交換実行から実際に報酬を受け取れるようになるまでの待ち時間（分） timingType が await の場合にのみ適用されます。交換が開始されてからプレイヤーが報酬を受け取れるようになるまでに経過する必要がある実時間の分数を指定します。待ち時間はスキップ機能を使用して短縮できます。 ※ timingType が “await” であれば 必須 acquireActions List [] 0 ~ 100 items 入手アクションリスト 交換完了時にプレイヤーが受け取るリソース（報酬）を定義します。複数の入手アクションを指定して、さまざまなリソースタイプを同時に付与できます。これらのアクションは分散トランザクション内の入手アクションとして実行されます。 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 ConsumeAction 消費アクション  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 IncrementalRateModel コスト上昇型交換レートモデル 通常の交換レートは常に一定のレートでの交換を提供します。 上昇型交換レートでは、交換回数に応じてコストが上昇していくレートを定義することができます。 例えば、1回目の交換では 1:1 で交換できるが、2回目の交換では 2:1 で交換できる、といったレートを定義することができます。 このようなレートを定義することで、プレイヤーがゲームを進めることで得られるリソースの価値を上げることができます。 交換回数は現実時間の経過でリセットすることができます。 この機能を利用することで、毎日あるいは毎週交換に必要なコストをリセットすることができます。  incrementalRateModelId string ※ ~ 1024文字 コスト上昇型交換レートモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 consumeAction ConsumeAction  消費アクション（数量/値は自動的に上書きされます） 交換のコストとして消費されるリソースの種類を定義します。実際の数量は交換回数と計算方式（線形、べき乗、スクリプト）に基づいて動的に計算されます。アクションの種類と対象リソースのみ指定すればよく、数量フィールドは自動的に上書きされます。 calculateType 文字列列挙型 enum {   “linear”,   “power”,   “gs2_script” }  コスト上昇量の計算方式 交換回数に応じてコストがどのように上昇するかを決定します。 linear はコストを baseValue +（coefficientValue × 交換回数）として計算します。 power はコストを coefficientValue ×（交換回数 + 1）^2 として計算します。 gs2_script は任意のロジックのためにカスタム GS2-Script に計算を委任します。 定義 説明 “linear” ベース値 + (係数 * 交換回数) “power” 係数 * (交換回数 + 1) ^ 2 “gs2_script” GS2-Script による任意のロジック baseValue long {calculateType} == “linear” ※ 0 ~ 9223372036854775805 ベース値 linear 計算方式を使用する場合の初回交換時の基本コストです。合計コストは baseValue +（coefficientValue × 交換回数）として計算されます。 ※ calculateType が “linear” であれば 必須 coefficientValue long {calculateType} in [“linear”, “power”] ※ 0 ~ 9223372036854775805 係数 交換回数に応じてコストがどれだけ速く上昇するかを制御する乗数です。 linear モードでは、各交換でこの値がコストに加算されます。 power モードでは、コストは coefficientValue ×（交換回数 + 1）^2 として計算されます。 ※ calculateType が “linear”,“power\"であれば 必須 calculateScriptId string {calculateType} == “gs2_script” ※ ~ 1024文字 コスト計算スクリプトの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - calculateCost ※ calculateType が “gs2_script” であれば 必須 exchangeCountId string  ~ 1024文字 交換実行回数を管理する GS2-Limit の回数制限モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN 各ユーザーがこのコスト上昇型交換を何回実行したかを追跡する GS2-Limit の回数制限モデルを参照します。カウントは上昇するコストの計算に使用され、GS2-Limit のリセットタイミングを使用して定期的（例: 毎日または毎週）にリセットできます。 maximumExchangeCount int 2147483646 0 ~ 2147483646 交換回数の上限 ユーザーがこのコスト上昇型交換を実行できる最大回数です。交換回数がこの上限に達すると、GS2-Limit によるカウントリセットまでそれ以降の交換が拒否されます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト コスト上昇型交換の完了時にプレイヤーが受け取るリソース（報酬）を定義します。報酬は交換回数に関わらず一定で、コストのみが交換ごとに増加します。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Exchange マスターデータリファレンス","url":"/ja/api_reference/exchange/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-01-11 マスターデータのフォーマットバージョン experienceModels List ~ 100 items 経験値モデル 経験値とランクシステムのルールを定義します。ランクアップに必要な経験値の閾値、デフォルトのランクキャップ、最大ランクキャップを設定します。ランクキャップはステータスが到達できる最大ランクを制限し、ステータスごとに最大ランクキャップまで引き上げることができます（例: 限界突破）。オプションで、現在のランクに基づいて報酬倍率を調整する入手アクションレートテーブルを含めることができます。 モデル ExperienceModel 経験値モデル 経験値とランクシステムのルールを定義します。ランクアップに必要な経験値の閾値、デフォルトのランクキャップ、最大ランクキャップを設定します。ランクキャップはステータスが到達できる最大ランクを制限し、ステータスごとに最大ランクキャップまで引き上げることができます（例: 限界突破）。オプションで、現在のランクに基づいて報酬倍率を調整する入手アクションレートテーブルを含めることができます。  experienceModelId string ※ ~ 1024文字 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 経験値モデル名 経験値モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultExperience long 0 0 ~ 9223372036854775805 経験値の初期値 新規作成されたステータスに割り当てられる経験値です。通常、プレイヤーが進行の最初から始めるように 0 に設定されます。初期ランクはこの値からランクアップ閾値テーブルを使用して決定されます。 defaultRankCap long  0 ~ 9223372036854775805 ランクキャップの初期値 新規作成されたステータスが到達できるデフォルトの最大ランクです。このランクの閾値を超えた経験値は破棄されるかオーバーフロースクリプトがトリガーされます。ランクキャップは限界突破などの操作により、ステータスごとに maxRankCap まで引き上げることができます。 maxRankCap long  0 ~ 9223372036854775805 ランクキャップの最大値 ランクキャップの絶対的な上限です。ランクキャップ増加操作（限界突破など）を行っても、ランクキャップはこの値を超えることはできません。defaultRankCap 以上の値である必要があります。 rankThreshold Threshold  ランクアップ閾値 各ランクに必要な累計経験値を定義する閾値テーブルを参照します。閾値のエントリ数が到達可能な最大ランクを決定し、各エントリの値は次のランクに到達するために必要な経験値を指定します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト ステータスのランクを参照として使用する際に報酬量を調整するランクベースの倍率テーブルを定義します。各テーブルはランクと倍率をマッピングし、同じアクションからより高ランクのキャラクターがより多くの報酬を受け取るような仕組みを実現できます。 Threshold ランクアップ閾値 ランクアップ閾値は経験値からランク（レベル）を決定するために必要な数列です。 [10, 20] という値を設定した場合、経験値の値が 1~9 の間はランク1、10~19 の間はランク2、経験値の値が 20 でランク3 となり、それ以上経験値を入手することが出来なくなります。  metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 values List  1 ~ 10000 items ランクアップ経験値閾値リスト ランク進行を定義する累計経験値の順序付き配列です。エントリ数が到達可能な最大ランクを決定します。例えば [10, 20] の場合、経験値 0〜9 でランク1、10〜19 でランク2、20 以上でランク3（それ以上の経験値獲得は不可）となります。 AcquireActionRate 報酬加算テーブル ステータスの現在のランクに基づいて報酬量を調整するランクベースの倍率テーブルを定義します。テーブルの各エントリはランクに対応し、入手量に適用される倍率を指定します。標準的な倍精度浮動小数点値と、大規模な計算用の大数値文字列表現の両方をサポートします。  name string  ~ 128文字 報酬加算テーブル名 この報酬加算テーブルの一意な識別子です。特定の入手アクションに適用する倍率テーブルを指定する際に参照されます。 mode 文字列列挙型 enum {   “double”,   “big” } “double” 報酬加算テーブルの種類 倍率値の数値精度を選択します。標準的な浮動小数点数（2^48 まで）には “double” を、大規模な計算が必要な場合は 1024 桁までの文字列表現をサポートする “big” を使用します。 定義 説明 “double” 2^48 未満の浮動小数点数 “big” 文字列表記で1024桁未満の浮動小数点数 rates List {mode} == “double” ※ 1 ~ 10000 items ランクごとの加算量(倍率) ランクをインデックスとする倍率値の配列です。i 番目のエントリはステータスがランク i の時に適用される報酬倍率を定義します。mode が “double” に設定されている場合に使用されます。 ※ mode が “double” であれば 必須 bigRates List {mode} == “big” ※ 1 ~ 10000 items ランクごとの加算量(倍率) ランクをインデックスとする文字列表現の倍率値の配列です。i 番目のエントリはステータスがランク i の時に適用される報酬倍率を定義します。大数値精度が必要な計算で mode が “big” に設定されている場合に使用されます。 ※ mode が “big” であれば 必須","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Experience マスターデータリファレンス","url":"/ja/api_reference/experience/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-09-09 マスターデータのフォーマットバージョン moldModels List ~ 100 items フォームの保存領域モデル フォームの保存領域モデルは、パーティ編成であれば「火属性パーティ」「水属性パーティ」のような形で保存することを想定しています。 保存できる領域の数は制限することができ、個別に拡張することもできます。 propertyFormModels List ~ 100 items プロパティフォームモデル プロパティフォームモデルは編成状況を表すエンティティです。 Mold / Form との違いは、スロット数を定義して、各スロットに編成を記録するのが Mold / Form で、 所有している装備に対してスキルを設定するような、数を事前に決めるのが難しい編成を表現するのに利用するのがプロパティフォームモデルです。 モデル FormModel フォームモデル フォームモデルは編成状況を表すエンティティです。 編成できる領域として スロット を定義できます。 武器・防具 であれば 「右手」「左手」「胴」「腕」のような部位をスロットとし、 パーティであれば「前衛」「中衛」「後衛」のようなポジションをスロットとして表現できます。  formModelId string ※ ~ 1024文字 フォームモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 フォームモデル名 フォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このフォームを構成するスロット定義の順序付きリストです。各スロットは割り当て可能なポジションを表し、スロット名はフォーム内で一意である必要があります。装備では「weapon」「armor」「accessory」のようなスロット、パーティでは「position_1」「position_2」のようなスロットが考えられます。 SlotModel スロットモデル フォームモデル内の1つのスロットを定義します。スロットはゲームリソース（アイテム、キャラクター、装備など）を配置できる割り当て可能なポジションを表します。プロパティの正規表現によってスロットに設定可能な値が検証されます。  name string  ~ 128文字 スロットモデル名 フォームモデル内でこのスロットを一意に識別する名前です。装備フォームでは「right_hand」「body」のような名前が、パーティフォームでは「vanguard」「rear_guard」のような名前が一般的です。 propertyRegex string “.*” ~ 512文字 プロパティとして設定可能な値の正規表現 このスロットに割り当て可能なプロパティ ID 値を検証する正規表現パターンです。例えば、特定の GS2-Inventory アイテム GRN や GS2-Dictionary エントリー GRN に制限することができます。デフォルトは “.*” で任意の値を許可します。 metadata string ~ 512文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 MoldModel フォームの保存領域モデル フォームの保存領域モデルは、パーティ編成であれば「火属性パーティ」「水属性パーティ」のような形で保存することを想定しています。 保存できる領域の数は制限することができ、個別に拡張することもできます。  moldModelId string ※ ~ 1024文字 フォームの保存領域 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialMaxCapacity int  1 ~ 2147483646 フォームを保存できる初期キャパシティ この保存領域で各プレイヤーが利用できるデフォルトのフォーム保存スロット数です。例えば 3 に設定すると、プレイヤーは初期状態で最大 3 つの異なる編成（例:「火属性パーティ」「水属性パーティ」「風属性パーティ」）を保存できます。プレイヤーごとに maxCapacity まで拡張可能です。 maxCapacity int  1 ~ 2147483646 フォームを保存できる最大キャパシティ この保存領域でプレイヤーごとのフォーム保存スロット数の絶対的な上限です。キャパシティ拡張操作を行っても、キャパシティはこの値を超えることはできません。initialMaxCapacity 以上の値である必要があります。 formModel FormModel  フォームモデル PropertyFormModel プロパティフォームモデル プロパティフォームモデルは編成状況を表すエンティティです。 Mold / Form との違いは、スロット数を定義して、各スロットに編成を記録するのが Mold / Form で、 所有している装備に対してスキルを設定するような、数を事前に決めるのが難しい編成を表現するのに利用するのがプロパティフォームモデルです。  propertyFormModelId string ※ ~ 1024文字 プロパティフォームモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 プロパティフォームモデル名 プロパティフォームモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 slots List  1 ~ 10 items スロットモデルリスト このプロパティフォームのスロット定義の順序付きリストです。キャパシティでフォーム数が制限される Mold/Form とは異なり、プロパティフォームはプロパティ ID で識別され、所有するリソースごとに存在できます。スロット名はフォーム内で一意である必要があります。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Formation マスターデータリファレンス","url":"/ja/api_reference/formation/master_data/"},{"content":"マスターデータのフォーマット  version string  2023-12-25 マスターデータのフォーマットバージョン gradeModels List ~ 100 items グレードモデル グレードモデルとは、キャラクターや装備のランクを示すエンティティで、グレードによって GS2-Experience のランクキャップを設定することができます。 モデル GradeModel グレードモデル グレードモデルとは、キャラクターや装備のランクを示すエンティティで、グレードによって GS2-Experience のランクキャップを設定することができます。  gradeModelId string ※ ~ 1024文字 グレードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 グレードモデル名 グレードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultGrades List 0 ~ 100 items デフォルトグレードモデルリスト 新規ステータス作成時に評価されるデフォルトグレードルールの順序付きリストです。各エントリはプロパティIDの正規表現パターンとマッチした場合に割り当てるグレード値を定義します。どのパターンにもマッチしない場合はデフォルトのグレード値 0 が使用されます。 experienceModelId string  ~ 1024文字 GS2-Experience 経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このグレードモデルと連動させる GS2-Experience の経験値モデルの GRN です。グレード値が変更されると、グレードエントリのマッピングに基づいて連動する経験値モデルのランクキャップが自動的に更新されます。これにより、高いグレードが高いランクキャップを解放するグレード駆動の成長が実現できます。 gradeEntries List  1 ~ 100 items グレードエントリーモデルリスト 各グレード値を連動する GS2-Experience モデルのランクキャップにマッピングするグレードエントリの順序付きリストです。配列のインデックスがグレード値に対応し、最初のエントリ（インデックス 0）がグレード 0 のランクキャップを、2番目がグレード 1 を定義します。 acquireActionRates List 0 ~ 100 items 報酬加算テーブルリスト グレードに基づいて報酬量をスケーリングするための名前付き倍率テーブルのコレクションです。複数のテーブルを定義して、異なる種類の報酬（例: 経験値、通貨、アイテム）に異なるスケーリングルールを適用できます。 DefaultGradeModel デフォルトグレードモデル グレードを新規作成する際にプロパティIDの正規表現へのマッチに応じてデフォルトのグレード値を設定することができます。  propertyIdRegex string  ~ 1024文字 プロパティID正規表現 新規作成されたグレードステータスのプロパティIDに対してマッチングされる正規表現パターンです。プロパティIDがこのパターンにマッチすると、0 の代わりに指定されたデフォルトグレード値が初期グレードとして割り当てられます。パターンは順番に評価され、最初にマッチしたものが使用されます。 defaultGradeValue long  0 ~ 9223372036854775805 デフォルトのグレード値 プロパティIDが propertyIdRegex パターンにマッチした場合に新規作成されたステータスに割り当てられる初期グレード値です。このインデックスのグレードエントリが対応するランクキャップを定義するため、この値は連動する GS2-Experience モデルの開始ランクキャップを決定します。 GradeEntryModel グレードエントリーモデル グレード値と連動する GS2-Experience モデルのランクキャップのマッピングを定義します。各エントリはプロパティIDのマッチングに使用する正規表現パターンも指定し、グレードアップ操作に使用できるリソースとそのプロパティIDの変換方法を決定します。  metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 rankCapValue long  0 ~ 9223372036854775805 ランクキャップ値 このグレードが適用された際に連動する GS2-Experience モデルに設定するランクキャップ値です。プレイヤーのグレードがこのエントリに対応する値に変更されると、関連する経験値ステータスのランクキャップがこの値に自動更新され、到達可能な最大ランクが制御されます。 propertyIdRegex string  ~ 1024文字 プロパティID正規表現 グレードアップマッチング用の変数を抽出するために、グレードステータスのプロパティIDに適用される正規表現パターンです。このパターン内のキャプチャグループ（括弧で囲まれた部分）は gradeUpPropertyIdRegex で $1、$2 などとして利用できます。例えば “character-(.+)” というパターンはキャラクター識別子を抽出し、グレードアップ素材のプロパティIDマッチングに使用します。 gradeUpPropertyIdRegex string  ~ 1024文字 グレードアップ用プロパティID正規表現 グレード昇格のために消費できるリソースのプロパティIDを特定する正規表現パターンです。このパターンは propertyIdRegex のキャプチャグループを $1、$2 などで参照できます。例えば propertyIdRegex で “sword-001” を $1 として抽出した場合、このパターンを “grade-up-material-$1” とすることで、その剣に固有の素材をマッチさせることができます。 AcquireActionRate 報酬加算テーブル 現在のグレード値に基づいて報酬量をスケーリングする名前付き倍率テーブルを定義します。各グレード値は入手アクションに適用される倍率にマッピングされ、高いグレードのキャラクターや装備がより多くの報酬を受け取れるようになります。標準的な倍精度浮動小数点数モードと、非常に大きな値に対応するビッグナンバーモードの両方をサポートします。  name string  ~ 128文字 報酬加算テーブル名 グレードモデル内でこの倍率テーブルを一意に識別する名前です。トランザクションの特定の入手アクションにグレードベースの報酬スケーリングを適用する際に参照されます。 mode 文字列列挙型 enum {   “double”,   “big” } “double” 報酬加算テーブルの種類 倍率値の数値精度モードを選択します。“double” モードはほとんどのケースに適した標準的な浮動小数点数を使用します。“big” モードは最大1024桁までの文字列表現の数値を使用し、非常に大きな値の計算を必要とするゲームに対応します。 定義 説明 “double” 2^48 未満の浮動小数点数 “big” 文字列表記で1024桁未満の浮動小数点数 rates List {mode} == “double” ※ 1 ~ 1000 items グレードごとの倍率リスト（double モード） グレード値でインデックスされた報酬倍率の配列で、倍精度浮動小数点数を使用します。インデックス 0 のエントリがグレード 0 の倍率、インデックス 1 がグレード 1 の倍率となります。mode が “double” に設定されている場合に使用されます。 ※ mode が “double” であれば 必須 bigRates List {mode} == “big” ※ 1 ~ 1000 items グレードごとの倍率リスト（big モード） グレード値でインデックスされた報酬倍率の配列で、拡張精度のために文字列表現の数値を使用します。インデックス 0 のエントリがグレード 0 の倍率、インデックス 1 がグレード 1 の倍率となります。非常に大きな数値計算を必要とするゲーム向けに、mode が “big” に設定されている場合に使用されます。 ※ mode が “big” であれば 必須","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Grade マスターデータリファレンス","url":"/ja/api_reference/grade/master_data/"},{"content":"マスターデータのフォーマット  version string  2024-04-25 マスターデータのフォーマットバージョン guildModels List ~ 100 items ギルドモデル ギルドモデルとは、ギルドの加入可能最大人数の設定や、ギルド内での役職ごとの権限設定を持つエンティティです。 モデル GuildModel ギルドモデル ギルドモデルとは、ギルドの加入可能最大人数の設定や、ギルド内での役職ごとの権限設定を持つエンティティです。  guildModelId string ※ ~ 1024文字 ギルドモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 defaultMaximumMemberCount int  1 ~ 2147483646 デフォルト最大メンバー数 新しいギルドが作成される際に許可されるメンバーの初期最大数です。この値は新規ギルドの currentMaximumMemberCount の初期値として使用されます。ギルド操作や入手アクションを通じて、後から maximumMemberCount の上限まで増加させることができます。 maximumMemberCount int  1 ~ 2147483646 最大メンバー数上限 ギルドが持つことができるメンバー数の絶対的な上限です。ギルドの currentMaximumMemberCount はこの値を超えることができません。ギルドが意図されたサイズを超えて成長するのを防ぐハードキャップとして機能します。 inactivityPeriodDays int 7 1 ~ 365 無活動期間（日数） ギルドマスターの無活動がこの日数を超えた場合に、残りのギルドメンバーから新しいギルドマスターが自動的に選出されます。ギルドマスターがプレイを停止した際にギルドが管理不能になるのを防ぎます。 roles List  1 ~ 10 items ロールモデルリスト このタイプのギルド内で利用可能なロール定義のリストです。guildMasterRole および guildMemberDefaultRole で参照されるロールを少なくとも含む必要があります。各ロールはポリシードキュメントを介して固有の権限セットを定義します。最大10個のロールを定義できます。 guildMasterRole string  ~ 128文字 ギルドマスターロール名 ギルドマスターに割り当てられるロールの名前です。roles リストで定義されたロールを参照する必要があります。ギルドマスターは通常、参加リクエストの承認、メンバー追放、ロール変更、ギルド設定の更新など、ギルドを管理する全権限を持ちます。 guildMemberDefaultRole string  ~ 128文字 デフォルトメンバーロール名 新しいギルドメンバーが参加した際に自動的に割り当てられるロールの名前です。roles リストで定義されたロールを参照する必要があります。これはギルドマスターによるロール変更前の一般メンバーの基本権限セットです。 rejoinCoolTimeMinutes int 0 0 ~ 2147483646 再参加クールタイム（分） ユーザーがギルドを離脱した後、再度ギルドに参加できるようになるまでのクールダウン期間（分）です。0 に設定すると即時再参加が可能になります。ユーザーが繰り返しギルドに参加・離脱する悪用パターンを防止します。 maxConcurrentJoinGuilds int 1 ~ 10 同時参加可能ギルド最大数 ユーザーがこのタイプのギルドに同時にメンバーとして参加できる最大数です。プレイヤーが複数のギルドに同時に所属できるデザイン（例: 戦闘ギルドとソーシャルギルド）を可能にします。値は 1 から 10 の範囲です。 maxConcurrentGuildMasterCount int 1 ~ 100 同時存在可能ギルドマスター最大数 1つのギルドに同時に存在できるギルドマスターの最大人数です。複数のプレイヤーがギルドマスターの責任と権限を共有する共同リーダーシップのデザインを可能にします。値は 1 から 100 の範囲です。 RoleModel ロールモデル ロールモデルはギルド内での役割を定義し、その役割ごと実行できる処理に関する権限を設定します。  name string  ~ 128文字 ロールモデル名 ロールモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 policyDocument string  ~ 10240文字 ポリシードキュメント このロールの権限を定義する JSON 形式のポリシードキュメントです。このロールに割り当てられたメンバーに対して、どのギルド操作（参加リクエストの承認/拒否、メンバー追放、ギルド情報の更新、メンバーロールの変更など）が許可または拒否されるかを指定します。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Guild マスターデータリファレンス","url":"/ja/api_reference/guild/master_data/"},{"content":"マスターデータのフォーマット  version string  2023-06-06 マスターデータのフォーマットバージョン categoryModels List ~ 100 items カテゴリーモデル カテゴリーモデルとは、放置報酬を得られる待機カテゴリーを設定するエンティティです。 設定には、待機時間ごとの報酬や、最大待機時間などの情報が含まれます。 モデル CategoryModel カテゴリーモデル カテゴリーモデルとは、放置報酬を得られる待機カテゴリーを設定するエンティティです。 設定には、待機時間ごとの報酬や、最大待機時間などの情報が含まれます。  categoryModelId string ※ ~ 1024文字 カテゴリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 rewardIntervalMinutes int  0 ~ 2147483646 報酬間隔（分） 各放置報酬の間の時間間隔（分）です。例えば60に設定すると、ユーザーは放置時間60分ごとに1つの報酬ユニットを獲得します。報酬の総数は（経過放置分数）/ rewardIntervalMinutes として計算され、acquireActions配列を循環します。 defaultMaximumIdleMinutes int  0 ~ 2147483646 デフォルト最大放置時間（分） このカテゴリーの新しいステータスに対するデフォルトの最大放置時間（分）です。この制限を超える放置時間は追加の報酬を蓄積しません。この値はステータス作成時に各ステータスの maximumIdleMinutes にコピーされ、入手アクションを通じてユーザーごとに拡張できます。 rewardResetMode 文字列列挙型 enum {   “Reset”,   “CarryOver” } “Reset” 報酬リセットモード ユーザーが報酬を受け取った後の放置時間の扱いを決定します。「Reset」は放置時間をゼロに戻し、部分的な間隔時間は失われます。「CarryOver」は追加の報酬を得るに足りなかった残り時間を保持し、次の報酬サイクルにカウントされます。 定義 説明 “Reset” 待機時間を0にリセット “CarryOver” 報酬を得るに至らなかった残り時間を持ち越す acquireActions List [] 1 ~ 100 items 待機時間ごとに得られる入手アクションリスト 待機時間を「X分」だと仮定すると 「X / rewardIntervalMinutes」が報酬を受け取れる数になりますが、ここで指定した配列の要素をループすることで、待機時間ごとに異なる報酬を付与できます。 idlePeriodScheduleId string ~ 1024文字 放置期間スケジュールID 放置時間が蓄積される期間を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ放置時間がカウントされます。イベントが繰り返される場合、ステータスは繰り返し回数を追跡し、新しいサイクルの開始時に放置時間をリセットして、イベント期間ごとに報酬が計算されるようにします。 receivePeriodScheduleId string ~ 1024文字 受取期間スケジュールID ユーザーが蓄積された放置報酬を受け取れる時間枠を定義するGS2-ScheduleイベントのGRNです。設定すると、イベントがアクティブな間のみ報酬の受け取りが受け付けられます。これにより、放置蓄積期間とは別の期間限定の報酬受取期間を設定できます。 AcquireActionList 入手アクションリスト 1つの報酬間隔で一括して付与される複数の入手アクションをグループ化するラッパーです。各 AcquireActionList はカテゴリーモデルの acquireActions 配列内の1つの報酬サイクルに対応し、各間隔で異なる報酬の組み合わせを設定できます。  acquireActions List [] 0 ~ 100 items 入手アクションリスト この報酬間隔がトリガーされた時に一括で実行される入手アクションのコレクションです。複数のアクションを組み合わせて、1つの放置報酬サイクルで異なる種類の報酬を同時に付与できます。リストあたり最大100アクションです。 AcquireAction 入手アクション 放置報酬として使用される単一の入手アクションを表します。アクションタイプ（例：アイテム追加、通貨増加）とそのリクエストパラメータで構成されます。放置報酬が受け取られると、これらのアクションがトランザクションに組み立てられ、実行されてユーザーに報酬が配布されます。  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Idle マスターデータリファレンス","url":"/ja/api_reference/idle/master_data/"},{"content":"マスターデータのフォーマット  version string  2020-03-12 マスターデータのフォーマットバージョン globalMessages List ~ 1000 items グローバルメッセージ グローバルメッセージはゲームプレイヤー全体にメッセージを届ける仕組みです。 グローバルメッセージには有効期間を設定でき、各ゲームプレイヤーはグローバルメッセージを受信する処理を実行することで 有効期間内のグローバルメッセージの中で未受信のメッセージを自分のメッセージボックスにコピーします。 モデル GlobalMessage グローバルメッセージ グローバルメッセージはゲームプレイヤー全体にメッセージを届ける仕組みです。 グローバルメッセージには有効期間を設定でき、各ゲームプレイヤーはグローバルメッセージを受信する処理を実行することで 有効期間内のグローバルメッセージの中で未受信のメッセージを自分のメッセージボックスにコピーします。  globalMessageId string ※ ~ 1024文字 全ユーザーに向けたメッセージ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 グローバルメッセージ名 グローバルメッセージ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string  ~ 4096文字 メタデータ メッセージのタイトル、本文、表示パラメータなどを含むJSON文字列など、グローバルメッセージの内容を表す任意のデータです。ユーザーがこのグローバルメッセージを受信すると、メタデータは受信ボックス内の個別メッセージにコピーされます。GS2はこの値を解釈しません。最大4096文字です。 readAcquireActions List [] 0 ~ 100 items 開封時入手アクション このグローバルメッセージからコピーされたメッセージをユーザーが開封した際に実行される入手アクションのリストです。これらのアクションはメタデータとともに各ユーザーの個別メッセージにコピーされます。グローバルメッセージあたり最大100アクションです。 expiresTimeSpan TimeSpan 有効期限までの期間 ユーザーがこのグローバルメッセージを受信（コピー）した時刻から、コピーされたメッセージが期限切れとなり受信ボックスから自動削除されるまでの期間です。日、時間、分の組み合わせで指定します。有効期限に達するとメッセージは既読状態に関わらず削除され、未受け取りの添付報酬も含めて削除されます。 messageReceptionPeriodEventId string ~ 1024文字 メッセージ受信期間イベントID このグローバルメッセージを受信（ユーザーの受信ボックスにコピー）できる時間枠を定義するGS2-ScheduleイベントのGRNです。この期間外では、ユーザーがグローバルメッセージの受信操作をトリガーしてもメッセージは配信されません。期間限定のイベント告知や季節キャンペーン報酬に便利です。 TimeSpan タイムスパン 日、時間、分の組み合わせとして期間を表します。受信時刻を基準としたメッセージの有効期間を定義するために使用されます。例えば、7日、0時間、0分のタイムスパンは、ユーザーが受信してから正確に1週間後にメッセージが期限切れになることを意味します。  days int 0 0 ~ 365 日数 このタイムスパンの日数です。時間と分と組み合わせて合計期間が計算されます。最大365日です。 hours int 0 0 ~ 24 時間 このタイムスパンの時間数です。日数と分と組み合わせて合計期間が計算されます。最大24時間です。 minutes int 0 0 ~ 60 分 このタイムスパンの分数です。日数と時間と組み合わせて合計期間が計算されます。最大60分です。 AcquireAction 入手アクション 報酬としてメッセージに添付される単一の入手アクションを表します。アクションタイプ（例：インベントリへのアイテム追加、通貨増加）とそのリクエストパラメータで構成されます。メッセージが開封されると、これらのアクションがトランザクションに組み立てられ、実行されてユーザーに報酬が配布されます。  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Inbox マスターデータリファレンス","url":"/ja/api_reference/inbox/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-02-05 マスターデータのフォーマットバージョン inventoryModels List ~ 50 items インベントリモデル インベントリはゲームプレイヤーが所有しているアイテムを格納するカバンのようなものです。 インベントリには容量が設定でき、容量を超えては所有できません。 simpleInventoryModels List ~ 50 items シンプルインベントリモデル 通常の InventoryModel では、インベントリ内に格納できるアイテムの容量制限ができました。 しかし、シンプルインベントリ ではそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。 ただし、シンプルインベントリでは、複数のアイテムの増減処理を1回の処理で実行可能なAPIが利用できます。 bigInventoryModels List ~ 50 items 巨大インベントリモデル 通常の InventoryModel や SimpleInventoryModel では、インベントリに格納できるアイテムの数は int64 の範囲に限られました。 インフレ系ゲームでは、もっと広い値の範囲を必要とする場合があります。 巨大インベントリモデルでは、インベントリに格納できるアイテムの数には1024桁の整数値を持たせることができます。 モデル InventoryModel インベントリモデル インベントリはゲームプレイヤーが所有しているアイテムを格納するカバンのようなものです。 インベントリには容量が設定でき、容量を超えては所有できません。  inventoryModelId string ※ ~ 1024文字 インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialCapacity int  0 ~ 2147483646 初期サイズ インベントリが初めて作成される際にユーザーに提供されるインベントリ枠の数です。各枠には1つのアイテムスタックを格納できます。ユーザーはゲームプレイのアクションを通じてmaxCapacityまで容量を拡張できます。 maxCapacity int  0 ~ 2147483646 最大サイズ ユーザーが拡張可能なインベントリ枠の上限値です。この値を超えて容量を増やすことはできません。すべての枠が使用中でアイテムをこれ以上スタックできない場合、オーバーフロースクリプトが超過分を処理しない限り、入手は失敗します。 protectReferencedItem bool? false 参照元保護 有効にすると、（referenceOf メカニズムで）参照元が登録されているアイテムセットは消費または削除できなくなります。他のシステムで使用中のアイテム（例：装備中のギア、編成にバインドされたアイテム）が誤って削除されることを防ぎます。 itemModels List [] 1 ~ 1000 items アイテムモデル一覧 このインベントリに格納可能なアイテムの種類です。各アイテムモデルは1種類のアイテムのスタックおよび入手動作を定義します。インベントリモデルあたり最大1000アイテムモデルです。 ItemModel アイテムモデル アイテムは、ポーション ×99 のように、1つのインベントリ枠に複数個まとめて所持できます。 このように 1枠に複数個まとめることを「スタック」 と呼び、アイテムごとに スタックできる上限数 を設定できます。 スタック上限に達した場合の挙動もアイテムごとに設定できます。 具体的には、以下のどちらかを選べます： 新しいインベントリ枠を追加して、さらに所持できるようにする 上限に達したため、これ以上入手できないようにする  itemModelId string ※ ~ 1024文字 アイテムモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 アイテムモデル名 アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ GS2-EnhanceにはGS2-Inventoryと連携して強化を行う仕組みがあり、ItemModelのメタデータにJSON形式で、強化素材として使用した場合の経験値量を設定します。 詳細は マイクロサービス紹介 / GS2-Enhance の項で解説しています。 stackingLimit long  1 ~ 9223372036854775805 スタック可能な最大数量 1つのインベントリ枠（スタック）に保持できるこのアイテムの最大数です。この上限に達した場合の動作はallowMultipleStacks設定に依存し、新しい枠が割り当てられるか、それ以上の入手がブロックされます。 allowMultipleStacks bool  複数スタック許可 有効にすると、スタック上限に達した場合に新しいインベントリ枠が自動的に割り当てられ、このアイテムの追加数量を格納します（追加の容量を消費します）。無効の場合、既存の枠でスタック上限に達すると入手がブロックされます。 sortValue int  0 ~ 2147483646 表示順番 インベントリ内のアイテムを表示用にソートするための数値です。値が小さいほど先に表示されます。この値はItemSetレコードにもコピーされ、所持アイテムの一貫した順序付けを可能にします。 SimpleInventoryModel シンプルインベントリモデル 通常の InventoryModel では、インベントリ内に格納できるアイテムの容量制限ができました。 しかし、シンプルインベントリ ではそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。 ただし、シンプルインベントリでは、複数のアイテムの増減処理を1回の処理で実行可能なAPIが利用できます。  inventoryModelId string ※ ~ 1024文字 シンプルインベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 simpleItemModels List [] 1 ~ 1000 items シンプルアイテムモデル一覧 このシンプルインベントリに格納可能なアイテムの種類です。通常のインベントリと異なり、シンプルアイテムにはスタック上限や容量制約がありません。シンプルインベントリモデルあたり最大1000アイテムモデルです。 SimpleItemModel シンプルアイテムモデル ItemModel では、スタックできる数量の最大値を設定でき、一定数を超える場合は複数のスタックに分けるような実装が可能でした。 シンプルアイテム にはそのような機能はなく、単純にアイテムの所持数量を保持するのみとなります。  itemModelId string ※ ~ 1024文字 シンプルアイテムモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シンプルアイテムモデル名 シンプルアイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 BigInventoryModel 巨大インベントリモデル 通常の InventoryModel や SimpleInventoryModel では、インベントリに格納できるアイテムの数は int64 の範囲に限られました。 インフレ系ゲームでは、もっと広い値の範囲を必要とする場合があります。 巨大インベントリモデルでは、インベントリに格納できるアイテムの数には1024桁の整数値を持たせることができます。  inventoryModelId string ※ ~ 1024文字 巨大インベントリモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 bigItemModels List [] 1 ~ 1000 items 巨大アイテムモデル一覧 この巨大インベントリに格納可能なアイテムの種類です。各巨大アイテムモデルは最大1024桁の整数文字列として表される数量を保持できます。巨大インベントリモデルあたり最大1000アイテムモデルです。 BigItemModel 巨大アイテムモデル 巨大アイテムモデルは、巨大インベントリモデルに格納される巨大アイテムを定義するモデルです。 巨大アイテムは、所持数量を int64 の範囲を超えて保持することができます。  itemModelId string ※ ~ 1024文字 巨大アイテムモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Inventory マスターデータリファレンス","url":"/ja/api_reference/inventory/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-04-05 マスターデータのフォーマットバージョン limitModels List ~ 100 items 回数制限モデル 回数制限モデルには、使用回数をリセットするタイミングを設定できます。 リセット間隔は 「毎日」「毎週」「毎月」「リセットしない」「一定日数」の 5 種類から選択できます。 また、回数制限の最大値はマスターデータ側では固定しません。 これは、ゲーム内のコンテキストに応じて、許可される最大回数を動的に変化させるためです。 たとえばステップアップガチャのように、 - 購入回数カウンターが 3 回未満 の場合に購入できる商品 - 上記の商品が購入できない場合に、購入回数カウンターが 5 回未満 なら購入できる別の商品 といったように、状況に応じて「最大回数」を切り替えられる設計を想定しています。 モデル LimitModel 回数制限モデル 回数制限モデルには、使用回数をリセットするタイミングを設定できます。 リセット間隔は 「毎日」「毎週」「毎月」「リセットしない」「一定日数」の 5 種類から選択できます。 また、回数制限の最大値はマスターデータ側では固定しません。 これは、ゲーム内のコンテキストに応じて、許可される最大回数を動的に変化させるためです。 たとえばステップアップガチャのように、 購入回数カウンターが 3 回未満 の場合に購入できる商品 上記の商品が購入できない場合に、購入回数カウンターが 5 回未満 なら購入できる別の商品 といったように、状況に応じて「最大回数」を切り替えられる設計を想定しています。  limitModelId string ※ ~ 1024文字 回数制限モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 回数制限モデル名 回数制限モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” }  リセットタイミング この回数制限モデル配下のカウンター値が自動的にゼロにリセットされるタイミングを決定します。notReset（恒久的、リセットなし）、daily（毎日指定時刻にリセット）、weekly（指定曜日にリセット）、monthly（指定日にリセット）、days（基準日時から一定日数ごとにリセット）から選択します。すべての時刻はUTCです。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセット日 resetTypeが “monthly” の場合にカウンターがリセットされる月の日にちです。1〜31の値が有効です。指定した日がその月の日数を超える場合（例：2月の31日）、その月の最終日にリセットされます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセット曜日 resetTypeが “weekly” の場合にカウンターがリセットされる曜日です。この曜日のresetHour（UTC）で指定された時刻にリセットされます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 daily、weekly、monthlyリセットタイプでカウンターがリセットされるUTCの時刻（0〜23）です。例えば0の場合、UTC午前0時にカウンターがリセットされます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば 必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 resetTypeが “days” の場合のカウンターリセットの間隔（日数）です。リセット周期はanchorTimestampから計算されます。例えばdaysが7でanchorTimestampが月曜日の正午なら、毎週月曜日の正午にカウンターがリセットされます。 ※ resetType が “days” であれば 必須","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Limit マスターデータリファレンス","url":"/ja/api_reference/limit/master_data/"},{"content":"マスターデータのフォーマット  version string  2023-07-11 マスターデータのフォーマットバージョン bonusModels List ~ 100 items ログインボーナスモデル ログインボーナスモデルにはログインボーナスの配布スケジュールを設定します。 配布スケジュールには《スケジュールモード》と《ストリーミングモード》があります。 スケジュールモードでは、GS2-Schedule のイベントの指定が必須で、そのイベントの開始日からの経過日数でボーナスの配布を行います。 途中で撮り逃しが発生した場合、その分のボーナスは配布されません。 ストリーミングモードでは、毎日ボーナスに設定された報酬を先頭から順番に配布します。 ストリーミングモードでは繰り返しの設定が可能です。その場合、ストリームの終端に達した場合、先頭から再度配布を行います。 スケジュールモード・ストリーミングモード 共に、取り逃がしの救済機能があります。 一定のコストを支払うことで、取り逃がしたボーナスを受け取ることができます。 ただし、GS2-Schedule のイベントが関連づけられている場合、イベントの開始日からの経過日数より先のボーナスは受け取ることができません。 取り逃がし機能はストリーミングモードかつ繰り返しが有効な場合は使用することができません。 スケジュールモード・ストリーミングモード 共に、設定可能なボーナスの最大日数は100日です。 モデル BonusModel ログインボーナスモデル ログインボーナスモデルにはログインボーナスの配布スケジュールを設定します。 配布スケジュールには《スケジュールモード》と《ストリーミングモード》があります。 スケジュールモードでは、GS2-Schedule のイベントの指定が必須で、そのイベントの開始日からの経過日数でボーナスの配布を行います。 途中で撮り逃しが発生した場合、その分のボーナスは配布されません。 ストリーミングモードでは、毎日ボーナスに設定された報酬を先頭から順番に配布します。 ストリーミングモードでは繰り返しの設定が可能です。その場合、ストリームの終端に達した場合、先頭から再度配布を行います。 スケジュールモード・ストリーミングモード 共に、取り逃がしの救済機能があります。 一定のコストを支払うことで、取り逃がしたボーナスを受け取ることができます。 ただし、GS2-Schedule のイベントが関連づけられている場合、イベントの開始日からの経過日数より先のボーナスは受け取ることができません。 取り逃がし機能はストリーミングモードかつ繰り返しが有効な場合は使用することができません。 スケジュールモード・ストリーミングモード 共に、設定可能なボーナスの最大日数は100日です。  bonusModelId string ※ ~ 1024文字 ログインボーナスモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ログインボーナスモデル名 ログインボーナスモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 mode 文字列列挙型 enum {   “schedule”,   “streaming” }  モード ログインボーナスの配布スケジュールの種類を指定します。 「schedule」モードでは、GS2-Schedule のイベント開始日からの経過日数に基づいて報酬が配布されます。 「streaming」モードでは、カレンダーの日付に関係なく、毎日先頭から順番に報酬が配布されます。 定義 説明 “schedule” スケジュールモード “streaming” ストリーミングモード periodEventId string ~ 1024文字 期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ログインボーナスを有効化する期間を表す GS2-Schedule のイベントGRN。 スケジュールモードでは必須で、報酬配布の経過日数を計算する起点の開始日を決定します。 ストリーミングモードでは省略可能ですが、指定した場合はイベント開始日からの経過日数より先のボーナスは受け取れなくなります。 resetHour int {periodEventId} == \"\" ※ 0 ~ 23 リセット時間（UTC） 受け取りフラグがリセットされる時刻（0-23、UTC）。 ログインボーナスにおける日付の切り替わりタイミングを決定します。 periodEventId が未指定の場合にのみ必要です。イベントが設定されている場合、リセットタイミングはイベントのスケジュールに従います。 ※ periodEventId が \"\" であれば 必須 repeat 文字列列挙型 enum {   “enabled”,   “disabled” } {mode} == “streaming” ※ 繰り返し 全ての報酬を配布し終えた後に、先頭から再度配布を行うかどうか。 ストリーミングモードでのみ有効です。有効にすると、最後の報酬を配布した後に最初の報酬に戻ってループします。 注意: 繰り返しが有効な場合、取り逃がし救済機能は使用できません。 定義 説明 “enabled” 有効 “disabled” 無効 ※ mode が “streaming” であれば 必須 rewards List 0 ~ 100 items 報酬リスト 日毎の報酬の順序付きリスト。各エントリは1日分のログインボーナスに対応し、インデックス 0 から順に配布されます。 スケジュールモードでは、インデックスはイベント開始日からの経過日数に対応します。 ストリーミングモードでは、インデックスはログイン日数に対応します。最大100エントリまで設定可能です。 missedReceiveRelief 文字列列挙型 enum {   “enabled”,   “disabled” } “disabled” 取り逃がし救済機能 取り逃がしたボーナスの救済機能を有効にするかどうか。有効にすると、ユーザーは指定されたコスト（消費アクション）を支払うことで、受け取り損ねたボーナスを遡って受け取ることができます。 任意で、救済の許可前に条件を確認する検証アクションも設定できます。 ストリーミングモードかつ繰り返しが有効な場合は使用できません。デフォルトは「disabled」です。 定義 説明 “enabled” 有効 “disabled” 無効 missedReceiveReliefVerifyActions List {missedReceiveRelief} == “enabled” [] 0 ~ 10 items 取り逃がし救済の検証アクションリスト 取り逃がし救済を許可する前に実行される検証アクションのリスト。 救済処理の前にユーザーの資格などの前提条件をチェックします。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば 有効 missedReceiveReliefConsumeActions List {missedReceiveRelief} == “enabled” [] 0 ~ 10 items 取り逃がし救済の消費アクションリスト 取り逃がしたボーナスを救済するためにユーザーが支払うコストを定義する消費アクションのリスト。 例えば、ゲーム内通貨やアイテムを救済コストとして消費するよう設定できます。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば 有効 Reward 報酬 ログインボーナスの1日分の報酬設定を表します。 各 Reward にはユーザーが受け取るもの（アイテム、通貨、経験値など）を定義する入手アクションのリストが含まれます。 BonusModel の rewards 配列は1日あたり1つの Reward を保持し、順番に配布されます。 報酬の値はバフシステム（BonusModelBuff）を通じて実行時に変更でき、入手アクションにレート乗数を適用できます。  acquireActions List  1 ~ 10 items 入手アクションリスト この日の報酬としてユーザーに付与されるリソースを定義する入手アクションのリスト。 各アクションは入手アクション（アイテム追加、通貨付与など）とそのリクエストパラメータを指定します。 報酬あたり最低1個、最大10個のアクションを設定できます。 ConsumeAction 消費アクション 消費アクションの仕組みを通じてユーザーからリソースを消費するアクションを定義します。 取り逃がしボーナスの救済でユーザーが支払うコスト（通貨の差し引き、アイテムの消費など）を指定するために使用されます。 action フィールドは消費アクションの種類を指定し、request フィールドには対応するリクエストパラメータが含まれます。  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション 操作の実行前に条件を検証するアクションを定義します。 取り逃がしボーナスの救済で、救済を許可する前に前提条件（ユーザーの資格、リソースの利用可能性など）を確認するために使用されます。 action フィールドは検証アクションの種類を指定し、request フィールドには対応するリクエストパラメータが含まれます。  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 AcquireAction 入手アクション 入手アクションの仕組みを通じてユーザーにリソースを付与するアクションを定義します。 報酬内で使用され、ユーザーが受け取るもの（インベントリへのアイテム追加、通貨の付与、経験値の付与など）を指定します。 action フィールドは入手アクションの種類を指定し、request フィールドには対応するリクエストパラメータが含まれます。  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-LoginReward マスターデータリファレンス","url":"/ja/api_reference/login_reward/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-02-21 マスターデータのフォーマットバージョン lotteryModels List ~ 100 items 抽選モデル 抽選モデルは排出方式や排出テーブルの参照方法を定義するエンティティです。 排出方式は2種類用意されており、通常抽選は毎回一定の確率で抽選をする方式、Box抽選は箱の中にあらかじめ定義された数量の景品が入っており、抽選するたびに箱から景品を取り出していく抽選方式です。 抽選処理を行うにあたって、排出確率テーブルを利用しますが、 GS2-Script を使用すれば複数回抽選を実行した際に排出確率テーブルを一部だけ異なるテーブルに差し替えることができます。 この仕組みを利用することで、10連ガチャで1回だけ異なる抽選確率テーブルを適用することが可能となります。 prizeTables List ~ 100 items 排出確率テーブル 景品には、入手アクションを指定するか、別の排出確率テーブルを参照させることもできます。 排出確率テーブルを入れ子にすることで、たとえば 1段目で SSR / SR / R などのレアリティを抽選し、2段目でそのレアリティに対応した具体的なコンテンツを抽選するといった設定が可能です。 この仕組みにより、ゲーム全体としてのレアリティ別排出確率を調整しやすくなります。 モデル PrizeTable 排出確率テーブル 景品には、入手アクションを指定するか、別の排出確率テーブルを参照させることもできます。 排出確率テーブルを入れ子にすることで、たとえば 1段目で SSR / SR / R などのレアリティを抽選し、2段目でそのレアリティに対応した具体的なコンテンツを抽選するといった設定が可能です。 この仕組みにより、ゲーム全体としてのレアリティ別排出確率を調整しやすくなります。  prizeTableId string ※ ~ 1024文字 排出確率テーブル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 排出確率テーブル名 排出確率テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 prizes List  1 ~ 100 items 景品リスト この排出確率テーブル内の景品リストです。各景品は排出重み（確率）、排出時に実行するアクション、およびオプションの排出回数制限を定義します。各景品の実際の排出確率は、その重みをテーブル内の全景品の重みの合計で割って算出されます。 Prize 景品 排出確率テーブル内の単一の景品エントリです。 景品は入手アクション（アイテムや通貨の付与など）を直接指定するか、別の排出確率テーブルを参照してネストされた抽選を行えます。 各景品には排出重みがあり、排出される相対的な確率を決定します。  prizeId string  UUID ~ 36文字 景品ID 排出確率テーブル内でこの景品を一意に識別するIDです。排出回数制限の追跡や、フェイルオーバー景品の指定時の参照に使用されます。 type 文字列列挙型 enum {   “action”,   “prize_table” }  景品の種類 この景品が直接報酬を付与するか、別の排出確率テーブルに委譲するかを決定します。“action” は排出時に実行する入手アクションを指定します。“prize_table” は別の排出確率テーブルを参照してネストされた抽選を行います（例：1段目でレアリティを決定、2段目で具体的なアイテムを決定）。 定義 説明 “action” 景品の入手アクション “prize_table” 更に排出確率テーブルを指定して再抽選 acquireActions List {type} == “action” [] 1 ~ 100 items 入手アクションリスト この景品が排出された時に実行する入手アクションのリストです。複数のアクションを指定して、一度に複数の報酬を付与できます（例：アイテムと通貨を同時に付与）。 ※ type が “action” であれば 有効 drawnLimit int {type} == “action” 1 ~ 1000000 最大排出数 この景品が全ユーザーを通じて排出される最大回数です。制限に達すると、代わりにフェイルオーバー景品（limitFailOverPrizeId）が排出されます。ジャックポットアイテムなどの数量限定景品の実装に使用されます。 ※ type が “action” であれば 有効 limitFailOverPrizeId string {type} == “action” and {drawnLimit} \u003e 0 ※ ~ 32文字 制限時フェイルオーバー景品ID この景品の排出回数制限（drawnLimit）に達した場合に代わりに排出する景品のIDです。同じ排出確率テーブル内の別の景品を参照する必要があります。 ※ type が “action” で かつ drawnLimit が 0 より大きければ 必須 prizeTableName string {type} == “prize_table” ※ ~ 128文字 排出確率テーブルの名前 抽選を委譲する排出確率テーブルの名前です。景品タイプが “prize_table” の場合にネストされた抽選に使用されます。 ※ type が “prize_table” であれば 必須 weight int  1 ~ 2147483646 排出重み 排出確率テーブル内でのこの景品の相対的な重みです。実際の排出確率は、この景品の重みをテーブル内の全景品の重みの合計で割って算出されます。例えば3つの景品の重みが70、20、10の場合、それぞれの排出確率は70%、20%、10%になります。 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 LotteryModel 抽選モデル 抽選モデルは排出方式や排出テーブルの参照方法を定義するエンティティです。 排出方式は2種類用意されており、通常抽選は毎回一定の確率で抽選をする方式、Box抽選は箱の中にあらかじめ定義された数量の景品が入っており、抽選するたびに箱から景品を取り出していく抽選方式です。 抽選処理を行うにあたって、排出確率テーブルを利用しますが、 GS2-Script を使用すれば複数回抽選を実行した際に排出確率テーブルを一部だけ異なるテーブルに差し替えることができます。 この仕組みを利用することで、10連ガチャで1回だけ異なる抽選確率テーブルを適用することが可能となります。  lotteryModelId string ※ ~ 1024文字 抽選モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 mode 文字列列挙型 enum {   “normal”,   “box” }  抽選モード 景品の抽選方式を選択します。“normal” は毎回一定の確率で抽選を行います（景品は繰り返し排出されます）。“box” は仮想的な箱にあらかじめ定義された数量の景品を入れ、抽選するたびに箱から景品を取り出します（すべての景品が最終的に排出されることが保証されます）。 定義 説明 “normal” 通常抽選 “box” ボックス抽選 method 文字列列挙型 enum {   “prize_table”,   “script” }  抽選方法 排出確率テーブルの参照方法を決定します。“prize_table” は静的に指定された排出確率テーブルを使用します。“script” はGS2-Scriptを使用して抽選時に動的に排出確率テーブルを選択し、10連ガチャで1回だけ異なる排出確率テーブルを適用するなどのシナリオを実現できます。 定義 説明 “prize_table” 静的な排出確率テーブル “script” GS2-Script による動的な排出確率テーブル prizeTableName string {method} == “prize_table” ※ ~ 128文字 排出確率テーブルの名前 この抽選モデルで使用する排出確率テーブルの名前です。抽選方法が “prize_table” の場合に必須です。 ※ method が “prize_table” であれば 必須 choicePrizeTableScriptId string {method} == “script” ※ ~ 1024文字 排出確率テーブルを決定する GS2-Script のスクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN Script トリガーリファレンス - choicePrizeTable ※ method が “script” であれば 必須","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Lottery マスターデータリファレンス","url":"/ja/api_reference/lottery/master_data/"},{"content":"マスターデータのフォーマット  version string  2020-06-24 マスターデータのフォーマットバージョン ratingModels List ~ 50 items レーティングモデル GS2 ではレーティングアルゴリズムとして Glicko-2 を採用しています。 Glicko-2 には複数のパラメータがありますが、GS2-Matchmaking ではそれらを総合的に表す ボラティリティ という1つのパラメータに集約しています。 ボラティリティ は変化の大きさを表すパラメータで、値が大きいほどレーティングの値の変動量が大きくなります。 seasonModels List ~ 50 items シーズンモデル シーズンマッチメイキングにおいて、一定期間有効な永続ギャザリングの期間・最大参加人数・ティアー連携設定を定義するマスターデータです。 GS2-Schedule により期間を管理し、必要に応じて GS2-Experience と連携して同一ティアー内で永続ギャザリングを形成します。 モデル RatingModel レーティングモデル GS2 ではレーティングアルゴリズムとして Glicko-2 を採用しています。 Glicko-2 には複数のパラメータがありますが、GS2-Matchmaking ではそれらを総合的に表す ボラティリティ という1つのパラメータに集約しています。 ボラティリティ は変化の大きさを表すパラメータで、値が大きいほどレーティングの値の変動量が大きくなります。  ratingModelId string ※ ~ 1024文字 レーティングモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レーティングモデル名 レーティングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 initialValue int 1500 100 ~ 10000 レート値の初期値 プレイヤーが初めてレーティング付きマッチメイキングに参加したときに割り当てられる開始レート値。 デフォルトは 1500 です。すべてのプレイヤーは同じレーティングから開始し、対戦結果に基づいて調整されます。 volatility int 100 1 ~ 20000 レーティングのボラティリティ 各対戦後にレート値がどの程度変動するかを制御する Glicko-2 のパラメータ。 値が大きいほどレーティングの変動幅が大きくなり、より早くレーティングが調整されます。 値が小さいほどレーティングが安定し、緩やかに変化します。デフォルトは 100 です。 SeasonModel シーズンモデル シーズンマッチメイキングにおいて、一定期間有効な永続ギャザリングの期間・最大参加人数・ティアー連携設定を定義するマスターデータです。 GS2-Schedule により期間を管理し、必要に応じて GS2-Experience と連携して同一ティアー内で永続ギャザリングを形成します。  seasonModelId string ※ ~ 1024文字 シーズンモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumParticipants int  2 ~ 1000 最大参加人数 1つのシーズンギャザリングに参加可能なプレイヤーの最大人数。 この上限に達するとシーズンギャザリングは満員となり、それ以上のプレイヤーは参加できなくなります。 2 から 1000 の範囲で指定します。 experienceModelId string ~ 1024文字 ティアー管理用の経験値モデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN プレイヤーのティアーを決定するために使用する GS2-Experience の経験値モデルの GRN。 この経験値モデルにおけるプレイヤーのランクがマッチメイキングのティアーとして使用され、同程度のレベルのプレイヤー同士がグルーピングされます。 未指定の場合、ティアーによるグルーピングは無効となり、レベルに関係なく全プレイヤーがマッチングされます。 challengePeriodEventId string  ~ 1024文字 チャレンジ期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このシーズンの有効期間を定義する GS2-Schedule イベントの GRN。 このイベントがアクティブな間のみ、シーズンギャザリングの作成・参加が可能です。 イベント期間が終了するとシーズンがクローズし、新しいマッチメイキングはできなくなります。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Matchmaking マスターデータリファレンス","url":"/ja/api_reference/matchmaking/master_data/"},{"content":"マスターデータのフォーマット  version string  2022-08-28 マスターデータのフォーマットバージョン areaModels List ~ 50 items エリアは空間を分割するもので、同じ座標でもエリアが異なれば別空間として扱うことができます。 モデル AreaModel エリアは空間を分割するもので、同じ座標でもエリアが異なれば別空間として扱うことができます。  areaModelId string ※ ~ 1024文字 エリアモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 エリアモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 layerModels List [] 0 ~ 1000 items レイヤーモデル一覧 LayerModel レイヤーは1つの空間内で複数の論理階層を実現します。 たとえば、キャラクターが大量に存在する空間で、エネミーが見えなくなってしまう問題を解決します。 レイヤー1 にはキャラクターを配置。レイヤー2にはエネミーを配置した場合、レイヤーごとに指定した距離内での取得数量を指定できるため、見えなくなる心配はありません。  layerModelId string ※ ~ 1024文字 レイヤーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 レイヤーモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-MegaField マスターデータリファレンス","url":"/ja/api_reference/mega_field/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-05-28 マスターデータのフォーマットバージョン groups List ~ 20 items ミッショングループモデル ミッショングループは、カウンターのリセットタイミングでタスクをグルーピングするエンティティです。 たとえば、デイリーミッションで1つのグループ、ウィークリーミッションで1つのグループとなります。 counters List ~ 1000 items カウンターモデル カウンターモデルはミッションタスクの達成条件に設定可能なエンティティです。 カウンターの値は複数のミッショングループから参照可能なため、1つのカウンターでウィークリーミッションとデイリーミッションといった複数のミッショングループの達成条件に設定ができます。 モデル CounterModel カウンターモデル カウンターモデルはミッションタスクの達成条件に設定可能なエンティティです。 カウンターの値は複数のミッショングループから参照可能なため、1つのカウンターでウィークリーミッションとデイリーミッションといった複数のミッショングループの達成条件に設定ができます。  counterId string ※ ~ 1024文字 カウンターモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scopes List [] 1 ~ 20 items カウンターのリセットタイミングリスト このカウンターのスコープ（リセットタイミングまたは検証アクション条件）を定義します。1つのカウンターに複数のスコープを設定でき、異なる期間の値（例：デイリー、ウィークリー、累計を同時に）を追跡できます。 challengePeriodEventId string ~ 1024文字 カウンターの操作が可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このカウンターの増減が可能な期間を定義する GS2-Schedule イベントを指定します。未設定の場合、カウンターはいつでも操作できます。 CounterScopeModel カウンターリセットタイミングモデル カウンターのスコープを定義し、カウンター値のリセット方法とタイミングを決定します。スコープはリセットタイミング（毎日、毎週、毎月、一定日数ごと、またはリセットなし）か検証アクション条件のいずれかです。各カウンターは複数のスコープを持ち、異なる期間の値を追跡できます。  scopeType 文字列列挙型 enum {   “resetTiming”,   “verifyAction” } “resetTiming” スコープの種類 カウンタースコープの定義方法を決定します。“resetTiming” は定期的なリセットスケジュールを使用し、“verifyAction” は検証アクションでカウンター値が適用されるかどうかを判定します。 定義 説明 “resetTiming” リセットタイミング “verifyAction” 検証アクション resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } “notReset” リセットタイミング このスコープのカウンター値がリセットされるタイミングを決定します。リセットしない（恒久累計）、毎日、毎週、毎月、一定日数ごとから選択します。scopeType が “resetTiming” の場合のみ使用されます。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセットをする日にち カウンター値がリセットされる月の日にちです。指定した値が月の日数を超える場合は、その月の最終日として扱われます。resetType が “monthly” の場合のみ使用されます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセットする曜日 カウンター値がリセットされる曜日です。resetType が “weekly” の場合のみ使用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 カウンター値がリセットされる時刻（0〜23）です。毎日、毎週、毎月のリセットタイプと組み合わせて使用されます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 conditionName string {scopeType} == “verifyAction” ※ ~ 128文字 条件名 この検証アクション条件スコープを識別する一意の名前です。カウンター内の対応するスコープ値の検索に使用されます。scopeType が “verifyAction” の場合のみ使用されます。 ※ scopeType が “verifyAction” であれば 必須 condition VerifyAction {scopeType} == “verifyAction” ※ 条件 このスコープのカウンター値が適用されるかどうかを判定する検証アクションです。scopeType が “verifyAction” の場合のみ使用されます。 ※ scopeType が “verifyAction” であれば 必須 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば 必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 基準日時からカウントされるカウンター値のリセット間隔の日数です。resetType が “days” の場合のみ使用されます。 ※ resetType が “days” であれば 必須 VerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 MissionGroupModel ミッショングループモデル ミッショングループは、カウンターのリセットタイミングでタスクをグルーピングするエンティティです。 たとえば、デイリーミッションで1つのグループ、ウィークリーミッションで1つのグループとなります。  missionGroupId string ※ ~ 1024文字 ミッショングループ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ミッショングループモデル名 ミッショングループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 tasks List [] 0 ~ 1000 items ミッションタスクリスト このグループに属するミッションタスクです。各タスクは達成条件（カウンターの閾値または検証アクション）と達成時に付与される報酬を定義します。 resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } “notReset” リセットタイミング ミッショングループの達成状況がリセットされるタイミングを決定します。リセットしない（恒久）、毎日、毎週、毎月、基準日時から一定日数ごとから選択します。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと resetDayOfMonth int {resetType} == “monthly” ※ 1 ~ 31 リセットをする日にち ミッショングループがリセットされる月の日にちです。指定した値が月の日数を超える場合は、その月の最終日として扱われます。resetType が “monthly” の場合のみ使用されます。 ※ resetType が “monthly” であれば 必須 resetDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {resetType} == “weekly” ※ リセットする曜日 ミッショングループがリセットされる曜日です。resetType が “weekly” の場合のみ使用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ resetType が “weekly” であれば 必須 resetHour int {resetType} in [“monthly”, “weekly”, “daily”] ※ 0 ~ 23 リセット時刻 ミッショングループがリセットされる時刻（0〜23）です。毎日、毎週、毎月のリセットタイプと組み合わせて使用されます。 ※ resetType が “monthly”,“weekly”,“daily\"であれば 必須 completeNotificationNamespaceId string ~ 1024文字 ミッションのタスクを達成したときのプッシュ通知 このグループ内のミッションタスクが達成された際にプッシュ通知を配信するために使用される GS2-Gateway のネームスペースGRNです。ゲームクライアントにリアルタイムで通知できます。 anchorTimestamp long {resetType} == “days” ※ 経過日数のカウントをする基準日時 UNIX 時間・ミリ秒 ※ resetType が “days” であれば 必須 days int {resetType} == “days” ※ 1 ~ 2147483646 リセットする日数 基準日時からカウントされるリセット間隔の日数です。resetType が “days” の場合のみ使用されます。 ※ resetType が “days” であれば 必須 MissionTaskModel ミッションタスクモデル ミッションタスクは関連付けたカウンターの値が一定を超えたら報酬が貰える条件を定義するエンティティです。  missionTaskId string ※ ~ 1024文字 ミッションタスク GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyCompleteType 文字列列挙型 enum {   “counter”,   “verifyActions” } “counter” 達成条件種別 ミッションタスクの達成判定方法を指定します。“counter” は関連するカウンターのスコープ値が目標閾値に達したかを確認します。“verifyActions” は検証アクションを使用して達成条件を確認します。 定義 説明 “counter” カウンター “verifyActions” 検証アクション targetCounter TargetCounterModel {verifyCompleteType} == “counter” ※ 目標カウンター ミッションタスクの達成判定に使用されるカウンター、スコープ、目標値を定義します。カウンターのスコープ値が指定された目標値に達するか超えた場合、タスクが達成されたとみなされます。 ※ verifyCompleteType が “counter” であれば 必須 verifyCompleteConsumeActions List {verifyCompleteType} == “verifyActions” [] 0 ~ 10 items タスク達成判定に使用する検証アクション ミッションタスクの達成判定に使用される検証アクションのリストです。すべての検証アクションが成功した場合にタスクが達成とみなされます。verifyCompleteType が “verifyActions” の場合のみ使用されます。 ※ verifyCompleteType が “verifyActions” であれば 有効 completeAcquireActions List [] 0 ~ 100 items ミッション達成時の報酬 プレイヤーがミッション達成報酬を受け取る際に実行される入手アクションのリストです。 challengePeriodEventId string ~ 1024文字 報酬が受け取り可能な期間を設定した GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ミッションタスクの報酬を受け取ることができる期間を定義する GS2-Schedule イベントを指定します。未設定の場合、達成後いつでも報酬を受け取ることができます。 premiseMissionTaskName string ~ 128文字 このタスクに挑戦するために達成しておく必要のあるタスクの名前 このタスクの報酬を受け取る前に達成しておく必要がある、同じグループ内の前提ミッションタスクを指定します。段階的なミッションチェーンの作成に使用します。 TargetCounterModel 目標カウンター ミッションの達成目標となるカウンターの情報  counterName string  ~ 128文字 カウンターモデル名 カウンターモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 scopeType 文字列列挙型 enum {   “resetTiming”,   “verifyAction” } “resetTiming” スコープの種類 ミッション達成判定に使用するカウンタースコープの種類を指定します。“resetTiming” は特定のリセット期間のカウンター値を評価し、“verifyAction” は名前付き条件の値を評価します。 定義 説明 “resetTiming” リセットタイミング “verifyAction” 検証アクション resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } {scopeType} == “resetTiming” 目標リセットタイミング 目標値と比較するカウンターのリセットタイミングスコープを指定します。例えば “daily” を選択すると、デイリーのカウンター値を確認します。省略した場合、ミッショングループのリセットタイミングが使用されます。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと ※ scopeType が “resetTiming” であれば 有効 conditionName string {scopeType} == “verifyAction” ※ ~ 128文字 条件名 目標値と比較する検証アクション条件スコープの名前です。カウンターモデルのスコープで定義された conditionName と一致する必要があります。scopeType が “verifyAction” の場合のみ使用されます。 ※ scopeType が “verifyAction” であれば 必須 value long  0 ~ 9223372036854775805 目標値 ミッションタスクが達成とみなされるために、カウンターのスコープ値が達するか超える必要がある閾値です。 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Mission マスターデータリファレンス","url":"/ja/api_reference/mission/master_data/"},{"content":"マスターデータのフォーマット  version string  2024-06-20 マスターデータのフォーマットバージョン storeContentModels List ~ 1000 items ストアコンテンツモデル 各種ストアプラットフォームのコンテンツを格納するモデルです。 storeSubscriptionContentModels List ~ 1000 items ストア定期課金コンテンツモデル 各種ストアプラットフォームの定期課金コンテンツを格納するモデルです。 モデル StoreContentModel ストアコンテンツモデル 各種ストアプラットフォームのコンテンツを格納するモデルです。  storeContentModelId string ※ ~ 1024文字 ストアコンテンツモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ストアコンテンツモデル名 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 appleAppStore AppleAppStoreContent Apple AppStore のコンテンツ このストアコンテンツの Apple App Store 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 googlePlay GooglePlayContent Google Play のコンテンツ このストアコンテンツの Google Play 商品情報（プロダクトID）です。レシート検証時に購入された商品との照合に使用されます。 AppleAppStoreContent Apple AppStore のコンテンツ アプリ内課金商品に対応する Apple App Store のプロダクトIDを含みます。レシート検証時の照合に使用されます。  productId string ~ 1024文字 プロダクトID このアプリ内課金アイテムについて App Store Connect に登録されている Apple App Store のプロダクト識別子です。 GooglePlayContent Google Play のコンテンツ アプリ内課金商品に対応する Google Play のプロダクトIDを含みます。レシート検証時の照合に使用されます。  productId string ~ 1024文字 プロダクトID このアプリ内課金アイテムについて Google Play Console に登録されている Google Play のプロダクト識別子です。 StoreSubscriptionContentModel ストア定期課金コンテンツモデル 各種ストアプラットフォームの定期課金コンテンツを格納するモデルです。  storeSubscriptionContentModelId string ※ ~ 1024文字 期間課金コンテンツモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ストア定期課金コンテンツモデル名 metadata string ~ 1024文字 メタデータ scheduleNamespaceId string  ~ 1024文字 サブスクリプション期間を連動させる GS2-Schedule のネームスペース GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN triggerName string  ~ 128文字 サブスクリプション期間を反映するトリガー名 サブスクリプションの有効期間を反映するために起動される GS2-Schedule のトリガー名です。トリガーの持続時間はサブスクリプションの有効期限に設定されます。 triggerExtendMode 文字列列挙型 enum {   “just”,   “rollupHour” } “just” サブスクリプション期間をトリガーに反映する時のモード サブスクリプションの有効期限をトリガーの持続時間にどのようにマッピングするかを制御します。“just” はサブスクリプション期間をそのまま使用します。“rollupHour” は指定した時刻（UTC）まで延長し、日中の期限切れを回避します。 定義 説明 “just” そのままサブスクリプション期間を反映 “rollupHour” 次の日跨ぎ時刻まで延長してサブスクリプション期間を反映 rollupHour int {triggerExtendMode} == “rollupHour” 0 0 ~ 23 日跨ぎの時刻 (UTC) triggerExtendMode が “rollupHour” の場合、サブスクリプション期間は有効期限日のこの時刻（0〜23、UTC）まで延長されます。ユーザーのプレイセッション中にサブスクリプションが期限切れになるのを防ぎます。 ※ triggerExtendMode が “rollupHour” であれば 有効 reallocateSpanDays int 30 0 ~ 365 サブスクリプションの契約情報を他のユーザーに割り当て可能となる期間（日） 最後の割り当てから、サブスクリプション契約を別のユーザーに再割り当てできるようになるまでの日数です。ユーザーがアカウントを変更する際の不正利用を防止するため、サブスクリプションの移行に待機期間を設けます。 appleAppStore AppleAppStoreSubscriptionContent Apple AppStore のコンテンツ このサブスクリプションコンテンツの Apple App Store のサブスクリプション情報（サブスクリプショングループID）です。 googlePlay GooglePlaySubscriptionContent Google Play のコンテンツ このサブスクリプションコンテンツの Google Play のサブスクリプション情報（プロダクトID）です。 AppleAppStoreSubscriptionContent Apple AppStore の期間課金コンテンツ サブスクリプションベースの商品の Apple App Store サブスクリプショングループ識別子を含みます。自動更新サブスクリプションの管理と検証に使用されます。  subscriptionGroupIdentifier string ~ 64文字 サブスクリプショングループID App Store Connect に登録されたサブスクリプショングループ識別子です。同じグループ内のサブスクリプションは相互排他的で、ユーザーは同時に1つしか契約できません。 GooglePlaySubscriptionContent Google Play の期間課金コンテンツ サブスクリプションベースの商品の Google Play プロダクトIDを含みます。Google Play での自動更新サブスクリプションの管理と検証に使用されます。  productId string ~ 1024文字 プロダクトID","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Money2 マスターデータリファレンス","url":"/ja/api_reference/money2/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-05-14 マスターデータのフォーマットバージョン groups List ~ 10 items クエストグループモデル クエストグループは複数のクエストをグルーピングするためのエンティティで、クエストの進行はグループ内で同時に1つしか実行できません。 つまり、並列でクエストを進行できるようにする必要がある場合はグループを分ける必要があります。 モデル QuestGroupModel クエストグループモデル クエストグループは複数のクエストをグルーピングするためのエンティティで、クエストの進行はグループ内で同時に1つしか実行できません。 つまり、並列でクエストを進行できるようにする必要がある場合はグループを分ける必要があります。  questGroupModelId string ※ ~ 1024文字 クエストグループ GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 クエストグループモデル名 クエストグループモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 quests List [] 0 ~ 1000 items グループに属するクエスト このクエストグループに属するクエストモデルのリストです。グループ内では同時に1つのクエストのみ進行できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このグループ内のクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。 QuestModel クエストモデル クエストモデルはインゲームの開始に必要な対価とクリアしたときに得られる報酬を保持するエンティティです。 クリアしたときに得られる報酬は複数のバリエーションを用意でき、クエスト開始時に抽選することができます。 例えば、クエスト自体は同じでも、レアモンスターの出現有無によって2種類のコンテンツバリエーションを作成できます。  questModelId string ※ ~ 1024文字 クエストモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 クエストモデル名 クエストモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 contents List [] 1 ~ 10 items クエストの内容 このクエストのコンテンツバリエーションのリストです。クエスト開始時に重み付き抽選で1つのバリエーションが選択されます。各バリエーションに異なるクリア報酬を定義でき、同じクエストでも異なる結果（例：レアモンスターの出現）を実現できます。 challengePeriodEventId string ~ 1024文字 挑戦可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このクエストに挑戦可能な期間を設定する GS2-Schedule のイベントGRNです。指定した場合、イベントがアクティブな期間中のみクエストを開始できます。この設定はクエストグループの挑戦可能期間より優先されます。 firstCompleteAcquireActions List [] 0 ~ 10 items 初回クリア報酬入手アクションリスト このクエストの初回クリア時にのみ実行される入手アクションのリストです。通常のクリア報酬に加えて付与されるボーナス報酬で、初回クリアボーナスの実現に使用します。 verifyActions List [] 0 ~ 10 items 検証アクションリスト このクエストを開始するための前提条件となる検証アクションのリストです。すべての検証アクションが成功しないとクエストを開始できません。レベル確認やアイテム所持などの要件の強制に使用します。 consumeActions List [] 0 ~ 10 items 消費アクションリスト このクエストの開始コストとして実行される消費アクションです。スタミナや通貨などのコストがクエスト開始時に消費されます。 failedAcquireActions List [] 0 ~ 100 items 失敗時入手アクションリスト クエスト失敗時に実行される入手アクションです。失敗時の慰労報酬やクエスト参加コストの一部返還などに使用します。 premiseQuestNames List [] 0 ~ 10 items 前提クエスト名リスト このクエストに挑戦する前にクリアが必要な同グループ内のクエスト名のリストです。連続するクエストチェーンや分岐するクエストパスの作成に使用します。 Contents コンテンツ クエストコンテンツの1つのバリエーションを表します。各クエストは異なる報酬を持つ複数のコンテンツバリエーションを持つことができ、クエスト開始時に重み付き抽選で1つが選択されます。メタデータはユーザーIDやコンフィグ値によるテンプレート変数の置換をサポートします。  metadata string ~ 256文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 completeAcquireActions List [] 0 ~ 10 items クリア報酬入手アクション このコンテンツバリエーションでクエストをクリアした際に実行される入手アクションです。プレイヤーがクエストクリア時に受け取る実際の報酬を定義します。 weight int 1 1 ~ 2147483646 抽選の重み クエスト開始時のコンテンツバリエーション抽選で使用される相対的な重みです。値が大きいほどこのバリエーションが選択される確率が高くなります。例えば、重み9のバリエーションは重み1のバリエーションの9倍選択されやすくなります。 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 ConsumeAction 消費アクション  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Quest マスターデータリファレンス","url":"/ja/api_reference/quest/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-09-17 マスターデータのフォーマットバージョン categories List ~ 1000 items カテゴリーモデル カテゴリー毎に異なるランキングを作成できます。 カテゴリーには登録できるスコアの最小値・最大値を設定でき、その範囲外のスコアは破棄されます。 ランキングを集計する際にスコアを小さいものを上位（昇順）にするか、大きいものを上位（降順）にするかを設定できます。 ランキングの種類として グローバル と スコープ を選択できます。 グローバルは全プレイヤーが同じ結果を参照するもので、スコープはフレンド内ランキングや、ギルド内ランキングのようなゲームプレイヤー毎に結果の異なるランキングです。 グローバルランキングはカテゴリーごとにランキングの集計間隔を15分～24時間で設定できます。 スコープランキングはリアルタイムで集計結果が反映されます。 ランキングデータには世代という設定があり、世代を変更することで登録されたスコアをリセットすることができます。 モデル CategoryModel カテゴリーモデル カテゴリー毎に異なるランキングを作成できます。 カテゴリーには登録できるスコアの最小値・最大値を設定でき、その範囲外のスコアは破棄されます。 ランキングを集計する際にスコアを小さいものを上位（昇順）にするか、大きいものを上位（降順）にするかを設定できます。 ランキングの種類として グローバル と スコープ を選択できます。 グローバルは全プレイヤーが同じ結果を参照するもので、スコープはフレンド内ランキングや、ギルド内ランキングのようなゲームプレイヤー毎に結果の異なるランキングです。 グローバルランキングはカテゴリーごとにランキングの集計間隔を15分～24時間で設定できます。 スコープランキングはリアルタイムで集計結果が反映されます。 ランキングデータには世代という設定があり、世代を変更することで登録されたスコアをリセットすることができます。  categoryModelId string ※ ~ 1024文字 カテゴリーモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 カテゴリーモデル名 カテゴリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 このカテゴリーに登録できるスコアの最小値。 この閾値を下回るスコアは登録時に拒否されます。未設定の場合、下限はありません。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 このカテゴリーに登録できるスコアの最大値。 この閾値を上回るスコアは登録時に拒否されます。未設定の場合、上限はありません。 sum bool false 合算モード 有効にすると、新しく登録されたスコアは既存のスコアを置き換えるのではなく、合計に加算されます。 ランキングは蓄積された合計値に基づいて計算されます。無効の場合、各スコア登録は独立したエントリとして扱われます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキング集計のソート順を決定します。 “asc”（昇順）は低いスコアを上位とし、タイムベースやゴルフ式のランキングに適しています。 “desc”（降順）は高いスコアを上位とし、ポイントベースやハイスコアランキングに適しています。 定義 説明 “asc” 昇順 “desc” 降順 scope 文字列列挙型 enum {   “global”,   “scoped” }  ランキングの種類 このカテゴリーのランキングタイプ。 “global” は全プレイヤーが共有する単一のリーダーボードを作成し、設定された間隔でバッチ集計されます。 “scoped” は購読したプレイヤー（フレンドやギルドメンバー等）に基づくユーザーごとのリーダーボードを作成し、スコアがリアルタイムで反映されます。 定義 説明 “global” グローバル “scoped” スコープ globalRankingSetting GlobalRankingSetting {scope} == “global” ※ グローバルランキング設定 グローバルランキングモード固有の設定。集計間隔、固定時刻、スコアのユニーク性、世代管理、および追加の期間限定スコープを含みます。 scope が “global” に設定されている場合のみ適用されます。 ※ scope が “global” であれば 必須 entryPeriodEventId string ~ 1024文字 スコア登録期間イベントID スコア登録を受け付ける期間を定義する GS2-Schedule イベントの GRN。 この期間外のスコア登録リクエストは拒否されます。未設定の場合、スコアはいつでも登録できます。 accessPeriodEventId string ~ 1024文字 アクセス期間イベントID ランキングデータを閲覧できる期間を定義する GS2-Schedule イベントの GRN。 この期間外のランキング取得リクエストは拒否されます。未設定の場合、ランキングはいつでもアクセスできます。 Scope 集計スコープ グローバルランキングモードにおける追加の期間限定集計スコープを定義します。 通常、グローバルランキングは登録されたスコア全てを対象に集計が行われます。 スコープを追加することで、指定した日数以内に登録されたスコアのみを対象とする別ランキングを作成でき、全期間ランキングと併せてデイリー・ウィークリー・マンスリーなどのリーダーボードを実現できます。  name string  ~ 128文字 スコープ名 カテゴリー内でこの集計スコープを一意に識別する名前。 複数の期間限定ランキングボードを区別するために使用されます（例: “daily”, “weekly”）。最大128文字。 targetDays long  1 ~ 365 集計対象日数 集計ウィンドウに含める日数。 現在時刻からこの日数以内に登録されたスコアのみがスコープランキングの対象となります。範囲: 1～365日。 GlobalRankingSetting グローバルランキング設定 グローバルは全プレイヤーが同じ結果を参照するものです。 ランキングの集計間隔を15分～24時間で設定できます。 ランキングデータには世代という設定があり、世代を変更することで登録されたスコアをリセットすることができます。  uniqueByUserId bool true ユーザーID毎にユニーク 有効にすると、ランキング内でユーザーIDごとに1つのスコアのみ保持されます。 ユーザーが新しいスコアを登録すると、ソート方向に基づいてより良いスコアに置き換えられます。 無効にすると、同一ユーザーから複数のスコアエントリが許可され、合算モードや複数エントリによる競争が可能になります。 calculateIntervalMinutes int  15 ~ 1440 集計間隔（分） 連続するランキング再集計の間隔（分）。 システムはこの間隔で、登録された全スコアに基づいてグローバルランキングを定期的に再集計します。 範囲: 15～1440分（15分～24時間）。 calculateFixedTiming FixedTiming 集計時刻固定設定 ランキング再集計が開始される1日の固定時刻（UTC）を指定します。 未設定の場合、再集計は不定の基準時刻から定期間隔で実行されます。 これを設定することで、毎日予測可能で一貫した時刻に再集計が行われるようになります。 additionalScopes List 0 ~ 10 items 追加スコープリスト 追加の期間限定集計スコープのリスト。 各スコープは指定した日数以内に登録されたスコアのみを対象とする別ランキングを定義します。 全期間のグローバルランキングと併せて、デイリー・ウィークリー・マンスリーなどのリーダーボードを作成できます。最大10件。 ignoreUserIds List 0 ~ 10000 items 除外ユーザーIDリスト ランキング集計からスコアを除外するユーザーIDのリスト。 テストアカウント、管理者アカウント、または既知の不正ユーザーをリーダーボードから除外するのに使用します。最大10,000件。 generation string ~ 256文字 世代 現在のランキング世代を表す任意の文字列。 この値を変更すると、前の世代のスコアはランキング集計に含まれなくなるため、実質的にスコアがリセットされます。 シーズン制リセットや定期的なランキングリセットの実装に使用します。最大256文字。 FixedTiming 集計時刻固定設定 グローバルランキングの集計が開始される固定時刻を指定します。 この設定がない場合、ランキング集計は不定の基準時刻から定期間隔で実行されます。 固定の時・分を指定することで、毎日の集計開始時刻（UTC）を予測可能にでき、深夜0時や特定の時刻に集計を開始するよう制御できます。  hour int 0 ~ 23 時 ランキング集計が開始される時刻の時（UTC）。 0～23 の整数で指定します。 minute int 0 ~ 59 分 指定した時刻の分。 0～59 の整数で指定します。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Ranking マスターデータリファレンス","url":"/ja/api_reference/ranking/master_data/"},{"content":"マスターデータのフォーマット  version string  2024-05-30 マスターデータのフォーマットバージョン globalRankingModels List ~ 10 items グローバルランキングモデル グローバルランキングは全てのプレイヤーを対象としたランキングを実現するためのモデルです。 上位1000位までのランキングを表示することができます。 GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。 clusterRankingModels List ~ 10 items クラスターランキングモデル クラスターランキングはギルドやギャザリング内のプレイヤーを対象としたランキングを実現するためのモデルです。 上位1000位までのランキングを表示することができます。 GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。 subscribeRankingModels List ~ 10 items 購読ランキングモデル 購読した他プレイヤーのスコアを集計し、ランキングを作成するモデルです。 モデル GlobalRankingModel グローバルランキングモデル グローバルランキングは全てのプレイヤーを対象としたランキングを実現するためのモデルです。 上位1000位までのランキングを表示することができます。 GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。  globalRankingModelId string ※ ~ 1024文字 グローバルランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。無効または意図しないスコア値のフィルタリングに使用します。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。異常に高いスコアの登録防止に使用します。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、ソート方向に応じた最良のスコア（最高値または最低値）のみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合（例：タイムアタック）は「昇順」、高いスコアほど上位の場合（例：ハイスコア）は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、繰り返しサイクルごとにランキングがリセットされ、シーズン制ランキングを実現できます。 rankingRewards List {entryPeriodEventId} != null [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。各報酬は順位閾値と実行する入手アクションを定義します。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧と報酬の受け取りが可能な期間を定義する GS2-Schedule のイベントGRNです。通常、スコア登録期間の間のインターバルに設定します。 rewardCalculationIndex 文字列列挙型 enum {   “rank”,   “index” } “rank” 報酬計算インデックス 報酬をプレイヤーに対応付ける方法を決定します。「順位ベース」は1始まりのランキング順位を使用し（同スコアのプレイヤーは同じ順位を共有）、「インデックスベース」は0始まりの一意のソート位置を使用します（同順位なし）。通常のユースケースでは「順位ベース」を選択してください。 定義 説明 “rank” 順位ベースで報酬を決定 “index” インデックスベースで報酬を決定 RankingReward ランキング報酬 スコアの登録期間が設定されたランキングで、登録期間外で参照期間内の時に受け取れる報酬を設定します。 繰り返し設定が有効な場合、直近に期間を終えたランキングが報酬の受け取り対象となります。  thresholdRank int  1 ~ 1001 順位閾値 この報酬ティアの順位閾値です。順位（またはインデックス、rewardCalculationIndex の設定に依存）がこの閾値以上のプレイヤーがこの報酬を受け取ります。1001に設定すると、ランク外（上位1000位外）のプレイヤー向けの報酬を定義できます。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト プレイヤーがこのランキング報酬を受け取る際に実行される入手アクションのリストです。この順位閾値を達成した報酬として付与されるアイテム、通貨、その他のリソースを定義します。 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 ClusterRankingModel クラスターランキングモデル クラスターランキングはギルドやギャザリング内のプレイヤーを対象としたランキングを実現するためのモデルです。 上位1000位までのランキングを表示することができます。 GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。  clusterRankingModelId string ※ ~ 1024文字 クラスターランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 clusterType 文字列列挙型 enum {   “Raw”,   “Gs2Guild::Guild”,   “Gs2Matchmaking::SeasonGathering” }  クラスタータイプ ランキングのセグメンテーションに使用するグループ（クラスター）の種類を定義します。「Raw」は所属検証なしで任意のクラスター名を指定でき、「Gs2Guild::Guild」はGS2-Guildギルドへの所属を検証し、「Gs2Matchmaking::SeasonGathering」はGS2-Matchmakingシーズンギャザリングへの所属を検証します。 定義 説明 “Raw” 検証なし “Gs2Guild::Guild” GS2-Guild ギルド “Gs2Matchmaking::SeasonGathering” GS2-Matchmaking シーズンギャザリング minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、最良のスコアのみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合は「昇順」、高いスコアほど上位の場合は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、シーズン制ランキングを実現できます。 rankingRewards List {entryPeriodEventId} != null [] 0 ~ 100 items ランキング報酬リスト 各シーズン終了時のランキング順位に基づいて付与される報酬のリストです。スコア登録可能期間イベントが設定されている場合のみ利用可能です。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧と報酬の受け取りが可能な期間を定義する GS2-Schedule のイベントGRNです。 rewardCalculationIndex 文字列列挙型 enum {   “rank”,   “index” } “rank” 報酬計算インデックス 報酬をプレイヤーに対応付ける方法を決定します。「順位ベース」は1始まりのランキング順位（同スコアは同順位）、「インデックスベース」は0始まりの一意のソート位置（同順位なし）を使用します。 定義 説明 “rank” 順位ベースで報酬を決定 “index” インデックスベースで報酬を決定 SubscribeRankingModel 購読ランキングモデル 購読した他プレイヤーのスコアを集計し、ランキングを作成するモデルです。  subscribeRankingModelId string ※ ~ 1024文字 購読ランキング GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 1024文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 minimumValue long 0 ~ 9223372036854775805 スコアの最小値 許容されるスコアの最小値です。この値を下回るスコアは登録時に拒否されます。 maximumValue long 0 ~ 9223372036854775805 スコアの最大値 許容されるスコアの最大値です。この値を超えるスコアは登録時に拒否されます。 sum bool false スコア合算 有効にすると、登録されたすべてのスコアが合算され、合計値でランキングが決定されます。無効の場合、最良のスコアのみがランキングに使用されます。 orderDirection 文字列列挙型 enum {   “asc”,   “desc” }  ソート方向 ランキングスコアのソート方向です。低いスコアほど上位の場合は「昇順」、高いスコアほど上位の場合は「降順」を使用します。 定義 説明 “asc” 昇順 “desc” 降順 entryPeriodEventId string ~ 1024文字 スコア登録可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN スコアを登録できる期間を定義する GS2-Schedule のイベントGRNです。繰り返しイベントと関連づけると、シーズン制ランキングを実現できます。 accessPeriodEventId string ~ 1024文字 ランキングデータアクセス可能期間イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ランキング結果の閲覧が可能な期間を定義する GS2-Schedule のイベントGRNです。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Ranking2 マスターデータリファレンス","url":"/ja/api_reference/ranking2/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-03-31 マスターデータのフォーマットバージョン events List ~ 100 items イベント イベントの期間は絶対期間と相対期間の2種類存在します。 絶対期間は 例えば YYYY年MM月DD日 00:00(UTC) ～ YYYY年MM月DD日 23:59(UTC) のような固定の期間で、 相対期間は トリガーを引いたタイミングから 24時間 のようなゲームプレイヤー毎に異なる期間をイベント期間とするものです。 イベントには開催期間だけでなく、繰り返しが設定できるようになっており イベント期間のうち、月曜日の 10:00 ～ 11:00 だけをイベント期間とするような設定も可能です。 モデル Event イベント イベントの期間は絶対期間と相対期間の2種類存在します。 絶対期間は 例えば YYYY年MM月DD日 00:00(UTC) ～ YYYY年MM月DD日 23:59(UTC) のような固定の期間で、 相対期間は トリガーを引いたタイミングから 24時間 のようなゲームプレイヤー毎に異なる期間をイベント期間とするものです。 イベントには開催期間だけでなく、繰り返しが設定できるようになっており イベント期間のうち、月曜日の 10:00 ～ 11:00 だけをイベント期間とするような設定も可能です。  eventId string ※ ~ 1024文字 GS2-Schedule イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scheduleType 文字列列挙型 enum {   “absolute”,   “relative” }  スケジュールタイプ イベント期間の定義方法を決定します。 “absolute” は全プレイヤー共通の固定開始・終了タイムスタンプを使用します。 “relative” はプレイヤーごとのトリガーを起点として使用し、パーソナライズされたイベント期間を実現します（例: 各プレイヤーの初回ログインから24時間）。 定義 説明 “absolute” 固定期間 “relative” プレイヤー毎に異なる期間 absoluteBegin long 絶対開始日時 絶対スケジューリングにおけるイベント期間の固定開始時刻。 全プレイヤーが同じ開始時刻を共有します。絶対イベントで未設定の場合、イベントは過去から開始されているものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 absoluteEnd long 絶対終了日時 絶対スケジューリングにおけるイベント期間の固定終了時刻。 全プレイヤーが同じ終了時刻を共有します。絶対イベントで未設定の場合、イベントは終了しないものとして扱われます。 UNIX 時間（ミリ秒）で表現されます。 relativeTriggerName string {scheduleType} == “relative” ※ ~ 128文字 イベント開始トリガー名 ゲームプレイヤー毎にイベント期間を設定する ( relative ) 場合に、イベントの開始の起点とするトリガーの名前を指定します。 英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 ※ scheduleType が “relative” であれば 必須 repeatSetting RepeatSetting  繰り返し設定 イベント期間内の繰り返し有効時間枠の設定。 アクティブ期間を特定の時間帯、曜日、月の日付、またはカスタムのアクティブ/インアクティブ日サイクルに絞り込むことができます。 繰り返しパターンなしでイベント期間全体を通してアクティブにするには repeatType を “always” に設定します。 RepeatSetting 繰り返し設定 イベント全体期間内の繰り返し有効時間枠を設定します。 5種類の繰り返しタイプをサポートします: “always”（イベント期間全体）、“daily”（毎日の特定時間帯）、“weekly”（毎週の特定曜日範囲＋時間帯）、 “monthly”（毎月の特定日範囲＋時間帯）、“custom”（基準日からのアクティブ/インアクティブ日数の交互サイクル）。 daily/weekly/monthly タイプで beginHour と endHour が同じ場合、終了時刻は翌日の同時刻として扱われます（つまり24時間フルウィンドウ）。  repeatType 文字列列挙型 enum {   “always”,   “daily”,   “weekly”,   “monthly”,   “custom” } “always” 繰り返しの種類 イベント期間内に適用する繰り返しパターンのタイプ。 タイプによって必要な追加フィールドが異なります: daily/weekly/monthly は時間設定、weekly は曜日、monthly は日付、custom は基準日と日数が必要です。 未指定の場合は “always” がデフォルトとなります。 定義 説明 “always” イベント期間中 常時有効 “daily” イベント期間のうち 毎日X時～X時 “weekly” イベント期間のうち 毎週 開始曜日～終了曜日 X時～X時 “monthly” イベント期間のうち 毎月 開始日～終了日 X時～X時 “custom” 基準日から始まり、イベント期間中、X日アクティブ、Y日インアクティブを繰り返す beginDayOfMonth int {repeatType} == “monthly” ※ 1 ~ 31 繰り返し開始日 繰り返しウィンドウが開始する月の日（1～31）。 指定した値がその月の日数を超える場合、その月の最終日として扱われます。 repeatType が “monthly” の場合のみ適用されます。 ※ repeatType が “monthly” であれば 必須 endDayOfMonth int {repeatType} == “monthly” ※ 1 ~ 31 繰り返し終了日 繰り返しウィンドウが終了する月の日（1～31）。 指定した値がその月の日数を超える場合、その月の最終日として扱われます。 repeatType が “monthly” の場合のみ適用されます。 ※ repeatType が “monthly” であれば 必須 beginDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {repeatType} == “weekly” ※ 繰り返し開始曜日 繰り返しウィンドウが開始する曜日。 ウィンドウは週の境界をまたぐことができます（例: 金曜日～月曜日）。repeatType が “weekly” の場合のみ適用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ repeatType が “weekly” であれば 必須 endDayOfWeek 文字列列挙型 enum {   “sunday”,   “monday”,   “tuesday”,   “wednesday”,   “thursday”,   “friday”,   “saturday” } {repeatType} == “weekly” ※ 繰り返し終了曜日 繰り返しウィンドウが終了する曜日。 beginDayOfWeek と組み合わせて週間アクティブ期間を定義します。repeatType が “weekly” の場合のみ適用されます。 定義 説明 “sunday” 日曜日 “monday” 月曜日 “tuesday” 火曜日 “wednesday” 水曜日 “thursday” 木曜日 “friday” 金曜日 “saturday” 土曜日 ※ repeatType が “weekly” であれば 必須 beginHour int {repeatType} in [“daily”, “weekly”, “monthly”] ※ 0 ~ 23 繰り返し開始時（時） 各サイクルで繰り返しウィンドウが開始する時刻（UTC、0～23）。 daily、weekly、monthly の繰り返しタイプで必須です。beginHour と endHour が同じ場合、ウィンドウは24時間（翌日の同時刻まで）となります。 ※ repeatType が “daily”,“weekly”,“monthly\"であれば 必須 endHour int {repeatType} in [“daily”, “weekly”, “monthly”] ※ 0 ~ 24 繰り返し終了時（時） 各サイクルで繰り返しウィンドウが終了する時刻（UTC、0～24）。 24 を指定すると翌日の深夜0時を表します。daily、weekly、monthly の繰り返しタイプで必須です。 ※ repeatType が “daily”,“weekly”,“monthly\"であれば 必須 anchorTimestamp long {repeatType} == “custom” ※ 基準タイムスタンプ カスタムのアクティブ/インアクティブサイクルが開始する基準日。 システムはこの基準日からの経過日数に基づいて、現在時刻がどのフェーズ（アクティブまたはインアクティブ）にあるかを計算します。 repeatType が “custom” の場合のみ適用されます。UNIX 時間（ミリ秒）で表現します。 ※ repeatType が “custom” であれば 必須 activeDays int {repeatType} == “custom” ※ 1 ~ 2147483646 アクティブ日数 カスタムサイクルの各周期でイベントがアクティブとなる連続日数。 アクティブ日数の後、inactiveDays で指定された日数だけイベントが非アクティブとなり、サイクルが繰り返されます。 repeatType が “custom” の場合のみ適用されます。最小1日。 ※ repeatType が “custom” であれば 必須 inactiveDays int {repeatType} == “custom” ※ 0 ~ 2147483646 インアクティブ日数 カスタムサイクルの各周期でイベントが非アクティブとなる連続日数。 アクティブ日数の後に続きます。ギャップなしの連続アクティブイベントにするには 0 を設定します。 repeatType が “custom” の場合のみ適用されます。最小0日。 ※ repeatType が “custom” であれば 必須","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Schedule マスターデータリファレンス","url":"/ja/api_reference/schedule/master_data/"},{"content":"マスターデータのフォーマット  version string  2024-02-23 マスターデータのフォーマットバージョン seasonModels List ~ 50 items シーズンモデル シーズン期間中に適用されるティアー構造とポイント変動ルールを定義するマスターデータです。 各ティアーごとのポイント変動範囲・参加料・ランクアップボーナスを設定し、ポイント管理に使用する Experience モデルを指定します。 実際のポイントおよびティアーのユーザーデータは GS2-Experience によって管理されます。 モデル SeasonModel シーズンモデル シーズン期間中に適用されるティアー構造とポイント変動ルールを定義するマスターデータです。 各ティアーごとのポイント変動範囲・参加料・ランクアップボーナスを設定し、ポイント管理に使用する Experience モデルを指定します。 実際のポイントおよびティアーのユーザーデータは GS2-Experience によって管理されます。  seasonModelId string ※ ~ 1024文字 シーズンモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 tiers List  1 ~ 100 items ティアーモデルのリスト シーズンのランキングラダーを構成するティアー定義の順序付きリスト。 各ティアーは独自のポイント変動ルール（参加料、最小/最大変動量、昇格ボーナス）を定義します。 プレイヤーは GS2-Experience で管理される累積ポイントに基づいてティアーを進行します。 最小1ティアー、最大100ティアー。 experienceModelId string  ~ 1024文字 経験値モデルID シーズンポイントとティアー進行の管理に使用する GS2-Experience 経験値モデルの GRN。 経験値モデルのランク閾値がティアー境界を決定し、経験値がプレイヤーの現在のシーズンポイントを表します。 対戦結果によるポイント変動はこの経験値モデルに適用されます。 challengePeriodEventId string ~ 1024文字 チャレンジ期間イベントID シーズンが対戦可能な期間を定義する GS2-Schedule イベントの GRN。 設定した場合、参照先のイベントがアクティブな間のみプレイヤーは対戦に参加できます。 未設定の場合、シーズンに期間制限はありません。 TierModel ティアーモデル ティアーモデルは、シーズン内の各ティアーにおけるポイント変動ルールを定義するモデルです。 順位に応じたポイント変動範囲、参加料、昇格時ボーナスを設定します。 ポイントの実データは GS2-Experience によって管理されますが、その増減ロジックは TierModel の設定に基づいて決定されます。  metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 raiseRankBonus int  0 ~ 10000 ランク昇格ボーナス プレイヤーがこのティアーに昇格した際に加算されるボーナスポイントで、即座の降格を防ぐバッファとして機能します。 例えば 100 に設定すると、昇格閾値より100ポイント多い状態で新ティアーを開始します。 有効範囲: 0〜10000。 entryFee int  0 ~ 10000 参加料 対戦開始前にプレイヤーから差し引かれる参加コストとしてのポイント。 この参加料は対戦結果に関わらず常に減算され、対戦プレイにリスク要素を生み出します。 有効範囲: 0〜10000。 minimumChangePoint int  -99999999 ~ -1 最小変動ポイント 1回の対戦結果で発生しうる最小（最も負の）ポイント変動量で、通常は最悪の敗北時の値を表します。 負の値である必要があります。敗北プレイヤーの実際のポイント変動はこの値と0の間になります。 有効範囲: -99999999〜-1。 maximumChangePoint int  1 ~ 99999999 最大変動ポイント 1回の対戦結果で発生しうる最大（最も正の）ポイント変動量で、通常は最高の勝利時の値を表します。 正の値である必要があります。勝利プレイヤーの実際のポイント変動は0とこの値の間になります。 有効範囲: 1〜99999999。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-SeasonRating マスターデータリファレンス","url":"/ja/api_reference/season_rating/master_data/"},{"content":"マスターデータのフォーマット  version string  2022-09-13 マスターデータのフォーマットバージョン campaignModels List ~ 1000 items キャンペーンモデル キャンペーンモデルはキャンペーンを定義し、シリアルコードと紐づけて管理するために使用されます。 モデル CampaignModel キャンペーンモデル キャンペーンモデルはキャンペーンを定義し、シリアルコードと紐づけて管理するために使用されます。  campaignId string ※ ~ 1024文字 キャンペーンモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 キャンペーンモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 enableCampaignCode bool false キャンペーンコードによる引き換えを許可するか 有効にすると、個別のシリアルコードではなく共通のキャンペーンコード（キャンペーン名）を使って報酬を引き換えられるようになります。これにより、1つのコードを複数のユーザーが使用できます。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-SerialKey マスターデータリファレンス","url":"/ja/api_reference/serial_key/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-04-04 マスターデータのフォーマットバージョン showcases List ~ 100 items 陳列棚 陳列棚 には陳列する商品を定義できます。 また、 陳列棚 の商品の販売期間を設定することができます。 randomShowcases List ~ 100 items ランダム陳列棚 ランダム陳列棚は、指定した周期で入れ替わるランダムに選別された商品が陳列される陳列棚のモデルです。 選別される商品は、商品プールに登録された商品から指定数量が、商品ごとに設定された重みに基づいてランダムに選択されます。 ランダム陳列棚には GS2-Schedule のイベントを関連づけることで、販売期間を設定することができます。 モデル Showcase 陳列棚 陳列棚 には陳列する商品を定義できます。 また、 陳列棚 の商品の販売期間を設定することができます。  showcaseId string ※ ~ 1024文字 陳列棚 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 陳列棚名 陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 salesPeriodEventId string ~ 1024文字 陳列棚の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN この陳列棚全体の販売期間を制御します。指定した場合、関連する GS2-Schedule のイベント期間中のみ陳列棚が利用可能になります。イベントが有効でない場合、陳列棚は空で返されます。 displayItems List [] 1 ~ 1000 items 陳列する商品リスト この陳列棚に陳列される商品のリストです。各陳列商品は単一の商品または商品グループのいずれかです。販売期間イベントが終了または無効な商品は、陳列棚の取得時に自動的にフィルタリングされます。 DisplayItem 陳列する商品 陳列棚に表示される商品です。単一の商品または商品グループのいずれかを参照できます。各陳列商品には、陳列棚全体の販売期間とは独立して GS2-Schedule イベントによる個別の販売期間を設定できます。  displayItemId string  UUID ~ 128文字 陳列商品ID 陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 type 文字列列挙型 enum {   “salesItem”,   “salesItemGroup” }  種類 表示する商品の種類です。「salesItem」は固定の対価と報酬を持つ単一商品です。「salesItemGroup」は複数の商品を順番に評価する商品グループで、ステップアップ価格や初回限定割引などに使用されます。 定義 説明 “salesItem” 商品 “salesItemGroup” 商品グループ salesItem SalesItem {type} == “salesItem” ※ 商品 ※ type が “salesItem” であれば 必須 salesItemGroup SalesItemGroup {type} == “salesItemGroup” ※ 商品グループ ※ type が “salesItemGroup” であれば 必須 salesPeriodEventId string ~ 1024文字 この陳列商品の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN この個別の陳列商品の販売期間を制御します。指定した場合、関連する GS2-Schedule のイベント期間中のみ陳列棚に表示されます。陳列棚全体の販売期間とは独立して動作します。 SalesItem 商品 商品を購入するために必要となる対価と、商品を購入したときに得られる報酬を設定します。  name string  ~ 128文字 商品名 商品固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト 購入前に実行される前提条件チェックです。すべての検証アクションが成功した後に消費・入手アクションが処理されます。購入資格の条件チェックに使用できます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト 購入対価としてリソースを消費するアクションです。商品グループの購入回数制御のために GS2-Limit の CountUp アクションを含めることができます。 acquireActions List [] 1 ~ 100 items 入手アクションリスト 購入報酬としてリソースを付与するアクションです。すべての消費アクションが正常に完了した後に実行されます。 SalesItemGroup 商品グループ 商品グループは陳列棚に陳列するためのエンティティです。 商品グループには複数の商品を所属させることができ、所属している商品の先頭から順番に購入可能かを判定し、一番最初に購入可能だと判定された商品が実際に陳列されます。 初回のみ割引する商品や、ステップアップガチャのように購入回数によって商品の内容が変化する仕組みに使用できます。  name string  ~ 128文字 商品グループ名 商品グループ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 salesItems List [] 2 ~ 10 items 商品グループに含める商品 このグループ内の商品の順序付きリストです。GS2-Limit カウンターを使って先頭から順に購入可能かを判定し、最初に購入可能と判定された商品が表示されます。いずれも該当しない場合、リストの最後の商品がフォールバックとして使用されます。 ConsumeAction 消費アクション  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 RandomShowcase ランダム陳列棚 ランダム陳列棚は、指定した周期で入れ替わるランダムに選別された商品が陳列される陳列棚のモデルです。 選別される商品は、商品プールに登録された商品から指定数量が、商品ごとに設定された重みに基づいてランダムに選択されます。 ランダム陳列棚には GS2-Schedule のイベントを関連づけることで、販売期間を設定することができます。  randomShowcaseId string ※ ~ 1024文字 ランダム陳列棚 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ランダム陳列棚名 ランダム陳列棚固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 maximumNumberOfChoice int  1 ~ 100 選出される商品の最大数 各ローテーション期間に商品プールからランダムに抽選される商品の数です。重み付きランダム選択で重複なく抽選されるため、1回のローテーションで同じ商品が2回表示されることはありません。 displayItems List [] 1 ~ 100 items 選出対象の陳列商品リスト 商品がランダムに抽選される候補アイテムのプールです。各アイテムには選択確率を決定する重みと、ローテーション全体で表示可能な回数を制限する在庫数があります。 baseTimestamp long  陳列する商品を再抽選の基準時間 ローテーション境界の計算に使用される基準タイムスタンプです。この基準時間から一定間隔（resetIntervalHours）ごとに商品の再抽選が行われます。過去の時刻を指定する必要があります。 resetIntervalHours int  1 ~ 168 陳列する商品を再抽選する間隔（時） 各商品ローテーション間の時間数です。baseTimestamp を基準として間隔が経過すると、新しい乱数シードで陳列商品が再抽選されます。1〜168時間（1週間）の範囲で設定できます。 salesPeriodEventId string ~ 1024文字 陳列棚の販売期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このランダム陳列棚全体の販売期間を制御します。指定した場合、関連する GS2-Schedule のイベント期間中のみ陳列棚が利用可能になります。 RandomDisplayItemModel ランダム陳列棚に陳列可能な商品 weight に商品を選別する確率を設定できます。  name string  UUID ~ 128文字 ランダム陳列商品ID ランダム陳列商品の一意な名前を保持します。 省略するとシステムによって UUID（Universally Unique Identifier）フォーマットで自動的に割り当てられます。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 verifyActions List [] 0 ~ 10 items 検証アクションリスト このランダム陳列商品を購入する前に実行される前提条件チェックです。すべての検証アクションが成功した後に消費・入手アクションが処理されます。 consumeActions List [] 0 ~ 10 items 消費アクションリスト このランダム陳列商品の購入対価としてリソースを消費するアクションです。トランザクションの消費アクションとして実行されます。 acquireActions List [] 1 ~ 100 items 入手アクションリスト このランダム陳列商品の購入報酬としてリソースを付与するアクションです。トランザクションの入手アクションとして実行されます。 stock int  1 ~ 2147483646 在庫数 すべてのローテーションを通じてこの商品が抽選される最大回数です。在庫がゼロになると、以降の抽選から除外されます。ローテーション抽選時に商品が選択されると在庫が消費されます。 weight int  1 ~ 2147483646 排出重み ランダム選択におけるこの商品の相対的な確率の重みです。重みが大きいほど抽選される確率が高くなります。実際の選択確率は、この商品の重みを対象となるすべての商品の重みの合計で割った値として計算されます。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Showcase マスターデータリファレンス","url":"/ja/api_reference/showcase/master_data/"},{"content":"マスターデータのフォーマット  version string  2023-09-06 マスターデータのフォーマットバージョン nodeModels List ~ 1000 items ノードモデル スキルツリー内のノードを定義するモデルで、解放コスト・前提条件・返却動作を含みます。 各ノードには検証アクション（解放前の条件チェック）、消費アクション（支払うコスト）、先に解放が必要な前提ノードを設定できます。 ノードを拘束（未解放状態に戻す）すると、消費したリソースが返却率に基づいて部分的に返却されます。 返却入手アクションは消費アクションに返却率を乗じて自動的に計算されます。 モデル NodeModel ノードモデル スキルツリー内のノードを定義するモデルで、解放コスト・前提条件・返却動作を含みます。 各ノードには検証アクション（解放前の条件チェック）、消費アクション（支払うコスト）、先に解放が必要な前提ノードを設定できます。 ノードを拘束（未解放状態に戻す）すると、消費したリソースが返却率に基づいて部分的に返却されます。 返却入手アクションは消費アクションに返却率を乗じて自動的に計算されます。  nodeModelId string ※ ~ 1024文字 ノードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 ノードモデル名 ノードモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 releaseVerifyActions List [] 0 ~ 10 items 解放検証アクションリスト このノードを解放する前に実行され、条件が満たされているかを確認する検証アクションのリスト。 例えば、プレイヤーが特定のレベルに達しているか、特定のアイテムを所持しているかを検証できます。 いずれかの検証アクションが失敗すると、ノード解放は拒否されます。最大10アクション。 releaseConsumeActions List [] 1 ~ 10 items 解放消費アクションリスト このノードを解放する際に実行される消費アクションのリストで、解放コストを表します。 これらのアクションは返却入手アクションの計算にも使用されます。ノードを拘束する際、各消費アクションが返却率に基づいて逆転されます。 最低1つの消費アクションが必要です。最大10アクション。 returnAcquireActions List 0 ~ 10 items 返却入手アクションリスト このノードを拘束（取り消し）する際に実行される入手アクションのリストで、プレイヤーに返却されるリソースを表します。 このフィールドは解放消費アクションに返却率を乗じて自動生成されます。 例えば、解放コストが100ゴールドで返却率が0.8の場合、拘束時に80ゴールドが返却されます。 最大10アクション。 restrainReturnRate float 1.0 0.0 ~ 1.0 返却率 このノードを拘束（未解放状態に戻す）した際に消費リソースが返却される割合。 1.0 は全額返却、0.5 は半額返却、0.0 は返却なしを意味します。 デフォルトは 1.0（全額返却）。有効範囲: 0.0〜1.0。 premiseNodeNames List [] 0 ~ 10 items 前提ノードモデル名リスト このノードを解放する前に解放済みでなければならない他のノードモデルの名前。 スキルツリーの依存関係グラフを定義します。前提ノードがすべて解放済みでなければ、このノードは解放できません。 最大10の前提ノード。 ConsumeAction 消費アクション  action 文字列列挙型 enum { \"Gs2AdReward:ConsumePointByUserId\" , \"Gs2Dictionary:DeleteEntriesByUserId\" , \"Gs2Enhance:DeleteProgressByUserId\" , \"Gs2Exchange:DeleteAwaitByUserId\" , \"Gs2Experience:SubExperienceByUserId\" , \"Gs2Experience:SubRankCapByUserId\" , \"Gs2Formation:SubMoldCapacityByUserId\" , \"Gs2Grade:SubGradeByUserId\" , \"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:DecreaseMaximumIdleMinutesByUserId\" , \"Gs2Inbox:OpenMessageByUserId\" , \"Gs2Inbox:DeleteMessageByUserId\" , \"Gs2Inventory:ConsumeItemSetByUserId\" , \"Gs2Inventory:ConsumeSimpleItemsByUserId\" , \"Gs2Inventory:ConsumeBigItemByUserId\" , \"Gs2JobQueue:DeleteJobByUserId\" , \"Gs2Limit:CountUpByUserId\" , \"Gs2LoginReward:MarkReceivedByUserId\" , \"Gs2Mission:ReceiveByUserId\" , \"Gs2Mission:BatchReceiveByUserId\" , \"Gs2Mission:DecreaseCounterByUserId\" , \"Gs2Mission:ResetCounterByUserId\" , \"Gs2Money:WithdrawByUserId\" , \"Gs2Money:RecordReceipt\" , \"Gs2Money2:WithdrawByUserId\" , \"Gs2Money2:VerifyReceiptByUserId\" , \"Gs2Quest:DeleteProgressByUserId\" , \"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId\" , \"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId\" , \"Gs2Schedule:DeleteTriggerByUserId\" , \"Gs2SerialKey:UseByUserId\" , \"Gs2Showcase:IncrementPurchaseCountByUserId\" , \"Gs2SkillTree:MarkRestrainByUserId\" , \"Gs2Stamina:DecreaseMaxValueByUserId\" , \"Gs2Stamina:ConsumeStaminaByUserId\" , }  消費アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 VerifyAction 検証アクション  action 文字列列挙型 enum { \"Gs2Dictionary:VerifyEntryByUserId\" , \"Gs2Distributor:IfExpressionByUserId\" , \"Gs2Distributor:AndExpressionByUserId\" , \"Gs2Distributor:OrExpressionByUserId\" , \"Gs2Enchant:VerifyRarityParameterStatusByUserId\" , \"Gs2Experience:VerifyRankByUserId\" , \"Gs2Experience:VerifyRankCapByUserId\" , \"Gs2Grade:VerifyGradeByUserId\" , \"Gs2Grade:VerifyGradeUpMaterialByUserId\" , \"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:VerifyIncludeMemberByUserId\" , \"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId\" , \"Gs2Inventory:VerifyItemSetByUserId\" , \"Gs2Inventory:VerifyReferenceOfByUserId\" , \"Gs2Inventory:VerifySimpleItemByUserId\" , \"Gs2Inventory:VerifyBigItemByUserId\" , \"Gs2Limit:VerifyCounterByUserId\" , \"Gs2Matchmaking:VerifyIncludeParticipantByUserId\" , \"Gs2Mission:VerifyCompleteByUserId\" , \"Gs2Mission:VerifyCounterValueByUserId\" , \"Gs2Ranking2:VerifyGlobalRankingScoreByUserId\" , \"Gs2Ranking2:VerifyClusterRankingScoreByUserId\" , \"Gs2Ranking2:VerifySubscribeRankingScoreByUserId\" , \"Gs2Schedule:VerifyTriggerByUserId\" , \"Gs2Schedule:VerifyEventByUserId\" , \"Gs2SerialKey:VerifyCodeByUserId\" , \"Gs2Stamina:VerifyStaminaValueByUserId\" , \"Gs2Stamina:VerifyStaminaMaxValueByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId\" , \"Gs2Stamina:VerifyStaminaRecoverValueByUserId\" , \"Gs2Stamina:VerifyStaminaOverflowValueByUserId\" , }  検証アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列 AcquireAction 入手アクション  action 文字列列挙型 enum { \"Gs2AdReward:AcquirePointByUserId\" , \"Gs2Dictionary:AddEntriesByUserId\" , \"Gs2Enchant:ReDrawBalanceParameterStatusByUserId\" , \"Gs2Enchant:SetBalanceParameterStatusByUserId\" , \"Gs2Enchant:ReDrawRarityParameterStatusByUserId\" , \"Gs2Enchant:AddRarityParameterStatusByUserId\" , \"Gs2Enchant:SetRarityParameterStatusByUserId\" , \"Gs2Enhance:DirectEnhanceByUserId\" , \"Gs2Enhance:UnleashByUserId\" , \"Gs2Enhance:CreateProgressByUserId\" , \"Gs2Exchange:ExchangeByUserId\" , \"Gs2Exchange:IncrementalExchangeByUserId\" , \"Gs2Exchange:CreateAwaitByUserId\" , \"Gs2Exchange:AcquireForceByUserId\" , \"Gs2Exchange:SkipByUserId\" , \"Gs2Experience:AddExperienceByUserId\" , \"Gs2Experience:SetExperienceByUserId\" , \"Gs2Experience:AddRankCapByUserId\" , \"Gs2Experience:SetRankCapByUserId\" , \"Gs2Experience:MultiplyAcquireActionsByUserId\" , \"Gs2Formation:AddMoldCapacityByUserId\" , \"Gs2Formation:SetMoldCapacityByUserId\" , \"Gs2Formation:AcquireActionsToFormProperties\" , \"Gs2Formation:SetFormByUserId\" , \"Gs2Formation:AcquireActionsToPropertyFormProperties\" , \"Gs2Friend:UpdateProfileByUserId\" , \"Gs2Grade:AddGradeByUserId\" , \"Gs2Grade:ApplyRankCapByUserId\" , \"Gs2Grade:MultiplyAcquireActionsByUserId\" , \"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName\" , \"Gs2Idle:IncreaseMaximumIdleMinutesByUserId\" , \"Gs2Idle:SetMaximumIdleMinutesByUserId\" , \"Gs2Idle:ReceiveByUserId\" , \"Gs2Inbox:SendMessageByUserId\" , \"Gs2Inventory:AddCapacityByUserId\" , \"Gs2Inventory:SetCapacityByUserId\" , \"Gs2Inventory:AcquireItemSetByUserId\" , \"Gs2Inventory:AcquireItemSetWithGradeByUserId\" , \"Gs2Inventory:AddReferenceOfByUserId\" , \"Gs2Inventory:DeleteReferenceOfByUserId\" , \"Gs2Inventory:AcquireSimpleItemsByUserId\" , \"Gs2Inventory:SetSimpleItemsByUserId\" , \"Gs2Inventory:AcquireBigItemByUserId\" , \"Gs2Inventory:SetBigItemByUserId\" , \"Gs2JobQueue:PushByUserId\" , \"Gs2Limit:CountDownByUserId\" , \"Gs2Limit:DeleteCounterByUserId\" , \"Gs2LoginReward:DeleteReceiveStatusByUserId\" , \"Gs2LoginReward:UnmarkReceivedByUserId\" , \"Gs2Lottery:DrawByUserId\" , \"Gs2Lottery:ResetBoxByUserId\" , \"Gs2Mission:RevertReceiveByUserId\" , \"Gs2Mission:IncreaseCounterByUserId\" , \"Gs2Mission:SetCounterByUserId\" , \"Gs2Money:DepositByUserId\" , \"Gs2Money:RevertRecordReceipt\" , \"Gs2Money2:DepositByUserId\" , \"Gs2Quest:CreateProgressByUserId\" , \"Gs2Schedule:TriggerByUserId\" , \"Gs2Schedule:ExtendTriggerByUserId\" , \"Gs2Script:InvokeScript\" , \"Gs2SerialKey:RevertUseByUserId\" , \"Gs2SerialKey:IssueOnce\" , \"Gs2Showcase:DecrementPurchaseCountByUserId\" , \"Gs2Showcase:ForceReDrawByUserId\" , \"Gs2SkillTree:MarkReleaseByUserId\" , \"Gs2Stamina:RecoverStaminaByUserId\" , \"Gs2Stamina:RaiseMaxValueByUserId\" , \"Gs2Stamina:SetMaxValueByUserId\" , \"Gs2Stamina:SetRecoverIntervalByUserId\" , \"Gs2Stamina:SetRecoverValueByUserId\" , \"Gs2StateMachine:StartStateMachineByUserId\" , }  入手アクションで実行するアクションの種類 request string  ~ 524288文字 アクション実行時に使用されるリクエストのJSON文字列","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-SkillTree マスターデータリファレンス","url":"/ja/api_reference/skill_tree/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-02-14 マスターデータのフォーマットバージョン staminaModels List ~ 100 items スタミナモデル スタミナの最大値や、回復間隔、回復量といったパラメータを定義できます。 GS2-Experience と連動させて、最大値や回復量をコントロールすることもできます。 モデル StaminaModel スタミナモデル スタミナの最大値や、回復間隔、回復量といったパラメータを定義できます。 GS2-Experience と連動させて、最大値や回復量をコントロールすることもできます。  staminaModelId string ※ ~ 1024文字 スタミナモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 スタミナモデル名 スタミナモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 recoverIntervalMinutes int  0 ~ 2147483646 回復間隔（分） スタミナ回復ティックの間隔（分単位）。 この間隔が経過するたびに、プレイヤーのスタミナが回復量分だけ増加します。 RecoverIntervalTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 0 に設定すると時間ベースの自動回復が無効になります。 recoverValue int 1 0 ~ 2147483646 回復量 回復ティックごとに回復するスタミナの量。 回復間隔が経過するたびに、最大値に達するまでこの値分スタミナが増加します。 RecoverValueTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 デフォルトは 1。 initialCapacity int  0 ~ 2147483646 最大値の初期値 全プレイヤーに対するデフォルトのスタミナ最大値。 オーバーフローが無効の場合、ユーザーごとの最大値の下限として機能します。 MaxStaminaTable を使用して GS2-Experience のランクごとにユーザー単位でオーバーライド可能です。 isOverflow bool  オーバーフロー可否 アイテム使用などの手段でスタミナが初期最大値を超えられるかどうか。 有効の場合、スタミナは initialCapacity を超えて maxCapacity まで設定可能です。自然回復は通常の最大値で停止します。 無効の場合、ユーザーごとの最大値は initialCapacity 以上に制限されます。 maxCapacity int {isOverflow} == true ※ 0 ~ 2147483646 オーバーフロー時の最大値 オーバーフロー有効時のスタミナの絶対上限値。 オーバーフローでもスタミナはこの値を超えることはできません。isOverflow が true の場合のみ表示されます。 例えば initialCapacity が 100、maxCapacity が 200 の場合、アイテムでスタミナを 200 まで増やせますが、自然回復は 100 で停止します。 ※ isOverflow が true であれば 必須 maxStaminaTable MaxStaminaTable スタミナ最大値テーブル プレイヤーの GS2-Experience ランクに基づいてスタミナ最大値を動的に決定する MaxStaminaTable への参照。 設定時、プレイヤーの最大スタミナは現在のランクインデックスでテーブルから参照され、initialCapacity をオーバーライドします。 未設定の場合、全プレイヤーが同じ initialCapacity を最大値として共有します。 recoverIntervalTable RecoverIntervalTable 回復間隔テーブル プレイヤーの GS2-Experience ランクに基づいて回復間隔を動的に決定する RecoverIntervalTable への参照。 設定時、プレイヤーの回復間隔は現在のランクインデックスでテーブルから参照され、recoverIntervalMinutes をオーバーライドします。 未設定の場合、全プレイヤーが同じ recoverIntervalMinutes を共有します。 recoverValueTable RecoverValueTable 回復量テーブル プレイヤーの GS2-Experience ランクに基づいて回復量を動的に決定する RecoverValueTable への参照。 設定時、プレイヤーの回復量は現在のランクインデックスでテーブルから参照され、recoverValue をオーバーライドします。 未設定の場合、全プレイヤーが同じ recoverValue を共有します。 MaxStaminaTable スタミナ最大値テーブル スタミナ最大値テーブルは、GS2-Experience のランクごとにスタミナの最大値を定義するエンティティです。  name string  ~ 128文字 スタミナ最大値テーブル名 スタミナ最大値テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとのスタミナ最大値が決定されます。 values List  1 ~ 1024 items ランク毎のスタミナ最大値 プレイヤーの GS2-Experience ランクインデックスで索引されるスタミナ最大値の配列。 インデックス i の値がランク i のプレイヤーの最大スタミナとして使用されます。配列長は参照先の ExperienceModel で定義されたランク数と一致させる必要があります。 RecoverIntervalTable 回復間隔テーブル 回復間隔テーブルは、GS2-Experience のランクごとにスタミナの回復間隔を定義するエンティティです。  name string  ~ 128文字 回復間隔テーブル名 回復間隔テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復間隔が決定されます。 values List  1 ~ 1024 items ランク毎の回復間隔 プレイヤーの GS2-Experience ランクインデックスで索引される回復間隔値（分単位）の配列。 インデックス i の値がランク i のプレイヤーの回復間隔として使用され、モデルのデフォルト recoverIntervalMinutes をオーバーライドします。 RecoverValueTable スタミナ回復量テーブル スタミナ回復量テーブルは、GS2-Experience のランクごとにスタミナの回復量を定義するエンティティです。  name string  ~ 128文字 スタミナ回復量テーブル名 スタミナ回復量テーブル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 128文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 experienceModelId string  ~ 1024文字 経験値モデルID プレイヤーの現在のランクを参照するために使用する GS2-Experience の ExperienceModel の GRN。 ランクインデックスが values リストの配列インデックスとして使用され、ユーザーごとの回復量が決定されます。 values List  1 ~ 1024 items ランク毎の回復量 プレイヤーの GS2-Experience ランクインデックスで索引される回復量値の配列。 インデックス i の値がランク i のプレイヤーのティックあたりの回復量として使用され、モデルのデフォルト recoverValue をオーバーライドします。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Stamina マスターデータリファレンス","url":"/ja/api_reference/stamina/master_data/"},{"content":"マスターデータのフォーマット  version string  2019-10-09 マスターデータのフォーマットバージョン versionModels List ~ 100 items バージョンモデル バージョンモデルには、ログインを受け入れるが、バージョンアップ出来ることを通知する警告バージョンと、ログインを受け入れないエラーバージョンを設定できます。 現在のバージョンをクライアントに申告させるのに、署名の有無を指定できます。 署名付きを選択した場合、クライアントは嘘のバージョン申告を出来なくなります。 モデル VersionModel バージョンモデル バージョンモデルには、ログインを受け入れるが、バージョンアップ出来ることを通知する警告バージョンと、ログインを受け入れないエラーバージョンを設定できます。 現在のバージョンをクライアントに申告させるのに、署名の有無を指定できます。 署名付きを選択した場合、クライアントは嘘のバージョン申告を出来なくなります。  versionModelId string ※ ~ 1024文字 バージョンモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ サーバーが自動で設定 name string  ~ 128文字 バージョンモデル名 バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 scope 文字列列挙型 enum {   “passive”,   “active” }  判定に使用するバージョン値の種類 バージョンチェックに使用するバージョン値の取得方法を決定します。「passive」はチェック時にクライアントが現在のバージョンを申告する方式、「active」はユーザーが過去に明示的に承認したバージョン（利用規約への同意など）を使用する方式です。 定義 説明 “passive” クライアントから送信 “active” 過去明示的に承認したバージョン type 文字列列挙型 enum {   “simple”,   “schedule” } “simple” バージョンチェックモード バージョンチェックの方式を選択します。「simple」は固定の警告・エラーバージョン閾値を使用し、「schedule」は GS2-Schedule のイベントを利用して時期に応じた異なるバージョン閾値を適用します。 定義 説明 “simple” シンプル “schedule” 時系列切り替え currentVersion Version {type} == “simple” and {scope} == “active” ※ 現在のバージョン このバージョンモデルの最新バージョンです。「simple」モードの「active」スコープでのみ使用され、ユーザーがバージョン更新を承認・確認する際に現在のバージョンを通知します。 ※ type が “simple” で かつ scope が “active” であれば 必須 warningVersion Version {type} == “simple” ※ バージョンアップを促すバージョン アップグレード通知を表示する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、ログインは許可されますがユーザーにアップグレードが促されます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば 必須 errorVersion Version {type} == “simple” ※ バージョンチェックでエラーになるバージョン ログインを許可する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、バージョンチェックがエラーとなりログインがブロックされます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。 ※ type が “simple” であれば 必須 scheduleVersions List {type} == “schedule” 0 ~ 10 items 時系列で切り替わるバージョンチェック内容リスト GS2-Schedule のイベントに基づいて異なるタイミングで有効になるバージョンチェック設定のリストです。更新を必須にする前に警告を表示するなど、段階的なバージョン強制が可能になります。 ※ type が “schedule” であれば 有効 needSignature bool {scope} == “passive” ※ 判定するバージョン値に署名検証を必要とするか 有効にすると、クライアントはバージョン申告と共に暗号署名を提供する必要があります。これにより、クライアントがバージョンチェックを回避するために偽のバージョンを申告することを防止します。スコープが「passive」の場合にのみ適用されます。 ※ scope が “passive” であれば 必須 signatureKeyId string {needSignature} ※ ~ 1024文字 暗号鍵 GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ needSignature が “true” であれば 必須 approveRequirement 文字列列挙型 enum {   “required”,   “optional” } {scope} == “active” “required” 承認の必要性 このバージョンモデルに対するユーザー承認が必須か任意かを制御します。「required」の場合、ユーザーが現在のバージョンを承認していないとバージョンチェックが失敗します。「optional」の場合、承認状態に関係なくバージョンチェックが通過します。スコープが「active」の場合にのみ適用されます。 定義 説明 “required” 承認が必要 “optional” 任意の承認 ※ scope が “active” であれば 有効 Version バージョン 3階層（メジャー、マイナー、マイクロ）のバージョン番号を表します。バージョンの比較はメジャー、マイナー、マイクロの順に階層的に行われます。バージョンチェックの警告・エラー閾値の定義に使用されます。  major int  0 ~ 2147483646 メジャーバージョン バージョン比較で最も優先度の高いコンポーネントです。メジャーバージョンの差異はマイナーバージョンやマイクロバージョンより優先されます。 minor int  0 ~ 2147483646 マイナーバージョン バージョン比較で2番目に優先されるコンポーネントです。メジャーバージョンが同一の場合にのみ比較されます。 micro int  0 ~ 2147483646 マイクロバージョン バージョン比較で最も優先度の低いコンポーネントです。メジャーバージョンとマイナーバージョンがともに同一の場合にのみ比較されます。 ScheduleVersion 時系列で切り替わるバージョン GS2-Schedule のイベントで制御される特定の期間中に有効になるバージョン閾値（現在、警告、エラー）のセットを定義します。複数のスケジュールバージョンを設定することで、古いクライアントをブロックする前にユーザーに警告するなど、段階的なバージョン強制を実装できます。  currentVersion Version  現在のバージョン このスケジュール期間中に利用可能な最新バージョンです。「active」スコープでユーザーが更新を承認する際に現在のバージョンを通知するために使用されます。 warningVersion Version  バージョンアップを促すバージョン このスケジュール期間中にアップグレード通知を表示する最低バージョン閾値です。ログインは許可されますがユーザーにアップグレードが促されます。 errorVersion Version  バージョンチェックでエラーになるバージョン このスケジュール期間中にログインを許可する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、バージョンチェックがエラーとなりログインがブロックされます。 scheduleEventId string ~ 1024文字 バージョンチェックを有効化する期間を設定した GS2-Schedule のイベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN このバージョン閾値セットが有効になる期間を制御する GS2-Schedule のイベントを指定します。ここで定義されたバージョンチェック設定は、指定したイベントがアクティブな期間にのみ適用されます。","lang":"ja","section":"api_reference","summary":"マスターデータのフォーマットと インポートする各種モデルのリファレンス\n","title":"GS2-Version マスターデータリファレンス","url":"/ja/api_reference/version/master_data/"},{"content":"リリース手順は非常に単純です。 本番環境用の GS2アカウント・プロジェクト に対して、開発環境・検証環境 を構築するために育ててきた GS2-Deploy のテンプレートを適用するだけです。 アプリケーションの互換性が失われるような破壊的な変更が加わる場合は、GS2-Version + GS2-Gateway を使用してプレイヤーを追い出す必要があるかもしれませんが、それもAPIを1つ呼び出すだけです。 その手順については こちら をご確認ください。","lang":"ja","section":"overview","summary":"GS2 を利用したゲームのリリース方法について\n","title":"リリース","url":"/ja/overview/workflow/release/"},{"content":"Game as a Service を実現するには、データ分析が重要です。 「いったいどれくらいのプレイヤーが毎日遊んでくれているのか」「プレイヤーはゲームのどこでつまづいているのか」「ゲーム内のリソース供給量は適切か」 データは多ければ多いほど、次にプレイヤーを喜ばせるためにどのような手を打つのが効果的か判断する精度が高まります。 GS2 が多くの ゲーム特化の Backend as a Service のアプローチと異なり、ユーザーデータを単純なバイナリストレージに保管するのではなく、 手間のかかる機能ごとのマイクロサービスを用意して、マイクロサービスごとにデータを保管しているのか、その理由の一つはデータ分析のためです。 ゲーム開発者は GS2-Quest を使って、ゲームの進行管理を行うだけで GS2 はデータ分析を実行し、 マネージメントコンソールを通して、クエストの挑戦回数やクリア率を分析してあなたに提供します。 GS2 のアクセスログはリアルタイムでご希望の Google BigQuery または Amazon Kinesis Data Firehose にお届けできます。 届けられたアクセスログを分析することで、お好みのデータ分析が可能です。 さらに、GS2 が Google BigQuery に蓄積されたデータを可視化するオープンソース GS2-Insight を提供しています。 このオープンソースを利用すれば、マネージメントコンソールで確認するメトリクスよりも詳細なメトリクスを確認し、プレイヤーの行動をタイムラインとして可視化することができます。","lang":"ja","section":"overview","summary":"GS2 を利用したゲームのデータ分析方法について\n","title":"分析","url":"/ja/overview/workflow/analytics/"},{"content":"Consume Action 消費アクション Gs2AdReward:ConsumePointByUserId ユーザーIDを指定してポイントを消費 指定されたユーザーIDから指定された数のポイントを減算し、更新後のポイント情報を返します。 要求された消費量に対してポイントが不足している場合はエラーが返されます。 ネームスペースの消費スクリプト設定に GS2-Script が設定されている場合、ポイント減算前にスクリプトが実行され、カスタムバリデーションや消費量の変更が可能です。 ポイント減算後、ネームスペース設定で変更通知が構成されている場合は通知が送信されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 point long  1 ~ 9223372036854775805 消費するポイント timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2AdReward:AcquirePointByUserId ユーザーIDを指定してポイントを入手 指定されたユーザーIDに指定された数のポイントを追加し、更新後のポイント情報を返します。 ユーザーのポイントレコードが存在しない場合、ポイント追加前に新しいレコードが自動的に作成されます。 ネームスペースの入手スクリプト設定に GS2-Script が設定されている場合、ポイント追加前にスクリプトが実行され、カスタムバリデーションや入手量の変更が可能です。 ポイント追加後、ネームスペース設定で変更通知が構成されている場合は通知が送信されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 point long  1 ~ 9223372036854775805 入手するポイント timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-AdReward トランザクションアクション","url":"/ja/api_reference/ad_reward/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2Dictionary:VerifyEntryByUserId ユーザーIDを指定してエントリーを検証 指定されたユーザーが特定のエントリーを収集済みか未収集かを検証します。 検証タイプで条件を指定します：‘have’ はユーザーがエントリーを保有していることを確認し、‘havent’ は保有していないことを確認します。 検証に失敗した場合、エラーが返されます。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 entryModelName string  ~ 128文字 エントリーモデル名 エントリーモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “havent”,   “have” }  検証の種類 定義 説明 “havent” 指定したエントリーを保有していないこと “have” 指定したエントリーを保有していること timeOffsetToken string ~ 1024文字 タイムオフセットトークン Consume Action 消費アクション Gs2Dictionary:DeleteEntriesByUserId ユーザーIDを指定してエントリーを削除 エントリーモデル名のリストを指定して、指定されたユーザーの図鑑から特定のエントリーを削除します。 バッチ操作として複数のエントリーを一度に削除できます。 返されるリストには、実際に削除されたエントリーが含まれます。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 entryModelNames List [] 0 ~ 100 items エントリーモデル名のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Dictionary:AddEntriesByUserId ユーザーIDを指定してエントリーを追加 指定されたユーザーの図鑑に1つ以上のエントリーモデル名を登録します。 バッチ操作として複数のエントリーモデル名を一度に指定できます。 既に登録済みのエントリーはエラーにならず、スキップされます。 返されるリストには、新たに追加されたエントリーのみが含まれます。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 entryModelNames List [] 0 ~ 100 items エントリーモデル名のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Dictionary トランザクションアクション","url":"/ja/api_reference/dictionary/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2Distributor:IfExpressionByUserId 条件を検証し、消費アクションの内容を切り替える 検証アクションを条件として評価し、結果に基づいて trueActions または falseActions の消費アクションリストを実行します。 これによりトランザクション内で条件分岐が可能になり、検証結果に応じて異なる消費アクションを実行できます。 multiplyValueSpecifyingQuantity が有効な場合、検証に使用される値も指定された数量で乗算されます。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 condition VerifyAction  条件 trueActions List 0 ~ 10 items 条件が真のときに実行される消費アクションリスト falseActions List 0 ~ 10 items 条件が偽のときに実行される消費アクションリスト multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Distributor:AndExpressionByUserId 複数の検証アクションを実行し、全てが真かどうかを判定する 複数の検証アクションを実行し、すべてが真と評価された場合にのみ成功します（AND論理）。 いずれかの検証アクションが失敗すると、式全体が失敗します。 トランザクションの実行前にすべて満たす必要がある複数の前提条件を組み合わせる場合に便利です。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 actions List 0 ~ 10 items 検証アクションリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Distributor:OrExpressionByUserId 複数の検証アクションを実行し、いずれかが真かどうかを判定する 複数の検証アクションを実行し、少なくとも1つが真と評価された場合に成功します（OR論理）。 すべての検証アクションが失敗した場合にのみ式が失敗します。 いずれか1つを満たせば十分な代替条件を定義する場合に便利です。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 actions List 0 ~ 10 items 検証アクションリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Distributor トランザクションアクション","url":"/ja/api_reference/distributor/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2Enchant:VerifyRarityParameterStatusByUserId ユーザーIDを指定してレアリティパラメータを検証 指定されたユーザーのレアリティパラメータの状態が指定された条件を満たすかどうかを検証します。 3つの検証タイプがサポートされています： ‘have’: 指定されたパラメータ値が状態に存在することを検証 ‘havent’: 指定されたパラメータ値が状態に存在しないことを検証 ‘count’: パラメータの数が指定された数と一致することを検証 他のアクションを実行する前の前提条件チェックとして使用できます。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 verifyType 文字列列挙型 enum {   “havent”,   “have”,   “count” }  検証の種類 定義 説明 “havent” 指定したパラメータを保有していないこと “have” 指定したパラメータを保有していること “count” 保有しているパラメータの数が指定数であること parameterValueName string {verifyType} in [“havent”, “have”] ※ ~ 64文字 名前 この抽選エントリの識別子です。レアリティパラメータモデルの値プール内で一意である必要があります。抽選された際、この名前が結果のレアリティパラメータ値に保存されます。 ※ verifyType が “havent”,“have\"であれば 必須 parameterCount int {verifyType} in [“count”] ※ 0 ~ 10 検証するパラメータの数 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Enchant:ReDrawBalanceParameterStatusByUserId ユーザーIDを指定してバランスパラメータを再抽選 特定のプロパティのバランスパラメータ値を再抽選し、合計値をパラメータ間で再分配します。 fixedParameterNames にパラメータ名を指定することで、特定のパラメータを固定（ロック）して再抽選対象から除外できます（最大10個）。 合計値の制約は維持されます：固定されたものを含むすべてのパラメータ値の合計は常にモデルの合計値と等しくなります。 更新後と更新前のパラメータ状態の両方が返されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 parameterName string  ~ 128文字 バランスパラメータモデル名 このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのバランスパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 fixedParameterNames List [] 0 ~ 10 items 再抽選しないパラメータの名前リスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Enchant:SetBalanceParameterStatusByUserId ユーザーIDを指定してバランスパラメータに任意の値を設定 通常の抽選/再抽選メカニズムを経ずに、指定されたユーザーの特定のプロパティにパラメータ値を直接設定します。 これは任意のパラメータ値を割り当てることができる管理操作です。 更新後と更新前のパラメータ状態の両方が返されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 parameterName string  ~ 128文字 バランスパラメータモデル名 このステータスの抽選条件を定義するバランスパラメータモデルの名前です。合計値、配分方針、利用可能なパラメータスロットを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのバランスパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 parameterValues List  1 ~ 10 items バランスパラメータの値リスト 抽選処理後に各パラメータスロットに割り当てられた具体的な値です。各エントリはモデルで定義されたパラメータスロットに対応し、割り当てられた実際の数値を保持します。すべての値の合計はモデルで指定された合計値と等しくなります。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Enchant:ReDrawRarityParameterStatusByUserId ユーザーIDを指定してレアリティパラメータを再抽選 特定のプロパティのレアリティパラメータ値を再抽選し、レアリティウェイトに基づいてランダムに新しい値を割り当てます。 fixedParameterNames にパラメータ名を指定することで、特定のパラメータを固定（ロック）して再抽選対象から除外できます（最大10個）。 固定されたパラメータは現在の値を保持し、固定されていないパラメータのみが再抽選されます。 更新後と更新前のパラメータ状態の両方が返されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 fixedParameterNames List 0 ~ 10 items 再抽選しないパラメータの名前リスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Enchant:AddRarityParameterStatusByUserId ユーザーIDを指定してレアリティパラメータを追加 レアリティウェイトに基づいてランダムに値を抽選し、既存のレアリティパラメータ状態に新しいパラメータスロットを追加します。 count は追加するパラメータスロットの数（1〜10）を指定し、モデルの最大パラメータ数が上限となります。 更新後と更新前のパラメータ状態の両方が返されます。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 count int 1 1 ~ 10 追加するパラメータの数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Enchant:SetRarityParameterStatusByUserId ユーザーIDを指定してレアリティパラメータに任意の値を設定 通常の抽選/再抽選メカニズムを経ずに、指定されたユーザーの特定のプロパティにパラメータ値を直接設定します。 これはレアリティウェイトに関係なく任意のパラメータ値を割り当てることができる管理操作です。 更新後と更新前のパラメータ状態の両方が返されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 parameterName string  ~ 128文字 レアリティパラメータモデル名 このステータスの抽選条件を定義するレアリティパラメータモデルの名前です。最大パラメータ数、付与数の抽選重み、値の抽選プールを指定するモデルを参照します。 propertyId string  ~ 1024文字 パラメータの保有元リソースのプロパティID これらのレアリティパラメータが紐付けられている特定のゲームリソース（例: 武器や装備アイテム）を識別します。通常、GS2-Inventory のアイテムなどのリソースをプロパティ ID で参照します。 parameterValues List 0 ~ 10 items レアリティパラメータの値リスト 付与された各スロットに対して重み付き抽選で選択された具体的なパラメータ値です。エントリ数は付与数の抽選で決定され、各エントリの値は値モデルプールから選択されます。最大パラメータ数より少ないエントリ数になる場合があります。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Enchant トランザクションアクション","url":"/ja/api_reference/enchant/stamp_sheet/"},{"content":"Consume Action 消費アクション Gs2Enhance:DeleteProgressByUserId ユーザーIDを指定して実行中の強化の進行情報を削除 指定されたユーザーの現在進行中の強化の進行情報レコードを削除します。 進行中の2フェーズ強化がキャンセルされ、事前計算された経験値とボーナスレートは破棄されます。 Start フェーズで既に消費された素材は自動的には返還されません。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Enhance:DirectEnhanceByUserId ユーザーIDを指定して強化を実行 強化レートモデルに基づいて、指定された素材を消費して対象アイテムセットに経験値を付与します。 獲得経験値はレートモデルで定義された経験値階層に従って素材から計算され、ボーナスレートは設定されたボーナスレート確率テーブルから抽選されます。 結果には獲得した経験値量と適用されたボーナスレートが含まれます。 素材の消費と経験値の取得を実行するためのトランザクションが発行されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 targetItemSetId string  ~ 1024文字 強化対象のアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN materials List  1 ~ 10 items 強化素材リスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Enhance:UnleashByUserId ユーザーIDを指定して限界突破を実行 GS2-Grade で管理するグレードを引き上げる強化処理で利用します。 なかでも、同種アイテムを素材として消費することでレベルキャップを引き上げるタイプの限界突破に利用します。 指定された素材を消費する代わりに限界突破対象のリソースのグレードを1引き上げることができます。 素材となるリソースが経験値などのリソースを持っていたとしても、そのリソースは引き継がれません。 引き継ぎが必要な場合は、事前に別のリソースに引き継ぐためのリソースに変換しておく必要があります。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 強化レートモデル名 強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 targetItemSetId string  ~ 1024文字 限界突破対象のアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN materials List  1 ~ 1000 items 限界突破素材リスト config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Enhance:CreateProgressByUserId ユーザーIDを指定して強化を開始 2フェーズ強化フローのための進行情報レコードを作成します。 対象アイテムセットと素材をレートモデルに対して検証し、素材から獲得経験値を計算し、確率テーブルからボーナスレートを抽選します。 計算された経験値とボーナスレートは進行情報レコードに保存され、End API で強化完了時に使用されます。 force が true の場合、ユーザーの既存の進行情報は破棄され置き換えられます。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 rateName string  ~ 128文字 強化レートモデル名 この強化操作のパラメータを定義する強化レートモデルの名前です。対象インベントリ、素材インベントリ、経験値階層、ボーナスレートを指定するモデルを参照します。 targetItemSetId string  ~ 1024文字 強化対象のアイテムセットの GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN materials List 0 ~ 10 items 強化素材リスト force bool false すでに開始している強化がある場合にそれを破棄して開始するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Enhance トランザクションアクション","url":"/ja/api_reference/enhance/stamp_sheet/"},{"content":"Consume Action 消費アクション Gs2Exchange:DeleteAwaitByUserId ユーザーIDを指定して交換待機を削除 指定されたユーザーの交換待機レコードを削除します。 保留中の交換がキャンセルされ、まだ取得されていない報酬は放棄されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Exchange:ExchangeByUserId ユーザーIDを指定して交換を実行 指定されたユーザーに対して、指定された交換レートモデルに基づいてリソース交換を実行します。 レートモデルのタイミングタイプを検証します：‘immediate’ タイミングの場合はネームスペースで直接交換が有効である必要があり、‘await’ タイミングの場合は待機交換が有効である必要があります。 レートモデルで定義された消費・検証・入手アクションを指定回数分実行するトランザクションが発行されます。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 count int  1 ~ 1073741821 交換回数 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Exchange:IncrementalExchangeByUserId ユーザーIDを指定してコスト上昇型交換を実行 指定されたユーザーに対して、指定されたコスト上昇型交換レートモデルに基づいて、実行回数に応じてコストが段階的に上昇するリソース交換を実行します。 消費コストはモデルの計算タイプ（線形計算式またはGS2-Script）と現在の交換回数に基づいて計算されます。 消費・入手アクションを実行するトランザクションが発行されます。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rateName string  ~ 128文字 コスト上昇型交換レートモデルの名前 コスト上昇型交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 count int  1 ~ 1073741821 交換回数 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Exchange:CreateAwaitByUserId ユーザーIDを指定して交換待機を作成 時間待機型交換の新しい交換待機レコードを作成します。 指定されたレートモデルのタイミングタイプは ‘await’ である必要があり、そうでない場合はリクエストが拒否されます。 待機はスキップ秒数ゼロで開始され、レートモデルで定義されたロック時間が報酬取得までのユーザーの待機時間を決定します。 作成時にデフォルトの設定値を指定でき、取得時に提供される設定値とマージされます。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 rateName string  ~ 128文字 交換レートモデル名 交換レートモデルの種類固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 count int 1 1 ~ 10000 交換数 この交換を実行する回数です。複数回の交換を1つの待機にまとめることができ、消費されるコストと受け取る報酬の両方が乗算されます。 config List [] 0 ~ 32 items 報酬取得時に適用するデフォルト設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Exchange:AcquireForceByUserId 交換待機の報酬を、待機時間の判定を行わず強制取得 ロック時間が経過しているかどうかに関係なく、交換待機の報酬を強制的に取得します。 通常の待機時間チェックをバイパスし、即時に報酬を取得できます。 提供された設定値は待機作成時に設定されたデフォルト設定値とマージされます。 レートモデルで定義された入手アクションを実行するトランザクションが発行されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Exchange:SkipByUserId ユーザーIDを指定して交換待機をスキップ 交換待機の待機時間を加速またはスキップします。 4つのスキップタイプをサポートしています：‘complete’ は残りの待機時間を全てスキップし、‘minutes’ は指定した分数をスキップ秒数に加算し、’totalRate’ は全体のロック時間の割合をスキップし、‘remainRate’ は残りの待機時間の割合をスキップします。 スキップ秒数は合計ロック時間が上限となり、それを超えることはできません。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 awaitName string  UUID ~ 36文字 交換待機の名前 交換待機の一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、交換待機を識別するために使用されます。 skipType 文字列列挙型 enum {   “complete”,   “minutes”,   “totalRate”,   “remainRate” } “complete” スキップ方法 定義 説明 “complete” 完全にスキップ “minutes” 時間を指定してスキップ(分) “totalRate” 全体の待機時間の割合を指定してスキップ “remainRate” 残りの待機時間の割合を指定してスキップ minutes int {skipType} == “minutes” 0 ~ 2147483646 スキップする分数 ※ skipType が “minutes” であれば有効 rate float {skipType} == “totalRate” or {skipType} == “remainRate” 0 ~ 1 スキップする待機時間の割合 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Exchange トランザクションアクション","url":"/ja/api_reference/exchange/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2Experience:VerifyRankByUserId ユーザーIDを指定してランクを検証 指定されたユーザーの現在のランクが指定された値に対する条件を満たすことを検証します。 6つの比較演算子をサポート：less、lessEqual、greater、greaterEqual、equal、notEqual。 検証条件を満たさない場合はエラー（BadRequest）を返します。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” ランクが指定値未満であること “lessEqual” ランクが指定値以下であること “greater” ランクが指定値超過であること “greaterEqual” ランクが指定値以上であること “equal” ランクが指定値と一致すること “notEqual” ランクが指定値と一致しないこと propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rankValue long 0 0 ~ 9223372036854775805 現在のランク ランクアップ閾値テーブルを使用して累計経験値から算出されるランク（レベル）です。0 から開始し、経験値閾値を超えるごとに増加します。現在のランクキャップ値を超えることはできません。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Experience:VerifyRankCapByUserId ユーザーIDを指定してランクキャップを検証 指定されたユーザーの現在のランクキャップ（バフ効果を含む）が指定された値に対する条件を満たすことを検証します。 6つの比較演算子をサポート：less、lessEqual、greater、greaterEqual、equal、notEqual。 検証条件を満たさない場合はエラー（BadRequest）を返します。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” ランクキャップが指定値未満であること “lessEqual” ランクキャップが指定値以下であること “greater” ランクキャップが指定値超過であること “greaterEqual” ランクキャップが指定値以上であること “equal” ランクキャップが指定値と一致すること “notEqual” ランクキャップが指定値と一致しないこと propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rankCapValue long  0 ~ 9223372036854775805 現在のランクキャップ このステータスが現在到達できる最大ランクです。初期値は経験値モデルの defaultRankCap に設定され、限界突破などのランクキャップ増加操作により maxRankCap まで引き上げることができます。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Consume Action 消費アクション Gs2Experience:SubExperienceByUserId ユーザーIDを指定して経験値を減算 指定されたユーザーのステータスから経験値を減算します。経験値は0を下回りません。 ランクはランクアップ閾値に基づいて自動的に再計算されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 experienceValue long 0 0 ~ 9223372036854775805 失う経験値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Experience:SubRankCapByUserId ユーザーIDを指定してランクキャップを減算 指定されたユーザーのステータスのランクキャップを減算します。ランクキャップは0を下回りません。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rankCapValue long  0 ~ 9223372036854775805 現在のランクキャップ このステータスが現在到達できる最大ランクです。初期値は経験値モデルの defaultRankCap に設定され、限界突破などのランクキャップ増加操作により maxRankCap まで引き上げることができます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Experience:AddExperienceByUserId ユーザーIDを指定して経験値を加算 指定されたユーザーのステータスに経験値を加算します。ランクはランクアップ閾値に基づいて自動的に再計算されます。 truncateExperienceWhenRankUp が true の場合、ランクアップ時に閾値を超えた余剰経験値は切り捨てられます。false（デフォルト）の場合は次のランクに繰り越されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 experienceValue long 0 0 ~ 9223372036854775805 獲得経験値 truncateExperienceWhenRankUp bool? false ランクアップ時に残りの経験値を切り捨てるか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Experience:SetExperienceByUserId ユーザーIDを指定して経験値を設定 指定されたユーザーのステータスの経験値を指定の値に直接設定します。 更新前のステータスを ‘old’ として、更新後のステータスと共に返します。 ランクはランクアップ閾値に基づいて自動的に再計算されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 experienceValue long 0 0 ~ 9223372036854775805 累計獲得経験値 このステータスが蓄積した合計経験値です。現在のランクはこの値からランクアップ閾値テーブルを使用して算出されます。現在のランクキャップに対応する閾値を超えて経験値を獲得することはできません。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Experience:AddRankCapByUserId ユーザーIDを指定してランクキャップを加算 指定されたユーザーのステータスのランクキャップを加算します。ランクキャップは経験値モデルで定義された maxRankCap を超えることはできません。 ランクキャップは、指定されたプロパティでユーザーが到達可能な最大ランクを決定します。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rankCapValue long  0 ~ 9223372036854775805 現在のランクキャップ このステータスが現在到達できる最大ランクです。初期値は経験値モデルの defaultRankCap に設定され、限界突破などのランクキャップ増加操作により maxRankCap まで引き上げることができます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Experience:SetRankCapByUserId ユーザーIDを指定してランクキャップを設定 指定されたユーザーのステータスのランクキャップ値を指定の値に直接設定します。 更新前のステータスを ‘old’ として、更新後のステータスと共に返します。 ランクキャップは経験値モデルで定義された maxRankCap で上限が制限されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rankCapValue long  0 ~ 9223372036854775805 現在のランクキャップ このステータスが現在到達できる最大ランクです。初期値は経験値モデルの defaultRankCap に設定され、限界突破などのランクキャップ増加操作により maxRankCap まで引き上げることができます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Experience:MultiplyAcquireActionsByUserId ユーザーIDを指定して経験値の対象プロパティのランクに応じてリソースを加算 プロパティの現在のランク値に基づいて指定された rateName の入手アクション倍率を参照し、指定された入手アクションをその倍率（baseRate と組み合わせて）で乗算し、結果のアクションを実行するトランザクションを開始します。 ランクに基づく報酬スケーリングに使用され、高ランクほど比例して多くのリソースを獲得できます。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 experienceName string  ~ 128文字 経験値モデル名 このステータスのランキングルールを定義する経験値モデルの名前です。どのランクアップ閾値テーブルとランクキャップ設定が適用されるかを決定します。 propertyId string  ~ 1024文字 プロパティID ユーザースコープ内でこのステータスを一意に識別する開発者定義の識別子です。経験値を持つ GS2-Inventory のアイテムセット GRN や GS2-Dictionary のエントリー GRN の末尾に経験値モデルのサフィックスを付与した値を使用することを推奨します。 rateName string  ~ 128文字 報酬加算テーブル名 この報酬加算テーブルの一意な識別子です。特定の入手アクションに適用する倍率テーブルを指定する際に参照されます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト baseRate float 1 0 ~ 1000000 基礎倍率 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Experience トランザクションアクション","url":"/ja/api_reference/experience/stamp_sheet/"},{"content":"Consume Action 消費アクション Gs2Formation:SubMoldCapacityByUserId ユーザーIDを指定してキャパシティサイズを減算 指定されたユーザーのフォームの保存領域（モールド）のキャパシティを減算します。キャパシティは0を下回りません。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 capacity int  0 ~ 2147483646 現在のキャパシティ この保存領域でこのプレイヤーが現在利用できるフォーム保存スロット数です。初期値は保存領域モデルの initialMaxCapacity に設定され、キャパシティ増加操作により maxCapacity まで拡張できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Formation:AddMoldCapacityByUserId ユーザーIDを指定してキャパシティサイズを加算 指定されたユーザーのフォームの保存領域（モールド）のキャパシティを加算します。 キャパシティはモールドモデルで定義された maxCapacity を超えることはできません。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 capacity int  0 ~ 2147483646 現在のキャパシティ この保存領域でこのプレイヤーが現在利用できるフォーム保存スロット数です。初期値は保存領域モデルの initialMaxCapacity に設定され、キャパシティ増加操作により maxCapacity まで拡張できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Formation:SetMoldCapacityByUserId ユーザーIDを指定してキャパシティサイズを設定 指定されたユーザーのフォームの保存領域（モールド）のキャパシティを指定の値に直接設定します。 更新前のモールドを ‘old’ として、更新後のモールドと共に返します。 キャパシティはモールドモデルで定義された maxCapacity で上限が制限されます。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 フォームの保存領域モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 capacity int  0 ~ 2147483646 現在のキャパシティ この保存領域でこのプレイヤーが現在利用できるフォーム保存スロット数です。初期値は保存領域モデルの initialMaxCapacity に設定され、キャパシティ増加操作により maxCapacity まで拡張できます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Formation:AcquireActionsToFormProperties ユーザーIDを指定してフォームのプロパティに入手アクションを適用 フォームのスロットプロパティに入手アクションを適用し、実行するトランザクションを開始します。 フォームのスロットにアイテムやリソースを付与するために使用され、カスタマイズ用のオプションのコンフィグパラメータが利用できます。 トランザクションを返します。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 acquireAction AcquireAction  フォームのプロパティに適用する入手アクション config List [] 0 ~ 1000 items 入手アクションに適用するコンフィグ timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Formation:SetFormByUserId ユーザーIDを指定してフォームを設定 指定されたユーザーのフォームのスロット値を更新します。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 moldModelName string  ~ 128文字 フォームの保存領域モデルの名前 index int  0 ~ 2147483646 フォームのインデックス 保存領域内でこのフォームが占める保存スロットを識別するゼロベースのインデックスです。最大インデックスは保存領域の現在のキャパシティによって制限されます。例えば、インデックス 0 が「パーティ1」、インデックス 1 が「パーティ2」のように使用できます。 slots List  1 ~ 10 items スロットリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Formation:AcquireActionsToPropertyFormProperties プロパティフォームのプロパティに入手アクションを適用 プロパティフォームのプロパティに入手アクションを適用し、トランザクションを開始します。 プロパティフォームのスロット値として設定されるアイテムやリソースを付与するために使用されます。 入手アクションはトランザクションとして実行され、結果のアイテムがフォームのスロットプロパティに適用されます。 入手アクションの動作をカスタマイズするためのコンフィグ値を渡すことができます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 propertyFormModelName string  ~ 128文字 プロパティフォームモデル名 propertyId string  ~ 1024文字 プロパティID このプロパティフォームインスタンスを一意に識別する開発者定義の識別子です。通常、このフォームが設定する所有リソース（例: GS2-Inventory のアイテムセット）の GRN を設定します。特定の装備にスキルを設定するような用途で使用されます。 acquireAction AcquireAction  プロパティフォームのプロパティに適用する入手アクション config List [] 0 ~ 1000 items 入手アクションに適用するコンフィグ timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Formation トランザクションアクション","url":"/ja/api_reference/formation/stamp_sheet/"},{"content":"Acquire Action 入手アクション Gs2Friend:UpdateProfileByUserId ユーザーIDを指定してプロフィールを更新 指定されたユーザーのプロフィールを3つの異なる公開レベルで更新します（サーバーサイド操作）： publicProfile: すべてのユーザーに公開 followerProfile: フォロワーにのみ公開 friendProfile: フレンドにのみ公開 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 publicProfile string ~ 1024文字 公開されるプロフィール 関係性に関わらずすべてのプレイヤーに表示されるプロフィール情報です。通常、表示名、アバター、その他公開可能な情報に使用されます。 followerProfile string ~ 1024文字 フォロワー向けに公開されるプロフィール このユーザーをフォローしているプレイヤーにのみ表示されるプロフィール情報です。公開プロフィールよりも詳細な情報（ゲームプレイ統計やステータスメッセージなど）を含むことができます。 friendProfile string ~ 1024文字 フレンド向けに公開されるプロフィール 相互フレンド関係が成立しているプレイヤーにのみ表示されるプロフィール情報です。最もプライベートなプロフィールレベルで、連絡先やプライベートメッセージなどの個人情報の共有に適しています。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Friend トランザクションアクション","url":"/ja/api_reference/friend/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2Grade:VerifyGradeByUserId ユーザーIDを指定してグレードを検証 指定されたユーザーのグレード値が指定された条件を満たすことを検証します（サーバーサイド操作）。 6つの比較演算子をサポートします：less（未満）、lessEqual（以下）、greater（超過）、greaterEqual（以上）、equal（一致）、notEqual（不一致）。 条件が満たされない場合、期待値と実際の値を含む説明的なエラーメッセージが返されます。 multiplyValueSpecifyingQuantity が true の場合、検証の閾値は指定された数量で乗算されます。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” グレードが指定値未満であること “lessEqual” グレードが指定値以下であること “greater” グレードが指定値超過であること “greaterEqual” グレードが指定値以上であること “equal” グレードが指定値と一致すること “notEqual” グレードが指定値と一致しないこと propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 gradeValue long 1 1 ~ 9223372036854775805 現在のグレード このステータスの現在のグレード値です。連動する GS2-Experience モデルのランクキャップを決定するために、グレードモデルのグレードエントリ配列のインデックスとして使用されます。この値が変更されると、関連する経験値ステータスのランクキャップが対応するグレードエントリで定義された値に自動更新されます。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Grade:VerifyGradeUpMaterialByUserId ユーザーIDを指定してグレードアップに使用する素材を検証 指定されたユーザーの指定されたプロパティのグレードアップに素材のプロパティIDが有効かどうかを検証します（サーバーサイド操作）。 検証はグレードエントリの PropertyIdRegex と GradeUpPropertyIdRegex から正規表現パターンを構築し、素材のプロパティIDがマッチするかを確認します。 2つの検証タイプをサポートします：‘match’（素材がパターンにマッチすること）と ’notMatch’（素材がパターンにマッチしないこと）。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 verifyType 文字列列挙型 enum {   “match”,   “notMatch” }  検証の種類 定義 説明 “match” 条件に一致していること “notMatch” 条件に一致していないこと propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 materialPropertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Consume Action 消費アクション Gs2Grade:SubGradeByUserId ユーザーIDを指定してグレードを減算 指定されたグレードモデルとプロパティに対して、指定されたユーザーの現在のグレードから指定値を減算します（サーバーサイド操作）。 グレード値の更新後、リンクされた GS2-Experience ステータスにランクキャップが自動的に適用されます。 ランクキャップ値は新しいグレードレベルに一致するグレードエントリから決定され。 更新されたグレードステータスとともに、Experience ネームスペース名と更新された Experience ステータスを返します。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 gradeValue long 0 0 ~ 9223372036854775805 失うグレード timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Grade:AddGradeByUserId ユーザーIDを指定してグレードを加算 指定されたグレードモデルとプロパティに対して、ユーザーの現在のグレードに指定値を加算します。 グレード値の更新後、リンクされた GS2-Experience ステータスにランクキャップが自動的に適用されます。 ランクキャップ値は新しいグレードレベルに一致するグレードエントリから決定され。 更新されたグレードステータスとともに、Experience ネームスペース名と更新された Experience ステータスを返します。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 gradeValue long 0 0 ~ 9223372036854775805 獲得グレード timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Grade:ApplyRankCapByUserId ユーザーIDを指定して GS2-Experienceステータスにランクキャップを適用 指定されたユーザーの現在のグレードに対応するランクキャップを、リンクされた GS2-Experience ステータスに適用します（サーバーサイド操作）。 現在のグレード値に一致するグレードエントリを参照してランクキャップ値を決定し。 グレードが外部で変更され、Experience のランクキャップを同期する必要がある場合に有用です。 更新されたグレードステータスとともに、Experience ネームスペース名と更新された Experience ステータスを返します。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Grade:MultiplyAcquireActionsByUserId グレードに基づくレートで入手アクションを乗算 指定された入手アクションの数量を、ユーザーの現在のグレードに基づくレート乗数で乗算します。 レート乗数は指定された rateName と現在のグレード値を使用して、グレードモデルの acquireActionRates から参照されます。 乗算された入手アクションはトランザクションとして実行され、グレードに基づく報酬スケーリング（例：高グレードほど多くのリソースを獲得）を実現します。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 gradeName string  ~ 128文字 グレードモデル名 このステータスが属するグレードモデルの名前です。グレードエントリのマッピング、連動する経験値モデル、報酬加算テーブルを含むグレードモデル定義を参照します。 propertyId string  ~ 1024文字 プロパティID このグレードステータスの開発者定義の識別子で、ユーザーとグレードモデル内で一意です。連動する GS2-Experience ステータスのプロパティIDと同じ値を使用することを強く推奨します。これにより、グレード値とランクキャップの正しい同期が保証されます。 rateName string  ~ 128文字 報酬加算テーブル名 グレードモデル内でこの倍率テーブルを一意に識別する名前です。トランザクションの特定の入手アクションにグレードベースの報酬スケーリングを適用する際に参照されます。 acquireActions List [] 0 ~ 100 items 入手アクションリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Grade トランザクションアクション","url":"/ja/api_reference/grade/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName ギルド名を指定して最大参加可能人数を検証 選択された比較演算子を使用して、指定されたギルドの currentMaximumMemberCount を指定された値と比較検証します（サーバーサイド操作）。 サポートされる演算子：less、lessEqual、greater、greaterEqual、equal、notEqual。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 最大参加可能人数が指定値未満であること “lessEqual” 最大参加可能人数が指定値以下であること “greater” 最大参加可能人数が指定値超過であること “greaterEqual” 最大参加可能人数が指定値以上であること “equal” 最大参加可能人数が指定値と一致すること “notEqual” 最大参加可能人数が指定値と一致しないこと value int 1 ~ 2147483646 最大参加可能人数 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか Gs2Guild:VerifyIncludeMemberByUserId ユーザーIDを指定してギルドメンバーにユーザーIDが含まれているかを検証 指定されたユーザーがギルドのメンバーであるかどうかを検証します（サーバーサイド操作）。 2つの検証タイプをサポートします：‘include’ と ’notInclude’。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  UUID ~ 36文字 ギルド名 ギルドの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ギルドを識別するために使用されます。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 verifyType 文字列列挙型 enum {   “include”,   “notInclude” }  検証の種類 定義 説明 “include” ギルドメンバーに指定したユーザーが含まれていること “notInclude” ギルドメンバーに指定したユーザーが含まれないこと timeOffsetToken string ~ 1024文字 タイムオフセットトークン Consume Action 消費アクション Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName ギルド名を指定して最大参加可能人数を減算 指定されたギルドの currentMaximumMemberCount を指定された値だけ減少させます（サーバーサイド操作）。 結果の値はゼロ未満にはなりません。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 value int 1 ~ 2147483646 最大人数の減少量 Acquire Action 入手アクション Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName ギルド名を指定して最大参加可能人数を加算 ギルドの currentMaximumMemberCount を指定された値だけ増加させます。 結果の値はギルドモデルで定義された maximumMemberCount を超えてはなりません。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 value int 1 ~ 2147483646 最大人数の増加量 Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName ギルド名を指定して最大参加可能人数を設定 ギルドの currentMaximumMemberCount を指定された絶対値に設定します。 増減操作とは異なり、差分を適用するのではなく値を直接設定します。 更新後のギルドと更新前のギルド状態の両方を返し、呼び出し元が変更を追跡できるようにします。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 guildName string  ~ 128文字 ギルド名 guildModelName string  ~ 128文字 ギルドモデル名 ギルドモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 value int 1 ~ 2147483646 設定する最大人数","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Guild トランザクションアクション","url":"/ja/api_reference/guild/stamp_sheet/"},{"content":"Consume Action 消費アクション Gs2Idle:DecreaseMaximumIdleMinutesByUserId ユーザーIDを指定して最大待機時間を減算 指定されたカテゴリーにおけるユーザーの最大待機時間から指定された分数を減算します。 最大待機時間はゼロを下回ることはできません。 ステータスがまだ存在しない場合、減算を適用する前に自動的に作成されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 decreaseMinutes int 1 ~ 2147483646 最大待機時間を減らす分数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Idle:IncreaseMaximumIdleMinutesByUserId ユーザーIDを指定して最大待機時間を加算 指定されたカテゴリーにおけるユーザーの最大待機時間に指定された分数を加算します。 最大待機時間は、放置報酬が蓄積される時間の上限を決定します。 ステータスがまだ存在しない場合、加算を適用する前に自動的に作成されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 increaseMinutes int 1 ~ 2147483646 最大待機時間を増やす分数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Idle:SetMaximumIdleMinutesByUserId ユーザーIDを指定して最大待機時間を設定 指定されたカテゴリーにおけるユーザーの最大待機時間を指定された絶対値に設定します。 加算/減算操作とは異なり、現在の最大待機時間を直接置き換えます。 更新後のステータスと更新前のステータスの両方を返すため、呼び出し元は変更内容を確認できます。 ステータスがまだ存在しない場合、値を適用する前に自動的に作成されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 maximumIdleMinutes int 1 ~ 2147483646 設定する最大待機時間 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Idle:ReceiveByUserId ユーザーIDを指定して報酬を受け取る 指定されたユーザーとカテゴリーの蓄積された待機時間に基づいて放置報酬を受け取ります。 報酬量は、経過した待機時間を rewardIntervalMinutes で割った値から計算され、maximumIdleMinutes で上限が設定されます。 receiveScript が設定されている場合、報酬付与前に実行され、受け取り操作を変更または拒否できます。 overrideAcquireActionsScriptId によって入手アクション（レート修正の適用など）を変更することも可能です。 受け取り後、待機タイマーは現在時刻にリセットされます。 計算された報酬の入手アクションを含むトランザクションを返します。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 categoryName string  ~ 128文字 カテゴリーモデル名 このステータスが属するカテゴリーモデルの名前です。放置報酬計算に使用される報酬間隔、最大放置時間、入手アクション、スケジュール設定を含むカテゴリーモデル定義を参照します。 config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Idle トランザクションアクション","url":"/ja/api_reference/idle/stamp_sheet/"},{"content":"Consume Action 消費アクション Gs2Inbox:OpenMessageByUserId ユーザーIDを指定してメッセージを開封済み化 指定されたユーザーの受信箱にある指定されたメッセージを既読（開封済み）としてマークします。 これは入手アクションを実行せずに isRead を true に設定する単純な状態遷移です。 既読にすると同時に関連する報酬を実行するには、代わりに Read API を使用してください。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inbox:DeleteMessageByUserId ユーザーIDを指定してメッセージを削除 指定されたユーザーの受信箱からメッセージを完全に削除します。 既読状態に関係なくメッセージレコードが削除されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 messageName string  UUID ~ 36文字 メッセージ名 メッセージの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各メッセージを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Inbox:SendMessageByUserId ユーザーIDを指定してメッセージの送信 指定されたユーザーの受信箱に新しいメッセージを作成して配信します。 メッセージにはメタデータ（任意の JSON コンテンツ）と readAcquireActions（メッセージの開封時に付与される報酬）を含めることができます。 メッセージの有効期限は、絶対タイムスタンプ（expiresAt）または配信時点からの相対的な期間（expiresTimeSpan）で設定できます。expiresAt が指定された場合、expiresTimeSpan より優先されます。 メッセージは未読状態（isRead=false）で開始されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 metadata string  ~ 4096文字 メタデータ メッセージのタイトル、本文、送信者情報、表示パラメータなどを含むJSON文字列など、メッセージの内容を表す任意のデータです。GS2はこの値を解釈せず、メッセージUIの描画のためにゲームクライアントにそのまま渡されます。最大4096文字です。 readAcquireActions List [] 0 ~ 100 items 開封時入手アクション ユーザーがこのメッセージを開封した際に実行される入手アクションのリストです。アイテム、通貨、リソースなどの報酬をメッセージに添付するために使用されます。複数のアクションを組み合わせて異なる種類の報酬を同時に付与できます。メッセージあたり最大100アクションです。 expiresAt long 有効期限日時 UNIX 時間・ミリ秒 expiresTimeSpan TimeSpan メッセージを受信した時刻（基準時刻）からメッセージが削除されるまでの期間 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Inbox トランザクションアクション","url":"/ja/api_reference/inbox/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId ユーザーIDを指定してインベントリの最大容量を検証 指定されたユーザーの現在の最大インベントリ容量が指定された条件を満たすことを検証します。 6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。 検証にはバフ適用後の容量値（GS2-Buff からのアクティブなバフ効果を反映）が使用されます。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 inventoryName string  ~ 128文字 インベントリモデル名 このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 現在のインベントリの最大容量が指定値未満であること “lessEqual” 現在のインベントリの最大容量が指定値以下であること “greater” 現在のインベントリの最大容量が指定値超過であること “greaterEqual” 現在のインベントリの最大容量が指定値以上であること “equal” 現在のインベントリの最大容量が指定値と一致すること “notEqual” 現在のインベントリの最大容量が指定値と一致しないこと currentInventoryMaxCapacity int  0 ~ 2147483646 現在のインベントリの最大容量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:VerifyItemSetByUserId ユーザーIDを指定してアイテムセットの所持数量の検証 指定されたユーザーの合計アイテム数量が指定された条件を満たすことを検証します。 数量は指定されたアイテムタイプのすべてのアイテムセットを合算して計算されます。 6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 所持数量が指定値未満であること “lessEqual” 所持数量が指定値以下であること “greater” 所持数量が指定値超過であること “greaterEqual” 所持数量が指定値以上であること “equal” 所持数量が指定値と一致すること “notEqual” 所持数量が指定値と一致しないこと itemSetName string ~ 36文字 アイテムセットを識別する名前 count long  0 ~ 9223372036854775805 所持数量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:VerifyReferenceOfByUserId ユーザーIDを指定してアイテムの参照元を検証 指定ユーザーのアイテムセット上の参照元の状態を検証します。 4つの検証タイプをサポート: not_entry（参照元が未登録）、already_entry（参照元が登録済み）、empty（参照元がゼロ）、not_empty（参照元が1つ以上存在）。 条件が満たされない場合はエラーが返されます。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 referenceOf string  ~ 1024文字 参照元 装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 verifyType 文字列列挙型 enum {   “not_entry”,   “already_entry”,   “empty”,   “not_empty” }  検証の種類 定義 説明 “not_entry” 指定した参照元がまだ登録されていないこと “already_entry” 指定した参照元が既に登録されていること “empty” 参照元として登録されている要素がゼロであること “not_empty” 参照元として登録されている要素が1以上であること timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:VerifySimpleItemByUserId ユーザーIDを指定してシンプルアイテムの所持数量を検証 指定されたユーザーのシンプルアイテムの数量が指定された条件を満たすことを検証します。 6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 シンプルアイテムモデル名 このレコードに格納されているアイテムの種類を定義するシンプルアイテムモデルの名前です。この所持品がどのアイテム定義に対応するかを識別するために使用されます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 所持数量が指定値未満であること “lessEqual” 所持数量が指定値以下であること “greater” 所持数量が指定値超過であること “greaterEqual” 所持数量が指定値以上であること “equal” 所持数量が指定値と一致すること “notEqual” 所持数量が指定値と一致しないこと count long  0 ~ 9223372036854775805 所持数量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:VerifyBigItemByUserId ユーザーIDを指定して巨大アイテムの所持数量を検証 指定ユーザーの巨大アイテム数量が指定された条件を満たすかどうかを検証します。 6つの比較演算子をサポート: less, lessEqual, greater, greaterEqual, equal, notEqual。 比較は文字列ベースの数量に対して任意精度演算で実行されます。 条件が満たされない場合はエラーが返され、満たされる場合はリクエストが成功します。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 巨大アイテムモデル名 このレコードに格納されているアイテムの種類を定義する巨大アイテムモデルの名前です。この巨大アイテムの所持品がどのアイテム定義に対応するかを識別するために使用されます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 所持数量が指定値未満であること “lessEqual” 所持数量が指定値以下であること “greater” 所持数量が指定値超過であること “greaterEqual” 所持数量が指定値以上であること “equal” 所持数量が指定値と一致すること “notEqual” 所持数量が指定値と一致しないこと count string  ~ 1024文字 所持数量 最大1024桁までの整数値文字列 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Consume Action 消費アクション Gs2Inventory:ConsumeItemSetByUserId ユーザーIDを指定してアイテムセットを消費 指定されたユーザーのインベントリ内の特定アイテムの数量を減少させます。 itemSetName を指定すると、その特定のスタックのみが消費対象になります。指定しない場合、そのアイテムタイプのすべてのスタックから消費されます。 アイテムセットの数量がゼロになると、自動的に削除されます。 十分なアイテムがない場合、Insufficient エラーが返されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 consumeCount long  1 ~ 9223372036854775805 消費する量 itemSetName string ~ 36文字 アイテムセットを識別する名前 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:ConsumeSimpleItemsByUserId ユーザーIDを指定してシンプルアイテムを消費 消費数量のバッチを使用して、指定されたユーザーのシンプルインベントリ内のアイテム数量を減少させます。 単一のアトミック操作で複数のアイテムを消費できます。いずれかのアイテムの数量が不足している場合、操作全体が失敗します。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 consumeCounts List  1 ~ 100 items シンプルアイテムの消費数量のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:ConsumeBigItemByUserId ユーザーIDを指定して巨大アイテムを消費 任意精度演算を使用して、指定ユーザーの巨大アイテム数量から指定された数量を減算します。 consumeCount は最大1024桁の有効な整数文字列でなければなりません。 現在の数量が不足している場合、Insufficient エラーが返され、減算は行われません。 ネームスペース設定により、巨大アイテム消費時にカスタムロジックを実行する GS2-Script を設定できます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 consumeCount string  ~ 1024文字 巨大アイテムの消費数量 最大1024桁までの整数値文字列 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Inventory:AddCapacityByUserId ユーザーIDを指定してインベントリのキャパシティサイズを加算 指定された量だけユーザーのインベントリ容量を増加させます。 結果の容量はインベントリモデルの maxCapacity を超えることはできません。 インベントリがまだ存在しない場合、initialCapacity で自動的に作成された後、指定された値が加算されます。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 addCapacityValue int  1 ~ 2147483646 加算するキャパシティサイズ timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:SetCapacityByUserId ユーザーIDを指定してインベントリのキャパシティサイズを設定 ユーザーのインベントリ容量を指定された絶対値に設定します。 更新前後のインベントリ状態を両方返すため、新旧の容量値を比較できます。 新しい容量値はインベントリモデルの maxCapacity を超えることはできません。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このインベントリの構造と容量設定を定義するインベントリモデルの名前です。ユーザーのインベントリインスタンスをモデル定義にリンクし、使用可能なアイテムの種類と容量制限を決定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 newCapacityValue int  1 ~ 2147483646 インベントリの新しい最大キャパシティ timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:AcquireItemSetByUserId ユーザーIDを指定してアイテムセットを入手 ユーザーのインベントリにアイテムを追加します。既存のアイテムセットに空き（スタック制限未満）がある場合はそこに追加され、そうでない場合は複数スタックが許可されていれば新しいアイテムセットが作成されます。 オプションの expiresAt で、新しく作成されるアイテムセットの有効期限を設定できます。有効期限が既に過去のアイテムは空として扱われます。 createNewItemSet が true の場合、既存のセットに空きがあっても常に新しいアイテムセットが作成されます。 合計数量がインベントリ容量を超える場合、オーバーフロー数量が返され、ネームスペースの設定に応じてオーバーフロー分が GS2-Inbox に転送される場合があります。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 acquireCount long  1 ~ 9223372036854775805 入手する量 expiresAt long 0 有効期限 UNIX 時間・ミリ秒 createNewItemSet bool false 既存のアイテムセットに空きがあったとしても、新しいアイテムセットを作成するか itemSetName string ~ 36文字 アイテムセットを識別する名前 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:AcquireItemSetWithGradeByUserId ユーザーIDを指定して GS2-Grade にグレードを設定しつつ、アイテムセットを1つ入手 アイテムを1つ入手すると同時に、GS2-Grade を通じてグレード値を設定します。 各アイテムが異なるグレード値を持つ品質/ランクシステム（例：異なるステータスの装備）を持つアイテムに使用されます。 常に新しいアイテムセットが作成され（createNewItemSet の動作）、アイテム入手後に GS2-Grade の SetGradeByUserId を通じてグレードが設定されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 gradeModelId string  ~ 1024文字 グレードモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN gradeValue long  1 ~ 9223372036854775805 設定するグレード値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:AddReferenceOfByUserId ユーザーIDを指定してアイテムに参照元を追加 指定ユーザーの指定されたアイテムセットに参照元文字列を登録します。 参照元はアイテムセットを外部エンティティ（装備スロットやキャラクターなど）に関連付けます。 インベントリモデルで protectReferencedItem が有効な場合、参照元を持つアイテムは消費・削除できなくなり、装備中のアイテムの誤消費を防止できます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 referenceOf string  ~ 1024文字 参照元 装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:DeleteReferenceOfByUserId ユーザーIDを指定してアイテムの参照元を削除 指定ユーザーの指定されたアイテムセットから特定の参照元文字列を削除します。 削除後、protectReferencedItem が有効で他の参照元が残っていない場合、アイテムは再び消費・削除が可能になります。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 インベントリモデル名 このアイテムセットを含むインベントリモデルの名前です。itemNameと組み合わせて、この所持品がどのインベントリとアイテムの種類に属するかを識別するために使用されます。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 itemName string  ~ 128文字 アイテムモデル名 このセットに格納されているアイテムの種類を定義するアイテムモデルの名前です。inventoryNameと組み合わせて、このアイテムセットのスタック上限と複数スタック動作を決定します。 itemSetName string  UUID ~ 36文字 アイテムセットを識別する名前 アイテムセットの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各アイテムセットを識別するために使用されます。 referenceOf string  ~ 1024文字 参照元 装備スロットや編成バインドなど、このアイテムセットへの外部参照を表す文字列識別子です。インベントリモデルでprotectReferencedItemが有効な場合、参照元を持つアイテムセットは消費または削除できません。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:AcquireSimpleItemsByUserId ユーザーIDを指定してシンプルアイテムを入手 入手数量のバッチを使用して、ユーザーのシンプルインベントリにアイテムを追加します。 単一のアトミック操作で複数のアイテムを入手できます。acquireCounts 配列で各アイテムの名前と数量を指定します。 通常のアイテムセットとは異なり、シンプルアイテムには容量制限、スタック制限、有効期限がありません。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 acquireCounts List  1 ~ 100 items シンプルアイテムの入手数量リスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:SetSimpleItemsByUserId ユーザーIDを指定してシンプルアイテムを設定 単一のアトミック操作で複数のシンプルアイテムの絶対数量を設定します。 counts 配列で各アイテムの名前とターゲット数量を指定します。 入手/消費が相対的な操作であるのに対し、こちらは現在の数量を完全に上書きします。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 シンプルインベントリモデル名 シンプルインベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 counts List  1 ~ 100 items シンプルアイテムの所持数量リスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:AcquireBigItemByUserId ユーザーIDを指定して巨大アイテムを入手 任意精度演算を使用して、ユーザーの巨大アイテム数量に指定された数量を加算します。 acquireCount は最大1024桁の有効な整数文字列でなければならず、無効な形式はエラーになります。 アイテムがまだ存在しない場合は自動的に作成されます。 ネームスペース設定により、巨大アイテム入手時にカスタムロジックを実行する GS2-Script を設定できます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 acquireCount string  ~ 1024文字 巨大アイテムの入手数量 最大1024桁までの整数値文字列 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Inventory:SetBigItemByUserId ユーザーIDを指定して巨大アイテムを設定 巨大アイテムの数量を指定された絶対値に設定し、現在の数量を完全に置き換えます。 数量は最大1024桁の有効な整数文字列でなければなりません。 アイテムがまだ存在しない場合は自動的に作成されます。 入手・消費のような相対操作とは異なり、正確な値を直接設定します。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 inventoryName string  ~ 128文字 巨大インベントリモデル名 巨大インベントリモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 itemName string  ~ 128文字 巨大アイテムモデル名 巨大アイテムモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 count string  ~ 1024文字 巨大アイテムの数量 最大1024桁までの整数値文字列 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Inventory トランザクションアクション","url":"/ja/api_reference/inventory/stamp_sheet/"},{"content":"Consume Action 消費アクション Gs2JobQueue:DeleteJobByUserId ユーザーIDを指定してジョブを削除 指定ユーザーのジョブキューから特定のジョブを削除します。 実行状態に関係なくジョブが削除されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 jobName string  UUID ~ 36文字 ジョブの名前 ジョブの一意な名前を保持します。 名前は UUID（Universally Unique Identifier）フォーマットで自動的に生成され、各ジョブを識別するために使用されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2JobQueue:PushByUserId ユーザーIDを指定してジョブを登録 ユーザーのジョブキューに1つ以上のジョブを登録します（最大10件）。 各ジョブには実行する GS2-Script、引数、最大リトライ回数を指定します。 ネームスペースで enableAutoRun が有効な場合、ジョブは登録後に即座に非同期で実行され、レスポンスの autoRun フラグが true になります。 enableAutoRun が無効な場合、ジョブはキューに追加され Run API で手動実行する必要があり、autoRun フラグは false になります。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 jobs List 0 ~ 10 items 追加するジョブの一覧 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-JobQueue トランザクションアクション","url":"/ja/api_reference/job_queue/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2Limit:VerifyCounterByUserId ユーザーIDを指定してカウンター値を検証 指定されたユーザーのカウンター値が指定された条件を満たすことを検証します。 6つの比較演算子をサポートします：less、lessEqual、greater、greaterEqual、equal、notEqual。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” カウンター値が指定値未満であること “lessEqual” カウンター値が指定値以下であること “greater” カウンター値が指定値超過であること “greaterEqual” カウンター値が指定値以上であること “equal” カウンター値が指定値と一致すること “notEqual” カウンター値が指定値と一致しないこと count int 0 0 ~ 2147483646 カウント値 このカウンターの現在の使用回数です。countUp操作でインクリメントされ、その際に指定された最大値と比較されます。回数制限モデルのリセットタイミングに達すると自動的にゼロにリセットされます。 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Consume Action 消費アクション Gs2Limit:CountUpByUserId ユーザーIDを指定してカウントアップ 指定されたユーザーのカウンターを指定されたカウントアップ値だけ増加させます。 maxValue が指定された場合、カウンターはその上限を超えません。操作が最大値を超える場合は Overflow エラーが返されます。 カウンターがまだ存在しない場合、自動的に作成されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 countUpValue int 1 1 ~ 2147483646 カウントアップする量 maxValue int 1 ~ 2147483646 カウントアップを許容する最大値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Limit:CountDownByUserId ユーザーIDを指定してカウントダウン 指定されたユーザーのカウンターを指定されたカウントダウン値だけ減少させます。 カウンター値は 0 を下回りません。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 countDownValue int 1 1 ~ 2147483646 カウントダウンする量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Limit:DeleteCounterByUserId ユーザーIDを指定してカウンターを削除 指定されたユーザーのカウンターを削除し、使用回数をリセットします。 これにより、このカウンターに対する回数制限が実質的に解除され、ユーザーは再び 0 からカウントを開始できます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 limitName string  ~ 128文字 回数制限モデル名 このカウンターが属する回数制限モデルの名前です。このカウンターの値に適用されるリセットスケジュール（毎日、毎週、毎月など）を決定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 counterName string  ~ 128文字 カウンターの名前 回数制限モデル内でこのカウンターを一意に識別する名前です。同じ回数制限モデルを異なる名前の複数のカウンターで共有でき、個別の回数制限モデルを作成せずに別々の使用回数追跡（例：クエストごとや商品ごとに1カウンター）が可能です。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Limit トランザクションアクション","url":"/ja/api_reference/limit/stamp_sheet/"},{"content":"Consume Action 消費アクション Gs2LoginReward:MarkReceivedByUserId ユーザーIDを指定して受け取り済み化 指定されたユーザーのボーナスモデルで特定のステップを手動で受け取り済みにマークします。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ボーナスモデル名 この受け取り状態が紐づくログインボーナスモデルの名前。 ユーザーの受け取り進捗を特定のボーナスモデル定義に関連づけ、どの報酬リストと配布ルールが適用されるかを決定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 stepNumber int  0 ~ 100 ステップ番号 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2LoginReward:DeleteReceiveStatusByUserId ユーザーIDを指定して受け取り状態のリセット 指定されたユーザーのボーナスモデルの受け取り状態データを全て削除し、ボーナスの進捗を完全にリセットします。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ボーナスモデル名 この受け取り状態が紐づくログインボーナスモデルの名前。 ユーザーの受け取り進捗を特定のボーナスモデル定義に関連づけ、どの報酬リストと配布ルールが適用されるかを決定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2LoginReward:UnmarkReceivedByUserId ユーザーIDを指定して未受け取り化 指定されたユーザーのボーナスモデルで、受け取り済みにマークされたステップを未受け取りに戻します。 指定されたステップが受け取り済みでない場合、エラーが返されます。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 bonusModelName string  ~ 128文字 ボーナスモデル名 この受け取り状態が紐づくログインボーナスモデルの名前。 ユーザーの受け取り進捗を特定のボーナスモデル定義に関連づけ、どの報酬リストと配布ルールが適用されるかを決定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 stepNumber int  0 ~ 100 ステップ番号 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-LoginReward トランザクションアクション","url":"/ja/api_reference/login_reward/stamp_sheet/"},{"content":"Acquire Action 入手アクション Gs2Lottery:DrawByUserId ユーザーIDを指定して抽選を実行 抽選モデルの設定に基づいて、指定されたユーザーの抽選を実行します。 抽選は2つの方式をサポートします：排出確率テーブルモード（事前定義された確率テーブルを使用）とスクリプトモード（GS2-Script で景品を決定）。 ボックス抽選モードでは、排出された景品はボックスから削除され再度排出されません。ボックスが空の場合は Empty エラーが返されます。 排出された景品はトランザクションとして発行されます。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 lotteryName string  ~ 128文字 抽選モデル名 抽選モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 count int  1 ~ 1000 抽選回数 config List [] 0 ~ 1000 items トランザクションのプレースホルダに適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Lottery:ResetBoxByUserId ユーザーIDを指定してボックスをリセット 指定されたユーザーのボックスを初期状態にリセットし、排出済みのすべての景品をボックスに戻します。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 prizeTableName string  ~ 128文字 排出確率テーブル名 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Lottery トランザクションアクション","url":"/ja/api_reference/lottery/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2Matchmaking:VerifyIncludeParticipantByUserId ユーザーIDを指定して永続ギャザリングにユーザーIDが含まれているかを検証 指定されたユーザーがシーズンギャザリングに参加しているかどうかを検証します。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 seasonName string  ~ 128文字 シーズンモデル名 シーズンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 season long  0 ~ 9223372036854775805 シーズン tier long  0 ~ 9223372036854775805 ティアー 同程度のランクのプレイヤーをグルーピングするためのティアーレベル。 SeasonModel で指定された GS2-Experience モデルにおけるプレイヤーのランクによって決定されます。 プレイヤーは同じティアーのプレイヤーとのみマッチングされ、公平な対戦が保証されます。 seasonGatheringName string  UUID ~ 128文字 シーズンギャザリング名 シーズンギャザリング固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 verifyType 文字列列挙型 enum {   “include”,   “notInclude” }  検証の種類 定義 説明 “include” シーズンギャザリングに指定したユーザーが含まれていること “notInclude” シーズンギャザリングに指定したユーザーが含まれないこと timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Matchmaking トランザクションアクション","url":"/ja/api_reference/matchmaking/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2Mission:VerifyCompleteByUserId ユーザーIDを指定してミッションの達成状況を検証 指定されたユーザーのミッションタスクの達成状況または受領状況を検証します。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 verifyType 文字列列挙型 enum {   “completed”,   “notCompleted”,   “received”,   “notReceived”,   “completedAndNotReceived” }  検証の種類 定義 説明 “completed” 条件が達成済みであること “notCompleted” 条件が未達成であること “received” 報酬を受け取り済みであること “notReceived” 報酬が未受け取りであること “completedAndNotReceived” 条件が達成済みで、報酬を未受け取りであること missionTaskName string  ~ 128文字 ミッションタスクモデル名 ミッションタスクモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Mission:VerifyCounterValueByUserId ユーザーIDを指定してカウンター値を検証 指定されたユーザーのカウンターのスコープ付き値が指定された条件を満たしているかを検証します。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” カウンター値が指定値未満であること “lessEqual” カウンター値が指定値以下であること “greater” カウンター値が指定値超過であること “greaterEqual” カウンター値が指定値以上であること “equal” カウンター値が指定値と一致すること “notEqual” カウンター値が指定値と一致しないこと scopeType 文字列列挙型 enum {   “resetTiming”,   “verifyAction” } “resetTiming” スコープの種類 このスコープ値がリセットタイミングスケジュールに基づくものか、検証アクション条件に基づくものかを示します。 定義 説明 “resetTiming” リセットタイミング “verifyAction” 検証アクション resetType 文字列列挙型 enum {   “notReset”,   “daily”,   “weekly”,   “monthly”,   “days” } {scopeType} == “resetTiming” ※ リセットタイミング このスコープ値のリセットタイミングです。カウンター値がリセットされるまでの累積期間を決定します。scopeType が “resetTiming” の場合のみ適用されます。 定義 説明 “notReset” リセットしない “daily” 毎日 “weekly” 毎週 “monthly” 毎月 “days” 一定日数ごと ※ scopeType が “resetTiming” であれば必須 conditionName string {scopeType} == “verifyAction” ※ ~ 128文字 条件名 このスコープ値が対応する検証アクション条件の名前です。この値がどの条件スコープに属するかを識別するために使用されます。scopeType が “verifyAction” の場合のみ適用されます。 ※ scopeType が “verifyAction” であれば必須 value long 0 0 ~ 9223372036854775805 カウント このスコープの累積カウンター値です。カウンターが増加すると増え、減少すると減ります。値は最大値で上限が設けられ、ゼロを下回ることはありません。 multiplyValueSpecifyingQuantity bool false 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Consume Action 消費アクション Gs2Mission:ReceiveByUserId ミッション達成報酬を受領する 指定されたユーザーの指定ミッションタスクを受領済みとしてマークします。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 missionTaskName string  ~ 128文字 タスク名 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Mission:BatchReceiveByUserId 複数のミッションタスクの達成報酬を一括で受領状態にする 同じミッショングループ内の複数のミッションタスクを一括で受領済みとしてマークします。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 missionTaskNames List  1 ~ 100 items タスク名のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Mission:DecreaseCounterByUserId ユーザーIDを指定してカウンターを減算 指定されたユーザーのカウンターから指定値を減算します。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 value long  1 ~ 9223372036854775805 減算する値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Mission:ResetCounterByUserId ユーザーIDを指定してカウンターをリセット 指定されたユーザーの指定されたスコープのカウンター値をリセットします。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 scopes List  1 ~ 20 items スコープリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Mission:RevertReceiveByUserId ミッション達成報酬を未受領状態にする ミッションタスクの受領状態を未受領に戻します。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 missionGroupName string  ~ 128文字 ミッショングループ名 この達成状況レコードが属するミッショングループの名前です。ユーザーごと・ミッショングループごとに1つの達成状況レコードが存在します。 missionTaskName string  ~ 128文字 タスク名 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Mission:IncreaseCounterByUserId ユーザーIDを指定してカウンターを加算 指定されたユーザーのカウンターに指定値を加算します。 加算後、このカウンターを参照するすべてのミッションタスクが自動的に再評価され、新たに達成されたミッションが changedCompletes レスポンスで返されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 value long  1 ~ 9223372036854775805 加算する値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Mission:SetCounterByUserId ユーザーIDを指定してカウンターを設定 指定されたユーザーのカウンターのスコープ付き値を直接設定し、既存の値を置き換えます。 変更前と変更後のカウンター状態、および新たに達成されたミッションが changedCompletes レスポンスで返されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 counterName string  ~ 128文字 カウンターモデル名 このカウンターインスタンスの基となるカウンターモデルの名前です。スコープやリセットタイミングを定義するカウンターモデル定義にリンクします。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 values List 0 ~ 20 items 設定する値のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Mission トランザクションアクション","url":"/ja/api_reference/mission/stamp_sheet/"},{"content":"Consume Action 消費アクション Gs2Money:WithdrawByUserId ユーザーIDを指定してウォレットから残高を消費 指定されたユーザーのウォレットから指定量の通貨を消費します。 paidOnly が false の場合、無償通貨が先に消費され、次に有償通貨が消費されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 slot int  0 ~ 100000000 スロット番号 プラットフォームやコンテキストごとにウォレット残高を分離するための識別子。 異なるスロットにより、別々の有償通貨プールを管理できます（例: iOS購入はスロット0、Androidはスロット1）。 無償通貨はネームスペースの shareFree 設定により、全スロット間で共有することもできます。 count int  1 ~ 2147483646 消費する課金通貨の数量 paidOnly bool false 有償通貨のみを対象とするか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Money:RecordReceipt レシートを記録 ストアプラットフォーム（Apple App Store / Google Play）からの購入レシートを記録・検証します。 不正防止のためプラットフォームのサーバーに対してレシートが検証されます。リプレイ攻撃防止のため重複レシートは拒否されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 contentsId string  ~ 1024文字 ストアプラットフォームで販売されているコンテンツID receipt string  ~ 524288文字 レシート timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Money:DepositByUserId ユーザーIDを指定してウォレットの残高に加算 指定されたユーザーのウォレットに指定量の通貨を追加します。 価格が 0 の場合は無償通貨として、それ以外の場合は有償通貨として扱われます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 slot int  0 ~ 100000000 スロット番号 プラットフォームやコンテキストごとにウォレット残高を分離するための識別子。 異なるスロットにより、別々の有償通貨プールを管理できます（例: iOS購入はスロット0、Androidはスロット1）。 無償通貨はネームスペースの shareFree 設定により、全スロット間で共有することもできます。 price float  0 ~ 100000.0 購入価格 count int  1 ~ 2147483646 付与する課金通貨の数量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Money:RevertRecordReceipt ユーザーIDを指定してレシートの記録を削除 トランザクションIDを抽出して対応するレコードを削除することで、以前に記録されたレシートを取り消します。 ストアプラットフォームからの返金やチャージバック処理に使用します。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 receipt string  ~ 524288文字 レシート timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Money トランザクションアクション","url":"/ja/api_reference/money/stamp_sheet/"},{"content":"Consume Action 消費アクション Gs2Money2:WithdrawByUserId ユーザーIDを指定してウォレットから残高を消費 指定されたユーザーのウォレットから指定量の通貨を消費します。 paidOnly が false の場合、無償通貨が先に消費され、次に有償通貨が消費されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 slot int  0 ~ 100000000 スロット番号 ウォレットスロットを識別します。プラットフォーム間の残高共有が許可されていない場合、異なるスロットを使用してプラットフォームごとに通貨を分けて管理できます（例：iOS用とAndroid用）。 withdrawCount int  1 ~ 2147483646 消費する課金通貨の数量 paidOnly bool false 有償通貨のみを対象とするか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Money2:VerifyReceiptByUserId ユーザーIDを指定してレシートを使用済み化 指定されたユーザーの購入レシートを検証し、使用済みとして記録します。 イベントログが記録され、ネームスペースに設定されたレシート検証スクリプトが実行されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 contentName string  ~ 128文字 ストアコンテンツモデル名 receipt Receipt  レシート timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Money2:DepositByUserId ユーザーIDを指定してウォレットの残高に加算 指定されたユーザーのウォレットに指定された入金トランザクションを追加します。 各入金トランザクションに対してイベントログが記録されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 slot int  0 ~ 100000000 スロット番号 ウォレットスロットを識別します。プラットフォーム間の残高共有が許可されていない場合、異なるスロットを使用してプラットフォームごとに通貨を分けて管理できます（例：iOS用とAndroid用）。 depositTransactions List  1 ~ 1000 items 入金トランザクションリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Money2 トランザクションアクション","url":"/ja/api_reference/money2/stamp_sheet/"},{"content":"Consume Action 消費アクション Gs2Quest:DeleteProgressByUserId ユーザーIDを指定してクエスト進行状況を削除 指定したユーザーの現在のクエスト進行状況を削除します。進行中のクエストをキャンセルし、新しいクエストを開始できるようにします。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Quest:CreateProgressByUserId ユーザーIDを指定してクエストの進行状況を作成 クエストモデルを参照し、クエストコンテンツの抽選を行ってクエストを開始します。すでに進行中のクエストがある場合、force フラグが設定されていなければエラーを返します。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 questModelId string  ~ 1024文字 開始するクエストモデル GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN force bool false すでに開始しているクエストがある場合にそれを破棄して開始するか config List [] 0 ~ 32 items トランザクションの変数に適用する設定値 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Quest トランザクションアクション","url":"/ja/api_reference/quest/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2Ranking2:VerifyGlobalRankingScoreByUserId ユーザーIDを指定してグローバルランキングのスコアを検証 指定したユーザーのグローバルランキングスコアを比較演算子（less, lessEqual, greater, greaterEqual, equal, notEqual）を使用して指定した値と比較検証します。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” スコアが指定値未満であること “lessEqual” スコアが指定値以下であること “greater” スコアが指定値超過であること “greaterEqual” スコアが指定値以上であること “equal” スコアが指定値と一致すること “notEqual” スコアが指定値と一致しないこと season long 0 ~ 9223372036854775805 シーズン score long  0 ~ 9223372036854775805 スコア ユーザーが登録したスコア値です。ランキングモデルの minimumValue と maximumValue で定義された範囲内である必要があります。 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Ranking2:VerifyClusterRankingScoreByUserId ユーザーIDを指定してクラスターランキングのスコアを検証 指定したユーザーのクラスターランキングスコアを比較演算子（less, lessEqual, greater, greaterEqual, equal, notEqual）を使用して指定した値と比較検証します。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 このスコアが属するクラスター（ギルド、ギャザリング、または任意のグループ）の名前です。クラスタータイプ設定に基づいてユーザーの所属が検証されます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” スコアが指定値未満であること “lessEqual” スコアが指定値以下であること “greater” スコアが指定値超過であること “greaterEqual” スコアが指定値以上であること “equal” スコアが指定値と一致すること “notEqual” スコアが指定値と一致しないこと season long 0 ~ 9223372036854775805 シーズン score long  0 ~ 9223372036854775805 スコア このクラスター内でユーザーが登録したスコア値です。 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Ranking2:VerifySubscribeRankingScoreByUserId ユーザーIDを指定して購読ランキングのスコアを検証 指定したユーザーの購読ランキングスコアを比較演算子（less, lessEqual, greater, greaterEqual, equal, notEqual）を使用して指定した値と比較検証します。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 rankingName string  ~ 128文字 購読ランキングモデル名 購読ランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” スコアが指定値未満であること “lessEqual” スコアが指定値以下であること “greater” スコアが指定値超過であること “greaterEqual” スコアが指定値以上であること “equal” スコアが指定値と一致すること “notEqual” スコアが指定値と一致しないこと season long 0 ~ 9223372036854775805 シーズン score long  0 ~ 9223372036854775805 スコア multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Consume Action 消費アクション Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId ユーザーIDを指定してグローバルランキング報酬受け取り履歴を記録 指定したユーザーに代わって、指定したグローバルランキングの報酬受け取り履歴を記録します。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 グローバルランキングモデル名 グローバルランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId ユーザーIDを指定してクラスターランキング報酬受け取り履歴を記録 指定したユーザーに代わって、指定したクラスターランキングおよびクラスターの報酬受け取り履歴を記録します。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 rankingName string  ~ 128文字 クラスターランキングモデル名 クラスターランキングモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 clusterName string  ~ 1024文字 クラスター名 ランキング報酬を受け取ったクラスターの名前です。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 season long 0 ~ 9223372036854775805 シーズン timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Ranking2 トランザクションアクション","url":"/ja/api_reference/ranking2/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2Schedule:VerifyTriggerByUserId ユーザーIDを指定してトリガーが引かれてからの経過時間を検証 指定したユーザーのトリガーの状態に関する条件を検証します。verifyType は ’notTriggerd’、’elapsed’、’notElapsed’ を設定できます。検証条件が満たされない場合はエラーを返します。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 triggerName string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “notTriggerd”,   “elapsed”,   “notElapsed” }  検証の種類 定義 説明 “notTriggerd” トリガーが引かれていない “elapsed” 指定時間が経過している “notElapsed” 指定時間が経過していない elapsedMinutes int {verifyType} in [“elapsed”, “notElapsed”] ※ 0 ~ 2147483646 経過時間(分) ※ verifyType が “elapsed”,“notElapsed\"であれば 必須 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Schedule:VerifyEventByUserId ユーザーIDを指定してイベントの開催期間であるかを検証 指定したユーザーにおいて、指定されたイベントが現在アクティブなスケジュール期間内であるかを検証します。verifyType は ‘inSchedule’ または ’notInSchedule’ を設定できます。検証条件が満たされない場合はエラーを返します。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 eventName string  ~ 128文字 イベント名 イベント固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 verifyType 文字列列挙型 enum {   “inSchedule”,   “notInSchedule” }  検証の種類 定義 説明 “inSchedule” イベントの開催期間である “notInSchedule” イベントの開催期間ではない timeOffsetToken string ~ 1024文字 タイムオフセットトークン Consume Action 消費アクション Gs2Schedule:DeleteTriggerByUserId ユーザーIDを指定してトリガーを削除 指定したユーザーの指定されたトリガーを削除します。トリガーを削除すると、関連する相対スケジュールイベントが無効化されます。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 triggerName string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Schedule:TriggerByUserId ユーザーIDを指定してトリガーを実行 指定したユーザーのトリガーを引きます。トリガー戦略により動作が決まります：‘renew’ は新しいTTLでリセット、’extend’ は既存のTTLを延長、‘drop’ は既に引かれている場合は無視、‘repeatCycleEnd’/‘repeatCycleNextStart’/‘absoluteEnd’ は指定したイベントのスケジュールに有効期限を合わせます。トリガーを引くと関連する相対スケジュールイベントが有効化されます。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 triggerName string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 triggerStrategy 文字列列挙型 enum {   “renew”,   “extend”,   “drop”,   “repeatCycleEnd”,   “repeatCycleNextStart”,   “absoluteEnd” }  トリガーの引き方の方針 定義 説明 “renew” すでにトリガーが引かれている場合は再度新しい期間で引き直す “extend” すでにトリガーが引かれている場合は期間を延長 “drop” すでにトリガーが引かれている場合は無視 “repeatCycleEnd” 指定したイベントの繰り返し期間の終了日時に有効期限を迎えるようにトリガーを引く “repeatCycleNextStart” 指定したイベントの繰り返しで、次回の繰り返し開始日時に有効期限を迎えるようにトリガーを引く “absoluteEnd” 指定したイベントの終了日時に有効期限を迎えるようにトリガーを引く ttl int {triggerStrategy} in [“renew”, “extend”, “drop”] ※ 0 ~ 2147483646 トリガーの有効期限(秒) ※ triggerStrategy が “renew”,“extend”,“drop\"であれば 必須 eventId string {triggerStrategy} in [“repeatCycleEnd”, “repeatCycleNextStart”, “absoluteEnd”] ※ ~ 1024文字 イベント GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN ※ triggerStrategy が “repeatCycleEnd”,“repeatCycleNextStart”,“absoluteEnd\"であれば 必須 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Schedule:ExtendTriggerByUserId ユーザーIDを指定してトリガーの期間を延長 指定したユーザーの既存のトリガーの有効期限を指定した秒数だけ延長します。トリガーが存在しない場合は、指定した延長期間をTTLとして新しいトリガーが作成されます。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 triggerName string  ~ 128文字 トリガー名 トリガー固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 extendSeconds int  0 ~ 2147483646 トリガーを延長する期間(秒) timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Schedule トランザクションアクション","url":"/ja/api_reference/schedule/stamp_sheet/"},{"content":"Acquire Action 入手アクション Gs2Script:InvokeScript スクリプトを実行 指定されたLuaスクリプトを提供されたJSON引数で同期的に実行します。ステータスコード、戻り値、トランザクション情報、乱数状態、実行時間、標準出力を含む実行結果を返します。GS2サービス間のアトミック操作のためのトランザクション処理をサポートしています。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  scriptId string  ~ 1024文字 スクリプト GS2 が扱うすべての情報に付与される一意なリソース名\" \u003e GRN userId string ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 args string “{}” ~ 5242880文字 スクリプトに渡される引数 (JSON形式) randomStatus RandomStatus 乱数の状態 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Script トランザクションアクション","url":"/ja/api_reference/script/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2SerialKey:VerifyCodeByUserId ユーザーIDを指定してシリアルコードの有効性を確認 指定されたユーザーのシリアルコードを消費せずに検証します。特定のキャンペーンモデル名に対する検証をサポートし、コードがactive（未使用）かinactive（使用済み）かを確認できます。 数量指定可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 code string  ~ 48文字 シリアルコード 「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。 campaignModelName string ~ 128文字 キャンペーン名 このシリアルコードが属するキャンペーンモデルの名前です。キャンペーン情報はシリアルコード自体に埋め込まれているため、コード使用時にはネームスペースを指定するだけで利用できます。 verifyType 文字列列挙型 enum {   “active”,   “inactive” }  検証タイプ 定義 説明 “active” 有効 “inactive” 無効 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Consume Action 消費アクション Gs2SerialKey:UseByUserId ユーザーIDを指定してシリアルコードの使用済み化 指定されたユーザーによりシリアルコードを使用済みとしてマークします。コードが存在し、まだ使用されていないことを検証します。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 code string  ~ 48文字 シリアルコード 「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2SerialKey:RevertUseByUserId ユーザーIDを指定してシリアルコードを未使用化 使用済みのシリアルコードを未使用状態に戻します。リバート前にコードが現在使用済み状態であることを検証します。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 code string  ~ 48文字 シリアルコード 「XXXXX-XXXX-XXXXX-XXXX-XXXX」形式のシリアルコード文字列です。各コードは一意で、キャンペーン識別情報が含まれています。コードの形式とデータ長は固定で変更できません。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2SerialKey:IssueOnce シリアルコードを1件発行 シリアルコードを1件即座に発行します。コードはAES暗号化とbase32エンコーディングを使用してXXXXX-XXXX-XXXXX-XXXX-XXXXXの形式で生成されます。バッチ発行ジョブとは異なり、同期的にコードを生成して返却します。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 campaignModelName string  ~ 128文字 キャンペーンモデル名 metadata string ~ 2048文字 メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-SerialKey トランザクションアクション","url":"/ja/api_reference/serial_key/stamp_sheet/"},{"content":"Consume Action 消費アクション Gs2Showcase:IncrementPurchaseCountByUserId ユーザーIDを指定して購入回数を加算 指定されたユーザーのランダム陳列棚の特定の商品の購入回数を加算します。ローテーション期間ごとの購入制限を追跡するために使用されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 displayItemName string  ~ 128文字 商品購入回数名 購入回数を追跡するランダム陳列商品の名前です。ランダム陳列棚内の陳列商品名に対応します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 count int  0 ~ 100 加算する購入回数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Showcase:DecrementPurchaseCountByUserId ユーザーIDを指定して購入回数を減算 ランダム陳列棚の特定の商品の購入回数を減算します。購入の取り消しや購入カウンターの調整に使用されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 displayItemName string  ~ 128文字 商品購入回数名 購入回数を追跡するランダム陳列商品の名前です。ランダム陳列棚内の陳列商品名に対応します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 count int  0 ~ 100 減算する購入回数 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Showcase:ForceReDrawByUserId ユーザーIDを指定してランダム陳列棚の内容を再抽選 指定されたユーザーのランダム陳列棚の商品を強制的に再抽選し、現在の選択をリセットして設定されたプールから新しいランダム商品の選択をトリガーします。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 showcaseName string  ~ 128文字 ランダム陳列棚名 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Showcase トランザクションアクション","url":"/ja/api_reference/showcase/stamp_sheet/"},{"content":"Consume Action 消費アクション Gs2SkillTree:MarkRestrainByUserId ユーザーIDを指定してノードの解放状態を未解放化 指定されたノードが拘束可能であることを検証し（依存するノードが解放状態でないことが必要です）、未解放としてマークします。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 nodeModelNames List  1 ~ 1000 items ノードモデル名のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2SkillTree:MarkReleaseByUserId ユーザーIDを指定して解放済みノードを記録 指定されたノードが解放可能であることを検証し（前提ノードが既に解放済みである必要があります）、解放済みとしてマークします。 数量指定可能なアクション：いいえ 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 propertyId string  ~ 1024文字 プロパティID ユーザーごとに複数の独立したスキルツリーインスタンスを持つための識別子。 同一ネームスペース内で、プレイヤーが異なるキャラクターやコンテキストに対して別々のスキルツリーを持つシナリオを実現します。 最大1024文字。 nodeModelNames List  1 ~ 1000 items ノードモデル名のリスト timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-SkillTree トランザクションアクション","url":"/ja/api_reference/skill_tree/stamp_sheet/"},{"content":"Verify Action 検証アクション Gs2Stamina:VerifyStaminaValueByUserId ユーザーIDを指定してスタミナ現在値を検証 指定されたユーザーの現在のスタミナ値が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 現在値が指定値未満であること “lessEqual” 現在値が指定値以下であること “greater” 現在値が指定値超過であること “greaterEqual” 現在値が指定値以上であること “equal” 現在値が指定値と一致すること “notEqual” 現在値が指定値と一致しないこと value int  0 ~ 2147483646 現在値 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Stamina:VerifyStaminaMaxValueByUserId ユーザーIDを指定してスタミナ最大値を検証 指定されたユーザーのスタミナの最大容量（バフによる変更を含む）が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 最大値が指定値未満であること “lessEqual” 最大値が指定値以下であること “greater” 最大値が指定値超過であること “greaterEqual” 最大値が指定値以上であること “equal” 最大値が指定値と一致すること “notEqual” 最大値が指定値と一致しないこと value int  0 ~ 2147483646 最大値 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId ユーザーIDを指定してスタミナ回復速度を検証 指定されたユーザーのスタミナの回復間隔（分）が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 回復速度が指定値未満であること “lessEqual” 回復速度が指定値以下であること “greater” 回復速度が指定値超過であること “greaterEqual” 回復速度が指定値以上であること “equal” 回復速度が指定値と一致すること “notEqual” 回復速度が指定値と一致しないこと value int  0 ~ 2147483646 回復速度 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Stamina:VerifyStaminaRecoverValueByUserId ユーザーIDを指定してスタミナ回復量を検証 指定されたユーザーのスタミナの回復量（バフによる変更を含む）が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” 回復量が指定値未満であること “lessEqual” 回復量が指定値以下であること “greater” 回復量が指定値超過であること “greaterEqual” 回復量が指定値以上であること “equal” 回復量が指定値と一致すること “notEqual” 回復量が指定値と一致しないこと value int  0 ~ 2147483646 回復量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Stamina:VerifyStaminaOverflowValueByUserId ユーザーIDを指定してスタミナオーバーフロー量を検証 指定されたユーザーのスタミナのオーバーフロー量が指定された条件を指定された閾値に対して満たすことを、状態を変更せずに検証します。 数量指定可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 verifyType 文字列列挙型 enum {   “less”,   “lessEqual”,   “greater”,   “greaterEqual”,   “equal”,   “notEqual” }  検証の種類 定義 説明 “less” オーバーフロー量が指定値未満であること “lessEqual” オーバーフロー量が指定値以下であること “greater” オーバーフロー量が指定値超過であること “greaterEqual” オーバーフロー量が指定値以上であること “equal” オーバーフロー量が指定値と一致すること “notEqual” オーバーフロー量が指定値と一致しないこと value int  0 ~ 2147483646 オーバーフロー量 multiplyValueSpecifyingQuantity bool true 数量指定した際に、検証に使用する値も乗算するか timeOffsetToken string ~ 1024文字 タイムオフセットトークン Consume Action 消費アクション Gs2Stamina:DecreaseMaxValueByUserId ユーザーIDを指定してスタミナの最大値の減算 指定されたユーザーのスタミナの最大容量を指定された量だけ減少させます。スタミナ容量へのデバフやペナルティの適用に使用できます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 decreaseValue int  0 ~ 2147483646 減算する最大スタミナ量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Stamina:ConsumeStaminaByUserId ユーザーIDを指定してスタミナを消費 指定されたユーザーの現在のスタミナ値から指定された量を差し引きます。現在のスタミナ値が消費量未満の場合、Insufficientエラーを返します。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 consumeValue int  1 ~ 2147483646 消費するスタミナ量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Acquire Action 入手アクション Gs2Stamina:RecoverStaminaByUserId ユーザーIDを指定してスタミナを回復 指定された量のスタミナを最大容量まで回復します。回復により値が最大値を超え、オーバーフローモードが有効な場合、超過分はオーバーフロー値として記録されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 recoverValue int  1 ~ 2147483646 スタミナの回復量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Stamina:RaiseMaxValueByUserId ユーザーIDを指定してスタミナの最大値を加算 指定された量だけスタミナの最大容量を恒久的に増加させます。レベルアップ報酬やアイテム効果などの恒久的なステータス上昇に使用されます。 数量指定可能なアクション：はい 反転可能なアクション：はい  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 raiseValue int  0 ~ 2147483646 上昇する最大スタミナ量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Stamina:SetMaxValueByUserId ユーザーIDを指定してスタミナの最大値を更新 スタミナの最大容量を指定された値に設定します。監査目的で変更前のスタミナ状態がレスポンスに保持されます。管理者によるオーバーライドや特別イベントでの調整に使用されます。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 maxValue int  1 ~ 2147483646 スタミナの最大値 StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく MaxStaminaTable でオーバーライドされるユーザーごとのスタミナ最大値。 オーバーフロー無効時は initialCapacity が下限となります。オーバーフロー有効時は maxCapacity が上限となります。 自然回復はこの値で停止します。 timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Stamina:SetRecoverIntervalByUserId ユーザーIDを指定してスタミナの回復間隔(分)を更新 スタミナの回復間隔を指定された値（分）に設定します。監査目的で変更前のスタミナ状態がレスポンスに保持されます。スタミナが自動的に回復する頻度を制御します。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 recoverIntervalMinutes int  1 ~ 2147483646 スタミナの回復間隔(分) timeOffsetToken string ~ 1024文字 タイムオフセットトークン Gs2Stamina:SetRecoverValueByUserId ユーザーIDを指定してスタミナの回復量を設定 スタミナの回復量を指定された値に設定します。監査目的で変更前のスタミナ状態がレスポンスに保持されます。回復間隔ごとに回復するスタミナ量を制御します。 数量指定可能なアクション：はい 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 staminaName string  ~ 128文字 スタミナモデル名 このスタミナインスタンスの回復パラメータ、容量、テーブル参照を定義する StaminaModel の名前。 ユーザーごとのスタミナ状態を対応するモデル定義に紐づけます。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 recoverValue int  1 ~ 2147483646 スタミナの回復量 timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-Stamina トランザクションアクション","url":"/ja/api_reference/stamina/stamp_sheet/"},{"content":"Acquire Action 入手アクション Gs2StateMachine:StartStateMachineByUserId ユーザーIDを指定してステートマシンを開始 最新のマスターバージョンを使用して、指定したユーザーの新しいステートマシンインスタンスを開始します。引数はJSONとして渡され、ステートマシン変数にパースされます。オプションのTTL（分単位）を設定できます。省略した場合、ステートマシンは約10年間有効です。 数量指定可能なアクション：いいえ 反転可能なアクション：いいえ  namespaceName string  ~ 128文字 ネームスペース名 ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 userId string  ~ 128文字 ユーザーID #{userId} と設定することでログイン中のユーザーIDに置換されます。 args string “{}” ~ 4096文字 ステートマシンに渡す引数 ttl int 1 ~ 525600 有効期間(分) timeOffsetToken string ~ 1024文字 タイムオフセットトークン","lang":"ja","section":"api_reference","summary":"検証/消費/入手の各トランザクションアクションの仕様\n","title":"GS2-StateMachine トランザクションアクション","url":"/ja/api_reference/state_machine/stamp_sheet/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Models バフを適用可能なモデルの種類 Gs2Exchange:RateModel 交換レートモデル バフの適用対象フィールド lockTime  lockTime int {timingType} == “await” ※ 0 ~ 538214400 交換実行から実際に報酬を受け取れるようになるまでの待ち時間（分） timingType が await の場合にのみ適用されます。交換が開始されてからプレイヤーが報酬を受け取れるようになるまでに経過する必要がある実時間の分数を指定します。待ち時間はスキップ機能を使用して短縮できます。 ※ timingType が “await” であれば必須 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Exchange:Namespace ネームスペース マスターデータ記述例 Gs2Exchange:RateModel 交換レートモデル マスターデータ記述例 acquireActions  acquireActions List [] 0 ~ 100 items 入手アクションリスト 交換完了時にプレイヤーが受け取るリソース（報酬）を定義します。複数の入手アクションを指定して、さまざまなリソースタイプを同時に付与できます。これらのアクションは分散トランザクション内の入手アクションとして実行されます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Exchange:Namespace ネームスペース マスターデータ記述例 Gs2Exchange:RateModel 交換レートモデル マスターデータ記述例 verifyActions  verifyActions List [] 0 ~ 10 items 検証アクションリスト 交換が実行される前にすべてパスする必要がある事前条件チェックです。いずれかの検証アクションが失敗すると、リソースを消費せずに交換が中止されます。レベル要件やインベントリ容量などの条件を強制するために使用されます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Exchange:Namespace ネームスペース マスターデータ記述例 Gs2Exchange:RateModel 交換レートモデル マスターデータ記述例 consumeActions  consumeActions List [] 0 ~ 10 items 消費アクションリスト この交換を実行するためにプレイヤーが支払う必要があるリソース（コスト）を定義します。複数の消費アクションを指定でき、ゴールドとアイテムの両方を必要とするような複雑な交換コストを実現できます。これらのアクションは分散トランザクション内の消費アクションとして実行されます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Exchange:Namespace ネームスペース マスターデータ記述例 Gs2Exchange:RateModel 交換レートモデル マスターデータ記述例 Gs2Exchange:IncrementalRateModel コスト上昇型交換レートモデル バフの適用対象フィールド acquireActions  acquireActions List [] 0 ~ 100 items 入手アクションリスト コスト上昇型交換の完了時にプレイヤーが受け取るリソース（報酬）を定義します。報酬は交換回数に関わらず一定で、コストのみが交換ごとに増加します。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Exchange:Namespace ネームスペース マスターデータ記述例 Gs2Exchange:IncrementalRateModel コスト上昇型交換レートモデル マスターデータ記述例 consumeAction  consumeAction ConsumeAction  消費アクション（数量/値は自動的に上書きされます） 交換のコストとして消費されるリソースの種類を定義します。実際の数量は交換回数と計算方式（線形、べき乗、スクリプト）に基づいて動的に計算されます。アクションの種類と対象リソースのみ指定すればよく、数量フィールドは自動的に上書きされます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Exchange:Namespace ネームスペース マスターデータ記述例 Gs2Exchange:IncrementalRateModel コスト上昇型交換レートモデル マスターデータ記述例 maximumExchangeCount  maximumExchangeCount int 2147483646 0 ~ 2147483646 交換回数の上限 ユーザーがこのコスト上昇型交換を実行できる最大回数です。交換回数がこの上限に達すると、GS2-Limit によるカウントリセットまでそれ以降の交換が拒否されます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Exchange:Namespace ネームスペース マスターデータ記述例 Gs2Exchange:IncrementalRateModel コスト上昇型交換レートモデル マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-Exchange Buff リファレンス","url":"/ja/api_reference/exchange/buff/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Models バフを適用可能なモデルの種類 Gs2Experience:Status ステータス バフの適用対象フィールド rankCapValue  rankCapValue long  0 ~ 9223372036854775805 現在のランクキャップ このステータスが現在到達できる最大ランクです。初期値は経験値モデルの defaultRankCap に設定され、限界突破などのランクキャップ増加操作により maxRankCap まで引き上げることができます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Experience:ExperienceModel 経験値モデル マスターデータ記述例 Gs2Experience:Status ステータス マスターデータ記述例 Action バフを適用可能なアクションの種類 Gs2Experience:AddExperienceByUserId ユーザーIDを指定して経験値を加算 指定されたユーザーのステータスに経験値を加算します。ランクはランクアップ閾値に基づいて自動的に再計算されます。 truncateExperienceWhenRankUp が true の場合、ランクアップ時に閾値を超えた余剰経験値は切り捨てられます。false（デフォルト）の場合は次のランクに繰り越されます。 バフの適用対象フィールド experienceValue Status - ステータス  experienceValue long 0 0 ~ 9223372036854775805 獲得経験値 マスターデータ記述例 バフの適用条件モデル Gs2Experience:ExperienceModel 経験値モデル マスターデータ記述例 Gs2Experience:Status ステータス マスターデータ記述例 Gs2Experience:SubExperience 経験値を減算 リクエストしたユーザーのステータスから経験値を減算します。経験値は0を下回りません。 ランクはランクアップ閾値に基づいて自動的に再計算されます。 バフの適用対象フィールド experienceValue Status - ステータス  experienceValue long 0 0 ~ 9223372036854775805 失う経験値 マスターデータ記述例 バフの適用条件モデル Gs2Experience:ExperienceModel 経験値モデル マスターデータ記述例 Gs2Experience:Status ステータス マスターデータ記述例 Gs2Experience:SubExperienceByUserId ユーザーIDを指定して経験値を減算 指定されたユーザーのステータスから経験値を減算します。経験値は0を下回りません。 ランクはランクアップ閾値に基づいて自動的に再計算されます。 バフの適用対象フィールド experienceValue Status - ステータス  experienceValue long 0 0 ~ 9223372036854775805 失う経験値 マスターデータ記述例 バフの適用条件モデル Gs2Experience:ExperienceModel 経験値モデル マスターデータ記述例 Gs2Experience:Status ステータス マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-Experience Buff リファレンス","url":"/ja/api_reference/experience/buff/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Models バフを適用可能なモデルの種類 Gs2Formation:Mold フォームの保存領域 バフの適用対象フィールド capacity  capacity int  0 ~ 2147483646 現在のキャパシティ この保存領域でこのプレイヤーが現在利用できるフォーム保存スロット数です。初期値は保存領域モデルの initialMaxCapacity に設定され、キャパシティ増加操作により maxCapacity まで拡張できます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Formation:MoldModel フォームの保存領域モデル マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-Formation Buff リファレンス","url":"/ja/api_reference/formation/buff/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Models バフを適用可能なモデルの種類 Gs2Idle:Status ステータス バフの適用対象フィールド maximumIdleMinutes  maximumIdleMinutes int 0 0 ~ 2147483646 最大放置時間（分） このステータスが蓄積できる最大放置時間（分）です。ステータス作成時にカテゴリーモデルの defaultMaximumIdleMinutes から初期化されます。入手アクションを通じてユーザーごとに増加でき、プレミアムユーザーやイベント参加者がより多くの放置報酬を蓄積できるようにします。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Idle:CategoryModel カテゴリーモデル マスターデータ記述例 Gs2Idle:CategoryModel カテゴリーモデル バフの適用対象フィールド acquireActions  acquireActions List [] 0 ~ 100 items 入手アクションリスト この報酬間隔がトリガーされた時に一括で実行される入手アクションのコレクションです。複数のアクションを組み合わせて、1つの放置報酬サイクルで異なる種類の報酬を同時に付与できます。リストあたり最大100アクションです。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Idle:CategoryModel カテゴリーモデル マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-Idle Buff リファレンス","url":"/ja/api_reference/idle/buff/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Models バフを適用可能なモデルの種類 Gs2Inventory:Inventory インベントリ バフの適用対象フィールド currentInventoryMaxCapacity  currentInventoryMaxCapacity int  1 ~ 2147483646 最大キャパシティ このユーザーが使用可能なインベントリ枠の現在の最大数です。インベントリモデルのinitialCapacityから初期化され、入手アクションまたは直接のAPI呼び出しを通じてモデルのmaxCapacityまで拡張できます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Inventory:InventoryModel インベントリモデル マスターデータ記述例 Action バフを適用可能なアクションの種類 Gs2Inventory:AcquireItemSetByUserId ユーザーIDを指定してアイテムセットを入手 ユーザーのインベントリにアイテムを追加します。既存のアイテムセットに空き（スタック制限未満）がある場合はそこに追加され、そうでない場合は複数スタックが許可されていれば新しいアイテムセットが作成されます。 オプションの expiresAt で、新しく作成されるアイテムセットの有効期限を設定できます。有効期限が既に過去のアイテムは空として扱われます。 createNewItemSet が true の場合、既存のセットに空きがあっても常に新しいアイテムセットが作成されます。 合計数量がインベントリ容量を超える場合、オーバーフロー数量が返され、ネームスペースの設定に応じてオーバーフロー分が GS2-Inbox に転送される場合があります。 バフの適用対象フィールド acquireCount ItemSet - アイテムセット  acquireCount long  1 ~ 9223372036854775805 入手する量 マスターデータ記述例 バフの適用条件モデル Gs2Inventory:InventoryModel インベントリモデル マスターデータ記述例 Gs2Inventory:ItemModel アイテムモデル マスターデータ記述例 Gs2Inventory:ConsumeItemSet アイテムセットを消費 リクエストユーザーのインベントリ内の指定されたアイテムの数量を減少させます。 itemSetName を指定すると、その特定のスタックのみが消費対象になります。指定しない場合、そのアイテムタイプのすべてのスタックから消費されます。 アイテムセットの数量がゼロになると、自動的に削除されます。 要求された量を消費するのに十分なアイテムがない場合、Insufficient エラーが返されます。 バフの適用対象フィールド consumeCount ItemSet - アイテムセット  consumeCount long  1 ~ 9223372036854775805 消費する量 マスターデータ記述例 バフの適用条件モデル Gs2Inventory:InventoryModel インベントリモデル マスターデータ記述例 Gs2Inventory:ItemModel アイテムモデル マスターデータ記述例 Gs2Inventory:ConsumeItemSetByUserId ユーザーIDを指定してアイテムセットを消費 指定されたユーザーのインベントリ内の特定アイテムの数量を減少させます。 itemSetName を指定すると、その特定のスタックのみが消費対象になります。指定しない場合、そのアイテムタイプのすべてのスタックから消費されます。 アイテムセットの数量がゼロになると、自動的に削除されます。 十分なアイテムがない場合、Insufficient エラーが返されます。 バフの適用対象フィールド consumeCount ItemSet - アイテムセット  consumeCount long  1 ~ 9223372036854775805 消費する量 マスターデータ記述例 バフの適用条件モデル Gs2Inventory:InventoryModel インベントリモデル マスターデータ記述例 Gs2Inventory:ItemModel アイテムモデル マスターデータ記述例 Gs2Inventory:AcquireSimpleItemsByUserId ユーザーIDを指定してシンプルアイテムを入手 入手数量のバッチを使用して、ユーザーのシンプルインベントリにアイテムを追加します。 単一のアトミック操作で複数のアイテムを入手できます。acquireCounts 配列で各アイテムの名前と数量を指定します。 通常のアイテムセットとは異なり、シンプルアイテムには容量制限、スタック制限、有効期限がありません。 バフの適用対象フィールド acquireCounts SimpleItem - シンプルアイテム  acquireCounts List  1 ~ 100 items シンプルアイテムの入手数量リスト マスターデータ記述例 バフの適用条件モデル Gs2Inventory:SimpleInventoryModel シンプルインベントリモデル マスターデータ記述例 Gs2Inventory:SimpleItemModel シンプルアイテムモデル マスターデータ記述例 Gs2Inventory:ConsumeSimpleItems シンプルアイテムを消費 消費数量のバッチを使用して、リクエストユーザーのシンプルインベントリ内のアイテム数量を減少させます。 単一のアトミック操作で複数のアイテムを消費できます。いずれかのアイテムの数量が不足している場合、操作全体が失敗します。 指定されたいずれかのアイテムが十分にない場合、Insufficient エラーが返されます。 バフの適用対象フィールド consumeCounts SimpleItem - シンプルアイテム  consumeCounts List  1 ~ 100 items シンプルアイテムの消費数量のリスト マスターデータ記述例 バフの適用条件モデル Gs2Inventory:SimpleInventoryModel シンプルインベントリモデル マスターデータ記述例 Gs2Inventory:SimpleItemModel シンプルアイテムモデル マスターデータ記述例 Gs2Inventory:ConsumeSimpleItemsByUserId ユーザーIDを指定してシンプルアイテムを消費 消費数量のバッチを使用して、指定されたユーザーのシンプルインベントリ内のアイテム数量を減少させます。 単一のアトミック操作で複数のアイテムを消費できます。いずれかのアイテムの数量が不足している場合、操作全体が失敗します。 バフの適用対象フィールド consumeCounts SimpleItem - シンプルアイテム  consumeCounts List  1 ~ 100 items シンプルアイテムの消費数量のリスト マスターデータ記述例 バフの適用条件モデル Gs2Inventory:SimpleInventoryModel シンプルインベントリモデル マスターデータ記述例 Gs2Inventory:SimpleItemModel シンプルアイテムモデル マスターデータ記述例 Gs2Inventory:AcquireBigItemByUserId ユーザーIDを指定して巨大アイテムを入手 任意精度演算を使用して、ユーザーの巨大アイテム数量に指定された数量を加算します。 acquireCount は最大1024桁の有効な整数文字列でなければならず、無効な形式はエラーになります。 アイテムがまだ存在しない場合は自動的に作成されます。 ネームスペース設定により、巨大アイテム入手時にカスタムロジックを実行する GS2-Script を設定できます。 バフの適用対象フィールド acquireCount BigItem - 巨大アイテム  acquireCount string  ~ 1024文字 巨大アイテムの入手数量 最大1024桁までの整数値文字列 マスターデータ記述例 バフの適用条件モデル Gs2Inventory:BigInventoryModel 巨大インベントリモデル マスターデータ記述例 Gs2Inventory:BigItemModel 巨大アイテムモデル マスターデータ記述例 Gs2Inventory:ConsumeBigItem 巨大アイテムを消費 任意精度演算を使用して、リクエストユーザーの巨大アイテム数量から指定された数量を減算します。 consumeCount は最大1024桁の有効な整数文字列でなければなりません。 現在の数量が不足している場合、Insufficient エラーが返され、減算は行われません。 ネームスペース設定により、巨大アイテム消費時にカスタムロジックを実行する GS2-Script を設定できます。 バフの適用対象フィールド consumeCount BigItem - 巨大アイテム  consumeCount string  ~ 1024文字 巨大アイテムの消費数量 最大1024桁までの整数値文字列 マスターデータ記述例 バフの適用条件モデル Gs2Inventory:BigInventoryModel 巨大インベントリモデル マスターデータ記述例 Gs2Inventory:BigItemModel 巨大アイテムモデル マスターデータ記述例 Gs2Inventory:ConsumeBigItemByUserId ユーザーIDを指定して巨大アイテムを消費 任意精度演算を使用して、指定ユーザーの巨大アイテム数量から指定された数量を減算します。 consumeCount は最大1024桁の有効な整数文字列でなければなりません。 現在の数量が不足している場合、Insufficient エラーが返され、減算は行われません。 ネームスペース設定により、巨大アイテム消費時にカスタムロジックを実行する GS2-Script を設定できます。 バフの適用対象フィールド consumeCount BigItem - 巨大アイテム  consumeCount string  ~ 1024文字 巨大アイテムの消費数量 最大1024桁までの整数値文字列 マスターデータ記述例 バフの適用条件モデル Gs2Inventory:BigInventoryModel 巨大インベントリモデル マスターデータ記述例 Gs2Inventory:BigItemModel 巨大アイテムモデル マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-Inventory Buff リファレンス","url":"/ja/api_reference/inventory/buff/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Action バフを適用可能なアクションの種類 Gs2Limit:CountUp カウントアップ リクエストしたユーザーのカウンターを指定されたカウントアップ値だけ増加させます。 maxValue が指定された場合、カウンターはその上限を超えません。操作が最大値を超える場合は Overflow エラーが返されます。 カウンターがまだ存在しない場合、カウント 0 で自動的に作成された後に増加します。 バフの適用対象フィールド maxValue Counter - 回数制限の現在の値  maxValue int 1 ~ 2147483646 カウントアップを許容する最大値 マスターデータ記述例 バフの適用条件モデル Gs2Limit:LimitModel 回数制限モデル マスターデータ記述例 Gs2Limit:Counter 回数制限の現在の値 マスターデータ記述例 Gs2Limit:CountUpByUserId ユーザーIDを指定してカウントアップ 指定されたユーザーのカウンターを指定されたカウントアップ値だけ増加させます。 maxValue が指定された場合、カウンターはその上限を超えません。操作が最大値を超える場合は Overflow エラーが返されます。 カウンターがまだ存在しない場合、自動的に作成されます。 バフの適用対象フィールド maxValue Counter - 回数制限の現在の値  maxValue int 1 ~ 2147483646 カウントアップを許容する最大値 マスターデータ記述例 バフの適用条件モデル Gs2Limit:LimitModel 回数制限モデル マスターデータ記述例 Gs2Limit:Counter 回数制限の現在の値 マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-Limit Buff リファレンス","url":"/ja/api_reference/limit/buff/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Models バフを適用可能なモデルの種類 Gs2LoginReward:BonusModel ログインボーナスモデル バフの適用対象フィールド acquireActions  acquireActions List  1 ~ 10 items 入手アクションリスト この日の報酬としてユーザーに付与されるリソースを定義する入手アクションのリスト。 各アクションは入手アクション（アイテム追加、通貨付与など）とそのリクエストパラメータを指定します。 報酬あたり最低1個、最大10個のアクションを設定できます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2LoginReward:BonusModel ログインボーナスモデル マスターデータ記述例 missedReceiveReliefConsumeActions  missedReceiveReliefConsumeActions List {missedReceiveRelief} == “enabled” [] 0 ~ 10 items 取り逃がし救済の消費アクションリスト 取り逃がしたボーナスを救済するためにユーザーが支払うコストを定義する消費アクションのリスト。 例えば、ゲーム内通貨やアイテムを救済コストとして消費するよう設定できます。最大10個まで設定できます。 missedReceiveRelief が有効な場合にのみ適用されます。 ※ missedReceiveRelief が “enabled” であれば有効 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2LoginReward:BonusModel ログインボーナスモデル マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-LoginReward Buff リファレンス","url":"/ja/api_reference/login_reward/buff/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Models バフを適用可能なモデルの種類 Gs2Mission:MissionTaskModel ミッションタスクモデル バフの適用対象フィールド completeAcquireActions  completeAcquireActions List [] 0 ~ 100 items ミッション達成時の報酬 プレイヤーがミッション達成報酬を受け取る際に実行される入手アクションのリストです。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Mission:MissionGroupModel ミッショングループモデル マスターデータ記述例 Gs2Mission:MissionTaskModel ミッションタスクモデル マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-Mission Buff リファレンス","url":"/ja/api_reference/mission/buff/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Action バフを適用可能なアクションの種類 Gs2Money:DepositByUserId ユーザーIDを指定してウォレットの残高に加算 指定されたユーザーのウォレットに指定量の通貨を追加します。 価格が 0 の場合は無償通貨として、それ以外の場合は有償通貨として扱われます。 バフの適用対象フィールド count Wallet - ウォレット  count int  1 ~ 2147483646 付与する課金通貨の数量 マスターデータ記述例 バフの適用条件モデル Gs2Money:Wallet ウォレット マスターデータ記述例 Gs2Money:Withdraw ウォレットから残高を消費 リクエストユーザーのウォレットから指定量の通貨を消費します。 paidOnly が false の場合、無償通貨が先に消費され、次に有償通貨が消費されます。paidOnly が true の場合、有償通貨のみが消費されます。 レスポンスには消費した通貨の価格が含まれます。 バフの適用対象フィールド count Wallet - ウォレット  count int  1 ~ 2147483646 消費する課金通貨の数量 マスターデータ記述例 バフの適用条件モデル Gs2Money:Wallet ウォレット マスターデータ記述例 Gs2Money:WithdrawByUserId ユーザーIDを指定してウォレットから残高を消費 指定されたユーザーのウォレットから指定量の通貨を消費します。 paidOnly が false の場合、無償通貨が先に消費され、次に有償通貨が消費されます。 バフの適用対象フィールド count Wallet - ウォレット  count int  1 ~ 2147483646 消費する課金通貨の数量 マスターデータ記述例 バフの適用条件モデル Gs2Money:Wallet ウォレット マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-Money Buff リファレンス","url":"/ja/api_reference/money/buff/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Action バフを適用可能なアクションの種類 Gs2Money2:DepositByUserId ユーザーIDを指定してウォレットの残高に加算 指定されたユーザーのウォレットに指定された入金トランザクションを追加します。 各入金トランザクションに対してイベントログが記録されます。 バフの適用対象フィールド count DepositTransaction - 入金トランザクション  count int  0 ~ 2147483646 課金通貨の数量 この入金における仮想通貨の単位数です。ウォレットから出金されると減少します。 マスターデータ記述例 バフの適用条件モデル Gs2Money2:Wallet ウォレット マスターデータ記述例 Gs2Money2:Withdraw ウォレットから残高を消費 リクエストユーザーのウォレットから指定量の通貨を消費します。 paidOnly が false の場合、無償通貨が先に消費され、次に有償通貨が消費されます。paidOnly が true の場合、有償通貨のみが消費されます。 バフの適用対象フィールド withdrawCount Wallet - ウォレット  withdrawCount int  1 ~ 2147483646 消費する課金通貨の数量 マスターデータ記述例 バフの適用条件モデル Gs2Money2:Wallet ウォレット マスターデータ記述例 Gs2Money2:WithdrawByUserId ユーザーIDを指定してウォレットから残高を消費 指定されたユーザーのウォレットから指定量の通貨を消費します。 paidOnly が false の場合、無償通貨が先に消費され、次に有償通貨が消費されます。 バフの適用対象フィールド withdrawCount Wallet - ウォレット  withdrawCount int  1 ~ 2147483646 消費する課金通貨の数量 マスターデータ記述例 バフの適用条件モデル Gs2Money2:Wallet ウォレット マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-Money2 Buff リファレンス","url":"/ja/api_reference/money2/buff/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Models バフを適用可能なモデルの種類 Gs2Quest:QuestModel クエストモデル バフの適用対象フィールド completeAcquireActions  completeAcquireActions List [] 0 ~ 10 items クリア報酬入手アクション このコンテンツバリエーションでクエストをクリアした際に実行される入手アクションです。プレイヤーがクエストクリア時に受け取る実際の報酬を定義します。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Quest:QuestGroupModel クエストグループモデル マスターデータ記述例 Gs2Quest:QuestModel クエストモデル マスターデータ記述例 firstCompleteAcquireActions  firstCompleteAcquireActions List [] 0 ~ 10 items 初回クリア報酬入手アクションリスト このクエストの初回クリア時にのみ実行される入手アクションのリストです。通常のクリア報酬に加えて付与されるボーナス報酬で、初回クリアボーナスの実現に使用します。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Quest:QuestGroupModel クエストグループモデル マスターデータ記述例 Gs2Quest:QuestModel クエストモデル マスターデータ記述例 failedAcquireActions  failedAcquireActions List [] 0 ~ 100 items 失敗時入手アクションリスト クエスト失敗時に実行される入手アクションです。失敗時の慰労報酬やクエスト参加コストの一部返還などに使用します。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Quest:QuestGroupModel クエストグループモデル マスターデータ記述例 Gs2Quest:QuestModel クエストモデル マスターデータ記述例 verifyActions  verifyActions List [] 0 ~ 10 items 検証アクションリスト このクエストを開始するための前提条件となる検証アクションのリストです。すべての検証アクションが成功しないとクエストを開始できません。レベル確認やアイテム所持などの要件の強制に使用します。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Quest:QuestGroupModel クエストグループモデル マスターデータ記述例 Gs2Quest:QuestModel クエストモデル マスターデータ記述例 consumeActions  consumeActions List [] 0 ~ 10 items 消費アクションリスト このクエストの開始コストとして実行される消費アクションです。スタミナや通貨などのコストがクエスト開始時に消費されます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Quest:QuestGroupModel クエストグループモデル マスターデータ記述例 Gs2Quest:QuestModel クエストモデル マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-Quest Buff リファレンス","url":"/ja/api_reference/quest/buff/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Models バフを適用可能なモデルの種類 Gs2Showcase:DisplayItem 陳列する商品 バフの適用対象フィールド acquireActions  acquireActions List [] 1 ~ 100 items 入手アクションリスト 購入報酬としてリソースを付与するアクションです。すべての消費アクションが正常に完了した後に実行されます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Showcase:Showcase 陳列棚 マスターデータ記述例 Gs2Showcase:DisplayItem 陳列する商品 マスターデータ記述例 verifyActions  verifyActions List [] 0 ~ 10 items 検証アクションリスト 購入前に実行される前提条件チェックです。すべての検証アクションが成功した後に消費・入手アクションが処理されます。購入資格の条件チェックに使用できます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Showcase:Showcase 陳列棚 マスターデータ記述例 Gs2Showcase:DisplayItem 陳列する商品 マスターデータ記述例 consumeActions  consumeActions List [] 0 ~ 10 items 消費アクションリスト 購入対価としてリソースを消費するアクションです。商品グループの購入回数制御のために GS2-Limit の CountUp アクションを含めることができます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Showcase:Showcase 陳列棚 マスターデータ記述例 Gs2Showcase:DisplayItem 陳列する商品 マスターデータ記述例 Gs2Showcase:RandomDisplayItemModel ランダム陳列棚に陳列可能な商品 バフの適用対象フィールド acquireActions  acquireActions List [] 1 ~ 100 items 入手アクションリスト このランダム陳列商品の購入報酬としてリソースを付与するアクションです。トランザクションの入手アクションとして実行されます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Showcase:RandomShowcase ランダム陳列棚 マスターデータ記述例 Gs2Showcase:RandomDisplayItemModel ランダム陳列棚に陳列可能な商品 マスターデータ記述例 verifyActions  verifyActions List [] 0 ~ 10 items 検証アクションリスト このランダム陳列商品を購入する前に実行される前提条件チェックです。すべての検証アクションが成功した後に消費・入手アクションが処理されます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Showcase:RandomShowcase ランダム陳列棚 マスターデータ記述例 Gs2Showcase:RandomDisplayItemModel ランダム陳列棚に陳列可能な商品 マスターデータ記述例 consumeActions  consumeActions List [] 0 ~ 10 items 消費アクションリスト このランダム陳列商品の購入対価としてリソースを消費するアクションです。トランザクションの消費アクションとして実行されます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Showcase:RandomShowcase ランダム陳列棚 マスターデータ記述例 Gs2Showcase:RandomDisplayItemModel ランダム陳列棚に陳列可能な商品 マスターデータ記述例 stock  stock int  1 ~ 2147483646 在庫数 すべてのローテーションを通じてこの商品が抽選される最大回数です。在庫がゼロになると、以降の抽選から除外されます。ローテーション抽選時に商品が選択されると在庫が消費されます。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Showcase:RandomShowcase ランダム陳列棚 マスターデータ記述例 Gs2Showcase:RandomDisplayItemModel ランダム陳列棚に陳列可能な商品 マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-Showcase Buff リファレンス","url":"/ja/api_reference/showcase/buff/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Models バフを適用可能なモデルの種類 Gs2SkillTree:NodeModel ノードモデル バフの適用対象フィールド releaseVerifyActions  releaseVerifyActions List [] 0 ~ 10 items 解放検証アクションリスト このノードを解放する前に実行され、条件が満たされているかを確認する検証アクションのリスト。 例えば、プレイヤーが特定のレベルに達しているか、特定のアイテムを所持しているかを検証できます。 いずれかの検証アクションが失敗すると、ノード解放は拒否されます。最大10アクション。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2SkillTree:NodeModel ノードモデル マスターデータ記述例 releaseConsumeActions  releaseConsumeActions List [] 1 ~ 10 items 解放消費アクションリスト このノードを解放する際に実行される消費アクションのリストで、解放コストを表します。 これらのアクションは返却入手アクションの計算にも使用されます。ノードを拘束する際、各消費アクションが返却率に基づいて逆転されます。 最低1つの消費アクションが必要です。最大10アクション。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2SkillTree:NodeModel ノードモデル マスターデータ記述例 restrainReturnRate  restrainReturnRate float 1.0 0.0 ~ 1.0 返却率 このノードを拘束（未解放状態に戻す）した際に消費リソースが返却される割合。 1.0 は全額返却、0.5 は半額返却、0.0 は返却なしを意味します。 デフォルトは 1.0（全額返却）。有効範囲: 0.0〜1.0。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2SkillTree:NodeModel ノードモデル マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-SkillTree Buff リファレンス","url":"/ja/api_reference/skill_tree/buff/"},{"content":"Note バフエントリーモデルの詳細については BuffEntryModel をご参照ください。 Models バフを適用可能なモデルの種類 Gs2Stamina:Stamina スタミナ バフの適用対象フィールド maxValue  maxValue int  1 ~ 2147483646 スタミナの最大値 StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく MaxStaminaTable でオーバーライドされるユーザーごとのスタミナ最大値。 オーバーフロー無効時は initialCapacity が下限となります。オーバーフロー有効時は maxCapacity が上限となります。 自然回復はこの値で停止します。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Stamina:StaminaModel スタミナモデル マスターデータ記述例 recoverIntervalMinutes  recoverIntervalMinutes int 1 ~ 2147483646 スタミナの回復間隔（分） StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく RecoverIntervalTable でオーバーライドされるユーザーごとの回復間隔（分）。 テーブルが設定されていない場合、モデルのデフォルト recoverIntervalMinutes にフォールバックします。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Stamina:StaminaModel スタミナモデル マスターデータ記述例 recoverValue  recoverValue int 1 ~ 2147483646 スタミナの回復量 StaminaModel から解決され、オプションでプレイヤーの GS2-Experience ランクに基づく RecoverValueTable でオーバーライドされるユーザーごとのティックあたりの回復量。 テーブルが設定されていない場合、モデルのデフォルト recoverValue にフォールバックします。 マスターデータ記述例 rate には、対象フィールドに対する補正レートを指定します。 バフの適用条件モデル Gs2Stamina:StaminaModel スタミナモデル マスターデータ記述例 Action バフを適用可能なアクションの種類 Gs2Stamina:ConsumeStamina スタミナを消費 現在のスタミナ値から指定された量を差し引きます。現在のスタミナ値が消費量未満の場合、Insufficientエラーを返します。 バフの適用対象フィールド consumeValue Stamina - スタミナ  consumeValue int  1 ~ 2147483646 消費するスタミナ量 マスターデータ記述例 バフの適用条件モデル Gs2Stamina:StaminaModel スタミナモデル マスターデータ記述例 Gs2Stamina:ConsumeStaminaByUserId ユーザーIDを指定してスタミナを消費 指定されたユーザーの現在のスタミナ値から指定された量を差し引きます。現在のスタミナ値が消費量未満の場合、Insufficientエラーを返します。 バフの適用対象フィールド consumeValue Stamina - スタミナ  consumeValue int  1 ~ 2147483646 消費するスタミナ量 マスターデータ記述例 バフの適用条件モデル Gs2Stamina:StaminaModel スタミナモデル マスターデータ記述例 Gs2Stamina:RecoverStaminaByUserId ユーザーIDを指定してスタミナを回復 指定された量のスタミナを最大容量まで回復します。回復により値が最大値を超え、オーバーフローモードが有効な場合、超過分はオーバーフロー値として記録されます。 バフの適用対象フィールド recoverValue Stamina - スタミナ  recoverValue int  1 ~ 2147483646 スタミナの回復量 マスターデータ記述例 バフの適用条件モデル Gs2Stamina:StaminaModel スタミナモデル マスターデータ記述例","lang":"ja","section":"api_reference","summary":"GS2-Buff でバフを適用する際に指定する、パラメータの補正が可能なモデル/アクション内のフィールドと、その適用範囲の設定について\n","title":"GS2-Stamina Buff リファレンス","url":"/ja/api_reference/stamina/buff/"},{"content":"マスターデータの更新作業を自動化することで、人為的なミスを減らし、開発サイクルを高速化できます。 自動化のフロー 一般的な自動化のフローは以下の通りです。 データ作成 : Excel や Google スプレッドシート、CSV 等でマスターデータを作成。 変換 : スプレッドシートから GS2 のマスターデータ形式（JSON）へ変換。 コミット : 変換後の JSON または GS2-Deploy のテンプレートを Git リポジトリへコミット。 デプロイ : CI ツール（GitHub Actions, CircleCI 等）が変更を検知し、GS2 へ反映。 デプロイの自動化 GS2-Deploy を使用する場合 GS2-Deploy のテンプレートにマスターデータを埋め込んでいる場合、CI から GS2-Deploy のスタックを更新することで反映できます。 GitHub Actions の例: jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: GS2 Deploy run: | # gs2-cli 等を使用してスタックを更新 gs2-cli deploy update-stack --stack-name master-data --template-file template.yaml マネージメントコンソールのエクスポート/インポートを使用する場合 各マイクロサービスの CurrentItemModelMaster を更新する API を呼び出すことで、JSON ファイルの内容を反映できます。 推奨事項 検証環境でのテスト : 本番環境へ反映する前に、必ず検証用のプロジェクト/ネームスペースへデプロイし、動作確認を行ってください。 バリデーション : デプロイ前にスクリプト等でデータの整合性チェック（ID の重複チェックや、関連リソースの存在チェック）を行うことを強く推奨します。","lang":"ja","section":"articles","summary":"GitHub Actions 等を使用したマスターデータの自動更新\n","title":"マスターデータの CI/CD","url":"/ja/articles/master_data/cicd/"},{"content":"GS2 は従量課金制を採用しているため、ゲームの設計次第で利用料金が大きく変わる可能性があります。 このセクションでは、パフォーマンスを維持しつつコストを抑えるための設計のポイントを解説します。 1. API 呼び出し回数の削減 GS2 の料金の大きな割合を占めるのが API のリクエスト数です。 SDK のキャッシュ機構を活用する GS2 SDK にはキャッシュ機構が組み込まれています。 同じデータを短時間に何度も取得する場合、サーバーへリクエストを飛ばさずにキャッシュから返すように設計されています。 SDK の各メソッドの Future や Async 版を使用する際、可能な限り高レベルな API（Domain オブジェクトを介したアクセス）を使用してください。 まとめて取得・更新する 例えば、複数のアイテムの所持数を取得する場合、個別に API を呼ぶのではなく、インベントリ全体を一度に取得する方がリクエスト数を抑えられます。 2. GS2-Deploy によるリソースの適切な管理 不要なネームスペースやリソースが残っていると、わずかですがストレージ料金や管理コストが発生し続ける場合があります。 開発環境や検証環境は、不要になったら GS2-Deploy のスタックを削除することで、関連するリソースを一括でクリーンアップできます。 3. GS2-Script の実行効率 GS2-Script の実行料金は、実行時間に応じて変動します。 効率的なコード : ループ内での不要な API 呼び出しを避けるなど、Lua スクリプト自体の効率を高めて実行時間を短縮してください。 外部通信の最小化 : http.get などの外部通信は実行時間を延ばす要因になります。 なお、メモリ使用量は直接料金には影響しませんが、使用可能なメモリ容量には制限がある点に注意してください。 4. ログと分析の活用 各マイクロサービスのネームスペース設定で GS2-Log を関連付けることで、各マイクロサービスのアクセスログ（リクエスト・レスポンスの内容）を収集できます。 これにより、特定の機能が想定以上のリクエストを発生させていないか、どの API がコストの要因になっているかを詳細に分析し、最適化に役立てることが可能です。","lang":"ja","section":"articles","summary":"GS2 の利用料金を最適化するための設計ガイド\n","title":"コストの最適化","url":"/ja/articles/tech/cost/"},{"content":"","lang":"ja","section":"design_knowledge","summary":"ここでは、Game Server Services とは直接関係のない、ゲームデザインについてのナレッジをまとめます","title":"ゲームデザインナレッジ","url":"/ja/design_knowledge/"},{"content":"成功しているタイトルが当たり前のように実施している取り組みについて学びましょう。","lang":"ja","section":"design_knowledge","summary":"過去の成功例から学びましょう","title":"成功から学ぶ","url":"/ja/design_knowledge/success/"},{"content":"学ぶべきは成功からではなく、失敗からです！ 自分も同じ失敗を犯さないためにどうすればいいのか考えながらゲームデザインをしましょう。","lang":"ja","section":"design_knowledge","summary":"過去の失敗事例を元に何が悪かったのか、どうすればよかったのか学びましょう","title":"失敗から学ぶ","url":"/ja/design_knowledge/fail/"},{"content":"","lang":"ja","section":"api_reference","summary":"","title":"API リファレンス","url":"/ja/api_reference/"},{"content":"マイクロサービス紹介 / Account","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Account","title":"GS2-Account リファレンス","url":"/ja/api_reference/account/"},{"content":"マイクロサービス紹介 / AdReward","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / AdReward","title":"GS2-AdReward リファレンス","url":"/ja/api_reference/ad_reward/"},{"content":"","lang":"ja","section":"api_reference","summary":"","title":"GS2-Auth リファレンス","url":"/ja/api_reference/auth/"},{"content":"マイクロサービス紹介 / Buff","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Buff","title":"GS2-Buff リファレンス","url":"/ja/api_reference/buff/"},{"content":"マイクロサービス紹介 / Chat","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Chat","title":"GS2-Chat リファレンス","url":"/ja/api_reference/chat/"},{"content":"マイクロサービス紹介 / Datastore","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Datastore","title":"GS2-Datastore リファレンス","url":"/ja/api_reference/datastore/"},{"content":"","lang":"ja","section":"api_reference","summary":"","title":"GS2-Deploy リファレンス","url":"/ja/api_reference/deploy/"},{"content":"マイクロサービス紹介 / Dictionary","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Dictionary","title":"GS2-Dictionary リファレンス","url":"/ja/api_reference/dictionary/"},{"content":"","lang":"ja","section":"api_reference","summary":"","title":"GS2-Distributor リファレンス","url":"/ja/api_reference/distributor/"},{"content":"マイクロサービス紹介 / Enchant","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Enchant","title":"GS2-Enchant リファレンス","url":"/ja/api_reference/enchant/"},{"content":"マイクロサービス紹介 / Enhance","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Enhance","title":"GS2-Enhance リファレンス","url":"/ja/api_reference/enhance/"},{"content":"マイクロサービス紹介 / Exchange","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Exchange","title":"GS2-Exchange リファレンス","url":"/ja/api_reference/exchange/"},{"content":"マイクロサービス紹介 / Experience","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Experience","title":"GS2-Experience リファレンス","url":"/ja/api_reference/experience/"},{"content":"マイクロサービス紹介 / Formation","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Formation","title":"GS2-Formation リファレンス","url":"/ja/api_reference/formation/"},{"content":"Tip GS2-Freeze はゲームから利用するGS2のAPIバージョンを固定し、任意のタイミングでバージョンを更新する仕組みを提供します。 この機能はエンタープライズ向けの機能で広範囲に提供される機能ではありません。 詳細はサポートにお問い合わせください。","lang":"ja","section":"api_reference","summary":"Tip GS2-Freeze はゲームから利用するGS2のAPIバージョンを固定し、任意のタイミングでバージョンを更新する仕組みを提供します。 この機能はエンタープライズ向けの機能で広範囲に提供される機能ではありません。\n詳細はサポートにお問い合わせください。","title":"GS2-Freeze リファレンス","url":"/ja/api_reference/freeze/"},{"content":"マイクロサービス紹介 / Friend","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Friend","title":"GS2-Friend リファレンス","url":"/ja/api_reference/friend/"},{"content":"","lang":"ja","section":"api_reference","summary":"","title":"GS2-Gateway リファレンス","url":"/ja/api_reference/gateway/"},{"content":"マイクロサービス紹介 / Grade","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Grade","title":"GS2-Grade リファレンス","url":"/ja/api_reference/grade/"},{"content":"","lang":"ja","section":"api_reference","summary":"","title":"GS2-Guard リファレンス","url":"/ja/api_reference/guard/"},{"content":"マイクロサービス紹介 / Guild","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Guild","title":"GS2-Guild リファレンス","url":"/ja/api_reference/guild/"},{"content":"","lang":"ja","section":"api_reference","summary":"","title":"GS2-Identifier リファレンス","url":"/ja/api_reference/identifier/"},{"content":"マイクロサービス紹介 / Idle","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Idle","title":"GS2-Idle リファレンス","url":"/ja/api_reference/idle/"},{"content":"マイクロサービス紹介 / Inbox","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Inbox","title":"GS2-Inbox リファレンス","url":"/ja/api_reference/inbox/"},{"content":"マイクロサービス紹介 / Inventory","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Inventory","title":"GS2-Inventory リファレンス","url":"/ja/api_reference/inventory/"},{"content":"","lang":"ja","section":"api_reference","summary":"","title":"GS2-JobQueue リファレンス","url":"/ja/api_reference/job_queue/"},{"content":"","lang":"ja","section":"api_reference","summary":"","title":"GS2-Key リファレンス","url":"/ja/api_reference/key/"},{"content":"マイクロサービス紹介 / Limit","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Limit","title":"GS2-Limit リファレンス","url":"/ja/api_reference/limit/"},{"content":"","lang":"ja","section":"api_reference","summary":"","title":"GS2-Lock リファレンス","url":"/ja/api_reference/lock/"},{"content":"","lang":"ja","section":"api_reference","summary":"","title":"GS2-Log リファレンス","url":"/ja/api_reference/log/"},{"content":"マイクロサービス紹介 / LoginReward","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / LoginReward","title":"GS2-LoginReward リファレンス","url":"/ja/api_reference/login_reward/"},{"content":"マイクロサービス紹介 / Lottery","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Lottery","title":"GS2-Lottery リファレンス","url":"/ja/api_reference/lottery/"},{"content":"マイクロサービス紹介 / Matchmaking","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Matchmaking","title":"GS2-Matchmaking リファレンス","url":"/ja/api_reference/matchmaking/"},{"content":"","lang":"ja","section":"api_reference","summary":"","title":"GS2-MegaField リファレンス","url":"/ja/api_reference/mega_field/"},{"content":"マイクロサービス紹介 / Mission","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Mission","title":"GS2-Mission リファレンス","url":"/ja/api_reference/mission/"},{"content":"マイクロサービス紹介 / Money Warning GS2-Money2 がリリースされました。 特別な理由がない限りは新しく利用する場合は GS2-Money2 を利用してください。","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Money\nWarning GS2-Money2 がリリースされました。\n特別な理由がない限りは新しく利用する場合は GS2-Money2 を利用してください。","title":"GS2-Money リファレンス","url":"/ja/api_reference/money/"},{"content":"マイクロサービス紹介 / Money2 Tip GS2-Money2 は名前の通りバージョン2に相当するマイクロサービスです。 以前のバージョンに関するドキュメントは GS2-Money を参照してください。","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Money2\nTip GS2-Money2 は名前の通りバージョン2に相当するマイクロサービスです。\n以前のバージョンに関するドキュメントは GS2-Money を参照してください。","title":"GS2-Money2 リファレンス","url":"/ja/api_reference/money2/"},{"content":"マイクロサービス紹介 / News","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / News","title":"GS2-News リファレンス","url":"/ja/api_reference/news/"},{"content":"マイクロサービス紹介 / Quest","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Quest","title":"GS2-Quest リファレンス","url":"/ja/api_reference/quest/"},{"content":"マイクロサービス紹介 / Ranking Warning GS2-Ranking2 がリリースされました。 特別な理由がない限りは新しく利用する場合は GS2-Ranking2 を利用してください。","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Ranking\nWarning GS2-Ranking2 がリリースされました。\n特別な理由がない限りは新しく利用する場合は GS2-Ranking2 を利用してください。","title":"GS2-Ranking リファレンス","url":"/ja/api_reference/ranking/"},{"content":"マイクロサービス紹介 / Ranking2 Tip GS2-Ranking2 は名前の通りバージョン2に相当するマイクロサービスです。 以前のバージョンに関するドキュメントは GS2-Ranking を参照してください。","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Ranking2\nTip GS2-Ranking2 は名前の通りバージョン2に相当するマイクロサービスです。\n以前のバージョンに関するドキュメントは GS2-Ranking を参照してください。","title":"GS2-Ranking2 リファレンス","url":"/ja/api_reference/ranking2/"},{"content":"マイクロサービス紹介 / Realtime","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Realtime","title":"GS2-Realtime リファレンス","url":"/ja/api_reference/realtime/"},{"content":"マイクロサービス紹介 / Schedule","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Schedule","title":"GS2-Schedule リファレンス","url":"/ja/api_reference/schedule/"},{"content":"","lang":"ja","section":"api_reference","summary":"","title":"GS2-Script リファレンス","url":"/ja/api_reference/script/"},{"content":"マイクロサービス紹介 / SeasonRating","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / SeasonRating","title":"GS2-SeasonRating リファレンス","url":"/ja/api_reference/season_rating/"},{"content":"マイクロサービス紹介 / SerialKey","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / SerialKey","title":"GS2-SerialKey リファレンス","url":"/ja/api_reference/serial_key/"},{"content":"マイクロサービス紹介 / Showcase","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Showcase","title":"GS2-Showcase リファレンス","url":"/ja/api_reference/showcase/"},{"content":"マイクロサービス紹介 / SkillTree","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / SkillTree","title":"GS2-SkillTree リファレンス","url":"/ja/api_reference/skill_tree/"},{"content":"マイクロサービス紹介 / Stamina","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Stamina","title":"GS2-Stamina リファレンス","url":"/ja/api_reference/stamina/"},{"content":"マイクロサービス紹介 / StateMachine","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / StateMachine","title":"GS2-StateMachine リファレンス","url":"/ja/api_reference/state_machine/"},{"content":"マイクロサービス紹介 / Version","lang":"ja","section":"api_reference","summary":"マイクロサービス紹介 / Version","title":"GS2-Version リファレンス","url":"/ja/api_reference/version/"},{"content":"GSL は可読性・記述性に優れたステートマシン定義言語ですが、IDEの入力支援や学習コストの観点で優れているとは言い難い側面があります。 各種プログラミング言語を使用して GSL を定義する方法として、CDK を利用することができます。 CDK の詳細 ステートマシンの定義の開始 ステートマシンを定義を開始するには以下の構文を使用します。 ステートマシンの定義 ステートの定義 Task SubStateMachineTask WaitTask PassTask ErrorTask スタックへの登録 サンプル全文","lang":"ja","section":"api_reference","summary":"GS2 States Language を CDK で定義するための拡張構文について","title":"GS2 States Language 定義拡張","url":"/ja/api_reference/state_machine/deploy/extention/"},{"content":"ゲームを長期運営していく上で、より手強いエネミーを追加していくことになります。 とあるゲームでは、1サイクル1時間ほどのゲームプレイを通じてキャラクターを育成し、 その育成結果のキャラクターを使用して、他プレイヤーと競うゲームモードを遊べる仕様を採用していました。 キャラクターの育成パートに新しいモードを追加し、そちらで育成することでこれまでとは異なるパラメーターバランスのキャラクターを育成できるようにしました。 追加されたモードでは、5個あるパラメーターのうち1つが従来より 30% 高いキャラクターを育成できるようにしていました。 プレイヤーはこの内容をみて必死にこのモードの攻略方法を模索します。 新しいモードでの育成を効率化アイテムも追加されたため、プレイヤーはガチャでそのアイテムを入手し、新しいモードに挑みました。 やがて、新しいモードで最大パラメーターのキャラクターの育成に成功したプレイヤーが登場し、こう言いました。 「数値ほど強くない」 この裏では開発者の葛藤がありました。既存の育成済みのキャラクターを全て過去のものにしてしまうのは、過去のプレイヤーの努力を否定するものになりかねないためです。 そこで頭を捻った開発者は、数値上は30%大きくなるが、実際の計算式では上限引き上げ部分については1/8しか影響を与えないようにした。 これによって、過去に育成したキャラクターとの差を小さくしようとしたのです。 しかし、これはプレイヤーに見破られ「30% 強く成長させたつもりだったけど、実際は 3.75% しか強くなっていなかった」と批判されます。 最終的に 1/8 という数値を 1/2 にすることで事態の収集をつけましたが、開発者再度も良かれと思ってインフレ抑制の計算式を導入したはずですが、それが裏目に出てしまったパターンです。 新モードがプレイヤーに与える印象は弱くなりますが、素直にパラメーターの上昇量を 30% ではなく、3.75% としていた方が良かったのかもしれません。","lang":"ja","section":"design_knowledge","summary":"インフレ抑制仕様について","title":"インフレ抑制","url":"/ja/design_knowledge/fail/inflation_control/"},{"content":"ガチャの演出は派手におこないたいです。 しかし、そこで嘘をついてしまうと法律によって裁かれるリスクがあります。 とあるゲームでは、ガチャの演出で箱の中からアイテムを取り出す演出をしていましたが 演出中の箱の中のアイテムの表示と、実際の排出確率に大きな乖離がありました。 演出上の見た目ではレアアイテムがたくさん入っており、あたかもレアアイテムが簡単に入手できそうに見えたのです。 これは、日本の景品表示法で定められた優良誤認という、実際の性能以上に商品をよく見せようとする行為に該当するのではないか？と炎上しました。 結局この事例では法律に実際に抵触するのかの結果は出ていませんが、少なくともリスクがある点は間違いありません。 演出を作成する際には、ぜひ注意してください。","lang":"ja","section":"design_knowledge","summary":"ガチャ演出の設計について","title":"ガチャ演出","url":"/ja/design_knowledge/fail/gacha_effect/"},{"content":"ガチャなんていくら払えば実際にキャラクターを入手できるかわからない仕組みは悪だ。 私もそう思っていた時期がありました。 しかし、それを完全に否定する失敗事例をご紹介します。 あるゲームでは新キャラクターを 1,000円 で販売することにしました。 ガチャは1回300円が一般的なレートですので、3回ちょっと分の料金で確定でキャラクターが手に入るというのは破格だと思います。 しかし、この取り組みは無課金プレイヤーは気に入りませんでした。 無課金プレイヤーはイベント報酬などで得られるゲーム内通貨を使用してガチャを引いて、新しいキャラクターを手に入れています。 つまりこういったプレイヤーは絶対にこのキャラクターを入手することができないのです。 「お金払ってないんだから そういうこともあるでしょう」という運営サイドの気持ちもわかります。 しかし、無課金プレイヤーがゲームプレイヤーの9割を占めるということも忘れないようにする必要があります。 キャラクターを直接販売する場合は、あわせて別の手段で無課金プレイヤーにも入手できるようにするほうが無難そうです。","lang":"ja","section":"design_knowledge","summary":"キャラクターの直接購入について","title":"キャラクター購入","url":"/ja/design_knowledge/fail/purchase_character/"},{"content":"育成に使用する素材やゲーム内通貨などの資源は、プレイヤーがどのくらいの数量を保持しているのか、入手量・消費量のバランスはどうなっているのか といった情報をモニタリングしましょう。 資源の 入手量・消費量のバランス がプラスの場合は、その資源を消費するコンテンツを考えるべきです。 資源の 入手量・消費量のバランス が拮抗しているは、その資源を排出するコンテンツを考えるべきです。 ただし、資源が貴重なものとしてゲームバランスを設計している場合は、意図通りとして排出量をそのままにするのが望ましいでしょう。 そのような資源は、毎月開催するイベントのプレイ報酬として排出することで、プレイヤーのモチベーションを長期間保つ要素にすることができるかもしれません。","lang":"ja","section":"design_knowledge","summary":"ゲーム内で流通している資源量を把握してゲーム内経済が正常な状態を維持しましょう","title":"ゲーム内で流通している資源量を把握する","url":"/ja/design_knowledge/success/understand_amount_of_resources/"},{"content":"事例 あるスマートフォン向けゲームは、家庭用ゲーム機向けのゲームを移植して作ることにしましｔ。 家庭用ゲームに収録されたミニゲームをメインコンテンツとし、追加コンテンツとしてミニゲームを販売する形でリリースされました。 家庭用ゲームには50を超えるミニゲームがありましたが、ローンチ時点ではそこから5種類が選別され、そのうち2個を無料で遊べるようにしました。 ミニゲームは1種類500円相当のゲーム内通貨で販売されます。 しかし、ローンチ直後からサーバー障害が続き、プレイヤーにお詫びとして100円分のゲーム内通貨の配布を繰り返すことになります。 そして、5回目の障害の時、開発者は大きな決断を迫られます。 ここで100円分の課金通貨を配ってしまうと「3個しかない追加コンテンツのうち1つを無償で入手できるプレイヤーが大量に出てしまう」 お詫びの額を引き下げようにも課金通貨の単位は100円=1個のため、引き下げることも難しいです。 そこで、開発者は障害に対してお詫びをすることをやめ、そのまま何事もなかったかのように振舞いました。 障害が落ち着いたころには、プレイヤーは離れ、残っていたプレイヤーも初期に実装されていたミニゲーム以降追加されないことから飽きて離れて行きました。 振り返り さて、今回の事例の問題はいろいろありそうです。 メタゲームの理解不足 まずメタゲームを正しく理解していないことです。メインゲームの分割販売であれば、運営型ゲームの装いをする必要がありません。 メインコンテンツの追加には時間がかかる コンテンツの追加＝メインゲームの追加となり、コンテンツの追加に時間とコストがかかり過ぎます。 結果として、1ヶ月に数回ゲーム内に変化が欲しい運営型ゲームですが、コンテンツの追加に1ヶ月以上かかるため変化を起こすことができませんでした。 毎日することがない メインゲームをエンハンスするため、毎日こつこつ遊ぶゲームサイクルを用意していないため、メインゲームに飽きたらゲームは終了です。 肝心のメインゲームもミニゲームですので、これではプレイヤーは1週間もてばいい方でしょう。 まさにバケツに穴が空いている状態です。このままプロモーションをしてプレイヤーを集めても未来がありません。 課金通貨の単位設定 他にも課金通貨の単位の決め方もまずかったようです。 一般的に 1円＝1通貨 や 2円＝1通貨 に設定するところを、100円＝1通貨 としてしまったことで、 プレイヤーにお詫びの課金通貨を配布するビジネス的な判断をより難しいものにしてしまいました。 課金額の上限が設定されている 500円 のコンテンツが3種類では 1500円 が1人のプレイヤーから得られる売り上げの上限です。 ゲームプレイヤーのうち課金してくれるプレイヤーの割合を5%とし、平均1.5個の追加コンテンツを購入してくれたとしましょう。 すると、1万人がプレイしてくれたとして、課金してくれるのは500人、平均750円分コンテンツを購入してくれたとして、月間の売り上げは350万円になります。 追加コンテンツを開発するための開発チームを維持するために月1000万円が必要だとしたら、毎月3万人に新しく遊んでもらう必要があります。 新規で3万人のプレイヤーを得るにはそれなりにPRしなければなりませんので、このゲームはローンチする前から儲からないことが見えています。","lang":"ja","section":"design_knowledge","summary":"コンテンツ不足による問題について","title":"コンテンツ不足","url":"/ja/design_knowledge/fail/lack_of_content/"},{"content":"あるゲームはゲームプレイヤーの満足度が高くなく、途方に暮れていました。 そこでテコ入れを検討し始めます。 そして、その結果としてメインゲームを全く新しいものに変更するという決断が下されました。 数ヶ月後新しいメインゲームが導入された大型アップデートが実施されました。 しかし、そのバージョンにアップデートしたプレイヤーたちが怒り狂っています。 「アップデート前のゲームの方が面白かった」 本当にそうかはさておき、よっぽどアップデート後に良くなっていなければ、そういう声が出るのは避けられない事態でしょう。 外野の私からすると、決断自体が「そうはならんやろ」という感想なのですが、 テコ入れをするとしても、もう少し小さいステップのものの方が良さそうです。","lang":"ja","section":"design_knowledge","summary":"テコ入れし過ぎについて","title":"テコ入れし過ぎ","url":"/ja/design_knowledge/fail/too_much_leverage/"},{"content":"プレイヤーのリテンション率を高める取り組みとして有効なのがログインボーナスです。 毎日ログインするだけでゲーム内アイテムをもらえるのであれば、プレイヤーはとりあえずゲームを起動しようと思ってくれる確率が上がります。 そんなログインボーナスでやりがちな失敗を紹介します。 毎日ログインしてくれてありがとう たとえば、1月のログインボーナスを用意する時「31日間ログインすると10連ガチャチケットをプレゼント！」 という取り組みをやりたいとしましょう。 毎日欠かさずログインしてくれているプレイヤーを労いたい気持ちはすごくよくわかりますが、実はこれは悪手です。 なぜなら、期間中1度でもログインできなかったプレイヤーが「もういいや」とその後一回もログインしてくれなくなる可能性があるためです。 リテンションを高める目的のログインボーナスでプレイヤーのリテンションを損なってしまっては元も子もありません。 連続ログインで大きな報酬を与える時には20日目くらいに設定し、残り10日は無難なアイテムにしておくことをお勧めします。","lang":"ja","section":"design_knowledge","summary":"ログインボーナスの設計について","title":"ログインボーナス","url":"/ja/design_knowledge/fail/login_rewards/"},{"content":"ゲームには様々な要素を詰め込むことになりますが、あまり活用されていない機能やコンテンツが必ず生まれます。 このようなコンテンツは放置せず、改善しましょう。 コンテンツが不人気な理由は以下に分類することができます。 つまらない 報酬が魅力的ではない 時間がかかりすぎる つまらない つまらないコンテンツは潔く切り捨てることも重要です。 そのようなコンテンツを維持するコストを他の機能に回す判断も必要です。 報酬が魅力的ではない コンテンツ自体は悪くないが、報酬に魅力がないためプレイされない というのもよくあるパターンです。 内容に手を入れるには人的リソースがかなりかかります。 まずは実行しやすい手法として、コンテンツで得られる報酬を魅力的にすることで、プレイヤーがそのコンテンツに触れてくれる機会を増やしてみるのがいいでしょう。 時間がかかりすぎる 内容も悪くなく、報酬も悪くないものを設定しているのに不人気なコンテンツがある場合は、そのコンテンツをプレイするために必要となる時間について考えてみましょう。 コンテンツをプレイするために必要な時間や、操作回数が多い場合 コンテンツのプレイスタイルを見直すべきかもしれません。 より短時間で遊べるようにしたり、プレイ時間はそのままでオートプレイ機能を追加し、操作回数を減らすことでプレイヤーが触れてくれるようになるかもしれません。","lang":"ja","section":"design_knowledge","summary":"不人気なコンテンツを特定し、改善しましょう","title":"不人気なコンテンツを改善する","url":"/ja/design_knowledge/success/improve_unpopular_content/"},{"content":"事例 とあるゲームは500万ダウンロードを超える成果を上げ、プレイヤーの評価も非常に高いゲームでした。 しかし、そんな人気ゲームが突然サービス終了することになりました。 理由はメタゲームの設計がよくなく、プレイヤーにお金を払わなくても十分にゲームを楽しめることが理由でした。 それによって、プレイヤーの増加に対して売り上げは上がらず、開発・運営チーム、サービスを提供するためのインフラコストを維持できませんでした。 振り返り このケースでは、プレイヤーの単価を上げられればサービスを継続できたのではないかと思いますが、それなりに努力をしたが結果が伴わなかった結果のサービ終了と考えるのが妥当でしょう。 では、なぜ客単価をあげることができなかったのか、振り返ってみましょう。 メタゲームの機能不全 このゲームにはメタゲームは存在しましたが、メタゲームで育成した成果をメインゲームの攻略を有利にする機能が有効に機能していませんでした。 つまり、メタゲームはあるものの、そこで育成する意味があまりなかったのです。 すると、プレイヤーは育成できるので着々と育成するが、急いで育成したいというモチベーションはなく、時短課金が使われませんでした。 若年層をターゲットにし過ぎた このゲームは若年層からの人気が高く、未成年のプレイヤーが60%。特に14歳未満のプレイヤーが多く、全体の 1/3 をしめていました。 若年層のプレイヤーがお金を払ってくれることは期待できず、必然的に ARPU は低くなります。 これが、プレイヤーは増えてインフラコストは重くのしかかるが、売り上げは上がらないという良くない状態を作り出してしまったのでしょう。","lang":"ja","section":"design_knowledge","summary":"プレイヤー1人あたりの売り上げが低い問題について","title":"低ARPU","url":"/ja/design_knowledge/fail/arpu_too_low/"},{"content":"ゲーム開発者があまり頓着せず、リーガル任せになりがちな利用規約の内容で失敗した事例の紹介です。 とあるゲームでは、利用規約で収集する個人情報の内容が奇妙なものでした。 なぜか収集する情報に「銀行口座」や「マイナンバー（日本のソーシャルセキュリティナンバー）」などが列挙されていたのです。 更にこのゲームの開発元が国外のデベロッパーによる開発だったため「スパイ活動か？」というようにソーシャルネットワークで拡散されてしまいました。 その後、他の「アプリの内容を流用してしまった」という説明とともに現実的な内容に修正されましたが、このような問題は起こらない方が望ましいのは間違いありません。 ゲームの内容で炎上するならまだしも、利用規約の文面で炎上するのは、何年もかけてゲームを作ってきた開発者にとってこの上なく不幸なことだと私は思います。","lang":"ja","section":"design_knowledge","summary":"利用規約の内容について","title":"利用規約","url":"/ja/design_knowledge/fail/collection_of_personal_information/"},{"content":"ゲームローンチ1周年や、100日、はたまた2.5周年(!?)など、とにかく祝えるタイミングがあれば積極的にお祝いしましょう。 このタイミングでは「特別なログインボーナスを用意する」「毎日10回ガチャを無料で引ける」「クエストの進行に必要となるスタミナを半減する」「経験値の獲得量を2倍にする」など様々な取り組みをおこないます。 大盤振る舞いをすることで「ああ、あのゲームがローンチして1年経ったのか。結局最初の3ヶ月しか遊ばなかったけど、今再開すればお得みたいだし、また遊んでみようかな」とプレイヤーを呼び戻す効果があります。 愛されているゲームであれば、プレイヤーも応援の気持ちで、普段より多めにお金を払ってくれることも期待できます。","lang":"ja","section":"design_knowledge","summary":"周年記念イベントは盛大に","title":"周年記念イベント","url":"/ja/design_knowledge/success/anniversary_event/"},{"content":"リリース時にゲームを盛り上がっているように演出しようと、取引先に依頼して大量のゲーム内決済を行ってもらった不正がありました。 これによって、ゲームはセールスランキングで上位にランクインし、それをみたプレイヤーが新しく参加してくるという流れを狙った取引でした。 このような取引は外部からはわからないですが、内部告発によって明るみに出ました。 しかし、企業が公開した情報から不正に売り上げを操作した金額は決して小さくはないものの、ランキングの結果を左右するほど大きな額ではなさそうでした。 本件についてはそのような結論が出たという話は出てきていませんが、粉飾決算とも取れる行為のため、絶対に真似しないようにしましょう。","lang":"ja","section":"design_knowledge","summary":"売り上げランキングの意図的な操作について","title":"売り上げランキング操作","url":"/ja/design_knowledge/fail/chart_manipulation/"},{"content":"育成に使用する素材を収集するために周回プレイを求めるタイプのゲームにおいて、ゲーム内のリソースの排出量管理は重要です。 経験値・ゲーム内通貨 といった様々なコンテンツで払い出される可能性のあるリソースの排出量を決定する際には、特に慎重に検討するべきです。 プレイヤーは頭がいいため、特定のコンテンツで効率的にリソースを収集できることがわかれば、その行動を繰り返してきます。 そして、これはゲーム内経済を破壊したり、ゲームバランスを崩壊させることにつながります。 これを是正するために、リソースの排出量を下方修正するような行動を取れば、ナーフとしてプレイヤーから怒られる自体は避けられません。 このようなゲームをデザインする際に、プレイ回数に制限がなくプレイヤーの時間が許す限りプレイを続けられるコンテンツは、時間あたりのリソースの排出量を事前に決めておきましょう。 ゲーム内通貨はどんなプレイの仕方をしても、“1000G/時” しか払い出さない。と決めてしまえばコンテンツのプレイ時間でこの数字を割ることでコンテンツが排出するべき適正な量を決定できます。 スタミナがある場合は、 “1000G / 1時間あたりのスタミナの回復量” をスタミナ1消費あたりに得られるリソース獲得量と決め、コンテンツが消費するスタミナ量から排出するべきリソースの適正な量を決定できます。 この思考法を広げると「1日1回しか挑戦できないが、24時間のリソースを獲得できる」というようなコンセプトでコンテンツを用意することで、 短時間しかプレイできないプレイヤーのリソース獲得量を底上げするコンテンツを用意できます。 最後に、「720時間(1ヶ月間)プレイすることでキャラクターを成長させられるようにしたい」というコンセプトであれば、「1時間あたりのリソース排出量 * 720」のリソースを必要とする成長要素を用意すればいいわけです。","lang":"ja","section":"design_knowledge","summary":"時間あたりのリソース排出量を決めることで、コンテンツを平等に扱いましょう","title":"時間あたりのリソース排出量を決める","url":"/ja/design_knowledge/success/determine_resource_emissions_per_hour/"},{"content":"ゲーム内には「遠征」といった名前で実装されることが多い機能です。 クエストの攻略にゲーム内での成否ではなく、現実時間の経過を待つことで報酬が得られる要素です。 「クエストを開始してから12時間経過することで報酬が得られる」ような仕組みにすることで、プレイヤーは朝と夜、あるいは毎日1回ログインしてくれるプレイサイクルを作ることができます。 遠征にキャラクターを出すために必要な労力も少ないため、毎日プレイしてもらいやすい仕様です。","lang":"ja","section":"design_knowledge","summary":"再度ログインしてもらうために時間の経過を要求する","title":"時間の経過を要求する","url":"/ja/design_knowledge/success/require_passage_of_time/"},{"content":"毎日特定の時刻（例えば、午後7時〜午後8時）に1度だけ挑戦可能なクエストを用意します。 このクエストの報酬は魅力的なものを設定するべきです。 モバイルプッシュ通知を組み合わせて、プレイヤーに「今ゲームをプレイするとお得だよ」と通知するのも有効です。","lang":"ja","section":"design_knowledge","summary":"毎日特定の時刻にのみ挑戦可能なクエスト","title":"時間の限定クエスト","url":"/ja/design_knowledge/success/time_limited_quest/"},{"content":"毎日遊んでもらうためには、今日ではなく明日遊ぶことに意味を持たせることは有効な手段です。 「曜日クエスト」というものがわかりやすい例でしょう。 月曜日は「風属性の育成素材」 火曜日は「炎属性の育成素材」 水曜日は「水属性の育成素材」 木曜日は「地属性の育成素材」 金曜日は「ゲーム内通貨」 土曜日は「闇属性の育成素材」 日曜日は「光属性の育成素材」 のように、各曜日にだけプレイ可能なクエストを用意し、そのクエストの報酬として特定の属性のキャラクターを育成するための素材を提供する方法があります。 これによって、プレイヤーは「炎属性のキャラクターを育成したいけど、素材がなく、今日は月曜日だ」となれば、翌日ログインしてくれる可能性を高めることができます。","lang":"ja","section":"design_knowledge","summary":"毎日遊ぶモチベーションを保つために、曜日に特徴を持たせる","title":"曜日に特徴をつける","url":"/ja/design_knowledge/success/make_days_of_week_uniqueness/"},{"content":"ルーティンを生み出すために毎日変化をもたらす仕組みを用意するのも重要ですが、1年間ゲームを続けてもらうには毎週の変化も重要です。 とはいえ、1週間以上のサイクルを設定するゲームも存在します。 開発リソースにあわせて、無理なく変化をもたらせす頻度はどの程度かを考えてからゲームを設計することも大切です。 しかし、小さくてもいいので2週間に1回は必ず変化をもたらしましょう。ゲーム内に少しでも変化があることは毎日プレイするプレイヤーにとって重要です。 一般的に行われている変化の例を示します。 新キャラクターの追加 新シナリオ/クエストの追加 期間限定シナリオ/クエストの追加 方向性としては2種類あり、1 と 2 はゲーム全体のアップデートです。 3 は今しか遊べないコンテンツを用意することで、季節性のあるコンテンツを提供したり、他作品とのコラボレーションシナリオで新規プレイヤーの興味を引くことができます。 これら全てを毎週行う必要はなく、1週間ずつずらして 3週ごとに新キャラクターが追加される というようなサイクルにするのが現実的です。","lang":"ja","section":"design_knowledge","summary":"毎週何かしらゲーム内に変化をもたらしましょう","title":"毎週変化をもたらす","url":"/ja/design_knowledge/success/bring_change_game_every_week/"},{"content":"イベントでは多くのプレイヤーにサプライズを届けて、 今まで遊んでいなかったプレイヤーにも遊ぶきっかけとしてもらったり、一度離れてしまったプレイヤーを呼び戻したいです。 イベントを企画をするにあたって、豪華すぎる景品で失敗してしまった事例のお話です。 ゲーム内でロトを実施し、当選者には10万円分に相当する課金通貨があたるというものでした。 このイベントは多くのプレイヤーにサプライズを届けて、非常にいいイベントに思えました。 しかし、当選番号の発表日に異変が発生しました。 ロトに当選できなかったプレイヤーから「やるきがなくなった」「格差が生まれる」というような失望の声があがってしまったのです。 これらの声はソーシャルネットワークを通して大きくなり、収集がつかなくなっていきました。 最終的に運営サイドは全員が3等に当選したことにして事態の解決を謀ろうとしましたが、余計に混乱を招く結果となりました。 本件については、なにが正解か私にもわかりません。 豪華な景品を用意する際には、期待値のコントロールもあわせて行う必要がありそうという教訓であることは間違いなさそうです。","lang":"ja","section":"design_knowledge","summary":"豪華すぎるイベント報酬のリスクについて","title":"イベント報酬","url":"/ja/design_knowledge/fail/too_gorgeous_prizes/"},{"content":"長期にわたってプレイヤーに遊んでもらうためには、短期的には遊ばせすぎない方がいいです。 無制限に遊べてしまうと、長時間プレイしているプレイヤーと、短時間プレイしているプレイヤーの格差が広がるだけでなく、 長時間プレイしているプレイヤーの「コンテンツ不足をなんとかしてくれ」という声と、短時間プレイしているプレイヤーの「コンテンツ不足以外の要望」という2つの声に耳を傾ける必要が出てしまいます。 開発者が対応するべき課題は絞り込んだ方が、多くのプレイヤーに満足してもらえる開発にリソースを集中できます。 長期間遊ばせないために一般的に用いられている方法が「スタミナ」です。 スタミナはゲーム内のリソースの1つで、お金を払わなくても現実時間の時間経過で回復するリソースです。 ゲームをプレイするためにこのリソースを消費するようにすることで、時間あたりのプレイ回数を制限することができます。 もう一つのアプローチが、いくらでも遊べるが入手できる資源の総量にキャップをつける方法です。 いずれもプレイヤーが獲得できる時間あたりの資源量を開発者がコントロールできるようにすることで、プレイヤー間の格差を減らしています。 前者の方が優れているのは「まだ遊びたい」という気持ちのままゲームを終了してもらうことで、再度ゲームを起動してくれる可能性をあげることが期待できる点です。 長期運営型ゲームのコツとして、毎日獲得できるスタミナを全て使い切るために必要となる時間を極力短くすることです。 1日1時間遊ぶというライフサイクルより、1日15分遊ぶというライフサイクルの方がプレイヤーへの負担が小さく、継続してもらえる確率を高めることになるためです。","lang":"ja","section":"design_knowledge","summary":"長期間遊んでもらうために、短期間で遊ばせすぎない","title":"遊ばせすぎない","url":"/ja/design_knowledge/success/dont_play_too_much/"}]