Parametry i warunki Zdalnej konfiguracji


Szablony możesz konfigurować zarówno w przypadku klienta, jak i serwera. Szablony klienta są dostarczane do wszystkich instancji aplikacji, które implementują pakiety SDK klienta Firebase dla Remote Config, w tym do aplikacji na Androida, Apple, w przeglądarce, w Unity, Flutter i C++. Parametry i wartości Remote Config z szablonów związanych z serwerem są dostarczane do implementacji Remote Config (w tym Cloud Run i Cloud Functions), które korzystają z pakietu Firebase Admin Node.js SDK w wersji 12.1.0 lub nowszej.

Korzystając z konsoli Firebase lub Remote Configinterfejsów API backendu, definiujesz co najmniej 1 parametr (parę klucz-wartość) i podajesz dla niego domyślne wartości w aplikacji. Wartości domyślne w aplikacji możesz zastąpić, definiując wartości parametrów. Klucze i wartości parametrów są ciągami, ale wartości parametrów można przekształcić w inne typy danych, gdy używasz ich w aplikacji.

Za pomocą konsoli Firebase, Admin SDK lub Remote Config interfejsu API REST możesz tworzyć nowe wartości domyślne parametrów, a także wartości warunkowe, które służą do kierowania na grupy instancji aplikacji. Za każdym razem, gdy aktualizujesz konfigurację w konsoli Firebase, Firebase tworzy i publikuje nową wersję szablonu Remote Config. Poprzednia wersja jest przechowywana, dzięki czemu w razie potrzeby możesz ją odzyskać lub przywrócić. Te operacje są dostępne w konsoli Firebase, Firebase Admin SDK i interfejsie REST API. Więcej informacji znajdziesz w artykule Zarządzanie wersjami szablonów Remote Config.

W tym przewodniku znajdziesz informacje o parametrach, warunkach, regułach, wartościach warunkowych oraz o tym, jak różne wartości parametrów są priorytetowo traktowane na serwerze Remote Config i w aplikacji. Znajdziesz tu też szczegółowe informacje o typach reguł używanych do tworzenia warunków.

Warunki, reguły i wartości warunkowe

Warunek służy do kierowania na grupę instancji aplikacji. Warunki składają się z co najmniej 1 reguły, która musi zwracać wartość true, aby warunek zwracał wartość true w przypadku danego wystąpienia aplikacji. Jeśli wartość reguły jest niezdefiniowana (np. gdy nie ma żadnej wartości), reguła zostanie oceniona jako false.

Możesz na przykład utworzyć parametr definiujący nazwę i ciąg znaków wersji dużego modelu językowego (LLM) oraz wyświetlać odpowiedzi z różnych modeli na podstawie reguł sygnałów niestandardowych. W tym przypadku możesz użyć stabilnej wersji modelu jako wartości domyślnej do obsługi większości żądań, a dzięki sygnałowi niestandardowemu możesz użyć modelu eksperymentalnego do obsługi żądań testowych klienta.

Parametr może mieć wiele wartości warunkowych, które korzystają z różnych warunków, a parametry mogą udostępniać warunki w ramach projektu. Na karcie Parametry w konsoli Firebase możesz sprawdzić odsetek pobierania dla wartości warunkowych każdego parametru. Te dane wskazują odsetek żądań z ostatnich 24 godzin, które otrzymały poszczególne wartości.

Priorytet wartości parametru

Z parametrem może być powiązanych kilka wartości warunkowych. Te reguły określają, która wartość jest pobierana z szablonu Remote Config, a która jest używana w danym wystąpieniu aplikacji w określonym momencie:

  1. Najpierw wartości warunkowe są stosowane do wszystkich warunków, które dla danego żądania klienta mają wartość true. Jeśli wiele warunków ma wartość true, pierwsza (górna) wartość wyświetlana w interfejsie konsoli Firebase ma pierwszeństwo, a wartości warunkowe powiązane z tym warunkiem są udostępniane, gdy aplikacja pobiera wartości z backendu. Priorytet warunków możesz zmienić, przeciągając je i upuszczając na karcie Warunki.

  2. Jeśli nie ma wartości warunkowych z warunkami, które dają wynik true, gdy aplikacja pobiera wartości z back-endu, jest podawana wartość domyślna Remote Config. Jeśli parametr nie istnieje na zapleczu lub jeśli jego wartość domyślna to Użyj wartości domyślnej w aplikacji, podczas pobierania wartości przez aplikację nie jest podawana żadna wartość tego parametru.

W aplikacji wartości parametrów są zwracane przez metody get zgodnie z tą listą priorytetów:

  1. Jeśli wartość została pobrana z back-endu, a następnie aktywowana, aplikacja używa pobranej wartości. Wartości aktywowanych parametrów są trwałe.
  2. Jeśli z serwera nie została pobrana żadna wartość lub wartości pobrane z serwera Remote Config nie zostały aktywowane, aplikacja używa wartości domyślnej w aplikacji.

    Więcej informacji o pobieraniu i ustawianiu wartości domyślnych znajdziesz w artykule Pobieranie domyślnych wartości szablonu Remote Config.

  3. Jeśli nie ustawisz wartości domyślnej w aplikacji, aplikacja użyje wartości statycznej (np. 0 dla intfalse dla boolean).

Na tej grafice znajdziesz podsumowanie sposobu ustalania priorytetów wartości parametrów na zapleczu Remote Config i w aplikacji:

Schemat przedstawiający proces opisany przez uporządkowane listy

Typy danych wartości parametrów

Remote Config umożliwia wybranie typu danych dla każdego parametru i sprawdza wszystkie wartości Remote Config pod kątem tego typu przed aktualizacją szablonu. Typ danych jest przechowywany i zwracany w odpowiedzi na getRemoteConfig prośbę.

Obsługiwane typy danych:

  • String
  • Boolean
  • Number
  • JSON

W interfejsie konsoli Firebase typ danych można wybrać z menu obok klucza parametru. W interfejsie API REST typy można ustawiać za pomocą pola value_type w obiekcie parametru.

Grupy parametrów

Remote Config umożliwia grupowanie parametrów w celu uporządkowania interfejsu użytkownika i zwiększenia jego użyteczności.

Załóżmy na przykład, że podczas wdrażania nowej funkcji logowania musisz włączyć lub wyłączyć 3 różne typy uwierzytelniania. Za pomocą Remote Config możesz utworzyć 3 parametry, aby włączyć odpowiednie typy, a następnie uporządkować je w grupie o nazwie „Nowe logowanie”, bez konieczności dodawania prefiksów ani specjalnego sortowania.

Grupy parametrów możesz tworzyć w konsoli Firebase lub za pomocą interfejsu API REST Remote Config. Każda utworzona przez Ciebie grupa parametrów ma w szablonie Remote Config unikalną nazwę. Podczas tworzenia grup parametrów pamiętaj o tych kwestiach:

  • Parametry mogą być uwzględniane w jednej grupie w danym momencie, a klucz parametru musi być unikalny w stosunku do wszystkich parametrów.
  • Nazwy grup parametrów mogą mieć maksymalnie 256 znaków.
  • Jeśli używasz zarówno interfejsu API REST, jak i konsoli Firebase, sprawdź, czy logika interfejsu API REST została zaktualizowana, aby obsługiwać grupy parametrów podczas publikowania.

Tworzenie i modyfikowanie grup parametrów za pomocą konsoli Firebase

Parametry możesz grupować na karcie Parametry w konsoli Firebase. Aby utworzyć lub zmodyfikować grupę:

  1. Kliknij Zarządzaj grupami.
  2. Zaznacz pola wyboru obok parametrów, które chcesz dodać, i kliknij Przenieś do grupy.
  3. Wybierz istniejącą grupę lub utwórz nową, wpisując jej nazwę i opis oraz klikając Utwórz nową grupę. Po zapisaniu grupy możesz ją opublikować, klikając przycisk Opublikuj zmiany.

Typy reguł warunków

W konsoli Firebase obsługiwane są te typy reguł: Odpowiednie funkcje są dostępne w interfejsie API REST Remote Config, jak opisano w dokumentacji wyrażeń warunkowych.

Typ reguły Operatorzy Wartości Uwaga
Aplikacja == Wybierz z listy identyfikatory aplikacji powiązane z Twoim projektem Firebase. Podczas dodawania aplikacji do Firebase wpisujesz identyfikator pakietu lub nazwę pakietu na Androida, które definiują atrybut udostępniany w regułach Remote Config jako identyfikator aplikacji.

Używaj tego atrybutu w ten sposób:
  • Na platformach Apple: użyj CFBundleIdentifier aplikacji. Identyfikator pakietu możesz znaleźć na karcie Ogólne głównego miejsca docelowego aplikacji w Xcode.
  • Android: użyj applicationId aplikacji. Wartość applicationId znajdziesz w pliku build.gradle na poziomie aplikacji.
Wersja aplikacji W przypadku wartości ciągu tekstowego:
exactly matches,
contains,
does not contain,
contains regex

W przypadku wartości liczbowych:
<, <=, =, !=, >, >=

Określ wersje aplikacji, na które chcesz kierować.

Przed użyciem tej reguły musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację na Androida lub Apple powiązaną z Twoim projektem Firebase.

Na platformach Apple: użyj wartości 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ż w wersjach starszych wartość CFBundleShortVersionString nie jest wysyłana (patrz notatki do wersji).

Android: użyj wartości versionName aplikacji.

W porównaniach ciągów znaków w ramach tej reguły wielkość liter ma znaczenie. Gdy używasz operatora ściśle pasuje do, zawiera, nie zawiera lub zawiera wyrażenie regularne, możesz wybrać większą liczbę wartości.

Korzystając z operatora contains regex, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może pasować do całości lub części ciągu docelowej wersji. Możesz też użyć kotwic ^$, aby dopasować początek, koniec lub cały ciąg docelowy.

Numer kompilacji W przypadku wartości ciągu znaków:
exactly matches,
contains,
does not contain,
regular expression

W przypadku wartości liczbowych:
=, ≠, >, ≥, <, ≤

Określ wersje aplikacji, które mają być docelowe.

Zanim użyjesz tej reguły, musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację na iOS lub Androida powiązaną z Twoim projektem Firebase.

Ten operator jest dostępny tylko w przypadku aplikacji na urządzenia z systemem Apple i Android. Odpowiada on wartości CFBundleVersion w przypadku Apple i versionCode w przypadku Androida. W przypadku tej reguły porównywanie ciągów znaków uwzględnia wielkość liter.

Gdy używasz operatora ściśle pasuje do, zawiera, nie zawiera lub zawiera wyrażenie regularne, możesz wybrać większą liczbę wartości.

Korzystając z operatora contains regex, 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ć kotwic ^ i $, aby dopasować początek, koniec lub cały ciąg docelowy.

Platforma == iOS
Android
Sieć
 
System operacyjny ==

Określ systemy operacyjne, na które chcesz kierować reklamy.

Przed użyciem tej reguły musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację internetową powiązaną z Twoim projektem Firebase.

Ta reguła zwraca wartość true dla danego wystąpienia aplikacji internetowej, jeśli system operacyjny i jego wersja są zgodne z wartością docelową na określonej liście.
Przeglądarka ==

Określ przeglądarki, na które chcesz kierować reklamy.

Przed użyciem tej reguły musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację internetową powiązaną z Twoim projektem 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 ocenia, czy urządzenie, z którego użytkownik korzysta z Twojej aplikacji internetowej, jest urządzeniem mobilnym czy niemobilnym (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 ta instancja jest 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 dla danej instancji aplikacji, jeśli instancja znajduje się 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 1 listę odbiorców Google Analytics, którą chcesz wykorzystać w projekcie.

To wymaga reguły identyfikatora aplikacji, aby wybrać aplikację powiązaną z Twoim projektem Firebase.

Uwaga: ponieważ wiele Analytics list odbiorców jest definiowanych na podstawie zdarzeń lub właściwości użytkownika, które mogą zależeć od działań 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.

Właściwość użytkownika W przypadku wartości ciągu znaków:
contains,
does not contain,
exactly matches,
contains regex

W przypadku wartości liczbowych:
=, ≠, >, ≥, <, ≤

Uwaga: na kliencie możesz ustawiać tylko wartości ciągu znaków w przypadku właściwości użytkownika. W przypadku warunków, które używają operatorów liczbowych, funkcja Remote Config zamienia 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 za pomocą właściwości użytkownika możesz dostosować aplikację do bardzo konkretnych segmentów bazy użytkowników, zapoznaj się z artykułem Właściwości użytkownika i Remote Config.

Aby dowiedzieć się więcej o właściwościach użytkownika, zapoznaj się z tymi przewodnikami:

Gdy używasz operatora ścisłego dopasowania, zawiera, nie zawiera lub zawiera wyrażenie regularne, możesz wybrać większą liczbę wartości.

Korzystając z operatora contains regex, 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ć kotwic ^ i $, aby dopasować początek, koniec lub cały ciąg docelowy.

Uwaga: właściwości użytkownika zbierane automatycznie nie są dostępne podczas tworzenia warunków Remote Config.
Użytkownik w losowym przedziale procentowym suwak (w konsoli Firebase), Interfejs API typu REST używa operatorów <=, > i between. 0-100

Za pomocą tego pola możesz zastosować zmianę na losowej próbie instancji aplikacji (z próbami o tak małej wielkości jak 0,0001%), używając suwaka do podziału losowo wymieszanych użytkowników (instancji aplikacji) na grupy.

Każda instancja aplikacji jest stale mapowana na losową liczbę całkowitą lub ułamkową zgodnie z wartością zaczynu zdefiniowaną w tym projekcie.

Reguła będzie używać klucza domyślnego (wyświetlanego jako Edytuj nasiono w konsoli Firebase), chyba że zmodyfikujesz wartość nasienia. Aby przywrócić regułę do używania klucza domyślnego, opróżnij pole Nasienie.

Aby konsekwentnie kierować te same wystąpienia aplikacji do określonych zakresów procentowych, używaj w warunkach tej samej wartości początkowej. Możesz też wybrać nową losowo przypisaną grupę instancji aplikacji dla danego zakresu procentowego, podając nowy ciąg losowy.

Aby na przykład utworzyć 2 powiązane warunki, z których każdy będzie dotyczyć nienakładających się na siebie 5% użytkowników aplikacji, możesz skonfigurować 1 warunek tak, aby pasował do wartości procentowej między 0% a 5%, a drugi – do wartości z zakresu 5–10%. Aby niektórzy użytkownicy mogli losowo pojawiać się w obu grupach, użyj różnych wartości początkowych dla reguł w każdym z warunków.

Zaimportowany segment zawiera się w Wybierz co najmniej 1 importowany segment. To wymaga skonfigurowania importowanych segmentów niestandardowych.
Data/godzina Przed i po Określona data i godzina w strefie czasowej urządzenia lub w strefie czasowej określonej przez użytkownika, np. „(GMT+11) czas sydneyjski”. Porównuje bieżącą godzinę z czasem pobierania na urządzeniu.
Pierwsze uruchomienie Przed i po Określona data i godzina w określonej strefie czasowej.

Dopasowuje użytkowników, którzy po raz pierwszy otwierają wybraną aplikację w określonym przedziale czasowym.

Wymaga tych pakietów SDK:

  • Pakiet Firebase SDK dla Google Analytics
  • Pakiet SDK na platformy Apple w wersji 9.0.0 lub nowszej albo pakiet SDK na Androida w wersji 21.1.1 lub nowszej (Firebase BoM w wersji 30.3.0 lub nowszej).
Identyfikator instalacji zawiera się w Podaj co najmniej 1 identyfikator instalacji (maksymalnie 50), na który chcesz kierować reklamy. Ta reguła przyjmuje wartość true dla danej instalacji, jeśli jej identyfikator znajduje się na liście wartości rozdzielonych przecinkami.

Aby dowiedzieć się, jak pobrać identyfikatory instalacji, przeczytaj artykuł Pobieranie identyfikatorów klienta.
Użytkownik istnieje (brak operatora) Kieruje się do 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.

Parametry i warunki wyszukiwania

W konsoli Firebase możesz wyszukiwać klucze parametrów, wartości parametrów i warunki w projekcie za pomocą pola wyszukiwania u góry karty Remote Config Parametry.

Limity dotyczące parametrów i warunków

W projekcie Firebase możesz mieć maksymalnie 2000 parametrów i 500 warunków. Klucze parametrów mogą mieć maksymalnie 256 znaków, muszą zaczynać się od podkreślenia lub litery alfabetu języka angielskiego (A–Z, a–z) i mogą zawierać cyfry. Łączna długość ciągów znaków wartości parametrów w projekcie nie może przekraczać 1 mln znaków.

Wyświetlanie zmian parametrów i warunków

Najnowsze zmiany w szablonach Remote Config możesz wyświetlić w konsoli Firebase. W przypadku każdego parametru i każdego warunku możesz:

  • Wyświetl nazwę użytkownika, który ostatnio zmodyfikował parametr lub warunek.

  • Jeśli zmiana nastąpiła tego samego dnia, sprawdź, ile minut lub godzin minęło od opublikowania zmiany w aktywnej wersji szablonu Remote Config.

  • Jeśli zmiana miała miejsce co najmniej 1 dzień temu, sprawdź, kiedy została opublikowana w aktywnym szablonie Remote Config.

Historia zmian parametrów

Na stronie Remote Config Parametry kolumna Ostatnia publikacja zawiera informacje o użytkowniku, który ostatnio zmodyfikował dany parametr, oraz o dacie ostatniej publikacji zmiany:

  • Aby wyświetlić metadane zmian dla zgrupowanych parametrów, rozwiń grupę parametrów.

  • Aby posortować według daty publikacji w kolejności rosnącej lub malejącej, kliknij etykietę kolumny Ostatnia publikacja.

Historia zmian warunków

Na stronie Remote Config Warunki możesz zobaczyć ostatniego użytkownika, który zmodyfikował warunek, oraz datę modyfikacji obok każdego warunku obok Ostatnia modyfikacja.

Dalsze kroki

Aby skonfigurować projekt i aplikację Firebase pod kątem używania Remote Config, zapoznaj się z artykułem Zaczynamy korzystać z Firebase Remote Config.