SDK для iOS / Бесплатные товары
  На главную

SDK для iOS

Бесплатные товары

Бесплатные товары — это вид товаров, которые пользователь может получить, не тратя виртуальную или реальную валюту. К ним относятся:

  • виртуальные предметы;
  • бандлы;
  • пакеты виртуальной валюты.

Бесплатные товары доступны для получения только авторизованным пользователям. Неавторизованные пользователи могут только просматривать каталог бесплатных товаров.

Примеры использования:

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

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

Чтобы настроить бесплатные товары:

  1. Добавьте бесплатные товары в каталог.
  2. Реализуйте логику приобретения пользователем бесплатного товара.
  3. Реализуйте логику начисления бесплатных товаров пользователю.

Добавление бесплатных товаров в каталог

Подробные инструкции по созданию товаров приведены в разделах:

Для бесплатных товаров требуется при создании или редактировании товара в разделе Платно или бесплатно выбрать Бесплатный предмет, Бесплатный пакет или Бесплатный бандл.

Приобретение бесплатного товара пользователем

Пользователь может приобрести бесплатный товар двумя способами:

  • В один клик (не используя корзину) — подходит для приобретения одного артикула товара, но в любом количестве. Например, 100 одинаковых зелий.
  • Через корзину — подходит для приобретения любого типа товара в любом количестве.

Приобретение бесплатного товара в один клик

Для реализации этого способа вызовите метод createOrderWithSpecifiedFreeItem из библиотеки Store при нажатии в каталоге на кнопку приобретения товара.

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

Приобретение бесплатного товара через корзину

Если пользователь использует покупку через корзину:

  • Если в корзине пользователя находятся и платные, и бесплатные товары:
    1. Получите платежный токен и ID заказа с помощью метода createOrderWithCart из библиотеки Store.
    2. Получите URL для открытия платежного интерфейса. Для этого вызовите метод SDK createPaymentUrl из библиотеки Payments, передайте в него платежный токен и ID заказа.
    3. Реализуйте ​​открытие платежного интерфейса:

      1. Чтобы открыть платежный интерфейс во внешнем браузере, вызовите статический метод UIApplication.shared.open и передайте в него URL, полученный на предыдущем шаге.
      2. Чтобы открыть платежный интерфейс во встроенном браузере, создайте экземпляр класса PaystationWebView библиотеки Payments и вызовите метод loadPaystation. Пример реализации приведен в демопроекте в классе PaystationVC.

  • Если в корзине пользователя находятся только бесплатные товары, используйте метод createOrderWithFreeCart из библиотеки Payments. Начисление товара в инвентарь на стороне Xsolla происходит сразу после успешного вызова этого метода, без необходимости открывать платежный интерфейс.

Начисление бесплатных товаров пользователю

Вы можете отслеживать статус приобретения бесплатного товара с помощью вызова по таймеру метода getOrder из библиотеки Store.

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

Примечание
Если вы настроили на сервере вашего приложения обработку вебхуков Xsolla, вы можете обновлять данные в клиентской части приложения при получении вебхука order_paid.
Была ли статья полезна?
Спасибо!
Что может сделать страницу еще лучше? Сообщение
Жаль, что так произошло
Расскажите, почему статья не была полезна. Сообщение
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.

Полезные ссылки

Последнее обновление: 22 января 2024

Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.

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