Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Parametry i warunki zdalnej konfiguracji

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Korzystając z konsoli Firebase lub interfejsów API backendu Zdalnej konfiguracji , zdefiniuj co najmniej jeden parametr (pary klucz-wartość) i podaj 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 po stronie serwera. Klucze parametrów i wartości parametrów są ciągami, ale wartości parametrów mogą być rzutowane jako inne typy danych, gdy używasz tych wartości w swojej aplikacji.

Za pomocą konsoli Firebase, pakietu Admin SDK lub interfejsu Remote Config REST API możesz tworzyć nowe wartości domyślne parametrów, a także wartości warunkowe używane do kierowania grup instancji aplikacji. Za każdym razem, gdy aktualizujesz konfigurację w konsoli Firebase, Firebase tworzy i publikuje nową wersję szablonu Zdalnej konfiguracji. Poprzednia wersja jest przechowywana, co pozwala na przywrócenie lub wycofanie w razie potrzeby. Te operacje są dostępne za pośrednictwem konsoli Firebase, pakietu Firebase Admin SDK oraz interfejsu API REST. Zostały one szczegółowo opisane w wersji szablonów Zarządzanie Zdalną konfiguracją .

W tym przewodniku wyjaśniono parametry, warunki, reguły, wartości warunkowe oraz priorytety różnych wartości parametrów na serwerze zdalnej konfiguracji i w aplikacji. Zawiera również szczegółowe informacje na temat rodzajów 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 jednej reguły, z której wszystkie muszą zostać ocenione jako true , aby warunek został oszacowany jako true dla danego wystąpienia aplikacji. Jeśli wartość reguły jest niezdefiniowana (na przykład, gdy żadna wartość nie jest dostępna), reguła zostanie oceniona jako 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 przy użyciu prostej reguły if device_os = Android :

Zrzut ekranu parametru „splash_page” w konsoli Firebase, pokazujący jego wartość domyślną w systemie iOS i wartość warunkową w systemie Android

Możesz też użyć warunku czasowego do kontrolowania, kiedy Twoja aplikacja wyświetla specjalne artykuły promocyjne.

Parametr może mieć wiele wartości warunkowych, które używają różnych warunków, a parametry mogą współdzielić warunki w ramach projektu. Na karcie Parametry w konsoli Firebase możesz wyświetlić procent pobierania dla wartości warunkowych każdego parametru. Ta metryka wskazuje procent żądań w ciągu ostatnich 24 godzin, które otrzymały każdą wartość.

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 Remote Config Server, a która jest używana w danej instancji aplikacji w określonym momencie:

Wartości parametrów po stronie serwera są pobierane zgodnie z następującą listą priorytetów

  1. Po pierwsze, wartości warunkowe są stosowane, jeśli jakiekolwiek warunki mają wartość true dla danej instancji aplikacji. Jeśli wiele warunków ma wartość true , pierwsze (górne) warunki wyświetlane w interfejsie konsoli Firebase mają pierwszeństwo, a wartości warunkowe skojarzone z tym warunkiem są dostarczane, gdy aplikacja pobiera wartości z zaplecza. Możesz zmienić priorytet warunków, przeciągając i upuszczając warunki na karcie Warunki .

  2. Jeśli nie ma wartości warunkowych z warunkami, które mają wartość true , domyślna wartość po stronie serwera jest dostarczana, gdy aplikacja pobiera wartości z zaplecza. Jeśli parametr nie istnieje w zapleczu lub jeśli wartość domyślna jest ustawiona na Użyj wartości domyślnej w aplikacji , nie jest dostarczana żadna wartość dla tego parametru, gdy aplikacja pobiera wartości.

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

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

    Aby uzyskać więcej informacji na temat uzyskiwania i ustawiania wartości domyślnych, zobacz Pobieranie ustawień domyślnych szablonu Zdalnej konfiguracji .

  3. Jeśli nie ustawiono żadnej wartości domyślnej w aplikacji, aplikacja używa wartości typu statycznego (na przykład 0 dla int i false dla boolean ).

Ta grafika podsumowuje 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 umożliwia wybranie typu danych dla każdego parametru i sprawdza poprawność wszystkich wartości po stronie serwera względem tego typu przed aktualizacją szablonu. Typ danych jest przechowywany i zwracany na żądanie getRemoteConfig .

Obecnie obsługiwane typy to:

  • String
  • Boolean
  • Number
  • JSON

W interfejsie użytkownika konsoli Firebase typ danych można wybrać z listy rozwijanej obok klucza parametru. W REST API typy można ustawić za pomocą pola value_type w obiekcie parametru.

Grupy parametrów

Zdalna konfiguracja umożliwia grupowanie parametrów w celu uzyskania bardziej zorganizowanego interfejsu użytkownika i modelu mentalnego.

Załóżmy na przykład, że podczas wdrażania nowej funkcji logowania musisz włączyć lub wyłączyć trzy różne typy uwierzytelniania. Dzięki zdalnej konfiguracji możesz utworzyć trzy parametry, aby włączyć wybrane typy zgodnie z potrzebami, a następnie zorganizować je w grupę o nazwie „Nowe logowanie”, bez konieczności dodawania przedrostków lub specjalnego sortowania.

Możesz tworzyć grupy parametrów za pomocą konsoli Firebase lub interfejsu API REST Remote Config. Każda utworzona grupa parametrów ma unikalną nazwę w szablonie Zdalnej konfiguracji. Tworząc grupy parametrów, pamiętaj:

  • Parametry mogą być zawarte tylko w jednej grupie w dowolnym momencie, a klucz parametru musi nadal być unikalny we wszystkich parametrach.
  • Nazwy grup parametrów są ograniczone do 256 znaków.
  • Jeśli używasz zarówno interfejsu API REST, jak i konsoli Firebase, upewnij się, że każda logika interfejsu API REST została zaktualizowana w celu obsługi grup parametrów podczas publikowania.

Twórz lub modyfikuj grupy parametrów za pomocą konsoli Firebase

Możesz grupować parametry 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 wybierz Przenieś do grupy .
  3. Wybierz istniejącą grupę lub utwórz nową, wprowadzając nazwę i opis, a następnie wybierając Utwórz nową grupę . Po zapisaniu grupy można ją opublikować za pomocą przycisku Opublikuj zmiany .

Twórz grupy programowo

Interfejs API REST Remote Config zapewnia zautomatyzowany sposób tworzenia i publikowania grup parametrów. Zakładając, że znasz REST i masz skonfigurowaną autoryzację żądań do interfejsu API, możesz wykonać następujące kroki, aby programowo zarządzać grupami:

  1. Pobierz aktualny szablon
  2. Dodaj obiekty JSON, aby reprezentować grupy parametrów
  3. Opublikuj grupy parametrów za pomocą żądania HTTP PUT.

Obiekt parameterGroups zawiera klucze grupowe z zagnieżdżonym opisem i listą zgrupowanych parametrów. Pamiętaj, że każdy klucz grupy musi być globalnie unikalny.

Na przykład, oto fragment 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ł warunkowych

W konsoli Firebase obsługiwane są następujące typy reguł. Równoważna funkcjonalność jest dostępna w interfejsie API REST Remote Config, zgodnie z opisem w opisie wyrażenia warunkowego .

Typ reguły Operator(y) Wartość(-ci) Notatka
Aplikacja == Wybierz z listy identyfikatorów aplikacji dla aplikacji powiązanych z Twoim projektem Firebase. Podczas dodawania aplikacji do Firebase wpisujesz identyfikator pakietu lub nazwę pakietu Androida, który definiuje atrybut, który jest widoczny jako identyfikator aplikacji w regułach Zdalnej konfiguracji.

Użyj tego atrybutu w następujący sposób:
  • W przypadku platform Apple: użyj identyfikatora CFBundleIdentifier aplikacji . Identyfikator pakietu można znaleźć na karcie Ogólne dla głównego celu aplikacji w Xcode.
  • W przypadku systemu Android: użyj identyfikatora applicationId . Identyfikator applicationId można znaleźć w pliku build.gradle na poziomie aplikacji.
Wersja aplikacji Dla wartości ciągów:
dokładnie pasuje,
zawiera,
nie zawiera,
Wyrażenie regularne

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

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

Przed użyciem tej reguły musisz użyć reguły App ID , aby wybrać aplikację na Androida/Apple powiązaną z Twoim projektem Firebase.

Na platformach Apple: użyj CFBundleShortVersionString aplikacji.

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

W przypadku Androida: użyj nazwy versionName .

W porównaniach ciągów dla tej reguły rozróżniana jest wielkość liter. Używając operatora dokładnych dopasowań , zawiera , nie zawiera lub wyrażeń regularnych , można wybrać wiele wartości.

Używając operatora wyrażeń regularnych , możesz tworzyć wyrażenia regularne w formacie RE2 . Twoje wyrażenie regularne może pasować do całości lub części ciągu wersji docelowej. Możesz także użyć kotwic ^ i $ , aby dopasować początek, koniec lub całość docelowego ciągu.

Numer kompilacji Dla wartości ciągów:
dokładnie pasuje,
zawiera,
nie zawiera,
Wyrażenie regularne

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

Określ kompilacje aplikacji, które mają być docelową.

Przed użyciem tej reguły musisz użyć reguły App ID , aby wybrać aplikację na Apple lub Androida powiązaną z Twoim projektem Firebase.

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

Używając operatora dokładnych dopasowań , zawiera , nie zawiera lub wyrażeń regularnych , można wybrać wiele wartości.

Używając operatora wyrażeń regularnych , możesz tworzyć wyrażenia regularne w formacie RE2 . Twoje wyrażenie regularne może pasować do całości lub części ciągu wersji docelowej. Możesz także użyć kotwic ^ i $ , aby dopasować początek, koniec lub całość docelowego ciągu.

Platforma == iOS
Android
Sieć
System operacyjny ==

Określ docelowe systemy operacyjne.

Przed użyciem tej reguły musisz użyć reguły App ID , aby wybrać aplikację internetową powiązaną z Twoim projektem Firebase.

Ta reguła ma wartość true dla danego wystąpienia aplikacji sieci Web, jeśli system operacyjny i jego wersja są zgodne z wartością docelową na określonej liście.
Przeglądarka ==

Określ przeglądarki docelowe.

Przed użyciem tej reguły musisz użyć reguły App ID , aby wybrać aplikację internetową powiązaną z Twoim projektem Firebase.

Ta reguła ma wartość true dla danego wystąpienia aplikacji sieci Web, jeśli przeglądarka i jej wersja są zgodne z wartością docelową na określonej liście.
Kategoria urządzenia jest, nie jest mobilny Ta reguła ocenia, czy urządzenie uzyskujące dostęp do Twojej aplikacji internetowej jest mobilne, czy niemobilne (komputer stacjonarny lub konsola). Ten typ reguły jest dostępny tylko w aplikacjach internetowych.
Języki jest w Wybierz co najmniej jeden język. Ta reguła ma wartość true dla danego wystąpienia aplikacji, jeśli to wystąpienie aplikacji jest zainstalowane na urządzeniu używającym jednego z wymienionych języków.
Kraj/region jest w Wybierz co najmniej jeden region lub kraj. Ta reguła ma wartość true dla danego wystąpienia aplikacji, jeśli wystąpienie znajduje się w dowolnym 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 użytkowników Zawiera co najmniej jeden Wybierz co najmniej jedną z listy odbiorców Google Analytics, którą masz skonfigurowaną w swoim projekcie.

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

Uwaga: ponieważ wiele odbiorców Analytics jest definiowanych przez zdarzenia lub właściwości użytkownika, które mogą opierać się na działaniach użytkowników aplikacji, może minąć trochę czasu, zanim reguła „ Użytkownik w odbiorcach ” zacznie obowiązywać w danym wystąpieniu aplikacji.

Własność użytkownika Dla wartości ciągów:
zawiera,
nie zawiera,
dokładnie pasuje,
Wyrażenie regularne

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

Uwaga: Na kliencie można ustawić tylko wartości łańcuchowe dla właściwości użytkownika. W przypadku warunków, które używają operatorów numerycznych, 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 używać właściwości użytkownika do dostosowywania aplikacji do bardzo określonych segmentów bazy użytkowników, zobacz Zdalna konfiguracja i właściwości użytkownika .

Aby dowiedzieć się więcej o właściwościach użytkownika, zapoznaj się z następującymi przewodnikami:

Używając operatora dokładnych dopasowań , zawiera , nie zawiera lub wyrażenia regularnego , można wybrać wiele wartości.

Używając operatora wyrażeń regularnych , możesz tworzyć wyrażenia regularne w formacie RE2 . Twoje wyrażenie regularne może pasować do całości lub części ciągu wersji docelowej. Możesz także użyć kotwic ^ i $ , aby dopasować początek, koniec lub całość docelowego ciągu.

Uwaga: automatycznie zbierane właściwości użytkownika nie są obecnie dostępne podczas tworzenia warunków zdalnej konfiguracji.
Użytkownik w losowym percentylu <=, > 0-100

Użyj tego pola, aby zastosować zmianę do losowej próbki wystąpień aplikacji (o wielkości próbki wynoszącej zaledwie 0,0001%), używając operatorów <= i > do podzielenia użytkowników (wystąpień aplikacji) na grupy.

Każde wystąpienie aplikacji jest trwale mapowane na losową liczbę całkowitą lub ułamkową, zgodnie z kluczem zdefiniowanym w tym projekcie. Reguła użyje klucza domyślnego (oznaczonego jako DEF w konsoli Firebase), chyba że wybierzesz lub utworzysz inny klucz. Możesz przywrócić regułę do używania klucza domyślnego, czyszcząc pole Losuj użytkowników przy użyciu tego klucza . Możesz użyć jednego klucza w różnych regułach, aby konsekwentnie adresować te same wystąpienia aplikacji w określonych zakresach procentowych. Możesz też wybrać nową losowo przypisaną grupę instancji aplikacji dla danego zakresu procentowego, tworząc nowy klucz.

Na przykład, aby utworzyć dwa powiązane warunki, z których każdy ma zastosowanie do nienakładających się 5% użytkowników aplikacji, jeden warunek może zawierać regułę <= 5% , a inny warunek zawiera zarówno regułę > 5% , jak i <= Zasada 10% . Aby umożliwić niektórym użytkownikom losowe pojawianie się w obu grupach, użyj różnych kluczy dla reguł w każdym warunku.

Importowany segment jest w Wybierz co najmniej jeden zaimportowany segment. Ta reguła wymaga skonfigurowania niestandardowych importowanych segmentów .
Data/godzina Przed po Określona data i godzina w strefie czasowej urządzenia lub w określonej strefie czasowej, np. „(GMT+11) czas Sydney”. Porównuje aktualny czas z czasem pobrania urządzenia.
Identyfikator instalacji jest w Określ jeden lub więcej identyfikatorów instalacji (maksymalnie 50) do celu. Ta reguła ma wartość true dla danej instalacji, jeśli identyfikator tej instalacji znajduje się na liście wartości rozdzielonych przecinkami.

Aby dowiedzieć się, jak uzyskać identyfikatory instalacji, zobacz Pobieranie identyfikatorów klienta .

Wyszukiwanie parametrów i warunków

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

Ograniczenia parametrów i warunków

W projekcie Firebase możesz mieć do 2000 parametrów i do 500 warunków. Klucze parametrów mogą mieć długość do 256 znaków, muszą zaczynać się od podkreślenia lub litery angielskiej (AZ, az) i mogą również zawierać cyfry. Całkowita długość ciągów wartości parametrów w projekcie nie może przekraczać 1 000 000 znaków.

Przeglądanie zmian parametrów i warunków

Najnowsze zmiany w szablonach Zdalnej konfiguracji możesz wyświetlić w konsoli Firebase . Dla każdego indywidualnego 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, wyświetl liczbę minut lub godzin, które upłynęły od opublikowania zmiany w aktywnym szablonie Zdalnej konfiguracji.

  • Jeśli zmiana nastąpiła jeden lub więcej dni w przeszłości, wyświetl datę opublikowania zmiany w aktywnym szablonie Zdalnej konfiguracji.

Aktualizacje parametrów

Na stronie Parametry zdalnej konfiguracji kolumna Ostatnia opublikowana zawiera ostatniego użytkownika, który zmodyfikował każdy parametr, oraz datę ostatniej publikacji zmiany:

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

  • Aby posortować w porządku rosnącym lub malejącym według daty publikacji, kliknij etykietę Ostatnia opublikowana kolumna.

Aktualizacje stanu

Na stronie Warunki zdalnej konfiguracji można zobaczyć ostatniego użytkownika, który zmodyfikował warunek, oraz datę jego modyfikacji obok opcji Ostatnia modyfikacja poniżej każdego warunku.

Następne kroki

Aby rozpocząć konfigurowanie projektu Firebase, zobacz Konfigurowanie projektu zdalnej konfiguracji Firebase .