Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Parametry i warunki zdalnej konfiguracji

Podczas korzystania Firebase Console lub Remote API backend Config można zdefiniować jeden lub więcej parametrów (par klucz-wartość) i podać wartości domyślne w aplikacjach 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.

Korzystanie z konsoli Firebase lub Remote Config REST API , można tworzyć nowe wartości domyślne dla parametrów, jak również wartości warunkowych, które są stosowane do grup docelowych 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ą również dostępne za pośrednictwem interfejsu API REST.

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 jednego lub większej liczby zasad, które należy oceniać wszystko aby true o warunek, aby ocenić na true dla danej instancji aplikacji. Jeśli wartość z reguły jest niezdefiniowane (na przykład, gdy wartość nie jest dostępny), że reguła będzie oceniać na false .

Na przykład, parametr, który określa strona powitalna danej aplikacji mógłby wyświetlać różne obrazy na podstawie typu systemu operacyjnego za pomocą prostej reguły if device_os = Android :

Lub, o stan czas może być używany do sterowania, gdy aplikacja wyświetla specjalne 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 konsoli Firebase można wyświetlać procent pobierał wartości warunkowych dla 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 w ogóle mają warunki, które oceniają, aby true dla danej instancji aplikacji. Jeśli wiele warunków będzie true , pierwszy (górny) pokazany w interfejsie konsoli Firebase ma pierwszeństwo, a wartości warunkowe związane z tym stanie są dostarczane, gdy aplikacja pobiera wartości z zaplecza. Można zmienić priorytet warunkach przez przeciąganie i upuszczanie warunki w zakładce Conditions.

  2. Jeśli nie ma wartości warunkowe z warunkami, które oceniają, aby true , wartość domyślna server-side jest gdy aplikacja pobiera wartości z zaplecza. Jeśli parametr nie istnieje w backend, albo jeśli wartość domyślna jest ustawiona do wykorzystania w aplikacji domyślnej, a następnie wartość nie jest przewidziane dla tego parametru, gdy aplikacja pobiera wartości.

W swojej aplikacji, wartości parametrów są zwracane przez get metod według poniższej listy priorytetowej

  1. Jeśli wartość została pobrana z backendu, 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.
  3. Jeśli żadna wartość domyślna w aplikacji został ustawiony, aplikacja wykorzystuje statyczną wartość typu (takie jak 0 dla int i false dla boolean ).

Ta grafika podsumowuje priorytety wartości parametrów w backendzie Zdalnej konfiguracji i w Twojej aplikacji:

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 przechowywana i wrócił na getRemoteConfig życzenie.

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 pozostałych typów API można ustawić za pomocą value_type pola 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żna parametry grupowe w Parameters zakładce konsoli Firebase. Aby utworzyć lub zmodyfikować grupę:

  1. Wybierz Zarządzanie grupami.
  2. Zaznacz pola wyboru dla parametrów chcesz dodać i wybierz Przenieś do grupy.
  3. Wybierz istniejącą grupę lub utwórz nową grupę, wprowadzając nazwę i opis, i wybierając opcję Utwórz nową grupę. Po zapisaniu grupy, jest on dostępny zostać opublikowane za pomocą przycisku Opublikuj zmiany.

Twórz grupy programowo

Remote Config REST API 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.

parameterGroups obiekt zawiera klucze grupy, z opisu i zagnieżdżonego liście zgrupowanych parametrów. Pamiętaj, że każdy klucz grupy musi być globalnie unikalny.

Na przykład, oto fragment rewizji szablonu, który 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ł. Odpowiednik funkcjonalność jest dostępna w Remote Config REST API, jak wyszczególniono w warunkowej odniesienia ekspresji .

Typ reguły Operator(y) Wartość(-ci) Notatka
Aplikacja == Wybierz z listy identyfikatorów aplikacji dla aplikacji powiązanych z Twoim projektem Firebase. Po dodaniu aplikacji do Firebase, wpiszesz iOS lub Android wiązka ID nazwy pakietu, który definiuje atrybut, który jest wystawiony jako App ID w odległych zasad config.

Użyj tego atrybutu w następujący sposób:
  • Na iOS: użyj aplikacji za CFBundleIdentifier . Można znaleźć identyfikator pakietu w karcie Ogólne dla swojej aplikacji za główny cel w Xcode.
  • Android: Użyj aplikacji za applicationId . Można znaleźć applicationId w app poziomu build.gradle pliku.
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 zastosowaniem tej zasady, należy użyć reguły App ID, aby wybrać aplikację Android / iOS związanego z projektem Firebase.

Na iOS: użyj aplikacji za CFBundleShortVersionString .

Uwaga: Upewnij się, że aplikacja na iOS wykorzystuje Firebase iOS SDK w wersji 6.24.0 lub nowszej, jak CFBundleShortVersionString nie jest wysyłany w poprzednich wersjach (patrz informacje o wydaniu ).

Android: Użyj aplikacji za versionName .

W porównaniach ciągów dla tej reguły rozróżniana jest wielkość liter. Przy stosowaniu dokładnie odpowiada, zawiera, nie zawiera, lub wyrażenie regularne operator, można wybrać wiele wartości.

Przy użyciu zwykłego operatora ekspresji, można tworzyć wyrażenia regularne w RE2 formacie. Twoje wyrażenie regularne może pasować do całości lub części ciągu wersji docelowej. Można również użyć ^ i $ kotwice dopasować początek, koniec, czy całość łańcucha docelowego.

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 zastosowaniem tej zasady, należy użyć reguły App ID, aby wybrać aplikację na iOS lub Android powiązanych z projektem Firebase.

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

Przy stosowaniu dokładnie odpowiada, zawiera, nie zawiera, lub wyrażenie regularne operator, można wybrać wiele wartości.

Przy użyciu zwykłego operatora ekspresji, można tworzyć wyrażenia regularne w RE2 formacie. Twoje wyrażenie regularne może pasować do całości lub części ciągu wersji docelowej. Można również użyć ^ i $ kotwice dopasować początek, koniec, czy całość łańcucha docelowego.

Platforma == iOS
Android
Sieć
System operacyjny ==

Określ docelowe systemy operacyjne.

Przed zastosowaniem tej zasady, należy użyć reguły App ID, aby wybrać aplikację internetową związaną z projektem Firebase.

Ocenia Ta reguła do true dla danej instancji aplikacji Web Jeśli system operacyjny i jego wersja odpowiada wartości docelowej w podanej listy.
Przeglądarka ==

Określ przeglądarki docelowe.

Przed zastosowaniem tej zasady, należy użyć reguły App ID, aby wybrać aplikację internetową związaną z projektem Firebase.

Ocenia Ta reguła do true dla danej instancji aplikacji WWW czy przeglądarka i jej wersja odpowiada wartości docelowej w podanej listy.
Data/godzina <=, > 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.
Użytkownik w losowym percentylu <=, > 0-100

Pole to służy do wprowadzenia zmian w losowej próbie wystąpień aplikacji (z przykładowy rozmiarach tak małe jak .0001%) za pomocą przycisków <= i> operatorom użytkowników segmentu (Instancja APP) na grupy.

Każda instancja aplikacja jest trwale odwzorowany na losowej całości lub ułamkowej liczby, zgodnie z kluczem określonym w tym projekcie. Reguła użyje domyślnego klucza (pokazany jako DEF w konsoli Firebase) chyba wybrać lub utworzyć inny klucz. Można powrócić regułę przy użyciu klucza domyślnego, usuwając użytkowników losowo za pomocą tego klucza pole. 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, które każdy stosuje się do nie pokrywających 5% użytkowników aplikacji jest, można mieć jeden warunek obejmują <= 5% regułę, a drugi warunek obejmować zarówno> 5% regułę a <= 10% regułą. Aby umożliwić niektórym użytkownikom losowe pojawianie się w obu grupach, użyj różnych kluczy dla reguł w każdym warunku.

Użytkownik w grupie odbiorców == 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ż publiczność wiele Analytics są zdefiniowane przez użytkownika zdarzeń lub właściwości, które mogą być oparte na działania użytkowników aplikacji, może upłynąć trochę czasu, a użytkownik z reguły publiczność staje się skuteczne dla danej instancji aplikacji.

Urządzenie w regionie/kraju == Wybierz co najmniej jeden region lub kraj. Zasada ta ma wartość true dla danej instancji aplikacji czy instancja jest w każdym z regionów lub państw wymienionych. 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).
Język urządzenia == Wybierz co najmniej jeden język. Zasada ta ma wartość true dla danej instancji aplikacji, czy to przypadek aplikacja jest zainstalowana na urządzeniu, które wykorzystuje jeden z wymienionych języków.
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 można wykorzystać właściwości użytkownika, aby dostosować swoją aplikację na ściśle określonych segmentach swojej bazy użytkowników, zobacz Remote Config i użytkowników nieruchomości .

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

Przy stosowaniu dokładnie odpowiada, zawiera lub nie zawiera wyrażenie regularne operator, można wybrać wiele wartości.

Przy użyciu zwykłego operatora ekspresji, można tworzyć wyrażenia regularne w RE2 formacie. Twoje wyrażenie regularne może pasować do całości lub części ciągu wersji docelowej. Można również użyć ^ i $ kotwice dopasować początek, koniec, czy całość łańcucha docelowego.

Uwaga: Automatycznie zbierane właściwości użytkownika nie są obecnie dostępne podczas tworzenia zdalnych warunki config.
Importowany segment == Wybierz co najmniej jeden zaimportowany segment. Zasada ta wymaga utworzenia niestandardowego importowane segmenty .

Wyszukiwanie parametrów i warunków

Można wyszukiwać klucze Twojego projektu parametrów, wartości parametrów i warunków z konsoli Firebase za pomocą pola wyszukiwania w górnej zakładce Remote Config Parameters.

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ć 800 000 znaków.

Następne kroki

Aby rozpocząć konfigurowanie Firebase projekt, zobacz Konfigurowanie Firebase Remote Config projektu .