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

内部购买的技术要求：

1. 连接了[消费方法](https://yandex.com/dev/games/doc/zh/sdk/sdk-purchases.md#check-purchases)。

2. 平台货币的名称和图标来自[SDK](https://yandex.com/dev/games/doc/zh/sdk/sdk-purchases.md#product-characteristics)。

3. 游戏进度保存在服务器上，并可供单一用户跨不同设备访问。

4. 所有游戏内购买的费用都以数字和门户网站货币名称显示。

5. 用户购买的图片、名称、组成和特性应该与购买提议中指定的参数相符。

6. 游戏中的购买列表与[开发人员控制台](https://games.yandex.com/console){.external}中的信息一致： {#1-13-6}
    - 如果 **In-app purchases** 选项卡有活跃购买，则它们存在于游戏中。
    - 如果 **In-app purchases** 选项卡为空或其购买处于非活跃状态，则它们不存在于游戏中。

{% endnote %}

## 消费方法 {#consummation}

**1.13.1.** 连接了[消费方法](https://yandex.com/dev/games/doc/zh/sdk/sdk-purchases.md#check-purchases)。 如果在设置消费前添加游戏内购买并对其进行测试，那么测试结束后可能会留下未处理的支付，这将使得通过审核变得不可能。

#### 检查步骤 {#consummation-check}

1. 如有必要，为[测试购买](https://yandex.com/dev/games/doc/zh/console/purchases.md#test)添加登录。

2. 打开游戏。

3. 完成购买并等待模态窗口出现。

4. 在模态窗口中不点击**好的**，刷新页面。

5. 检查购买是否已保存。

## 自动检测门户货币 {#currency-detection}

**1.13.2.** 平台货币的名称和图标来自[SDK](https://yandex.com/dev/games/doc/zh/sdk/sdk-purchases.md#product-characteristics)。

#### 从SDK获取货币数据 {#get-currency-data}

1. 使用[payments.getCatalog()](https://yandex.com/dev/games/doc/zh/sdk/sdk-purchases.md#getcatalog)方法获取用户可用的购买项目列表及其价格。
2. 对于每个购买项目，从`IProduct`对象的[属性](https://yandex.com/dev/games/doc/zh/sdk/sdk-purchases.md#product-characteristics)中获取平台货币的名称和图标：

    - `IProduct.price: string` —— 带货币代码的价格。
    - `IProduct.priceCurrencyCode: string` —— 货币代码。
    - `IProduct.getPriceCurrencyImage(size: 'small' | 'medium' | 'svg')`返回`string` —— 货币图标的地址。

#### 检查步骤 {#currency-detection-check}

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

   <!-- 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. 点击 **SDK mocks** ⚒️ 按钮。

3. 点击 [货币图标 🪙](https://yandex.com/dev/games/doc/zh/console/debug-panel.md#currency-icon)。参数将变为 **Currency mock is enabled**。

4. 等待5秒钟后重新加载游戏。

货币的文字表示应该变成 TST，图标应该变成日元符号（¥）。如果它们没有改变，意味着 SDK 的方法没有被使用，违反了[要求条款 1.13.2](https://yandex.com/dev/games/doc/zh/concepts/requirements.md#1-13-2)。这样的游戏会被审核员拒绝。

## 保存购买 {#purchases-save}

**1.13.3.** 从同一账户进行的购买必须保存在服务器上（Yandex Games 或外部服务器），并且无论设备或浏览器如何更改都可以访问。使用 SDK 方法，您可以[获取已购买商品的列表](https://yandex.com/dev/games/doc/zh/sdk/sdk-purchases.md#getpurchases)。

#### 检查步骤 {#purchases-save-check}

{% note warning %}

游戏应当只运行一个会话。不要同时在多个浏览器中打开游戏。

{% endnote %}

1. 如有需要，为[测试购买](https://yandex.com/dev/games/doc/zh/console/purchases.md#test)添加登录信息。

1. 打开游戏。

1. 完成购买并等待其处理。

1. 检查购买是否已应用：购买的游戏货币应出现在游戏中。

1. 关闭游戏标签页。

1. 在另一设备或不同浏览器上，通过同一域名进入游戏。

1. 使用同一登录信息登录。

1. 检查购买和进度是否已保存。

## 购买与提议相符 {#purchase-correct}

**1.13.5.** 用户购买的图片、名称、组成和特性应该与购买提议中指定的参数相符。

### 关闭广告 {#ads-off}

#### 检查步骤 {#ads-off-check}

1. 如有必要，为[测试购买](https://yandex.com/dev/games/doc/zh/console/purchases.md#test)添加登录信息。

1. 打开游戏。

1. 完成关闭广告的购买并等待其处理。

1. 确认购买后游戏内的广告是否消失：

    - 如果购买的名称或描述中指明应关闭所有广告，请检查全屏广告和贴边横幅（sticky-banners）是否在购买后都已消失。

    - 如果购买描述中没有具体说明，那么完成购买后应关闭所有广告。

    {% note info %}

    在检查关闭广告时，以下情况不要求广告消失：

    - 游戏启动时的全屏广告块。它会被平台强制显示。

    - 奖励视频广告块（rewarded video），因为观看这些广告可以为玩家带来奖励。

    {% endnote %}

如果购买后至少有一种广告仍然显示，这将被视为违规，游戏将被拒绝。
