A/B эксперименты API
Интеграция экспериментов через GamePush SDK. Методы работы.
Список методов
Свойства:
gp.experiments.map- список экспериментов. FREE
Проверки:
gp.experiments.has()- проверить какая у игрока сейчас когорта в эксперименте. FREE
Рекомендации при работе с экспериментами
- Вносите изменения в игру для побочных версий через проверку
gp.experiments.has(). - Всегда делайте версию по умолчанию (А) для возможности откатиться к ней.
- В версии по умолчанию (А) не завязывайтесь на проверку, считайте ее основной. Используйте переопределение для других версий кодом ниже или оставьте А версию на else.
- Калибруйте версию через A/A тест. Создайте эксперимент и назначьте проценты в когортах, но не вносите изменения в игру. Убедитесь, что метрики между этими двумя версиями одинаковые, тогда можете запускать тест. Если погрешность между версиями значительная, то заново распределите игроков по когортам, нажав на кнопку "Перетасовать".
Пример через проверку:
- JavaScript
- Construct 3
- Unity
let difficulty = 'normal';
if (gp.experiments.has('EASY_LEVEL', 'easy')) {
difficulty = 'easy';
} else if (gp.experiments.has('EASY_LEVEL', 'extra_easy')) {
difficulty = 'extra_easy';
}
runLevel(difficulty);
→
System
On start of layoutAdd action
Add action
Add action
Add action
запуск уровня с difficulty
Add action
Легенда
System
GamePush
Functions
System›Системный объект Construct 3
GamePush›Плагин GamePush
Functions — Объект Functions (Функции)
string difficulty = "normal";
if (GP_Experiments.Has("EASY_LEVEL", "easy"))
difficulty = "easy";
else if (GP_Experiments.Has("EASY_LEVEL", "extra_easy"))
difficulty = "extra_easy";
RunLevel(difficulty);
Пример через считывание значения когорты:
- JavaScript
- Construct 3
- Unity
const difficulty = gp.experiments.map.EASY_LEVEL || 'normal';
runLevel(difficulty);
→
System
On start of layoutкогорта из map; пустая строка если нет — fallback на normal
Add action
Add action
запуск уровня с difficulty
Add action
Легенда
System
Functions
System›Системный объект Construct 3
Functions — Объект Functions (Функции)
string difficulty = GP_Experiments.Get("EASY_LEVEL");
if (string.IsNullOrEmpty(difficulty))
difficulty = "normal";
RunLevel(difficulty);
Свойства
Список экспериментов
FREEВам доступен весь список экспериментов с разыгранными когортами сразу при запуске игры и загрузке игрока в формате ключ-значение.
- JavaScript
- Construct 3
- Unity
gp.experiments.map;
→
System
On start of layoutкогорта эксперимента по тегу (пусто, если нет)
Add action
Легенда
System
Text
System›Системный объект Construct 3
Text — Объект Text (Текст)
GP_Experiments.Map();
Пример содержания:
{
EASY_LEVEL: 'easy',
OFFER_ON_START: 'sale_50',
NO_RESTART: 'no_button_after_2nd_death',
EXTRA_REWARD: ''
}
Пример обращения:
const difficult = gp.experiments.map.EASY_LEVEL || 'default';
Проверки
Проверка когорты эксперимента
gp.experiments.has(tag, cohort) FREE
- JavaScript
- Construct 3
- Unity
// По Тегу
const hasEasyLevel = gp.experiments.has('EASY_LEVEL', 'easy');
// Проверка
if (hasEasyLevel) {
// Выпала когорта easy в эксперименте EASY_LEVEL
}
когорта easy активна в эксперименте EASY_LEVEL
Add action
Легенда
GamePush
GamePush›Плагин GamePush
// По Тегу
bool hasEasyLevel = GP_Experiments.Has('EASY_LEVEL', 'easy');
// Проверка
if (hasEasyLevel) {
// Выпала когорта easy в эксперименте EASY_LEVEL
}
Оставайтесь на связи
С другими разделами документации вы можете ознакомиться здесь. Для начала работы вы можете ознакомиться с нашими туториалами.
Сообщество GamePush в Telegram: @gs_community.
Для ваших обращений e-mail: official@gamepush.com
Желаем вам успехов!