Домашняя страница
Unity-плагин RuStore для приёма платежей
Плагин RuStorepayClient помогает интегрировать в ваш проект механизм оплаты. Поддерживаются версии Unity 2022.3.37f1+ (требуется Gradle выше 7.3), Unity 6000+.
Подключение в проект
Установка плагинов
Из сетевого расположения (рекомендуется)
Пакеты RuStore публикуются в npm-registry и подключаются к проекту через Package Manager без ручного скачивания архивов.
- Откройте настройки: Edit → Project Settings → Package Manager.
- В разделе Scoped Registries нажмите + и заполните поля:
- Name —
RuStore Nexus. - URL —
https://nexus-external.vkteam.ru/repository/npm-unity-rustore-exposed/. - Scopes —
ru.rustore.
- Name —
- Откройте Window → Package Manager — в списке источников появится реестр RuStore Nexus.
- Выберите RuStore Nexus и установите пакет
ru.rustore.payкнопкой Install. Зависимостьru.rustore.coreустановится автоматически.
Из локального расположения
Установка через Package Manager
- Для подключения скачайте со страницы релизов пакеты:
ru.rustore.core-version.tgz.ru.rustore.pay-version.tgz.
- Импортируйте пакеты в проект через Package Manager (Window → Package Manager → + → Add package from tarball…).
*Установка через .unitypackage
- Скачайте файл
RuStoreUnityPaySDK-version.unitypackageсо страницы релизов. - Импортируйте его в проект (Assets → Import Package → Custom Package…).
Клонирование репозитория
Для установки из исходного кода воспользуйтесь инструкцией по клонированию.
Для каждого артефакта в релизе доступны файлы контрольных сумм (.sha256) и цифровой подписи (.sig), которые могут использоваться для проверки целостности и подлинности артефакта после скачивания.
Подсказка
Если вы используете операционную систему macOS, измените настройки утилиты архивации. В настройках Archive Utility снимите флажок Keep expanding if possible. В противном случае архив проекта будет скачан некорректно.
Настройка проекта
Для корректной обработки зависимостей SDK выполните следующие настройки.
- Откройте настройки проекта: Edit → Project Settings → Player → Android Settings.
- В разделе 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 → 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:
-
Создаст deeplink-активити
ru.rustore.unitysdk.RuStoreDeeplinkActivityDefaultс темойTheme.NoDisplay. -
Создаст тег
intent-filterвнутри deeplink-активити с указанием ссылки на вашуDeeplink Scheme. -
Создаст теги
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.