# 开始使用

> Install the Cloud Save Software Development Kit and Authentication Software Development Kit in your Unity project to start using Cloud Save.

> **Warning:**
>
> **注意**：根据《数字服务法案》(DSA) 的规定，如果 Unity 采取的行动会对客户的终端用户产生影响，Unity 必须通知这些终端用户。为了遵循这一要求，如果使用的 Unity Gaming Services（Unity 游戏服务）(UGS) 产品依赖于 Unity Authentication 服务，则必须集成通知 API。
>
> 如需有关 DSA 的更多信息，请参阅[《数字服务法案》- 合规性更新](https://unity.com/legal/digital-services-act)。
>
> 为了使游戏合规，请参阅 [DSA 通知](/authentication/dsa-notifications.md.md)。

## 安装 Cloud Save SDK##install-cloud-save-sdk

可以通过 Unity 编辑器安装软件包。

导航到 **Window（窗口）> Package Manager（包管理器）**，然后从左上方的 Packages（包）下拉选单中选择 **Unity Registry（Unity 注册表）**。您可以执行以下任一操作：

* 在右上方的搜索栏中搜索 **Cloud Save**。
* 按名称添加包：
  * 打开带有 **+** 标记的下拉选单
  * 选择 **Add package by name...（按名称添加包...）**
  * 输入包名称\*\*“com.unity.services.cloudsave”\*\* （版本为可选字段）

> **Note:**
>
> **注意**：SDK 在 `Samples` 中包含的代码展示了如何使用 Cloud Save 读取和写入数据以及文件。

安装完成后，可从 `Unity.Services.CloudSave` 命名空间使用 Cloud Save SDK：

```cs
using Unity.Services.CloudSave;
```

## 安装 Authentication SDK##install-authentication-sdk

Cloud Save 包依赖于 Authentication 包。[Unity Authentication](/authentication/.md) 服务创建一个帐户来保存玩家分数，您可以[使用匿名登录](/authentication/use-anon-sign-in.md)或[指定平台身份验证](/authentication/approaches-to-authentication.md)。

安装 Cloud Save 包时，Authentication 包作为依赖项进行安装。有关手动安装包的信息，请参阅[通过注册表安装包](https://docs.unity3d.com/Manual/upm-ui-install.html)。

安装完成后，可在 Unity 脚本中通过引用 `Unity.Services.Authentication` 命名空间使用 Authentication SDK。

```cs
using Unity.Services.Authentication;
```

## 关联您的 Unity 项目##link-your-unity-project

安装完成后，Authentication 包会提示您将 Unity 项目与 Unity Game Services Project ID 关联。

如果您的项目未关联到 UGS Project ID，或者您想要检查它关联到哪个 UGS Project ID，您可以按照以下步骤手动将您的 Unity 项目关联到 UGS Project ID：

* 在 Unity 编辑器中，选择 **Edit（编辑）**> **Project Settings...（项目设置...）**。
* 选择 **Services（服务）**，
  * 如果您有 Unity ID，请登录。
  * 否则，选择 **Create a Unity ID（创建 Unity ID）**。
* 选择您的项目。
* 选择 **Link（关联）**。

## 调用 Cloud Save SDK##call-the-cloud-save-sdk

在使用 Cloud Save SDK 及其依赖项之前，必须先在一个生命周期回调中对它们进行初始化。

实现方法是通过 Core SDK 从 `Unity.Services.Core` 命名空间调用 `await UnityServices.InitializeAsync()` 来初始化所有已安装的服务。

SDK 初始化完成后，会对玩家进行身份验证。以下示例使用匿名身份验证来创建匿名玩家帐户。有关其他可用的身份验证方法，请参阅 [Unity Authentication](/authentication/.md) 文档。

```cs
using System.Collections.Generic;
using Unity.Services.Authentication;
using Unity.Services.CloudSave;
using Unity.Services.CloudSave.Models;
using Unity.Services.Core;
using UnityEngine;

public class CloudSaveSample : MonoBehaviour
{
    private async void Awake()
    {
        await UnityServices.InitializeAsync();
        await AuthenticationService.Instance.SignInAnonymouslyAsync();
        SaveData();
    }

    public async void SaveData()
    {
        var playerData = new Dictionary<string, object>{
          {"firstKeyName", "a text value"},
          {"secondKeyName", 123}
        };
        var result = await CloudSaveService.Instance.Data.Player.SaveAsync(playerData);
        Debug.Log($"Saved data {string.Join(',', playerData)}");
    }
}
```

如需查看将 Cloud Save SDK 与 Unity 结合使用的更多示例，请参阅 [Unity SDK 教程](/cloud-save/tutorials/unity-sdk.md)。

## Cloud Save REST API##cloud-save-rest-api

您可以使用 REST API 访问 Cloud Save 中的数据。

REST API 提供更大的灵活性，让您可以利用喜欢的语言和游戏开发引擎自动执行工作流程，或从游戏服务器执行这些工作流程。

Cloud Save 服务提供以下 REST API：

* 用于玩家操作\*（例如保存/加载数据）\*的 [Cloud Save Player API](https://services.docs.unity.com/cloud-save/)
* 用于管理操作\*（例如配置查询/索引）\*的 [Cloud Save Admin API](https://services.docs.unity.com/cloud-save-admin/)

[REST API 教程](/cloud-save/tutorials/rest-api.md)中介绍了如何创建令牌和调用 REST API。

## 其他资源##additional-resources

* [Cloud Save Unity SDK 教程](/cloud-save/tutorials/unity-sdk.md)
* [面向 Cloud Code 的 Cloud Save 教程](https://cloud-code-sdk-documentation.cloud.unity3d.com/cloud-save)
* [Cloud Save REST API 教程](./tutorials/rest-api.md)
* [Cloud Save CLI 模块](https://services.docs.unity.com/guides/ugs-cli/latest/cloud-save/Cloud%20Save%20Command%20Line/overview/)
