Домашняя страница


RU EN
🏠 Домой ❮ Назад

Unity-плагин RuStore для приёма платежей

Плагин RuStorepayClient помогает интегрировать в ваш проект механизм оплаты. Поддерживаются версии Unity 6000+.

Установка плагина в свой проект

  • Скачайте файлы ru.rustore.core-x.y.z.tgz и ru.rustore.pay-x.y.z.tgz из официального репозитория на GitFlic.
  • Импортируйте скачанные пакеты в проект через Package Manager (Window → Package Manager → + → Add package from tarball…).
  • Обновите зависимости проекта с помощью External Dependency Manager (Assets → External Dependency Manager → Android Resolver → Force Resolve).

Установка External Dependency Manager

External Dependency Manager для Android поставляется в составе пакета RuStoreCore. Для установки выполните следующие действия.

Откройте RuStoreCore в окне менеджера пакетов (Window → Package Manager → Packages RuStore → RuStoreCore). Перейдите на вкладку Sample. Импортируйте сэмпл External Dependency Manager.

Настройка проекта

Откройте настройки проекта: Edit → Project Settings → Player → Android Settings.

В pазделе Publishing Settings включите следующие настройки.

  • Custom Main Manifest.
  • Custom Main Gradle Template.
  • Custom Gradle Properties Template.

В разделе Other Settings настройте:

  • package name.
  • Minimum API Level = 24.
  • Target API Level = 34.

Откройте настройки External Dependency Manager: Assets → External Dependency Manager → Android Resolver → Settings, включите следующие настройки.

  • Use Jetifier.
  • Patch mainTemplate.gradle.
  • Patch gradleTemplate.properties.

Обработка deeplink

Deeplink в RuStore SDK платежей нужна для корректной работы со сторонними приложениями оплаты. Она помогает пользователям быстрее совершать покупки в стороннем приложении и возвращаться в ваше приложение.

Для настройки deeplink в вашем приложении выполните три основных шага:

1. В Unity откройте меню: Window → RuStoreSDK → Settings → PayClient

2. Заполните поля:

  • consoleApplicationId — ID приложения в консоли RuStore.
  • deeplinkScheme — схема диплинка (используется в intent-filter и в SDK).

Выберите, какую Activity запускать после обработки диплинка:

  • Activity → com.unity3d.player.UnityPlayerActivity.
  • GameActivity → com.unity3d.player.UnityPlayerGameActivity.
  • CustomMainActivity → ваша Activity (поле customMainActivityClass).

3. Пропатчите и проверьте манифест:

  • Patch Manifest — автоматически применить необходимые изменения.
  • Verify Manifest — проверка, что AndroidManifest.xml корректный.

Изменения в AndroidManifest.xml

Автоматический патч манифеста внесет следующие изменения в AndroidManifest.xml: 1. Создаст deeplink-активити ru.rustore.unitysdk.RuStoreDeeplinkActivityDefault с темой Theme.NoDisplay. 2. Создаст тег intent-filter внутри deeplink-активити с указанием ссылки на вашу Deeplink Scheme. 3. Создаст теги meta-data внутри <application> с указанием ссылки на вашу Deeplink Scheme и инициализации SDK. 4. Создаст pay-активити ru.rustore.sdk.pay.internal.presentation.ui.PayActivity.

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.unity3d.player"
    xmlns:tools="http://schemas.android.com/tools">
    <application>
        <!-- Game Activity -->
        <activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@style/UnityThemeSelector" android:exported="true">
		    <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
        </activity>
		
        <!-- 1. Deeplink Activity -->
        <activity android:name="ru.rustore.unitysdk.RuStoreDeeplinkActivityDefault"
                  android:theme="@android:style/Theme.NoDisplay"
                  android:exported="true">
			
            <!-- 2. Deeplink 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="@string/rustore_PayClientSettings_deeplinkScheme" />
            </intent-filter>
        </activity>
		
        <!-- 3. Initializing SDK and Deeplink Scheme -->
        <meta-data android:name="console_app_id_value" android:value="@string/rustore_PayClientSettings_consoleApplicationId" />
        <meta-data android:name="internal_config_key" android:value="@string/rustore_PayClientSettings_internalConfigKey" />
        <meta-data android:name="sdk_pay_scheme_value" android:value="@string/rustore_PayClientSettings_deeplinkScheme" />

        <!-- 4. Pay Activity -->
        <activity android:name="ru.rustore.sdk.pay.internal.presentation.ui.PayActivity"
                  android:exported="false"
                  android:launchMode="singleTask"
                  tools:replace="android:launchMode" />
    </application>
</manifest>

Работа с SDK

Начните изучение документации библиотеки RuStore с методов класса RuStorePayClient. Или воспользуйтесь руководством онлайн.

Техническая поддержка

Дополнительная помощь и инструкции доступны в документации RuStore и по электронной почте support@rustore.ru.

Условия распространения

Данное программное обеспечение, включая исходные коды, бинарные библиотеки и другие файлы, распространяется под лицензией MIT. Информация о лицензировании доступна в документе MIT-LICENSE.