Skip to main content
在本教程中,我们将解释排行榜的版本控制概念。有多种情况我们希望某个排行榜有不同版本。例如,在具有每月锦标赛模式的游戏中,排行榜结构保持不变,但玩家很可能会改变,尤其是在竞争激烈的游戏中。 我们继续沿用创建基本排行榜中的示例。设想我们的街机游戏现在非常受欢迎。因此,引入了一个名为“Top of the Mountain”的新模式。每月,游戏都会举办一场任何玩家都可以参加的锦标赛。前 100 名将显示在主菜单的特殊排行榜中,这样每个人都可以看到谁是游戏中的最佳玩家。

为版本控制创建排行榜定义

在之前的示例中,创建排行榜定义时,有一处提示表明 VersionConfiguration 参数对于版本控制的重要性。下面我们详细介绍如何使用它以及它的工作方式。
此示例与基本排行榜相比的主要区别是 VersionConfiguration 参数。此参数允许我们定义一个 MaxQueryableVersions 设置,指定我们可以查询同一排行榜的多少个版本。在本例中,我们将其设置为查询 12 个版本,这允许查询最近的 12 个排行榜。ResetInterval 参数定义重置过程发生的频率。此操作涉及创建一个与之前配置相同但为空的排行榜,并且版本参数按如下方式变化:N = N + 1,在排行榜定义创建时 N = 0。 例如,假设我们有一个排行榜,其版本参数为二,排行榜上有一百个条目。现在,当我们递增该排行榜的版本时,结果将是一个版本参数为三且为空的新排行榜。同时,先前的排行榜仍保留在系统中以供查询。 ResetInterval 可以有多种工作方式。在此示例中,它是按月的,但可以根据开发者的需要进行更改。在此特定情况下,这意味着排行榜将从其配置时刻起每月自动重置。我们支持以下重置策略:
  • Day
  • Hour
  • Manual
  • Month
  • Week
有关所有可用配置的更多信息,请查看此处的 API 文档: 创建排行榜的 API 参考

递增排行榜的版本

有了这个新配置,我们可以为锦标赛模式拥有同一排行榜的多个版本。但是,如果我们由于某个问题需要手动重置排行榜并重新开始锦标赛,会发生什么呢?在这种情况下,我们可以使用 API 执行手动重置。以下是使用 SDK 的示例:

查询较旧版本

现在,如果我们需要查询排行榜的较旧版本,我们可以使用所有 GetLeaderboards API 上都可用的 version 参数。以下是使用 SDK 的示例:
现在我们已准备好应对排行榜版本控制的任何挑战。这里的一个重要方面是,我们决定作为版本保留的排行榜定义数量将被计量,因为它们使用了服务内的存储。有关这方面的更多信息,请参见:

结论

在本教程中,我们学习了如何执行以下操作:
  • 使用正确的重置策略创建排行榜。
  • 递增排行榜的版本。
  • 查询排行榜的较旧版本。

另请参阅

最后修改于 2026年8月13日