Catch up on highlights from Firebase at Google I/O 2023. Learn more

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 wartości domyślne 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 to ciągi znaków, ale wartości parametrów można rzutować jako inne typy danych, gdy używasz tych wartości w 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 na grupy 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 umożliwia jej 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 i są bardziej szczegółowo opisane w artykule Zarządzanie wersjami szablonów zdalnej konfiguracji .

W tym przewodniku wyjaśniono parametry, warunki, reguły, wartości warunkowe oraz sposób ustalania priorytetów różnych wartości parametrów na serwerze zdalnej konfiguracji i w 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 kierowania na grupę instancji aplikacji. Warunki składają się z co najmniej jednej reguły, z których wszystkie muszą mieć wartość true , aby warunek mógł zostać oceniony jako 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 zwróci 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 przy użyciu prostej reguły if device_os = Android :

Zrzut ekranu przedstawiający parametr „splash_page” w konsoli Firebase przedstawiający jego wartość domyślną dla systemu iOS i wartość warunkową dla systemu 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ółużytkować 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 zdalnej konfiguracji i która wartość jest używana w danej instancji aplikacji w określonym momencie:

Wartości parametrów po stronie serwera są pobierane zgodnie z poniższą listą priorytetów

  1. Najpierw stosowane są wartości warunkowe, jeśli istnieją warunki, które mają wartość true dla danej instancji aplikacji. Jeśli wiele warunków ma wartość true , pierwszy (górny) warunek wyświetlany w interfejsie konsoli Firebase ma pierwszeństwo, a wartości warunkowe powiązane z tym warunkiem są dostarczane, gdy aplikacja pobiera wartości z zaplecza. Możesz zmienić priorytet warunków, przeciągając je i upuszczając na karcie Warunki .

  2. Jeśli nie ma wartości warunkowych z warunkami, których wynikiem jest true , podawana jest wartość domyślna po stronie serwera, 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 , to podczas pobierania wartości przez aplikację nie jest dostarczana żadna wartość dla tego parametru.

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 została ustawiona żadna wartość domyślna 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 zapleczu Remote Config i w Twojej aplikacji:

Diagram 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 w żądaniu getRemoteConfig .

Obecnie obsługiwane typy to:

  • String
  • Boolean
  • Number
  • JSON

W interfejsie 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 Parameter.

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 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 grupie o nazwie „Nowy login”, bez potrzeby dodawania prefiksów lub specjalnego sortowania.

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

  • Parametry mogą należeć tylko do jednej grupy w dowolnym momencie, a klucz parametru 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 wszystkie logiki interfejsu API REST są aktualizowane 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 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 opcję 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 Publikuj zmiany .

Twórz grupy programowo

Interfejs API REST usługi Remote Config zapewnia zautomatyzowany sposób tworzenia i publikowania grup parametrów. Zakładając, że znasz REST i jesteś skonfigurowany do autoryzacji żądań do API, możesz wykonać te kroki, aby programowo zarządzać grupami:

  1. Pobierz bieżący szablon
  2. Dodaj obiekty JSON, aby reprezentować 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. Należy pamiętać, że każdy klucz grupy musi być globalnie unikalny.

Oto na przykład fragment wersji szablonu, w której dodano 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

Następujące typy reguł są obsługiwane w konsoli Firebase. Równoważne funkcje są dostępne w interfejsie API REST usługi Remote Config, jak opisano szczegółowo w odwołaniu do wyrażeń warunkowych .

Typ reguły Operator(zy) Wartość(e) Notatka
Aplikacja == Wybierz z listy identyfikatory aplikacji dla aplikacji powiązanych z Twoim projektem Firebase. Gdy dodajesz aplikację do Firebase, podajesz identyfikator pakietu lub nazwę pakietu Android, która 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 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. applicationId można znaleźć w pliku build.gradle na poziomie aplikacji.
Wersja aplikacji Dla wartości łańcuchowych:
dokładnie pasuje,
zawiera,
nie zawiera,
Wyrażenie regularne

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

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

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

W przypadku platform Apple: Użyj CFBundleShortVersionString aplikacji.

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

W przypadku systemu Android: użyj nazwy wersji aplikacji .

W porównaniach ciągów dla tej reguły jest rozróżniana wielkość liter. Używając dokładnie dopasowań , zawiera , nie zawiera lub operatora wyrażenia regularnego , można 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 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ść ciągu docelowego.

Numer kompilacji Dla wartości łańcuchowych:
dokładnie pasuje,
zawiera,
nie zawiera,
Wyrażenie regularne

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

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

Zanim użyjesz tej reguły, musisz użyć reguły identyfikatora aplikacji , aby wybrać aplikację Apple lub Android powiązaną z 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 jest rozróżniana wielkość liter.

Używając dokładnie dopasowań , zawiera , nie zawiera lub operatora wyrażenia regularnego , można 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 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ść ciągu docelowego.

Platforma == iOS
Android
Sieć
System operacyjny ==

Określ systemy operacyjne, które mają być docelowe.

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

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

Określ przeglądarki, na które chcesz kierować reklamy.

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

Ta reguła ma wartość true dla danego wystąpienia aplikacji sieci Web, jeśli przeglądarka i jej wersja odpowiadają wartości docelowej 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 dla aplikacji internetowych.
Języki jest w Wybierz jeden lub więcej języków. Ta reguła ma wartość true dla danej instancji aplikacji, jeśli ta instancja aplikacji jest zainstalowana na urządzeniu korzystającym z jednego z wymienionych języków.
Kraj/region jest w Wybierz co najmniej jeden region lub kraj. Ta reguła ma wartość true dla danej instancji aplikacji, jeśli znajduje się ona 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ą grupę odbiorców Google Analytics skonfigurowaną dla swojego projektu.

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

Uwaga: ponieważ wielu 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 upłynąć trochę czasu, zanim reguła Użytkownik w grupie odbiorców zacznie obowiązywać w danej instancji aplikacji.

Właściwość użytkownika Dla wartości łańcuchowych:
zawiera,
nie zawiera,
dokładnie pasuje,
Wyrażenie regularne

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

Uwaga: Na kliencie można ustawić tylko wartości łańcuchowe dla właściwości użytkownika. W przypadku warunków, w których używane są operatory numeryczne, 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żesz użyć właściwości użytkownika, aby dostosować aplikację 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 dokładnie dopasowań , zawiera , nie zawiera lub operatora 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 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ść ciągu docelowego.

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

Użyj tego pola, aby zastosować zmianę w losowej próbce instancji aplikacji (o wielkości próby wynoszącej zaledwie 0,0001%), używając widżetu suwaka do podzielenia losowo przetasowanych użytkowników (instancji aplikacji) na grupy.

Każda instancja aplikacji jest trwale mapowana na losową liczbę całkowitą lub ułamkową, zgodnie z materiałem źródłowym zdefiniowanym w tym projekcie.

Reguła użyje klucza domyślnego (pokazanego jako Edytuj źródło w konsoli Firebase), chyba że zmodyfikujesz wartość źródła. Możesz przywrócić regułę do klucza domyślnego, czyszcząc pole Ziarno .

Aby konsekwentnie odnosić się do tych samych wystąpień aplikacji w określonych zakresach procentowych, użyj tej samej wartości początkowej we wszystkich warunkach. Możesz też wybrać nową losowo przypisaną grupę instancji aplikacji dla danego zakresu procentowego, określając nowe źródło.

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, możesz skonfigurować jeden warunek, aby odpowiadał wartości procentowej z przedziału od 0% do 5%, a drugi warunek pasował do zakresu od 5% do 10%. Aby umożliwić niektórym użytkownikom losowe pojawianie się w obu grupach, użyj różnych wartości początkowych dla reguł w każdym warunku.

Zaimportowany segment jest w Wybierz co najmniej jeden zaimportowany segment. Ta reguła wymaga skonfigurowania importowanych segmentów niestandardowych .
Data/Godzina Przed po Określona data i godzina w strefie czasowej urządzenia lub określonej strefie czasowej, na przykład „(GMT+11) czas Sydney”. Porównuje bieżący czas z czasem pobierania urządzenia.
Pierwszy otwarty Przed po Określona data i godzina w określonej strefie czasowej.

Dopasowuje użytkowników, którzy po raz pierwszy otworzyli wybraną aplikację w określonym przedziale czasowym.

Wymaga następujących zestawów SDK:

  • Firebase SDK dla Google Analytics
  • Platformy Apple SDK v9.0.0+ lub Android SDK v21.1.1+ (Firebase BoM v30.3.0+)

Identyfikator instalacji jest w Określ jeden lub więcej identyfikatorów instalacji (do 50), które mają być kierowane. Ta reguła ma wartość true dla danej instalacji, jeśli identyfikator tej instalacji znajduje się na liście wartości oddzielonych przecinkami.

Aby dowiedzieć się, jak uzyskać identyfikatory instalacji, zobacz 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 lub platformy.

Wyszukiwanie parametrów i warunków

Możesz wyszukiwać klucze parametrów projektu, wartości parametrów i warunki 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 i muszą zaczynać się od znaku 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 przeglądać w konsoli Firebase . Dla każdego pojedynczego parametru i warunku możesz:

  • Wyświetl nazwę użytkownika, który jako ostatni 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 co najmniej jeden dzień wcześniej, sprawdź datę opublikowania zmiany w aktywnym szablonie Zdalnej konfiguracji.

Aktualizacje parametrów

Na stronie Parametry zdalnej konfiguracji kolumna Ostatnio opublikowana pokazuje 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ć rosnąco lub malejąco według daty publikacji, kliknij etykietę kolumny Ostatnia publikacja .

Aktualizacje warunków

Na stronie Warunki zdalnej konfiguracji możesz zobaczyć ostatniego użytkownika, który zmodyfikował warunek, oraz datę modyfikacji obok pozycji Ostatnia modyfikacja pod każdym warunkiem.

Następne kroki

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