Tworzenie eksperymentów Zdalnej konfiguracji Firebase z Testami A/B

Podczas wdrażania ustawień dla aplikacji mającej aktywnych użytkowników za pomocą narzędzia Firebase Remote Config musisz mieć pewność, że wszystko działa poprawnie. Za pomocą eksperymentów typu A/B Testing możesz określić:

  • Najlepszy sposób na wdrożenie funkcji, która zwiększy wygodę użytkowników. Zbyt często deweloperzy aplikacji dowiadują się, że ich użytkownicy nie lubią nowej funkcji lub zaktualizowanego interfejsu, dopiero gdy ocena aplikacji w sklepie z aplikacjami spadnie. Testy A/B mogą pomóc Ci sprawdzić, czy użytkownicy lubią nowe wersje funkcji, czy wolą aplikację w jej obecnej formie. Poza tym pozostawienie 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 ani wyglądzie do zakończenia eksperymentu.
  • Najlepszy sposób na zoptymalizowanie wrażeń użytkowników pod kątem celu biznesowego. Czasami wprowadzasz zmiany w usłudze, aby zmaksymalizować dane, np. przychody lub utrzymanie użytkowników. Za pomocą testów A/B określasz cel biznesowy, a Firebase przeprowadza analizę statystyczną, aby określić, czy wariant jest skuteczniejszy od punktu odniesienia dla wybranego celu.

Aby przeprowadzić test A/B wariantów funkcji z wartością odniesienia:

  1. Utwórz eksperyment.
  2. Zweryfikuj eksperyment na urządzeniu testowym.
  3. Zarządzaj eksperymentem.

Utwórz eksperyment

Eksperyment Remote Config umożliwia ocenę wielu wariantów pod kątem co najmniej 1 parametru Remote Config.

  1. Zaloguj się w konsoli Firebase i 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łączono usługi Google Analytics, możesz ją włączyć na karcie Integracje, do której można uzyskać dostęp, klikając > Ustawienia projektu w Firebasekonsoli.

  2. W sekcji Zaangażuj w menu nawigacyjnym konsoli Firebase kliknij A/B Testing.

  3. Kliknij Utwórz eksperyment, a gdy pojawi się monit o usługę, z którą chcesz przeprowadzić eksperyment, wybierz Remote Config.

  4. Wpisz nazwę i opcjonalnie opis eksperymentu, a potem kliknij Dalej.

  5. Wypełnij pola Kierowanie, najpierw wybierając aplikację, która korzysta z eksperymentu. Możesz też skierować eksperyment na podzbiór użytkowników, klikając oraz, a następnie wybierając opcje z poniższej listy:

    • Wersja: co najmniej 1 wersja aplikacji.
    • Numer kompilacji: kod wersji aplikacji.
    • Języki: co najmniej jeden język i region używany do wyboru użytkowników, którzy mogą być objęci eksperymentem.
    • Kraj/region: co najmniej jeden kraj lub region do wyboru użytkowników, którzy mają wziąć udział w eksperymencie.
    • Lista odbiorców: Analytics listy odbiorców używane do kierowania na użytkowników, którzy mogą brać udział w eksperymencie
    • Właściwość użytkownika: co najmniej 1 właściwość użytkownika w usłudze Analytics do wybierania użytkowników, którzy mogą zostać objęci eksperymentem.
    • Pierwsze uruchomienie: kieruj reklamy na użytkowników, którzy po raz pierwszy uruchomili Twoją aplikację.

      Kierowanie na użytkowników według czasu pierwszego otwarcia jest dostępne po wybraniu aplikacji na Androida lub iOS. Jest ono obsługiwane przez następujące wersje pakietu SDK Remote Config: Apple platform SDK w wersji 9.0.0 lub nowszej oraz Android SDK w wersji 21.1.1 lub nowszej (Firebase BoM w wersji 30.3.0 lub nowszej).

      Analytics musi też być włączona na kliencie podczas pierwszego zdarzenia open.

  6. Ustaw Odsetek użytkowników docelowych: wpisz odsetek użytkowników aplikacji spełniających kryteria określone w sekcji Kieruj reklamy na użytkowników, który chcesz równomiernie podzielić między wariant podstawowy a co najmniej 1 wariant w eksperymencie. Może to być dowolna wartość procentowa między 0,01% a 100%. Użytkownicy są losowo przypisywani do poszczególnych eksperymentów, w tym do eksperymentów powielonych.

  7. Opcjonalnie możesz ustawić zdarzenie aktywacji, aby w eksperymencie były liczone tylko dane o użytkownikach, którzy jako pierwsi wywołali zdarzenie Analytics. Pamiętaj, że wszyscy użytkownicy, którzy spełniają Twoje parametry kierowania, otrzymają wartości eksperymentalne Remote Config, ale w wynikach eksperymentu zostaną uwzględnieni tylko ci, którzy wywołają zdarzenie aktywujące.

    Aby eksperyment był prawidłowy, sprawdź, czy wybrane zdarzenie następuje po aktywowaniu pobranych wartości konfiguracyjnych w aplikacji. Nie można też używać tych zdarzeń, ponieważ występują one zawsze przed aktywacją pobieranych wartości:

    • app_install
    • app_remove
    • app_update
    • dynamic_link_first_open
  8. W sekcji Cele eksperymentu wybierz podstawowe dane, które chcesz śledzić, i dodaj z listy dodatkowe dane, które chcesz śledzić. Są to cele wbudowane (zakupy, przychody, utrzymanie, użytkownicy, u których nie wystąpił błąd itp.), zdarzenia konwersji (Analytics) i inne zdarzenia Analytics. Gdy skończysz, kliknij Dalej.

  9. W sekcji Warianty wybierz element bazowy i co najmniej 1 wariant eksperymentu. Aby dodać parametry, z którymi chcesz eksperymentować, użyj opcji Wybierz lub utwórz nową listę. Możesz utworzyć parametr, który nie był wcześniej używany w konsoli Firebase, ale musi istnieć w Twojej aplikacji, aby mógł działać. Możesz powtórzyć ten krok, by dodać do eksperymentu wiele parametrów.

  10. (Opcjonalnie) Aby dodać więcej niż 1 wariant do eksperymentu, kliknij Dodaj kolejny wariant.

  11. Zmień co najmniej 1 parametr w określonych wersjach. Wszystkie niezmienione parametry są takie same w przypadku użytkowników nieuwzględnionych w eksperymencie.

  12. Rozwiń 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 wydłużyć czas gromadzenia danych, a nie można ich zmienić po rozpoczęciu eksperymentu.

  13. Aby zapisać eksperyment, kliknij Sprawdź.

Możesz utworzyć maksymalnie 300 eksperymentów na projekt, z których maksymalnie 24 może być aktywnych, a pozostałe mogą być w wersji roboczej lub ukończone.

Weryfikowanie eksperymentu na urządzeniu testowym

W przypadku każdej instalacji Firebase możesz pobrać powiązany z nią token uwierzytelniania instalacji. Za pomocą tego tokena możesz testować określone warianty eksperymentu na urządzeniu testowym z zainstalowaną aplikacją. Aby zweryfikować eksperyment na urządzeniu testowym:

  1. Pobierz token uwierzytelniania instalacji w ten sposób:

    Swift

    do {
      let result = try await Installations.installations()
        .authTokenForcingRefresh(true)
      print("Installation auth token: \(result.authToken)")
    } catch {
      print("Error fetching token: \(error)")
    }

    Objective-C

    [[FIRInstallations installations] authTokenForcingRefresh:true
                                                   completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
      if (error != nil) {
        NSLog(@"Error fetching Installation token %@", error);
        return;
      }
      NSLog(@"Installation auth token: %@", [result authToken]);
    }];

    Java

    FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
            .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
        @Override
        public void onComplete(@NonNull Task<InstallationTokenResult> task) {
            if (task.isSuccessful() && task.getResult() != null) {
                Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
            } else {
                Log.e("Installations", "Unable to get Installation auth token");
            }
        }
    });

    Kotlin+KTX

    val forceRefresh = true
    FirebaseInstallations.getInstance().getToken(forceRefresh)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("Installations", "Installation auth token: " + task.result?.token)
            } else {
                Log.e("Installations", "Unable to get Installation auth token")
            }
        }

    C++

    firebase::InitResult init_result;
    auto* installations_object = firebase::installations::Installations::GetInstance(
        firebase::App::GetInstance(), &init_result);
    installations_object->GetToken().OnCompletion(
        [](const firebase::Future<std::string>& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::installations::kErrorNone) {
            printf("Installations Auth Token %s\n", future.result()->c_str());
          }
        });

    Unity

    Firebase.Installations.FirebaseInstallations.DefaultInstance.GetTokenAsync(forceRefresh: true).ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Installations token {0}", task.Result));
        }
      });
  2. Na pasku nawigacyjnym konsoli Firebase kliknij Testy A/B.
  3. Kliknij Wersja robocza (lub Uruchomiono w przypadku eksperymentów Zdalnej konfiguracji), najedź kursorem na eksperyment, kliknij menu kontekstowe () i wybierz Zarządzaj urządzeniami testowymi.
  4. Wpisz token autoryzacji instalacji dla urządzenia testowego i wybierz wariant eksperymentu, który chcesz wysłać na to urządzenie.
  5. Uruchom aplikację i sprawdź, czy wybrany wariant jest odbierany na urządzeniu testowym.

Więcej informacji o instalacjach Firebase znajdziesz w artykule Zarządzanie instalacjami Firebase.

Zarządzanie eksperymentem

Niezależnie od tego, czy utworzysz eksperyment z wykorzystaniem narzędzia Remote Config, narzędzia do tworzenia powiadomień czy narzędzia Firebase In-App Messaging, możesz następnie zweryfikować i rozpocząć eksperyment, monitorować go w trakcie jego trwania oraz zwiększyć liczbę użytkowników, którzy będą w nim uczestniczyć.

Po zakończeniu eksperymentu możesz zapisać ustawienia używane przez najlepszy wariant, a potem wdrożyć je dla wszystkich użytkowników. Możesz też przeprowadzić inny eksperyment.

Rozpocznij eksperyment

  1. W sekcji Zaangażuj w menu nawigacyjnym konsoli Firebase kliknij A/B Testing.
  2. Kliknij kolejno Wersja robocza i tytuł eksperymentu.
  3. Aby upewnić się, że aplikacja ma użytkowników, którzy mogą zostać objęci eksperymentem, rozwiń szczegóły wersji roboczej i w sekcji Kierowanie i dystrybucja sprawdź wartość większą niż 0% (np. 1% użytkowników spełniających kryteria).
  4. Aby zmienić eksperyment, kliknij Edytuj.
  5. Aby rozpocząć eksperyment, kliknij Rozpocznij eksperyment. Możesz prowadzić maksymalnie 24 eksperymenty na projekt naraz.

Monitorowanie eksperymentu

Po pewnym czasie działania eksperymentu możesz sprawdzić jego postępy i zobaczyć, jakie są wyniki w przypadku użytkowników, którzy do tej pory brali udział w eksperymencie.

  1. W sekcji Zaangażowanie w menu nawigacyjnym konsoli Firebase kliknij A/B Testing.
  2. Kliknij W trakcie, a potem kliknij lub wyszukaj tytuł eksperymentu. Na tej stronie znajdziesz różne zaobserwowane i modelowane statystyki trwającego eksperymentu, w tym:

    • % różnicy wobec punktu odniesienia: miara poprawy danej wartości w przypadku danego wariantu w porównaniu z wartością podstawową. Oblicza się go przez porównanie zakresu wartości wariantu z zakresem wartości odniesienia.
    • Prawdopodobieństwo przekroczenia wartości podstawowej: szacowane 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 będzie się znajdować wartość danych w ciągu czasu.
    • Łącznie observed_metric: zaobserwowana skumulowana wartość dla punktu odniesienia lub wariantu. Ta wartość służy do pomiaru skuteczności każdego wariantu eksperymentu i jest wykorzystywana do obliczania wartości Poprawa, Zakres wartości, Prawdopodobieństwo przekroczenia wartości podstawowej i Prawdopodobieństwo, że będzie to najlepszy wariant. Zależnie od mierzonych danych kolumna może mieć etykietę „Czas trwania na użytkownika”, „Przychody na użytkownika”, „Współczynnik utrzymania” lub „Współczynnik konwersji”.
  3. Po pewnym czasie działania eksperymentu (co najmniej 7 dni w przypadku FCM i In-App Messaging lub 14 dni w przypadku Remote Config) dane na tej stronie wskazują, który wariant jest najlepszy (o ile w ogóle występuje). Niektórym pomiarom towarzyszy wykres słupkowy, który przedstawia dane w formacie wizualnym.

Wdrażanie eksperymentu dla wszystkich użytkowników

Gdy eksperyment będzie trwał wystarczająco długo, aby zidentyfikować „lidera” lub najlepszy wariant na podstawie danych związanych z realizacją celu, możesz wdrożyć eksperyment dla wszystkich użytkowników. Dzięki temu możesz wybrać wariant, który będzie od tej pory publikowany wszystkim użytkownikom. Nawet jeśli eksperyment nie wyłoni jednoznacznej zwycięzcy, możesz udostępnić wariant wszystkim użytkownikom.

  1. W sekcji Zaangażuj w menu nawigacyjnym konsoli Firebase kliknij A/B Testing.
  2. Kliknij Ukończono lub Trwa, wybierz eksperyment, który chcesz udostępnić wszystkim użytkownikom, kliknij menu kontekstowe () Wdróż wariant.
  3. Udostępnij eksperyment wszystkim użytkownikom, wykonując jedną z tych czynności:

    • W przypadku eksperymentu wykorzystującego kompozytora powiadomień użyj okna Wdróż wiadomość, aby wysłać wiadomość do pozostałych docelowych użytkowników, którzy nie brali udziału w eksperymencie.
    • W przypadku eksperymentu Remote Config wybierz wariant, aby określić, które wartości parametru Remote Config chcesz zmienić. Kryteria kierowania zdefiniowane podczas tworzenia eksperymentu są dodawane jako nowy warunek w szablonie, aby wdrożenie obejmowało tylko użytkowników docelowych eksperymentu. Kliknij Sprawdź w Zdalnej konfiguracji i sprawdź zmiany, a potem kliknij Opublikuj zmiany, aby zakończyć wdrażanie.
    • W przypadku eksperymentu In-App Messaging użyj okna dialogowego, aby określić, która wersja ma zostać wdrożona jako samodzielna kampania In-App Messaging. Po wybraniu opcji nastąpi przekierowanie do ekranu tworzenia FIAM, na którym można wprowadzić zmiany (jeśli są wymagane) przed opublikowaniem.

Rozwijanie eksperymentu

Jeśli okaże się, że eksperyment nie przyciąga wystarczającej liczby użytkowników, aby A/B Testingmogło wyłonić zwycięzcę, możesz zwiększyć dystrybucję eksperymentu, aby dotrzeć do większego odsetka użytkowników aplikacji.

  1. W sekcji Zaangażowanie w menu nawigacyjnym konsoli Firebase kliknij A/B Testing.
  2. Wybierz aktywny eksperyment, który chcesz edytować.
  3. Na stronie Podsumowanie eksperymentu kliknij menu kontekstowe (), a potem Edytuj bieżący eksperyment.
  4. W oknie Kierowanie widoczna jest opcja zwiększenia odsetka użytkowników biorących udział w eksperymencie. Wybierz liczbę większą od bieżącego odsetka i kliknij Opublikuj. Eksperyment zostanie wdrożony wśród wskazanego przez Ciebie odsetka użytkowników.

Duplikowanie lub przerywanie eksperymentu

  1. W sekcji Zaangażuj w menu nawigacyjnym konsoli Firebase kliknij A/B Testing.
  2. Kliknij Ukończony lub Uruchomiony, najedź kursorem na eksperyment, kliknij menu kontekstowe (), a następnie Duplikuj eksperyment lub Zatrzymaj eksperyment.

Kierowanie na użytkowników

Możesz kierować reklamy na użytkowników, którzy mają wziąć udział w eksperymencie, korzystając z podanych niżej kryteriów kierowania na użytkowników.

Kryterium kierowania Operatory Wartości Uwaga
Wersja zawiera,
nie zawiera,
pasuje dokładnie,
zawiera wyrażenie regularne
Wpisz wartość dla co najmniej 1 wersji aplikacji, którą chcesz uwzględnić w eksperymencie.

Gdy używasz operatorów zawiera, nie zawiera lub pasuje dokładnie, możesz podać listę wartości rozdzielanych przecinkami.

Korzystając z operatora contains regex, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może zostać dopasowane do całego ciągu znaków wersji docelowej lub do jego części. Możesz też użyć kotwic ^ i $, by dopasować początek, koniec lub całość docelowego ciągu znaków.

Odbiorcy zawiera wszystkie,
zawiera co najmniej jeden z,
nie zawiera wszystkich,
nie zawiera co najmniej jednego z
Wybierz co najmniej jedną grupę odbiorców Analytics, by kierować reklamy na użytkowników, którzy mogą zostać objęci Twoim eksperymentem. Niektóre eksperymenty kierowane na odbiorców Google Analytics mogą potrzebować kilku dni na zebranie danych, ponieważ podlegają Analytics opóźnieniu w przetwarzaniu danych. Najprawdopodobniej opóźnienie to wystąpi w przypadku nowych użytkowników, którzy są zwykle dołączani do odpowiednich list odbiorców w ciągu 24–48 godzin od ich utworzenia, lub w przypadku niedawno utworzonych list odbiorców.

W przypadku funkcji Remote Config oznacza to, że nawet jeśli użytkownik technicznie kwalifikuje się do listy odbiorców, a Analytics nie dodał go jeszcze do tej listy po wykonaniu metody „fetchAndActivate()”, nie zostanie on uwzględniony w eksperymencie.

Właściwość użytkownika W przypadku tekstu:
contains,
does not contain,
exactly matches,
contains regex

W przypadku liczb:
<, ≤, =, ≥, >
Właściwość użytkownika Analytics służy do wybierania użytkowników, którzy mogą być uwzględnieni w eksperymencie. Dostępne są różne opcje wyboru wartości tej właściwości.

Na kliencie możesz ustawiać tylko wartości ciągu znaków w przypadku właściwości użytkownika. W przypadku warunków z operatorami liczbowymi usługa Remote Config konwertuje wartość odpowiedniej właściwości użytkownika na liczbę całkowitą/zmiennoprzecinkową.
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. Możesz też użyć zakotwiczenia ^ i $, aby dopasować początek, koniec lub cały ciąg docelowy.
Kraj/region Nie dotyczy Jeden lub więcej krajów lub regionów, które służą do wybierania użytkowników, którzy mogą zostać objęci eksperymentem.  
Języki Nie dotyczy Co najmniej jeden język i regiony użyte do wybrania użytkowników, którzy mogą zostać objęci eksperymentem.  
Pierwsze uruchomienie Przed
Po

Kieruj reklamy na użytkowników z uwzględnieniem tego, kiedy po raz pierwszy otwierają Twoją aplikację:

  • Kliknij Nowi użytkownicy, aby kierować reklamy na użytkowników, którzy po raz pierwszy otworzyli Twoją aplikację po określonej dacie i godzinie w przyszłości.
  • Wybierz Zakres czasu, aby kierować reklamy na użytkowników, którzy po raz pierwszy otworzyli Twoją aplikację w określonym zakresie przed podaną datą i godziną lub po niej. Połącz warunki Przed i Po, aby ustawić kierowanie na użytkowników w wybranym przedziale czasu.

Kierowanie na użytkowników według pierwszego otwarcia jest dostępne po wybraniu aplikacji na Androida lub iOS. Jest ono obecnie obsługiwane w tych wersjach pakietu SDK Remote Config: pakiet SDK na platformy Apple w wersji 9.0.0 lub nowszej oraz pakiet SDK na Androida w wersji 21.1.1 lub nowszej (Firebase BoM w wersji 30.3.0 lub nowszej).

Usługa Analytics musi też być włączona na kliencie podczas zdarzenia pierwszego otwarcia.

A/B Testing wskaźnika

Podczas tworzenia eksperymentu wybierasz podstawowy wskaźnik, czyli cel, który służy do określenia zwycięskiego wariantu. Warto też śledzić inne dane, aby lepiej zrozumieć skuteczność poszczególnych wariantów eksperymentu, a także ważne trendy, które mogą się różnić w przypadku poszczególnych wariantów, np. utrzymanie użytkowników, stabilność aplikacji i przychody z zakupów w aplikacji. W eksperymencie możesz śledzić maksymalnie 5 danych innych niż cele.

Załóżmy na przykład, że używasz Remote Config do uruchamiania w aplikacji 2 różnych ścieżek gry i chcesz zoptymalizować zakupy w aplikacji oraz przychody z reklam, ale jednocześnie chcesz też śledzić stabilność i utrzymanie użytkowników w przypadku każdego wariantu. W takim przypadku możesz wybrać dane o celu Szacunkowe łączne przychody, ponieważ uwzględniają one przychody z zakupów w aplikacji i przychody z reklam, a w sekcji Inne dane do śledzenia możesz dodać taką wartość:

  • Aby śledzić dzienne i tygodniowe utrzymanie użytkowników, dodaj Utrzymanie (2–3 dni) oraz Utrzymanie (4–7 dni).
  • Aby porównać stabilność 2 wersji gry, dodaj użytkowników, u których nie wystąpiła awaria.
  • Aby uzyskać bardziej szczegółowe widoki poszczególnych typów przychodów, dodaj kolumny Przychody z zakupówSzacowane przychody z reklam.

W tabeli poniżej znajdziesz szczegółowe informacje o sposobie obliczania danych dotyczących celów i innych danych.

Dane celów

Dane Opis
Użytkownicy, u których nie wystąpił błąd Odsetek użytkowników, którzy nie napotkali w Twojej aplikacji błędów wykrytych przez pakiet SDK Firebase Crashlytics podczas eksperymentu.
Szacunkowe przychody z reklam Szacunkowe zarobki z reklam
Szacunkowe łączne przychody Łączna wartość z zakupów i szacunkowe przychody z reklam.
Przychody z zakupów Połączona 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 wrócili do 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 Twojej aplikacji w ciągu 8–14 dni.
Utrzymanie użytkowników (15 dni lub więcej) Liczba użytkowników, którzy wrócili do Twojej aplikacji co najmniej 15 dni od ostatniego użycia.
first_open Zdarzenie Analytics, które uruchamia się, gdy użytkownik po raz pierwszy otworzy aplikację po jej zainstalowaniu lub ponownym zainstalowaniu. Używany jako część ścieżki konwersji.

Inne dane

Dane Opis
notification_dismiss Zdarzenie Analytics, które jest wywoływane po zamknięciu powiadomienia wysłanego przez kompozytora powiadomień (tylko na Androidzie).
notification_receive Zdarzenie Analytics, które jest wywoływane, gdy powiadomienie wysłane przez kompozytora powiadomień nadejdzie w czasie, gdy aplikacja działa w tle (tylko na Androidzie).
os_update Zdarzenie Analytics, które śledzi, kiedy system operacyjny urządzenia jest aktualizowany do nowej wersji. Więcej informacji znajdziesz w sekcji Zdarzenia zbierane automatycznie.
screen_view Zdarzenie Analytics, które śledzi ekrany wyświetlane 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 sekcji Zdarzenia zbierane automatycznie.

Eksportowanie danych z BigQuery

Oprócz wyświetlania danych eksperymentu A/B Testing w konsoli Firebase możesz je też sprawdzać i analizować w BigQuery. Chociaż tabela A/B Testing nie ma osobnej tabeli BigQuery, przynależność do eksperymentu i wariantu jest przechowywana 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 wariantu eksperymentu (wartość zero).

Możesz użyć tych właściwości użytkownika w eksperymencie, aby wyodrębnić dane eksperymentu. Dzięki temu możesz dzielić wyniki eksperymentu na wiele różnych sposobów i niezależnie sprawdzać wyniki funkcji A/B Testing.

Aby rozpocząć, wykonaj te czynności zgodnie z opisem w tym przewodniku:

  1. Włącz w konsoli Firebase eksport BigQuery dla Google Analytics
  2. Dostęp do danych A/B Testing za pomocą BigQuery
  3. Przykładowe zapytania

Włącz w konsoli Firebase eksport danych BigQuery dla Google Analytics

Jeśli korzystasz z abonamentu Spark, możesz używać piaskownicy BigQuery do uzyskiwania dostępu do BigQuery bezpłatnie, z zastosowaniem limitów piaskownicy. Więcej informacji znajdziesz w cenniku i piaskownicy BigQuery.

Najpierw sprawdź, czy dane Analytics są eksportowane do BigQuery:

  1. Otwórz kartę Integracje, do której możesz przejść, klikając > Ustawienia projektu w konsoli Firebase.
  2. Jeśli używasz już BigQuery w innych usługach Firebase, kliknij Zarządzaj. W przeciwnym razie kliknij Połącz.
  3. Przeczytaj artykuł Łączenie Firebase z usługą BigQuery i kliknij Dalej.
  4. W sekcji Skonfiguruj integrację włącz przełącznik Google Analytics.
  5. Wybierz region i ustawienia eksportu.

  6. Kliknij Połącz z: BigQuery.

W zależności od wybranego sposobu eksportowania danych udostępnienie tabel może potrwać nawet 1 dzień. Więcej informacji o eksportowaniu danych projektu do BigQuery znajdziesz w artykule Eksportowanie danych projektu do usługi BigQuery.

Dostęp do danych A/B Testing w usłudze BigQuery

Zanim wykonasz zapytanie o dane dotyczące konkretnego eksperymentu, musisz uzyskać część lub wszystkie te informacje, aby użyć ich w zapytaniu:

  • Identyfikator eksperymentu: możesz go znaleźć w adresie URL strony Przegląd eksperymentu. Jeśli np. 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: 9-cyfrowy identyfikator usługi Google Analytics. Znajdziesz go w sekcji Google Analytics. Pojawia się też w sekcji BigQuery, gdy rozwiniesz nazwę projektu, aby wyświetlić nazwę tabeli zdarzeń Google Analytics (project_name.analytics_000000000.events).
  • Data eksperymentu: aby przyspieszyć i usprawnić zapytanie, warto ograniczyć zapytania do Google Analytics partycji tabel dziennych zdarzeń, które zawierają dane eksperymentu – są to tabele oznaczone za pomocą sufiksu YYYYMMDD. Jeśli więc Twój eksperyment trwał od 2 lutego do 2 maja 2024 r., musisz określić _TABLE_SUFFIX between '20240202' AND '20240502'. Przykład znajdziesz w sekcji Wybieranie wartości określonego eksperymentu.
  • Nazwy zdarzeń: zwykle odpowiadają one danym celu skonfigurowanym w eksperymencie. np. zdarzenia in_app_purchase, ad_impression lub user_retention.

Po zgromadzeniu informacji potrzebnych do wygenerowania zapytania:

  1. W konsoli Google Cloud otwórz BigQuery.
  2. Wybierz projekt, a następnie kliknij Utwórz zapytanie SQL.
  3. Dodaj zapytanie. Przykładowe zapytania, które należy wykonać, znajdziesz w sekcji Przeglądanie przykładowych zapytań.
  4. Kliknij Wykonaj.
.

Zapytanie o dane 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, jego warianty, nazwy zdarzeń i liczbę zdarzeń w eksperymencie, który wyświetlasz.

Aby uzyskać i uruchomić automatycznie wygenerowane zapytanie:

  1. W konsoli Firebase otwórz A/B Testing i wybierz eksperyment A/B Testing, którego ma dotyczyć zapytanie, aby otworzyć Przegląd eksperymentu.
  2. W menu Opcje w sekcji integracji BigQuery kliknij Wysyłanie zapytań do danych eksperymentu. Spowoduje to otwarcie projektu w BigQuery w konsoli Google Cloud i udostępnienie podstawowego zapytania, którego możesz używać do wysyłania zapytań o dane eksperymentu.

Przykład poniżej pokazuje wygenerowane zapytanie do eksperymentu z 3 wariantami (w tym z elementem bazowym) o nazwie „Zimowy eksperyment powitalny”. Zwraca nazwę aktywnego eksperymentu, nazwę wariantu, niepowtarzalne zdarzenie i liczbę zdarzeń w przypadku każdego zdarzenia. Pamiętaj, że kreator zapytań nie określa 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 '20240202' AND '20240502')
    AND userProperty.key = 'firebase_exp_25'
  GROUP BY
    experimentVariant, eventName

Więcej przykładów zapytań znajdziesz w artykule Przeglądanie przykładowych zapytań.

Przykładowe zapytania

W sekcjach poniżej znajdziesz przykłady zapytań, za pomocą których możesz wyodrębniać dane eksperymentu A/B Testing z tabel zdarzeń Google Analytics.

Wyodrębnianie wartości odchylenia standardowego zakupów i eksperymentów ze wszystkich eksperymentów

Dane z eksperymentu możesz wykorzystać do samodzielnego sprawdzania wyników Firebase A/B Testing. Ten instrukcja SQL BigQuery wyodrębnia warianty eksperymentu, liczbę unikalnych użytkowników w każdym z nich oraz sumuje łączne przychody z zdarzeń in_app_purchaseecommerce_purchase oraz odchylenia standardowe dla wszystkich eksperymentów w zakresie dat określonym jako początek i koniec _TABLE_SUFFIX. Danych uzyskanych z tego zapytania możesz użyć w generatorze istotności statystycznej dla jednostronnych testów T, aby sprawdzić, czy wyniki dostarczane przez Firebase pasują do Twojej analizy.

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;

Wybierz wartości z konkretnego eksperymentu

Przykładowe zapytanie poniżej pokazuje, jak uzyskać dane z konkretnego eksperymentu w BigQuery. To przykładowe zapytanie zwraca nazwę eksperymentu, nazwy wariantów (w tym punkt odniesienia), 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