SDK Платежи in-app и подписки для Unity (версия 6.0.0)
RuStore позволяет интегрировать платежи в мобильное приложение.
Если не знаете с чего начать, прочтите инструкцию в сценариях использования.
Подготовка к работе
Для подключения скачайте файл RuStoreUnityBillingSDK-version.unitypackage
и импортируйте его в проект (Assets > Import Package > Custom Package). Зависимости подключаются автоматически с помощью External Dependency Manager (включен в .unitypackage
).
Если вы используете операционную систему macOS, измените настройки утилиты архивации. В настройках Archive Utility снимите флажок Keep expanding if possible. В противном случае архив проекта будет скачан некорректно.
Также вы можете склонировать код с помощью Git.
Для корректной обработки зависимостей SDK выполните следующие настройки.
-
Откройте настройки проекта: 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.
-
Обновите зависимости проекта: Assets > External Dependency Manager > Android Resolver > Force Resolve.
RuStoreUnityBillingSDK-6.+.unitypackage содержит пример оформления манифеста для обработки deeplink. Если ваш проект уже содержит кастомизированный манифест не выполняйте импорт примера. Для этого при импорте пакета снимите флажок с файла Plugin > Android > AndroidManifest.xml
как показано на рисунке:

Инициализация SDK
Перед вызовом методов библиотеки необходимо выполнить её инициализацию.
Выберите в меню редактора пункт Window > RuStoreSDK > Settings > Billing Client.
RuStoreBillingClient.Instance.Init();
Если требуется инициализация с другими настройками, есть возможность передать их непоср едственно из кода.
var config = new RuStoreBillingClientConfig() {
consoleApplicationId = "123456" ,
deeplinkPrefix = "yourappscheme" ,
allowNativeErrorHandling = true,
enableLogs = true
};
RuStoreBillingClient.Instance.Init(config);
-
consoleApplicationId
— идентификатор приложения из RuStore консоли.
Где в RuStore Консоль отображаются идентификаторы приложений?
- Перейдите на вкладку Приложения и выберите нужное приложение.
- Скопируйте идентификатор из URL-адреса страницы приложения — это набор цифр между
apps/
и/versions
. Например, для URL-адресаhttps://console.rustore.ru/apps/123456/versions
ID приложения —123456
.
-
deeplinkPrefix
— URL-адрес для использования deeplink. В качестве названия может быть использовано любое уникальное имя (пример:yourappscheme
). -
allowNativeErrorHandling
— разрешить обрабо тку ошибок в нативном SDK (см. подробнее в разделе Обработка ошибок). -
enableLogs
— включить ведение журнала событий.
deeplinkPrefix
, должна совпадать со схемой, указанной в AndroidManifest.xml
(подробнее см. Обработка deeplink).Если вам нужно проверить факт инициализации библиотеки, используйте свойство RuStoreBillingClient.Instance.isInitialized
— его значение true
, если библиотека инициализирована, и false
, если Init
еще не был вызван.
var isInitialized = RuStoreBillingClient.Instance.IsInitialized;