Перейти к содержанию

Подключение MRGS RuStore🔗

MRGS RuStore является дополнительным поведением для уже имеющихся модулей MRGS (MRGSBilling, MRGSNotifications). Поэтому достаточно будет указать платформу RSTORE при конфигурации и инициализации MRGS SDK чтобы изменить поведение. На данной странице будут отмечены лишь основные нюансы подключения и использования MRGS RuStore.

RuStore доступен только для платформы Android.

Поддерживаемые модули🔗

На данный момент поддерживаются следующие модули:

  1. Платежи через RuStore (Модуль MRGSRuStoreBilling).
  2. 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 файл зависимость
    dependencies {
        def mrgsVersion = "6.x.x"
        implementation "games.my.mrgs:billing-rustore:$mrgsVersion"
    }
  • Загрузите последнюю версию библиотеки с сайта MRGS.
  • Извлеките модуль MRGSRuStoreBilling из архива.
  • Скопируйте файл MRGSRuStoreBilling.aar в директорию libs вашего проекта.
  • Добавьте необходимые зависимости в файл build.gradle
dependencies {
    implementation(name: 'MRGSRuStoreBilling', ext:'aar')

    implementation 'ru.rustore.sdk:billingclient:2.1.0'
}

Настройка окружения🔗

Для корректной работы необходимо получить consoleApplicationId - подробнее смотрите в документации

Инициализация🔗

При инициализации MRGS необходимо передать MRGSRuStoreBillingParams с заполненным consoleApplicationId:

    using MRGS;

    public class MasterController : MonoBehaviour
    {
        void Awake()
        {
            // Setting MRGServiceParams
            // ...

            // Setting Modules params
            var modulesParams = new List<MRGSExternalSDKSettings>
            // ...
            modulesParams.Add(new MRGSRuStoreBillingParams("<appConsoleId>"));

            // Initializing MRGS SDK
            // ...
        }
    }
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 файл зависимость
    dependencies {
        def mrgsVersion = "6.x.x"
        implementation "games.my.mrgs:notifications-rustore:$mrgsVersion"
    }
  • Загрузите последнюю версию библиотеки с сайта MRGS.
  • Извлеките модуль MRGSNotificationsRuStore из архива.
  • Скопируйте файл MRGSNotificationsRuStore.aar в директорию libs вашего проекта.
  • Добавьте необходимые зависимости в файл build.gradle
dependencies {
    implementation(name: 'MRGSNotificationsRuStore', ext:'aar')

    implementation 'ru.rustore.sdk:pushclient:0.3.0'
}

Настройка окружения🔗

Для корректной работы необходимо:

  • Получить уникальный идентификатор проекта в 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
<application 
android:name=".YourApplicationClass"
    >
...
</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    
        }
    }
    

Последнее обновление: 2025-01-21
Дата создания: 2023-11-10