Cloud Code C# 模块

这些模块是 C# 库,Cloud Code 服务可以运行这些库,为您提供可重用的服务器授权代码。与单个脚本不同,这些模块允许使用多个入口点,并在模块内更轻松地重用代码。

此外,还可以创建主库和数据传输对象 (DTO) 库;Cloud Code 和游戏都可以使用这些库来确保在 Cloud Code 客户端和游戏之间传输的所有数据都使用相同的格式。

您可以从使用 Unity 构建的游戏或任何其他客户端或服务器调用模块。

创作方法描述
Unity Dashboard(Unity 后台)使用 Unity Dashboard(Unity 后台)预览已部署的模块的列表。您可以从同一位置访问其他 Unity Gaming Services(Unity 游戏服务)服务,例如 Remote Config
Unity 编辑器使用 Unity 编辑器通过 Deployment(部署)窗口创建和部署模块,自动执行工作流程,以及将 Cloud Code 与其他 Unity 服务一起部署。
Unity Gaming Services(Unity 游戏服务)CLI使用 CLI 从命令行部署和管理模块。一次部署多个 Unity 服务配置,并与 CI/CD 集成。

Cloud Code C# 模块不能使用 UnityEngine 命名空间中的类或 [Unity 脚本 API] 中的任何其他内容。这是因为 Cloud Code 使用开源的 [.NET 运行时]。此运行时不同于 Unity Runtime,不依赖于其任何 [脚本后端]。

典型工作流程

以下过程详细介绍了一个典型的开发周期:

  1. 创建 C# 库项目。在您已经熟悉的集成开发环境中创建 C# 代码的模块项目。
  2. 编写代码。使用 Cloud Code C# 服务 SDK 与其他 Unity 服务集成。使用 HTTP 客户端与外部服务集成
  3. 测试和调试。为模块创建单元测试项目以验证一切是否按预期工作,或在开发环境中部署库以使用真实用户数据对其进行测试。
  4. 部署该模块。通过 UGS CLI 部署库以使其在 Cloud Code 中可用。
  5. 将模块与您的项目集成。将 Cloud Code SDK 导入到您的游戏中,并使用提供的方法之一调用您的脚本。

基本概念

了解 Cloud Code 模块的基本概念。

主题描述
创建模块项目了解如何创建模块。
模块结构了解模块项目的结构。
打包代码了解如何将模块代码打包到 .ccm 文件中进行部署。
编写模块了解如何使用 UGS CLIREST API 编写模块。
运行模块了解如何从 Unity Runtime、使用 REST API 或从 Multiplay 服务器运行模块。
错误处理了解如何处理模块中的错误。
Logging了解如何使用日志记录来调试模块。

改善工作流程

为了简化模块的开发和部署,您可以自动执行该过程。

主题描述
与 CI/CD 集成将模块的部署与 CI/CD 管线集成。
自动执行本地部署自动将模块部署到 Cloud Code 服务。

开发要点

模块支持依赖项注入、DTO 和自定义序列化,使开发更简单。

主题描述
依赖项注入了解如何在代码中分离依赖项。
单元测试了解如何为模块编写单元测试。
数据传输对象了解如何使用数据传输对象来确保在 Cloud Code 客户端和游戏之间传输的所有数据都使用相同的格式。
自定义序列化了解如何使用具有 Newtonsoft.Json 属性的自定义序列化。

进一步集成

您可以将模块与其他 Unity Gaming Services(Unity 游戏服务)服务和任何外部服务集成,并访问跨玩家数据。

要使用 C# SDK 与其他服务集成,可以安装 NuGet 包,也可以使用 HTTP 客户端。

主题描述
身份验证了解如何使用 Cloud Code 对游戏客户端进行身份验证。
服务令牌和访问令牌支持了解如何使用服务令牌和访问令牌对模块进行身份验证。
可用库查找 Cloud Code 模块附带的可用 UGS SDK。
访问控制了解如何控制访问并防止不必要的使用。
与 Unity 服务集成了解如何将 Cloud Code 连接到其他 Unity 服务。
与外部服务集成了解如何与外部服务集成。
处理跨玩家数据了解如何访问和更新其他玩家的数据。
向玩家发送推送消息了解如何向玩家发送推送消息。