Parametry i warunki Zdalnej konfiguracji


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

Gdy używasz Remote Config w aplikacjach serwera korzystających z 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 przypisywania wartości:

  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 pierwszy (u góry) warunek wyświetlany w interfejsie 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 karcie Warunki.

  2. Jeśli nie ma wartości warunkowych z warunkami, które dają wynik true, podczas wyznaczania wartości 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 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

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ę:

  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 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

Szablony Remote Config w przypadku aplikacji serwerowych 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ż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.

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

Warunki sygnału niestandardowego

W pakiecie Firebase Admin Node.js SDK w wersji 12.5.0 i nowszej możesz używać wartości warunkowych Custom signal, aby dopasowywać dowolne warunki zdefiniowane w aplikacji. Dzięki temu możesz dostosować odpowiedź serwera do każdego żądania klienta.

Jeśli na przykład 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:

  1. Dodaj parametry promptmodel_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ć platform sygnału niestandardowego.

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

Aby utworzyć niestandardowe warunki sygnału w konsoliFirebase, możesz użyć tych typów reguł:

Kategoria operatora Operatorzy Wartość Uwaga
Tekst dokładnie pasuje, 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 ^$, aby dopasować początek, koniec lub całość ciągu docelowego.

Numbers <, <=, =, !=, >, >= Liczba z maksymalnie 10 cyframi po każdej stronie przecinka.
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 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.

Dalsze kroki

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