开始使用
本节介绍创建 JavaScript 脚本所需的所有步骤。
部署 Hello World
Cloud Code 有助于为游戏运行自定义服务器端代码。您可以在 Cloud Code 服务器上运行代码以防止作弊,还可异步执行代码以响应服务器端事件。您可以在 Cloud Code 中定义一个简单的“hello world”脚本来测试服务。
先决条件
在创建下面的脚本之前,请确保按照以下步骤操作。
关联项目
要使用 Cloud Code 服务,必须将您的 UGS 项目与 Unity 编辑器关联。您可以在 Unity Dashboard(Unity 后台)中找到您的 UGS Project ID。
在 Unity 编辑器中,选择 Edit(编辑)> Project Settings(项目设置)> Services(服务)。
关联您的项目。
如果项目没有 Unity Project ID:
- 选择 Create a Unity Project ID(创建 Unity Project ID)> Organizations(组织),然后从下拉菜单中选择一个组织。
- 选择 Create project ID(创建 Project ID)。
如果已有 Unity Project ID:
- 选择 Use an existing Unity project ID(使用现有 Unity Project ID)。
- 从下拉菜单中选择组织和项目。
- 选择 Link project ID(关联 Project ID)。
此时将显示您的 Unity Project ID,并且该项目现在已关联到 Unity 服务。此外,还可以使用 UnityEditor.CloudProjectSettings.projectId
在 Unity 编辑器脚本中访问您的 Project ID。
SDK 安装
要安装适用于 Unity 编辑器的最新 Cloud Code 包,请执行以下操作:
- 在 Unity 编辑器中,打开 Window(窗口)> Package Manager(包管理器)。
- 在 Package Manager(包管理器)中,选择 **Unity Registry(Unity 注册表)**列表视图。
- 搜索
com.unity.services.cloudcode
或在列表中找到 Cloud Code 包。 - 选择该包,然后单击 Install(安装)。
请查看 Package Manager(包管理器)文档,了解更多信息。
如需详细的 SDK 文档,请参阅 Cloud Code SDK API。
SDK 设置
使用 Authentication SDK 登录后,即可使用 Cloud Code SDK。Cloud Code SDK 需要在 Cloud Code 后台中创作一个或多个云脚本。然后,您可以调用任何 Cloud Code 方法,开始处理您的数据。
开始使用 Cloud Code SDK:
- 确保通过 Cloud Code 服务后台页面启用该服务。
- 确保 Cloud Code SDK 和 Authentication SDK 均已安装。
- 在 Unity 编辑器中选择 Edit(编辑)> Project Settings...(项目设置...)> **Services(服务)**登录到您的云项目。
- 在 Unity 编辑器中创建新的 C# Monobehaviour 脚本。请参阅 Unity 手册中的创建和使用脚本。
- 在脚本中,使用 await
UnityServices.InitializeAsync()
初始化 Core SDK。 - 在脚本中,初始化 Authentication SDK。
**注意:**玩家必须拥有有效的玩家 ID 和访问令牌才能访问 Cloud Code 服务。在使用任何 Cloud Code API 之前,您必须使用 Authentication SDK 对玩家进行身份验证。为此,您可以使用以下代码片段进行匿名身份验证,或查看 Authentication SDK 的文档,了解更多详细信息和其他登录方法。
C#
await AuthenticationService.Instance.SignInAnonymouslyAsync();
如需有关设置脚本的示例和信息,请参阅从 Unity Runtime 调用。
身份验证
应用程序通常需要了解用户的身份信息,以此为游戏开发者和玩家提供多样化的功能和服务,确保每项交互的安全性和一致性。每个玩家必须拥有有效的玩家 ID 和访问令牌才能访问 Cloud Code 服务。请参阅身份验证。
编写您的第一个脚本
使用 Unity Dashboard(Unity 后台)创建一个具有 string
类型的 name
参数的新脚本。如需更详细的说明,请参阅使用 Unity Dashboard(Unity 后台)编写脚本。
然后,您可以使用以下代码片段作为您的代码。
JavaScript
module.exports = async ({ params, logger }) => {
const name = params.name;
const message = `Hello, ${name}. Welcome to Cloud Code!`
logger.debug(message);
return {
welcomeMessage: message
};
};
保存更改并发布您的脚本。发布后,您可以使用其中一个 SDK 终端从项目调用 Cloud Code 脚本,如以下示例所示。如需更详细的说明,请查看从 Unity Runtime 调用。
C#
using System.Collections.Generic;
using Unity.Services.Authentication;
using Unity.Services.CloudCode;
using Unity.Services.Core;
using UnityEngine;
/*
* Note: You must have a published script to use the Cloud Code SDK.
* You can publish a script from the Unity Dashboard - https://dashboard.unity3d.com/
*/
public class CloudCodeExample : MonoBehaviour
{
/*
* CloudCodeResponse represents the response from the script, used for deserialization.
* In this example, the script returns a JSON in the format
* {"welcomeMessage": "Hello, arguments['name']. Welcome to Cloud Code!"}
*/
class CloudCodeResponse
{
public string welcomeMessage;
}
/*
* Initialize all Unity Services and Sign In an anonymous player.
* You can perform this operation in a more centralized spot in your project
*/
public async void Awake()
{
await UnityServices.InitializeAsync();
await AuthenticationService.Instance.SignInAnonymouslyAsync();
}
/*
* Populate a Dictionary<string,object> with the arguments and invoke the script.
* Deserialize the response into a CloudCodeResponse object
*/
public async void OnClick()
{
var arguments = new Dictionary<string, object> { { "name", "Unity" } };
var response = await CloudCodeService.Instance.CallEndpointAsync<CloudCodeResponse>("hello-world", arguments);
}
}
后续步骤
按照部署第一个脚本后的后续步骤操作。
主题 | 描述 |
---|---|
测试运行脚本 | 在将更改发布到游戏客户端之前测试您的脚本。 |
脚本结构 | 熟悉脚本结构。 |
与 CI/CD 集成 | 将脚本集成到 CI/CD 管线中。 |
集成
Cloud Code 与其他服务结合使用时功能更强大。
主题 | 描述 |
---|---|
与其他 Unity 服务集成 | 编写调用其他 Unity 服务的 Cloud Code 脚本。 |
Cloud Code Services SDK 文档 | 在脚本中使用其他 Unity Gaming Services(Unity 游戏服务)服务。 |
与外部服务集成 | 调用公共互联网终端。 |
可用库 | 查看哪些库可用于 Cloud Code 脚本。 |
用例 | 参阅使用示例以将 Cloud Code 与其他服务集成。 |