For the complete documentation index, see llms.txt. This page is also available as Markdown.

API для покупок/продуктов

Игроки могут покупать товары (пропуски в игре + расходуемые предметы) за Spark в вашей игре. Когда происходит покупка, All Out вызывает ваш обработчик покупки чтобы вы могли выдать предмет или функцию.

Для создания товаров и просмотра аналитики см. Товары в игре.

Типы товаров (краткий обзор)

  • Пропуски в игре: одноразовые постоянные разблокировки (админский пропуск, постоянная способность, владение домом)

  • Расходуемые предметы: можно покупать многократно (зелье, временный бонус, разовый набор монет)

Типы товаров настраиваются в панели создателя. См. Товары в игре.

Справочник по API покупок

Product :: struct {
    id: string;
    name: string;
    description: string;
    price: s64;
    consumable: bool;
    icon: Texture_Asset;
}

Purchasing :: struct {
    prompt_purchase :: proc(player: Player, id: string);
    owns_product    :: proc(player: Player, id: string) -> bool;
    get_product     :: proc(id: string) -> Product;
}

Запрос покупки

Чтобы начать процесс покупки, вызовите Purchasing.prompt_purchase с ID товара.

ID товара показан на странице монетизации/товаров в панели создателя (можно нажать, чтобы скопировать его). См. Товары в игре.

Проверка, владеет ли игрок товаром (пропуски в игре)

Для пропусков в игре вы можете ограничивать игровые функции, проверяя владение.

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

Чтение информации о товаре (название/цена/иконка)

Если вы хотите показать UI «Купить» или записать информацию о товаре, получите определение товара по ID:

Обработчик покупки (выдача)

Когда игрок покупает товар в вашей игре, All Out вызывает:

Если ваша игра не определяет ao_purchase_handler, нерасходуемые товары выдаются автоматически, чтобы они работали с Purchasing.owns_product. Расходуемые товары по-прежнему требуют обработчика и без него помечаются как ошибка выдачи.

Вам следует:

  • Проверять ID товара в switch

  • Выдавать предмет/функцию

  • Возвращать true если выдача удалась

  • Возвращать false если выдача не удалась (полный инвентарь, отсутствует необходимое условие и т. д.)

Сбои выдачи и повторные попытки

Если ваш обработчик покупки возвращает false, покупка помечается как сбой выдачи.

  • Сбои выдачи отображаются в панели создателя

  • Они автоматически повторяются, когда игрок заходит, пока не будут успешны

  • Вы можете вручную повторно запустить обработчик покупки, пометив покупку как «невыданную» в UI данных игрока

См.:

Межигровое использование (hub + мини-игры)

Если вы используете родительские связи между играми, покупки можно разделять между вашими играми. См. Продукты/данные между играми.

Последнее обновление