Домашняя страница
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.