1. Введение
В этой лабораторной работе вы узнаете, как создать эксперимент Remote Config с использованием A/B-тестирования для примера игры MechaHamster: Level Up with Firebase edition , которую вы модифицировали в разделе Инструментирование игры с помощью 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 выберите вкладку «Проект» , затем в разделе «Активы » разверните Hamster > Prefabs > Menus и нажмите MainMenu .
- В иерархии префабов найдите отключенный подобъект с именем DebugMenuButton и щелкните по нему, чтобы открыть на вкладке «Инспектор» .
- На вкладке «Инспектор» установите флажок в левом верхнем углу рядом с текстовым полем, содержащим DebugMenuButton , чтобы включить его.
- Сохраните сборный дом.
Если вы запустите игру в редакторе или на своем устройстве, меню теперь должно быть доступно.
3. Включите подменю «Удаленная настройка».
- На вкладке «Проект» в редакторе Unity разверните «Активы» > «Хамстер» > «Префабы» > «Меню» и дважды щелкните объект DebugMenu , чтобы открыть его на вкладке «Иерархия» редактора.
- На вкладке «Иерархия» разверните иерархию и щелкните подобъект в разделе DebugMenu > Panel , который называется Remote Config Actions .
- На вкладке Unity Inspector включите действие удаленной настройки , установив флажок слева от текстового поля, содержащего имя объекта.
Он имеет два дочерних объекта 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
(который можно найти в Assets > Hamster > Scripts > States).
Эти функции устанавливают свойства пользователя , которые являются способами описания сегментов вашей пользовательской базы и используются для записи того, как пользователь относится к подзаголовку игры.
Реализуйте 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
с мобильного устройства, запустите игру и нажмите кнопку Debug Menu в главном меню, затем выберите 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-тестирование определит, какой вариант лучше всего подходит для максимального удержания. - Введите следующее значение параметра для варианта А:
{"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
Эти варианты указывают, что в одном случае из 201 при A/B-тестировании будут использоваться значения по умолчанию для тех, кому надоели субтитры, но в 200/201 случае будут использоваться одно из двух новых значений и перезаписан титульный экран.
- Сохраните и отправьте, нажав «Начать эксперимент» , затем нажмите «Начать» во всплывающем окне подтверждения.
8. Запустите метод Set User Property и обновите.
Теперь вы задали различные свойства пользователя, которые затем можно использовать для управления логикой или представлением вашей игры.
Если вы ранее не запускали метод SetUserProperty
или не установили для него значение enjoys
, при открытии игры вы все равно увидите субтитры по умолчанию.
Если вы установили значение bored
(до повторной загрузки), вы должны увидеть одно из новых значений в соотношении примерно 50/50.
После того, как устройство вошло в эксперимент A/B-тестирования, значения, полученные в ходе этого эксперимента, не изменятся и будут постоянными для каждой установки . Следовательно, чтобы получить одно из других экспериментальных значений, необходимо создать новую установку, переустановив игру на то же устройство/симулятор или установив игру на новое устройство/симулятор.
В реальном A/B-тестировании, проводимом среди вашей пользовательской базы, следует придать базовому варианту вес, аналогичный весу других вариантов. Но в данном случае вы назначаете сильно смещенные вероятности для подтверждения работоспособности эксперимента. Если (в случае 1/201) вы по-прежнему получаете значение по умолчанию, попробуйте переустановить игру на вашем устройстве/симуляторе.
Другим следствием этого является то, что переключение свойства пользователя обратно на enjoys
не приведет к изменению значения обратно на базовый уровень, но, опять же, вы можете сделать это, переключившись на enjoys
и переустановив.
9. Поздравляем!
Вы использовали A/B-тестирование удаленной конфигурации для экспериментов с различными значениями удаленной конфигурации и определения того, как каждое из них влияет на показатели Analytics.
Что мы рассмотрели
- Как настроить A/B-тестирование с использованием инструментированных значений Remote Config
- Как использовать свойства пользователя Google Analytics в качестве условия допуска к экспериментам A/B-тестирования
Следующие шаги
После завершения эксперимента вы можете выбрать один из экспериментов в вашем проекте и решить, что с ним делать. Хотите ли вы выбрать один из них в качестве «победителя» или провести больше экспериментов?