Общая информация
Пример реализации
Для того, чтобы узнать как правильно интегрировать платежи, рекомендуется ознакомиться с приложением-примером:
https://gitflic.ru/project/rustore/godot-rustore-billing/file?file=example&branch=master
Условия работы платежей
Для работы проведения платежей необходимо соблюдение следующих условий:
- На устройстве пользователя должен быть установлен RuStore.
- RuStore должен поддерживать функциональность платежей.
- Пользователь должен быть авторизован в RuStore.
- Пользователь и приложение не должны быть заблокированы в RuStore.
- Для приложения должна быть включена возможность покупок в RuStore Консоли.
Подключение в проект
Для подключения в ваш проект, нужно скачать архив со страницы релизов https://gitflic.ru/project/rustore/godot-rustore-billing/release.
Распакуйте zip архив и добавьте файлы rustore-billing.aar и RustoreBilling.gdap в папку вашего проекта /android/plugins
example/ android/ plugins/ rustore-billing-release.aar RustoreBilling.gdap |
Обработка deeplink
Для корректной работы оплаты через сторонние приложения (СБП или SberPay), вам необходимо правильно реализовать обработку deeplink. Для этого необходимо указать в android/build/AndroidManifest.xml intent-filter со схемой вашего проекта:
<activity android:name= ".sample.MainActivity" > <intent-filter> <action android:name= "android.intent.action.MAIN" /> <category android:name= "android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name= "android.intent.action.VIEW" /> <category android:name= "android.intent.category.DEFAULT" /> <category android:name= "android.intent.category.BROWSABLE" /> <data android:scheme= "yourappscheme" /> </intent-filter> </activity> |
где "yourappscheme" — схема вашего deeplink, может быть изменена на другую.
Эта схема должна совпадать со схемой, передаваемой в методе init().
Экспорт проекта с подклюенным плагином
Чтобы плагин стал доступным в вашем Godot проекте, его необходимо включить в настройках экспорта.
После всех настроек вы можете использовать плагин в своем проекте.
Инициализация
Перед вызовом методов библиотеки необходимо выполнить ее инициализацию. Для инициализации вызовите метод init():
if Engine.has_singleton( "RustoreBilling" ): billing = Engine.get_singleton( "RustoreBilling" ) billing.init( "123456" , "yourappscheme://iamback" ) billing.rustore_is_available.connect(_on_availability) billing.rustore_purchase_product.connect(_on_purchase) billing.rustore_delete_purchase.connect(_on_delete) billing.rustore_confirm_purchase.connect(_on_confirm) billing.rustore_get_purchases.connect(_on_get_purchases) billing.rustore_get_purchase.connect(_on_get_purchase) billing.rustore_get_products.connect(_on_get_products) |
- 123456 — код приложения из RuStore Консоли (пример: https://console.rustore.ru/apps/123456).
- yourappscheme://iamback — cхема deeplink, необходимая для возврата в ваше приложение после оплаты через стороннее приложение (например, SberPay или СБП). SDK генерирует свой хост к данной схеме.
Важно, чтобы схема deeplink, передаваемая в deeplinkScheme, совпадала со схемой, указанной в AndroidManifest.xml в разделе «Обработка deeplink».
После инициализации плагина выполняется подключение ко всем доступным сигналам.