NAV
GS2-Deploy

GS2-Inbox

GS2-Deploy のテンプレートで使用できるリソース定義のリファレンス

エンティティ

Namespace

Namespace

Type: GS2::Inbox::Namespace
Properties:
  Name: namespace1
  Description: null
  IsAutomaticDeletingEnabled: null
  ReceiveMessageScript: null
  ReadMessageScript: null
  DeleteMessageScript: null
  QueueNamespaceId: grn:gs2:ap-northeast-1:YourOwnerId:queue:namespace1
  KeyId: grn:gs2:ap-northeast-1:YourOwnerId:key:namespace1:key:key-0001
  ReceiveNotification: null
  LogSetting: 
    LoggingNamespaceId: grn:gs2:ap-northeast-1:YourOwnerId:log:namespace1

ネームスペースは一つのプロジェクトで同じサービスを異なる用途で複数利用できるようにするための仕組みです。 GS2 のサービスは基本的にネームスペースというレイヤーがあり、ネームスペースが異なれば同じサービスでもまったく別のデータ空間として取り扱われます。

そのため、各サービスの利用を開始するにあたってネームスペースを作成する必要があります。

必須 デフォルト 値の制限 説明
name string ~ 32文字 ネームスペース名
description string ~ 1024文字 説明文
isAutomaticDeletingEnabled bool 開封したメッセージを自動的に削除するか
receiveMessageScript ScriptSetting メッセージ受信したときに実行するスクリプト
readMessageScript ScriptSetting メッセージ開封したときに実行するスクリプト
deleteMessageScript ScriptSetting メッセージ削除したときに実行するスクリプト
queueNamespaceId string ~ 1024文字 スタンプシートの実行に使用する GS2-JobQueue のネームスペース
keyId string ~ 1024文字 スタンプシートの発行に使用する GS2-Key のネームスペース
receiveNotification NotificationSetting メッセージを受信したときのプッシュ通知
logSetting LogSetting ログの出力設定

CurrentMessageMaster

CurrentMessageMaster

Type: GS2::Inbox::CurrentMessageMaster
Properties:
  NamespaceName: namespace1
  Settings: {\n  "version": "2020-03-12",\n  "globalMessages": [\n    {\n      "name": "message-0001",\n      "metadata": "hoge"\n    },\n    {\n      "name": "message-0002",\n      "metadata": "fuga",\n      "readAcquireActions": [\n        {\n          "action": "Gs2Inventory:AcquireItemSetByUserId",\n          "request": "Gs2Inventory:AcquireItemSetByUserId-request"\n        }\n      ],\n      "expiresTimeSpan": {\n        "days": 1,\n        "hours": 2,\n        "minutes": 3\n      }\n    },\n    {\n      "name": "message-0003",\n      "metadata": "piyo",\n      "expiresAt": 1000\n    }\n  ]\n}

GS2ではマスターデータの管理にJSON形式のファイルを使用します。 ファイルをアップロードすることで、実際にサーバーに設定を反映することができます。

JSONファイルを作成する方法として、マネージメントコンソール上でのマスターデータエディタを提供していますが よりゲームの運営に相応しいツールを作成し、適切なフォーマットのJSONファイルを書き出すことでもサービスを利用可能です。

JSONファイルの形式についてはドキュメントを参照ください。

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
settings string ~ 5242880文字 マスターデータ

GlobalMessageMaster

GlobalMessageMaster

Type: GS2::Inbox::GlobalMessageMaster
Properties:
  NamespaceName: namespace1
  Name: globalMessageMaster-0001
  Metadata: {"type": "globalMessageMaster", "body": "hello"}
  ReadAcquireActions: 
    - 
      Action: Gs2Inventory:AcquireItemSetByUserId
      Request: Gs2Inventory:AcquireItemSetByUserId-request
  ExpiresTimeSpan: null
  ExpiresAt: null

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

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

必須 デフォルト 値の制限 説明
namespaceName string ~ 32文字 ネームスペース名
name string UUID ~ 64文字 全ユーザに向けたメッセージ名
metadata string ~ 4096文字 全ユーザに向けたメッセージの内容に相当するメタデータ
readAcquireActions AcquireAction[] [] 開封時に実行する入手アクション
expiresTimeSpan TimeSpan_ メッセージを受信したあとメッセージが削除されるまでの期間
expiresAt long 全ユーザに向けたメッセージの受信期限