Переменные окружения

Вы можете получать информацию об окружении, в котором работает игра. Для этого используйте объект environment.

 1{
 2  app: {
 3    id: string;
 4  };
 5  i18n: {
 6    lang: string;
 7  };
 8  payload?: string;
 9  referrer?: {
10    type: "promo";
11    promoId: string;
12    intent?: string;
13    inappId?: string;
14  }
15}

Объект environment

Содержит переменные окружения игры.

Параметр

Тип

Описание

app

object

Данные игры.

i18n

object

Интернационализация на сервисе.

payload

string

Значение параметра payload из адреса игры. Необязательный параметр. Например, для игры https://yandex.ru/games/app/123?payload=test значение test можно получить так: ysdk.environment.payload.

Структура app

Параметр

Тип

Описание

id

string

Идентификатор игры.

Структура i18n

Параметр

Тип

Описание

lang

string

Язык интерфейса Яндекс Игр в формате ISO 639-1. Например, "tr" означает, что игра сейчас запущена в турецком интерфейсе Яндекс Игр. Этот параметр нужно использовать для автоматического определения языка пользователя в игре (пункт 2.14).

Пример

1const ysdk = (await YaGames.init());
2const lang = ysdk.environment.i18n.lang; // 'en', 'ru', ...

Структура referrer

Используйте ysdk.environment.referrer, чтобы обрабатывать переходы игроков из акционных баннеров в каталоге. Преимущества:

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

Настройка

  1. В Консоли разработчика добавьте промоакцию. Платформа автоматически сгенерирует диплинк (deeplink) для акционных баннеров в каталоге.

    Пример ссылки с параметрами акции:

    https://yandex.ru/games/app/{id}?lang=ru&referrer=promo&promo_id={PROMO_ID}&promo_intent={INTENT}&inapp_id={INAPP_ID}
    

    Параметр

    Описание

    Обязательность

    Источник

    referrer

    Говорит платформе, что переход из акции.

    Значок галочки

    Всегда promo

    promo_id

    ID акции для маршрутизации и аналитики.

    Значок галочки

    ID

    promo_intent

    Произвольная подсказка для маршрутизации внутри игры и аналитики.

    Intent

    inapp_id

    ID инап-покупки, с которой связана акция в игре.

    ID инапа

  2. Добавьте в игру обработку перехода: SDK передает параметры диплинка в объект ysdk.environment.referrer — используйте их, чтобы показать игроку нужный экран.

    Параметр

    Тип

    Описание

    Источник

    type

    "promo"

    Показывает источник перехода. Отслеживайте type: "promo", чтобы собирать аналитику по промоакциям.

    referrer=promo

    promoId

    string

    ID акции с вкладки Промоакции в Консоли. Используйте, чтобы настроить действие для конкретной акции и собрать по ней аналитику.

    promo_id

    intent

    string

    Произвольная строка, например open_starter_pack. Используйте, чтобы настроить типовое действие после перехода по акции и собрать по нему аналитику. Опциональный параметр.

    promo_intent

    inappId

    string

    ID инап-покупки с вкладки Инапы в Консоли. Используйте, чтобы открыть платформенный диалог покупки. Опциональный параметр (только для скидочных акций).

    inapp_id

  3. Проверьте переходы: на вкладке Промоакции в поле Проверить переход нажмите В опубликованной версии или В черновике. Если все настроено правильно, вы увидите экран с акцией: оффер, магазин или конкретную инап-покупку.

Пример

 1// 1. Инициализация SDK
 2const ysdk = await YaGames.init();
 3
 4// 2. Получите referrer
 5const { referrer } = ysdk.environment;
 6
 7// 3. Обработайте переход из акции
 8if (referrer?.type === 'promo') {
 9    if (referrer.inappId) {
10        showPurchaseScreen(referrer.inappId);
11    } else if (referrer.intent) {
12        openScreen(referrer.intent);
13    }
14}

Типовые сценарии

Сценарий

Целевая аудитория

Цель

Пример

Скидка на товар

Неплатящие игроки

Первый платеж

promo_id=SPRING_DISCOUNT
promo_intent=open_starter_pack
inapp_id=starter_pack_001

showPurchaseScreen()

VIP-оффер или открытие магазина

Платящие игроки

Рост среднего чека

promo_id=VIP_PROMO
promo_intent=open_shop

openShop()

Сезонная акция

Все активные игроки

Удержание

promo_id=SALE_SPRING_2026

→ базовый флоу, баннер


Примечание

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

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

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

Данные игры.

Идентификатор игры.

Интернационализация на сервисе.

Язык интерфейса Яндекс Игр в формате ISO 639-1. Например, "tr" означает, что игра сейчас запущена в турецком интерфейсе Яндекс Игр. Рекомендуем использовать этот параметр для определения языка пользователя в игре.

Значение параметра payload из адреса игры. Необязательный параметр. Например, для игры https://yandex.ru/games/app/123?payload=test значение test можно получить так: ysdk.environment.payload.

Данные о переходе из промоакции. Присутствует, если игра открыта по диплинку из акционного баннера. undefined в другом случае.

Источник перехода. Всегда "promo".

ID акции с вкладки Промоакции в Консоли.

Произвольная строка, например open_starter_pack. Опциональный параметр.

ID инап-покупки с вкладки Инапы в Консоли. Опциональный параметр (только для скидочных акций).