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.
Korzystając z konsoli Firebase lub Remote Configinterfejsów API backendu, definiujesz co najmniej 1 parametr (pary 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, co pozwala ją odzyskać lub przywrócić w razie potrzeby. 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 i 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
.
Na przykład parametr określający stronę początkową aplikacji może wyświetlać różne obrazy w zależności od typu systemu operacyjnego za pomocą reguły if device_os = Android
:
Możesz też użyć warunku czasowego, aby określić, kiedy aplikacja ma wyświetlać specjalne produkty promocyjne.
Parametr może mieć wiele wartości warunkowych, które korzystają z różnych warunków, a parametry mogą mieć wspólne 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
Z parametrem może być powiązanych kilka wartości warunkowych. Te reguły określają, która wartość jest pobierana z szablonu Remote Config, a która jest używana w danym wystąpieniu aplikacji w określonym momencie:
Najpierw wartości warunkowe są stosowane do wszystkich warunków, które dla danego żądania klienta mają wartość
true
. Jeślitrue
spełnia wiele warunków, pierwszeństwo ma pierwszy (górny) warunek wyświetlany w interfejsie konsoli Firebase, a wartości warunkowe powiązane z tym warunkiem są dostarczane, 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 back-endu, jest podawana wartość domyślna Remote Config. Jeśli parametr nie istnieje na zapleczu lub jeśli jego wartość domyślna to Użyj wartości domyślnej w aplikacji, podczas pobierania wartości przez aplikację nie jest podawana żadna wartość tego parametru.
W aplikacji wartości parametrów są zwracane przez metody get
zgodnie z tą listą priorytetów:
- Jeśli wartość została pobrana z back-endu, a następnie aktywowana, aplikacja używa pobranej wartości. Wartości aktywowanych parametrów są trwałe.
Jeśli z serwera nie została pobrana żadna wartość lub wartości pobrane z serwera Remote Config nie zostały aktywowane, aplikacja używa wartości domyślnej w aplikacji.
Więcej informacji o pobieraniu i ustawianiu wartości domyślnych znajdziesz w artykule Pobieranie domyślnych wartości szablonu Remote Config.
Jeśli nie ustawisz wartości domyślnej w aplikacji, aplikacja użyje wartości statycznej (np.
0
dlaint
ifalse
dlaboolean
).
Na tej grafice znajdziesz podsumowanie sposobu ustalania priorytetów wartości parametrów na zapleczu Remote Config i w aplikacji:
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, aby ułatwić korzystanie z interfejsu.
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.
Tworzenie grup za pomocą kodu
Interfejs Zdalna konfiguracja interfejsu API REST umożliwia automatyczne tworzenie i publikowanie grup parametrów. Zakładając, że znasz interfejs REST i masz skonfigurowane autoryzowanie żądań do interfejsu API, możesz zarządzać grupami w sposób programowy w ten sposób:
- Pobieranie bieżącego szablonu
- Dodawanie obiektów JSON reprezentujących grupy parametrów
- Opublikuj grupy parametrów za pomocą żądania HTTP PUT.
Obiekt parameterGroups
zawiera klucze grup z zagnieżdżonym opisem i listą zgrupowanych parametrów. Pamiętaj, że każdy klucz grupy musi być globalnie niepowtarzalny.
Oto przykład fragmentu wersji szablonu, który dodaje grupę parametrów „new menu” z jednym parametrem pumpkin_spice_season
:
{ "parameters": {}, "version": { "versionNumber": "1", … }, "parameterGroups": { "new menu": { "description": "New Menu", "parameters": { "pumpkin_spice_season": { "defaultValue": { "value": "true" }, "description": "Whether it's pumpkin spice season." } } } } }
Warunki sygnału niestandardowego
Wartości warunkowe niestandardowych sygnałów można używać do dopasowywania dowolnych sygnałów zdefiniowanych i wysyłanych w aplikacji za pomocą warunków utworzonych na podstawie sygnałów w Remote Config. Dzięki temu możesz dostosować aplikację lub działanie po stronie klienta.
Warunki sygnałów niestandardowych są dostępne w tych środowiskach klienta:
- iOS: wersja 11.8.0 lub nowsza
- Android: w wersji 22.1.0 lub nowszej (Firebase BoM w wersji 33.8.0 lub nowszej)
- Internet: wersja 11.2.0 lub nowsza
Załóżmy na przykład, że pracujesz nad aplikacją do sprzedaży biletów, w której chcesz wyświetlać baner na ekranie głównym. Możesz użyć warunków sygnałów niestandardowych po stronie klienta, aby personalizować banery na podstawie lokalizacji i zainteresowań użytkownika. Możesz wykonać te czynności:
- Dodaj elementy
banner_image_url
ibanner_link
do szablonu klienta Remote Config. Są to obrazy banera i powiązanej z nim strony wydarzenia. - Ustaw sygnały niestandardowe z aplikacji za pomocą wartości
city
ipreferred_event_category
. - Dodaj wartości domyślne do szablonu Remote Config dla konkretnego klienta i utwórz wartości warunkowe na podstawie sygnałów niestandardowych ustawionych w poprzednim kroku.
- Dodaj do szablonu Remote Config wartości domyślne dla klienta i wartości warunkowe dla każdego zdefiniowanego przez Ciebie warunku.
- Zaktualizuj kod aplikacji, aby ustawić i używać niestandardowych warunków sygnału.
Teraz aplikacja może pobierać odpowiednie parametry banner_image_url
i banner_link
, gdy pobiera te parametry z serwera Remote Config.
Limity
Podczas tworzenia niestandardowych warunków sygnału musisz przestrzegać tych limitów:
- Liczba sygnałów niestandardowych: możesz utworzyć maksymalnie 100 warunków sygnałów niestandardowych.
- Niestandardowa nazwa sygnału: każda niestandardowa nazwa sygnału może mieć maksymalnie 250 znaków.
- Wartość niestandardowego sygnału: każda wartość niestandardowego sygnału może mieć maksymalnie 500 znaków. W przypadku wyrażeń regularnych limit wynosi 250 znaków.
Typy reguł warunków
W konsoli Firebase obsługiwane są te typy reguł: Odpowiednie funkcje są dostępne w interfejsie API REST Remote Config, jak opisano w dokumentacji wyrażeń warunkowych.
Typ reguły | Operatorzy | Wartości | Uwaga |
Aplikacja | == | Wybierz z listy identyfikatory aplikacji powiązane z Twoim projektem Firebase. | Podczas dodawania aplikacji do Firebase wpisujesz identyfikator pakietu lub nazwę pakietu na Androida, które definiują atrybut widoczny w regułach Remote Config jako identyfikator aplikacji.
Używaj tego atrybutu w ten sposób:
|
Wersja aplikacji |
W przypadku wartości ciągu znaków: exactly matches, contains, does not contain, contains regex W przypadku wartości liczbowych: <, <=, =, !=, >, >= |
Określ wersje aplikacji, na które chcesz kierować. Przed użyciem tej reguły musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację na Androida lub Apple powiązaną z Twoim projektem Firebase. |
Na platformach Apple: użyj wartości CFBundleShortVersionString aplikacji. Uwaga: upewnij się, że Twoja aplikacja na Apple używa pakietu SDK Firebase na platformy Apple w wersji 6.24.0 lub nowszej, ponieważ w wersjach starszych nie jest wysyłana wartość CFBundleShortVersionString (patrz informacje o wersji). Android: użyj wartości versionName aplikacji. 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 ciągu docelowej wersji. Możesz też użyć kotwic ^ i $, aby dopasować początek, koniec lub cały ciąg docelowy. |
Numer kompilacji |
W przypadku wartości ciągu znaków: exactly matches, contains, does not contain, regular expression W przypadku wartości liczbowych: =, ≠, >, ≥, <, ≤ |
Określ wersje aplikacji, które mają być docelowe. Zanim użyjesz tej reguły, musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację na iOS lub Androida powiązaną z Twoim projektem Firebase. |
Ten operator jest dostępny tylko w przypadku aplikacji na urządzenia z systemem Apple i Android. Odpowiada on wartości CFBundleVersion w przypadku Apple i versionCode w przypadku Androida. W przypadku tej reguły porównywanie ciągów znaków uwzględnia wielkość liter. 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 znaków. Możesz też użyć zakotwiczenia ^ i $, aby dopasować początek, koniec lub cały ciąg docelowy. |
Platforma | == | iOS Android Sieć |
|
System operacyjny | == |
Określ systemy operacyjne, na które chcesz kierować reklamy. Przed użyciem tej reguły musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację internetową powiązaną z Twoim projektem Firebase. |
Ta reguła zwraca wartość true dla danego wystąpienia aplikacji internetowej, jeśli system operacyjny i jego wersja są zgodne z wartością docelową na określonej liście.
|
Przeglądarka | == |
Określ przeglądarki, na które chcesz kierować reklamy. Przed użyciem tej reguły musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację internetową powiązaną z Twoim projektem Firebase. |
Ta reguła przyjmuje wartość true w przypadku danej instancji aplikacji internetowej, 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 użytkownik uzyskuje dostęp do aplikacji internetowej, jest urządzeniem mobilnym czy niemobilnym (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 ta instancja jest zainstalowana na urządzeniu, na którym używany jest jeden z wymienionych języków.
|
Kraj/region | zawiera się w | Wybierz co najmniej 1 region lub kraj. | Ta reguła przyjmuje wartość true dla danej instancji aplikacji, jeśli instancja znajduje się 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 jedną z list odbiorców Google Analytics, które zostały skonfigurowane w Twoim projekcie. | To wymaga reguły identyfikatora aplikacji, aby wybrać aplikację powiązaną z Twoim projektem Firebase. Uwaga: ponieważ wiele Analytics list odbiorców jest definiowanych na podstawie zdarzeń lub właściwości użytkownika, które mogą zależeć od działań użytkowników aplikacji, może minąć trochę czasu, zanim reguła Użytkownik na liście odbiorców zacznie obowiązywać w przypadku danej instancji aplikacji. |
Właściwość użytkownika |
W przypadku wartości ciągu znaków:
contains, does not contain, exactly matches, contains regex W przypadku wartości liczbowych: =, ≠, >, ≥, <, ≤ Uwaga: na kliencie możesz ustawiać tylko wartości ciągu znaków w przypadku właściwości użytkownika. W przypadku warunków, które używają operatorów liczbowych, funkcja Remote Config zamienia wartość odpowiedniej właściwości użytkownika na liczbę całkowitą lub zmiennoprzecinkową. |
Wybierz z listy dostępnych właściwości użytkownika Google Analytics. | Aby dowiedzieć się, jak za pomocą właściwości użytkownika możesz dostosować aplikację do bardzo konkretnych segmentów bazy użytkowników, zapoznaj się z artykułem
Właściwości użytkownika i Remote Config.
Aby dowiedzieć się więcej o właściwościach użytkownika, zapoznaj się z tymi przewodnikami:
Gdy używasz operatora ścisłego dopasowania, 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 znaków. Możesz też użyć zakotwiczenia ^ i $, aby dopasować początek, koniec lub cały ciąg docelowy. Uwaga: właściwości użytkownika zbierane automatycznie nie są dostępne podczas tworzenia warunków Remote Config. |
Użytkownik w losowym przedziale procentowym | suwak (w konsoli Firebase), Interfejs API typu REST używa operatorów <= , > i between .
|
0-100 |
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 wymieszanych 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 początkowy. 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 wartości z zakresu 5–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. |
Zaimportowany segment | zawiera się w | Wybierz co najmniej 1 importowany segment. | To reguła wymaga skonfigurowania importowanych segmentów niestandardowych. |
Data/godzina | Przed i po | Określona data i godzina w strefie czasowej urządzenia lub w strefie czasowej określonej przez użytkownika, np. „(GMT+11) czas sydneyjski”. | Porównuje bieżącą godzinę z czasem pobierania na urządzeniu. |
Pierwsze uruchomienie | Przed i po | Określona data i godzina w określonej strefie czasowej. | Dopasowuje użytkowników, którzy po raz pierwszy otwierają wybraną aplikację w określonym przedziale czasowym. Wymaga tych pakietów SDK:
|
Identyfikator instalacji | zawiera się w | Podaj co najmniej 1 identyfikator instalacji (maksymalnie 50), na który chcesz kierować reklamy. | Ta reguła przyjmuje wartość true dla danej instalacji, jeśli jej identyfikator znajduje się na liście wartości rozdzielonych przecinkami.
Aby dowiedzieć się, jak pobrać identyfikatory instalacji, przeczytaj artykuł Pobieranie identyfikatorów klienta. |
Użytkownik istnieje | (brak operatora) | Kieruje się 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 ciągu znaków:
contains, does not contain, exactly matches, contains regex W przypadku wartości liczbowych: =, ≠, >, ≥, <, ≤ W przypadku wartości wersji: =, ≠, >, ≥, <, ≤ |
W porównaniach ciągów znaków w ramach tej reguły wielkość liter ma znaczenie. Gdy używasz operatora ścisłego dopasowania, zawiera, nie zawiera lub zawiera wyrażenie regularne, możesz wybrać większą liczbę wartości. Korzystając z 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 ciągu wersji docelowej. Możesz też użyć zakotwiczeń ^ i $, aby dopasować początek, koniec lub cały ciąg docelowy. W środowiskach klienta obsługiwane są te typy danych:
Liczba reprezentująca numery wersji, które mają być dopasowane (np. 2.1.0). |
Więcej informacji o niestandardowych warunkach sygnału i wyrażeniach warunkowych znajdziesz w artykułach Niestandardowe warunki sygnału i Elementy używane do tworzenia warunków. |
Parametry i warunki wyszukiwania
W konsoli Firebase możesz wyszukiwać klucze parametrów, wartości parametrów i warunki w swoim 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 aktywności 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.