无论对于铁杆玩家(即在公开排行榜中争夺首位的玩家)还是休闲级玩家(热衷于与好友比较游戏进度的玩家),排行榜都是激励玩家相互竞争的一种有趣方式。
如需了解如何为您的平台实现排行榜功能,请参阅客户端实现。
了解排行榜
当您创建排行榜时,Play 游戏服务将为您处理此排行榜的大多数管理工作。典型流程如下所示:
- 游戏结束时(或在您已确定的适当时刻),游戏会将玩家的得分提交到您为游戏创建的一个或多个排行榜。
- Play 游戏服务会检查此得分是否优于玩家当前排行榜中的每日最高得分、每周最高得分或历史最高得分。如果是,则 Play 游戏服务会使用新的得分更新相应的排行榜。
- Play 游戏服务将得分报告发送回游戏客户端。此报告会告知客户端这是新的每日最高得分、每周最高得分还是历史最高得分。否则,Play 游戏服务会告知客户端相应玩家当前的每日最高得分、每周最高得分或历史最高得分。
- 如需检索排行榜的玩家结果,您可以请求时间范围(每天、每周或所有时间),并指定用户是希望看到社交排行榜还是公开排行榜。Play 游戏服务会执行所有必要的过滤,然后将结果发送回客户端。
- 如果需要报告大量得分,则 Play 游戏服务只会发回排行榜最高得分的数据。您还可以检索最高得分或与玩家得分相近的得分的原始数据。
多个排行榜
游戏可以包含多个排行榜,最多可以有 70 个排行榜。例如,多关卡游戏可以为每个关卡提供不同的排行榜,而赛车游戏的每个赛道都可以提供单独的排行榜。
排行榜时间范围
对于您创建的每个排行榜,Play 游戏 SDK 都将自动为其创建每日排行榜、每周排行榜和历史排行榜。您无需为每个时间范围创建单独的排行榜。
每日排行榜将在每天的 UTC-7 午夜(即“太平洋夏令时午夜”)重置。
同样,每周排行榜也将在每周六到周日的 UTC-7 午夜重置。
公开排行榜和社交排行榜
Play 游戏 SDK 可以向玩家显示每个排行榜的两个不同版本:
社交排行榜的成员包含用户圈子中已同意与该用户共享游戏活动的玩家(或者更确切地说,用户选择与您的应用共享的圈子成员)。
公开排行榜的成员包含已选择公开共享其游戏活动的玩家。如果您的玩家未选择公开共享其游戏活动,则这些玩家不会显示在此排行榜中。
显示排行榜
移动客户端库中提供了一些库,可负责处理排行榜的所有格式设置和显示。您可以指定玩家能查看特定排行榜,或者让玩家从所有排行榜的列表中选择要查看的排行榜。
您还可以通过从客户端库直接访问数据来实现自己的排行榜版本。
属性
如需创建和管理排行榜,您需要熟悉以下排行榜属性:
基础知识
每一个排行榜都有以下相关联的基本元素:
- ID:Google Play 管理中心将为您生成的唯一字符串。您将使用此唯一 ID 来指代游戏客户端中的排行榜。
- 名称:排行榜的简称(例如,“High Scores”或“Level 3”)。不得超过 100 个字符。
- 图标:与排行榜相关联的方形图标。如需了解创建排行榜图标时的最佳实践,请参阅下文中的图标指南部分。
- 列表顺序:当玩家查看与游戏相关联的排行榜时显示排行榜的顺序。
- 限制:可选值,用于定义排行榜允许的得分下限和上限。这将帮助您舍弃玩家提交的明显具有欺诈性的得分。您也可以使用
Players.hide
在应用的所有排行榜中隐藏您认为提交了欺诈性得分的玩家。
排序
排行榜可采用以下两种排序类型中的一种:
- Larger is better 是排行榜的默认排序类型。在玩家获得积分的大多数游戏中,通常都是采用这种类型的排行榜。
- Smaller is better 排行榜相对不太常见,适用于分数越低越好的情况。例如,赛车游戏就经常使用此类排行榜,其中的得分表示玩家完成赛车比赛的时间。
得分格式
当所有得分都提交到排行榜并以长整数的形式存储在内部时,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
。)如果您使用自定义单位,并且已经为游戏添加了翻译,则必须为已添加的每种语言提供相应翻译的单位。Play 游戏服务随后会在适当情况下显示这些翻译的单位。
根据您所选择的语言,您可能需要提供不同的单位名称版本。在英语中,您需要为单数单位提供一个版本,并为复数单位提供另一个版本(例如,“meter”和“meters”)。而在波兰语中,您需要针对单个单位、几个单位、许多单位以及所有其他单位分别提供相应的版本。如需详细了解复数规则,请参阅数量字符串(复数)。
时间排行榜将根据玩家的语言和语言区域显示时间格式。这主要体现在使用小数点或千分位形式的情况下(例如,在美国显示 4,815:16:23.42
,而在德国显示 4.815:16:23,42
)。
货币排行榜将根据玩家的语言和语言区域显示货币格式。但是,您无法更改货币单位。例如,如果您以美元指定货币,则游戏在美国将显示为 $19.95
,而在法国将显示为 19,95 $
。但您无法指定游戏显示美元(美国)和欧元(法国)。
图标指南
图标应创建为 512 x 512 的 PNG 或 JPEG 文件。在大多数游戏客户端中,图标的比例都会缩小,因此应避免创建过于精细的图标。您可以提交具有 Alpha 版的图标,而透明度将保持不变。排行榜图标在 Android 设备上将以较深的灰色背景显示,因此请选择适合这种情况的图标。
所有语言区域均使用相同的图标,因此我们建议您不要在图标中添加任何文本或本地化内容。
创建排行榜
本部分将介绍如何为新游戏或现有游戏创建排行榜。
为新游戏创建排行榜
如需为新游戏和未发布的游戏创建排行榜,请进入与您的游戏相对应的 Google Play 管理中心条目,依次选择拓展 > Play 游戏服务 > 设置和管理 > 排行榜,然后点击创建排行榜按钮。
![“排行榜”主面板上的“添加排行榜”按钮](https://developer.android.google.cn/static/images/games/pgs/leaderboardAddNew.png?authuser=6&hl=sr)
然后,只需填写此排行榜所需的信息。
![“最佳回合”排行榜的已填写表单。](https://developer.android.google.cn/static/images/games/pgs/leaderboardSampleForm.png?authuser=6&hl=sr)
点击保存为草稿,您的排行榜将处于“草稿”状态。当您发布游戏之后,所有游戏排行榜也会随之发布。
为已发布的游戏创建排行榜
如需为已发布的游戏创建更多排行榜,请按照相同的步骤操作。如需详细了解如何测试游戏的更新版本,请参阅发布您的游戏更改。
对排行榜进行测试并获得满意结果后,您可以重新发布使用新排行榜的游戏,这些排行榜将推送到全球。
修改排行榜
如需修改已经创建的排行榜,请在 Google Play 管理中心内的排行榜标签页中点击相应的排行榜。此时,您会看到首次创建排行榜时使用的表单,并且可以根据需要修改任何字段。
完成排行榜修改后,点击保存为草稿按钮。新修改的排行榜将处于“草稿”状态,可便于您对其进行测试。
如果一切正常运行,请从排行榜表单顶部的方框中选择发布更改,您就能够重新公开发布游戏以及所有更新后的排行榜。
撤消修改
如果您不喜欢新修改的排行榜,而想要还原到之前的版本,只需从排行榜表单顶部的方框中选择还原即可。您的排行榜将还原为已发布的版本。
删除排行榜
您可以删除处于“草稿”状态的排行榜或已发布的排行榜。如需在 Google Play 管理中心内删除排行榜,请进入排行榜的表单,然后点击表单顶部的删除排行榜。
或者,您也可以调用 Players.hide
以在应用中隐藏玩家的排行榜。
重置排行榜
您只能重置草稿排行榜的玩家进度数据。
- 如需在 Google Play 管理中心内重置排行榜,请点击相应活动表单顶部的重置进度。
- 如需以编程方式重置排行榜数据,请调用 Management API
Scores
方法。
为排行榜添加翻译
您可以自行为与游戏相关联的排行榜指定翻译。在此之前,请确保先完成为游戏添加翻译中的步骤。 此外,您还必须为游戏创建一个或多个排行榜。
如需自行为排行榜添加翻译,请在 Google Play 管理中心内打开游戏的排行榜标签页,然后选择一个现有的排行榜。在排行榜详情页面中,点击与您之前在游戏详情标签页中添加的语言相对应的标签页。在该语言的排行榜详情页面中,修改包含该排行榜翻译的表单。点击保存即可存储翻译后的排行榜详情。
隐藏排行榜得分
Google Play 游戏服务提供排行榜防篡改功能,可用于检查疑似经过篡改的得分并自动将其隐藏。此功能仅适用于 Android 游戏。
您为 Android 游戏创建的新排行榜会默认启用防篡改功能,但对于现有排行榜,此功能处于停用状态。如需为已发布的排行榜启用防篡改功能,请按以下步骤操作:
- 在 Google Play 管理中心内,打开游戏服务标签页,然后从列表中选择您的游戏。
- 打开排行榜标签页,然后选择要启用防篡改功能的排行榜实例。
- 将 Enable leaderboard tamper protection 选项设为开启。
- 点击保存并继续。
- 发布游戏
在 Google Play 管理中心内为排行榜启用防篡改功能后,该功能最多可能需要 24 小时才会生效。对于在您启用防篡改功能之前提交的得分,系统不会以追溯方式将其隐藏。
在某些情况下,您可能希望停用防篡改功能(例如,您的游戏除了在 Android 平台上运行以外,还要在网络平台上运行,并跨这些平台共享排行榜)。
客户端实现
如需了解如何为您的平台实现排行榜功能,请参阅以下资源: