GS2-LoginReward マスターデータリファレンス
{
"version": "2023-07-11",
"bonusModels": [
{
"name": "[string]ボーナスモデル名",
"metadata": "[string?]メタデータ",
"mode": "[string]モード",
"periodEventId": "[string?]ログインボーナスを有効化する期間を表す GS2-Schedule のイベントGRN",
"resetHour": "[int]受け取りフラグのリセット時間(UTC)",
"repeat": "[string]受け取りフラグのリセット時間(UTC)",
"rewards": [
{
"acquireActions": [
{
"action": "[string]入手アクションで実行するアクションの種類",
"request": "[string]リクエストのJSON"
}
]
}
],
"missedReceiveRelief": "[string]取り逃がし救済機能",
"missedReceiveReliefVerifyActions": [
{
"action": "[string]検証アクションで実行するアクションの種類",
"request": "[string]リクエストのJSON"
}
],
"missedReceiveReliefConsumeActions": [
{
"action": "[string]消費アクションで実行するアクションの種類",
"request": "[string]リクエストのJSON"
}
]
}
]
}
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
version | | | ✓ | 2023-07-11 | | マスターデータのフォーマットバージョン |
bonusModels | List<BonusModel> | | | | ~ 100 items | ボーナスモデル |
BonusModel
ボーナスモデル
ログインボーナスの配布スケジュールを設定します。
配布スケジュールには《スケジュールモード》と《ストリーミングモード》があります。
スケジュールモードでは、GS2-Schedule のイベントの指定が必須で、そのイベントの開始日からの経過日数でボーナスの配布を行います。
途中で撮り逃しが発生した場合、その分のボーナスは配布されません。
ストリーミングモードでは、毎日ボーナスに設定された報酬を先頭から順番に配布します。
ストリーミングモードでは繰り返しの設定が可能です。その場合、ストリームの終端に達した場合、先頭から再度配布を行います。
スケジュールモード・ストリーミングモード 共に、取り逃がしの救済機能があります。
一定のコストを支払うことで、取り逃がしたボーナスを受け取ることができます。
ただし、GS2-Schedule のイベントが関連づけられている場合、イベントの開始日からの経過日数より先のボーナスは受け取ることができません。
取り逃がし機能はストリーミングモードかつ繰り返しが有効な場合は使用することができません。
スケジュールモード・ストリーミングモード 共に、設定可能なボーナスの最大日数は100日です。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
bonusModelId | string | | ✓ | | ~ 1024文字 | ログインボーナスモデルGRN |
name | string | | ✓ | | ~ 128文字 | ボーナスモデル名 |
metadata | string | | | | ~ 2048文字 | メタデータ |
mode | enum { “schedule”, “streaming” }
| | ✓ | | ~ 128文字 | モード |
periodEventId | string | | | | ~ 1024文字 | ログインボーナスを有効化する期間を表す GS2-Schedule のイベントGRN |
resetHour | int | {periodEventId} == "" | ✓ | | ~ 23 | 受け取りフラグのリセット時間(UTC) |
repeat | enum { “enabled”, “disabled” }
| {mode} == “streaming” | ✓ | | ~ 128文字 | 受け取りフラグのリセット時間(UTC) |
rewards | List<Reward> | | | | ~ 100 items | 報酬リスト |
missedReceiveRelief | enum { “enabled”, “disabled” }
| | ✓ | “disabled” | ~ 128文字 | 取り逃がし救済機能 |
missedReceiveReliefVerifyActions | List<VerifyAction> | {missedReceiveRelief} == “enabled” | | | ~ 10 items | 取り逃がし救済の検証アクションリスト |
missedReceiveReliefConsumeActions | List<ConsumeAction> | {missedReceiveRelief} == “enabled” | | | ~ 10 items | 取り逃がし救済の消費アクションリスト |
mode に指定する列挙型の定義
定義 | 説明 |
---|
schedule | スケジュールモード |
streaming | ストリーミングモード |
repeat に指定する列挙型の定義
missedReceiveRelief に指定する列挙型の定義
Reward
報酬
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", "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", }
| | ✓ | | ~ 128文字 | 消費アクションで実行するアクションの種類 |
request | string | | ✓ | | ~ 1048576文字 | リクエストの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", "Gs2Script:InvokeScript", "Gs2SerialKey:RevertUseByUserId", "Gs2SerialKey:IssueOnce", "Gs2Showcase:DecrementPurchaseCountByUserId", "Gs2Showcase:ForceReDrawByUserId", "Gs2SkillTree:MarkReleaseByUserId", "Gs2Stamina:RecoverStaminaByUserId", "Gs2Stamina:RaiseMaxValueByUserId", "Gs2Stamina:SetMaxValueByUserId", "Gs2Stamina:SetRecoverIntervalByUserId", "Gs2Stamina:SetRecoverValueByUserId", "Gs2StateMachine:StartStateMachineByUserId", }
| | ✓ | | ~ 128文字 | 入手アクションで実行するアクションの種類 |
request | string | | ✓ | | ~ 1048576文字 | リクエストの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", }
| | ✓ | | ~ 128文字 | 検証アクションで実行するアクションの種類 |
request | string | | ✓ | | ~ 1048576文字 | リクエストのJSON |
VerifyActionResult
検証アクションの実行結果
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
action | enum { }
| | ✓ | | ~ 128文字 | 検証アクションで実行するアクションの種類 |
verifyRequest | string | | ✓ | | ~ 1048576文字 | リクエストのJSON |
statusCode | int | | | | ~ 999 | ステータスコード |
verifyResult | string | | | | ~ 1048576文字 | 結果内容 |
action に指定する列挙型の定義
ConsumeActionResult
消費アクションの実行結果
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
action | enum { }
| | ✓ | | ~ 128文字 | 消費アクションで実行するアクションの種類 |
consumeRequest | string | | ✓ | | ~ 1048576文字 | リクエストのJSON |
statusCode | int | | | | ~ 999 | ステータスコード |
consumeResult | string | | | | ~ 1048576文字 | 結果内容 |
action に指定する列挙型の定義
AcquireActionResult
入手アクションの実行結果
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 |
---|
action | enum { }
| | ✓ | | ~ 128文字 | 入手アクションで実行するアクションの種類 |
acquireRequest | string | | ✓ | | ~ 1048576文字 | リクエストのJSON |
statusCode | int | | | | ~ 999 | ステータスコード |
acquireResult | string | | | | ~ 1048576文字 | 結果内容 |
action に指定する列挙型の定義
TransactionResult
トランザクション実行結果
サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果