Skip to main content
本教程说明如何访问已存档的排行榜状态。 每个排行榜都可以手动或自动重置——这意味着所有玩家的统计信息值将被移除,从而进入清空状态,并且排行榜版本将被更新。 不过,在这之前,PlayFab 会为每个玩家创建所有排行榜统计信息值的快照。这允许你访问排行榜的这个已存档版本。
所有标题都允许你访问排行榜最近一次存档的版本,这提供当前版本和前一个版本。例如,如果你当前的排行榜版本是 3,那么你只能访问版本 3 和已存档的版本 2

初始设置

在使用本指南之前,请确保你已经在标题中注册了一些玩家。以下屏幕截图显示了使用 LoginWithCustomID API 调用人工注册的 5 名玩家。 Game Manager - Players - Most recent logins

定义并模拟排行榜

在此步骤中,我们将为测试目的创建一个排行榜。然后,我们将通过多次填充和重置排行榜来模拟排行榜迭代过程。 打开 Game Manager:
  1. 导航到 Leaderboards 部分。
  2. 选择 New Leaderboard 按钮,如下所示。
配置新排行榜:
  1. Statistic 名称设置为 TestScore
  2. Reset Frequency 保持为 Manually
  3. 保留默认的 Aggregation 方法。
  4. 通过选择 Save Leaderboard 提交。
Game Manager - Leaderboards - New Leaderboard - Properties 你将来到新的 Leaderboards 页面,该页面将呈现空白数据(见下文)。 Game Manager - Leaderboards - Edit Leaderboard

开始测试部分

以下部分是如何为本示例填充测试数据的示例。你的真实游戏将以更自然的方式填充这些数据。
我们的下一步是为排行榜模拟一些数据。最快的方法是创建一个 CloudScript 处理程序,它将为给定玩家设置随机统计信息。我们将针对 All Players 分段中的每个玩家调用此处理程序。 因此,每个玩家将获得一个随机的统计信息值,这是对真实世界场景的足够好的近似。 让我们开始定义我们的 CloudScript(有关详细信息,请参阅代码注释)。
让我们上传 CloudScript。使用 Game Manager:
  1. 导航到 Automation 选项卡。
  2. 然后导航到 CloudScript 子选项卡。
  3. 插入 CloudScript 代码。
  4. 选择 Save as Revision
  5. 最后,Deploy Revision
Game Manager - Automation - CloudScript - upload CloudScript 接下来,我们需要定义一个任务,以在特定分段上执行我们的 CloudScript:
  1. 导航到 Players 选项卡。
  2. 然后,导航到 Segments 子选项卡。
默认情况下,PlayFab 会为你生成一个 All Players 分段。当你需要标题中注册的所有玩家(这正是我们的情况)时,此分段特别有用。
  1. 选择 All Players Segment
  2. 最后,选择 Run Task…
如果列表中没有 All Players 分段,请参阅我们的玩家分段快速入门以创建一个。
Game Manager - Players - Segments - All Players - Run Task 配置任务:
  1. 设置 Name
  2. 确保任务类型设置为 Run actions on each Player in a Segment
    • 此外,请验证在 Segment 下选择了 All Players
  3. 添加一个新的 Action
  4. Type 下选择 Execute CloudScript
  5. 然后在 CloudScript Function 下选择 PopulateLeaderboard 处理程序。
  6. 最后,选择 Save and Run 按钮。
Game Manager - Configure Task
  • 确保执行结果为 Successful
Game Manager - Task Execution Succeeded

测试部分结束

填充测试数据

  1. 再次导航到 Leaderboards 选项卡。
  2. 选择我们的 Leaderboard
Game Manager - Leaderboards - Test Score
  1. 你将看到你的 Leaderboard 已填充了随机值。
  2. 重置 Leaderboard
Reset the Test Score Leaderboard 这将为我们当前拥有的所有数据创建一个快照,然后它将清零每个玩家的统计信息值并递增版本。
  • 一旦你的排行榜被重置,再次运行 CloudScript 任务。
  • 重复此操作 2-3 次,然后重置并重新填充。
你最终将获得多个 Leaderboard 版本 (1)
  • 当前版本数据将显示在左侧的表格中 (3)
  • 已存档数据将可用于以前的版本 (2)
  • 只有最新的版本可用。这适用于所有标题。
Game Manager - Leaderboards - Leaderboard Versions

使用 Game Manager 访问已存档的数据

你可以直接从 Leaderboard 页面访问已存档的结果:
  1. 导航到 Leaderboards 选项卡。
  2. 选择你需要的 Leaderboard
Game Manager - Leaderboards - Select Leaderboard
  1. 如果你的 Leaderboard 包含已存档的修订版本,则可以使用下面屏幕截图中显示的下载链接下载 JSON 数据。
Game Manager - Leaderboards - Download Archived Revision

使用 API 访问已存档的数据

以下代码允许你拉取排行榜的最新(当前)版本。
结果将如下面提供的示例所示。 Debug output - Display Leaderboard Versions 或者,你可以指定要加载的排行榜版本。
结果将如下面提供的示例所示。 Debug output - Display Leaderboard Version 1 所有标题都允许你访问排行榜的最新存档版本。尝试拉取更旧的版本将导致错误(见下文)。 Error - Leaderboard Version not available 同样的规则适用于所有的 Leaderboard 请求。 请参阅 GetLeaderboardResult 对象的文档,以了解你可能从排行榜数据中获得的有用属性。
最后修改于 2026年8月13日