Gdy używasz Firebase Remote Config do wdrażania ustawień aplikacji z aktywną bazą użytkowników, musisz mieć pewność, że wszystko przebiegnie prawidłowo. Za pomocą eksperymentów A/B Testing możesz określić:
- Najlepszy sposób na wdrożenie funkcji optymalizującej wrażenia użytkowników. Deweloperzy aplikacji zbyt często dowiadują się, że użytkownicy nie lubią nowej funkcji lub zaktualizowanego interfejsu, dopiero gdy ocena aplikacji w sklepie z aplikacjami spadnie. A/B Testing może pomóc Ci sprawdzić, czy użytkownicy lubią nowe warianty funkcji, czy wolą aplikację w obecnej postaci. Dodatkowo utrzymywanie większości użytkowników w grupie podstawowej zapewnia, że większość 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ć wartość danych, takich jak przychody lub utrzymanie klientów. W A/B Testing określasz cel biznesowy, a Firebase przeprowadza analizę statystyczną, aby sprawdzić, czy wariant jest skuteczniejszy od elementu bazowego w zakresie wybranego celu.
Aby przeprowadzić test A/B wariantów funkcji z wartością bazową:
- Utwórz eksperyment.
- Zarządzaj eksperymentem.
Utwórz eksperyment
Remote Config Eksperyment umożliwia ocenę wielu wariantów na podstawie co najmniej 1 Remote Configparametru.
Sprawdź, czy w projekcie włączona jest usługa Google Analytics, aby eksperyment miał dostęp do danych Analytics.
Jeśli podczas tworzenia projektu nie włączysz Google Analytics, możesz to zrobić na karcie
Ustawienia > Integracje w konsoli Firebase.W konsoli Firebase otwórz DevOps i zaangażowanie > A/B Testing.
Kliknij Utwórz eksperyment, a potem kliknij Remote Config, gdy pojawi się prośba o wybranie usługi, z którą chcesz przeprowadzić eksperyment.
W sekcji Warianty wybierz wersję podstawową i co najmniej 1 wariant eksperymentu. Możesz dodać co najmniej 1 parametr, który chcesz przetestować. Tę czynność możesz powtórzyć, 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 w przypadku użytkowników, którzy nie są objęci eksperymentem.
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, korzystając z tych warunków:Remote Config
Użyj ponownie istniejącego warunku: jeśli istniejący warunek w szablonie Remote Config jest już zgodny z docelowymi odbiorcami, wybierz go z listy.
Sprawdź kolejność oceny warunków: upewnij się, że warunki na stronie Warunki są uporządkowane w odpowiedniej kolejności priorytetów. Ponieważ funkcja Remote Config ocenia warunki sekwencyjnie od góry do dołu, 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 dotychczasowych warunków nie spełnia Twoich wymagań dotyczących kierowania lub jeśli wolisz zduplikować istniejący warunek (np. aby uniknąć blokowania warunku, który jest współdzielony przez inne parametry), utwórz nowy warunek, wybierając najpierw aplikację, która korzysta z Twojego eksperymentu. Jeśli testowany parametr używa też istniejącego (lub innego pokrywającego się) warunku, upewnij się, że nowy warunek eksperymentu znajduje się nad istniejącym warunkiem na karcie Warunki (dzięki czemu ma wyższy priorytet oceny). W przeciwnym razie użytkownicy najpierw będą dopasowywani do istniejącego warunku i nie będą wchodzić w zakres eksperymentu.
Możesz następnie kierować reklamy na konkretny podzbiór użytkowników, klikając i i wybierając co najmniej 1 opcję z tej listy:
- Wersja: co najmniej jedna wersja aplikacji.
- Numer kompilacji: numer kompilacji (Apple) lub kod wersji (Android) aplikacji.
- Platforma: co najmniej jedna platforma (iOS, Android lub internet), na którą chcesz kierować reklamy.
- System operacyjny: kieruj reklamy na użytkowników aplikacji internetowych na podstawie systemu operacyjnego i jego wersji.
- Przeglądarka: kierowanie na użytkowników aplikacji internetowych na podstawie przeglądarki internetowej i jej wersji.
- Kategoria urządzenia: kieruj reklamy na użytkowników aplikacji internetowych na podstawie tego, czy korzystają oni z urządzeń mobilnych czy innych.
- 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 jeden kraj lub region, w którym można wybrać użytkowników, którzy mają być uwzględnieni w eksperymencie.
- Lista odbiorców użytkowników: Analytics listy odbiorców używane do kierowania na użytkowników, którzy mogą zostać włączeni do eksperymentu.
- Właściwość użytkownika: co najmniej 1 Analytics właściwość użytkownika do wybierania użytkowników, którzy mogą zostać włączeni do eksperymentu.
- Użytkownik w losowym procencie:kierowanie reklam na losowo wybrany odsetek użytkowników w określonym zakresie centyli.
- Zaimportowany segment: kieruj reklamy na użytkowników należących do niestandardowych zaimportowanych segmentów przesłanych do projektu.
- Data/godzina: kierowanie na użytkowników na podstawie określonego przedziału daty i godziny.
- Pierwsze uruchomienie: kieruj reklamy na użytkowników na podstawie tego, że po raz pierwszy uruchomili Twoją aplikację.
- Identyfikator instalacji: kieruj reklamy na konkretne urządzenia testowe lub instancje klienta za pomocą identyfikatorów instalacji Firebase (FID).
- Użytkownik istnieje: kierowanie na wszystkich użytkowników we wszystkich aplikacjach w projekcie
- Sygnał niestandardowy: kieruj reklamy na użytkowników na podstawie niestandardowych sygnałów klucz-wartość po stronie klienta przekazywanych w czasie działania programu.
Ustaw Wyświetlanie:wpisz odsetek użytkowników aplikacji spełniających kryteria ustawione w sekcji Docelowi użytkownicy, których chcesz równomiernie podzielić między wersję podstawową a co najmniej 1 wariant w eksperymencie. Może to być dowolna wartość procentowa z zakresu od 0% do 100%. Użytkownicy są losowo przypisywani do każdego eksperymentu, w tym do zduplikowanych eksperymentów.
Opcjonalnie możesz ustawić zdarzenie aktywacji, aby w eksperymencie uwzględniać tylko dane użytkowników, którzy najpierw uruchomili określone zdarzenie Analytics. Pamiętaj, że wszyscy użytkownicy spełniający parametry kierowania otrzymają Remote Config wartości eksperymentalne, ale tylko ci, którzy wywołają zdarzenie aktywacji, zostaną uwzględnieni w wynikach eksperymentu.
Aby eksperyment był prawidłowy, upewnij się, że wybrane zdarzenie występuje po aktywowaniu przez aplikację pobranych wartości konfiguracji. Dodatkowo nie można używać tych zdarzeń, ponieważ zawsze występują przed aktywacją pobranych wartości:
app_installapp_removeapp_update
Wybrane przez Ciebie zdarzenie Analytics jako zdarzenie aktywacji nie może być też używane jako główne dane (ani jako dodatkowe dane) w tym samym eksperymencie. Spowoduje to błąd weryfikacji w konsoli Firebase i uniemożliwi rozpoczęcie eksperymentu.
W sekcji Cele eksperymentu wybierz podstawowe dane do śledzenia i dodaj z listy wszelkie dodatkowe dane, które chcesz śledzić. Obejmują one wbudowane cele (zakupy, przychody, utrzymanie, użytkownicy bez awarii itp.), Analyticszdarzenia konwersji i inne Analyticszdarzenia. 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 maksymalnie 24 mogą być aktywne, a pozostałe – zakończone.
Zarządzanie eksperymentem
Gdy utworzysz eksperyment za pomocą Remote Config, możesz go rozpocząć, monitorować jego przebieg i zwiększać liczbę użytkowników biorących w nim udział.
Po zakończeniu eksperymentu możesz zapisać ustawienia używane przez zwycięski wariant, a następnie wdrożyć je u wszystkich użytkowników. Możesz też przeprowadzić inny eksperyment.
Edytowanie eksperymentu
- W sekcji DevOps & Engagement w menu nawigacyjnym Firebasekonsoli kliknij Remote Config.
- Kliknij kartę Testy A/B.
- Kliknij Trwa, a następnie kliknij eksperyment, który chcesz edytować.
- Kliknij menu kontekstowe , a potem Edytuj uruchomiony eksperyment.
- Aby sprawdzić, czy Twoja aplikacja ma użytkowników, którzy zostaną uwzględnieni w eksperymencie, rozwiń szczegóły i w sekcji Kierowanie i dystrybucja sprawdź, czy wyświetla się 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ć wyniki uzyskane przez użytkowników, którzy wzięli w nim udział.
- W sekcji DevOps & Engagement w menu nawigacyjnym Firebasekonsoli kliknij Remote Config.
- Kliknij kartę Testy A/B.
Kliknij Aktywne, a następnie kliknij lub wyszukaj tytuł eksperymentu. Na tej stronie możesz wyświetlić różne odnotowane i modelowane statystyki dotyczące prowadzonego eksperymentu, w tym:
- % różnicy wobec punktu odniesienia: miara poprawy danych w przypadku danego wariantu w porównaniu z wartością bazową. Obliczana przez porównanie zakresu wartości wariantu z zakresem wartości w przypadku wartości bazowej.
- Prawdopodobieństwo wyniku lepszego niż punkt odniesienia: szacunkowe prawdopodobieństwo, że dany wariant osiągnie lepsze wyniki niż punkt odniesienia w przypadku wybranych danych.
- observed_metric na użytkownika: na podstawie wyników eksperymentu jest to przewidywany zakres, w którym wartość danych będzie się mieścić z upływem czasu.
- Łącznie observed_metric: zaobserwowana wartość skumulowana w przypadku wersji podstawowej lub wariantu. Wartość ta służy do pomiaru skuteczności każdego wariantu eksperymentu i do obliczania wzrostu, zakresu wartości, prawdopodobieństwa przekroczenia wartości podstawowej i prawdopodobieństwa uzyskania najlepszych wyników. W zależności od mierzonych danych ta kolumna może być oznaczona jako „Czas trwania na użytkownika”, „Przychody na użytkownika”, „Współczynnik utrzymania” lub „Współczynnik konwersji”.
Po pewnym czasie trwania eksperymentu (14 dni w przypadku Remote Config) dane na tej stronie wskazują, który wariant jest „najlepszy”. 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 & Engagement w menu nawigacyjnym Firebasekonsoli kliknij Remote Config.
- Kliknij kartę Testy A/B.
- Kliknij Ukończono lub Trwa, a potem eksperyment, który chcesz udostępnić wszystkim użytkownikom. Kliknij menu kontekstowe , a następnie Wdróż wariant.
- Aby wdrożyć eksperyment dla wszystkich użytkowników, wykonaj te czynności:
- 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 wyłonić zwycięzcę, możesz zwiększyć jego zasięg, aby dotrzeć do większego odsetka użytkowników aplikacji.
- W sekcji DevOps i zaangażowanie w menu nawigacyjnym Firebase konsoli kliknij Remote Config.
- Kliknij kartę Testy A/B.
- Wybierz trwający eksperyment, który chcesz edytować.
- W sekcji Omówienie eksperymentu kliknij menu kontekstowe, a potem kliknij Edytuj trwający eksperyment.
- W oknie Kierowanie wyświetla się opcja zwiększenia odsetka użytkowników, którzy biorą udział w eksperymencie. Wybierz liczbę większą niż bieżący odsetek i kliknij Opublikuj. Eksperyment zostanie udostępniony odsetkowi użytkowników, który został przez Ciebie określony.
Duplikowanie eksperymentu
- W sekcji DevOps i zaangażowanie w menu nawigacyjnym Firebase konsoli 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 Duplikuj eksperyment lub Zatrzymaj eksperyment.
Zatrzymywanie eksperymentu
- W sekcji DevOps i zaangażowanie w menu nawigacyjnym Firebase konsoli 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 utrzymywanie 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 IndexedDB przeglądarki, aby identyfikować instancję aplikacji w kolejnych sesjach.
Firebase A/B Testing używa identyfikatora FID do przypisywania użytkowników do wariantów eksperymentu, a Google Analytics używa go do agregowania zdarzeń w celu pomiaru i analizowania zachowań użytkowników w ramach każdego wariantu.
Ponieważ identyfikator FID jest przechowywany w IndexedDB,Firebase A/B Testing traktuje użytkownika jako nowego użytkownika, jeśli uzyska on dostęp do aplikacji z innej przeglądarki lub w oknie incognito albo jeśli wyczyści IndexedDB przeglądarki. Oznacza to, że użytkownik może być uwzględniany w różnych wersjach eksperymentu, gdy korzysta z różnych przeglądarek lub sesji przeglądania.
Kierowanie na użytkowników
Użytkowników, którzy mają być uwzględnieni w eksperymencie, możesz kierować na podstawie tych kryteriów kierowania na użytkowników.
W konsoli Firebase obsługiwane są te typy reguł: Odpowiednie funkcje są dostępne w Remote Config REST API, co zostało opisane 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óre definiują atrybut udostępniany jako Identyfikator aplikacji w regułach Remote Config.
Używaj tego atrybutu w ten 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 iOS powiązaną z projektem w Firebase. |
W przypadku platform Apple: użyj CFBundleShortVersionString aplikacji. Uwaga: upewnij się, że Twoja aplikacja na platformę Apple używa pakietu SDK Firebase Apple w wersji 6.24.0 lub nowszej, ponieważ w starszych wersjach nie jest wysyłany ciąg CFBundleShortVersionString (patrz informacje o wersji). Android: użyj versionName aplikacji. Uwaga: operatory porównania liczb ( W przypadku tej reguły w porównaniach ciągów znaków rozróżniana jest wielkość liter. Jeśli używasz operatora ściśle pasuje do, zawiera, nie zawiera lub zawiera wyrażenie regularne, możesz wybrać wiele wartości. Gdy 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 docelowego ciągu znaków wersji. Możesz też użyć kotwic ^ i $, aby dopasować początek, koniec lub całość ciągu docelowego. |
| Numer kompilacji |
W przypadku wartości tekstowych: dokładnie pasuje, zawiera, nie 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 iOS powiązaną z Twoim projektem w Firebase. |
Ten operator jest dostępny tylko w przypadku aplikacji na urządzenia z Androidem i iOS. Odpowiada on wartości CFBundleVersion w przypadku Apple i versionCode w przypadku Androida. W przypadku tej reguły w porównaniach ciągów znaków rozróżniana jest wielkość liter. 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 docelowego ciągu znaków wersji. Możesz też użyć kotwic ^ i $, aby dopasować początek, koniec lub całość ciągu docelowego. |
| Platforma | == | iOS Android Sieć |
|
| 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 w przypadku danej instancji aplikacji internetowej, jeśli system operacyjny i jego wersja pasują do wartości docelowej na określonej liście.
|
| Przeglądarka | == |
Określ 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 przyjmuje wartość true w przypadku danej instancji aplikacji internetowej, jeśli przeglądarka i jej wersja są zgodne z wartością docelową na określonej liście.
|
| Kategoria urządzenia | jest, nie jest | komórka | Ta reguła sprawdza, czy urządzenie, z którego uzyskiwany jest dostęp do aplikacji internetowej, 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 przyjmuje wartość true w przypadku 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 przyjmuje wartość true w przypadku danej instancji aplikacji, jeśli znajduje się ona w którymś 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 list Google Analytics odbiorców, które zostały skonfigurowane w Twoim projekcie. | Ta reguła wymaga reguły identyfikatora aplikacji, aby wybrać aplikację powiązaną z projektem w Firebase.
Uwaga: ponieważ wiele Analytics list odbiorców jest definiowanych przez zdarzenia lub właściwości użytkownika, które mogą być oparte na działaniach użytkowników aplikacji, zastosowanie reguły Użytkownik na liście odbiorców w przypadku danej instancji aplikacji może zająć trochę czasu. Oznacza to, że nawet jeśli użytkownik technicznie kwalifikuje się do listy odbiorców, ale Analytics nie dodał 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: na kliencie 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 przekształca wartość odpowiedniej właściwości użytkownika w liczbę całkowitą lub zmiennoprzecinkową. |
Wybierz z listy dostępnych Google Analyticsatrybutów użytkownika. | Aby dowiedzieć się, jak używać właściwości użytkownika do dostosowywania aplikacji pod kątem bardzo konkretnych segmentów 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 docelowego ciągu znaków wersji. Możesz też użyć kotwic ^ i $, aby dopasować początek, koniec lub całość ciągu docelowego. Uwaga: właściwości użytkownika zbierane automatycznie nie są dostępne podczas tworzenia warunków Remote Config. |
| Użytkownik w losowym procencie | Suwak (w konsoli Firebase). Interfejs API REST używa operatorów <=, > i between.
|
0-100 |
Użyj tego pola, aby zastosować zmianę do losowej próbki instancji aplikacji (o rozmiarach próbki nawet 0,0001%), używając widżetu suwaka do dzielenia losowo przetasowanych użytkowników (instancji aplikacji) na grupy. Każda instancja aplikacji jest trwale przypisana do losowej liczby całkowitej lub ułamkowej zgodnie z wartością początkową zdefiniowaną w tym projekcie. Reguła będzie używać domyślnego klucza (w konsoli Firebase wyświetlanego jako Edytuj wartość początkową), chyba że zmodyfikujesz wartość początkową. Aby przywrócić domyślny klucz, wyczyść pole Seed. Aby konsekwentnie kierować reklamy na te same instancje aplikacji w określonych zakresach procentowych, używaj tej samej wartości początkowej w różnych warunkach. Możesz też wybrać nową, losowo przypisaną grupę instancji aplikacji w określonym zakresie procentowym, podając nowy klucz. Aby na przykład utworzyć 2 powiązane warunki, z których każdy będzie dotyczyć niepokrywających się 5% użytkowników aplikacji, możesz skonfigurować jeden warunek tak, aby pasował do odsetka z zakresu od 0% do 5%, a drugi tak, aby pasował do odsetka z zakresu od 5% do 10%. Aby umożliwić niektórym użytkownikom losowe pojawianie się w obu grupach, użyj różnych wartości początkowych w przypadku reguł w każdym warunku. |
| Zaimportowany segment | zawiera się w | Wybierz co najmniej 1 zaimportowany segment. | Ta reguła wymaga skonfigurowania niestandardowych importowanych segmentów. |
| Data/godzina | Przed, po | Określona data i godzina w strefie czasowej urządzenia lub w określonej strefie czasowej, np. „(GMT+11) czas w Sydney”. | Porównuje bieżący czas z czasem pobierania danych z urządzenia. |
| Pierwsze uruchomienie | Przed, po | Kieruj reklamy na użytkowników na podstawie tego, kiedy po raz pierwszy otworzyli Twoją aplikację:
|
Kierowanie na użytkowników według pierwszego uruchomienia jest dostępne po wybraniu aplikacji na Androida, iOS lub aplikacji internetowej. Wymaga tych pakietów SDK:
Analytics musi być też włączony na urządzeniu klienta podczas zdarzenia polegającego na pierwszym uruchomieniu aplikacji. |
| Identyfikator instalacji | zawiera się w | Określ co najmniej 1 identyfikator instalacji (maksymalnie 50), na który chcesz kierować reklamy. | Ta reguła przyjmuje wartość true w przypadku danej instalacji, jeśli jej identyfikator znajduje się na liście wartości rozdzielonych przecinkami.
Aby dowiedzieć się, jak uzyskać identyfikatory instalacji, przeczytaj artykuł Pobieranie identyfikatorów klientów. |
| Użytkownik istnieje | (brak operatora) | Kierowanie na 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 |
W przypadku wartości tekstowych:
zawiera, nie zawiera, dokładnie pasuje, zawiera wyrażenie regularne W przypadku wartości liczbowych: =, ≠, >, ≥, <, ≤ W przypadku wartości wersji: =, ≠, >, ≥, <, ≤ |
W przypadku tej reguły w porównaniach ciągów znaków rozróżniana jest wielkość liter. Jeśli używasz operatora „dokładnie pasuje”, „zawiera”, „nie zawiera” lub „zawiera wyrażenie regularne”, możesz wybrać wiele wartości. Gdy używasz operatora wyrażenia regularnego „zawiera”, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może pasować do całości lub części docelowego ciągu znaków wersji. Możesz też użyć kotwic ^ i $, aby dopasować początek, koniec lub całość ciągu docelowego. W przypadku środowisk klienta obsługiwane są te typy danych:
Liczba reprezentująca numery wersji, które mają być zgodne (np. 2.1.0). |
Więcej informacji o warunkach sygnałów niestandardowych i wyrażeniach warunkowych znajdziesz w sekcjach 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 będą używane do określania zwycięskiego wariantu. Warto też śledzić inne dane, aby lepiej poznać skuteczność poszczególnych wersji eksperymentu i obserwować ważne trendy, które mogą się różnić w zależności od wersji, np. utrzymanie użytkowników, stabilność aplikacji i przychody z zakupów w aplikacji. W eksperymencie możesz śledzić maksymalnie 5 rodzajów danych niezwiązanych z realizacją celu.
Załóżmy na przykład, że używasz Remote Config, aby uruchomić w aplikacji 2 różne ścieżki gry, i chcesz optymalizować ją 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żdej wersji. W takim przypadku możesz wybrać jako dane celu Szacunkowe łączne przychody, ponieważ obejmują one przychody z zakupów w aplikacji i 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ść w przypadku 2 ścieżek rozgrywki, dodaj Użytkowników, u których nie wystąpiła awaria.
- Aby wyświetlić bardziej szczegółowe widoki każdego typu 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 w aplikacji nie wystąpiły błędy wykryte przez pakiet SDK Firebase Crashlytics podczas eksperymentu.
Uwaga: Firebase Crashlytics nie jest obsługiwany w przypadku aplikacji internetowych. |
| Szacunkowe przychody z reklam | Szacunkowe zarobki z reklam. |
| Szacunkowe łączne przychody | Łączna wartość zakupu 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 wracają do Twojej aplikacji w ciągu 4–7 dni. |
| Utrzymanie (8–14 dni) | Liczba użytkowników, którzy wracają do 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 | Analytics Zdarzenie wywoływane, gdy użytkownik po raz pierwszy otwiera aplikację po jej zainstalowaniu lub ponownym zainstalowaniu. Używane w ramach ścieżki konwersji. |
Inne wskaźniki
| Wskaźnik | Opis |
|---|---|
| notification_dismiss | Analytics Zdarzenie wywoływane, gdy powiadomienie wysłane przez kompozytor powiadomień zostanie odrzucone (tylko na Androidzie). |
| notification_receive | Analytics Zdarzenie wywoływane, gdy powiadomienie wysłane przez kompozytor powiadomień nadejdzie w czasie, kiedy aplikacja działa w tle (tylko na Androidzie). |
| os_update | Analytics Zdarzenie, 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 | Analytics Zdarzenie, które śledzi ekrany wyświetlane w aplikacji. Więcej informacji znajdziesz w artykule Śledzenie wyświetleń ekranu. |
| session_start | Analytics Zdarzenie, które zlicza sesje użytkowników w aplikacji. Więcej informacji znajdziesz w artykule Zdarzenia zbierane automatycznie. |
Eksportowanie danych z BigQuery
Oprócz wyświetlania A/B Testingdanych eksperymentu w konsoliFirebase możesz sprawdzać i analizować dane eksperymentu w BigQuery. Usługa A/B Testing nie ma osobnej BigQuerytabeli, ale informacje o eksperymentach i wersjach są przechowywane w każdym Google Analyticszdarzeniu w Analyticstabelach zdarzeń.
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.
Za pomocą tych właściwości użytkownika eksperymentu możesz wyodrębniać dane eksperymentu. Dzięki temu możesz analizować wyniki eksperymentu na wiele różnych sposobów i niezależnie weryfikować wyniki A/B Testing.
Aby rozpocząć, wykonaj te czynności zgodnie z opisem w tym przewodniku:
- Włącz eksportowanie BigQuery na potrzeby Google Analytics w konsoli Firebase
- Dostęp do danych A/B Testing za pomocą BigQuery
- Przykładowe zapytania
Włącz eksportowanie BigQuery dla Google Analytics w konsoli Firebase
Jeśli korzystasz z abonamentu Spark, możesz używać BigQuerypiaskownicy, aby uzyskać dostęp do BigQuerybezpłatnie, z zastrzeżeniem limitów piaskownicy. Więcej informacji znajdziesz w sekcji Ceny i BigQuery sandbox.
Najpierw upewnij się, że eksportujesz Analytics dane doBigQuery:
W konsoli Firebase otwórz
Ustawienia > kartę Integracje.Na karcie BigQuery kliknij Zarządzaj i sprawdź, czy projekt eksportuje dane Analytics do BigQuery.
Jeśli na karcie widnieje napis Połącz, musisz skonfigurować eksport (przejdź do następnego kroku).
Jeśli musisz skonfigurować eksport:
Zapoznaj się z informacjami w sekcji Informacje o łączeniu 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 udostępnienie tabel może potrwać do 1 dnia. 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. - Google Analytics identyfikator usługi: to 9-cyfrowyGoogle Analytics identyfikator usługi. Znajdziesz go w Google Analytics. Pojawia się też w BigQuery po rozwinięciu nazwy projektu, aby wyświetlić nazwę tabeli zdarzeń Google Analytics (
project_name.analytics_000000000.events). - Data eksperymentu: aby utworzyć szybsze i wydajniejsze zapytanie, warto ograniczyć zapytania do Google Analytics partycji tabeli zdarzeń dziennych, które zawierają dane eksperymentu. Są to tabele oznaczone sufiksem
YYYYMMDD. Jeśli więc eksperyment był prowadzony od 2 lutego 2024 r. do 2 maja 2024 r., musisz podać_TABLE_SUFFIX between '20240202' AND '20240502'. Przykład znajdziesz w artykule Wybieranie wartości konkretnego eksperymentu. - Nazwy zdarzeń: zwykle odpowiadają one 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 znajdziesz w artykule Przykładowe zapytania.
- Kliknij Wykonaj.
Tworzenie zapytań o dane eksperymentu za pomocą automatycznie generowanego zapytania 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 eksperymencie, który wyświetlasz.
Aby uzyskać i uruchomić automatycznie wygenerowane zapytanie:
- W konsoli Firebase otwórz DevOps i zaangażowanie > Testy A/B.
- Wybierz A/B Testing eksperyment, o który chcesz wysłać zapytanie, aby otworzyć Przegląd eksperymentu.
- W menu Opcje w sekcji Integracja z BigQuery wybierz Dane eksperymentu zapytania. Spowoduje to otwarcie projektu w BigQueryw Google Cloudkonsoli i udostępnienie podstawowego zapytania, którego możesz użyć do wysyłania zapytań o dane eksperymentu.
Poniższy przykład pokazuje wygenerowane zapytanie dotyczące eksperymentu z 3 wariantami (w tym z elementem bazowym) o nazwie „Eksperyment powitalny na zimę”. Zwraca nazwę aktywnego eksperymentu, nazwę wariantu, unikalne zdarzenie i liczbę zdarzeń dla każdego zdarzenia. Pamiętaj, że w nazwie tabeli narzędzie do tworzenia zapytań nie podaje nazwy projektu, 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 '20240202' AND '20240502')
AND userProperty.key = 'firebase_exp_25'
GROUP BY
experimentVariant, eventName
Więcej przykładów zapytań znajdziesz w artykule Przykładowe zapytania.
Przykładowe zapytania
W sekcjach poniżej znajdziesz przykłady zapytań, których możesz używać do wyodrębniania danych eksperymentu z A/B Testingtabel zdarzeńGoogle Analytics.
Wyodrębnianie wartości odchylenia standardowego zakupu i eksperymentu ze wszystkich eksperymentów
Dane z wynikami eksperymentu możesz wykorzystać do niezależnego weryfikowaniaFirebase A/B Testing wyników. Poniższa BigQueryinstrukcja SQL wyodrębnia warianty eksperymentu, liczbę unikalnych użytkowników w każdym wariancie i sumuje łączne przychody ze zdarzeń in_app_purchase i ecommerce_purchase oraz odchylenia standardowe wszystkich eksperymentów w zakresie czasu określonym jako daty rozpoczęcia i zakończenia _TABLE_SUFFIX. Dane uzyskane z tego zapytania możesz wykorzystać w generatorze istotności statystycznej dla testów t-Studenta jednostronnych, aby sprawdzić, czy wyniki podawane przez Firebase są zgodne z Twoją analizą.
Więcej informacji o sposobie obliczania wnioskowania przez A/B Testing znajdziesz w artykule Interpretowanie wyników testów.
/*
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ższy przykład zapytania pokazuje, jak uzyskać dane dotyczące konkretnego eksperymentu w BigQuery. To przykładowe zapytanie zwraca nazwę eksperymentu, nazwy wariantów (w tym wariant podstawowy), 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