トリガーの構造

トリガー設定では、イベントが発生したときに呼び出す必要のあるものを定義します。

以下のようになります。

{
"name" : "example-trigger",
"eventType" : "com.unity.services.{{SERVICE_NAME}}.{{EVENT_NAME}}.v{{EVENT_VERSION}}",
"actionUrn" : "urn:ugs:cloud-code:{{SCRIPT}}",
"actionType" : "cloud-code"
}
  • name: トリガーの名前。プロジェクトごとに一意である必要があります。
  • eventType: トリガーをイベントと照合するために使用されます。イベント設定の eventName および payloadVersion フィールドに対応する eventName および eventVersion フィールドから構成されます。
  • actionUrn: トリガーが発生したときに呼び出す必要のあるものを定義します。例えば、urn:ugs:cloud-code:TestScriptTestScript Cloud Code スクリプトを呼び出し、urn:ugs:cloud-code:TestModule/TestFunctionTestModule Cloud Code モジュール内の TestFunction 関数を呼び出します。
  • actionType: トリガーが発生したときに実行されるアクションのタイプ。現在、cloud-code のみがサポートされています。

ノート: 現在、イベントタイプごとに 1 つのトリガーのみを関連付けることができます。

イベントとのオーバーラップ

Triggers は、イベントに関連付けられています。イベントが発生すると、関連付けられたトリガーが呼び出されます。イベントとトリガーは、同じ eventName および payloadVersion 設定を共有する必要があります。

スケジュールされたイベント

以下のスケジュール設定があります。

{
  "name" : "recurring-schedule",
  "eventName": "example-event",
  "type": "recurring",
  "schedule": "0 0 * * *",
  "payloadVersion": 1,
  "payload": "{\"someBoolean\": true, \"someString\": \"something\"}"
}

以下のトリガー設定があります。

{
"name" : "example-trigger",
"eventType" : "com.unity.services.scheduler.example-event.v1",
"actionUrn" : "urn:ugs:cloud-code:my-script",
"actionType" : "cloud-code"
}

トリガー設定の eventType フィールドをスケジュール設定の eventName および payloadVersion フィールドに設定することでトリガーをイベントタイプに関連付けることができます。

スケジュール設定がデプロイされると、指定された時刻にスケジュールがトリガーされ、イベントが Triggers サービスに送信されて、そこで関連付けられた Cloud Code リソースが呼び出されます。

UGS イベント

UGS からトリガーをイベントタイプに関連付ける場合、トリガー設定でイベントタイプを指定する必要があります。

例えば、Authentication: サインアップ イベントでトリガーを発生させる場合は、以下のトリガー設定を作成できます。

{
"name" : "example-trigger",
"eventType" : "com.unity.services.player-auth.signed-up.v1",
"actionUrn" : "urn:ugs:cloud-code:my-script",
"actionType" : "cloud-code"
}

ユーザーがサインアップするたびに、トリガーが発生し、my-script Cloud Code スクリプトが呼び出されます。