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


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

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

Плагин RuStorepayClient помогает интегрировать в ваш проект механизм оплаты. Поддерживаются версии Unity 2022.3.37f1+ (требуется Gradle выше 7.3), Unity 6000+.

Подключение в проект

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

Из сетевого расположения (рекомендуется)

Пакеты RuStore публикуются в npm-registry и подключаются к проекту через Package Manager без ручного скачивания архивов.

  1. Откройте настройки: Edit → Project Settings → Package Manager.
  2. В разделе Scoped Registries нажмите + и заполните поля:
    • NameRuStore Nexus.
    • URLhttps://nexus-external.vkteam.ru/repository/npm-unity-rustore-exposed/.
    • Scopesru.rustore.
  3. Откройте Window → Package Manager — в списке источников появится реестр RuStore Nexus.
  4. Выберите RuStore Nexus и установите пакет ru.rustore.pay кнопкой Install. Зависимость ru.rustore.core установится автоматически.

Из локального расположения

Установка через Package Manager

  1. Для подключения скачайте со страницы релизов пакеты:
    • ru.rustore.core-version.tgz.
    • ru.rustore.pay-version.tgz.
  2. Импортируйте пакеты в проект через Package Manager (Window → Package Manager → + → Add package from tarball…).

*Установка через .unitypackage

  1. Скачайте файл RuStoreUnityPaySDK-version.unitypackage со страницы релизов.
  2. Импортируйте его в проект (Assets → Import Package → Custom Package…).

Клонирование репозитория

Для установки из исходного кода воспользуйтесь инструкцией по клонированию.

Для каждого артефакта в релизе доступны файлы контрольных сумм (.sha256) и цифровой подписи (.sig), которые могут использоваться для проверки целостности и подлинности артефакта после скачивания.

Подсказка

Если вы используете операционную систему macOS, измените настройки утилиты архивации. В настройках Archive Utility снимите флажок Keep expanding if possible. В противном случае архив проекта будет скачан некорректно.

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

Для корректной обработки зависимостей SDK выполните следующие настройки.

  1. Откройте настройки проекта: Edit → Project Settings → Player → Android Settings.
  2. В разделе Publishing Settings включите следующие настройки.
    • Custom Main Manifest.
    • Custom Main Gradle Template.
    • Custom Gradle Properties Template.
  3. В разделе Other Settings настройте:
    • package name.
    • Minimum API Level = 24.
    • Target API Level = 34.

Подключение зависимостей

После установки обновите зависимости проекта с помощью External Dependency Manager (Assets → External Dependency Manager → Android Resolver → Force Resolve).

Откройте настройки 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.

<?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" />
    </application>
</manifest>

Работа с SDK

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

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

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

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

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