1. Wprowadzenie
Z tego ćwiczenia z programowania dowiesz się, jak utworzyć eksperyment w Zdalnej konfiguracji za pomocą Testów A/B w przykładowej grze MechaHamster: Level Up with Firebase (wersja) zmodyfikowana w funkcji Zdalnej konfiguracji Firebase.
Dzięki testom A/B w ramach Zdalnej konfiguracji możesz testować zmiany w interfejsie, funkcjach lub kampaniach budujących zaangażowanie w aplikację na grupie docelowych odbiorców, zanim trafią one do większej liczby odbiorców. Wyniki eksperymentu możesz też wykorzystać do:
- Ustal, które warianty wartości parametrów poprawiają kluczowe dane, takie jak przychody i utrzymanie.
- Dowiedz się, które podgrupy użytkowników preferują poszczególne warianty.
- Zbieraj i przechowuj dane z eksperymentów, aby przeprowadzać dodatkowe analizy wpływu ustawienia różnych wartości parametrów.
To właśnie jest najistotniejszy aspekt testów A/B: pozwala wykorzystać kod przystosowany do Zdalnej konfiguracji i uruchamiać eksperymenty, które kontrolują wartości otrzymywane przez klientów na podstawie warunków Zdalnej konfiguracji (w tym właściwości użytkownika Google Analytics), odsetka wdrożeń, zdarzeń konwersji Analytics i niektórych ich kombinacji.
Najpierw wdrożysz warunek, który ograniczy, którzy użytkownicy uwzględnią w eksperymencie, przez określenie właściwości użytkownika na podstawie jego działań. Następnie utwórz eksperyment w ramach Testów A/B, w którym wykorzystamy właściwości użytkownika Google Analytics, by określić, którzy klienci uwzględnią w eksperymencie. Dzięki tym danym możesz lepiej poznać swoich odbiorców.
Czego się nauczysz
- Jak skonfigurować Testy A/B z wykorzystaniem wartości zinstrumentowanej Zdalnej konfiguracji.
- Jak używać właściwości użytkownika z Google Analytics w ramach warunków udziału w testach A/B
Wymagania wstępne
Czego potrzebujesz
- Unity w wersji 2019.1.0f1 lub nowszej z obsługą kompilacji na iOS lub Androida
2. Włączanie menu debugowania
W projekcie jest ukryte menu debugowania. Przycisk umożliwiający dostęp do tego menu znajduje się w grze, ale nie jest obecnie włączony. Musisz włączyć ten przycisk, aby uzyskać do niego dostęp z gotowego ustawienia Menu głównego.
- W edytorze Unity wybierz kartę Projekt, a następnie w sekcji Zasoby rozwiń Hamster > Prefabs > Menu i kliknij MainMenu.
- W hierarchii prefab znajdź wyłączony obiekt podrzędny o nazwie DebugMenuButton i kliknij go, aby otworzyć go na karcie Inspektor.
- Na karcie Inspektor zaznacz pole w lewym górnym rogu obok pola tekstowego zawierającego element DebugMenuButton, aby go włączyć.
- Zapisz wstępnie.
Jeśli uruchomisz grę w edytorze lub na urządzeniu, menu powinno być teraz dostępne.
3. Włączanie menu podrzędnego Zdalna konfiguracja
- Na karcie Projekt w edytorze Unity rozwiń Zasoby > Hamster > Prefabs > Menu i kliknij dwukrotnie obiekt DebugMenu, aby otworzyć go na karcie Hierarchia edytora.
- Na karcie Hierarchia rozwiń hierarchię i kliknij obiekt podrzędny w sekcji DebugMenu > Panel oznaczony jako Remote Config Actions (Działania Zdalnej konfiguracji).
- Na karcie Inspektor Unity włącz Działania Zdalnej konfiguracji, zaznaczając pole tekstowe z nazwą obiektu po lewej stronie.
Ma on 2 elementy podrzędne obiektu GameObject o nazwach „Set Bored Of Subtitle” i „Set Explores Subtitle”, które są skonfigurowane do wywoływania istniejących, ale niezaimplementowanych metod w DebugMenu.cs
.
4. Zresetuj zastąpienie napisów do wartości domyślnej w aplikacji
W poprzednich ćwiczeniach z programowania zastąpiliśmy domyślną wartość parametru w postaci kodu JSON i użyliśmy warunków do wyświetlenia różnych wariantów. W ramach tego ćwiczenia w Codelabs usuniesz utworzony warunek i przywrócisz domyślny warunek w aplikacji, zastępując go wyłącznie wynikiem testów A/B.
Aby ponownie włączyć domyślne ustawienia w aplikacji:
- Otwórz stronę Zdalna konfiguracja w konsoli Firebase i kliknij ikonę ołówka obok parametru
subtitle_override
, aby otworzyć panel boczny Edytuj parametr. - Kliknij ikonę X obok warunku, aby go usunąć.
- Obok pozostałej wartości domyślnej włącz przełącznik Użyj domyślnej wartości w aplikacji.
- Kliknij Zapisz, aby zapisać zmiany, a potem kliknij Opublikuj zmiany, aby je opublikować.
5. Ustawianie właściwości użytkownika w funkcjach debugowania
Teraz w narzędziu DebugMenu.cs
zapiszesz treści funkcji niektórych wstępnie skonfigurowanych, ale niezaimplementowanych funkcji Google Analytics (znajdziesz je w sekcji Zasoby > Chomik > Skrypty > Stany).
Te funkcje określają właściwości użytkownika, czyli sposoby opisu segmentów użytkowników i służą do rejestrowania opinii użytkowników o napisach w grze.
Zaimplementuj SetUserBoredOfSubtitle
i SetUserEnjoysSubtitle
, znajdując ich istniejące wersje w DebugMenu.cs
i zastępując je w ten sposób:
void SetUserBoredOfSubtitle()
{
Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "bored");
}
void SetUserEnjoysSubtitle()
{
Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "enjoys");
}
Jeśli Twoja aplikacja jest prawidłowo skonfigurowana w Google Analytics, możesz wywołać jedną z tych funkcji, by udostępnić usługę w warunkach Zdalnej konfiguracji. Aby wywołać funkcję SetUserBoredOfSubtitle
na urządzeniu mobilnym, uruchom grę i naciśnij przycisk Menu debugowania w menu głównym, a następnie naciśnij Znudzone napisy.
6. Utwórz wymiar niestandardowy
Następnie możesz skonfigurować różne warianty napisów dla: subtitle_override
, aby sprawdzić, który sprawdza się najlepiej. Jednak w teście A/B będziesz wyświetlać takie warianty tylko użytkownikom, których odczucia dotyczące danego napisu (jak to jest w aplikacji subtitle_sentiment
) zawierają słowo „nudne”.
Wymiaru niestandardowego będziesz używać do tworzenia i śledzenia parametrów niestandardowych w zdarzeniach Analytics. Więcej informacji znajdziesz w artykule Wymiary i dane niestandardowe.
Aby utworzyć nowy wymiar niestandardowy:
- Otwórz konsolę Firebase, rozwiń menu Analytics i kliknij Definicje niestandardowe.
- Na stronie Definicje niestandardowe kliknij Utwórz wymiary niestandardowe.
- W oknie Nowy wymiar niestandardowy ustaw nazwę wymiaru na „Nastawienie do napisów”. i z menu Zakres wybierz Użytkownik.
- W polu Właściwość użytkownika wybierz
subtitle_sentiment.
7. Konfiguracja eksperymentu Testy A/B
Następnie utwórz eksperyment A/B, aby ustawić różne wartości parametru subtitle_override
, które będziemy ze sobą porównywać. Pozwoli to zoptymalizować utrzymanie użytkowników na przestrzeni 2–3 dni.
- Najpierw wybierz Edytuj przy parametrze
subtitle_override
na stronie Zdalnej konfiguracji konsoli Firebase:
- W wyświetlonym oknie Edytuj parametr kliknij Dodaj nowy.
- Z wyświetlonej listy wybierz Eksperyment.
- Wpisz nazwę i opis eksperymentu.
- Następnie wybierz warunki kierowania. Najpierw wybierz aplikację z menu.
- Następnie kliknij Oraz, aby dodać nowy warunek, a następnie wybierz Właściwość użytkownika i
subtitle_sentiment
. Jeśli jej nie ma, wpisz go ręcznie. - Chcesz ustawić napisy tylko dla tych, których aktualne napisy zawierają słowo „nudne”, wybierz zawiera i wpisz
bored
. - Opcjonalnie wybierz odsetek odbiorców spełniających powyższe kryteria, który chcesz udostępnić testowi. Wybierz 100%, aby uniknąć losowości, którego nie można łatwo zmienić.
- Następnie wybierz cel, pod kątem którego test będzie dążyć do maksymalizacji skuteczności. Wybierz Utrzymanie (2–3 dni).
- Następnie skonfiguruj parametry eksperymentu i utwórz różne warianty napisów . Te warianty to różne wartości, które Testy A/B będą wyświetlać użytkownikom, których atrybut
subtitle_sentiment
zawiera słowo „nudne”, i Testy A/B pozwolą określić, który wariant jest najlepszy do maksymalizacji utrzymania użytkowników. - Wpisz tę wartość parametru dla wariantu A:
{"text":"A: A game about a mechanical hamster","fontSize":8,"textColor":{"r":0.0,"g":255.0,"b":0.0,"a":255.0}}
- Wpisz tę wartość parametru dla wariantu B:
{"text":"B: A game about a mechanical hamster","fontSize":14,"textColor":{"r":255.0,"g":0.0,"b":0.0,"a":255.0}}
- Ustaw współczynniki wariantów jako liczby całkowite w ten sposób:
- Punkt odniesienia: 1
- Wariant A: 100
- Wariant B: 100
- Zapisz i prześlij. Kliknij Rozpocznij eksperyment, a potem w wyskakującym okienku z potwierdzeniem kliknij Rozpocznij.
8. Uruchom metodę Ustaw właściwość użytkowników i odśwież
Masz teraz ustawione różne właściwości użytkownika, które możesz wykorzystać do sterowania logiką lub prezentacją gry.
Jeśli metoda SetUserProperty
nie była wcześniej uruchamiana lub została ustawiona na enjoys
, napisy domyślne powinny być nadal widoczne po otwarciu gry.
Jeśli ustawisz wartość bored
(przed ponownym pobraniem), powinna być widoczna jedna z nowych wartości w współczynniku około 50/50.
Gdy urządzenie bierze udział w eksperymencie w ramach Testów A/B, wartości uzyskane w ramach tego eksperymentu nie ulegną zmianie i stają się niezmienne od momentu każdej instalacji. Aby uzyskać jedną z pozostałych wartości eksperymentalnych, musisz zainstalować grę na tym samym urządzeniu lub symulatorze albo zainstalować ją na innym urządzeniu.
W prawdziwym teście A/B przeprowadzanym wśród użytkowników należy przypisać wagę bazową podobną do innych wariantów. W tym przypadku przypisujesz jednak bardzo zniekształcone prawdopodobieństwa, by sprawdzić, czy eksperyment działa. Jeśli (w przypadku dnia 1/201) nadal będziesz widzieć wartość domyślną, spróbuj ponownie zainstalować grę na urządzeniu lub symulatorze.
Kolejną konsekwencją jest to, że przełączenie właściwości użytkownika z powrotem na enjoys
nie spowoduje zmiany wartości z powrotem na poziom odniesienia, ale znowu możesz to zrobić, przełączając się na enjoys
i ponownie instalując.
9. Gratulacje!
Udało Ci się wykorzystać Testy A/B Zdalnej konfiguracji, aby poeksperymentować z różnymi wartościami Zdalnej konfiguracji i sprawdzić, jak każda z nich wpływa na wskaźniki Analytics.
Omówione zagadnienia
- Jak skonfigurować Testy A/B z wykorzystaniem wartości zinstrumentowanej Zdalnej konfiguracji.
- Jak używać właściwości użytkownika z Google Analytics jako elementu warunków udziału w eksperymentach przeprowadzanych w ramach testów A/B
Następne kroki
Po zakończeniu eksperymentu możesz wybrać go z listy eksperymentów w projekcie, aby zdecydować, co chcesz z nim zrobić. Czy chcesz wybrać jednego z nich jako „zwycięzcę”? lub przeprowadzić więcej eksperymentów?