GS2-Mission マスターデータリファレンス
{
"version": "2019-05-28",
"groups": [
{
"name": "[string]ミッショングループ名",
"metadata": "[string?]メタデータ",
"tasks": [
{
"missionTaskId": "[string]ミッションタスクGRN",
"name": "[string]タスク名",
"metadata": "[string?]メタデータ",
"verifyCompleteType": "[string]達成条件種別",
"targetCounter": {
"counterName": "[string]カウンター名",
"scopeType": "[string]スコープの種類",
"resetType": "[string?]目標リセットタイミング",
"conditionName": "[string]条件名",
"value": "[long]目標値"
},
"verifyCompleteConsumeActions": [
{
"action": "[string]検証アクションで実行するアクションの種類",
"request": "[string]リクエストのJSON"
}
],
"completeAcquireActions": [
{
"action": "[string]入手アクションで実行するアクションの種類",
"request": "[string]リクエストのJSON"
}
],
"challengePeriodEventId": "[string?]報酬が受け取り可能な期間を設定した GS2-Schedule イベントGRN",
"premiseMissionTaskName": "[string?]このタスクに挑戦するために達成しておく必要のあるタスクの名前",
"counterName": "[string]カウンター名",
"targetResetType": "[string?]目標リセットタイミング",
"targetValue": "[long]目標値"
}
],
"resetType": "[string]リセットタイミング",
"resetDayOfMonth": "[int]リセットをする日にち(月の日数を超える場合は、最終日として扱われます)",
"resetDayOfWeek": "[string]リセットする曜日",
"resetHour": "[int]リセット時刻",
"completeNotificationNamespaceId": "[string?]ネームスペースGRN"
}
],
"counters": [
{
"name": "[string]カウンター名",
"metadata": "[string?]メタデータ",
"scopes": [
{
"scopeType": "[string]スコープの種類",
"resetType": "[string]リセットタイミング",
"resetDayOfMonth": "[int]リセットをする日にち(月の日数を超える場合は、最終日として扱われます)",
"resetDayOfWeek": "[string]リセットする曜日",
"resetHour": "[int]リセット時刻",
"conditionName": "[string]条件名",
"condition": {
"action": "[string]検証アクションで実行するアクションの種類",
"request": "[string]リクエストのJSON"
}
}
],
"challengePeriodEventId": "[string?]カウンターの操作が可能な期間を設定した GS2-Schedule イベントGRN"
}
]
}
型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|---|
version | ✓ | 2019-05-28 | マスターデータのフォーマットバージョン | |||
groups | List<MissionGroupModel> | ~ 10 items | ミッショングループモデル | |||
counters | List<CounterModel> | ~ 1000 items | カウンターモデル |
CounterScopeModel
カウンターリセットタイミングモデル
型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|---|
scopeType | enum { “resetTiming”, “verifyAction” } | ✓ | “resetTiming” | ~ 128文字 | スコープの種類 | |
resetType | enum { “notReset”, “daily”, “weekly”, “monthly” } | {scopeType} == “resetTiming” | ✓ | ~ 128文字 | リセットタイミング | |
resetDayOfMonth | int | {resetType} == “monthly” | ✓ | 1 ~ 31 | リセットをする日にち(月の日数を超える場合は、最終日として扱われます) | |
resetDayOfWeek | enum { “sunday”, “monday”, “tuesday”, “wednesday”, “thursday”, “friday”, “saturday” } | {resetType} == “weekly” | ✓ | ~ 128文字 | リセットする曜日 | |
resetHour | int | {resetType} in [“monthly”, “weekly”, “daily”] | ✓ | ~ 23 | リセット時刻 | |
conditionName | string | {scopeType} == “verifyAction” | ✓ | ~ 128文字 | 条件名 | |
condition | VerifyAction | {scopeType} == “verifyAction” | ✓ | 条件 |
scopeType に指定する列挙型の定義
定義 | 説明 |
---|---|
resetTiming | リセットタイミング |
verifyAction | 検証アクション |
resetType に指定する列挙型の定義
定義 | 説明 |
---|---|
notReset | リセットしない |
daily | 毎日 |
weekly | 毎週 |
monthly | 毎月 |
resetDayOfWeek に指定する列挙型の定義
定義 | 説明 |
---|---|
sunday | 日曜日 |
monday | 月曜日 |
tuesday | 火曜日 |
wednesday | 水曜日 |
thursday | 木曜日 |
friday | 金曜日 |
saturday | 土曜日 |
CounterModel
カウンターモデル
カウンターモデルはミッションタスクの達成条件に設定可能なエンティティです。
カウンターの値は複数のミッショングループから参照可能なため、1つのカウンターでウィークリーミッションとデイリーミッションといった複数のミッショングループの達成条件に設定ができます。
型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|---|
counterId | string | ✓ | ~ 1024文字 | カウンターモデルGRN | ||
name | string | ✓ | ~ 128文字 | カウンター名 | ||
metadata | string | ~ 1024文字 | メタデータ | |||
scopes | List<CounterScopeModel> | ✓ | [] | 1 ~ 20 items | カウンターのリセットタイミングリスト | |
challengePeriodEventId | string | ~ 1024文字 | カウンターの操作が可能な期間を設定した GS2-Schedule イベントGRN |
MissionGroupModel
ミッショングループモデル
ミッショングループはカウンターのリセットタイミングでタスクをグルーピングするエンティティです。
たとえば、デイリーミッションで1つのグループ。ウィークリーミッションで1つのグループとなります。
型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|---|
missionGroupId | string | ✓ | ~ 1024文字 | ミッショングループGRN | ||
name | string | ✓ | ~ 128文字 | ミッショングループ名 | ||
metadata | string | ~ 1024文字 | メタデータ | |||
tasks | List<MissionTaskModel> | ~ 1000 items | ミッションタスクリスト | |||
resetType | enum { “notReset”, “daily”, “weekly”, “monthly” } | ✓ | “notReset” | ~ 128文字 | リセットタイミング | |
resetDayOfMonth | int | {resetType} == “monthly” | ✓ | 1 ~ 31 | リセットをする日にち(月の日数を超える場合は、最終日として扱われます) | |
resetDayOfWeek | enum { “sunday”, “monday”, “tuesday”, “wednesday”, “thursday”, “friday”, “saturday” } | {resetType} == “weekly” | ✓ | ~ 128文字 | リセットする曜日 | |
resetHour | int | {resetType} in [“monthly”, “weekly”, “daily”] | ✓ | ~ 23 | リセット時刻 | |
completeNotificationNamespaceId | string | ~ 1024文字 | ネームスペースGRN |
resetType に指定する列挙型の定義
定義 | 説明 |
---|---|
notReset | リセットしない |
daily | 毎日 |
weekly | 毎週 |
monthly | 毎月 |
resetDayOfWeek に指定する列挙型の定義
定義 | 説明 |
---|---|
sunday | 日曜日 |
monday | 月曜日 |
tuesday | 火曜日 |
wednesday | 水曜日 |
thursday | 木曜日 |
friday | 金曜日 |
saturday | 土曜日 |
MissionTaskModel
ミッションタスクモデル
ミッションタスクは関連付けたカウンターの値が一定を超えたら報酬が貰える条件を定義するエンティティです。
型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|---|
missionTaskId | string | ✓ | ~ 1024文字 | ミッションタスクGRN | ||
name | string | ✓ | ~ 128文字 | タスク名 | ||
metadata | string | ~ 1024文字 | メタデータ | |||
verifyCompleteType | enum { “counter”, “verifyActions” } | ✓ | “counter” | ~ 128文字 | 達成条件種別 | |
targetCounter | TargetCounterModel | {verifyCompleteType} == “counter” | ✓ | 目標カウンター | ||
verifyCompleteConsumeActions | List<VerifyAction> | {verifyCompleteType} == “consumeActions” | ~ 10 items | タスク達成判定に使用する検証アクション | ||
completeAcquireActions | List<AcquireAction> | [] | ~ 100 items | ミッション達成時の報酬 | ||
challengePeriodEventId | string | ~ 1024文字 | 報酬が受け取り可能な期間を設定した GS2-Schedule イベントGRN | |||
premiseMissionTaskName | string | ~ 128文字 | このタスクに挑戦するために達成しておく必要のあるタスクの名前 |
verifyCompleteType に指定する列挙型の定義
定義 | 説明 |
---|---|
counter | カウンター |
verifyActions | 検証アクション |
ScopedValue
リセットタイミング
型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|---|
scopeType | enum { “resetTiming”, “verifyAction” } | ✓ | “resetTiming” | ~ 128文字 | スコープの種類 | |
resetType | enum { “notReset”, “daily”, “weekly”, “monthly” } | {scopeType} == “resetTiming” | ✓ | ~ 128文字 | リセットタイミング | |
conditionName | string | {scopeType} == “verifyAction” | ✓ | ~ 128文字 | 条件名 | |
value | long | ✓ | 0 | ~ 9223372036854775805 | カウント | |
nextResetAt | long | 次回リセットタイミング (UNIX時間 単位:ミリ秒) | ||||
updatedAt | long | ✓ | 現在時刻 | 最終更新日時 (UNIX時間 単位:ミリ秒) |
scopeType に指定する列挙型の定義
定義 | 説明 |
---|---|
resetTiming | リセットタイミング |
verifyAction | 検証アクション |
resetType に指定する列挙型の定義
定義 | 説明 |
---|---|
notReset | リセットしない |
daily | 毎日 |
weekly | 毎週 |
monthly | 毎月 |
TargetCounterModel
目標カウンター
ミッションの達成目標となるカウンターの情報
型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
---|---|---|---|---|---|---|
counterName | string | ✓ | ~ 128文字 | カウンター名 | ||
scopeType | enum { “resetTiming”, “verifyAction” } | ✓ | “resetTiming” | ~ 128文字 | スコープの種類 | |
resetType | enum { “notReset”, “daily”, “weekly”, “monthly” } | {scopeType} == “resetTiming” | ~ 128文字 | 目標リセットタイミング | ||
conditionName | string | {scopeType} == “verifyAction” | ✓ | ~ 128文字 | 条件名 | |
value | long | ✓ | 1 ~ 9223372036854775805 | 目標値 |
scopeType に指定する列挙型の定義
定義 | 説明 |
---|---|
resetTiming | リセットタイミング |
verifyAction | 検証アクション |
resetType に指定する列挙型の定義
定義 | 説明 |
---|---|
notReset | リセットしない |
daily | 毎日 |
weekly | 毎週 |
monthly | 毎月 |
AcquireAction
入手アクション
ConsumeAction
消費アクション
VerifyAction
検証アクション