Установка и использование SDK
SDK Яндекс Игр — это библиотека, позволяющая быстро интегрировать игры, созданные сторонними разработчиками, в платформу Яндекс Игр.
Подключение SDK является обязательным условием для успешного прохождения модерации.
SDK предоставляет следующие возможности:
- интегрировать показ рекламы;
- управлять включением и отключением функциональности без обновления билда;
- настроить автоматический переход в полноэкранный режим;
- задать ориентацию экрана во время игры и добавить подсказку, в какую сторону следует повернуть устройство.
Установка
Внимание
Путь https://yandex.ru/games/sdk/v2
устарел. Чтобы ваша игра успешно прошла модерацию, укажите актуальный путь для подключения SDK Яндекс Игр в зависимости от метода размещения:
-
Если вы загружаете архив игры в консоль разработчика, укажите относительный путь. Это рекомендуемый вариант.
-
Если вы используете интеграцию через
iframe
, укажите абсолютный путь.
Подключить SDK Яндекс Игр можно как синхронным, так и асинхронным способом. Оба варианта равноправны. Однако асинхронное подключение позволяет контролировать процесс установки с помощью callback-функций. Выберите способ, который считаете более подходящим.
Сервер Яндекса
Примечание
Для проксирования /sdk.js
при разработке используйте локальный сервер.
Добавьте в заголовок head
HTML-страницы строку следующего вида:
<!-- 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>
Свой домен
Добавьте в заголовок head
HTML-страницы строку следующего вида:
<!-- 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>
Использование
Для начала работы инициализируйте SDK, используя метод init()
объекта YaGames
.
YaGames
.init()
.then(ysdk => {
console.log('Yandex SDK initialized');
window.ysdk = ysdk;
});
Возможные проблемы
Uncaught ReferenceError: YaGames is not defined
Обратите внимание на порядок подключения скрипта sdk
: он должен быть подключен до выполнения YaGames.init().
Uncaught ReferenceError: ysdk is not defined
Вы попытались использовать методы SDK (реклама, покупки и т. д.) до момента инициализации SDK (сообщение Yandex SDK initialized
в консоли).
Если вы не знаете, как гарантировать порядок вызовов, перепишите места использования 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>
Примечание
Сотрудники службы поддержки помогают разместить готовую игру на платформе Яндекс Игр. На прикладные вопросы о разработке и тестировании предметно ответят другие разработчики в Сообществе в Telegram.
Если при использовании SDK Яндекс Игр вы столкнулись с проблемой или у вас появился вопрос, обратитесь в службу поддержки: