Parametry i warunki zdalnej konfiguracji

Korzystając z konsoli Firebase lub interfejsów API zaplecza Remote Config , definiujesz jeden lub więcej parametrów (par klucz-wartość) i podajesz dla nich domyślne wartości w aplikacji. Możesz zastąpić wartości domyślne w aplikacji, definiując wartości parametrów po stronie serwera. Klucze parametrów i wartości parametrów to ciągi, 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, pakietu Admin SDK lub interfejsu REST API zdalnej konfiguracji , możesz utworzyć 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 pozwala na jej przywrócenie lub przywrócenie w razie potrzeby. Te operacje są dostępne za pośrednictwem konsoli Firebase, pakietu Firebase Admin SDK i interfejsu API REST i są opisane szerzej 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 także 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ę wystąpień aplikacji. Warunki składają się z co najmniej jednej reguły, z których wszystkie muszą mieć wartość true , aby warunek mógł mieć wartość true dla danej instancji aplikacji. Jeśli wartość reguły jest niezdefiniowana (na przykład, gdy żadna wartość nie jest dostępna), reguła ta otrzyma 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, korzystając z prostej reguły if device_os = Android :

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

Można też użyć warunku czasu , aby kontrolować, kiedy w aplikacji wyświetlane są specjalne artykuły promocyjne.

Parametr może mieć wiele wartości warunkowych, które korzystają z różnych warunków, a parametry mogą mieć wspólne warunki w ramach projektu. Na karcie Parametry konsoli Firebase możesz wyświetlić procent pobierania 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 jakiekolwiek mają warunki, które dla danej instancji aplikacji mają wartość true . Jeśli wiele warunków ma wartość true , pierwszy (najwyższy) pokazany w interfejsie użytkownika konsoli Firebase ma pierwszeństwo, a wartości warunkowe powiązane z tym warunkiem są udostępniane, 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 , wartość domyślna po stronie serwera jest udostępniana, 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 , wówczas nie jest udostępniana żadna wartość dla tego parametru, gdy aplikacja pobiera wartości.

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

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

    Więcej informacji na temat uzyskiwania i ustawiania wartości domyślnych można znaleźć w artykule 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 zapleczu Remote Config i w 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 wszystkie 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 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 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ć żądane typy, a następnie zorganizować je w grupie o nazwie „Nowe logowanie” bez potrzeby dodawania przedrostków ani specjalnego sortowania.

Grupy parametrów możesz tworzyć 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, należy pamiętać:

  • Parametry mogą być zawarte tylko w jednej grupie w dowolnym momencie, a klucz parametru musi nadal 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 cała 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

Parametry możesz grupować na karcie Parametry w konsoli Firebase. Aby utworzyć lub zmodyfikować grupę:

  1. Wybierz opcję Zarządzaj grupami .
  2. Zaznacz pola wyboru parametrów, które chcesz dodać i wybierz opcję Przenieś do grupy .
  3. Wybierz istniejącą grupę lub utwórz nową grupę, 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 usługi Remote Config zapewnia zautomatyzowany sposób tworzenia i publikowania grup parametrów. Zakładając, że znasz REST i skonfigurowałeś autoryzację żądań do API, możesz wykonać następujące 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 grupowe z zagnieżdżonym opisem i listą zgrupowanych parametrów. Należy pamiętać, ż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ł warunku

W konsoli Firebase obsługiwane są następujące typy reguł. Równoważna funkcjonalność jest dostępna w interfejsie API REST funkcji Remote Config, jak opisano szczegółowo w opisie wyrażeń warunkowych .

Typ reguły Operator(zy) Wartości Notatka
Aplikacja == Wybierz z listy identyfikatory aplikacji powiązanych z Twoim projektem Firebase. Gdy dodajesz aplikację do Firebase, wprowadzasz identyfikator pakietu lub nazwę pakietu Androida, który definiuje atrybut 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.
  • Dla Androida: Użyj applicationId aplikacji. 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 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 zestawu SDK platform Firebase Apple w wersji 6.24.0 lub nowszej, ponieważ we wcześniejszych wersjach nie jest wysyłany CFBundleShortVersionString (zobacz informacje o wersji ).

W systemie Android: użyj nazwy wersji aplikacji .

W porównaniach ciągów dla tej reguły rozróżniana jest wielkość liter. Używając operatora dokładnie pasuje , 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 pasować do całości lub części ciągu znaków 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 ciągów:
dokładnie pasuje,
zawiera,
nie zawiera,
Wyrażenie regularne

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

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

Przed użyciem tej reguły musisz użyć reguły identyfikatora aplikacji , aby wybrać aplikację Apple lub Android 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ładnie pasuje , 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 pasować do całości lub części ciągu znaków 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.

Przed użyciem 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 danej instancji aplikacji internetowej, 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.

Przed użyciem 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 danej instancji aplikacji internetowej, 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 inne (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 jeden lub więcej regionów lub krajów. Ta reguła ma wartość true dla danej instancji aplikacji, jeśli instancja znajduje się w którymkolwiek z wymienionych regionów lub krajów. Kod kraju urządzenia jest ustalany 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 skonfigurowanej dla swojego projektu.

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

Uwaga: ponieważ wiele grup odbiorców Analytics jest zdefiniowanych na podstawie zdarzeń 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 grupie odbiorców zacznie obowiązywać w przypadku danej instancji 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 korzystających z operatorów numerycznych funkcja 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 w celu dostosowania 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 poniższymi przewodnikami:

Używając operatora dokładnie pasuje , 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 pasować do całości lub części ciągu znaków 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 wykorzystuje operatory <= , > i between ). 0-100

Użyj tego pola, aby zastosować zmianę w losowej próbie wystąpień aplikacji (o wielkości próby wynoszącej zaledwie 0,0001%), korzystając z widżetu suwaka, aby podzielić losowo przemieszanych użytkowników (instancje aplikacji) na grupy.

Każda instancja aplikacji jest trwale mapowana na losową liczbę całkowitą lub ułamkową, zgodnie z ziarnem zdefiniowanym w tym projekcie.

Reguła użyje klucza domyślnego (pokazanego jako Edytuj ziarno w konsoli Firebase), chyba że zmodyfikujesz wartość początkowego. Możesz przywrócić w regule domyślny klucz, czyszcząc pole Seed .

Aby konsekwentnie adresować te same wystąpienia aplikacji w określonych zakresach procentowych, użyj tej samej wartości początkowej w różnych warunkach. Możesz też wybrać nową, losowo przypisaną grupę wystąpień aplikacji dla danego zakresu procentowego, określając nowy element początkowy.

Na przykład, aby utworzyć dwa powiązane warunki, z których każdy ma zastosowanie do nienakładających się na siebie 5% użytkowników aplikacji, możesz skonfigurować jeden warunek tak, aby odpowiadał wartości procentowej od 0% do 5%, a drugi warunek, aby odpowiadał zakresowi od 5% do 10%. Aby umożliwić niektórym użytkownikom losowe pojawienie się w obu grupach, użyj różnych wartości początkowych dla reguł w każdym warunku.

Zaimportowany segment jest w Wybierz jeden lub więcej zaimportowanych segmentów. 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 bieżący czas z czasem pobrania urządzenia.
Najpierw otwarte Przed po Określona data i godzina w określonej strefie czasowej.

Pasuje do użytkowników, którzy jako pierwsi otworzyli wybraną aplikację w określonym przedziale czasu.

Wymaga następujących zestawów SDK:

  • Pakiet SDK Firebase 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ć docelowe. 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 klienta .
Użytkownik istnieje (bez 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 i platformy.

Wyszukiwanie parametrów i warunków

Możesz wyszukiwać klucze parametrów, wartości parametrów i warunki swojego projektu 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 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 wyświetlić w konsoli Firebase . Dla każdego indywidualnego 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 Remote Config.

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

Aktualizacje parametrów

Na stronie Parametry zdalnej konfiguracji kolumna Ostatnia publikacja 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 Ostatnio opublikowana .

Aktualizacje stanu

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

Następne kroki

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