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.
Gdy używasz konsoli Firebase lub backendowych interfejsów API Remote Config, 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 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 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
Gdy używasz Remote Config w aplikacjach serwerowych za pomocą Firebase Admin SDK, pobierasz i wczytujesz cały szablon, aby wyodrębnić odpowiednie wartości parametrów na żądanie dla każdego żądania klienta. Z parametrem może być powiązanych kilka wartości warunkowych.
Wartość przypisywana podczas sprawdzania szablonu w określonym momencie jest określana na podstawie tych reguł:
Najpierw wartości warunkowe są stosowane do wszystkich warunków, które dla danego żądania klienta mają wartość
true
. Jeślitrue
spełnia się w przypadku wielu warunków, pierwsza (górna) wartość wyświetlana w interfejsie konsoli Firebase ma pierwszeństwo, a wartości warunkowe powiązane z tym warunkiem są uwzględniane podczas oceny szablonu. 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 mają wartość
true
, podczas przetwarzania szablonu jest podawana wartość domyślna Remote Config. Jeśli parametr nie istnieje w szablonie lub jeśli jego wartość domyślna została ustawiona na Użyj wartości domyślnej w aplikacji, podczas przetwarzania szablonu nie jest podawana żadna wartość tego parametru.
Więcej informacji o wczytywaniu i weryfikowaniu szablonów Remote Config w aplikacjach serwerowych znajdziesz w artykule Korzystanie z elementów Remote Config w środowiskach serwerowych.
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ć 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 tylko 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ę:
- 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 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
Remote Config szablony dla aplikacji serwerowych obsługują te typy warunków:
Użytkownik w losowym przedziale procentowym
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 wybranych 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 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.
Aby dowiedzieć się, jak dodać do aplikacji losowe warunki procentowe, przeczytaj artykuł Konfigurowanie aplikacji serwera.
Sygnały niestandardowe
W pakiecie SDK Firebase Admin dla Node.js w wersji 12.5.0 lub nowszej możesz używać typu warunku Custom signal (niestandardowy sygnał) do dopasowywania dowolnych warunków zdefiniowanych w aplikacji. Dzięki temu możesz dostosować odpowiedź serwera do każdego żądania klienta.
Jeśli np. pracujesz nad aplikacją serwerową, która korzysta z generatywnej AI, aby tworzyć odpowiedzi za pomocą różnych modeli dostosowanych do konkretnych platform, możesz wykonać te czynności:
- Dodaj parametry
prompt
imodel_name
do szablonu serwera Remote Config. - Dodaj sygnały niestandardowe o wartości
platform
na każdej platformie, którą chcesz uwzględnić w kierowaniu. - Dodaj do szablonu Remote Config wartości domyślne dla serwera oraz wartości warunkowe dla każdego zdefiniowanego przez Ciebie warunku platformy.
- Zaktualizuj kod aplikacji, aby ustawić i używać sygnału niestandardowego
platform
.
Teraz podczas oceny szablonu aplikacja może wyodrębnić odpowiedni prompt i model, a na ich podstawie zwracać spersonalizowane odpowiedzi dla każdego klienta.
Aby tworzyć sygnały niestandardowe w konsoli Firebase, możesz używać tych typów reguł:
Kategoria operatora | Operatorzy | Wartość | Uwaga |
---|---|---|---|
Tekst | dokładnie pasuje, zawiera, nie zawiera, zawiera wyrażenie regularne |
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 docelowego ciągu wersji. Możesz też użyć kotwic ^ i $, aby dopasować początek, koniec lub cały ciąg docelowy. |
|
Numbers | <, <=, =, !=, >, >= | Liczebnik zawierający nie więcej niż 10 cyfr po każdej stronie przecinka dziesiętnego. | |
Wersje | <, <=, =, !=, >, >= | Liczba reprezentująca numery wersji, które mają być dopasowane (np. 2.1.0). |
Aby dowiedzieć się, jak dodać do aplikacji sygnały niestandardowe, przeczytaj artykuł Konfigurowanie aplikacji serwera.
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.