触发器结构
Understand the structure of a trigger configuration that defines what to invoke when an event fires.
阅读时间3 分钟最后更新于 1 个月前
触发器配置可以定义触发事件时应调用的内容。 可能如下所示:
{ "name" : "example-trigger", "eventType" : "com.unity.services.{{SERVICE_NAME}}.{{EVENT_NAME}}.v{{EVENT_VERSION}}", "actionUrn" : "urn:ugs:cloud-code:{{SCRIPT}}", "actionType" : "cloud-code", "filter": "data['parameter'] == 'value'"}
- :触发器的名称。对于每个项目,此名称必须具有唯一性。
name - :用于将触发器与事件匹配。由
eventType和eventName字段组成,这两个字段分别对应于事件配置中的eventVersion和eventName字段。payloadVersion - :定义触发器触发时应调用的内容。例如,
actionUrn调用urn:ugs:cloud-code:TestScriptCloud Code 脚本,或者TestScript调用urn:ugs:cloud-code:TestModule/TestFunctionCloud Code 模块中的TestModule函数。TestFunction - :触发器触发时要执行的操作的类型。目前仅支持
actionType。cloud-code - :可选字段,定义触发器触发所必须满足的条件。如果条件不满足,触发器就不会触发。如需了解更多信息,请参阅过滤器。
filter
与事件重叠
触发器与事件相关联。触发事件时将调用关联的触发器。事件和触发器必须共享相同的eventNamepayloadVersion计划性事件
假设计划配置如下:触发器配置如下:{ "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"}
eventTypeeventNamepayloadVersionUGS 事件
假设您希望将触发器与 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每个触发器对应多个事件
您可以将同一事件与多个触发器关联。
例如,您可以创建两个在用户注册时调用的触发器。
第一个触发器调用
add-cloud-save-data第二个触发器从{ "name" : "auth-cloud-save", "eventType" : "com.unity.services.player-auth.signed-up.v1", "actionUrn" : "urn:ugs:cloud-code:add-cloud-save-data", "actionType" : "cloud-code"}
Economyadd-economy-items每次有用户注册时,两个触发器都会被触发并调用相关的 Cloud Code 资源。{ "name" : "auth-economy", "eventType" : "com.unity.services.player-auth.signed-up.v1", "actionUrn" : "urn:ugs:cloud-code:Economy/add-economy-items", "actionType" : "cloud-code"}