Parametry i warunki Zdalnej konfiguracji w szablonach serwera

Wybierz typ szablonu: Szablony klienta Szablony serwera


Możesz udostępniać parametry i wartości Remote Config z szablonów specyficznych dla serwera w implementacjach Remote Config (w tym Cloud Run i Cloud Functions for Firebase), które korzystają z tych środowisk serwera:

  • Pakiet Firebase Admin Node.js SDK w wersji 12.1.0 lub nowszej
  • Firebase Admin Python SDK w wersji 6.7.0 lub nowszej
  • Firebase Admin Go SDK w wersji 4.17.0 lub nowszej
  • Pakiet Firebase Admin Java SDK w wersji 9.7.0 lub nowszej

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

Za pomocą FirebasekonsoliAdmin SDK lub Remote Configinterfejsu REST API możesz tworzyć nowe wartości domyślne parametrów, a także wartości warunkowe, które służą do kierowania na grupy żądań klientów. Za każdym razem, gdy aktualizujesz konfigurację w Firebase konsoli, Firebase tworzy i publikuje nową wersję szablonu Remote Config. Poprzednia wersja jest przechowywana, dzięki czemu możesz ją w razie potrzeby przywrócić lub wycofać zmiany. 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 Config zapleczu i w aplikacji serwera. 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ę żądań klientów. Warunki składają się z co najmniej 1 reguły, która musi mieć wartość true, aby warunek miał wartość true w przypadku danego żądania klienta. Jeśli wartość reguły jest niezdefiniowana (np. gdy nie ma dostępnej wartości), reguła przyjmuje wartość false.

Możesz na przykład utworzyć parametr, który definiuje nazwę dużego modelu językowego (LLM) i ciąg znaków wersji, a następnie udostępniać odpowiedzi z różnych modeli na podstawie niestandardowych reguł sygnałów. W tym przypadku użycia możesz użyć stabilnej wersji modelu jako wartości domyślnej, aby udostępniać większość żądań, a sygnału niestandardowego do używania modelu eksperymentalnego w odpowiedzi 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. W konsoli Firebase otwórz stronę DevOps i zaangażowanie > Zdalna konfiguracja > Parametry, aby wyświetlić odsetek pobrań dla wartości warunkowych każdego parametru. Ten rodzaj danych wskazuje odsetek żądań z ostatnich 24 godzin, w których otrzymano każdą wartość.

Dodawanie, edytowanie, zmienianie kolejności i usuwanie warunków za pomocą konsoli Firebase

W Firebase konsoli możesz tworzyć, edytować, zmieniać kolejność i usuwać warunki kierowania. Warunki są współdzielone między parametrami w projekcie. Aby zarządzać warunkami:

  1. W konsoli Firebase otwórz stronę DevOps i zaangażowanie > Zdalna konfiguracja > Warunki (lub na stronie Parametry kliknij Zarządzaj warunkami).
  2. Dodaj warunek: kliknij Dodaj warunek (lub Utwórz pierwszy warunek), wpisz nazwę określającą cel kierowania i wybierz co najmniej 1 regułę kierowania.
  3. Edytowanie warunku: kliknij nazwę warunku lub ikonę edycji, zmień reguły i kliknij Zapisz.
  4. Zmień priorytet warunku: na stronie Warunki przeciągnij warunki za uchwyt, aby zmienić ich kolejność. Warunki znajdujące się wyżej na liście mają pierwszeństwo przed warunkami znajdującymi się niżej.
  5. Usuwanie warunku: kliknij ikonę usuwania obok warunku, który chcesz usunąć. Jeśli warunek jest używany w jakimkolwiek parametrze, jego usunięcie powoduje też usunięcie powiązanych wartości warunkowych.

Po zapisaniu zmian warunków opublikuj szablon, klikając Opublikuj zmiany.

Ograniczenie IPv6 w przypadku kontroli dostępu opartej na adresach IP

Remote Config ma ograniczoną obsługę IPv6, gdy jest używany z zasadami dostępu opartymi na adresach IP. Jeśli Twoja organizacja ogranicza dostęp do określonych zakresów publicznych adresów IP, połączenie przez sieć IPv6 może powodować te problemy:

  • Dostęp do konsoli: możesz nie mieć możliwości korzystania z niektórych Remote Configfunkcji w Firebase konsoli, np. wczytywania danych lub konfigurowania kierowania.
  • Dostęp klienta: aplikacje klienckie mogą napotkać błędy PERMISSION_DENIED.

Aby zapobiec tym problemom, skonfiguruj sieć tak, aby używała protokołu IPv4, lub dodaj wymagane zakresy adresów IP Firebase do listy dozwolonych adresów IP organizacji.

Priorytet wartości parametru

Gdy używasz Remote Config w aplikacjach serwera za pomocą Firebase Admin SDK, pobierasz i wczytujesz cały szablon, aby na żądanie wyodrębniać odpowiednie wartości parametrów dla każdego żądania klienta. Z parametrem może być powiązanych kilka wartości warunkowych.

Podczas sprawdzania szablonu w określonym momencie czasu obowiązują te reguły:

  1. 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 warunek wyświetlany u góry interfejsu konsoli Firebase, a wartości warunkowe powiązane z tym warunkiem są podawane podczas oceny szablonu. Priorytet warunków możesz zmienić, przeciągając je i upuszczając na stronie Warunki.

  2. Jeśli nie ma wartości warunkowych z warunkami, które dają wynik true, podczas oceny szablonu podawana jest wartość domyślna Remote Config. Jeśli parametr nie istnieje w szablonie lub jeśli wartość domyślna jest ustawiona na Użyj domyślnej wartości w aplikacji, podczas oceny szablonu nie jest podawana żadna wartość tego parametru.

Więcej informacji o wczytywaniu i ocenianiu szablonów Remote Config w aplikacjach serwerowych znajdziesz w artykule Używanie Remote Config w środowiskach serwerowych.

Typy danych wartości parametrów

Remote Config umożliwia wybór typu danych dla każdego parametru i sprawdza wszystkie wartości Remote Config pod kątem zgodności z tym typem przed aktualizacją szablonu. Typ danych jest przechowywany i zwracany w getRemoteConfig żądaniu.

Obsługiwane typy danych:

  • String
  • Boolean
  • Number
  • JSON

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

Grupy parametrów

Remote Config umożliwia grupowanie parametrów, co zapewnia bardziej przejrzysty interfejs i większą 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. Za pomocą 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 niepowtarzalną nazwę. Podczas tworzenia grup parametrów pamiętaj o tych kwestiach:

  • Parametry mogą należeć tylko do 1 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 Firebase konsoli, upewnij się, że logika interfejsu API REST jest zaktualizowana, aby obsługiwać grupy parametrów podczas publikowania.

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

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

  1. W konsoli Firebase otwórz stronę DevOps i zaangażowanie > Zdalna konfiguracja > Parametry.
  2. Kliknij Zarządzaj grupami.
  3. Zaznacz pola wyboru obok parametrów, które chcesz dodać, i kliknij Przenieś do grupy.
  4. 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ć za pomocą przycisku Opublikuj zmiany.

Typy reguł warunku

Szablony Remote Config dla aplikacji serwera obsługują te typy warunków:

Użytkownik w losowym procencie

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żda instancja aplikacji jest trwale przypisana 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, wyczyść pole Seed.

Aby konsekwentnie kierować reklamy na te same instancje aplikacji w określonych zakresach procentowych, używaj tej samej wartości początkowej w różnych warunkach. Możesz też wybrać nową, losowo przypisaną grupę instancji aplikacji w określonym zakresie procentowym, 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 odsetka z 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 w przypadku reguł w każdym warunku.

Aby dowiedzieć się, jak dodać do aplikacji warunki losowego procentu, przeczytaj artykuł Konfigurowanie aplikacji serwera.

Warunki sygnału niestandardowego

Możesz użyć wartości warunkowych sygnału niestandardowego, aby dopasować dowolne warunki zdefiniowane w aplikacji. Dzięki temu możesz dostosowywać odpowiedź serwera do każdego żądania klienta. Warunki sygnałów niestandardowych są obsługiwane w tych wersjach środowisk serwera:

  • Pakiet Firebase Admin Node.js SDK w wersji 12.1.0 lub nowszej
  • Firebase Admin Python SDK w wersji 6.7.0 lub nowszej
  • Firebase Admin Go SDK w wersji 4.17.0 lub nowszej
  • Pakiet Firebase Admin Java SDK w wersji 9.7.0 lub nowszej

Jeśli na przykład pracujesz nad aplikacją serwerową, która korzysta z generatywnej AI, aby pomagać w tworzeniu odpowiedzi za pomocą różnych modeli dostosowanych do konkretnych platform, możesz wykonać te czynności:

  1. Dodaj parametry prompt i model_name do Remote Configszablonu serwera.
  2. Dodaj warunki sygnału niestandardowego z wartością platform dla każdej platformy, na którą chcesz kierować reklamy.
  3. Dodaj wartości domyślne do szablonu Remote Config specyficznego dla serwera i wartości warunkowe dla każdego zdefiniowanego warunku platformy.
  4. Zaktualizuj kod aplikacji, aby ustawić i używać niestandardowego sygnału platform.

Teraz aplikacja może wyodrębniać odpowiedni prompt i model podczas oceny szablonu oraz używać ich do zwracania spersonalizowanych odpowiedzi do każdego klienta.

W konsoliFirebase możesz tworzyć warunki sygnałów niestandardowych, korzystając z tych typów reguł:

Kategoria operatora Operatory Wartość
Tekst ściśle pasuje do, zawiera, nie zawiera, zawiera wyrażenie regularne

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.

Numbers <, <=, =, !=, >, >= Liczba składająca się z maksymalnie 10 cyfr po każdej stronie separatora dziesiętnego.
Wersje <, <=, =, !=, >, >= Liczba reprezentująca numery wersji do dopasowania (np. 2.1.0).

Aby dowiedzieć się, jak dodać do aplikacji sygnały niestandardowe, przeczytaj artykuł Konfigurowanie aplikacji serwera.

Parametry i warunki wyszukiwania

Klucze parametrów, wartości parametrów i warunki projektu możesz wyszukiwać w Firebasekonsoli, korzystając z pola wyszukiwania u góry strony DevOps i zaangażowanie > Zdalna konfiguracja > Parametry.

Limity parametrów i warunków

W projekcie w Firebase możesz mieć maksymalnie 3000 parametrów i 2000 warunków. Klucze parametrów mogą mieć maksymalnie 256 znaków, muszą zaczynać się od podkreślenia lub litery alfabetu 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 000 000 znaków. Dodatkowo reguły warunków oparte na właściwościach użytkownika mogą zawierać do 100 wartości właściwości użytkownika. Pełną listę limitów znajdziesz w sekcji Limity.

Wyświetlanie zmian parametrów i warunków

Najnowsze zmiany w Remote Configszablonach możesz sprawdzić w Firebasekonsoli. 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ź liczbę minut lub godzin, które upłynęły 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

W konsoli Firebase otwórz stronę DevOps i zaangażowanie > Zdalna konfiguracja > Parametry. W kolumnie Ostatnio opublikowano widać ostatniego użytkownika, który zmodyfikował każdy parametr, oraz datę ostatniego opublikowania zmiany:

  • Aby wyświetlić metadane zmian dla 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

W konsoli Firebase otwórz stronę DevOps i zaangażowanie > Zdalna konfiguracja > Warunki. Obok pozycji Ostatnia modyfikacja w przypadku każdego warunku możesz zobaczyć ostatniego użytkownika, który go zmodyfikował, oraz datę modyfikacji.

Dalsze kroki

Aby skonfigurować projekt w Firebase i aplikację serwera pod kątem używania Remote Config, zapoznaj się z artykułem Używanie Remote Config w środowiskach serwerowych.