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"
}
]
}
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
|---|
| version | string | | ✓ | 2020-03-12 | | マスターデータのフォーマットバージョン |
| globalMessages | List<GlobalMessage> | | | | ~ 1000 items | グローバルメッセージ グローバルメッセージはゲームプレイヤー全体にメッセージを届ける仕組みです。
グローバルメッセージには有効期間を設定でき、各ゲームプレイヤーはグローバルメッセージを受信する処理を実行することで 有効期間内のグローバルメッセージの中で未受信のメッセージを自分のメッセージボックスにコピーします。 |
モデル
GlobalMessage
グローバルメッセージ
グローバルメッセージはゲームプレイヤー全体にメッセージを届ける仕組みです。
グローバルメッセージには有効期間を設定でき、各ゲームプレイヤーはグローバルメッセージを受信する処理を実行することで
有効期間内のグローバルメッセージの中で未受信のメッセージを自分のメッセージボックスにコピーします。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
|---|
| globalMessageId | string | | ※ | | ~ 1024文字 | 全ユーザーに向けたメッセージ
GRN ※ サーバーが自動で設定 |
| name | string | | ✓ | | ~ 128文字 | グローバルメッセージ名 グローバルメッセージ固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 |
| metadata | string | | ✓ | | ~ 4096文字 | メタデータ メッセージのタイトル、本文、表示パラメータなどを含むJSON文字列など、グローバルメッセージの内容を表す任意のデータです。ユーザーがこのグローバルメッセージを受信すると、メタデータは受信ボックス内の個別メッセージにコピーされます。GS2はこの値を解釈しません。最大4096文字です。 |
| readAcquireActions | List<AcquireAction> | | | [] | 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文字列 |