游戏内购

游戏要求第1.13点

内部购买的技术要求:

  1. 连接了消费方法

  2. 平台货币的名称和图标来自SDK

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

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

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

消费方法

1.13.1. 连接了消费方法。 如果在设置消费前添加游戏内购买并对其进行测试,那么测试结束后可能会留下未处理的支付,这将使得通过审核变得不可能。

检查步骤

  1. 如有必要,为测试购买添加登录。

  2. 打开游戏。

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

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

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

自动检测门户货币

1.13.2. 平台货币的名称和图标来自SDK

从SDK获取货币数据

  1. 使用payments.getCatalog()方法获取用户可用的购买项目列表及其价格。
  2. 对于每个购买项目,从IProduct对象的属性中获取平台货币的名称和图标:
    • IProduct.price: string —— 带货币代码的价格。
    • IProduct.priceCurrencyCode: string —— 货币代码。
    • IProduct.getPriceCurrencyImage(size: 'small' | 'medium' | 'svg')返回string —— 货币图标的地址。

检查步骤

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

    1. 打开 Yandex游戏控制台
    2. 选择所需的游戏。
    3. 在左上角点击 Open with debug panel
    1. 打开所需的游戏。

    2. 在浏览器地址栏末尾添加 &debug-mode=16

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

  2. 点击 SDK mocks ⚒️ 按钮。

  3. 点击 货币图标 🪙。参数将变为 Currency mock is enabled

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

货币的文字表示应该变成 TST,图标应该变成日元符号(¥)。如果它们没有改变,意味着 SDK 的方法没有被使用,违反了要求条款 3.8。这样的游戏会被审核员拒绝。

保存购买

重要

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

1.13.3. 从同一个账户完成的购买应当在其它设备和浏览器打开游戏时保持并显示出来。有关购买商品列表的更多信息,请参阅获取已购商品列表部分。

检查步骤

  1. 如有需要,为测试购买添加登录信息。

  2. 打开游戏。

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

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

  5. 关闭游戏标签页。

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

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

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

购买与提议相符

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

关闭广告

检查步骤

  1. 如有必要,为测试购买添加登录信息。

  2. 打开游戏。

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

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

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

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

    备注

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

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

    • 奖励视频广告块(rewarded video),因为观看这些广告可以为玩家带来奖励。

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

下一篇