Parametry i warunki Zdalnej konfiguracji

Szablony możesz skonfigurować pod kątem przypadków użycia zarówno klienta, jak i serwera. Szablony klienta są przesyłane do wszystkich instancji aplikacji, które implementują pakiety SDK klienta Firebase na potrzeby Zdalnej konfiguracji, w tym aplikacji na Androida, Apple, Web, Unity, Flutter i C++. Parametry i wartości Zdalnej konfiguracji z szablonów na poziomie serwera są przesyłane do implementacji Zdalnej konfiguracji (w tym Cloud Run i Cloud Functions), które korzystają z pakietu SDK Firebase Admin Node.js w wersji 12.1.0 lub nowszej.

Jeśli używasz konsoli Firebase lub interfejsów API backendu Zdalnej konfiguracji, definiujesz co najmniej 1 parametr (pary klucz-wartość) i podajesz dla nich domyślne wartości w aplikacji. Możesz zastąpić domyślne wartości w aplikacji, definiując wartości parametrów. Klucze i wartości parametrów mają postać ciągów znaków, ale wartości parametrów możesz przesyłać jako inne typy danych, jeśli używasz ich w aplikacji.

Za pomocą konsoli Firebase, pakietu Admin SDK lub interfejsu Remote Config REST API możesz utworzyć nowe wartości domyślne parametrów, a także wartości warunkowe, które będą używane do kierowania na grupy instancji aplikacji. Za każdym razem, gdy aktualizujesz konfigurację w konsoli Firebase, Firebase tworzy i publikuje nową wersję szablonu Zdalnej konfiguracji. Dostępna jest poprzednia wersja, dzięki czemu w razie potrzeby możesz ją przywrócić lub przywrócić. Operacje te są dostępne w konsoli Firebase, w pakiecie SDK Firebase Admin SDK i w interfejsie API REST. Zostały one szczegółowo opisane w artykule Zarządzanie wersjami szablonów Zdalnej konfiguracji.

W tym przewodniku objaśniamy parametry, warunki, reguły, wartości warunkowe oraz priorytety poszczególnych wartości parametrów na serwerze Zdalnej konfiguracji i w aplikacji. Znajdziesz w nim też informacje o typach reguł używanych do tworzenia warunków.

Warunki, reguły i wartości warunkowe

Warunek jest używany do kierowania reklam na grupę instancji aplikacji. Warunki składają się z co najmniej 1 reguły, które muszą ocenić wartość true, aby warunek oceniał true w przypadku danej instancji aplikacji. Jeśli wartość reguły jest nieokreślona (np. gdy nie ma dostępnej wartości), ta reguła przyjmuje wartość false.

Na przykład parametr definiujący stronę powitalną aplikacji może wyświetlać różne obrazy w zależności od typu systemu operacyjnego, używając prostej reguły if device_os = Android:

Zrzut ekranu z parametrem „splash_page” w konsoli Firebase przedstawiający wartość domyślną w przypadku iOS i wartość warunkową w przypadku Androida

Możesz też użyć warunku czasowego, aby kontrolować, kiedy aplikacja wyświetla specjalne elementy promocyjne.

Parametr może mieć wiele wartości warunkowych, które stosują różne warunki, a parametry mogą mieć takie same warunki w projekcie. Na karcie Parametry w konsoli Firebase możesz sprawdzić odsetek pobierania dla wartości warunkowych każdego parametru. Ten wskaźnik określa odsetek żądań, które otrzymały poszczególne wartości w ciągu ostatnich 24 godzin.

Priorytet wartości parametru

Z parametrem może być powiązanych kilka wartości warunkowych. Poniższe reguły określają, która wartość jest pobierana z serwera Zdalnej konfiguracji i która wartość jest używana w danej instancji aplikacji w konkretnym momencie:

Wartości parametrów są pobierane zgodnie z tą listą priorytetów

  1. Po pierwsze, stosowane są wartości warunkowe, jeśli istnieją warunki, które w danej instancji aplikacji mają wartość true. Jeśli wiele warunków przyjmuje wartość true, pierwszeństwo ma pierwszy (najwyższy) widoczny w interfejsie konsoli Firebase, a powiązane z nim wartości warunkowe są podawane, gdy aplikacja pobiera wartości z backendu. Priorytet warunków możesz zmienić, przeciągając i upuszczając je na karcie Warunki.

  2. Jeśli nie ma wartości warunkowych z warunkami przyjmującymi wartość true, wartość domyślna Zdalnej konfiguracji jest podawana, gdy aplikacja pobiera wartości z backendu. Jeśli parametru nie ma w backendzie lub jeśli ustawiona jest wartość domyślna Użyj wartości domyślnej w aplikacji, wartość tego parametru nie jest podana, gdy aplikacja pobiera wartości.

W Twojej aplikacji wartości parametrów są zwracane przez metody get zgodnie z tą listą priorytetów

  1. Jeśli wartość została pobrana z backendu, a następnie aktywowana, aplikacja używa tej wartości. Aktywowane wartości parametrów są trwałe.
  2. Jeśli z backendu nie została pobrana żadna wartość lub jeśli wartości pobrane z backendu Zdalnej konfiguracji nie zostały aktywowane, aplikacja używa wartości domyślnej w aplikacji.

    Więcej informacji o uzyskiwaniu i ustawianiu wartości domyślnych znajdziesz w artykule Pobieranie wartości domyślnych szablonu Zdalnej konfiguracji.

  3. Jeśli nie ustawiono domyślnej wartości w aplikacji, aplikacja używa wartości typu statycznego (np. 0 w przypadku int i false w boolean).

Ta ilustracja przedstawia priorytety wartości parametrów w backendzie Zdalnej konfiguracji i w Twojej aplikacji:

Schemat przedstawiający przepływ opisany przez uporządkowane listy powyżej

Typy danych wartości parametrów

Zdalna konfiguracja pozwala wybrać typ danych dla każdego parametru i sprawdza wszystkie wartości Zdalnej konfiguracji pod kątem tego typu przed aktualizacją szablonu. Typ danych jest przechowywany i zwracany w odpowiedzi na żądanie getRemoteConfig.

Obecnie obsługiwane typy to:

  • String
  • Boolean
  • Number
  • JSON

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

Grupy parametrów

Zdalna konfiguracja pozwala grupować parametry, aby zapewnić bardziej uporządkowany interfejs użytkownika i model psychiczny.

Załóżmy na przykład, że podczas wdrażania nowej funkcji logowania chcesz włączyć lub wyłączyć 3 różne typy uwierzytelniania. Zdalna konfiguracja pozwala utworzyć 3 parametry, aby włączyć poszczególne typy, a następnie umieścić je w grupie o nazwie „Nowy login” bez konieczności dodawania prefiksów ani specjalnego sortowania.

Grupy parametrów możesz tworzyć za pomocą konsoli Firebase lub interfejsu Remote Config REST API. Każda grupa parametrów, którą utworzysz, ma w szablonie Zdalnej konfiguracji unikalną nazwę. Podczas tworzenia grup parametrów pamiętaj o tych kwestiach:

  • Parametry można w danej chwili uwzględnić tylko w jednej grupie, a klucz parametru musi być niepowtarzalny wśród 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, upewnij się, że wszystkie funkcje logiczne interfejsu API REST zostały zaktualizowane tak, 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. Wybierz 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, a następnie kliknij Utwórz nową grupę. Po zapisaniu grupy można ją opublikować za pomocą przycisku Opublikuj zmiany.

Automatyczne tworzenie grup

Interfejs Remote Config API REST API umożliwia automatyczne tworzenie i publikowanie grup parametrów. Zakładając, że znasz metody REST i masz uprawnienia do autoryzowania żądań do interfejsu API, możesz wykonać te czynności, aby automatycznie zarządzać grupami:

  1. Pobierz bieżący szablon
  2. Dodaj obiekty JSON reprezentujące grupy parametrów
  3. 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 unikalny.

Oto przykład z wersji szablonu, która dodaje grupę parametrów „nowe 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 currently pumpkin spice season."
        }
      }
    }
  }
}

Typy reguł warunku

Konsola Firebase obsługuje podane niżej typy reguł. Odpowiedniki funkcje są dostępne w interfejsie Remote Config REST API. Szczegółowe informacje znajdziesz w dokumentacji wyrażeń warunkowych.

Typ reguły Operatory Wartości Uwaga
Aplikacja == Wybierz z listy identyfikatory aplikacji powiązanych z Twoim projektem Firebase. Podczas dodawania aplikacji do Firebase podajesz identyfikator pakietu lub nazwę pakietu na Androida definiującego atrybut widoczny jako Identyfikator aplikacji w regułach Zdalnej konfiguracji.

Użyj tego atrybutu w następujący sposób:
  • Platformy Apple: użyj identyfikatora CFBundleIdentifier w aplikacji. Identyfikator pakietu możesz znaleźć na karcie General (Ogólne) głównego miejsca docelowego aplikacji w Xcode.
  • Android: użyj parametru applicationId aplikacji. applicationId znajdziesz w pliku build.gradle na poziomie aplikacji.
Wersja aplikacji W przypadku wartości ciągów:
ściśle pasuje do,
zawiera,
nie zawiera,
wyrażenia regularnego

W przypadku wartości liczbowych:
=, ≠, >, ≥, <, ≤

Określ wersje aplikacji, na które chcesz kierować reklamy.

Zanim użyjesz tej reguły, musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację na Androida lub Apple powiązaną z Twoim projektem Firebase.

Platformy Apple: użyj parametru CFBundleShortVersionString aplikacji.

Uwaga: upewnij się, że Twoja aplikacja Apple korzysta z pakietu SDK platformy Apple na platformy Firebase w wersji 6.24.0 lub nowszej, ponieważ CFBundleShortVersionString nie jest wysyłane we wcześniejszych wersjach (zobacz informacje o wersji).

Android: użyj parametru versionName aplikacji.

W porównaniach ciągów znaków w przypadku tej reguły wielkość liter ma znaczenie. Gdy używasz operatora ściśle pasuje do, zawiera, nie zawiera lub wyrażenia regularnego, możesz wybrać wiele wartości.

Korzystając z operatora wyrażenia regularnego, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może zostać dopasowane do całego ciągu znaków wersji docelowej lub do jego części. Możesz też użyć kotwic ^ i $, aby dopasować początek, koniec lub całość docelowego ciągu znaków.

Numer kompilacji W przypadku wartości liczbowych:
ściśle pasuje do,
zawiera,
nie zawiera,
wyrażenia regularnego

W przypadku wartości liczbowych:
=, ≠, >, ≥, <, ≤

Określ kompilacje aplikacji, na które chcesz kierować reklamy.

Zanim użyjesz tej reguły, musisz użyć reguły Identyfikator aplikacji, by wybrać aplikację na Apple lub Androida powiązaną z Twoim projektem Firebase.

Ten operator jest dostępny tylko w przypadku aplikacji Apple i na Androida. Odpowiada to parametrowi CFBundleVersion aplikacji w przypadku Apple i parametr versionCode w przypadku Androida. W porównaniach ciągów znaków w przypadku tej reguły rozróżniana jest wielkość liter.

Gdy używasz operatora ściśle pasuje do, zawiera, nie zawiera lub wyrażenia regularnego, możesz wybrać wiele wartości.

Korzystając z operatora wyrażenia regularnego, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może zostać dopasowane do całego ciągu znaków wersji docelowej lub do jego części. Możesz też użyć kotwic ^ i $, aby dopasować początek, koniec lub całość docelowego ciągu znaków.

Platforma == iOS
Android
Internet
 
System operacyjny ==

Określ systemy operacyjne, na które mają być kierowane reklamy.

Zanim użyjesz tej reguły, musisz użyć reguły Identyfikator aplikacji, by wybrać aplikację internetową powiązaną z projektem Firebase.

Jeśli system operacyjny i jego wersja są zgodne z wartością docelową na określonej liście, reguła ta zwraca w przypadku danej instancji aplikacji internetowej wartość true.
Przeglądający ==

Określ przeglądarki, na które mają być kierowane reklamy.

Zanim użyjesz tej reguły, musisz użyć reguły Identyfikator aplikacji, by wybrać aplikację internetową powiązaną z projektem Firebase.

Jeśli przeglądarka i jej wersja pasują do wartości docelowej na określonej liście, ta reguła zwraca wartość true w przypadku danej instancji aplikacji internetowej.
Kategoria urządzenia to, nie jest komórka Ta reguła określa, czy urządzenie, które korzysta z Twojej aplikacji internetowej, jest urządzeniem mobilnym czy niemobilnym (komputerem lub konsolą). Ten typ reguły jest dostępny tylko dla aplikacji internetowych.
Języki zawiera się w Wybierz co najmniej jeden język. Jeśli dana instancja aplikacji jest zainstalowana na urządzeniu korzystającym z jednego z wymienionych języków, ta reguła zwraca wartość true.
Kraj lub region zawiera się w Wybierz co najmniej jeden region lub kraj. Jeśli dana instancja aplikacji znajduje się w dowolnym z wymienionych regionów lub krajów, reguła ta zwraca wartość true. Kod kraju urządzenia jest określany na podstawie adresu IP urządzenia wskazanego 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 grup odbiorców Google Analytics skonfigurowanych w projekcie.

Ta reguła wymaga reguły identyfikatora aplikacji, aby wybrać aplikację powiązaną z projektem Firebase.

Uwaga: wiele list odbiorców Analytics jest definiowanych przez zdarzenia lub właściwości użytkownika, które mogą zależeć od działań użytkowników aplikacji, dlatego może minąć trochę czasu, zanim reguła Użytkownik na liście odbiorców zacznie obowiązywać w danej instancji aplikacji.

Właściwość użytkownika W przypadku wartości ciągów:
zawiera,
nie zawiera,
ściśle pasuje do,
wyrażenia regularnego

W przypadku wartości liczbowych:
=, ≠, >, ≥, <, ≤

Uwaga: na kliencie możesz ustawić tylko ciągi znaków dla właściwości użytkownika. W przypadku warunków z operatorami liczbowymi Zdalna konfiguracja konwertuje wartość odpowiedniej właściwości użytkownika na liczbę całkowitą/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 dostosować aplikację do określonych segmentów użytkowników, zapoznaj się z sekcją Zdalna konfiguracja i właściwości użytkownika.

Więcej informacji o właściwościach użytkownika znajdziesz w tych przewodnikach:

Gdy używasz operatora ściśle pasuje do, zawiera, nie zawiera lub wyrażenia regularnego, możesz wybrać wiele wartości.

Korzystając z operatora wyrażenia regularnego, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może zostać dopasowane do całego ciągu znaków wersji docelowej lub do jego części. Możesz też użyć kotwic ^ i $, aby dopasować początek, koniec lub całość docelowego ciągu znaków.

Uwaga: właściwości użytkownika zbierane automatycznie są obecnie niedostępne podczas tworzenia warunków Zdalnej konfiguracji.
Użytkownik w losowym procentie Suwak (w konsoli Firebase. API REST używa operatorów <=, > i between. 0-100

Użyj tego pola, by zastosować zmianę do losowej próbki instancji aplikacji (z próbkami o rozmiarze zaledwie 0,0001%) i zastosować widżet suwaka, aby podzielić na grupy losowo wybranych użytkowników (wystąpienia aplikacji).

Każde wystąpienie aplikacji jest trwale mapowane na losową liczbę całkowitą lub ułamkową zgodnie z wartością ziarna zdefiniowanej w tym projekcie.

Reguła będzie używać klucza domyślnego (wyświetlanego w konsoli Firebase jako Edytuj plik wyjściowy), chyba że zmienisz wartość wyjściową. Aby przywrócić regułę do klucza domyślnego, wyczyść pole Seed (Plik wyjściowy).

Aby konsekwentnie odnieść się do tych samych instancji aplikacji w określonych zakresach procentowych, użyj tej samej wartości wyjściowej w różnych warunkach. Możesz też wybrać nową losowo przypisaną grupę instancji aplikacji dla danego zakresu procentowego, podając nowe źródło.

Aby np. utworzyć 2 powiązane warunki, które mają zastosowanie do 5% użytkowników aplikacji, każdy z nich może dopasować wartość procentową od 0% do 5%, a drugi tak, żeby pasowała do zakresu od 5% do 10%. Aby umożliwić losowe pojawienie się niektórych użytkowników w obu grupach, użyj różnych wartości wyjściowych dla reguł w każdym z warunków.

Zaimportowany segment zawiera się w Wybierz co najmniej 1 zaimportowany segment. Ta reguła wymaga skonfigurowania niestandardowych zaimportowanych segmentów.
Data/godzina Przed, po Określona data i godzina w strefie czasowej urządzenia lub w wybranej strefie czasowej, na przykład „(GMT+11) czas Sydney”. Porównuje bieżącą godzinę z czasem pobrania z urządzenia.
Pierwsze uruchomienie Przed, po Określona data i godzina w określonej strefie czasowej.

Dopasowuje użytkowników, którzy po raz pierwszy otworzyli docelową aplikację w wybranym przedziale czasu.

Wymaga tych pakietów SDK:

  • Pakiet SDK Firebase dla Google Analytics
  • SDK na platformy Apple w wersji 9.0.0 lub nowszej albo pakiet Android SDK w wersji 21.1.1 lub nowszej (Firebase BoM w wersji 30.3.0 lub nowszej)

Identyfikator instalacji zawiera się w Podaj co najmniej 1 identyfikator instalacji (maksymalnie 50), który ma być celem kierowania. Jeśli w przypadku danej instalacji identyfikator znajduje się na liście wartości rozdzielonych przecinkami, reguła ta zwraca wartość true.

Aby dowiedzieć się, jak uzyskać identyfikatory instalacji, przeczytaj artykuł Pobieranie identyfikatorów klientów.
Użytkownik istnieje (brak operatora) Kieruje reklamy na 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 czy platformy.

Wyszukiwanie parametrów i warunków

Klucze parametrów, wartości parametrów i warunki projektu możesz wyszukiwać w konsoli Firebase za pomocą pola wyszukiwania u góry karty Parametry Zdalnej konfiguracji.

Ograniczenia parametrów i warunków

W projekcie Firebase możesz mieć maksymalnie 2000 parametrów i 500 warunków. Klucze parametrów mogą mieć do 256 znaków, muszą zaczynać się od podkreślenia lub litery alfabetu języka angielskiego (A–Z, a–z) i mogą zawierać cyfry. Całkowita 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 Zdalnej konfiguracji możesz wyświetlić w konsoli Firebase. W przypadku poszczególnych parametrów i warunków 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 Zdalnej konfiguracji.

  • Jeśli zmiana nastąpiła co najmniej 1 dzień w przeszłości, wyświetl datę jej opublikowania w aktywnym szablonie Zdalnej konfiguracji.

Aktualizacje parametrów

Na stronie Parametry Zdalnej konfiguracji kolumna Ostatnia publikacja zawiera informacje o ostatnim użytkowniku, który zmodyfikował poszczególne parametry, i o dacie ostatniej publikacji zmiany:

  • Aby wyświetlić metadane zmian dla zgrupowanych parametrów, rozwiń grupę parametrów.

  • Aby posortować rosnąco lub malejąco według daty publikacji, kliknij etykietę kolumny Ostatnia publikacja.

Aktualizacje stanu

Na stronie Warunki Zdalnej konfiguracji możesz wyświetlić użytkownika, który ostatnio zmodyfikował warunek, oraz datę jego modyfikacji. Obok każdego warunku znajdziesz Ostatnia modyfikacja.

Dalsze kroki

Aby rozpocząć konfigurowanie projektu Firebase, przeczytaj artykuł Konfigurowanie projektu Zdalnej konfiguracji Firebase.