23 марта 2025 г.

Мой Xonix на Яндекс Играх и подводные камни интеграции

Здесь решил рассказать об особенностях размещения браузерной игры на площадке Яндекс игр. А их оказалось не мало. Надеюсь многим поможет сэкономить время.

Надо сказать, что в документации Яндекса описано всё достаточно качественно, подробно. Их техническая поддержка тоже на высоте, хоть и не без изъянов, но где их нет? Поэтому постараюсь описать основные "внезапности".

— Первое, на что следует обратить внимание – отображение. Проверьте, чтобы не было никаких скролов на всех размерах экрана. Скройте их overflow: hidden;, в крайнем случае.

— Не должно быть никаких выделений и перетаскиваний мышью или тапом (если мобилка). Я у себя это решил навесив user-select: none; на тег body и pointer-events: none; на тег img.

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

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

— У меня не получилось создать китайскую локализацию, потому что некоторые поля в консоли игры на Яндексе имеют минимальное большое ограничение, а слово в китайском обычно из 1-2 символов. Иногда трудно растекаться мыслью по древу на 50 слов, например.

— Была проблема с несвоевременным вызовом ysdk.features.LoadingAPI.ready(). Моя игра почти ничего не грузит, поэтому пользователю в неё можно было играть моментально. А так нельзя. Сначала вызов метода ready, а уж потом взаимодействие.

— Не забывайте вызывать методы API Яндекса ysdk.features.GameplayAPI.start() и ysdk.features.GameplayAPI.stop() при старте и прекращении геймплея.

— Обратите внимание на название игры, оно должно быть идентичным до символа во всех полях названия.

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

— На момент написания этой статьи в консоли игры на Яндексе для товаров не было локализаций. Даже английский перевод, данный для каждого товара не выводится. Поэтому, если вы подгружаете товары через API Яндекса, то переводить название и описание следует самому.

— Если вы используете покупки, то там есть две наиважнейшие вещи. Первое – обработка необработанных заказов, но об этом понятно и подробно описано в документации. Главное – не забыть. А второе – если у вас есть покупки, то после приобретения пользователем товара и внезапном обрыве соединения или перезагрузке страницы, товар не должен пропадать. Т.е., например если игрок купил бонус дополнительной жизни, а потом перезагрузил страницу, то покупка должна остаться у игрока.

— Если у вас отображается товар для покупки, то его стоимость должна быть представлена кодом из API Яндекса.

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

Комментариев нет:

Отправить комментарий