1. Введение
В этой лаборатории кода вы узнаете, как создать эксперимент с удаленной настройкой с помощью A/B-тестирования для примера игры MechaHamster: Level Up с версией Firebase , которую вы изменили в разделе «Инструментируйте свою игру с помощью Firebase Remote Config» .
A/B-тестирование с помощью Remote Config позволяет тестировать изменения в пользовательском интерфейсе, функциях или кампаниях по вовлечению вашего приложения на целевой аудитории, прежде чем распространять их на более широкую аудиторию. Вы также можете использовать результаты эксперимента, чтобы:
- Определите, какие варианты значений параметров улучшают ключевые показатели, такие как доход и удержание.
- Узнайте, какие подгруппы пользователей предпочитают какие варианты.
- Соберите и сохраните данные эксперимента для проведения дополнительного анализа последствий установки различных значений параметров.
В этом суть A/B-тестирования: оно позволяет вам взять код, предназначенный для Remote Config, и запустить эксперименты, которые контролируют значения, которые получают клиенты, на основе условий Remote Config (включая свойства пользователя Google Analytics), процентного развертывания, событий конверсии Analytics и т. д. и некоторая их комбинация.
Сначала вы реализуете условие, определяющее, кто будет включен в эксперимент, путем установки свойств пользователя на основе действий пользователя. Затем вы создадите эксперимент A/B-тестирования, который будет использовать свойства пользователей Google Analytics, чтобы определить, какие клиенты будут включены в эксперимент. И, наконец, вы будете использовать эти данные, чтобы лучше понять свою аудиторию.
Что вы узнаете
- Как настроить A/B-тестирование с использованием инструментированных значений Remote Config
- Как использовать свойства пользователя Google Analytics как часть условий допуска к A/B-тестам
Предварительные условия
Что вам понадобится
- Unity 2019.1.0f1 или более поздняя версия с поддержкой сборки iOS и/или Android.
2. Включение меню отладки
В проекте скрыто меню отладки, и кнопка доступа к этому меню существует в игре, но в настоящее время неактивна. Вы должны включить кнопку, чтобы получить к ней доступ из префаба MainMenu.
- В редакторе Unity выберите вкладку Project , затем в разделе Assets разверните Hamster > Prefabs > Menus и нажмите MainMenu .
- В иерархии префабов найдите отключенный подобъект с именем DebugMenuButton и щелкните его, чтобы открыть на вкладке «Инспектор» .
- На вкладке «Инспектор» установите флажок в верхнем левом углу рядом с текстовым полем, содержащим кнопку DebugMenuButton, чтобы включить ее.
- Сохраните префаб.
Если вы запустите игру в редакторе или на своем устройстве, меню теперь должно быть доступно.
3. Включите подменю Remote Config.
- На вкладке «Проект» в редакторе Unity разверните «Ресурсы» > «Hamster » > «Префабы» > «Меню» и дважды щелкните объект DebugMenu , чтобы открыть его на вкладке «Иерархия» редактора.
- На вкладке «Иерархия» разверните иерархию и щелкните подобъект в разделе «DebugMenu > Panel» , который называется « Действия удаленной настройки» .
- На вкладке « Инспектор Unity» включите «Действия удаленной настройки», установив флажок слева от текстового поля, содержащего имя объекта.
У него есть два дочерних элемента GameObject с именами Set Bored Of Subtitle и Set Enjoys Subtitle, которые настроены на вызов существующих, но нереализованных методов в DebugMenu.cs
.
4. Сбросьте переопределение субтитров по умолчанию в приложении.
В предыдущей лаборатории кода вы переопределили значение параметра по умолчанию как JSON и использовали условия для обслуживания различных вариантов. В рамках этой лаборатории кода вы удалите созданное вами условие и повторно введете значение по умолчанию в приложении, и вы сможете переопределить его только с помощью результатов A/B-тестирования.
Чтобы снова включить настройки по умолчанию в приложении:
- Откройте страницу Remote Config в консоли Firebase и щелкните значок карандаша рядом с параметром
subtitle_override
, чтобы открыть боковую панель «Редактировать параметр» . - Нажмите значок X рядом с условием, чтобы удалить его.
- Рядом с оставшимся значением по умолчанию включите переключатель «Использовать по умолчанию в приложении» .
- Нажмите « Сохранить» , чтобы сохранить изменения, затем нажмите «Опубликовать изменения» , чтобы опубликовать изменения.
5. Установите свойства пользователя в функциях отладки.
Теперь вы напишете тела функций для некоторых предварительно настроенных, но нереализованных функций Google Analytics в DebugMenu.cs
(который можно найти в разделе «Активы» > «Hamster» > «Скрипты» > «Состояния»).
Эти функции устанавливают свойства пользователя , которые представляют собой способы описания сегментов вашей пользовательской базы и используются для записи того, как пользователь относится к субтитрам игры.
Реализуйте SetUserBoredOfSubtitle
и SetUserEnjoysSubtitle
, найдя существующие их версии в DebugMenu.cs
и перезаписав их следующим образом:
void SetUserBoredOfSubtitle()
{
Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "bored");
}
void SetUserEnjoysSubtitle()
{
Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "enjoys");
}
Если ваше приложение правильно настроено с помощью Google Analytics, вы можете вызвать одну из этих функций, чтобы сделать свойство доступным для условий Remote Config. Чтобы вызвать SetUserBoredOfSubtitle
с мобильного устройства, запустите игру и нажмите кнопку «Меню отладки» в главном меню, затем нажмите «Set Bored of Subtitle» .
6. Создайте собственное измерение
Далее вы настроите различные варианты субтитров для subtitle_override
, чтобы увидеть, какой из субтитров работает лучше всего. Но в вашем A/B-тесте вы будете показывать эти варианты только тем пользователям, чьи чувства по поводу текущего субтитра (как записано в subtitle_sentiment
) включают слово «скучно».
Вы будете использовать специальный параметр для создания и отслеживания специальных параметров событий Analytics. Дополнительную информацию см. в разделе Специальные параметры и показатели .
Чтобы создать новый специальный параметр:
- Откройте консоль Firebase , разверните меню «Аналитика» и выберите «Пользовательские определения».
- На странице «Пользовательские определения» нажмите «Создать специальные измерения» .
- В окне «Новый специальный параметр» задайте для имени измерения значение «Настроение субтитров» и в раскрывающемся списке «Область » выберите «Пользователь» .
- В поле «Свойство пользователя» выберите
subtitle_sentiment.
7. Настройте эксперимент A/B-тестирования.
Затем создайте эксперимент A/B-тестирования, чтобы установить разные значения для subtitle_override
, которые будут сравниваться друг с другом, чтобы оптимизировать двух-трехдневное удержание пользователей.
- Сначала выберите «Изменить» в параметре
subtitle_override
на странице удаленной конфигурации консоли Firebase:
- В появившемся диалоговом окне «Редактировать параметр» нажмите « Добавить новый» .
- В появившемся списке выберите Эксперимент .
- Введите название и описание эксперимента.
- Далее выберите условия таргетинга. Сначала выберите свое приложение из раскрывающегося списка.
- Затем нажмите «И», чтобы добавить новое условие, затем выберите «Свойство пользователя» и выберите
subtitle_sentiment
. Если он не появляется, введите его вручную. - Поскольку вы хотите установить субтитры только для тех, чье текущее настроение субтитров включает «скучно», выберите « содержит » и введите
bored
. - При желании выберите, какой процент аудитории, соответствующей вышеуказанным критериям, будет подвергнут тестированию. Выберите 100% , чтобы избежать случайности, которую вы не можете легко контролировать.
- Затем выберите цель, для достижения которой тест попытается максимизироваться. Выберите «Удержание» (2–3 дня) .
- Далее настройте параметры эксперимента и создайте разные варианты субтитров. Эти варианты представляют собой разные значения. A/B-тестирование будет предоставляться пользователям, у которых
subtitle_sentiment
содержит слово «скучно», а A/B-тестирование определит, какой вариант лучше всего подходит для максимального удержания. - Введите следующее значение параметра для варианта A:
{"text":"A: A game about a mechanical hamster","fontSize":8,"textColor":{"r":0.0,"g":255.0,"b":0.0,"a":255.0}}
- Введите следующее значение параметра для варианта B:
{"text":"B: A game about a mechanical hamster","fontSize":14,"textColor":{"r":255.0,"g":0.0,"b":0.0,"a":255.0}}
- Установите соотношения вариантов с целыми числами следующим образом:
- Базовый уровень : 1
- Вариант А : 100
- Вариант Б : 100
- Сохраните и отправьте, нажав «Начать эксперимент» , затем нажмите «Начать» во всплывающем окне подтверждения.
8. Запустите метод Set User Property и обновите.
Теперь вы установили различные свойства пользователя, которые затем можно использовать для управления логикой или представлением вашей игры.
Если вы ранее не запускали метод SetUserProperty
или не установили для enjoys
, вы все равно должны видеть субтитры по умолчанию при открытии игры.
Если вы установили для него значение « bored
(перед повторной загрузкой), вы должны увидеть одно из новых значений в соотношении примерно 50/50.
После того как устройство участвует в эксперименте A/B-тестирования, значения, полученные в результате этого эксперимента, не изменяются и сохраняются для каждой установки . Как следствие, чтобы получить одно из других экспериментальных значений, вам необходимо создать новую установку, либо переустановив игру на то же устройство/симулятор, либо установив игру на новое устройство/симулятор.
В реальном A/B-тесте, запущенном для вашей пользовательской базы, вы должны придать базовому уровню такой же вес, как и другим вариантам. Но в этом случае вы назначаете очень искаженные вероятности, чтобы подтвердить, что эксперимент работает. Если (в случае 1/201) вы по-прежнему получаете значение по умолчанию, попробуйте переустановить игру на свое устройство/симулятор.
Другим эффектом этого является то, что переключение свойства пользователя обратно на enjoys
не приведет к изменению значения обратно на базовое значение, но, опять же, вы можете сделать это, переключившись на enjoys
и переустановив его.
9. Поздравляем!
Вы использовали A/B-тестирование Remote Config, чтобы поэкспериментировать с различными значениями Remote Config и определить, как каждое из них влияет на показатели Analytics.
Что мы рассмотрели
- Как настроить A/B-тестирование с использованием инструментированных значений Remote Config
- Как использовать свойства пользователя Google Analytics как часть условий допуска к экспериментам A/B-тестирования
Следующие шаги
После завершения эксперимента вы можете выбрать один из списка экспериментов вашего проекта и решить, что вы хотите с ним делать. Хотите выбрать одного «победителя» или провести еще эксперименты?