1. Wstęp
Podczas tych zajęć z programowania dowiesz się, jak utworzyć eksperyment zdalnej konfiguracji przy użyciu testów A/B dla przykładowej gry MechaHamster: Level Up w wersji Firebase , którą zmodyfikowałeś w części Instrumentuj swoją grę za pomocą zdalnej konfiguracji Firebase .
Testowanie A/B za pomocą zdalnej konfiguracji umożliwia testowanie zmian w interfejsie użytkownika, funkcjach lub kampaniach budujących zaangażowanie aplikacji na docelowej grupie odbiorców, zanim udostępnisz je szerszemu gronu odbiorców. Wyniki eksperymentu możesz także wykorzystać do:
- Określ, które warianty wartości parametrów poprawiają kluczowe wskaźniki, takie jak przychody i utrzymanie.
- Odkryj, które podgrupy użytkowników preferują które warianty.
- Zbieraj i przechowuj dane eksperymentalne, aby przeprowadzić dodatkową analizę skutków ustawienia różnych wartości parametrów.
Na tym polega istota testów A/B: umożliwiają one wykorzystanie kodu na potrzeby zdalnej konfiguracji i rozpoczęcie eksperymentów kontrolujących wartości otrzymywane przez klientów w oparciu o warunki zdalnej konfiguracji (w tym właściwości użytkownika Google Analytics), odsetek wdrożeń, zdarzenia konwersji Analytics, i jakąś ich kombinację.
Najpierw zaimplementujesz warunek określający, kto zostanie objęty eksperymentem, ustawiając właściwości użytkownika na podstawie jego działań. Następnie utworzysz eksperyment testu A/B, który użyje właściwości użytkownika Google Analytics, aby określić, którzy klienci zostaną objęci eksperymentem. I na koniec, wykorzystasz te dane, aby lepiej poznać swoich odbiorców.
Czego się dowiesz
- Jak skonfigurować testy A/B przy użyciu wartości przyrządów zdalnej konfiguracji
- Jak wykorzystać właściwości użytkownika Google Analytics w ramach warunków dopuszczenia do testów A/B
Warunki wstępne
Co będziesz potrzebował
- Unity 2019.1.0f1 lub nowsza wersja z obsługą kompilacji na iOS i/lub Androida
2. Włączanie menu debugowania
W projekcie ukryte jest menu debugowania, a przycisk umożliwiający dostęp do tego menu istnieje w grze, ale obecnie nie jest włączony. Musisz włączyć przycisk, aby uzyskać do niego dostęp z prefabrykatu MainMenu.
- W edytorze Unity wybierz kartę Projekt , następnie w obszarze Zasoby rozwiń Chomik > Prefabrykaty > Menu i kliknij Menu główne .
- W hierarchii prefabrykatów znajdź wyłączony podobiekt o nazwie DebugMenuButton i kliknij go, aby otworzyć go w zakładce Inspektor .
- Na karcie Inspektor zaznacz pole w lewym górnym rogu obok pola tekstowego zawierającego przycisk DebugMenuButton , aby go włączyć.
- Zapisz prefabrykat.
Jeśli uruchomisz grę w edytorze lub na swoim urządzeniu, menu powinno być teraz dostępne.
3. Włącz podmenu Zdalna konfiguracja
- Na karcie Projekt w Edytorze Unity rozwiń Zasoby > Chomik > Prefabrykaty > Menu i kliknij dwukrotnie obiekt DebugMenu , aby otworzyć go na karcie Hierarchia edytora.
- Na karcie Hierarchia rozwiń hierarchię i kliknij podobiekt w obszarze DebugMenu > Panel oznaczony etykietą Działania zdalnej konfiguracji .
- Na karcie Unity Inspector włącz Akcje zdalnej konfiguracji , zaznaczając pole po lewej stronie pola tekstowego zawierającego nazwę obiektu.
Ma to dwa elementy podrzędne GameObject o nazwach Set Bored Of Subtitle i Set Enjoys Subtitle, które są skonfigurowane do wywoływania istniejących, ale niezaimplementowanych metod w DebugMenu.cs
.
4. Zresetuj zastąpienie napisów do ustawień domyślnych w aplikacji
W poprzednich ćwiczeniach z programowania zastąpiłeś domyślną wartość parametru w formacie JSON i użyłeś warunków do obsługi różnych wariantów. W ramach tych ćwiczeń z kodowania usuniesz utworzony warunek i ponownie wprowadzisz wartość domyślną w aplikacji, a zastąpisz ją jedynie wynikami testów A/B.
Aby ponownie włączyć ustawienie domyślne 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 wartości domyślnej w aplikacji .
- Kliknij Zapisz , aby zapisać zmiany, a następnie kliknij Opublikuj zmiany , aby opublikować zmiany.
5. Ustaw Właściwości użytkownika w funkcjach debugowania
Teraz napiszesz treści funkcji dla niektórych wstępnie skonfigurowanych, ale niezaimplementowanych funkcji Google Analytics w DebugMenu.cs
(które można znaleźć w Zasoby > Hamster > Skrypty > Stany).
Funkcje te ustawiają właściwości użytkownika , które służą do opisywania segmentów bazy użytkowników i służą do rejestrowania opinii użytkownika na temat podtytułu gry.
Zaimplementuj SetUserBoredOfSubtitle
i SetUserEnjoysSubtitle
, znajdując ich istniejące wersje w DebugMenu.cs
i nadpisując je w następujący 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 poprawnie skonfigurowana z Google Analytics, możesz wywołać jedną z tych funkcji, aby udostępnić właściwość warunkom Remote Config. Aby wywołać SetUserBoredOfSubtitle
z urządzenia mobilnego, uruchom grę i wciśnij przycisk Debug Menu w menu głównym, a następnie wciśnij Set Bored of Subtitle .
6. Utwórz wymiar niestandardowy
Następnie skonfigurujesz różne warianty napisów dla subtitle_override
, aby zobaczyć, które podtytuły sprawdzają się najlepiej. Jednak w teście A/B będziesz udostępniać te warianty tylko użytkownikom, których odczucia dotyczące bieżącego napisu (jak zapisano w subtitle_sentiment
) zawierają słowo „nudny”.
Wymiaru niestandardowego będziesz używać do tworzenia i śledzenia parametrów niestandardowych w zdarzeniach Analytics. Więcej informacji znajdziesz w artykule Niestandardowe wymiary i dane .
Aby utworzyć nowy wymiar niestandardowy:
- Otwórz konsolę Firebase , rozwiń menu Analytics i wybierz Definicje niestandardowe.
- Na stronie Definicje niestandardowe kliknij opcję Utwórz wymiary niestandardowe .
- W oknie Nowy wymiar niestandardowy ustaw nazwę wymiaru na „Nastroje napisów” i z listy rozwijanej Zakres wybierz opcję Użytkownik .
- W polu Właściwość użytkownika wybierz opcję
subtitle_sentiment.
7. Skonfiguruj eksperyment testowania A/B
Następnie utwórz eksperyment testowania A/B, aby ustawić różne wartości parametru subtitle_override
i przetestować je względem siebie, aby zoptymalizować utrzymanie użytkowników przez dwa do trzech dni.
- Najpierw wybierz opcję Edytuj w parametrze
subtitle_override
na stronie zdalnej konfiguracji konsoli Firebase:
- W wyświetlonym oknie dialogowym Edytuj parametr kliknij opcję Dodaj nowy .
- Z wyświetlonej listy wybierz opcję Eksperyment .
- Wprowadź nazwę i opis eksperymentu.
- Następnie wybierz warunki kierowania. Najpierw wybierz aplikację z listy rozwijanej.
- Następnie kliknij I , aby dodać nowy warunek, następnie wybierz Właściwość użytkownika i wybierz
subtitle_sentiment
. Jeśli się nie pojawi, wprowadź go ręcznie. - Ponieważ chcesz ustawić napisy tylko dla tych, których obecny nastrój napisów zawiera „znudzony”, wybierz zawiera i wpisz
bored
. - Opcjonalnie wybierz, jaki procent odbiorców spełniających powyższe kryteria ma zostać poddany testowi. Wybierz 100% , aby uniknąć losowości, nad którą nie możesz łatwo zapanować.
- Następnie wybierz cel, dla którego test będzie próbował maksymalizować. Wybierz zatrzymanie (2-3 dni) .
- Następnie ustaw parametry eksperymentu i utwórz różne warianty napisów. Te warianty to różne wartości, które Testowanie A/B będzie służyć użytkownikom, których
subtitle_sentiment
zawiera „znudzony”, a Testowanie A/B określi, który wariant jest najlepszy pod kątem maksymalizacji retencji. - Wprowadź następującą 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}}
- Wprowadź następującą 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 z liczbami całkowitymi w następujący sposób:
- Linia bazowa : 1
- Wariant A : 100
- Wariant B : 100
- Zapisz i prześlij, klikając Rozpocznij eksperyment , a następnie kliknij Rozpocznij w wyskakującym okienku z potwierdzeniem.
8. Uruchom metodę Set User Property i odśwież
Ustawiłeś teraz różne właściwości użytkownika, które można następnie wykorzystać do kierowania logiką lub prezentacją gry.
Jeśli wcześniej nie uruchomiłeś metody SetUserProperty
lub ustawiłeś ją na enjoys
, podczas otwierania gry powinieneś nadal widzieć domyślne napisy.
Jeśli ustawiłeś go na bored
(przed ponownym pobraniem), powinieneś zobaczyć jedną z nowych wartości w przybliżeniu w stosunku 50/50.
Gdy urządzenie przystąpi do eksperymentu testu A/B, wartości otrzymane w wyniku tego eksperymentu nie ulegną zmianie i będą trwałe w każdej instalacji . W rezultacie, aby otrzymać jedną z pozostałych wartości eksperymentalnych, musisz utworzyć nową instalację, instalując grę ponownie na tym samym urządzeniu/symulatorze lub instalując grę na nowym urządzeniu/symulatorze.
W prawdziwym teście A/B przeprowadzonym wśród całej bazy użytkowników powinieneś nadać wartości bazowej podobną wagę jak pozostałym wariantom. Ale w tym przypadku przypisujesz bardzo wypaczone prawdopodobieństwa, aby sprawdzić, czy eksperyment działa. Jeśli (w przypadku 1/201) nadal otrzymujesz wartość domyślną, spróbuj ponownie zainstalować grę na swoim urządzeniu/symulatorze.
Innym skutkiem tego jest to, że przełączenie właściwości użytkownika z powrotem na enjoys
nie spowoduje zmiany wartości z powrotem do wartości bazowej, ale znowu można to zrobić, przełączając się na enjoys
i instalując ponownie.
9. Gratulacje!
Korzystałeś z testów A/B zdalnej konfiguracji, aby poeksperymentować z różnymi wartościami Zdalnej konfiguracji i określić, jak każda z nich wpływa na dane Analytics.
Co omówiliśmy
- Jak skonfigurować testy A/B przy użyciu wartości przyrządów zdalnej konfiguracji
- Jak korzystać z Właściwości użytkownika Google Analytics w ramach warunków dopuszczenia do eksperymentów testów A/B
Następne kroki
Po zakończeniu eksperymentu możesz wybrać jeden z listy eksperymentów w projekcie i zdecydować, co chcesz z nim zrobić. Czy chcesz wybrać jednego jako „zwycięzcę”, czy przeprowadzić więcej eksperymentów?