---
metadata:
  - name: generator
    content: Diplodoc Platform v5.55.2
alternate:
  - https://yandex.com/dev/games/doc/en/concepts/leaderboards.md
  - https://yandex.com/dev/games/doc/hi/concepts/leaderboards.md
  - https://yandex.com/dev/games/doc/ko/concepts/leaderboards.md
  - https://yandex.com/dev/games/doc/ru/concepts/leaderboards.md
  - https://yandex.com/dev/games/doc/tr/concepts/leaderboards.md
  - https://yandex.com/dev/games/doc/vi/concepts/leaderboards.md
  - https://yandex.com/dev/games/doc/zh/concepts/leaderboards.md
  - href: zh/concepts/leaderboards.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/games/doc/zh/llms.txt

# 排行榜

<!-- source: zh/_includes/script-common.md -->
<!-- source: zh/_includes/script/index-js.md -->

<!-- endsource: zh/_includes/script/index-js.md -->

<!-- source: zh/_includes/script/requirements-js.md -->

<!-- endsource: zh/_includes/script/requirements-js.md -->

<!-- source: zh/_includes/script/image-modal-js.md -->

<!-- endsource: zh/_includes/script/image-modal-js.md -->
<!-- endsource: zh/_includes/script-common.md -->


#|
|| ![视频图标](../_images/icons/video.svg) | 视频教程。如何在我的游戏中添加排行榜？

<div class="cut-button">

{% cut "观看视频" %}

@[youtube](https://www.youtube.com/embed/-et38AdNna4)

{% endcut %}

</div>

||
|#


排行榜是一种工具，可用于在游戏页面上向玩家显示个性化竞赛表，其中包含顶级玩家的成绩以及已登录用户在排名中的位置。

{% note tip %}

排行榜有助于改善应用程序指标，例如增加流量和用户留存率。这提高了游戏进入"我们的选择"精选集的机会，并使其更加引人注目。

{% endnote %}

可以通过两种方式添加排行榜：
 - 使用 [Yandex Games SDK](https://yandex.com/dev/games/doc/zh/sdk/sdk-leaderboard.md) 启用。SDK 排行榜仅考虑已登录用户的成绩。
 - 在游戏代码中自行编写，以便竞赛表考虑所有用户的成绩，无论是否登录。对于用户期望立即看到自己的记录或获得的分数的游戏，实现此类排行榜非常重要。

## 创建排行榜 {#create}

要启用排行榜，需要将 SDK 代码添加到游戏的源文件中，并通过控制台启用排行榜。

1. [添加 SDK 代码](https://yandex.com/dev/games/doc/zh/sdk/sdk-leaderboard.md)到游戏的源文件中。
1. 转到[开发人员控制台](https://games.yandex.com/console){.external}。
1. 选择所需的游戏。
1. 转到 **Leaderboards** 选项卡。
1. 填写字段：

    #|
    || **字段** | **描述** ||
    || **Technical leaderboard name** | 用于 SDK 中交互的名称。 ||
    || **Localized leaderboard name for display** |

    向用户显示的名称：

    - 对于主要语言，在 **[\<语言代码\>]** **Displayed leaderboard name**字段中指定名称。
    - 对于其他语言，点击**Add localization to** **\<语言代码\>**，在出现的字段中指定所选语言的名称。

    可能的语言代码列于页面 [语言与域名](https://yandex.com/dev/games/doc/zh/concepts/languages-and-domains.md)。 ||
    || **Main leaderboard** |

    **Is main leaderboard?** 选项确定将在游戏卡上显示哪个排行榜。

    {% note warning %}

    主排行榜只能有一个。如果您创建一个新的排行榜并将其设为主排行榜，该选项将在之前的排行榜中自动禁用。

    {% endnote %} ||
    || **Leaderboard type** |

    排行榜类型，决定成绩的计量单位。可能的值：

    - **numeric** —— 数字。
    - **time** —— 以毫秒为单位的时间。

    {% cut "**允许值的范围**" %}

    参数 `score` 的类型为 `number`，不能为负数，其最大值受 JavaScript 逻辑限制。如果您想在排行榜中显示小数，请设置 **Size of the decimal part of the score**。

    对于 **time** 类型的排行榜，值也被视为整数并以毫秒传递（1秒 = 1000毫秒）。

    有关详细信息，请参阅 [Mozilla 文档](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER){.external}。

    {% endcut %}

    ||
    || **Sort order** |

    排行榜中成绩的排列顺序。可能的值：

    - **Descending sort** —— 得分最高的用户排在最前面。
    - **Ascending sort** —— 得分最低的用户排在最前面。

    例如，对于快速通关比赛，需要选择 **Ascending sort** 方向和 **time** 排行榜类型。 ||
    || **Size of the decimal part of the score** | 该参数决定分数整数中有多少位数字将在小数点后显示。例如，如果设置大小为 **2**，分数值 5712 将显示为 **57.12**。 ||
    |#

1. 点击 **Submit**。

之后，将创建一个以卡片形式显示玩家 ID 的排行榜。您可以为不同的用户组启用多个排行榜。

{% note tip %}

您可以不使用 Yandex Games SDK 方法，而是在游戏代码中自行创建自定义排行榜。这将允许保存未登录玩家的记录。创建排行榜的技术选择不受限制。

{% endnote %}


{% cut "可以使用旧名称创建新排行榜吗？" %}

无法重复使用已删除排行榜的名称。也无法创建两个同名的排行榜。尝试输入与旧名称不同的名称。

{% endcut %}

## 编辑排行榜 {#edit}

要查看或编辑已添加的排行榜，在 **Leaderboards** 选项卡上向下滚动页面并点击 **Edit leaderboard '\<Technical leaderboard name\>'**。在那里您可以更改：

* 技术名称。
* 本地化显示名称。
* 排行榜是否为主排行榜。

有关填写字段的详细信息，请参阅 [创建排行榜](#create) 部分。

{% note info %}

如果您需要编辑无权访问的数据（例如，更改记录、隐藏或从排行榜中删除某些用户），请写信至[支持聊天](https://yandex.com/chat/#/user/a4fa5c06-75db-9b38-6eea-b1673785f7d5){.external}。

{% endnote %}
