排行榜是一种有趣的方式,可以在玩家之间激起竞争,无论是对于您的核心玩家(他们会争夺公开排行榜的榜首)还是更休闲的玩家(他们会对与朋友比较进度感兴趣)。
要了解如何在您的平台中实现排行榜,请参阅客户端实现。
了解排行榜
当您创建一个排行榜时,Play 游戏服务会负责为您管理此排行榜的大部分方面。典型过程如下:
- 在游戏结束时(或在您确定的适当时刻),游戏会向您为游戏创建的一个或多个排行榜提交玩家的分数。
- Play 游戏服务会检查此分数是否优于玩家在排行榜中当前的每日、每周或历史总分。如果是,Play 游戏服务会使用新分数更新相应的排行榜。
- Play 游戏服务会向游戏客户端发送一份分数报告。此报告会告知客户端这是否是新的每日、每周或历史最高分。如果不是,Play 游戏服务会告知客户端该玩家当前的每日、每周或历史最高分是多少。
- 要检索玩家在某个排行榜中的结果,您可以请求一个时间范围(每日、每周或历史总分),并指定用户是否希望查看社交排行榜或公开排行榜。Play 游戏服务会执行所有必要的过滤,然后将结果发送回客户端。
- 在需要报告大量分数的情况下,Play 游戏服务只会返回排行榜中最高分的数据。您还可以检索最高分或与玩家分数相邻的分数的原始分数数据。
多个排行榜
游戏可以有多个排行榜,最多可达 70 个。例如,多级别游戏可能为每个级别提供不同的排行榜,而赛车游戏可能为每个赛道提供单独的排行榜。
排行榜时间范围
Play 游戏 SDK 会自动为您创建的每个排行榜生成每日、每周和历史总分版本。您无需为每个时间范围创建单独的排行榜。
每日排行榜在 UTC-7(即“太平洋夏令时午夜”)全年重置。
每周排行榜在周六和周日之间的午夜重置,与每日排行榜处于同一时区 (UTC-7)。
公开排行榜和社交排行榜
Play 游戏 SDK 可以向玩家显示每个排行榜的两个不同版本:
社交排行榜由用户圈子中的人(或更准确地说,用户选择与您的应用共享的圈子成员)组成,他们已决定向用户共享其游戏活动。
公开排行榜由选择公开分享其游戏活动的玩家组成。如果您的玩家未选择公开分享其游戏活动,他们将不会出现在此排行榜中。
显示排行榜
在移动客户端库中,库会负责排行榜的所有格式化和显示。您可以指定玩家是查看特定排行榜,还是查看所有可供选择的排行榜列表。
您还可以通过直接从客户端库访问数据来实现您自己的排行榜版本。
属性
要创建和管理排行榜,您需要熟悉以下排行榜属性:
基础知识
以下基本元素与每个排行榜相关联:
- ID 是 Google Play 管理中心为您生成的唯一字符串。您将使用此唯一 ID 在游戏客户端中引用排行榜。
- 名称 是排行榜的简短名称(例如,“最高分”或“级别 3”)。最多可达 100 个字符。
- 图标 是一个与您的排行榜相关联的方形图标。有关创建排行榜图标的最佳实践,请参阅图标指南。
- 列表顺序 是排行榜在玩家查看与您的游戏相关联的排行榜时将出现的顺序。
- 限制 是可选值,用于定义排行榜中允许分数的下限和上限。这可以帮助您丢弃明显欺诈的分数提交。您还可以使用
Players.hide
从应用中的所有排行榜中隐藏您认为已提交欺诈分数的玩家。
排序排行榜
排行榜可以有两种排序类型:
- 越大越好排行榜是默认设置。这通常是您在大多数玩家得分的游戏中会看到的情况。
- 越小越好排行榜偶尔用于分数越小越好的情况。此类型排行榜最常见的示例是赛车游戏,其中分数代表玩家完成比赛的时间。
分数格式
虽然所有分数都以长整型内部存储并提交到排行榜,但 Play 游戏服务可以以多种不同格式向用户呈现它们:
数字排行榜将分数显示为数字。这些可以显示为整数或具有固定小数位数的实数。您将分数提交为整数,小数位点插入到指定位置。例如,分数
314159
将显示为3.14159
、3141.59
或314159
,具体取决于您指定的小数位点。时间排行榜以小时/分钟/秒/百分之一秒的格式显示分数。您必须将分数提交为毫秒,因此
66032
将被解释为1:06.03
。货币排行榜以货币格式显示分数。您将分数提交为主要货币单位的 1/1,000,000。例如,如果您的货币指定为美元,则 19,950,000 的分数将被解释为
$19.95
。
数字排行榜还支持自定义单位。例如,如果您的游戏以米为单位衡量最高分,则可以将“米”指定为排行榜的默认单位。
翻译和分数格式
当移动客户端库从 Play 游戏服务请求排行榜数据时,它们会指定显示这些分数的语言和区域设置。REST API 也允许您指定基于区域设置的语言。Play 游戏服务会返回适合该语言和区域设置的格式化排行榜分数。无论您是否已为排行榜添加翻译,这些格式化的分数都会显示。
对于数字排行榜,数字格式因语言而异。(例如,在美国是 12,345.78
,在法国是 12 345,78
。)如果您使用自定义单位并已为游戏添加翻译,则必须为所添加的每种语言提供翻译后的单位。然后,服务会在适当位置显示这些翻译后的单位。
根据您选择的语言,您可能需要提供不同版本的单位名称。在英语中,您需要一个用于单数项目的版本,另一个用于其他所有项目的版本(例如,“meter”和“meters”)。另一方面,在波兰语中,您需要提供一个用于一个单位、几个单位、许多单位和所有其他单位的版本。要了解有关复数规则的更多信息,请参阅数量字符串(复数)。
对于时间排行榜,时间格式根据玩家的语言和区域设置显示。如果您使用秒的分数或小时值超过 3 位数(例如,在美国是 4,815:16:23.42
,在德国是 4.815:16:23,42
),这一点会特别明显。
对于货币排行榜,货币格式将根据玩家的语言和区域设置显示。但是,您无法更改货币单位。例如,如果您将货币指定为美元,则游戏在美国将显示 $19.95
,在法国将显示 19,95 $
。但您无法指定您的游戏在美国显示美元,在法国显示欧元。
图标指南
图标应创建为 512 x 512 的 PNG 或 JPEG 文件。您的图标在大多数游戏客户端中会被缩小,因此您应避免创建细节过多的图标。您可以提交带有 alpha 通道的图标,并且透明度将保留。排行榜图标将在 Android 设备上以较深的灰色背景显示,因此请选择在这种情况下也能很好地工作的图标。
所有区域设置都使用相同的图标,因此我们建议不要在图标中包含任何文本或本地化内容。
创建排行榜
本节介绍如何为新游戏或现有游戏创建排行榜。
为新游戏创建排行榜
要为新游戏和未发布的游戏创建排行榜,请转到 Google Play 管理中心中您的游戏条目,然后导航到拓展 > Play 游戏服务 > 设置和管理 > 排行榜,然后点击创建排行榜按钮。

然后,只需填写此排行榜所需的信息即可。

点击保存为草稿,您的排行榜将处于“草稿”状态。一旦您发布您的游戏,您游戏的所有排行榜都将随之发布。
为已发布游戏创建排行榜
要为已发布的游戏创建其他排行榜,请遵循上述相同步骤。有关测试游戏更新版本的更多信息,请参阅发布您的游戏更改。
一旦您测试了您的排行榜并对其满意,您就可以重新发布您的游戏和新的排行榜,它们将向世界推出。
编辑排行榜
要编辑您已创建的排行榜,请在 Google Play 管理中心的排行榜标签页中点击该排行榜。此时,您将看到首次创建排行榜时使用的相同表单,并且可以根据需要编辑任何字段。
编辑排行榜完成后,点击保存为草稿按钮。新编辑的排行榜将处于“草稿”状态,您可以对其进行测试。
如果它运行正常,请从排行榜表单顶部的框中选择发布更改,您就可以重新发布您的游戏以及所有已更新的排行榜,供公众使用。
撤消编辑
如果您决定不喜欢您新编辑的排行榜,并希望返回到上一个版本,只需从排行榜表单顶部的框中选择还原。您的排行榜将恢复到已发布的版本。
删除排行榜
您可以删除处于“草稿”状态或已发布的排行榜。要在 Google Play 管理中心中删除排行榜,请转到该排行榜的表单,然后点击表单顶部的删除排行榜。
或者,您可以调用 Players.hide
以在应用中隐藏玩家的排行榜。
重置排行榜
您只能重置草稿排行榜的玩家进度数据。
- 要在 Google Play 管理中心中重置排行榜,请在该事件表单的顶部点击重置进度。
- 要以编程方式重置排行榜数据,请调用管理 API
Scores
方法。
为排行榜添加翻译
您可以为您游戏关联的排行榜指定自己的翻译。在此之前,请务必先完成为游戏添加翻译中描述的步骤。您还必须为您的游戏创建了一个或多个排行榜。
要为排行榜添加您自己的翻译,请在 Google Play 管理中心中打开您游戏的排行榜标签页,然后选择一个现有排行榜。在排行榜详细信息页面上,点击您之前在游戏详情标签页中添加的语言的标签页。在该语言的排行榜详细信息页面中,使用您的翻译编辑该排行榜的表单。点击保存以存储您翻译后的排行榜详细信息。
隐藏排行榜分数
Google Play 游戏服务提供排行榜防篡改功能,该功能可检查疑似篡改的分数并自动隐藏它们。此功能仅适用于 Android 游戏。
防篡改功能默认情况下为您的 Android 游戏创建的新排行榜启用,但对现有排行榜禁用。要为您已发布的现有排行榜启用防篡改功能,请按照以下步骤操作:
- 在 Google Play 管理中心中,打开游戏服务标签页,然后从列表中选择您的游戏。
- 打开排行榜标签页,然后选择您要启用防篡改功能的排行榜实例。
- 将启用排行榜防篡改选项设为“开启”。
- 点击保存并继续。
- 发布您的游戏。
在 Google Play 管理中心为排行榜启用防篡改功能后,此功能可能需要长达 24 小时才能生效。在您启用防篡改功能之前提交的分数不会被追溯隐藏。
在某些情况下,您可能希望禁用防篡改功能(例如,如果您的游戏除了 Android 外还在网络上运行,并且这些平台共享排行榜)。
客户端实现
要了解如何在您的平台中实现排行榜,请参阅以下资源: