Установка и использование SDK

SDK Яндекс Игр — это библиотека, позволяющая быстро интегрировать игры, созданные сторонними разработчиками, в платформу Яндекс Игр.

Подключение SDK является обязательным условием для успешного прохождения модерации.

SDK предоставляет следующие возможности:

  • интегрировать показ рекламы;
  • управлять включением и отключением функциональности без обновления билда;
  • настроить автоматический переход в полноэкранный режим;
  • задать ориентацию экрана во время игры и добавить подсказку, в какую сторону следует повернуть устройство.

Установка

Подключить SDK Яндекс Игр можно как синхронным, так и асинхронным способом. Оба варианта равноправны. Однако асинхронное подключение позволяет контролировать процесс установки с помощью callback-функций. Выберите способ, который считаете более подходящим.

Добавьте в заголовок 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>

Для проксирования /sdk.js при разработке используйте локальный сервер.

Подключение на своем домене

Добавьте в заголовок 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>

Примечание

Сотрудники службы поддержки помогают разместить готовую игру или WebApp на платформе Яндекс Игр. На прикладные вопросы о разработке и тестировании предметно ответят другие разработчики в Сообществе в Telegram.

Если при использовании SDK Яндекс Игр вы столкнулись с проблемой или у вас появился вопрос, обратитесь в службу поддержки:

Написать в чат