安装和使用

Yandex Games SDK 是一个可用于将第三方开发者创建的游戏轻松集成到 Yandex Games 平台的库。

添加 SDK 是通过审核的前提条件。

您可以使用 SDK 执行以下操作:

  • 集成广告投放。
  • 设置自动切换到全屏。
  • 设置游戏期间的屏幕方向并添加旋转设备方向提示。

安装

注意

路径 https://yandex.ru/games/sdk/v2 已过时。为了让您的游戏成功通过审核,请根据部署方法指定连接 Yandex Games SDK 的当前路径:

Yandex Games SDK 既可以同步添加,也可以异步添加。这两种方式的效果一样。但是,异步方法支持通过回调函数控制安装。请选择最适合您需要的方法。

Yandex的服务器

备注

在开发时,使用本地服务器代理/sdk.js

请在HTML页面的head标签中添加以下行:

<!-- Yandex Games SDK -->
<script src="/sdk.js"></script>

在这种方法中,可以为脚本使用async, deferonload属性。例如:

<script async src="/sdk.js" onload="initSDK()"></script>

请在HTML页面上添加以下代码:

<!-- Yandex Games SDK -->
<script>
    (function(d) {
        var s = d.createElement('script');
        s.src = '/sdk.js';
        s.async = true;
        s.onload = initSDK;
        d.body.append(s);
    })(document);
</script>

自己的域名

将以下字符串添加到 HTML 页面的 head 标记中:

<!-- Yandex Games SDK -->
<script src="https://sdk.games.s3.yandex.net/sdk.js"></script>

将以下代码添加到 HTML 页面中:

<!-- Yandex Games SDK -->
<script>
    (function(d) {
        var s = d.createElement('script');
        s.src = "https://sdk.games.s3.yandex.net/sdk.js";
        s.async = true;
        s.onload = initSDK;
        d.body.append(s);
    })(document);
</script>

使用

在开始前,使用 YaGames 对象的 init 方法初始化 SDK。

注意

YaGames.init()ysdk.getPayments() 方法中,可以传递一个可选参数 signed: boolean,该参数用于防作弊保护。参数值的选择取决于支付处理的位置:

  • 如果在客户端处理 — 调用方法时不传递参数或传递 signed: false。支付方法将返回明文数据。

  • 如果在服务器端处理 — 传递 signed: true。这种情况下,payments.getPurchases()payments.purchase() 方法的所有返回数据都会以加密形式包含在 signature 参数中。

使用默认参数初始化(signed: false)。

YaGames
    .init()
    .then(ysdk => {
        console.log('Yandex SDK initialized');
        window.ysdk = ysdk;
    });

使用 signed: true 参数初始化。

YaGames
    .init({ signed: true })
    .then(ysdk => {
        console.log('Yandex SDK initialized');
        window.ysdk = ysdk;
    });

 

可能的问题

未捕获的引用错误:YaGames 未定义

请注意 sdk 脚本的连接顺序:必须在执行 YaGames.init() 之前连接。

未捕获的引用错误:ysdk 未定义

您尝试在初始化 SDK(控制台中应显示 Yandex SDK initialized 消息)之前使用 SDK 方法(针对广告或购买等事务)。 如果您不清楚如何确保调用顺序,请重写 SDK 使用位置。为此,请将以下行:

ysdk.adv.showFullscreenAdv()

替换为:

YaGames.init().then(ysdk => ysdk.adv.showFullscreenAdv())

SDK 安装示例

<!-- Yandex Games SDK -->
<script src="/sdk.js"></script>
<script>
    YaGames.init().then(ysdk => {
        // ...
    });
</script>


备注

技术支持团队将协助您将已完成的游戏发布到 Yandex 游戏平台。关于开发和测试方面的具体问题,其他开发人员将在Discord 频道中进行回答。

如果您遇到 Yandex Games SDK 方面的问题或有其他问题想要咨询,请联系支持部门:

发送电子邮件
下一篇