Подключение MRGS RuStore🔗
MRGS RuStore является дополнительным поведением для уже имеющихся модулей MRGS (MRGSBilling, MRGSNotifications). Поэтому достаточно будет указать платформу RSTORE при конфигурации и инициализации MRGS SDK чтобы изменить поведение. На данной странице будут отмечены лишь основные нюансы подключения и использования MRGS RuStore.
RuStore доступен только для платформы Android.
Поддерживаемые модули🔗
На данный момент поддерживаются следующие модули:
- Платежи через RuStore (Модуль MRGSRuStoreBilling).
- RuStore уведомления (Модуль MRGSNotificationsRuStore).
Создание проекта🔗
- Для создания проекта в RuStore откройте консоль и следуйте документации
- Затем заведите приложение на сайте MRGS с параметром платформы "RuStore".
Подключение RuStore🔗
- Добавьте в ваш root build.gradle файл репозиторий
buildscript {
repositories {
...
maven { url = uri("https://artifactory-external.vkpartner.ru/artifactory/maven") }
...
}
...
}
- При инициализации MRGService SDK крайне важно выставить тип биллинга, от него зависит поведение всех остальных модулей.
using MRGS;
public class MasterController : MonoBehaviour
{
void Awake()
{
var serviceParams = new MRGServiceParams(appId: APP_ID, appSecret: APP_SECRET);
// Setting MRGServiceParams
// ...
// Requires Platform for Android application
// Available platforms: Amazon, Android, Huawei, Samsung, FacebookCloud, RStore
serviceParams.AndroidExtraOptions.Platform = MRGSPlatformAndroid.RStore;
// Settings external SDK and initializing MRGS SDK
// ...
}
}
import games.my.mrgs.MRGSPlatform;
import games.my.mrgs.MRGService;
import games.my.mrgs.MRGServiceParams;
public class YourApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
// Setting MRGService
// Available MRGSPlatform: AMAZON, ANDROID, HUAWEI, SAMSUNG, FACEBOOK_CLOUD, RSTORE
final MRGServiceParams serviceParams
= MRGServiceParams.init(<MRGS_APP_ID>, <CLIENT_SECRET>, MRGSPlatform.RSTORE)
// Settings external SDK and initialization MRGS SDK
// ...
}
}
In-app платежи🔗
- Для создания платежей в RuStore а также их тестирования, следуйте инструкции.
Подключение SDK🔗
Для подключения RuStore платежей необходимо добавить модуль MRGSRuStoreBilling:
Unity
Шаг 1. Добавьте источники
Для того, чтобы добавить MRGS в проект через Unity Package Manager (доступно с Unity 2018+) просто добавьте в файл Packages/manifest.json раздел scopedRegistries, добавив в него следующую запись:
{
"dependencies": {
...
},
"scopedRegistries": [
{
"name": "MRGS",
"url": "https://mrgs-nexus.my.games/repository/mrgs-uninty-plugins/",
"scopes": [
"games.my.mrgs"
]
}
]
}
Альтернативно, можно нажать Edit -> Project Settings -> Package Manager -> '+' in scoped registry section, и заполнить поля в соответствии с данными выше.
Шаг 2. Добавьте зависимость
- Нажмите
Window -> Package Manager -> select 'Packages: MyRegistries' from dropdown list, выберите пакетMRGSRuStoreBillingиз списка, затем нажмите "Install" - Импортируйте модуль:
using MRGS;
- Загрузите последнюю версию библиотеки. Распакуйте архив.
- (Для интеграции unitypackage) В Unity нажмите
Assets -> Import Package -> Custom Package, и выберите пакетgames.my.mrgs.rustorebilling.unitypackageиз скачанного архива. - (Для интеграции tgz) В Unity нажмите
Window -> Package Manager -> '+' -> Add package from tarball, и выберите пакетgames.my.mrgs.rustorebilling-<version>.tgzиз скачанного архива. - Импортируйте модуль:
using MRGS;
Android
- Добавьте в application build.gradle файл зависимость
- Загрузите последнюю версию библиотеки с сайта MRGS.
- Извлеките модуль MRGSRuStoreBilling из архива.
- Скопируйте файл MRGSRuStoreBilling.aar в директорию libs вашего проекта.
- Добавьте необходимые зависимости в файл build.gradle
Настройка окружения🔗
Для корректной работы необходимо получить consoleApplicationId - подробнее смотрите в документации
Инициализация🔗
При инициализации MRGS необходимо передать MRGSRuStoreBillingParams с заполненным consoleApplicationId:
import games.my.mrgs.MRGSPlatform;
import games.my.mrgs.MRGService;
import games.my.mrgs.MRGServiceParams;
import games.my.mrgs.MRGSModuleParams;
import games.my.mrgs.billing.rustore.MRGSRuStoreBillingParams
public class YourApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
// Setting MRGServiceParams
// ...
// Setting Modules params
List<MRGSModuleParams> modulesParams = new ArrayList<>();
// ...
modulesParams.add(MRGSRuStoreBillingParams.init("appConsoleId"));
// Initializing MRGS SDK
// ...
}
}
Совершение платежей🔗
Механизм платежей в SDK не претерпел каких либо изменений, поэтому для работы с функционалом MRGSBank можно обратиться к инструкции.
Push-увеломления🔗
Подключение SDK🔗
Для подключения RuStore нотификаций необходимо добавить модуль MRGSNotificationsRuStore:
Unity
Шаг 1. Добавьте источники
Для того, чтобы добавить MRGS в проект через Unity Package Manager (доступно с Unity 2018+) просто добавьте в файл Packages/manifest.json раздел scopedRegistries, добавив в него следующую запись:
{
"dependencies": {
...
},
"scopedRegistries": [
{
"name": "MRGS",
"url": "https://mrgs-nexus.my.games/repository/mrgs-uninty-plugins/",
"scopes": [
"games.my.mrgs"
]
}
]
}
Альтернативно, можно нажать Edit -> Project Settings -> Package Manager -> '+' in scoped registry section, и заполнить поля в соответствии с данными выше.
Шаг 2. Добавьте зависимость
- Нажмите
Window -> Package Manager -> select 'Packages: MyRegistries' from dropdown list, выберите пакетMRGSNotificationsRuStoreиз списка, затем нажмите "Install" - Импортируйте модуль:
using MRGS;
- Загрузите последнюю версию библиотеки. Распакуйте архив.
- (Для интеграции unitypackage) В Unity нажмите
Assets -> Import Package -> Custom Package, и выберите пакетgames.my.mrgs.notificationsrustore.unitypackageиз скачанного архива. - (Для интеграции tgz) В Unity нажмите
Window -> Package Manager -> '+' -> Add package from tarball, и выберите пакетgames.my.mrgs.notificationsrustore-<version>.tgzиз скачанного архива. - Импортируйте модуль:
using MRGS;
Android
- Добавьте в application build.gradle файл зависимость
- Загрузите последнюю версию библиотеки с сайта MRGS.
- Извлеките модуль MRGSNotificationsRuStore из архива.
- Скопируйте файл MRGSNotificationsRuStore.aar в директорию libs вашего проекта.
- Добавьте необходимые зависимости в файл build.gradle
Настройка окружения🔗
Для корректной работы необходимо:
- Получить уникальный идентификатор проекта в RuStore (ID проекта) и сервисный токен - подробнее смотрите в документации
- Добавить эти данные в разделы "Внешний идентификатор" и "Ключ для отправки PUSH нотификаций" в настройках приложения на сайте MRGS соответственно.
Инициализация🔗
Внимание!
Для работы уведомлений ОБЯЗАТЕЛЬНО инициализировать RuStorePushClient в классе Application вашего проекта.
Unity
- В папке ./Plugins/Android вашего проекта создайте (или отредактируйте) класс Application вашего проекта
package com.unity3d.player;
import android.app.Application;
import android.util.Log;
public class YourApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
ru.rustore.sdk.pushclient.RuStorePushClient.INSTANCE.init(
this,
"yours_project_id",
new ru.rustore.sdk.pushclient.common.logger.DefaultLogger()
);
}
}
-
В папке ./Plugins/Android вашего проекта создайте (или отредактируйте) файл AndroidManifest.xml и укажите в нем ваш класс Application
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player"> <application android:name="com.unity3d.player.YourApplicationClass"> ... <activity android:name="com.unity3d.player.UnityPlayerActivity" android:exported="true" android:theme="@style/UnityThemeSelector"> <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> </application> </manifest>
Android
- Для интеграции RuStore уведомлений, необходимо в AndroidManifest.xml указать свой класс Application
-
Инициализируйте RuStorePushClient в классе Application вашего проекта.
import ru.rustore.sdk.pushclient.RuStorePushClient import ru.rustore.sdk.pushclient.common.logger.DefaultLogger public class YourApplicationClass extends Application { @Override public void onCreate() { super.onCreate(); ... String projectId = "yours_project_id" RuStorePushClient.INSTANCE.init( this, projectId, new DefaultLogger() ); ... // Settings external SDK and initializing MRGS SDK with MRGSPlatformAndroid.RStore platform } }
Дата создания: 2023-11-10