Gdy używasz Firebase Remote Config do wdrażania ustawień aplikacji z aktywną bazą użytkowników, chcesz mieć pewność, że wszystko zrobisz prawidłowo. Eksperymenty A/B Testing pozwalają określić:
- Najlepszy sposób na wdrożenie funkcji, aby zoptymalizować wrażenia użytkowników. Zbyt często deweloperzy aplikacji dowiadują się, że użytkownikom nie podoba się nowa funkcja lub zaktualizowany interfejs, dopiero wtedy, gdy ocena aplikacji w sklepie z aplikacjami spada. A/B Testing może pomóc Ci sprawdzić, czy użytkownikom podobają się nowe warianty funkcji, czy wolą aplikację w obecnej postaci. Dodatkowo utrzymanie większości użytkowników w grupie bazowej zapewnia, że większość bazy użytkowników może nadal korzystać z aplikacji bez żadnych zmian w jej działaniu lub wyglądzie do czasu zakończenia eksperymentu.
- Najlepszy sposób na optymalizację wrażeń użytkowników pod kątem celu biznesowego. Czasami wprowadzasz zmiany w produkcie, aby zmaksymalizować dane, takie jak przychody lub utrzymanie użytkowników. W A/B Testing określasz cel biznesowy, a Firebase przeprowadza analizę statystyczną, aby ustalić, czy dany wariant jest skuteczniejszy od elementu bazowego w zakresie wybranego celu.
Aby przeprowadzić testy A/B wariantów funkcji z wariantem bazowym:
- Utwórz eksperyment.
- Zarządzaj eksperymentem.
Utwórz eksperyment
Eksperyment Remote Config pozwala ocenić wiele wariantów 1 lub większej liczby Remote Configparametrów.
Sprawdź, czy w projekcie jest włączona usługa Google Analytics, aby eksperyment miał dostęp do danych Analytics.
Jeśli podczas tworzenia projektu nie włączono Google Analytics, możesz to zrobić na karcie
Ustawienia > Integracje w konsoli Firebase.W konsoli Firebase kliknij DevOps i zaangażowanie > A/B Testing.
Kliknij Utwórz eksperyment, a następnie wybierz Remote Config, gdy pojawi się prośba o wybranie usługi, którą chcesz przetestować.
W sekcji Warianty wybierz wersję podstawową i co najmniej 1 wariant do eksperymentu. Możesz dodać co najmniej 1 parametr, aby przeprowadzić eksperyment. Możesz powtórzyć ten krok, aby dodać do eksperymentu kilka parametrów.
(Opcjonalnie) Aby dodać do eksperymentu więcej niż 1 wariant, kliknij Dodaj kolejny wariant.
Zmień co najmniej 1 parametr w przypadku konkretnych wariantów. Wszystkie niezmienione parametry są takie same dla użytkowników, którzy nie biorą udziału w eksperymencie.
Rozwiń sekcję Wagi wariantów, aby wyświetlić lub zmienić wagę wariantu w eksperymencie. Domyślnie każdy wariant ma taką samą wagę. Pamiętaj, że nierówne rozłożenie wag może spowodować wydłużenie czasu zbierania danych oraz że nie można zmienić tych ustawień po rozpoczęciu eksperymentu.
Określ kryteria kierowania dla eksperymentu, używając warunków (Remote Config):
Użyj ponownie istniejącego warunku: jeśli istniejący warunek w szablonie Remote Config pasuje już do docelowych odbiorców, wybierz go z listy.
Sprawdź kolejność oceny warunków: upewnij się, że warunki na stronie Warunki są uporządkowane według prawidłowej kolejności priorytetów. Remote Config ocenia warunki sekwencyjnie od góry do dołu, więc inne warunki o wyższym priorytecie mogą uniemożliwić wystarczającej liczbie użytkowników spełnienie warunku powiązanego z eksperymentem.
Utwórz nowy warunek: jeśli żaden z istniejących warunków nie spełnia Twoich wymagań dotyczących kierowania lub jeśli wolisz zduplikować istniejący warunek (np. aby uniknąć zablokowania warunku, który jest udostępniany przez inne parametry), utwórz nowy warunek, wybierając najpierw aplikację, która korzysta z eksperymentu. Jeśli testowany parametr używa też istniejącego (lub innego nakładającego się) warunku, upewnij się, że nowy warunek eksperymentu znajduje się nad istniejącym warunkiem na karcie Warunki (co daje mu wyższy priorytet oceny). W przeciwnym razie użytkownicy będą najpierw dopasowywani do istniejącego warunku i nie zostaną uwzględnieni w eksperymencie.
Następnie możesz kierować reklamy na określony podzbiór użytkowników, klikając i i wybierając co najmniej 1 opcję z tej listy:
- Wersja: co najmniej 1 wersja aplikacji.
- Numer kompilacji: numer kompilacji (Apple) lub kod wersji (Android) aplikacji.
- Platforma: co najmniej 1 platforma (iOS, Android lub internet), na którą chcesz kierować reklamy.
- System operacyjny: kieruj reklamy na użytkowników aplikacji internetowych na podstawie ich systemu operacyjnego i jego wersji.
- Przeglądarka: kierowanie na użytkowników aplikacji internetowej na podstawie ich przeglądarki i jej wersji.
- Kategoria urządzenia: kieruj reklamy na użytkowników aplikacji internetowej na podstawie tego, czy ich urządzenie jest urządzeniem mobilnym czy nie.
- Języki: co najmniej 1 język i region używane do wybierania użytkowników, którzy mogą zostać uwzględnieni w eksperymencie.
- Kraj/region: co najmniej 1 kraj lub region, w którym chcesz wybrać użytkowników do eksperymentu.
- Grupa odbiorców: listy odbiorców Analytics używane do kierowania na użytkowników, którzy mogą zostać uwzględnieni w eksperymencie.
- Właściwość użytkownika: co najmniej jedna właściwość użytkownika Analytics, która służy do wybierania użytkowników do eksperymentu.
- Użytkownik w losowym procencie: kieruj reklamy na losowo wybrany odsetek użytkowników w określonym zakresie percentyli.
- Zaimportowany segment: kieruj reklamy na użytkowników, którzy należą do niestandardowych zaimportowanych segmentów przesłanych do Twojego projektu.
- Data/godzina: kierowanie na użytkowników na podstawie określonej daty i określonego przedziału czasu.
- Pierwsze uruchomienie: kieruj reklamy na użytkowników na podstawie daty pierwszego uruchomienia aplikacji.
- Identyfikator instalacji: kieruj reklamy na konkretne urządzenia testowe lub instancje klienta, używając ich identyfikatorów instalacji Firebase (FID).
- Użytkownik istnieje: kieruj reklamy na wszystkich użytkowników we wszystkich aplikacjach w projekcie.
- Sygnał niestandardowy: kieruj reklamy na użytkowników na podstawie niestandardowych sygnałów par klucz-wartość po stronie klienta przekazywanych w czasie działania.
Ustaw Ekspozycję: wpisz odsetek użytkowników aplikacji spełniających kryteria określone w sekcji Docelowi użytkownicy, których chcesz równomiernie podzielić między grupę bazową i co najmniej 1 grupę wariantową w eksperymencie. Może to być dowolna wartość procentowa z zakresu od 0% do 100%. Użytkownicy są losowo przypisywani do poszczególnych eksperymentów, w tym do eksperymentów zduplikowanych.
Opcjonalnie możesz ustawić zdarzenie aktywacji, aby mieć pewność, że w eksperymencie będą uwzględniane tylko dane użytkowników, którzy najpierw wywołali zdarzenie Analytics. Pamiętaj, że wszyscy użytkownicy pasujący do parametrów kierowania otrzymają wartości eksperymentalne Remote Config, ale w wynikach eksperymentu zostaną uwzględnieni tylko ci, którzy wywołają zdarzenie aktywacji.
Aby eksperyment był prawidłowy, upewnij się, że wybrane zdarzenie występuje po aktywowaniu przez aplikację pobranych wartości konfiguracji. Nie można też używać tych zdarzeń, ponieważ zawsze występują przed aktywowaniem pobranych wartości:
app_installapp_removeapp_update
Zdarzenie Analytics wybrane jako zdarzenie aktywacji nie może być też używane jako dane podstawowe (ani dodatkowe) w tym samym eksperymencie. Spowoduje to błąd weryfikacji w konsoli Firebase i uniemożliwi uruchomienie eksperymentu.
W sekcji Cele eksperymentu wybierz główne dane, które chcesz śledzić, i dodaj z listy inne dane, które chcesz śledzić. Obejmują one wbudowane cele (zakupy, przychody, utrzymanie, użytkownicy, u których nie wystąpiły awarie itp.), zdarzenia konwersji Analytics i inne zdarzenia Analytics. Po zakończeniu kliknij Dalej.
Aby zapisać eksperyment, kliknij Zapisz. Aby rozpocząć eksperyment, musisz opublikować szablon.
W każdym projekcie możesz mieć maksymalnie 300 eksperymentów (w tym wdrożeń), z czego 24 mogą być aktywne, a pozostałe muszą być zakończone.
Zarządzanie eksperymentem
Po utworzeniu eksperymentu za pomocą Remote Config możesz go rozpocząć, monitorować w trakcie działania i zwiększać liczbę użytkowników, którzy biorą w nim udział.
Po zakończeniu eksperymentu możesz sprawdzić ustawienia używane przez zwycięski wariant, a następnie zastosować je u wszystkich użytkowników. Możesz też przeprowadzić kolejny eksperyment.
Edytowanie eksperymentu
- W sekcji DevOps i zaangażowanie w menu nawigacyjnym konsoli Firebase kliknij Remote Config.
- Kliknij kartę Testy A/B.
- Kliknij Aktywne, a potem eksperyment, który chcesz edytować.
- Kliknij menu kontekstowe (), a następnie Edytuj aktywny eksperyment.
- Aby sprawdzić, czy Twoja aplikacja ma użytkowników, którzy zostaną uwzględnieni w eksperymencie, rozwiń szczegóły i upewnij się, że w sekcji Kierowanie i dystrybucja jest liczba większa niż 0% (np. 1% użytkowników spełniających kryteria).
Monitorowanie eksperymentu
Po pewnym czasie działania eksperymentu możesz sprawdzić jego postępy i zobaczyć, jakie wyniki uzyskali użytkownicy, którzy do tej pory wzięli w nim udział.
- W sekcji DevOps i zaangażowanie w menu nawigacyjnym konsoli Firebase kliknij Remote Config.
- Kliknij kartę Testy A/B.
Kliknij Uruchomione, a następnie kliknij lub wyszukaj tytuł eksperymentu. Na tej stronie możesz wyświetlić różne odnotowane i modelowane statystyki dotyczące trwającego eksperymentu, m.in.:
- Różnica procentowa w stosunku do wartości bazowej: miara poprawy wartości danych w przypadku danego wariantu w porównaniu z wartością bazową. Obliczana przez porównanie zakresu wartości dla wariantu z zakresem wartości dla wersji bazowej.
- Prawdopodobieństwo przekroczenia wartości podstawowej: szacowane prawdopodobieństwo, że dany wariant przekroczy wartość podstawową wybranych danych.
- observed_metric na użytkownika: na podstawie wyników eksperymentu jest to prognozowany zakres, w którym wartość danych będzie się mieścić w miarę upływu czasu.
- Łącznie observed_metric: zaobserwowana skumulowana wartość dla grupy kontrolnej lub wariantu. Wartość ta służy do pomiaru skuteczności poszczególnych wariantów eksperymentu oraz do obliczania Ulepszenia, Zakresu wartości, Prawdopodobieństwa przekroczenia wartości podstawowej i Prawdopodobieństwa, że dany wariant jest najlepszy. W zależności od mierzonych danych ta kolumna może mieć etykietę „Czas trwania na użytkownika”, „Przychody na użytkownika”, „Współczynnik utrzymania” lub „Współczynnik konwersji”.
Po pewnym czasie od rozpoczęcia eksperymentu (14 dni w przypadku Remote Config) dane na tej stronie wskażą, który wariant jest „liderem”. Niektórym pomiarom towarzyszy wykres słupkowy, który przedstawia dane w formie wizualnej.
Wdrażanie eksperymentu dla wszystkich użytkowników
Gdy eksperyment będzie trwał wystarczająco długo, aby można było wyłonić najlepszy wariant umożliwiający realizację Twojego celu, możesz wdrożyć eksperyment dla wszystkich użytkowników. Oznacza to, że możesz wybrać wariant, który będzie wyświetlany wszystkim użytkownikom. Możesz to zrobić także w przypadku, gdy eksperyment nie wyłoni zdecydowanego zwycięzcy.
- W sekcji DevOps i zaangażowanie w menu nawigacyjnym konsoli Firebase kliknij Remote Config.
- Kliknij kartę Testy A/B.
- Kliknij Zakończone lub Trwające, wybierz eksperyment, który chcesz udostępnić wszystkim użytkownikom, i kliknij menu kontekstowe () Wdróż wariant.
- Aby udostępnić eksperyment wszystkim użytkownikom:
- W przypadku eksperymentu Remote Config wybierz wariant, aby określić, które wartości parametrów Remote Config należy zaktualizować. Kryteria kierowania wybrane podczas tworzenia eksperymentu zostaną dodane jako nowy warunek do Twojego szablonu, aby zapewnić wdrożenie wariantu tylko w przypadku użytkowników, na których kierowany jest dany eksperyment. Kliknij Weryfikacja ze Zdalną konfiguracją, aby przejrzeć zmiany, a następnie Opublikuj zmiany, aby zakończyć wdrożenie.
Rozwijanie eksperymentu
Jeśli zauważysz, że eksperyment nie przyciąga wystarczającej liczby użytkowników, aby A/B Testing mogła wyłonić lidera, możesz zwiększyć dystrybucję eksperymentu, aby dotrzeć do większego odsetka użytkowników aplikacji.
- W sekcji DevOps i zaangażowanie w menu nawigacyjnym konsoli Firebase kliknij Remote Config.
- Kliknij kartę Testy A/B.
- Wybierz aktywny eksperyment, który chcesz edytować.
- W Przeglądzie eksperymentu kliknij menu kontekstowe (), a potem kliknij Edytuj aktywny eksperyment.
- W oknie Kierowanie pojawi się opcja zwiększenia odsetka użytkowników, którzy biorą udział w trwającym eksperymencie. Wybierz liczbę większą niż bieżąca wartość procentowa i kliknij Opublikuj. Eksperyment zostanie udostępniony określonemu przez Ciebie odsetkowi użytkowników.
Duplikowanie eksperymentu
- W sekcji DevOps i zaangażowanie w menu nawigacyjnym konsoli Firebase kliknij Remote Config.
- Kliknij kartę Testy A/B.
- Wybierz trwający lub zakończony eksperyment, który chcesz zatrzymać.
- Kliknij Zakończone lub Trwające, najedź wskaźnikiem myszy na eksperyment, kliknij menu kontekstowe (), a potem kliknij Zduplikuj eksperyment lub Zatrzymaj eksperyment.
Zatrzymywanie eksperymentu
- W sekcji DevOps i zaangażowanie w menu nawigacyjnym konsoli Firebase kliknij Remote Config.
- Kliknij kartę Testy A/B.
- Wybierz trwający lub zakończony eksperyment, który chcesz zatrzymać.
- Kliknij Zakończone lub Trwające, najedź wskaźnikiem myszy na eksperyment, kliknij menu kontekstowe (), a następnie kliknij Zatrzymaj eksperyment.
Identyfikacja klienta internetowego i trwałość eksperymentu
Gdy użytkownik po raz pierwszy uruchamia aplikację internetową za pomocą Firebase A/B Testing w przeglądarce, generowany jest unikalny identyfikator instalacji Firebase (FID). Ten identyfikator FID jest trwale przechowywany w bazie danych IndexedDB przeglądarki, aby identyfikować instancję aplikacji w różnych sesjach.
Firebase A/B Testing używa FID do przypisywania użytkowników do wariantów eksperymentu, a Google Analytics używa go do agregacji zdarzeń, aby mierzyć i analizować zachowania użytkowników w ramach każdego wariantu.
Identyfikator FID jest przechowywany w IndexedDB, dlatego Firebase A/B Testing traktuje użytkownika jako nowego użytkownika, jeśli korzysta on z aplikacji w innej przeglądarce lub w oknie incognito albo jeśli wyczyści IndexedDB w przeglądarce. Oznacza to, że użytkownik może być uwzględniany w różnych wariantach eksperymentu, gdy korzysta z różnych przeglądarek lub sesji przeglądania.
Kierowanie na użytkowników
Możesz wybrać użytkowników, którzy mają zostać uwzględnieni w eksperymencie, korzystając z tych kryteriów kierowania na użytkowników.
W konsoli Firebase obsługiwane są te typy reguł: Równoważne funkcje są dostępne w interfejsie Remote Config REST API, jak opisano w dokumentacji wyrażeń warunkowych.
| Typ reguły | Operatorzy | Wartości | Uwaga |
| Aplikacja | == | Wybierz z listy identyfikatorów aplikacji powiązanych z projektem Firebase. | Gdy dodajesz aplikację do Firebase, wpisujesz identyfikator pakietu lub nazwę pakietu na Androida, która definiuje atrybut widoczny jako Identyfikator aplikacji w regułach Remote Config.
Używaj tego atrybutu w następujący sposób:
|
| Wersja aplikacji |
W przypadku wartości tekstowych: dokładnie pasuje, zawiera, nie zawiera, zawiera wyrażenie regularne W przypadku wartości liczbowych: <, <=, =, !=, >, >= |
Określ wersje aplikacji, na które chcesz kierować reklamy. Zanim użyjesz tej reguły, musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację na Androida lub Apple powiązaną z projektem w Firebase. |
Na platformach Apple: użyj CFBundleShortVersionString aplikacji. Uwaga: upewnij się, że Twoja aplikacja na urządzenia Apple używa pakietu SDK Firebase na platformy Apple w wersji 6.24.0 lub nowszej, ponieważ we wcześniejszych wersjach nie jest wysyłany ciąg CFBundleShortVersionString (zobacz informacje o wersji). Na Androidzie: użyj parametru versionName aplikacji. Uwaga: operatory porównania liczbowego ( W porównaniach ciągów znaków w przypadku tej reguły wielkość liter ma znaczenie. Jeśli używasz operatora ściśle pasuje do, zawiera, nie zawiera lub zawiera wyrażenie regularne, możesz wybrać wiele wartości. Jeśli używasz operatora zawiera wyrażenie regularne, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może pasować do całości lub części ciągu znaków wersji docelowej. Możesz też używać kotwic ^ i $, aby dopasowywać początek, koniec lub całość docelowego ciągu znaków. |
| Numer kompilacji |
W przypadku wartości tekstowych: dokładnie pasuje, zawiera, nie zawiera, wyrażenie regularne W przypadku wartości liczbowych: =, ≠, >, ≥, <, ≤ |
Określ kompilacje aplikacji, na które chcesz kierować reklamy. Zanim użyjesz tej reguły, musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację na Androida lub Apple powiązaną z projektem w Firebase. |
Ten operator jest dostępny tylko w przypadku aplikacji na Apple i Androida. Odpowiada on parametrowi CFBundleVersion aplikacji w przypadku Apple i versionCode w przypadku Androida. W porównaniach ciągów znaków w tej regule wielkość liter ma znaczenie. Jeśli używasz operatora ściśle pasuje do, zawiera, nie zawiera lub zawiera wyrażenie regularne, możesz wybrać wiele wartości. Jeśli używasz operatora zawiera wyrażenie regularne, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może pasować do całości lub części ciągu znaków wersji docelowej. Możesz też używać kotwic ^ i $, aby dopasowywać początek, koniec lub całość docelowego ciągu znaków. |
| Platforma | == | iOS Android Przeglądarka |
|
| System operacyjny | == |
Określ systemy operacyjne, na które chcesz kierować reklamy. Zanim użyjesz tej reguły, musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację internetową powiązaną z projektem w Firebase. |
Ta reguła zwraca wartość true dla danej instancji aplikacji internetowej, jeśli system operacyjny i jego wersja odpowiadają wartości docelowej na określonej liście.
|
| Przeglądarka | == |
Wybierz przeglądarki, na które chcesz kierować reklamy. Zanim użyjesz tej reguły, musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację internetową powiązaną z projektem w Firebase. |
Ta reguła zwraca wartość true dla danej instancji aplikacji internetowej, jeśli przeglądarka i jej wersja pasują do wartości docelowej na określonej liście.
|
| Kategoria urządzenia | jest, nie jest | komórka | Ta reguła sprawdza, czy urządzenie, na którym jest używana aplikacja internetowa, jest urządzeniem mobilnym czy nie (komputerem lub konsolą). Ten typ reguły jest dostępny tylko w przypadku aplikacji internetowych. |
| Języki | zawiera się w | Wybierz co najmniej 1 język. | Ta reguła zwraca wartość true dla danej instancji aplikacji, jeśli jest ona zainstalowana na urządzeniu, na którym używany jest jeden z wymienionych języków.
|
| Kraj/region | zawiera się w | Wybierz co najmniej 1 region lub kraj. | Ta reguła zwraca wartość true dla danej instancji aplikacji, jeśli instancja znajduje się w jednym z wymienionych regionów lub krajów. Kod kraju urządzenia jest określany na podstawie adresu IP urządzenia w żądaniu lub kodu kraju określonego przez Firebase Analytics (jeśli dane Analytics są udostępniane Firebase).
|
| Odbiorcy | Zawiera przynajmniej jeden | Wybierz co najmniej jedną z Google Analytics grup odbiorców skonfigurowanych w projekcie. | Ta reguła wymaga reguły identyfikatora aplikacji, aby wybrać aplikację powiązaną z projektem w Firebase.
Uwaga: ponieważ wiele list odbiorców Analytics jest definiowanych przez zdarzenia lub właściwości użytkownika, które mogą być oparte na działaniach użytkowników aplikacji, może minąć trochę czasu, zanim reguła Użytkownik na liście odbiorców zacznie obowiązywać w przypadku danej instancji aplikacji. Oznacza to, że nawet jeśli użytkownik technicznie kwalifikuje się do listy odbiorców, ale usługa Analytics nie dodała go jeszcze do tej listy w momencie wykonania |
| Właściwość użytkownika |
W przypadku wartości tekstowych:
zawiera, nie zawiera, dokładnie pasuje, zawiera wyrażenie regularne. W przypadku wartości liczbowych: =, ≠, >, ≥, <, ≤ Uwaga: po stronie klienta możesz ustawiać tylko wartości tekstowe właściwości użytkownika. W przypadku warunków, które używają operatorów numerycznych, Remote Config konwertuje wartość odpowiedniej właściwości użytkownika na liczbę całkowitą lub zmiennoprzecinkową. |
Wybierz z listy dostępnych właściwości użytkownika Google Analytics. | Aby dowiedzieć się, jak używać właściwości użytkownika do dostosowywania aplikacji do bardzo konkretnych segmentów bazy użytkowników, przeczytaj artykuł Remote Config i właściwości użytkownika.
Więcej informacji o właściwościach użytkownika znajdziesz w tych przewodnikach:
Jeśli używasz operatora ściśle pasuje do, zawiera, nie zawiera lub zawiera wyrażenie regularne, możesz wybrać wiele wartości. Jeśli używasz operatora zawiera wyrażenie regularne, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może pasować do całości lub części ciągu znaków wersji docelowej. Możesz też używać kotwic ^ i $, aby dopasowywać początek, koniec lub całość docelowego ciągu znaków. Uwaga: właściwości użytkownika zbierane automatycznie nie są dostępne podczas tworzenia warunków Remote Config. |
| Użytkownik w losowym odsetku | Suwak (w konsoli Firebase). Interfejs API typu REST używa operatorów <=, > i between.
|
0-100 |
Użyj tego pola, aby zastosować zmianę do losowej próbki instancji aplikacji (o rozmiarze nawet 0,0001%). Za pomocą suwaka możesz podzielić losowo wymieszanych użytkowników (instancje aplikacji) na grupy. Każda instancja aplikacji jest trwale mapowana na losową liczbę całkowitą lub ułamkową zgodnie z ziarnem zdefiniowanym w danym projekcie. Reguła będzie używać klucza domyślnego (wyświetlanego jako Edytuj ziarno w konsoli Firebase), chyba że zmodyfikujesz wartość ziarna. Aby przywrócić domyślny klucz reguły, wyczyść pole Seed (Ziarno). Aby konsekwentnie kierować reklamy na te same instancje aplikacji w określonych zakresach procentowych, używaj tej samej wartości ziarna we wszystkich warunkach. Możesz też wybrać nową, losowo przypisaną grupę instancji aplikacji dla danego zakresu procentowego, określając nowy obiekt inicjujący. Aby na przykład utworzyć 2 powiązane warunki, z których każdy dotyczy niepokrywającego się 5% użytkowników aplikacji, możesz skonfigurować jeden warunek, który będzie pasował do odsetka między 0% a 5%, i drugi warunek, który będzie pasował do zakresu między 5% a 10%. Aby umożliwić niektórym użytkownikom losowe pojawianie się w obu grupach, użyj różnych wartości ziarna dla reguł w ramach każdego warunku. |
| Zaimportowany segment | zawiera się w | Wybierz co najmniej 1 zaimportowany segment. | Ta reguła wymaga skonfigurowania niestandardowych zaimportowanych segmentów. |
| Data/godzina | Przed, po | Określona data i godzina w strefie czasowej urządzenia lub określonej strefie czasowej, np. „(GMT+11) czas w Sydney”. | Porównuje bieżący czas z czasem pobierania na urządzeniu. |
| Pierwsze uruchomienie | Przed, po | Kierowanie na użytkowników na podstawie pierwszego uruchomienia aplikacji:
|
Kierowanie na użytkowników według pierwszego otwarcia jest dostępne po wybraniu aplikacji na Androida, iOS lub aplikacji internetowej. Wymaga tych pakietów SDK:
Analytics musi być też włączona na urządzeniu klienta podczas pierwszego uruchomienia aplikacji. |
| Identyfikator instalacji | zawiera się w | Podaj co najmniej 1 identyfikator instalacji (maksymalnie 50), na który chcesz kierować reklamy. | Ta reguła zwraca wartość true dla danej instalacji, jeśli jej identyfikator znajduje się na liście wartości rozdzielonych przecinkami.
Aby dowiedzieć się, jak uzyskać identyfikatory instalacji, przeczytaj artykuł o pobieraniu identyfikatorów klientów. |
| Użytkownik istnieje | (brak operatora) | Obejmuje wszystkich użytkowników wszystkich aplikacji w bieżącym projekcie. |
Użyj tej reguły warunku, aby dopasować wszystkich użytkowników w projekcie, niezależnie od aplikacji lub platformy. |
| Sygnał niestandardowy |
Wartości tekstowe:
zawiera, nie zawiera, dokładnie pasuje, zawiera wyrażenie regularne. Wartości liczbowe: =, ≠, >, ≥, <, ≤ Wartości wersji: =, ≠, >, ≥, <, ≤ |
W porównaniach ciągów znaków w przypadku tej reguły wielkość liter ma znaczenie. Jeśli używasz operatora „dokładnie pasuje”, „zawiera”, „nie zawiera” lub „zawiera wyrażenie regularne”, możesz wybrać wiele wartości. Jeśli używasz operatora „zawiera wyrażenie regularne”, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może pasować do całości lub części ciągu znaków wersji docelowej. Możesz też używać kotwic ^ i $, aby dopasowywać początek, koniec lub całość ciągu docelowego. W przypadku środowisk klienta obsługiwane są te typy danych:
Liczba, która reprezentuje numery wersji do dopasowania (np. 2.1.0). |
Więcej informacji o warunkach sygnałów niestandardowych i wyrażeniach warunkowych, których można używać, znajdziesz w artykułach Warunki sygnałów niestandardowych i Elementy używane do tworzenia warunków. |
A/B Testing wskaźnika
Podczas tworzenia eksperymentu wybierasz podstawowe dane, czyli cel, które służą do określenia zwycięskiego wariantu. Warto też śledzić inne dane, aby lepiej zrozumieć skuteczność każdego wariantu eksperymentu i obserwować ważne trendy, które mogą się różnić w zależności od wariantu, np. utrzymanie użytkowników, stabilność aplikacji i przychody z zakupów w aplikacji. W eksperymencie możesz śledzić maksymalnie 5 danych niebędących celem.
Załóżmy na przykład, że używasz Remote Config do uruchamiania 2 różnych procesów gry w aplikacji i chcesz optymalizować pod kątem zakupów w aplikacji i przychodów z reklam, ale chcesz też śledzić stabilność i utrzymanie użytkowników w przypadku każdego wariantu. W takim przypadku możesz wybrać Szacunkowe łączne przychody jako dane docelowe, ponieważ obejmują one przychody z zakupów w aplikacji i przychody z reklam. Następnie w sekcji Inne dane do śledzenia możesz dodać te dane:
- Aby śledzić dzienne i tygodniowe utrzymanie użytkowników, dodaj Utrzymanie (2–3 dni) i Utrzymanie (4–7 dni).
- Aby porównać stabilność obu ścieżek gry, dodaj Użytkownicy, u których nie wystąpiła awaria.
- Aby wyświetlić bardziej szczegółowe widoki poszczególnych typów przychodów, dodaj Przychody z zakupów i Szacunkowe przychody z reklam.
W tabelach poniżej znajdziesz szczegółowe informacje o tym, jak obliczane są dane dotyczące celów i inne dane.
Dane celów
| Wskaźnik | Opis |
|---|---|
| Użytkownicy, u których nie wystąpił błąd | Odsetek użytkowników, u których podczas eksperymentu nie wystąpiły błędy w aplikacji wykryte przez pakiet SDK Firebase Crashlytics.
Uwaga: Firebase Crashlytics nie jest obsługiwany w przypadku aplikacji internetowych. |
| Szacunkowe przychody z reklam | Szacunkowe zarobki z reklam. |
| Szacunkowe łączne przychody | Łączna wartość zakupów i szacunkowych przychodów z reklam. |
| Przychody z zakupów | Łączna wartość wszystkich zdarzeń purchase i in_app_purchase.
|
| Utrzymanie użytkowników (1 dzień) | Liczba użytkowników, którzy codziennie wracają do Twojej aplikacji. |
| Utrzymanie (2–3 dni) | Liczba użytkowników, którzy wracają do Twojej aplikacji w ciągu 2–3 dni. |
| Utrzymanie (4–7 dni) | Liczba użytkowników, którzy wrócili do Twojej aplikacji w ciągu 4–7 dni. |
| Utrzymanie (8–14 dni) | Liczba użytkowników, którzy wrócili do Twojej aplikacji w ciągu 8–14 dni. |
| Utrzymanie użytkowników (15 dni lub więcej) | Liczba użytkowników, którzy wracają do aplikacji po co najmniej 15 dniach od ostatniego użycia. |
| first_open | Zdarzenie Analytics, które jest wywoływane, gdy użytkownik po raz pierwszy otwiera aplikację po jej zainstalowaniu lub ponownym zainstalowaniu. Używana jako część ścieżki konwersji. |
Inne wskaźniki
| Wskaźnik | Opis |
|---|---|
| notification_dismiss | Zdarzenie Analytics, które jest wywoływane, gdy powiadomienie wysłane przez Kreator powiadomień zostanie zamknięte (tylko Android). |
| notification_receive | Zdarzenie Analytics, które jest wywoływane, gdy powiadomienie wysłane przez Kreator powiadomień nadejdzie podczas działania aplikacji w tle (tylko Android). |
| os_update | Zdarzenie Analytics, które śledzi, kiedy system operacyjny urządzenia jest aktualizowany do nowej wersji.Więcej informacji znajdziesz w artykule Zdarzenia zbierane automatycznie.
Ten wskaźnik nie jest obsługiwany w przypadku aplikacji internetowych. |
| screen_view | Zdarzenie Analytics, które śledzi wyświetlenia ekranu w aplikacji. Więcej informacji znajdziesz w artykule Śledzenie wyświetleń ekranu. |
| session_start | Zdarzenie Analytics, które zlicza sesje użytkowników w aplikacji. Więcej informacji znajdziesz w artykule Zdarzenia zbierane automatycznie. |
Eksport danych do BigQuery
Oprócz wyświetlania danych eksperymentu A/B Testing w konsoli Firebase możesz też sprawdzać i analizować dane eksperymentu w BigQuery. Chociaż A/B Testing nie ma osobnej tabeli BigQuery, informacje o przynależności do eksperymentu i wariantu są przechowywane w każdym zdarzeniu Google Analytics w tabelach zdarzeń Analytics.
Właściwości użytkownika, które zawierają informacje o eksperymencie, mają postać userProperty.key like "firebase_exp_%" lub userProperty.key =
"firebase_exp_01", gdzie 01 to identyfikator eksperymentu, a userProperty.value.string_value zawiera indeks (liczony od zera) wariantu eksperymentu.
Możesz używać tych właściwości użytkownika eksperymentu do wyodrębniania danych eksperymentu. Dzięki temu możesz analizować wyniki eksperymentu na wiele różnych sposobów i samodzielnie weryfikować wyniki A/B Testing.
Aby rozpocząć, wykonaj te czynności opisane w tym przewodniku:
- Włącz eksport BigQuery dla Google Analytics w konsoli Firebase
- Uzyskiwanie dostępu do danych A/B Testing za pomocą BigQuery
- Przykładowe zapytania
Włącz eksport BigQuery dla Google Analytics w konsoli Firebase
Jeśli korzystasz z abonamentu Spark, możesz używać piaskownicy BigQuery, aby bezpłatnie korzystać z BigQuery, z zastrzeżeniem limitów piaskownicy. Więcej informacji znajdziesz w artykule Ceny i piaskownica BigQuery.
Najpierw upewnij się, że eksportujesz dane Analytics do BigQuery:
W konsoli Firebase otwórz
Ustawienia > karta Integracje.Na karcie BigQuery kliknij Zarządzaj i sprawdź, czy projekt eksportuje dane Analytics do BigQuery.
Jeśli na karcie widoczna jest opcja Połącz, musisz skonfigurować eksport (przejdź do następnego kroku).
Jeśli chcesz skonfigurować eksport:
Zapoznaj się z artykułem Łączenie Firebase z BigQuery, a potem kliknij Dalej.
W sekcji Skonfiguruj integrację włącz Google Analytics.
Wybierz region i ustawienia eksportu.
Kliknij Połącz z: BigQuery.
W zależności od wybranego sposobu eksportowania danych tabele mogą stać się dostępne dopiero po upływie doby. Więcej informacji o eksportowaniu danych projektu do BigQuery znajdziesz w artykule Eksportowanie danych projektu do BigQuery.
Dostęp do danych A/B Testing w usłudze BigQuery
Zanim wyślesz zapytanie o dane dotyczące konkretnego eksperymentu, musisz uzyskać niektóre lub wszystkie z tych informacji, aby użyć ich w zapytaniu:
- Identyfikator eksperymentu: możesz go uzyskać z adresu URL strony Przegląd eksperymentu. Jeśli na przykład adres URL wygląda tak:
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, identyfikator eksperymentu to 25. - Identyfikator usługi Google Analytics: to 9-cyfrowy identyfikator usługi Google Analytics. Znajdziesz go w Google Analytics. Pojawia się też w BigQuery, gdy rozwiniesz nazwę projektu, aby wyświetlić nazwę tabeli zdarzeń Google Analytics (
project_name.analytics_000000000.events). - Data eksperymentu: aby utworzyć szybsze i bardziej wydajne zapytanie, warto ograniczyć zapytania do Google Analytics partycji tabeli zdarzeń dziennych, które zawierają dane eksperymentu – tabel oznaczonych sufiksem
YYYYMMDD. Jeśli więc eksperyment trwał od 2 lutego 2026 r. do 2 maja 2026 r., podaj_TABLE_SUFFIX between '20260202' AND '20260502'. Przykład znajdziesz w sekcji Wybieranie wartości konkretnego eksperymentu. - Nazwy zdarzeń: zwykle odpowiadają danym celu skonfigurowanym w eksperymencie. Na przykład zdarzenia
in_app_purchase,ad_impressionlubuser_retention.
Po zebraniu informacji potrzebnych do wygenerowania zapytania:
- W konsoli Google Cloud otwórz BigQuery.
- Wybierz projekt, a następnie kliknij Utwórz zapytanie SQL.
- Dodaj zapytanie. Przykładowe zapytania, które możesz uruchomić, znajdziesz w artykule Przykładowe zapytania.
- Kliknij Wykonaj.
Wykonywanie zapytania dotyczącego danych eksperymentu za pomocą zapytania wygenerowanego automatycznie w konsoli Firebase
Jeśli korzystasz z abonamentu Blaze, na stronie Przegląd eksperymentu znajdziesz przykładowe zapytanie, które zwraca nazwę eksperymentu, warianty, nazwy zdarzeń i liczbę zdarzeń w wyświetlanym eksperymencie.
Aby uzyskać i uruchomić wygenerowane automatycznie zapytanie:
- W konsoli Firebase kliknij DevOps i zaangażowanie > Testy A/B.
- Wybierz eksperyment A/B Testing, który chcesz sprawdzić, aby otworzyć Przegląd eksperymentu.
- W menu Opcje w sekcji Integracja z BigQuery wybierz Zapytanie o dane eksperymentu. Spowoduje to otwarcie projektu w BigQuery w konsoli Google Cloud i wyświetlenie podstawowego zapytania, którego możesz użyć do wysłania zapytania o dane eksperymentu.
Poniższy przykład pokazuje wygenerowane zapytanie dotyczące eksperymentu z 3 wariantami (w tym z elementem bazowym) o nazwie „Eksperyment z powitaniem zimowym”. Zwraca nazwę aktywnego eksperymentu, nazwę wariantu, unikalne zdarzenie i liczbę zdarzeń dla każdego zdarzenia. Zwróć uwagę, że kreator zapytań nie podaje nazwy projektu w nazwie tabeli, ponieważ otwiera się bezpośrednio w projekcie.
/*
This query is auto-generated by Firebase A/B Testing for your
experiment "Winter welcome experiment".
It demonstrates how you can get event counts for all Analytics
events logged by each variant of this experiment's population.
*/
SELECT
'Winter welcome experiment' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'Welcome message (1)'
WHEN '2' THEN 'Welcome message (2)'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_000000000.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN '20260202' AND '20260502')
AND userProperty.key = 'firebase_exp_25'
GROUP BY
experimentVariant, eventName
Więcej przykładów zapytań znajdziesz w sekcji Przykładowe zapytania.
Przeglądanie przykładowych zapytań
W sekcjach poniżej znajdziesz przykłady zapytań, których możesz użyć do wyodrębnienia danych eksperymentu A/B Testing z tabel zdarzeń Google Analytics.
Wyodrębnianie wartości odchylenia standardowego zakupów i eksperymentów ze wszystkich eksperymentów
Możesz używać danych z wyników eksperymentu, aby samodzielnie weryfikować wyniki Firebase A/B Testing. Podana niżej instrukcja SQL BigQuery wyodrębnia warianty eksperymentu, liczbę unikalnych użytkowników w każdym wariancie oraz sumę łącznych przychodów ze zdarzeń in_app_purchase i ecommerce_purchase, a także odchylenia standardowe dla wszystkich eksperymentów w zakresie czasu określonym przez daty rozpoczęcia i zakończenia _TABLE_SUFFIX. Dane uzyskane z tego zapytania możesz wykorzystać w generatorze istotności statystycznej do jednostronnych testów t, aby sprawdzić, czy wyniki podawane przez Firebase są zgodne z Twoją analizą.
Więcej informacji o tym, jak A/B Testing oblicza wnioskowanie, znajdziesz w artykule Interpretowanie wyników testu.
/*
This query returns all experiment variants, number of unique users,
the average USD spent per user, and the standard deviation for all
experiments within the date range specified for _TABLE_SUFFIX.
*/
SELECT
experimentNumber,
experimentVariant,
COUNT(*) AS unique_users,
AVG(usd_value) AS usd_value_per_user,
STDDEV(usd_value) AS std_dev
FROM
(
SELECT
userProperty.key AS experimentNumber,
userProperty.value.string_value AS experimentVariant,
user_pseudo_id,
SUM(
CASE
WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
THEN event_value_in_usd
ELSE 0
END) AS usd_value
FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
CROSS JOIN UNNEST(user_properties) AS userProperty
WHERE
userProperty.key LIKE 'firebase_exp_%'
AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
GROUP BY 1, 2, 3
)
GROUP BY 1, 2
ORDER BY 1, 2;
Wybieranie wartości konkretnego eksperymentu
Poniższe przykładowe zapytanie pokazuje, jak uzyskać dane dotyczące konkretnego eksperymentu w BigQuery. To przykładowe zapytanie zwraca nazwę eksperymentu, nazwy wariantów (w tym Baseline), nazwy zdarzeń i liczbę zdarzeń.
SELECT
'EXPERIMENT_NAME' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'VARIANT_1_NAME'
WHEN '2' THEN 'VARIANT_2_NAME'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_ANALYTICS_PROPERTY.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN 'YYYMMDD' AND 'YYYMMDD')
AND userProperty.key = 'firebase_exp_EXPERIMENT_NUMBER'
GROUP BY
experimentVariant, eventName