トリガーの構造
トリガー設定では、イベントが発生したときに呼び出す必要のあるものを定義します。
以下のようになります。
{
"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:TestScript
はTestScript
Cloud Code スクリプトを呼び出し、urn:ugs:cloud-code:TestModule/TestFunction
はTestModule
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 スクリプトが呼び出されます。