Магазин - готовая система: экран магазина в игре и серверная логика покупок. Вы настраиваете витрины и товары в кабинете, а сервер при каждой покупке сам проверяет цену, лимиты и ротацию. Поэтому подделать покупку из игры нельзя, а свой сервер для магазина не нужен.
Что видит игрок
- Витрины вкладками. Первая секция витрины - карусель, остальные - сетки карточек.
- Бесплатный подарок дня, который подсвечивается, пока его не забрали.
- Таймеры на карточках: «обновится через», «откроется через», «распродано».
- Окно подтверждения покупки (на телефоне выезжает снизу).
- Анимацию «Получено»: награды летят к счётчикам балансов.
- Значок на вкладке магазина, когда игрока ждёт бесплатный товар.
Как устроен магазин
Магазин - это дерево: витрина → секции → слоты → товар.
- Товар - что продаётся: цена, награды, лимиты, метки («выгодно», «x2»). Товары лежат в общем каталоге.
- Слот - место на полке витрины. Только через слот товар можно купить: товар, который не стоит ни в одном слоте, не продаётся вовсе.
- Ротация: слот может показывать товар из набора и менять его по расписанию, как в ежедневном магазине. Ротацию считает сервер, поэтому у игрока на всех устройствах один и тот же магазин.
Цены
| Чем платит игрок | Как это работает |
|---|---|
| Валюта игры, предметы | Списываются с баланса игрока |
| Реальные деньги | Покупка в магазине приложений, сервер проверяет чек |
| Aspis | Валюта платформы с аккаунта iDos Games игрока; каждую покупку игрок подтверждает на idosgames.com |
| Просмотр рекламы | Игрок тратит заработанный просмотр ролика (сборки с рекламой) |
| Ничего | Бесплатный товар; обязателен лимит, иначе сервер его не продаст |
Aspis: валюта всей платформы, игрок пополняет её один раз и тратит в любой игре. Чтобы продавать товар за Aspis, выберите Aspis в цене товара. Та же цена в Aspis работает везде, где продаёте вы: лутбоксы, наборы коллекций, крафт, офферы, бусты, VIP, прокачка предметов и персонажей, скины, спины совместных ивентов, спецрежим поля, взнос за публикацию в Мастерской и ИИ-генерации. Она не работает в ценах между игроками (рынок, PvP) и никогда не бывает наградой. Каждую покупку игрок подтверждает на idosgames.com - сама игра тратить Aspis не может. Каждая продажа приносит вам доход заработанными Aspis на аккаунт. Заработанными Aspis можно платить и за ИИ, сборки и другие сервисы платформы - после ИИ-кредитов тарифа и купленных Aspis. В DEV-копии игры покупка за Aspis - бесплатная проверка. В приложении iDos Games на Android игрок пополняет Aspis через Google Play и тратит их в играх так же; на iPhone покупок за Aspis в приложении нет.
Можно показать зачёркнутую «старую» цену, процент скидки сервер посчитает сам. У одного товара может быть несколько вариантов цены: например, за монеты или за кристаллы.
Лимиты покупок
- За всё время - например, стартовый набор один раз.
- В сутки - сбрасывается в полночь по UTC.
- Перезарядка - следующая покупка через заданное время.
- На одно окно ротации - лимит слота, пока на полке стоит этот товар.
Метку «первая покупка», «распродано» и таймеры сервер считает для каждого игрока сам.
Шаг 01Добавьте магазин в проект
В шаблоне idle-RPG магазин уже есть, с примером витрины. В любой другой проект его добавляет ИИ-кодер: напишите в чате «Добавь магазин». Он поставит готовую систему, а не будет писать магазин с нуля. Вкладка магазина появится у игроков, когда в нём будет что продавать.
Шаг 02Настройте товары и витрину
Откройте кабинет, выберите проект и перейдите в LiveOps → v2 → Магазин.
- На вкладке Товары создайте товар: название, цена, что получает игрок и лимит.
- На вкладке Витрины создайте витрину, добавьте в неё секцию и слоты и поставьте товары в слоты.
- Пресеты - общие настройки, которые можно применить ко многим товарам сразу.
Кабинет предупреждает о товарах без слота и о бесплатных товарах без лимита. Кнопка ИИ на странице открывает помощника: опишите словами, что продавать («набор из 500 монет за 0,99 $ и ежедневный бесплатный сундук»), он предложит правки, а вы проверите их и нажмёте Сохранить.
Шаг 03Проверьте и выпустите
Проверьте магазин в тестовой версии приложения. В живое приложение настройки уходят отдельным действием, поэтому выпуск кода их не перезапишет. Подробнее - публикация и ссылки.
Для разработчиков
Магазин работает через client.store из @idosgames/core. Экран рисуйте из getStorefront(): это витрина, уже
посчитанная для этого игрока (ротация, лимиты, таймеры). getDefinitions() - только конфиг, одинаковый для всех.
const res = await client.store.getStorefront()
if (!res.ok) return showError(res.error)
for (const store of res.data.Stores ?? [])
for (const section of store.Sections ?? [])
for (const slot of section.Slots ?? []) {
// Пустой слот приходит с Offer === null: рисуйте пустую рамку, чтобы полка не прыгала.
if (!slot.Offer) continue
drawCard(slot.Offer, slot.RefreshesAtUtc)
}
const buy = await client.store.purchase(offer.OfferID, 1, {
selectedOptionID: option.OptionID,
slot: { storeID: store.StoreID, sectionID: section.SectionID, slotID: slot.SlotID },
})- Если покупка вернула
OFFER_NOT_IN_ROTATION, витрина уже сменилась: перечитайте её без сообщения об ошибке. - Блокируйте кнопку «Купить», пока идёт запрос: каждый вызов
purchase- отдельная покупка. - Таймеры отсчитывайте от
ServerTimeUtcиз ответа, а не от часов устройства. nullв остатке лимита - «без лимита»,0- «закончилось».
Подробное описание полей - в навыке store-system, его отдаёт MCP-сервер SDK.
Частые вопросы
Почему товар есть в каталоге, но его нельзя купить?
Товар покупается только через слот витрины. Если он не стоит ни в одном слоте, купить его нельзя. Кабинет показывает такие товары отдельным предупреждением «Без слота».
Можно сделать бесплатный ежедневный подарок?
Да. Товар без цены - обычный бесплатный товар, но у него обязательно должен быть лимит, например один раз в сутки. Бесплатный товар без лимита сервер не продаст.
Нужно ли проверять покупку на своём сервере?
Нет. Цену, лимиты и ротацию проверяет сервер iDos Games при каждой покупке. Игра только показывает витрину и просит купить.
Работают ли скидки для премиум-игроков?
Да. Скидки и бонусы премиум-уровня сервер применяет сам. Что на самом деле списано и выдано, игра читает из ответа покупки.
Пошаговые руководства
- Сколько можно заработать на своей игреСколько можно заработать на своей игре на iDos Games: доход с продаж за Aspis, с рекламы за награду, с комиссии токена и ремиксов, с живым рейтингом заработка.
- Как добавить в игру таблицу лидеров, квесты и магазинКак добавить таблицу лидеров в игру так, чтобы её не накрутили, а ещё ежедневные квесты и магазин с ценами на сервере. Без своего бэкенда, настройка в кабинете.
- Как монетизировать браузерную игру и не испортить еёКак монетизировать браузерную игру: что продавать, магазин, VIP, сезонный пропуск, стартовые наборы, реклама за награду в приложении и свой токен.
Смотрите также
- Квесты в игре: ежедневные задания и наградыКак работают готовые квесты iDos Games - ежедневные, еженедельные и разовые задания, трек очков с сундуками и бонус за группу заданий - и как настроить их в кабинете.
- Лидерборд в игре: рейтинг, раунды и наградыКак работает готовый лидерборд iDos Games - таблицы с раундами, награды за место и за набранные очки, защита от накрутки очков - и как настроить его в кабинете.
- Шаблон idle-RPG: герой, волны и боссыГотовый шаблон idle-RPG на iDos Games - герой сам сражается с волнами монстров и боссами, золото копится даже без игрока, характеристики улучшаются за золото. Что внутри и как переделать под свою игру.
- Что входит в новый проектКаждый новый проект на iDos Games начинается со входа, лобби и шести готовых систем; магазин, лидерборды, ивенты, мультиплеер и другие системы добавляются, когда они нужны.
Сделайте свою игру
Опишите идею одним предложением - ИИ-кодер соберёт её, и она откроется по своей ссылке.