设置 Cloud Code
Set up Cloud Code scripts or modules to use with the Triggers service.
阅读时间3 分钟最后更新于 1 个月前
要使用 Triggers 服务,您应该定义一个 Cloud Code 脚本或 Cloud Code 模块。
Cloud Code C# 模块使用类型安全 (type-safe) 的编程语言和功能强大的 .NET 组件编写服务器端代码。使用 NuGet 等工具捆绑动态链接库 (DLL),获取项目中需要的其他内容。开始使用 Cloud Code C# 模块。 |
Cloud Code JavaScript 脚本使用易于迭代的语言编写服务器端代码。如果您拥有 JavaScript 前端经验,可以利用相同的生态系统。通过 Cloud Code 命令行已支持的 CommonJS 和 ECMAScript 模块系统,将您的代码与可重用的代码段捆绑在一起。开始使用 Cloud Code JavaScript 脚本。 |
执行返回值
目前,Triggers 服务不会处理来自 Cloud Code 的任何返回值。请通过创建直接执行游戏逻辑的模块和脚本来解决这个问题。上下文属性
由于 Triggers 服务由服务帐户进行身份验证,因此在执行期间,某些属性在脚本的contextIExecutionContextplayerIdaccessTokenunityInstallationIdanalyticsUserIdcorrelationId
跨玩家数据
要使用 Cloud Code 修改跨玩家数据,您需要使用serviceToken有效负载参数
您可以使用一组参数来调用 Cloud Code 模块和脚本。这些参数在事件的有效负载中定义。计划性事件的有效负载由用户在计划配置中定义。对于 UGS 事件,请参阅支持的 UGS 事件,了解事件有效负载的内容。 这些参数的定义方式应与任何其他脚本或模块的参数定义方式相同。 触发事件的有效负载用作 Cloud Code 调用的参数集;与事件负载中的键匹配的所有已定义参数都会填充。所有事件有效负载都会自动包括projectIdenvironmentIdcorrelationIdnameJavaScript
或者以下模块中的函数module.exports = async ({ params, context, logger }) => { return "Hello " + params.name;};
SayHelloname则可以按如下方式定义计划配置的有效负载:using Unity.Services.CloudCode.Core;namespace ExampleModule;public class MyModule{ [CloudCodeFunction("SayHello")] public string Hello(string name) { return $"Hello, {name}!"; }}
当触发器触发时,会在填充有效负载参数的情况下执行 Cloud Code 脚本或模块。{ "name": "hello-world-test", "eventName": "hello-world-test", "type": "one-time", "schedule": "2023-08-28T15:20:00Z", "payloadVersion": 1, "payload": "{\"name\": \"World\"}"}