Перейти к основному содержимому

Публикация игры на площадку Яндекс Игры

В этом туториале вы подготовите игру с SDK GamePush, подключите площадку Яндекс Игры, заполните черновик в консоли разработчика, отправите игру на модерацию и при желании передадите её на дистрибуцию.

Вы можете обращаться к этому материалу всякий раз, когда нужно опубликовать новую HTML5-игру на Яндекс Играх.

Для начала работы вам потребуется:

Подготовка игры к публикации на Яндекс Игры​

Подключение SDK GamePush​

Для интеграции плагина в движок воспользуйтесь инструкциями ниже:

Основные методы​

Game Ready​

Основной метод, который должна вызывать ваша игра, чтобы пройти модерацию Яндекс Игр, — Game Ready. Он сообщает площадке, что игра загрузилась и готова к первому взаимодействию с игроком.

Вызовите метод после полной загрузки игры:

gp.gameStart();

Подробнее: Старт игры.

Пауза​

Добавьте модуль паузы, чтобы SDK площадки и GamePush корректно останавливали игровой процесс при потере фокуса, сворачивании игры или показе рекламы.

gp.on('pause', () => {
// Остановить геймплей, таймеры, физику
});

gp.on('resume', () => {
// Возобновить геймплей
});

Подробнее: Пауза.

Разметка геймплея​

Методы старта и завершения геймплея помогают SDK площадки понять, находится ли игра в активной фазе игрового процесса, в главном меню или на паузе.

// В начале уровня / игровой сессии
gp.gameplayStart();

// В конце уровня, при возврате в меню или постановке на паузу
gp.gameplayStop();

Подробнее: Геймплей.

Звук​

Модуль звука помогает избежать типичных проблем на Яндекс Играх: музыка продолжает играть на Android при сворачивании, звук во время рекламы и подобные случаи.

gp.sounds.on('mute', () => {
// Выключить все звуки в игре
});

gp.sounds.on('unmute', () => {
// Включить звуки обратно
});

Подробнее: Звуки.

Автоопределение языка​

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

tip

Любой язык, которого нет в игре, определяйте как английский.

const lang = gp.language; // ISO 639-1, например 'ru', 'en'

Подробнее: Язык.

Сохранения и загрузка прогресса​

Перед публикацией на любую площадку добавьте сохранение и загрузку прогресса. Через GamePush прогресс уходит в облако Яндекс Игр через модуль Игрока.

  1. Создайте поля игрока в панели управления GamePush (Игроки → Поля игрока).
  2. Изменяйте поля в игре и подтверждайте изменения через sync.
  3. При старте игры читайте сохранённые значения из полей игрока.
  4. Тип хранилища для конкретной площадки выберите в панели управления проектом в настройках площадки.
// Сохранение
gp.player.set('level', 2);
gp.player.set('coins', 150);
await gp.player.sync();

// Загрузка (после инициализации SDK)
const level = gp.player.get('level');
const coins = gp.player.get('coins');
tip

sync отправляет локальные изменения игрока в облако и применяет серверную логику (необработанные покупки, триггеры и другое). Вызывайте его после важных действий: завершения уровня, получения награды, покупки.

Подробнее: Облачные сохранения.

Реклама​

На старте игры можно сразу вызвать два рекламных блока: Preloader и Sticky-баннер. На Яндекс Играх Preloader всегда показывает сама площадка, а Sticky-баннер настраивается в консоли в разделе Реклама. Тем не менее рекомендуем добавить вызовы в код, чтобы игра была готова и к другим веб-площадкам.

// Preloader — до начала игры
await gp.ads.showPreloader();

// Sticky-баннер — за пределами игровой области; на Яндекс Играх может быть под, над или справа от игры
gp.ads.showSticky();

Основной рекламный блок в браузерных играх — межстраничная реклама (Fullscreen). Чаще всего её показывают между уровнями. В играх без уровней — после неигровых действий или с остановкой игры и обратным отсчётом перед показом.

warning

Не вызывайте fullscreen-рекламу во время активного геймплея. Это может стать причиной отклонения игры площадкой и вызвать негатив у игроков.

await gp.ads.showFullscreen();

Для дополнительной монетизации добавьте рекламу за вознаграждение (Rewarded): бонус в конце уровня, пополнение валюты, воскрешение при поражении, ускорение таймеров и похожие механики.

const success = await gp.ads.showRewardedVideo();
if (success) {
gp.player.add('coins', 100);
await gp.player.sync();
}

Подробнее: Реклама и Sticky-баннер для Яндекс Игр.

Покупки​

Кроме рекламы площадка поддерживает внутриигровые покупки: скины, валюту, билеты пропуска rewarded-рекламы, премиум-статусы, боевые пропуска и другие варианты.

На что обратить внимание при интеграции:

  • Корректно заполняйте теги покупок и используйте их единообразно в коде.
  • Правильно консумируйте разовые покупки и выдавайте товар.
  • Заполняйте курсы валют в панели GamePush — сервис помогает автоматически подставлять цены для площадок.

Пример разовой покупки:

await gp.payments.purchase({ tag: 'GOLD_1000' });
gp.player.add('gold', 1000);
await gp.player.sync();
await gp.payments.consume({ tag: 'GOLD_1000' });

Пример постоянной покупки:

await gp.payments.purchase({ tag: 'VIP' });

if (gp.payments.has('VIP')) {
// Применить преимущества VIP
}

Подробнее: Платежи и настройка площадки Яндекс Игр.

Тестирование в песочнице GamePush​

С GamePush можно проверить интеграцию основных методов до загрузки билда на площадку:

  • Game Ready вызывается вовремя
  • Язык определяется корректно
  • Музыка и звуки останавливаются во время рекламы
  • Покупки работают из игры
  • Необработанные покупки выдаются корректно (консумирование, если игрок оплатил, но не получил товар)

Как открыть песочницу​

  1. Загрузите HTML5-билд игры в черновик в разделе Хостинг игр панели проекта.
  2. Откройте песочницу, нажав кнопку Протестировать игру.
  3. Используйте инструменты разработчика: заглушки рекламы, тестовую форму покупки и логи на странице.

Проверьте:

  • gp.gameStart() / GP_Game.GameReady() после загрузки
  • Пауза и звук при потере фокуса и во время рекламы
  • Игра определяет язык и корректно переводится относительно выбранного в песочнице языка
  • Прогресс сохраняется и восстанавливается после перезагрузки
  • Корректность вызовов всех рекламных блоков; выдача награды за Rewarded только при успешном показе
  • Покупка → выдача → consume (для разовых товаров)
  • Выдайте покупку инструментами песочницы, перезагрузите игру и проверьте, получит ли игрок необработанную покупку
tip

После проверки в песочнице глубокое тестирование в черновике Яндекс Игр обычно не требуется — достаточно короткой проверки.

Создание черновика и подключение площадки​

Создание черновика в Яндекс Играх​

  1. Откройте консоль разработчика Яндекс Игр.
  2. Нажмите Добавить игру и создайте новый черновик с уникальным ID.
  3. Не загружайте игру в черновик, где ранее уже была опубликована другая игра.

Заполнение черновика​

На вкладке Черновик → Общее заполните основные поля:

  • Версия — версия билда, например 0.0.0.1
  • Архив — ZIP с HTML5-игрой (index.html в корне)
  • Поддерживаемые платформы — устройства, на которых игра запускается
  • Ориентация — портрет / альбом / любая
  • Игра переведена на — языки локализации (управление языком — через SDK)
  • Возрастной рейтинг и Категории — обязательные поля для модерации
  • Теги и Ключевые слова — для поиска в каталоге
  • Игра использует облачные сохранения — включите, если сохраняете прогресс через SDK
  • Отсроченная публикация — если нужно опубликовать вручную после модерации
  • Комментарий разработчика — заметка для модераторов

Также заполните блок Описание и продвижение: тексты, иконка, обложка, скриншоты и видео.

tip

Если игра предусматривает множество онлайн-функций и частые обновления, требующие публикации через iframe, запросите разрешение у поддержки Яндекс Игр (в качестве iframe может выступать ссылка с хостинга GamePush).

В разделе Реклама включите Sticky-баннер:

tip

Sticky-баннер может давать значительную долю рекламного дохода. Крайне рекомендуем его включить.

Подключение Яндекс Игр в GamePush​

В панели проекта GamePush добавьте площадку Yandex Games. Во вкладке Подключение укажите ID игры и Секретный ключ.

ID игры можно взять вверху левого меню консоли Яндекс Игр.

Чтобы получить Secret Key, перейдите в раздел Инап-покупки в консоли Яндекс Игр.

Добавьте свою покупку или любую тестовую. Обновите страницу — появится поле Secret Key во вкладке Настройки.

tip

После копирования ключа удалите временную покупку, иначе игра может не пройти модерацию.

Сохраните площадку в GamePush.

Добавление покупок в Яндекс Играх​

  1. Создайте продукты в панели GamePush и перенесите их в консоль Яндекс Игр (или наоборот) с совпадающими ID.
  2. В GamePush привяжите ID покупки в Yandex к продукту.

tip

Покупки, заполненные в GamePush, можно экспортировать в CSV и импортировать в Яндекс Игры без повторного заполнения.

Как включаются покупки, зависит от договора с Яндексом:

  • Единое соглашение (единая лицензионная схема) — покупки подключены автоматически для всех ваших игр. Отдельно писать на почту не нужно.
  • Старый вариант договора через РСЯ — отправьте заявку на включение покупок на games-partners@yandex-team.ru.

Статус смотрите в консоли разработчика: Профиль → Единая лицензионная схема.

Настройка в GamePush: Настройки платформ — Yandex Games.

Проверка игры в черновике Яндекс Игр​

Откройте черновик через Открыть черновик или Открыть черновик с debug-панелью.

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

Если вы уже проверили интеграцию в песочнице GamePush, достаточно короткой проверки:

  • Игра запускается, Game Ready срабатывает
  • Прогресс сохраняется
  • Работают реклама и покупки (если есть)
  • Звук корректно ведёт себя при сворачивании и во время рекламы

Отправка на модерацию​

Когда черновик готов, нажмите Отправить на модерацию.

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

Статусы модерации​

СтатусЧто означает
Ожидает модерацииЧерновик отправлен и стоит в очереди
ОпубликованоИгра одобрена и опубликована автоматически
ПроверенОдобрена с отсроченной публикацией — на вкладке Черновик появится кнопка Опубликовать
ОтклоненНе одобрена — причины придут на почту, привязанную к Яндекс ID

Полная проверка обычно занимает 3–5 рабочих дней. Контентная проверка (только промоматериалы) быстрее — около 2 рабочих дней.

При отклонении исправьте замечания и отправьте черновик повторно.

Также используйте Чек-лист тестирования игр при подготовке билда.

Дистрибуция через GamePush​

Чтобы не тратить время на модерацию, договоры и общение с менеджерами, так как это занимает очень много времени, можно отправить игру на дистрибуцию GamePush.

Мы публикуем веб-игры на площадках «под ключ» и сопровождаем по всем вопросам. А также предоставляем хостинг, CDN и игровой бекенд в рамках партнерства. Все это поможет высвободить 95% ваших ресурсов для того, чем действительно хочется заниматься.

В панели проекта откройте раздел Дистрибуция, заполните форму и нажмите Отправить на модерацию.

Что дальше​

Оставайтесь на связи​

С другими разделами документации вы можете ознакомиться здесь. Для начала работы вы можете ознакомиться с нашими туториалами.

Сообщество GamePush в Telegram: @gs_community.

Для ваших обращений e-mail: official@gamepush.com

Желаем вам успехов!