Сервис покупки виртуальных товаров внутри приложения (In-App Purchasing)
Перейти к навигации
Перейти к поиску
Ren'Py включает встроенную платформу для покупок в приложении. В настоящее время эта платформа поддерживает покупки только в Apple App Store, Google Play и Amazon Appstore.
Использовать этот фреймворк довольно легко. Он состоит из следующих функций:
- На этапе инициализации вашей игры зарегистрируйте доступные покупки с помощью функции iap.register().
- После запуска игры проверьте, была ли осуществлена покупка, с помощью функции iap.has_purchased().
- Разрешите пользователю приобретать товар с помощью функции iap.purchase() или действия iap.Purchase().
- Разрешите пользователю восстанавливать покупки, совершенные на других устройствах, с помощью функции iap.restore() или действия iap.Restore().
Чтобы предлагать покупки в приложении, покупки (включая связанную цену) должны быть созданы на различных торговых площадках. При сборке для Android, Ren'Py спросит об используемой торговой площадке при настройке пакета.
- Apple App Store
- Apple App Store основан на имени пакета и не требует специальной настройки.
- Google Play
- Прежде чем использовать Google Play, вы должны добавить ключ Google Play и соль (также модификатор) в ваш проект. Для получения информации о том, как это сделать, смотри раздел «APK-архивы приложений из Google Play».
- Amazon Appstore
- Amazon Appstore основан на имени пакета и не требует специальной настройки.
Функции IAP (IAP Functions)[править | править код]
- iap.get_price(product)
- Возвращает строку, в которой указана цена product в местной валюте пользователя. Возвращает значение None, если цена продукта неизвестна, что означает, что продукт не может быть приобретён.
- iap.get_store_name()
- Возвращает имя включенного магазина для покупки в приложении. В настоящее время возвращается значение «amazon», «play» (для Google Play), «ios» или «None», если магазин недоступен.
- iap.has_purchased(product)
- Возвращает значение True, если пользователь ранее приобрёл product, иначе значение False.
- iap.is_deferred(product)
- Возвращает значение True, если пользователь запросил покупку product, но этот запрос должен быть одобрен третьей стороной, такой как родитель или опекун.
- iap.purchase(product, interact=True)
- Эта функция запрашивает покупку product.
- Возвращает значение True, если покупка прошла успешно, или значение False, если покупка не удалась. Если продукт зарегистрирован как расходный материал, покупка потребляется до возврата этого вызова.
- iap.register(product, identifier=None, amazon=None, google=None, ios=None, consumable=False)
- Регистрация продукта в системе покупок внутри приложения.
- product
- Строка, содержащая встроенное название продукта. Это строка, которая будет передана в iap.purchase(), iap.Purchase() и iap.has_purchased() для представления этого продукта.
- identifier
- Строка, используемая для внутренней идентификации продукта. После использования для представления продукта, она никогда не должна меняться. Эти строки обычно имеют форму "com.domain.game.product".
- Если принимает значение None, значение по умолчанию для product.
- amazon
- Строка, идентифицирующая продукт в магазине Amazon Appstore. Если принимает значение None, значение по умолчанию для identifier.
- Строка, идентифицирующая продукт в магазине Google Play. Если принимает значение None, значение по умолчанию для identifier.
- ios
- Строка, идентифицирующая продукт в магазине Apple App для iOS. Если принимает значение None, значение по умолчанию для identifier.
- consumable
- Принимает значение True, если это покупка расходных материалов. В настоящее время покупки расходных материалов поддерживаются только на iOS.
- iap.restore(interact=True)
- Связывается с магазином приложений и восстанавливает любые недостающие покупки.
- interact
- Если принимает значение True, renpy.pause будет вызываться во время ожидания ответа от магазина приложений.
Действия IAP (IAP Actions)[править | править код]
- iap.Purchase(product, success=None)
- Действие, которое пытается приобрести товар. Это действие возникает тогда и только тогда, когда продукт можно приобрести (магазин включён, а продукт ещё не куплен).
- success
- Если принимает значение не None, то это действие или список действий, которые запускаются при успешной покупке.
iap.Restore()
- Действие, которое связывается с магазином приложений и восстанавливает любые недостающие покупки.
Источник[править | править код]
Статья "In-App Purchasing" на английском языке.
На главную страницу | Официальная документация движка | Вернуться к началу статьи |