云存档功能介绍
TDS 云存档为你提供了一种将玩家的游戏进程保存到 TDS 服务器的云服务。你的游戏可以检索已保存的游戏数据,允许玩家从任何设备上的任意一个保存点继续游戏。
云存档服务可以跨多个设备同步玩家的游戏数据。例如,如果你有一款安卓上的游戏,你可以使用 TDS 云存档让玩家在其他安卓手机上开始游戏,然后在平板电脑上继续玩,而不丢失任何进度。即使玩家的设备丢失、损坏或购买了新型号,TDS 云存档还是可以确保玩家的游戏从停止的地方继续进行。
要了解如何为你的游戏实现云存档,请参阅开发指南。
基础知识
游戏的云存档分为两个部分:
- 一个二进制的文件,即游戏存档,你的游戏负责解析和写入它。
- 元数据,呈现游戏存档中一系列有用的信息。
存档封面
存档封面属于元数据,强烈建议你将代表存档的图片与相应的存档文件相关联。
存档描述
你可以为游戏存档提供简短的文字说明。这个文字说明是直接显示给玩家的,应该示意游戏存档所代表的状态。例如,「在天台与黑衣人决斗」。
冲突解决
使用 TDS 云服务时,你的游戏在尝试保存数据时可能会遇到冲突。当玩家在不同的设备或计算机上运行多个应用程序实例时,这种冲突就有可能发生。你的应用程序必须能够以提供最佳用户体验的方式解决这些冲突。
通常,当你的应用程序实例在尝试加载或保存数据时无法访问 TDS 云存档服务时,就会发生数据冲突。避免数据冲突的最佳方法是在应用程序启动或恢复时始终从服务加载最新数据,并以合理的频率将数据保存到服务中。你的应用程序应尽一切努力处理冲突,以便保留玩家的数据并让他们获得良好的体验。
云存档保存的游戏元数据
已保存游戏的结构化元数据包含以下属性:
字段含义 | 字段名 | 是否可选 | 说明 |
---|---|---|---|
存档 ID | objectId | 自动生成 | 云存档云端为游戏存档生成的唯一字符串。使用此 ID 来引用你游戏客户端中保存的游戏。 |
关联用户 | user | 自动获取 | 云存档 SDK 自动获取当前用户信息做绑定。 |
存档原文件 | gameFile | 必须 | 开发者提供的存档原文件 |
存档名称 | name | 必须 | 开发者为游戏存档提供的简称,存档名称不对玩家展示。特殊情况下存档名称可以自定规则来完成「存档组」的概念。 |
存档描述 | summary | 必须 | 长度不超过 1000 的字符串。开发者提供已保存游戏存档的描述,这往往也作为展示给玩家的实际存档名。 |
修改时间 | modifiedAt | 必须 | 存档原文件的修改时间或添加时间。 |
游戏时长 | playedTime | 可选 | 开发者提供存档的游戏时间(以毫秒为单位)。 |
游戏进度 | progressValue | 可选 | 开发者提供的游戏进度信息(整数),例如当前进度是第几关。 |
存档封面 | cover | 可选 | 开发者提供的图片,目前 SDK 只允许上传 PNG / JPG 格式的图片。 |