GS2-Inbox マスターデータリファレンス

マスターデータのフォーマットと インポートする各種モデルのリファレンス

マスターデータのフォーマット

{
  "version": "2020-03-12",
  "globalMessages": [
    {
      "name": "[string]グローバルメッセージ名",
      "metadata": "[string]メタデータ",
      "readAcquireActions": [
        {
          "action": "[string]入手アクションで実行するアクションの種類",
          "request": "[string]アクション実行時に使用されるリクエストのJSON文字列"
        }
      ],
      "expiresTimeSpan": {
        "days": "[int]日数",
        "hours": "[int]時間",
        "minutes": "[int]分"
      },
      "messageReceptionPeriodEventId": "[string?]メッセージ受信期間イベントID"
    }
  ]
}
有効化条件必須デフォルト値の制限説明
versionstring
2020-03-12マスターデータのフォーマットバージョン
globalMessagesList<GlobalMessage>~ 1000 itemsグローバルメッセージ
グローバルメッセージはゲームプレイヤー全体にメッセージを届ける仕組みです。

グローバルメッセージには有効期間を設定でき、各ゲームプレイヤーはグローバルメッセージを受信する処理を実行することで
有効期間内のグローバルメッセージの中で未受信のメッセージを自分のメッセージボックスにコピーします。

モデル

GlobalMessage

グローバルメッセージ

グローバルメッセージはゲームプレイヤー全体にメッセージを届ける仕組みです。

グローバルメッセージには有効期間を設定でき、各ゲームプレイヤーはグローバルメッセージを受信する処理を実行することで
有効期間内のグローバルメッセージの中で未受信のメッセージを自分のメッセージボックスにコピーします。

有効化条件必須デフォルト値の制限説明
globalMessageIdstring
~ 1024文字全ユーザーに向けたメッセージ GRN
※ サーバーが自動で設定
namestring
~ 128文字グローバルメッセージ名
グローバルメッセージ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadatastring
~ 4096文字メタデータ
メッセージのタイトル、本文、表示パラメータなどを含むJSON文字列など、グローバルメッセージの内容を表す任意のデータです。ユーザーがこのグローバルメッセージを受信すると、メタデータは受信ボックス内の個別メッセージにコピーされます。GS2はこの値を解釈しません。最大4096文字です。
readAcquireActionsList<AcquireAction>[]0 ~ 100 items開封時入手アクション
このグローバルメッセージからコピーされたメッセージをユーザーが開封した際に実行される入手アクションのリストです。これらのアクションはメタデータとともに各ユーザーの個別メッセージにコピーされます。グローバルメッセージあたり最大100アクションです。
expiresTimeSpanTimeSpan有効期間
ユーザーがこのグローバルメッセージを受信(コピー)した時刻から、コピーされたメッセージが期限切れとなり受信ボックスから自動削除されるまでの期間です。日、時間、分の組み合わせで指定します。有効期限に達するとメッセージは既読状態に関わらず削除され、未受け取りの添付報酬も含めて削除されます。
messageReceptionPeriodEventIdstring~ 1024文字メッセージ受信期間イベントID
このグローバルメッセージを受信(ユーザーの受信ボックスにコピー)できる時間枠を定義するGS2-ScheduleイベントのGRNです。この期間外では、ユーザーがグローバルメッセージの受信操作をトリガーしてもメッセージは配信されません。期間限定のイベント告知や季節キャンペーン報酬に便利です。

TimeSpan

タイムスパン

日、時間、分の組み合わせとして期間を表します。受信時刻を基準としたメッセージの有効期間を定義するために使用されます。例えば、7日、0時間、0分のタイムスパンは、ユーザーが受信してから正確に1週間後にメッセージが期限切れになることを意味します。

有効化条件必須デフォルト値の制限説明
daysint00 ~ 365日数
このタイムスパンの日数です。時間と分と組み合わせて合計期間が計算されます。最大365日です。
hoursint00 ~ 24時間
このタイムスパンの時間数です。日数と分と組み合わせて合計期間が計算されます。最大24時間です。
minutesint00 ~ 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",
}
入手アクションで実行するアクションの種類
requeststring
~ 524288文字アクション実行時に使用されるリクエストのJSON文字列