Общая информация

Пример реализации

Для того, чтобы узнать как правильно интегрировать платежи, рекомендуется ознакомиться с приложением-примером:

https://gitflic.ru/project/rustore/godot-rustore-billing/file?file=example&branch=master

Условия работы платежей

Для работы проведения платежей необходимо соблюдение следующих условий:

  1. На устройстве пользователя должен быть установлен RuStore. 
  2. RuStore должен поддерживать функциональность платежей.  
  3. Пользователь должен быть авторизован в RuStore. 
  4. Пользователь и приложение не должны быть заблокированы в RuStore. 
  5. Для приложения должна быть включена возможность покупок в 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

Для корректной работы оплаты через сторонние приложения (СБП или 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 проекте, его необходимо включить в настройках экспорта.

image

После всех настроек вы можете использовать плагин в своем проекте.

Инициализация

Перед вызовом методов библиотеки необходимо выполнить ее инициализацию. Для инициализации вызовите метод 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».

После инициализации плагина выполняется подключение ко всем доступным сигналам.

Обновлено 7 августа 2023 г.
Was this information helpful?