安装和使用
Yandex Games SDK 是一个可用于将第三方开发者创建的游戏轻松集成到 Yandex Games 平台的库。
添加 SDK 是通过审核的前提条件。
您可以使用 SDK 执行以下操作:
- 集成广告投放。
- 设置自动切换到全屏。
- 设置游戏期间的屏幕方向并添加旋转设备方向提示。
安装
注意
Yandex Games SDK 既可以同步添加,也可以异步添加。这两种方式的效果一样。但是,异步方法支持通过回调函数控制安装。请选择最适合您需要的方法。
Yandex的服务器
备注
在开发时,使用本地服务器代理/sdk.js
。
请在HTML页面的head
标签中添加以下行:
<!-- Yandex Games SDK -->
<script src="/sdk.js"></script>
在这种方法中,可以为脚本使用async
, defer
和onload
属性。例如:
<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 方面的问题或有其他问题想要咨询,请联系支持部门: