---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.4
alternate:
  - https://yandex.com/dev/games/doc/en/requirements/1/19.md
  - https://yandex.com/dev/games/doc/hi/requirements/1/19.md
  - https://yandex.com/dev/games/doc/ko/requirements/1/19.md
  - https://yandex.com/dev/games/doc/ru/requirements/1/19.md
  - https://yandex.com/dev/games/doc/tr/requirements/1/19.md
  - https://yandex.com/dev/games/doc/vi/requirements/1/19.md
  - https://yandex.com/dev/games/doc/zh/requirements/1/19.md
  - href: zh/requirements/1/19.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

# SDK方法

<!-- 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 -->

{% note info "游戏要求第1.19点" %}

SDK Yandex Games 的初始化及其方法的使用必须严格遵循文档和游戏要求：

1. SDK的初始化必须严格按照[连接和使用](https://yandex.com/dev/games/doc/zh/sdk/sdk-about.md)页面所述进行。

2. 当用户可以开始玩游戏时，必须调用`Game Ready`中的`LoadingAPI.ready()`方法。

3. 使用游戏玩法标记是可选的，但如果在游戏中使用了 `GameplayAPI.start()` 和 `GameplayAPI.stop()` 方法，则事件发送的时机必须严格符合[游戏玩法](https://yandex.com/dev/games/doc/zh/sdk/sdk-game-events.md#gameplay)节中的描述。

4. 跟踪 `game_api_pause` 和 `game_api_resume` 事件是可选的，但如果游戏中使用了 `ysdk.on()` 和 `ysdk.off()` 方法，那么事件处理逻辑必须严格遵循在 [游戏暂停与恢复事件](https://yandex.com/dev/games/doc/zh/sdk/sdk-events.md#pause-resume) 部分所描述的。

{% endnote %}



## SDK初始化 {#sdk-initializing}

**1.19.1.** SDK的初始化必须严格按照[连接和使用](https://yandex.com/dev/games/doc/zh/sdk/sdk-about.md)页面所述进行。要满足该要求，必须使用最新的加载器。

### 检查加载器的更新性 {#loader-check}

1. 使用debug面板启动游戏。

   <!-- source: zh/_includes/requirements/start-debug-panel.md -->
   {% list tabs %}

   - 通过开发者控制台
       1. 打开 [Yandex游戏控制台](https://games.yandex.com/console){.external}。
       1. 选择所需的游戏。
       1. 在左上角点击 **Open with debug panel**。

   - 通过地址栏
       1. 打开所需的游戏。
       1. 在浏览器地址栏末尾添加 `&debug-mode=16`。

          链接示例：`https://yandex.com/games/app/XXXX?debug-mode=16`，其中 `XXXX` —— 游戏的唯一标识符。

   {% endlist %}
   <!-- endsource: zh/_includes/requirements/start-debug-panel.md -->

1. 在Game Ready指示器的左侧，找到两个字母：

    - `IF` (init false) —— 游戏支持旧加载器。将光标悬停在 `IF`上时，会显示_Is loader: false_。

    - `IT` (init true) —— 游戏支持新加载器。将光标悬停在 `IT`上时，会显示_Is loader: true_。

### 示例 {#examples-loader}

<div class="table-50">

#|
|| **加载器** | **评论** ||
|| ![游戏截图：debug面板显示IF，下方弹窗文字为："SDK was initialized Version: v2. Is loader: false."](../../_images/requirements/1-19-sdk-methods/gra/old-1.webp) | 旧加载器。在debug面板显示`IF`。 ||
|| ![游戏截图：debug面板显示IF，下方弹窗文字为："SDK was initialized Version: v2. Is loader: false."](../../_images/requirements/1-19-sdk-methods/gra/old-2.webp) | 旧加载器。在debug面板显示`IF`。 ||
|| ![游戏截图：debug面板显示IT，下方弹窗文字为："SDK was initialized Version: v2. Is loader: true."](../../_images/requirements/1-19-sdk-methods/gra/new-1.webp) | 新加载器。在debug面板显示`IT`。 ||
|| ![游戏截图：debug面板显示IT，下方弹窗文字为："SDK was initialized Version: v2. Is loader: true."](../../_images/requirements/1-19-sdk-methods/gra/new-2.webp) | 新加载器。在debug面板显示`IT`。 ||
|#

</div>



## Game Ready {#gameready}

**1.19.2.** 当用户已经可以开始游戏时，请调用`LoadingAPI.ready()`方法，从[Game Ready](https://yandex.com/dev/games/doc/zh/sdk/sdk-game-events.md#gameready)进行。

为了满足该要求，`LoadingAPI.ready()`方法必须在[正确的时刻](#gameready-correct)被调用。

### 加载屏幕 {#loading-screen}

游戏加载期间，Yandex Games平台首先显示其自己的加载屏幕 - 游戏图标脉冲闪烁，并显示"加载中"字样。点击屏幕可以手动关闭它。

{% cut "Yandex Games加载屏幕的外观" %}

![Yandex Games加载屏幕：游戏图标脉冲闪烁，并显示"加载中"字样](../../_images/requirements/1-19-sdk-methods/gra/yandex-games-loading.webp)

{% endcut %}

审核检查的是游戏本身的加载屏幕。如果其中包含禁止内容 - 第三方链接、未经授权的标志、侵犯版权的元素 - 这将成为拒绝的依据。

### 准备工作 {#gameready-preparation}

1. 用debug面板启动游戏。

   <!-- source: zh/_includes/requirements/start-debug-panel.md -->
   {% list tabs %}

   - 通过开发者控制台
       1. 打开 [Yandex游戏控制台](https://games.yandex.com/console){.external}。
       1. 选择所需的游戏。
       1. 在左上角点击 **Open with debug panel**。

   - 通过地址栏
       1. 打开所需的游戏。
       1. 在浏览器地址栏末尾添加 `&debug-mode=16`。

          链接示例：`https://yandex.com/games/app/XXXX?debug-mode=16`，其中 `XXXX` —— 游戏的唯一标识符。

   {% endlist %}
   <!-- endsource: zh/_includes/requirements/start-debug-panel.md -->

1. 在debug面板找到Game Ready指示器 ![SVG](../../_images/debug-panel/gra-purple.svg)。

### Game Ready检查逻辑 {#gameready-check}

1. 检查紫色指示器 ![SVG](../../_images/debug-panel/gra-purple.svg) 是否在90秒内变为绿色 ![SVG](../../_images/debug-panel/gra-green.svg)。
1. 重启游戏。
1. 重新检查指示器颜色何时变化。

审核在检查时考虑的场景：

<div class="table-50">

#|
|| **场景** | **示例** ||
|| Yandex Games加载屏幕被手动关闭 - 点击屏幕将其关闭，然后检查指示器变化的时刻。 | ![游戏加载视频：点击屏幕关闭Yandex Games加载屏幕，随后显示游戏自身的加载屏幕，之后游戏可供交互。](../../_images/requirements/1-19-sdk-methods/gra/without-yandex-games-loading.gif) ||
|| Yandex Games加载屏幕自动消失 - 等待屏幕自动隐藏，然后检查指示器变化的时刻。 | ![游戏加载视频：Yandex Games加载屏幕自动消失，随后短暂显示游戏自身的加载屏幕，之后游戏可供交互。](../../_images/requirements/1-19-sdk-methods/gra/with-yandex-games-loading.gif) ||
|#

</div>

{% note info %}

Game Ready必须在两种场景中都能正常工作。如果`LoadingAPI.ready()`的调用绑定到特定时间点而非游戏的实际就绪状态，则在手动关闭Yandex Games加载屏幕时这一问题会显现，审核将标记为违规。

{% endnote %}

### Game Ready工作正确 {#gameready-correct}

紫色指示器 ![SVG](../../_images/debug-panel/gra-purple.svg) 在以下时刻变为绿色 ![SVG](../../_images/debug-panel/gra-green.svg)：

- 菜单可用时；
- 当游戏可供交互时（包括初始动画）。

<div class="table-50">

#|
|| **Game Ready** | **评论** ||
|| ![游戏加载视频：加载期间debug面板指示器闪烁蓝色，当菜单出现时，指示器变为绿色。](../../_images/requirements/1-19-sdk-methods/gra/menu-1.gif) | 绿色指示器在菜单可用时出现。 ||
|| ![游戏加载视频：加载期间debug面板指示器闪烁蓝色，当菜单出现时，指示器变为绿色。](../../_images/requirements/1-19-sdk-methods/gra/menu-2.gif) | 绿色指示器在菜单可用时出现。 ||
|| ![游戏加载视频：加载期间debug面板指示器闪烁蓝色，当菜单出现时，指示器变为绿色。](../../_images/requirements/1-19-sdk-methods/gra/menu-3.gif) | 绿色指示器在菜单可用时出现。 ||
|| ![游戏加载视频：加载期间debug面板指示器闪烁蓝色，当游戏可供交互时，指示器变为绿色。](../../_images/requirements/1-19-sdk-methods/gra/game-ok-1.gif) | 当游戏可供交互时，会出现绿色指示灯。 ||
|| ![游戏加载视频：加载期间debug面板指示器闪烁蓝色，当游戏可供交互时，指示器变为绿色。](../../_images/requirements/1-19-sdk-methods/gra/game-ok-2.gif) | 当游戏可供交互时，会出现绿色指示灯。 ||
|| ![游戏加载视频：加载期间debug面板指示器闪烁蓝色，当游戏可供交互时，指示器变为绿色。](../../_images/requirements/1-19-sdk-methods/gra/game-ok-3.gif) | 当游戏可供交互时，会出现绿色指示灯。 ||
|#

</div>

### Game Ready工作异常 {#gameready-incorrect}

紫色指示器 ![SVG](../../_images/debug-panel/gra-purple.svg) 变成了绿色 ![SVG](../../_images/debug-panel/gra-green.svg)：

- 在游戏可供交互之前（存在进度条、加载动画、黑屏等情况）；
- 在游戏准备好交互几秒钟后。

<div class="table-50">

#|
|| **Game Ready** | **评论** ||
|| ![游戏加载视频：加载期间debug面板指示器为绿色，但游戏尚无法交互。](../../_images/requirements/1-19-sdk-methods/gra/before-game-1.gif) | 在游戏可供交互之前，绿色指示灯就会亮起。 ||
|| ![游戏加载视频：加载期间debug面板指示器先闪烁蓝色，然后变为绿色，但游戏尚无法交互。](../../_images/requirements/1-19-sdk-methods/gra/before-game-2.gif) | 在游戏可供交互之前，绿色指示灯就会亮起。 ||
|| ![游戏加载视频：加载和广告期间debug面板指示器为绿色，但游戏尚无法交互。](../../_images/requirements/1-19-sdk-methods/gra/before-game-3.gif) | 在游戏可供交互之前，绿色指示灯就会亮起。 ||
|| ![游戏视频：游戏已可供交互，但debug面板指示器仍继续闪烁蓝色数秒。](../../_images/requirements/1-19-sdk-methods/gra/after-start-1.gif) | 绿色指示灯在游戏可以交互几秒后才出现。 ||
|| ![游戏视频：游戏已可供交互，但debug面板指示器仍继续闪烁蓝色数秒。](../../_images/requirements/1-19-sdk-methods/gra/after-start-2.gif) | 绿色指示灯在游戏可以交互几秒后才出现。 ||
|#

</div>

### Game Ready未集成 {#no-gameready}

指示器在90秒后变成红色 ![SVG](../../_images/debug-panel/gra-red.svg)。

<div class="table-50">

#|
|| **Game Ready** | **评论** ||
|| ![问答游戏视频：游戏进行中debug面板指示器闪烁蓝色，随后变为红色。](../../_images/requirements/1-19-sdk-methods/gra/no-gra-1.gif) | 指示器变成红色 —— Game Ready未集成。 ||
|#

</div>



## 游戏玩法标记 {#gameplay}

**1.19.3.** `GameplayAPI.start()` 和 `GameplayAPI.stop()` 方法允许标记游戏过程的开始和停止。如果在游戏中使用它们，那么事件发送的时刻将严格对应于 [游戏玩法](https://yandex.com/dev/games/doc/zh/sdk/sdk-game-events.md#gameplay) 部分中的描述。

### 准备工作 {#gameplay-preparation}

1. 使用 [debug面板](https://yandex.com/dev/games/doc/zh/console/debug-panel.md) 启动游戏。

   <!-- source: zh/_includes/requirements/start-debug-panel.md -->
   {% list tabs %}

   - 通过开发者控制台
       1. 打开 [Yandex游戏控制台](https://games.yandex.com/console){.external}。
       1. 选择所需的游戏。
       1. 在左上角点击 **Open with debug panel**。

   - 通过地址栏
       1. 打开所需的游戏。
       1. 在浏览器地址栏末尾添加 `&debug-mode=16`。

          链接示例：`https://yandex.com/games/app/XXXX?debug-mode=16`，其中 `XXXX` —— 游戏的唯一标识符。

   {% endlist %}
   <!-- endsource: zh/_includes/requirements/start-debug-panel.md -->

2. 在debug面板上找到游戏手柄按钮 🎮。

### 检查游戏玩法标记 {#gameplay-check-principle}

根据行动追踪游戏玩法指示器的状态：

   - 当玩家开始游戏过程或在暂停后恢复时，应调用 `GameplayAPI.start()` 方法。游戏玩法指示器应变绿 ![SVG](../../_images/debug-panel/gameplay-on.svg) —— 表示游戏正在进行中。

   - 当玩家结束游戏过程或将其暂停时，应调用 `GameplayAPI.stop()` 方法。游戏玩法指示器应变红 ![SVG](../../_images/debug-panel/gameplay-off.svg) —— 表示游戏已暂停。

审核在检查时考虑的场景：

- 启动和结束关卡。
- 打开和关闭游戏菜单。
- 打开和关闭购买菜单。
- 启动和关闭广告。
- 游戏失去焦点并返回游戏（切换到另一个浏览器标签页或另一个窗口）。

{% note tip %}

要了解焦点的位置（在游戏上还是在另一个窗口），请跟踪 [事件](https://yandex.com/dev/games/doc/zh/sdk/sdk-events.md#pause-resume) `game_api_resume` 和 `game_api_pause`。

{% endnote %}

### 游戏玩法标注正确 {#gameplay-correct}

指示器颜色会根据不同的场景变化。

<div class="table-50">

#|
|| **游戏** | **评论** ||
|| ![关卡选择和启动视频：关卡出现时，游戏进程指示器（游戏手柄图标）变为绿色。](../../_images/requirements/1-19-sdk-methods/gameplay/new-lvl-ok.gif) | 在新一关的开始时，指示器为绿色。 ||
|| ![游戏视频：关卡结束时，游戏进程指示器（游戏手柄图标）从绿色变为红色。](../../_images/requirements/1-19-sdk-methods/gameplay/lvl-done-ok.gif) | 关卡结束，指示器变为红色。 ||
|| ![游戏视频：关卡进行中游戏进程指示器（游戏手柄图标）为绿色，打开菜单后变为红色，退出菜单后再次变为绿色。](../../_images/requirements/1-19-sdk-methods/gameplay/menu-close-back-ok.gif) | 在进入菜单后再返回游戏时，指示器颜色会发生变化。 ||
|| ![游戏视频：关卡进行中游戏进程指示器（游戏手柄图标）为绿色，打开菜单后变为红色，退出菜单后再次变为绿色。](../../_images/requirements/1-19-sdk-methods/gameplay/menu-open-ok.gif) | 在进入菜单后再返回游戏时，指示器颜色会发生变化。 ||
|| ![游戏视频：从游戏切换到应用内购买商店时，游戏进程指示器（游戏手柄图标）从绿色变为红色。返回游戏后，指示器变为绿色。](../../_images/requirements/1-19-sdk-methods/gameplay/purchases-open-close-ok.gif) | 在进入购买菜单后再返回游戏时，指示器颜色会发生变化。 ||
|| ![游戏视频：广告开启时，游戏进程指示器（游戏手柄图标）从绿色变为红色。返回游戏后，指示器变为绿色。](../../_images/requirements/1-19-sdk-methods/gameplay/ad-closed-ok.gif) | 广告关闭后，指示器颜色从红色变成绿色。 ||
|| ![游戏视频：游戏进行中游戏进程指示器（游戏手柄图标）为绿色。打开其他程序（文件资源管理器）时，指示器变为红色。切换回浏览器游戏标签页后，指示器变为绿色。](../../_images/requirements/1-19-sdk-methods/gameplay/browser-open-ok.gif) | 当从浏览器标签页切换到另一个窗口然后返回游戏时，指示器颜色会发生变化。 ||
|#

</div>

### 游戏玩法标注不正确 {#gameplay-incorrect}

指示器颜色不会根据不同的场景变化。

<div class="table-50">

#|
|| **游戏** | **评论** ||
|| ![游戏视频：关卡结束后，游戏进程指示器（游戏手柄图标）仍为绿色。](../../_images/requirements/1-19-sdk-methods/gameplay/lvl-done-bad.gif) | 关卡结束，指示器颜色未从绿色变为红色。 ||
|| ![游戏视频：菜单打开后，游戏进程指示器（游戏手柄图标）仍为绿色。](../../_images/requirements/1-19-sdk-methods/gameplay/menu-open-bad.gif) | 在进入菜单时，指示器颜色未从绿色变为红色。 ||
|| ![游戏视频：广告开启时，游戏进程指示器（游戏手柄图标）从绿色变为红色。返回游戏后，指示器仍为红色。](../../_images/requirements/1-19-sdk-methods/gameplay/ad-closed-bad.gif) | 广告关闭后，指示器颜色未从红色变为绿色。 ||
|| ![游戏视频：游戏进行中游戏进程指示器（游戏手柄图标）为绿色。打开其他程序（文件资源管理器）时，指示器仍为绿色。](../../_images/requirements/1-19-sdk-methods/gameplay/browser-open-bad.gif) | 当从浏览器标签页切换到另一个窗口时，指示器颜色不发生变化。 ||
|#

</div>

## 联系审核 {#forma}

如果您认为自己正确使用了 SDK 方法并且您的游戏被错误地下架或未通过审核 —— 请填写下面的表格。

审核质量控制服务将重新检查决定并在游戏被不公平地封锁的情况下恢复它。

<div class="cut-button">

{% cut "打开表单" %}

<div style="padding: 15px;
         margin: 10px 0;
         background: #FFFFFF;
         border-radius: 10px;
         border: 1px solid var(--yc-color-line-generic);">
      <iframe height="400"
              width="100%"
              frameborder="0"
              id="moderation-1-19-form"
              src="https://forms.yandex.com/surveys/13487250.5a13659b18018197b1f339b05e2d4dacc05604a6/?answer_choices_52072484=62278442&iframe=1">
      </iframe>
</div>

{% endcut %}

</div>
