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

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

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

{
  "version": "2019-10-09",
  "versionModels": [
    {
      "name": "[string]バージョンモデル名",
      "metadata": "[string?]メタデータ",
      "scope": "[string enum]判定に使用するバージョン値の種類",
      "type": "[string enum]バージョンチェックモード",
      "currentVersion": {
        "major": "[int]メジャーバージョン",
        "minor": "[int]マイナーバージョン",
        "micro": "[int]マイクロバージョン"
      },
      "warningVersion": {
        "major": "[int]メジャーバージョン",
        "minor": "[int]マイナーバージョン",
        "micro": "[int]マイクロバージョン"
      },
      "errorVersion": {
        "major": "[int]メジャーバージョン",
        "minor": "[int]マイナーバージョン",
        "micro": "[int]マイクロバージョン"
      },
      "scheduleVersions": [
        {
          "currentVersion": {
            "major": "[int]メジャーバージョン",
            "minor": "[int]マイナーバージョン",
            "micro": "[int]マイクロバージョン"
          },
          "warningVersion": {
            "major": "[int]メジャーバージョン",
            "minor": "[int]マイナーバージョン",
            "micro": "[int]マイクロバージョン"
          },
          "errorVersion": {
            "major": "[int]メジャーバージョン",
            "minor": "[int]マイナーバージョン",
            "micro": "[int]マイクロバージョン"
          },
          "scheduleEventId": "[string?]バージョンチェックを有効化する期間を設定した GS2-Schedule のイベントGRN"
        }
      ],
      "needSignature": "[bool]判定するバージョン値に署名検証を必要とするか",
      "signatureKeyId": "[string]暗号鍵GRN",
      "approveRequirement": "[string enum]承認の必要性"
    }
  ]
}
有効化条件必須デフォルト値の制限説明
versionstring
2019-10-09マスターデータのフォーマットバージョン
versionModelsList<VersionModel>~ 100 itemsバージョンモデル
バージョンモデルには、ログインを受け入れるが、バージョンアップ出来ることを通知する警告バージョンと、ログインを受け入れないエラーバージョンを設定できます。

現在のバージョンをクライアントに申告させるのに、署名の有無を指定できます。
署名付きを選択した場合、クライアントは嘘のバージョン申告を出来なくなります。

モデル

VersionModel

バージョンモデル

バージョンモデルには、ログインを受け入れるが、バージョンアップ出来ることを通知する警告バージョンと、ログインを受け入れないエラーバージョンを設定できます。

現在のバージョンをクライアントに申告させるのに、署名の有無を指定できます。
署名付きを選択した場合、クライアントは嘘のバージョン申告を出来なくなります。

有効化条件必須デフォルト値の制限説明
versionModelIdstring
~ 1024文字バージョンモデル GRN
※ サーバーが自動で設定
namestring
~ 128文字バージョンモデル名
バージョンモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadatastring~ 2048文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
scope文字列列挙型
enum {
  “passive”,
  “active”
}
判定に使用するバージョン値の種類
バージョンチェックに使用するバージョン値の取得方法を決定します。「passive」はチェック時にクライアントが現在のバージョンを申告する方式、「active」はユーザーが過去に明示的に承認したバージョン(利用規約への同意など)を使用する方式です。
定義説明
“passive”クライアントから送信
“active”過去明示的に承認したバージョン
type文字列列挙型
enum {
  “simple”,
  “schedule”
}
“simple”バージョンチェックモード
バージョンチェックの方式を選択します。「simple」は固定の警告・エラーバージョン閾値を使用し、「schedule」は GS2-Schedule のイベントを利用して時期に応じた異なるバージョン閾値を適用します。
定義説明
“simple”シンプル
“schedule”時系列切り替え
currentVersionVersion{type} == “simple” and {scope} == “active”
✓※
現在のバージョン
このバージョンモデルの最新バージョンです。「simple」モードの「active」スコープでのみ使用され、ユーザーがバージョン更新を承認・確認する際に現在のバージョンを通知します。
※ type が “simple” で かつ scope が “active” であれば 必須
warningVersionVersion{type} == “simple”
✓※
バージョンアップを促すバージョン
アップグレード通知を表示する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、ログインは許可されますがユーザーにアップグレードが促されます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。
※ type が “simple” であれば 必須
errorVersionVersion{type} == “simple”
✓※
バージョンチェックでエラーになるバージョン
ログインを許可する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、バージョンチェックがエラーとなりログインがブロックされます。比較はメジャー、マイナー、マイクロの順に階層的に行われます。
※ type が “simple” であれば 必須
scheduleVersionsList<ScheduleVersion>{type} == “schedule”0 ~ 10 items時系列で切り替わるバージョンチェック内容リスト
GS2-Schedule のイベントに基づいて異なるタイミングで有効になるバージョンチェック設定のリストです。更新を必須にする前に警告を表示するなど、段階的なバージョン強制が可能になります。
※ type が “schedule” であれば 有効
needSignaturebool{scope} == “passive”
✓※
判定するバージョン値に署名検証を必要とするか
有効にすると、クライアントはバージョン申告と共に暗号署名を提供する必要があります。これにより、クライアントがバージョンチェックを回避するために偽のバージョンを申告することを防止します。スコープが「passive」の場合にのみ適用されます。
※ scope が “passive” であれば 必須
signatureKeyIdstring{needSignature}
✓※
~ 1024文字暗号鍵 GRN
※ needSignature が “true” であれば 必須
approveRequirement文字列列挙型
enum {
  “required”,
  “optional”
}
{scope} == “active”“required”承認の必要性
このバージョンモデルに対するユーザー承認が必須か任意かを制御します。「required」の場合、ユーザーが現在のバージョンを承認していないとバージョンチェックが失敗します。「optional」の場合、承認状態に関係なくバージョンチェックが通過します。スコープが「active」の場合にのみ適用されます。
定義説明
“required”承認が必要
“optional”任意の承認
※ scope が “active” であれば 有効

Version

バージョン

3階層(メジャー、マイナー、マイクロ)のバージョン番号を表します。バージョンの比較はメジャー、マイナー、マイクロの順に階層的に行われます。バージョンチェックの警告・エラー閾値の定義に使用されます。

有効化条件必須デフォルト値の制限説明
majorint
0 ~ 2147483646メジャーバージョン
バージョン比較で最も優先度の高いコンポーネントです。メジャーバージョンの差異はマイナーバージョンやマイクロバージョンより優先されます。
minorint
0 ~ 2147483646マイナーバージョン
バージョン比較で2番目に優先されるコンポーネントです。メジャーバージョンが同一の場合にのみ比較されます。
microint
0 ~ 2147483646マイクロバージョン
バージョン比較で最も優先度の低いコンポーネントです。メジャーバージョンとマイナーバージョンがともに同一の場合にのみ比較されます。

ScheduleVersion

時系列で切り替わるバージョン

GS2-Schedule のイベントで制御される特定の期間中に有効になるバージョン閾値(現在、警告、エラー)のセットを定義します。複数のスケジュールバージョンを設定することで、古いクライアントをブロックする前にユーザーに警告するなど、段階的なバージョン強制を実装できます。

有効化条件必須デフォルト値の制限説明
currentVersionVersion
現在のバージョン
このスケジュール期間中に利用可能な最新バージョンです。「active」スコープでユーザーが更新を承認する際に現在のバージョンを通知するために使用されます。
warningVersionVersion
バージョンアップを促すバージョン
このスケジュール期間中にアップグレード通知を表示する最低バージョン閾値です。ログインは許可されますがユーザーにアップグレードが促されます。
errorVersionVersion
バージョンチェックでエラーになるバージョン
このスケジュール期間中にログインを許可する最低バージョン閾値です。クライアントのバージョンがこの値を下回る場合、バージョンチェックがエラーとなりログインがブロックされます。
scheduleEventIdstring~ 1024文字バージョンチェックを有効化する期間を設定した GS2-Schedule のイベント GRN
このバージョン閾値セットが有効になる期間を制御する GS2-Schedule のイベントを指定します。ここで定義されたバージョンチェック設定は、指定したイベントがアクティブな期間にのみ適用されます。