Google is committed to advancing racial equity for Black communities. See how.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Parametry i warunki zdalnej konfiguracji

Korzystając z konsoli Firebase lub interfejsów API zaplecza Remote Config , definiujesz co najmniej jeden parametr (pary klucz-wartość) i podajesz domyślne wartości tych parametrów w aplikacji. Wartości domyślne w aplikacji można zastąpić, 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 aplikacji.

Korzystając z konsoli Firebase lub interfejsu Remote Config REST API , możesz tworzyć nowe wartości domyślne dla swoich parametrów, a także wartości warunkowe, które są używane do określania docelowych grup wystąpień 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 umożliwia pobranie lub przywrócenie w razie potrzeby. Te operacje są również dostępne za pośrednictwem REST API.

W tym przewodniku opisano parametry, warunki, reguły, wartości warunkowe oraz sposób nadawania priorytetów różnym wartościom parametrów na serwerze Remote Config Server iw aplikacji. Zawiera również szczegółowe informacje na temat typów reguł używanych do tworzenia warunków.

Warunki, reguły i wartości warunkowe

Warunek służy do określania grupy wystąpień aplikacji. Warunki składają się z co najmniej jednej reguły, z której wszystkie muszą mieć wartość true aby warunek został uznany za true dla danej instancji aplikacji. Jeśli wartość reguły jest niezdefiniowana (na przykład, gdy żadna wartość nie jest dostępna), ta 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 :

Lub warunek czasowy może służyć do kontrolowania, kiedy Twoja aplikacja wyświetla specjalne przedmioty promocyjne.

Parametr może mieć wiele wartości warunkowych, które używają różnych warunków, a parametry mogą mieć takie same warunki w projekcie.

Priorytet wartości parametru

Z parametrem może być skojarzonych 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 którekolwiek z nich mają warunki, których wynikiem jest true dla danej instancji aplikacji. Jeśli wiele warunków zostanie uznanych za true , pierwszeństwo ma pierwszy (górny) z interfejsu konsoli Firebase, a wartości warunkowe skojarzone z tym warunkiem są podawane, 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órych wynikiem jest true , wartość domyślna po stronie serwera jest podawana, gdy aplikacja pobiera wartości z zaplecza. Jeśli parametr nie istnieje w zapleczu lub jeśli wartość domyślna jest ustawiona na Brak wartości , wówczas żadna wartość nie jest podawana dla tego parametru, gdy aplikacja pobiera wartości.

W 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.
  3. Jeśli nie ustawiono wartości domyślnej w aplikacji, aplikacja używa wartości typu statycznego (na przykład 0 dla wartości typu int i false dla wartości boolean ).

Ta grafika podsumowuje, w jaki sposób wartości parametrów są traktowane priorytetowo w zapleczu Zdalnej konfiguracji oraz w Twojej aplikacji:

Grupy parametrów

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

Na przykład, powiedzmy, że musisz włączyć lub wyłączyć trzy różne typy uwierzytelniania podczas wdrażania nowej funkcji logowania. Dzięki Remote Config możesz utworzyć trzy parametry, aby włączyć typy zgodnie z potrzebami, a następnie zorganizować je w grupę o nazwie „New login”, bez konieczności dodawania przedrostków lub specjalnego sortowania.

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

  • Parametry mogą być w dowolnym momencie uwzględnione tylko w jednej grupie, a klucz parametru nadal musi być unikalny dla wszystkich parametrów.
  • 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 logika interfejsu API REST została zaktualizowana, aby obsługiwała grupy parametrów podczas publikowania.

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

Możesz pogrupować 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 opcję 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 automatyczny sposób tworzenia i publikowania grup parametrów. Zakładając, że znasz REST i jesteś skonfigurowany do autoryzowania żądań do interfejsu API, możesz wykonać następujące kroki, aby programowo zarządzać grupami:

  1. Pobierz bieżący szablon
  2. Dodaj obiekty JSON do reprezentowania grup 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. Należy pamiętać, że każdy klucz grupy musi być unikatowy w skali globalnej.

Na przykład, oto fragment wersji 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ł warunków

Następujące typy reguł są obsługiwane w konsoli Firebase. Równoważne funkcje są dostępne w interfejsie API REST Remote Config, zgodnie z opisem w opisie wyrażenia warunkowego .

Typ reguły Operator (y) Wartości Uwaga
Aplikacja == Wybierz z listy identyfikatory aplikacji powiązanych z Twoim projektem Firebase. Dodając aplikację do Firebase, podajesz identyfikator pakietu iOS lub nazwę pakietu Androida, który definiuje atrybut, który jest ujawniany jako identyfikator aplikacji w regułach Remote Config.

Użyj tego atrybutu w następujący sposób:
  • Na iOS: użyj 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 aplikacji aplikacji . 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

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

Określ docelowe wersje aplikacji.

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

W przypadku systemu iOS: użyj wartości CFBundleShortVersionString aplikacji.

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

Android: Użyj aplikacji za versionName .

Porównania ciągów dla tej reguły uwzględniają wielkość liter. Używając operatora dopasowania ścisłego , zawiera , nie zawiera lub wyrażenia regularnego , możesz wybrać wiele wartości.

Korzystając z operatora wyrażenia regularnego , można tworzyć wyrażenia regularne w formacie RE2 . Twoje wyrażenie regularne może dopasować całość lub część ciągu wersji docelowej. Możesz również użyć kotwic ^ i $, aby dopasować początek, koniec lub całość ciągu 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ć docelowe.

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

Ten operator jest dostępny tylko dla aplikacji na iOS i odpowiada CFBundleVersion aplikacji. Porównania ciągów dla tej reguły uwzględniają wielkość liter.

Używając operatora dopasowania ścisłego , zawiera , nie zawiera lub wyrażenia regularnego , możesz wybrać wiele wartości.

Korzystając z operatora wyrażenia regularnego , można tworzyć wyrażenia regularne w formacie RE2 . Twoje wyrażenie regularne może dopasować całość lub część ciągu wersji docelowej. Możesz również użyć kotwic ^ i $, aby dopasować początek, koniec lub całość ciągu docelowego.

Typ systemu operacyjnego == iOS
Android
Data / godzina <=,> Określona data i godzina w strefie czasowej urządzenia lub w określonej strefie czasowej, na przykład „(GMT + 11) czas Sydney”. Porównuje bieżący czas z czasem pobierania urządzenia.
Użytkownik w losowym percentylu <=,> 0-100

Użyj tego pola, aby zastosować zmianę do losowej próbki instancji aplikacji (z próbkami o rozmiarach tak małych jak .0001%), używając operatorów <= i > do segmentowania użytkowników (instancji 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 będzie używać klucza domyślnego (wyświetlanego jako DEF w konsoli Firebase), chyba że wybierzesz lub utworzysz inny klucz. Możesz przywrócić regułę używającą klucza domyślnego, usuwając losowanie użytkowników za pomocą tego pola klucza . Możesz użyć jednego klucza we wszystkich regułach, aby konsekwentnie adresować te same wystąpienia aplikacji w określonych zakresach procentowych. Możesz też wybrać nową, losowo przypisaną grupę wystąpień 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 <= Reguła 10% . Aby umożliwić niektórym użytkownikom losowe pojawienie się w obu grupach, użyj różnych kluczy dla reguł w każdym stanie.

Użytkownik na widowni == Wybierz co najmniej jedną grupę odbiorców z listy odbiorców Google Analytics, którą skonfigurowałeś dla swojego projektu.

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

Uwaga: ponieważ wiele grup 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żytkownika w grupie odbiorców zacznie obowiązywać dla danej instancji aplikacji.

Urządzenie w regionie / kraju == Wybierz co najmniej jeden region lub kraj. Ta reguła jest oceniana jako true dla danej instancji aplikacji, jeśli instancja znajduje się w jednym 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).
Język urządzenia == Wybierz co najmniej jeden język. Ta reguła jest oceniana jako true dla danej instancji aplikacji, jeśli ta instancja aplikacji jest zainstalowana na urządzeniu używającym jednego z wymienionych języków.
Właściwość 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 korzystających z operatorów numerycznych Remote Config 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 konkretnych segmentów bazy użytkowników, zobacz temat 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 dopasowania ścisłego , zawiera , nie zawiera lub wyrażenia regularnego , możesz wybrać wiele wartości.

Korzystając z operatora wyrażenia regularnego , można tworzyć wyrażenia regularne w formacie RE2 . Twoje wyrażenie regularne może dopasować całość lub część ciągu wersji docelowej. Możesz również użyć kotwic ^ i $, aby dopasować początek, koniec lub całość ciągu docelowego.

Uwaga: automatycznie zbierane właściwości użytkownika nie są obecnie dostępne podczas tworzenia warunków Zdalnej konfiguracji.

Wyszukiwanie parametrów i warunków

Możesz przeszukiwać klucze parametrów, wartości parametrów i warunki projektu z 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 alfabetu angielskiego (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 projektu Firebase, zobacz Konfigurowanie projektu Firebase Remote Config .