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

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

对于电视：

1. 游戏占据整个屏幕区域，支持全屏模式。
2. 支持使用电视遥控器上的方向键控制。仅使用遥控器的方向键就足以完整体验游戏。
3. 支持电视遥控器上的**Back**和**OK**按钮。
4. 没有应用内购买。
5. 没有指向开发者其他游戏的链接。

{% endnote %}


## 处理方向键和OK按钮事件 {#arrows-and-ok}

遥控器按钮应在游戏内和以下部分正常工作：

- 游戏前的开始菜单（如果有）。例如，应支持通过按遥控器上的**OK**按钮启动游戏，或使用方向键选择关卡。
- 通过**Back**按钮调出的游戏内菜单。

遥控器一次只能触发一个事件。如果游戏需要同时使用多个按键，请将某些动作设为自动，例如跳跃或向前移动。

遥控器按钮对应以下事件：

- 方向键：`ArrowLeft`、`ArrowUp`、`ArrowRight`、`ArrowDown`。
- **OK**：`Enter`。

详细说明请参见[KeyboardEvent文档](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key){.external}。

对于支持手柄的游戏引擎，电视遥控器会被注册为手柄。请根据手柄文档配置方向键和**OK**按钮事件处理：[Unity](https://docs.unity3d.com/ScriptReference/KeyCode.html){.external}、[Construct](https://www.construct.net/en/make-games/manuals/construct-3/plugin-reference/gamepad){.external}、[Defold](https://defold.com/manuals/input-gamepads/){.external}。

## 处理Back按钮事件 {#back-button}

所有支持Smart TV的电视遥控器上都有**Back**按钮。

游戏中**Back**按钮的主要事件：

- 在游戏开始菜单中 —— 调出确认退出游戏的窗口。
- 在游戏过程中：
    - 单次按下 —— 暂停游戏并调出游戏菜单。
    - 连按两次 —— 调出确认退出游戏的窗口。

事件的详细说明请参见[事件](https://yandex.com/dev/games/doc/zh/sdk/sdk-events.md)。

## 与Yandex Games SDK交互 {#sdk-interaction}

在[初始化Yandex Games SDK](https://yandex.com/dev/games/doc/zh/sdk/sdk-about.md)后，`deviceInfo`对象将在`type`字段中返回用户的设备类型。

在电视上启动游戏时，`type`字段将返回值为`tv`的字符串。之后，您可以向游戏传递相应的遥控器控制逻辑。您还可以传递游戏过程中需要的文本、教程和其他材料。

关于`deviceInfo`对象及其方法的详细信息，请参见[其他对象和SDK参数](https://yandex.com/dev/games/doc/zh/sdk/sdk-params.md)。

## 添加游戏 {#game-add}

实现对电视遥控器按钮的支持后，您可以将游戏添加到Yandex Games目录中。在Yandex Games 控制台填写游戏草稿时，在支持的平台中选择**TV**。

成功通过审核后，游戏将在专门的[电视套餐](https://yandex.com/games/?bundle=tv){.external}中提供，并对电视用户可用。

## 测试游戏 {#game-test}

您可以在支持Yandex TV商店的电视上打开游戏草稿进行测试：

1. 登录Yandex Games应用并等待开始页面加载。
2. 在遥控器上输入按键序列← ↑ ← ↑ ← ↑ ← ↑。将打开输入屏幕。

    {% note info %}

    如果选中了开始页面界面的左上角元素，此序列才会生效。

    {% endnote %}

3. 在字段中输入游戏ID。
