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,不依赖于其任何 [脚本后端]。
典型工作流程
以下过程详细介绍了一个典型的开发周期:
- 创建 C# 库项目。在您已经熟悉的集成开发环境中创建 C# 代码的模块项目。
- 编写代码。使用 Cloud Code C# 服务 SDK 与其他 Unity 服务集成。使用 HTTP 客户端与外部服务集成。
- 测试和调试。为模块创建单元测试项目以验证一切是否按预期工作,或在开发环境中部署库以使用真实用户数据对其进行测试。
- 部署该模块。通过 UGS CLI 部署库以使其在 Cloud Code 中可用。
- 将模块与您的项目集成。将 Cloud Code SDK 导入到您的游戏中,并使用提供的方法之一调用您的脚本。
基本概念
了解 Cloud Code 模块的基本概念。
主题 | 描述 |
---|---|
创建模块项目 | 了解如何创建模块。 |
模块结构 | 了解模块项目的结构。 |
打包代码 | 了解如何将模块代码打包到 .ccm 文件中进行部署。 |
编写模块 | 了解如何使用 UGS CLI 或 REST 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 服务。 |
与外部服务集成 | 了解如何与外部服务集成。 |
处理跨玩家数据 | 了解如何访问和更新其他玩家的数据。 |
向玩家发送推送消息 | 了解如何向玩家发送推送消息。 |