Интеграция Varioqub Unity
- Общие рекомендации при интеграции
- Шаг 1. Подключите плагин Varioqub Unity
- Шаг 2. Инициализируйте библиотеку
- Шаг 3. Задайте конфигурацию по умолчанию
- Шаг 4. Запустите обновление конфигурации флагов в фоне и активируйте конфигурацию
- Получение флагов из интерфейса
- Получение ID устройства для проверки эксперимента
Varioqub Unity — это плагин для игровой платформы Unity3d. Он включает поддержку Varioqub SDK для Android и iOS.
Системные требования:
- Unity 2018.3 и выше.
- External Dependency Manager.
Для работы плагина Varioqub Unity подключите и инициализируйте плагин AppMetrica Unity. Подробнее о том, как это можно сделать, читайте в документации AppMetrica Unity.
Ниже описаны этапы подключения и инициализации Varioqub Unity.
Общие рекомендации при интеграции
-
При старте новой сессии вызывайте метод
ActivateConfig()
, чтобы получить значения сохраненных флагов. -
Запускайте
Fetch()
в фоне, чтобы выгрузить новые значения флагов с сервера и активировать их при старте следующей сессии. -
Не рекомендуется вызывать метод
ActivateConfig()
в середине сессии — это может привести к неконсистентному поведению приложения.
Шаг 1. Подключите плагин Varioqub Unity
Добавьте зависимости в Packages/manifest.json:
{
"scopedRegistries": [
{
"name": "package.openupm.com",
"url": "https://package.openupm.com",
"scopes": [
"com.google.external-dependency-manager",
"com.yandex.varioqub"
]
}
],
"dependencies": {
"com.google.external-dependency-manager": "1.2.183",
"com.yandex.varioqub": "0.1.0"
}
}
-
Подключите External Dependency Manager согласно документации.
-
Добавьте плагин Varioqub Unity в зависимости в Packages/manifest.json:
{
"dependencies": {
"com.yandex.varioqub": "https://github.com/appmetrica/varioqub-unity-plugin.git#v0.1.0"
}
}
Шаг 2. Инициализируйте библиотеку
Инициализируйте библиотеку Varioqub с помощью метода initVarioqubWithAppMetricaAdapter()
:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Com.Yandex.Varioqub;
public class VarioqubSDK : MonoBehaviour {
IEnumerator RepeatFetch() {
while (true) {
Varioqub.Fetch(
onSuccessDelegate: () => {
Debug.Log("Fetch successed!");
},
onErrorDelegate: error => {
Debug.Log($"Error: {error}!");
}
);
yield return new WaitForSeconds(10f);
}
}
void Awake() {
var settings = new VarioqubSettings("appmetrica.1234567");
settings.Logs = true;
settings.ThrottleInterval = 2;
settings.ClientFeatures = new Dictionary<string, string>(){
{"isNight", "true"}
};
Varioqub.InitVarioqubWithAppMetricaAdapter(settings);
Varioqub.ActivateConfig();
StartCoroutine(RepeatFetch());
}
}
Для инициализации библиотеки используется метод initVarioqubWithAppMetricaAdapter(VarioqubSettings settings)
. В качестве параметров он принимает объект VarioqubSettings
.
Содержит обязательные и опциональные настройки.
Обязательные
-
clientID
— идентификатор проекта в форматеappmetrica.XXXXXX
, где XXXXXX — идентификатор приложения из интерфейса AppMetrica (например,VarioqubSettings("appmetrica.1234567")
).Совет
ID приложения можно получить на странице Настройки AppMetrica: скопируйте его из Общие настройки → ID приложения.
Опциональные
-
ClientFeatures
— список пользовательских параметров. Например, признак того, что пользователь подписан на рассылки. -
ThrottleInterval
— ограничение частоты обновления конфига в секундах. Рекомендуется использовать только для тестирования. -
URL
— изменение URL для ответов сервера. Используется только для тестов. -
Logs
— включение внутреннего логирования. При обращении в поддержку лучше сначала включить логирование и отправить лог с описанием проблемы. -
activateEvent
— отправка события при активации конфигурации флагов. По умолчанию отправка события включена.
Шаг 3. Задайте конфигурацию по умолчанию
Вы можете установить конфигурацию по умолчанию, чтобы ваше приложение использовало необходимые значения параметров до того, как оно подключится к серверу с удаленной конфигурацией. Для этого передайте список параметров с помощью метода SetDefaults(IDictionary<string, object> defaults)
.
Вы можете скачать XML-файл конфигурации по умолчанию со страницы Конфиг флагов.
Шаг 4. Запустите обновление конфигурации флагов в фоне и активируйте конфигурацию
Чтобы использовать самую свежую конфигурацию флагов из интерфейса, запустите фоновое обновление конфигурации с помощью метода Fetch()
:
Varioqub.Fetch(
onSuccessDelegate: () => {
Debug.Log("Fetch successed!");
},
onErrorDelegate: error => {
Debug.Log($"Error: {error}!");
}
);
Каждый раз при получении самой свежей версии конфигурации (чаще всего это происходит при старте новой сессии) необходимо активировать ее с помощью метода ActivateConfig()
.
Совет
Основной сценарий использования:
Периодически скачивайте конфигурацию и активируйте ее при запуске приложения. Это гарантирует, что флаги не поменяются во время пользовательской сессии. Рекомендуется запускать активацию как можно раньше.
Varioqub.ActivateConfig();
Получение флагов из интерфейса
Значения флагов вычисляются и предоставляются в следующем порядке:
- Флаг есть в эксперименте.
- Флаг есть в загруженной конфигурации.
- Флаг есть в конфигурации по умолчанию.
Методы для получения флагов:
Varioqub.GetString(key, default)
.
Пример кода:
Varioqub.GetString("key", "default_value");
Получение ID устройства для проверки эксперимента
Для получения ID устройства используйте метод Varioqub.GetId()
:
Varioqub.GetId();
Примечание
До первого успешного вызова Fetch()
метод Varioqub.GetId()
может возвращать пустой ответ.
Подробнее о создании и проверке эксперимента читайте в разделе Создание эксперимента.