| Wybierz typ szablonu: | Szablony klienta Szablony serwera |
Możesz wyświetlać parametry i wartości Remote Config z szablonów na serwerze we wdrożeniach Remote Config (w tym Cloud Run i Cloud Functions for Firebase), które korzystają z tych środowisk serwerowych:
- Pakiet SDK Firebase Admin Node.js w wersji 12.1.0 lub nowszej
- Pakiet SDK Firebase Admin w Pythonie w wersji 6.7.0 lub nowszej
- Pakiet Firebase Admin Go SDK w wersji 4.17.0 lub nowszej
- Pakiet SDK Firebase Admin dla Javy w wersji 9.7.0 lub nowszej
Gdy używasz konsoli Firebase lub interfejsów API backendu Remote Config, definiujesz co najmniej 1 parametr (pary klucz-wartość) i podajesz wartości domyślne tych parametrów w kodzie serwera. Wartości domyślne możesz zastąpić, definiując wartości parametrów w szablonie Remote Config. Klucze i wartości parametrów są ciągami znaków, ale wartości parametrów można rzutować na inne typy danych, gdy używasz ich w aplikacji.
Za pomocą konsoli Firebase, Admin SDK lub interfejsu Remote Config REST API możesz tworzyć nowe wartości domyślne parametrów, a także wartości warunkowe, które są używane do kierowania grup żądań klientów. 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 możesz ją pobrać lub przywrócić w razie potrzeby. Te operacje są dostępne w konsoli Firebase, Firebase Admin SDK i interfejsie REST API. Są one opisane bardziej szczegółowo w artykule Zarządzanie wersjami szablonów 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 w backendzie Remote Config 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 jednej reguły, która musi zostać oceniona jako true, aby warunek został oceniony jako true dla danego żądania klienta. Jeśli wartość reguły jest niezdefiniowana (np. gdy nie jest dostępna żadna wartość), reguła zwraca wartość false.
Możesz na przykład utworzyć parametr, który definiuje nazwę i ciąg wersji dużego modelu językowego (LLM), i 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 sygnału niestandardowego do użycia modelu eksperymentalnego do odpowiadania na żądania klientów testowych.
Parametr może mieć wiele wartości warunkowych, które używają różnych warunków, a parametry mogą współdzielić warunki w projekcie. 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 wskaźnik pokazuje odsetek żądań z ostatnich 24 godzin, które otrzymały każdą wartość.
Dodawanie, edytowanie i usuwanie warunków oraz zmienianie ich kolejności za pomocą konsoli Firebase
W konsoli Firebase możesz tworzyć, edytować, usuwać i zmieniać kolejność warunków kierowania. Warunki są współdzielone przez parametry w projekcie. Aby zarządzać warunkami:
- W konsoli Firebase otwórz stronę DevOps i zaangażowanie > Zdalna konfiguracja > Warunki (lub wybierz Zarządzaj warunkami na stronie Parametry).
- Dodawanie warunku: kliknij Dodaj warunek (lub Utwórz pierwszy warunek), wpisz nazwę, która określa cel kierowania, i wybierz co najmniej 1 regułę kierowania.
- Edytowanie warunku: kliknij nazwę warunku lub ikonę edycji, zmodyfikuj reguły i kliknij Zapisz.
- Zmienianie priorytetu warunków: 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.
- Usuwanie warunku: kliknij ikonę usuwania obok warunku, który chcesz usunąć. Jeśli warunek jest używany przez jakiś parametr, usunięcie go spowoduje też usunięcie powiązanych wartości warunkowych.
Po zapisaniu zmian w warunkach opublikuj szablon, klikając Opublikuj zmiany.
Ograniczenie IPv6 związane z kontrolą dostępu na podstawie adresów IP
Remote Config ma ograniczoną obsługę protokołu 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 funkcji Remote Config w konsoli Firebase, takich jak wczytywanie danych czy konfigurowanie 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 w organizacji.
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. Parametr może mieć kilka powiązanych z nim wartości warunkowych.
Te reguły określają, która wartość jest przypisywana podczas sprawdzania szablonu w danym momencie:
Najpierw stosowane są wartości warunkowe dla wszystkich warunków, które w przypadku danego żądania klienta mają wartość
true. Jeśli kilka warunków ma wartośćtrue, pierwszeństwo ma warunek wyświetlany na samej górze w interfejsie konsoli Firebase, a podczas oceny szablonu podawane są wartości warunkowe powiązane z tym warunkiem. Priorytet warunków możesz zmienić, przeciągając je i upuszczając na stronie Warunki.Jeśli nie ma wartości warunkowych z warunkami, które mają wartość
true, podczas oceny szablonu podawana jest wartość domyślna Remote Config. Jeśli parametr nie istnieje w szablonie lub jego wartość domyślna jest ustawiona na Użyj wartości domyślnej w aplikacji, podczas oceny szablonu nie zostanie podana ż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 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 żądanie getRemoteConfig.
Obsługiwane typy danych:
StringBooleanNumberJSON
W interfejsie konsoli Firebase 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 pozwala na lepsze uporządkowanie interfejsu i zwiększenie 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. W 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 grupa parametrów ma unikalną nazwę w szablonie Remote Config. Podczas tworzenia grup parametrów pamiętaj o tych kwestiach:
- Parametry mogą być uwzględniane tylko w jednej grupie naraz, a klucz parametru musi być unikalny we wszystkich parametrach.
- Nazwy grup parametrów mogą mieć maksymalnie 256 znaków.
- Jeśli używasz zarówno interfejsu API typu REST, jak i konsoli Firebase, upewnij się, że logika interfejsu API typu 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ć w konsoli Firebase. Aby utworzyć lub zmodyfikować grupę:
- W konsoli Firebase otwórz stronę DevOps i zaangażowanie > Zdalna konfiguracja > Parametry.
- Wybierz 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, a następnie klikając Utwórz nową grupę. Po zapisaniu grupy możesz ją opublikować, klikając przycisk Opublikuj zmiany.
Typy reguł warunków
Szablony Remote Config dla aplikacji serwerowych obsługują te typy warunków:
Użytkownik w losowym odsetku
Użyj tego pola, aby zastosować zmianę do losowej próbki instancji aplikacji (o rozmiarze nawet 0,0001%). Za pomocą suwaka możesz podzielić losowo wymieszanych użytkowników (instancje aplikacji) na grupy.
Każda instancja aplikacji jest trwale mapowana na losową liczbę całkowitą lub ułamkową zgodnie z ziarnem zdefiniowanym w danym projekcie.
Reguła będzie używać klucza domyślnego (wyświetlanego jako Edytuj ziarno w konsoli Firebase), chyba że zmodyfikujesz wartość ziarna. Aby przywrócić domyślny klucz reguły, wyczyść pole Seed (Ziarno).
Aby konsekwentnie kierować reklamy na te same instancje aplikacji w określonych zakresach procentowych, używaj tej samej wartości ziarna we wszystkich warunkach. Możesz też wybrać nową, losowo przypisaną grupę instancji aplikacji dla danego zakresu procentowego, określając nowy obiekt inicjujący.
Aby na przykład utworzyć 2 powiązane warunki, z których każdy dotyczy niepokrywającego się 5% użytkowników aplikacji, możesz skonfigurować jeden warunek, który będzie pasował do odsetka między 0% a 5%, i drugi warunek, który będzie pasował do zakresu między 5% a 10%. Aby umożliwić niektórym użytkownikom losowe pojawianie się w obu grupach, użyj różnych wartości ziarna dla reguł w ramach każdego warunku.
Aby dowiedzieć się, jak dodać do aplikacji warunki losowego odsetka, przeczytaj artykuł Konfigurowanie aplikacji serwerowej.
Warunki sygnału niestandardowego
Możesz używać wartości warunkowych Sygnał niestandardowy, aby dopasowywać dowolne warunki zdefiniowane w aplikacji. Dzięki temu możesz dostosować odpowiedź serwera do każdego żądania klienta. Warunki sygnałów niestandardowych są obsługiwane w tych wersjach środowisk serwerów:
- Pakiet SDK Firebase Admin Node.js w wersji 12.1.0 lub nowszej
- Pakiet SDK Firebase Admin w Pythonie w wersji 6.7.0 lub nowszej
- Pakiet Firebase Admin Go SDK w wersji 4.17.0 lub nowszej
- Pakiet SDK Firebase Admin dla Javy w wersji 9.7.0 lub nowszej
Jeśli na przykład pracujesz nad aplikacją serwerową, która używa generatywnej AI do tworzenia odpowiedzi za pomocą różnych modeli dostosowanych do konkretnych platform, możesz wykonać te czynności:
- Dodaj parametry
promptimodel_namedo szablonu serwera Remote Config. - Dodaj warunki sygnałów niestandardowych z wartością
platformdla każdej platformy, na którą chcesz kierować reklamy. - Dodaj wartości domyślne do szablonu Remote Config dla konkretnego serwera i wartości warunkowe dla każdego zdefiniowanego warunku platformy.
- Zaktualizuj kod aplikacji, aby ustawić i używać sygnału niestandardowego
platform.
Teraz aplikacja może wyodrębnić odpowiedni prompt i model podczas oceny szablonu i użyć ich do zwrócenia spersonalizowanych odpowiedzi każdemu klientowi.
Aby utworzyć niestandardowe warunki sygnałów w konsoli Firebase, możesz użyć tych typów reguł.
| Kategoria operatora | Operatory | Wartość |
|---|---|---|
| Tekst | ściśle pasuje do, zawiera, nie zawiera, zawiera wyrażenie regularne |
W porównaniach ciągów znaków w przypadku tej reguły wielkość liter ma znaczenie. Jeśli używasz operatora ściśle pasuje do, zawiera, nie zawiera lub zawiera wyrażenie regularne, możesz wybrać wiele wartości. Jeśli 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żywać kotwic ^ i $, aby dopasowywać początek, koniec lub całość ciągu docelowego. |
| Numbers | <, <=, =, !=, >, >= | Liczba z maksymalnie 10 cyframi po każdej stronie separatora dziesiętnego. |
| Wersje | <, <=, =, !=, >, >= | Liczba reprezentująca numery wersji, które mają być dopasowane (np. 2.1.0). |
Aby dowiedzieć się, jak dodać sygnały niestandardowe do aplikacji, przeczytaj artykuł o konfigurowaniu aplikacji serwera.
Parametry i warunki wyszukiwania
Klucze parametrów, wartości parametrów i warunki projektu możesz wyszukiwać w konsoli Firebase za pomocą 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 z 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ć maksymalnie 100 wartości właściwości użytkownika. Pełną listę limitów znajdziesz w artykule Limity.
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 warunku możesz:
Wyświetlanie nazwy użytkownika, który ostatnio zmodyfikował parametr lub warunek.
Jeśli zmiana nastąpiła tego samego dnia, wyświetl liczbę minut lub godzin, które upłynęły od opublikowania zmiany w aktywnym szablonie Remote Config.
Jeśli zmiana została wprowadzona co najmniej dzień wcześniej, 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. Kolumna Ostatnio opublikowane zawiera informacje o ostatnim użytkowniku, który zmodyfikował dany parametr, oraz o ostatniej dacie opublikowania 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 opublikowane.
Historia zmian warunków
W konsoli Firebase otwórz stronę DevOps i zaangażowanie > Zdalna konfiguracja > Warunki. Obok opcji Ostatnia modyfikacja pod każdym warunkiem możesz zobaczyć, kto i kiedy ostatnio go zmodyfikował.
Dalsze kroki
Aby dowiedzieć się, jak skonfigurować projekt Firebase i aplikację serwerową pod kątem korzystania z Remote Config, przeczytaj artykuł Korzystanie z Remote Config w środowiskach serwerowych.