Общая информация
Скачайте Unity-плагин для подключения платежей по ссылке.
Для работы проведения платежей необходимо соблюдение всех условий:
- На устройстве пользователя установлено приложение RuStore.
- Приложение RuStore должен поддерживает функциональность платежей.
- Пользователь авторизован в RuStore.
- Пользователь и приложение не должны быть заблокированы в RuStore.
- Для приложения должна быть включена возможность покупок в системе RuStore Консоль.
Сервис имеет некоторые ограничения на работу за пределами РФ.
Подключение в проект
Для подключения необходимо скачать RuStore Billing SDK и импортировать его в проект (Assets → Import Package → Custom Package). Зависимости подключаются автоматически с помощью External Dependency Manager (включен в SDK).
Minimum API level должен быть установлен не ниже 24. Минификация приложения (ProGuard/R8) не поддерживается. Отключите её в настройках проекта (File → Build Settings → Player Settings → Publishing Settings → Minify).
Обработка deeplink
При оплате пользователем через SberPay происходит переход в приложение Сбербанк. После завершения оплаты должен быть переход обратно в приложение с помощью deeplink. Для обработки deeplink необходимо указать в AndroidManifest.xml intent-filter со scheme вашего проекта:
< activity android:name = ".sample.MainActivity" > < intent-filter > < action android:name = "android.intent.action.MAIN" /> < category android:name = "android.intent.category.LAUNCHER" /> </ 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 = "yourappscheme" /> </ intent-filter > </ activity > |
где «yourappscheme» — схема вашего deeplink, может быть изменена на другую.
Далее в Activity нужно добавить:
public class SampleActivity extends UnityPlayerActivity { @Override protected void onNewIntent(Intent intent) { super .onNewIntent(intent); RuStoreUnityBillingClient.onNewIntent(intent); } } |
Инициализация
Перед вызовом методов библиотеки выполните ее инициализацию.:
var config = new RuStoreBillingClientConfig() { consoleApplicationId = "11111" , deeplinkPrefix = "yourappscheme" , allowNativeErrorHandling = true, enableLogs = true }; RuStoreBillingClient.Instance.Init(config); |
- consoleApplicationId — код приложения из системы RuStore Консоль. (пример: https://console.rustore.ru/apps/111111);
- deeplinkPrefix — url для использования deeplink. В качестве названия может быть использовано любое уникальное имя (пример: yourappscheme);
- allowNativeErrorHandling — разрешить обработку ошибок в нативном SDK (см. подробнее в разделе Обработка ошибок);
- enableLogs — включить логи.
Важно, чтобы схема deeplink, передаваемая в deeplinkPrefix, совпадала со схемой, указанной в AndroidManifest.xml.
Если вам нужно проверить факт инициализации библиотеки, используйте свойство RuStoreBillingClient.Instance.isInitialized, его значение true, если библиотека инициализирована, и false, если Init еще не был вызван.
var isInitialized = RuStoreBillingClient.Instance.IsIninialized; |