Parametry i warunki Zdalnej konfiguracji


Szablony możesz skonfigurować pod kątem przypadków użycia zarówno 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 (pary 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, w Firebase Admin SDK i interfejsie API REST. Zostały one szczegółowo opisane w artykule Zarządzanie wersjami szablonów Remote Config.

W tym przewodniku znajdziesz informacje o parametrach, warunkach, regułach, wartościach warunkowych oraz sposobie ustalania priorytetów różnych wartości parametrów na zapleczu 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 nieokreślona (np. gdy nie ma dostępnej wartości), zwraca ona wartość 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 do obsługi większości żądań możesz użyć stabilnej wersji modelu jako wartości domyślnej, a z sygnału niestandardowego – używać eksperymentalnego modelu do odpowiadania na testowe żądania klientów.

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 kilka warunków przyjmuje wartość true, pierwszeństwo ma pierwszy (górny) widoczny w interfejsie konsoli Firebase, a wartości warunkowe powiązane z tym warunkiem są podawane, 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 Twojej 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 tego backendu nie została pobrana żadna wartość lub jeśli wartości pobrane z tego backendu nie zostały aktywowane, aplikacja używa wartości domyślnej w aplikacji.Remote Config

    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 ustawiono domyślnej wartości w aplikacji, aplikacja używa wartości typu statycznego (np. 0 w przypadku int i false w 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 parametru

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ć za pomocą konsoli Firebase lub 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 można w danej chwili uwzględnić tylko w jednej grupie, a klucz parametru musi być niepowtarzalny wśród 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 po opublikowaniu.

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 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ć 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 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 to parametrowi CFBundleVersion aplikacji w przypadku Apple i parametr versionCode w przypadku Androida. W porównaniach ciągów znaków w przypadku tej reguły rozróżniana jest 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 zostać dopasowane do całego ciągu znaków wersji docelowej lub do jego części. Możesz też użyć zakotwiczenia ^ 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.

Jeśli system operacyjny i jego wersja są zgodne z wartością docelową na określonej liście, reguła ta zwraca w przypadku danej instancji aplikacji internetowej wartość true.
Przeglądarka ==

Określ przeglądarki, na które mają być kierowane 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 To reguła sprawdza, czy urządzenie, z którego użytkownik uzyskuje dostęp do 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ągów:
zawiera,
nie zawiera,
ściśle pasuje do,
zawiera wyrażenie regularne

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

Uwaga: na kliencie możesz ustawić tylko ciągi znaków dla 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 konkretnych segmentów bazy użytkowników, przeczytaj artykuł 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.

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.

Uwaga: właściwości użytkownika zbierane automatycznie są niedostępne podczas tworzenia warunków Remote Config.
Użytkownik w losowym procencie 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 odnieść się do tych samych instancji aplikacji w określonych zakresach procentowych, użyj tej samej wartości wyjściowej w różnych warunkach. 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 – tak, aby pasował do zakresu między 5% a 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. Ta reguła wymaga skonfigurowania niestandardowych zaimportowanych segmentów.
Data/godzina Przed, 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 reklamy 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.

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 ostatnim użytkowniku, który zmodyfikował każdy parametr, oraz datę 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 wyświetlić użytkownika, który ostatnio zmodyfikował warunek, oraz datę jego modyfikacji. Obok każdego z warunków obok pola Ostatnia modyfikacja jest widoczna.

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.