开始之前
标题存储示例 使用 Epic账号服务 对本地用户进行身份验证,以便用于演示目的。这需要将用于初始化 Epic在线服务 (EOS)SDK的客户端凭证分配给Epic账号服务使用的 应用。
此示例中演示的SDK功能可与所有受支持的身份提供商配合使用,以进行用户身份验证。
由于标题存储接口无法上传或标记文件,你需要通过开发人员门户进行操作。请注意,你在开发者门户中上传文件时使用的 加密密钥 必须与示例中的 SampleConstants.h
中的加密密钥匹配。否则,下载后的解密阶段会产生错误的结果。
探索示例
标题存储示例是一个简单的文件资源管理器,主要用于与你的产品相关联的云存储。你可以用你的账号来登录或注销。登录后,你可以浏览、下载和查看与产品关联的文件。如果你已通过开发人员门户标记了文件,则可以根据这些标记执行查询。
标题存储面板
如要开始使用标题存储示例,请找到用户界面右侧的 标题存储(Title Storage) 面板,输入你的主机地址和用户凭证(取自开发人员身份验证工具),然后点击 登录(Log In) 按钮进行登录。
标题存储示例的登录界面。点击查看大图。
登录后,你将可以查询、下载和查看与你的产品关联的文件(如存在)。登录(Log In) 按钮将变为 注销(Log Out),用于与你的文件交互的用户界面将变得可用。
标题存储页面的主面板。点击查看大图。
标题存储示例具有以下功能:
- 下载:下载单个文件。在 下载(Download) 按钮旁边的字段中输入要下载的文件名,然后点击按钮。后端服务将根据其文件覆盖设置(如有)确定要发送哪个文件,示例将下载该文件并将其放入文件列表中。下载完成后,你将能够点击列表中的文件并查看其内容。
- 查询:找到所有至少有一个标签的文件,用它们生成一张文件列表。在 添加标签(Add Tag) 按钮旁边的文本字段中输入要包含在查询中的每个标签,一次输入一个,然后点击按钮将其添加到标签列表中。你可以随时点击 清空列表(Clear List) 按钮来清空标签列表。等到列表包含了所有你要在查询中使用的标记后,点击 查询列表(Query List) 按钮,系统会找到所有至少用包含其中一个你列出的标记的文件,并填充在窗口底部的文件列表中。你可以从列表中下载文件并查看其内容,办法是选中该文件,然后点击 下载(Download) 按钮。
控制台面板
程序运行后输出的日志,包括控制台命令的结果,都会出现在 控制台(Console) 面板顶部的文本区域,该面板位于用户界面的左下角。除了点击标题存储面板中的按钮,你还可以在控制台面板底部输入控制台命令。
标题存储示例的控制台面板。点击查看大图。
支持以下命令:
命令 | 参数 | 用途 |
---|---|---|
GETFILE | FILE_NAME | 根据名称从云下载指定文件 |
TESTFILE | FILE_NAME , FILE_PATH | 从标题存储接口检索 FILE_NAME ,并将其内容与位于 FILE_PATH 位置的未加密本地文件进行比较 |
HELP | (无) | 将有关上述所有命令的帮助信息打印到控制台输出。 |
你可以在 Game.cpp
中的 Game::CreateConsoleCommands
函数中添加自己的控制台命令。
文件面板
文件(File) 面板显示当前选中文件的内容(在标题存储面板中)。
进度条窗口
标题存储示例所执行的文件传输操作是异步进行的。在执行这些操作时,示例会显示一个 进度条 窗口、一个带有进度条的弹出窗口,和一个 取消 按钮。用户可以通过点击 取消(Cancel) 来中断传输。尽管标题存储接口一次可以支持多个传输操作,但该示例一次只运行了一个文件传输操作。
传输中的文件。点击查看大图。
探索源代码
与数据文件交互的大部分代码都位于 Samples/TitleStorage/Source/TitleStorage.cpp
中。以下函数用于与标题存储接口直接交互:
函数名称 | 用途 |
---|---|
QueryList | 根据当前选择的标记来获取文件条目列表。 |
StartFileDataDownload | 获取特定文件的内容。 |
CancelCurrentTransfer | 取消当前文件传输(如有)。 |
这些函数不会直接使用标题存储接口,但会与本地系统上的相关数据交互。当你需要构建自己的系统来管理文件相关的本地缓存信息时,它们可以提供基本帮助:
函数名 | 用途 |
---|---|
GetFileList | 返回本地文件列表。 |
SetFileList | 设置本地文件列表。 |
GetLocalData | 返回指定文件的本地缓存数据。当本地没有可用的数据时,NoData 标志设置为 true 。 |
SetLocalData | 设置指定文件的本地数据。 |
EraseLocalData | 擦除指定文件的本地数据(如有)。 |
AddTag | 将新标签添加到列表查询要使用的当前选定标签集中。 |
ClearTags | 删除当前选择的所有标签 |
GetCurrentTags | 获取选中的标签 |