Домашняя страница
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.