Szablony możesz skonfigurować zarówno na potrzeby klienta, jak i serwera. Szablony klienta są wyświetlane w dowolnych instancjach aplikacji, które implementują pakiety SDK klienta Firebase na platformy Remote Config, w tym aplikacje na Androida, Apple, internet, Unity, Flutter i C++. Parametry Remote Config i wartości z szablonów specyficznych dla serwera są przekazywane do implementacji Remote Config (w tym Cloud Run i Cloud Functions), które korzystają z tych środowisk serwera:
- Firebase Admin Node.js SDK w wersji 12.1.0 lub nowszej
- Firebase Admin Python SDK w wersji 6.7.0 lub nowszej
Gdy używasz Firebase konsoli lub Remote Config backendowych interfejsów API, określasz co najmniej 1 parametr (pary klucz-wartość) i podajesz domyślne wartości w aplikacji dla tych parametrów. Możesz zastąpić domyślne wartości w aplikacji, definiując wartości parametrów. Klucze i wartości parametrów są ciągami, ale wartości parametrów można przekształcać w inne typy danych, gdy używasz ich w aplikacji.
Za pomocą FirebasekonsoliAdmin SDK lub Remote Configinterfejsu 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 zaktualizujesz konfigurację w Firebase konsoli, Firebase utworzy i opublikuje nową wersję Remote Config szablonu. Poprzednia wersja jest przechowywana, dzięki czemu w razie potrzeby możesz ją przywrócić. Te operacje są dostępne w Firebase konsoli,Firebase Admin SDK i interfejsie REST API. Więcej informacji znajdziesz w artykule Zarządzanie wersjami szablonu.Remote Config
Z tego przewodnika dowiesz się, czym są parametry, warunki, reguły i wartości warunkowe oraz jak różne wartości parametrów są traktowane priorytetowo na Remote Configbackendzie i w aplikacji. Znajdziesz tu też szczegółowe informacje o rodzajach 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 mieć wartość true
, aby warunek miał wartość true
w przypadku danej instancji aplikacji. Jeśli wartość reguły jest niezdefiniowana (np. gdy nie ma dostępnej wartości), reguła przyjmie wartość false
.
Możesz na przykład utworzyć parametr, który definiuje nazwę modelu dużego modelu językowego (LLM) i ciąg znaków wersji, a następnie wyświetlać odpowiedzi z różnych modeli na podstawie reguł sygnału niestandardowego. W tym przypadku możesz użyć stabilnej wersji modelu jako wartości domyślnej, aby obsługiwać większość żądań, a sygnału niestandardowego, aby używać eksperymentalnego modelu do odpowiadania na żądania klientów testowych.
Parametr może mieć wiele wartości warunkowych, które korzystają z różnych warunków, a parametry mogą współdzielić warunki w ramach projektu. Na karcie Parametry konsoli Firebase możesz wyświetlić odsetek pobrań 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. O tym, która wartość jest pobierana z Remote Configszablonu, a która jest używana w danej instancji aplikacji w określonym momencie, decydują te reguły:
Najpierw stosowane są wartości warunkowe w przypadku wszystkich warunków, które w odniesieniu do danego żądania klienta mają wartość
true
. Jeśli kilka warunków ma wartośćtrue
, pierwszeństwo ma pierwszy (u góry) warunek wyświetlany w interfejsie konsoli Firebase, 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.Jeśli nie ma wartości warunkowych z warunkami, które dają wynik
true
, gdy aplikacja pobiera wartości z backendu, podawana jest wartość domyślna Remote Config. Jeśli parametr nie istnieje w backendzie lub wartość domyślna jest ustawiona na Użyj domyślnej wartości w aplikacji, to gdy aplikacja pobiera wartości, dla tego parametru nie jest podawana żadna wartość.
W aplikacji wartości parametrów są zwracane przez metody get
zgodnie z tą listą priorytetów:
- Jeśli wartość została pobrana z backendu, a następnie aktywowana, aplikacja używa pobranej wartości. Wartości aktywowanych parametrów są trwałe.
Jeśli z backendu nie pobrano żadnej wartości lub jeśli wartości pobrane z backendu Remote Config nie zostały aktywowane, aplikacja używa wartości domyślnej w aplikacji.
Więcej informacji o uzyskiwaniu i ustawianiu wartości domyślnych znajdziesz w artykule Pobieranie domyślnych wartości szablonu Remote Config.
Jeśli nie ustawiono domyślnej wartości w aplikacji, używa ona statycznej wartości typu (np.
0
dlaint
ifalse
dlaboolean
).
Ten wykres pokazuje, jak wartości parametrów są traktowane priorytetowo w Remote Configsystemie zaplecza i w Twojej aplikacji:
Typy danych wartości parametrów
Remote Config umożliwia wybór typu danych dla każdego parametru i weryfikuje wszystkie wartości Remote Config pod kątem tego typu przed aktualizacją szablonu. Typ danych jest przechowywany i zwracany w odpowiedzi na żądanie getRemoteConfig
.
Obsługiwane typy danych to:
String
Boolean
Number
JSON
W Firebaseinterfejsie konsoli 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, co pozwala uzyskać bardziej uporządkowany interfejs i zwiększyć jego użyteczność.
Załóżmy na przykład, że podczas wdrażania nowej funkcji logowania musisz włączyć lub wyłączyć 3 różne typy uwierzytelniania. Dzięki Remote Config możesz utworzyć 3 parametry, aby włączyć wybrane 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ą FirebasekonsoliRemote Config lub interfejsu API REST. Każda utworzona grupa parametrów ma w szablonie Remote Config unikalną nazwę. Podczas tworzenia grup parametrów pamiętaj o tych kwestiach:
- Parametry mogą należeć tylko do jednej grupy naraz, a klucz parametru musi być unikalny we wszystkich parametrach.
- Nazwy grup parametrów mogą mieć maksymalnie 256 znaków.
- Jeśli korzystasz zarówno z interfejsu API REST, jak i z konsoli Firebase, upewnij się, że 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ę:
- Kliknij Zarządzaj grupami.
- Zaznacz pola wyboru obok parametrów, które chcesz dodać, i kliknij Przenieś do grupy.
- Wybierz istniejącą grupę lub utwórz nową, wpisując nazwę i opis oraz klikając Utwórz nową grupę. Po zapisaniu grupy możesz ją opublikować, klikając przycisk Opublikuj zmiany.
Typy reguł warunku
W konsoli Firebase obsługiwane są te typy reguł: Odpowiednie funkcje są dostępne w interfejsie Remote Config REST API, co zostało szczegółowo 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 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. 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 projektem Firebase. |
Ten operator jest dostępny tylko w przypadku aplikacji na urządzenia z Androidem i iOS. Odpowiada ona wartości CFBundleVersion w przypadku Apple i wartości 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. 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ść docelowego ciągu znaków. |
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 Firebase. |
Ta reguła przyjmuje 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 Firebase. |
W przypadku danej instancji aplikacji internetowej ta reguła przyjmuje wartość true , 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, które używa jednego 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 1 grupę odbiorców Google Analytics skonfigurowaną w projekcie. | Ta reguła wymaga reguły identyfikatora aplikacji, aby wybrać aplikację powiązaną z Twoim projektem 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. |
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 ustawić 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żytkownikaGoogle Analytics. | 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 dokładnie pasuje, 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ść docelowego ciągu znaków. Uwaga: właściwości użytkownika zbierane automatycznie nie są dostępne podczas tworzenia warunków Remote Config. |
Użytkownik w losowym 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żde wystąpienie aplikacji jest trwale przypisane 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 w przypadku reguły, wyczyść pole Wartość początkowa. Aby w spójny sposób odnosić się do tych samych instancji aplikacji w określonych zakresach procentowych, używaj tej samej wartości początkowej we wszystkich warunkach. Możesz też wybrać nową, losowo przypisaną grupę instancji aplikacji dla danego zakresu procentowego, 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 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 dla 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 | Before, After | 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 pobrania danych z urządzenia. |
Pierwsze uruchomienie | Before, After | Określona data i godzina w określonej strefie czasowej. | Dopasowuje użytkowników, którzy po raz pierwszy otworzyli docelową aplikację w określonym zakresie czasu. Wymaga tych pakietów SDK:
|
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 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. |
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 „ś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. W przypadku środowisk klienta obsługiwane są te typy danych:
Liczba reprezentująca numery wersji do dopasowania (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. |
Parametry i warunki wyszukiwania
Klucze parametrów, wartości parametrów i warunki projektu możesz wyszukiwać w Firebasekonsoli 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 wartości parametrów w projekcie nie może przekraczać 1 000 000 znaków.
Wyświetlanie zmian w parametrach i warunkach
Najnowsze zmiany w szablonach Remote Config możesz wyświetlić w Firebase konsoli. W przypadku każdego parametru i 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 aktywnym szablonie Remote Config.
Jeśli zmiana nastąpiła co najmniej dzień temu, sprawdź datę opublikowania zmiany w aktywnym szablonie Remote Config.
Historia zmian parametrów
Na stronie Remote Config Parametry w kolumnie Ostatnio opublikowano widać ostatniego użytkownika, który zmodyfikował każdy parametr, oraz datę ostatniej publikacji zmiany:
Aby wyświetlić metadane zmian w przypadku zgrupowanych parametrów, rozwiń grupę parametrów.
Aby posortować w kolejności rosnącej lub malejącej według daty publikacji, kliknij etykietę kolumny Ostatnio opublikowano.
Historia zmian warunków
Na stronie Remote Config Warunki możesz zobaczyć ostatniego użytkownika, który zmodyfikował warunek, oraz datę jego modyfikacji obok opcji Ostatnia modyfikacja pod każdym warunkiem.