Домашняя страница


RU EN
🏠 Домой ❮ Назад

Unity-плагин RuStore для работы с облачным сервисом конфигурации приложения

RuStore Remote Config это облачный сервис, который позволяет изменять поведение и внешний вид вашего приложения, не требуя от пользователей загрузки обновления приложения. SDK инкапсулирует в себе запрос конфигурации с сервера, кэширование, фоновое обновление. Поддерживаются версии Unity 6000+.

Установка плагина в свой проект

  • Скачайте файлы ru.rustore.core-x.y.z.tgz и ru.rustore.remoteconfig-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.

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

Инициализация RuStoreUnityRemoteConfigClient с параметрами UpdateBehaviour.Default и UpdateBehaviour.Snapshot должна происходить в момент Application.onCreate(), так как при запуске фоновой синхронизации SDK должна быть проинициализирована.

Для этого выполните расширение класса Application и добавьте в метод onCreate следующий код.

package ru.rustore.unitysdk;

import android.app.Application;
import ru.rustore.unitysdk.remoteconfigclient.RuStoreUnityRemoteConfigClient;
import ru.rustore.unitysdk.remoteconfigclient.model.RemoteConfigClientParameters;
import ru.rustore.unitysdk.remoteconfigclient.model.UnityRemoteConfigClientEventListener;

public class RuStoreRemoteConfigApplication extends Application {

    public final String APP_ID = "a83c91d3-21b4-4891-841e-0ed0fc39a562";
    public final int UPDATE_TIME = 15;
    public final String UPDATE_BEHAVIOUR = "Default";
    public RemoteConfigClientParameters parameters = null;
    public UnityRemoteConfigClientEventListener listener = null;
	
    @Override
    public void onCreate() {
        super.onCreate();

        RuStoreUnityRemoteConfigClient.INSTANCE.init(APP_ID, UPDATE_TIME, UPDATE_BEHAVIOUR, parameters, listener, getApplicationContext());
    }
}

Для замены класса Application на RuStoreRemoteConfigApplication добавьте атрибут android:name к тегу application в файле манифеста вашего проекта Assets/Plugins/Android/AndroidManifest.xml.

Пример AndroidManifest.xml
<?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 android:name="ru.rustore.unitysdk.RuStoreRemoteConfigApplication">
        <activity android:name="com.unity3d.player.UnityPlayerActivity"
                  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>

Инициализация плагина

Для доступа к методам SDK из C# выполните инициализацию плагина, используя метод Init.

Вызов метода Init
IRemoteConfigClientEventListener eventListener = /* Реализация интерфейса */;

RuStoreRemoteConfigClient.Instance.Init(eventListener);

Для работы в режиме UpdateBehaviour.Actual инициализация может быть выполнена без создания расширения класса Application. При этом параметр APP_ID должен быть передан из C#.

Вызов метода Init
IRemoteConfigClientEventListener eventListener = /* Реализация интерфейса */;

var settings = new RuStoreRemoteConfigClientSettings() {
    appId = APP_ID,
    account = ACCOUNT,
    language = LANGUAGE
};

RuStoreRemoteConfigClient.Instance.Init(settings, eventListener);

Начните изучение документации библиотеки с методов класса RuStoreRemoteConfigClient. Или воспользуйтесь руководством онлайн.

Техническая поддержка

Дополнительная помощь и инструкции доступны в документации RuStore и по электронной почте support@rustore.ru.

Условия распространения

Данное программное обеспечение, включая исходные коды, бинарные библиотеки и другие файлы, распространяется под лицензией MIT. Информация о лицензировании доступна в документе MIT-LICENSE.