Parametry i warunki Zdalnej konfiguracji

Szablony możesz skonfigurować pod kątem przypadków użycia zarówno klienta, jak i serwera. Szablony klientów są udostępniane do wszystkich instancji aplikacji, które implementują pakiety SDK klienta Firebase na potrzeby Zdalnej konfiguracji, w tym aplikacji na Androida, Apple, Web, Unity, Flutter i C++. Parametry i wartości Zdalnej konfiguracji z szablonów związanych z serwerem są przesyłane do implementacji Zdalnej konfiguracji (w tym Cloud Run i Cloud Functions), które korzystają z pakietu SDK Firebase Admin Node.js w wersji 12.1.0 lub nowszej.

Korzystając z konsoli Firebase lub interfejsów API backendu Zdalnej konfiguracji, musisz zdefiniować jeden lub więcej parametrów (pary klucz-wartość) i podać dla nich domyślne wartości w aplikacji. Możesz zastąpić domyślne wartości w aplikacji, definiując wartości parametrów. Klucze i wartości parametrów są ciągami tekstowymi, ale ich wartości w aplikacji można rzutować jako inne typy danych.

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 przywrócenie lub przywrócenie poprzedniej wersji. Operacje te są dostępne w konsoli Firebase, za pomocą pakietu SDK Firebase Admin i interfejsu API REST. Szczegółowy opis znajdziesz w artykule Zarządzanie wersjami szablonów Zdalnej konfiguracji.

W tym przewodniku wyjaśniamy parametry, warunki, reguły i wartości warunkowe, a także priorytety poszczególnych wartości parametrów na serwerze Zdalnej konfiguracji i w aplikacji. Wyjaśniamy w nim również typy reguł używanych do tworzenia warunków.

Warunki, reguły i wartości warunkowe

Warunek jest używany do kierowania reklam na grupę instancji aplikacji. Warunki składają się z co najmniej 1 reguły. Każda z nich musi ocenić wartość true, aby warunek został sklasyfikowany jako true w przypadku danej instancji aplikacji. Jeśli wartość reguły jest nieokreślona (np. gdy nie jest dostępna żadna wartość), reguła zwróci wartość false.

Na przykład parametr określający stronę powitalną aplikacji może wyświetlać różne obrazy w zależności od typu systemu operacyjnego, używając prostej reguły if device_os = Android:

Zrzut ekranu przedstawiający parametr „splash_page” w konsoli Firebase z wyświetloną wartością domyślną dla iOS i wartością warunkową w przypadku Androida

Możesz też użyć warunku czasowego, aby określić, kiedy w aplikacji mają wyświetlać się specjalne elementy promocyjne.

Parametr może mieć wiele wartości warunkowych, które używają różnych warunków. Parametry mogą współdzielić warunki w obrębie projektu. Na karcie Parametry w konsoli Firebase możesz wyświetlić procent pobierania dla wartości warunkowych poszczególnych parametrów. Ten wskaźnik wskazuje odsetek żądań w ciągu ostatnich 24 godzin, które otrzymały daną 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 jaka jest używana w danej instancji aplikacji w konkretnym momencie:

Wartości parametrów są pobierane zgodnie z tą listą priorytetów

  1. Po pierwsze stosowane są wartości warunkowe, jeśli istnieją warunki, które w przypadku danej instancji aplikacji dają wartość true. Jeśli większa liczba warunków przyjmuje wartość true, pierwszeństwo ma pierwszy (pierwszy) z nich wyświetlany w interfejsie konsoli Firebase. Wartości warunkowe powiązane z tym warunkiem są podawane, gdy aplikacja pobiera wartości z backendu. Priorytet warunków możesz zmienić, przeciągając i upuszczając warunki na karcie Warunki.

  2. Jeśli nie ma wartości warunkowych z warunkami zwracającymi wartość true, wartość domyślna Zdalnej konfiguracji jest udostępniana, gdy aplikacja pobiera wartości z backendu. Jeśli dany parametr nie istnieje w backendzie lub jeśli jego wartość domyślna to Użyj domyślnej wartości w aplikacji, podczas pobierania wartości przez aplikację nie zostanie podana żadna wartość tego parametru.

W Twojej aplikacji wartości parametrów są zwracane przez metody get zgodnie z tą listą priorytetów:

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

    Więcej informacji o uzyskiwaniu i ustawianiu wartości domyślnych znajdziesz w artykule o pobieraniu wartości domyślnych szablonu Zdalnej konfiguracji.

  3. Jeśli nie ustawiono żadnej wartości domyślnej w aplikacji, aplikacja używa statycznej wartości typu (np. 0 w przypadku int i false w przypadku boolean).

Ta grafika przedstawia priorytetowe traktowanie wartości parametrów w backendzie Zdalnej konfiguracji oraz w aplikacji:

Schemat przedstawiający przepływ opisany przez uporządkowane listy powyżej

Typy danych wartości parametrów

Zdalna konfiguracja umożliwia wybór typu danych dla każdego parametru i przed aktualizacją szablonu weryfikuje wszystkie wartości Zdalnej konfiguracji względem tego typu. 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żesz wybrać w menu obok klucza parametru. W interfejsie API REST typy można ustawiać za pomocą pola value_type w obiekcie parametru.

Grupy parametrów

Zdalna konfiguracja umożliwia grupowanie parametrów, aby uzyskać bardziej uporządkowany interfejs i model mentalny.

Załóżmy na przykład, że podczas wdrażania nowej funkcji logowania musisz włączyć lub wyłączyć 3 różne typy uwierzytelniania. Dzięki Zdalnej konfiguracji możesz utworzyć te 3 parametry, aby włączyć poszczególne typy, a potem uporządkować je w grupę o nazwie „New login” (Nowy login), bez konieczności dodawania prefiksów czy specjalnego sortowania.

Grupy parametrów możesz tworzyć za pomocą konsoli Firebase lub interfejsu API REST Zdalnej konfiguracji. Każda utworzona przez Ciebie grupa parametrów ma w szablonie Zdalnej konfiguracji unikalną nazwę. Podczas tworzenia grup parametrów pamiętaj o tych kwestiach:

  • Parametry można w danym momencie uwzględnić tylko w jednej grupie, a klucz parametru musi być niepowtarzalny wśród wszystkich parametrów.
  • Nazwy grup parametrów mogą mieć maksymalnie 256 znaków.
  • Jeśli używasz zarówno interfejsu API REST, jak i konsoli Firebase, sprawdź, czy wszystkie mechanizmy logiczne interfejsu API REST zostały zaktualizowane tak, aby obsługiwały grupy parametrów przy publikacji.

Tworzenie i modyfikowanie grup parametrów za pomocą konsoli Firebase

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

  1. Kliknij 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ą, wpisując nazwę i opis, a następnie klikając Utwórz nową grupę. Po zapisaniu grupy można ją opublikować, klikając przycisk Opublikuj zmiany.

Automatyczne tworzenie grup

Interfejs Remote Config REST API umożliwia automatyczne tworzenie i publikowanie grup parametrów. Zakładając, że znasz REST i jesteś skonfigurowany do autoryzowania żądań do interfejsu API, możesz wykonać te czynności, aby zarządzać grupami w sposób zautomatyzowany:

  1. Pobierz bieżący szablon
  2. Dodaj obiekty JSON reprezentujące 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. Pamiętaj, że każdy klucz grupy musi być globalnie unikalny.

Oto na przykład 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

Konsola Firebase obsługuje podane niżej typy reguł. Równoważne funkcje są dostępne w interfejsie Remote Config API REST zgodnie z opisem w dokumentacji wyrażeń warunkowych.

Typ reguły Operatorzy Wartości Uwaga
Aplikacja == Wybierz z listy identyfikatory aplikacji powiązanych z Twoim projektem Firebase. Dodając aplikację do Firebase, wpisujesz identyfikator pakietu lub nazwę pakietu na Androida definiujący atrybut, który jest widoczny w regułach Zdalnej konfiguracji jako Identyfikator aplikacji.

Użyj tego atrybutu w następujący sposób:
  • Platformy Apple: użyj identyfikatora CFBundleIdentifier aplikacji. Identyfikator pakietu znajdziesz na karcie Ogólne głównego miejsca docelowego aplikacji w Xcode.
  • Na Androida: użyj identyfikatora aplikacji applicationId. applicationId znajdziesz w pliku build.gradle na poziomie aplikacji.
Wersja aplikacji W przypadku wartości ciągów:
dopasowanie ścisłe,
zawiera,
nie zawiera,
wyrażenie regularne

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

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

Zanim skorzystasz z tej reguły, musisz użyć reguły Identyfikator aplikacji, aby wybrać aplikację na Androida lub aplikację Apple powiązaną z projektem Firebase.

Platformy Apple: użyj parametru CFBundleShortVersionString aplikacji.

Uwaga: sprawdź, czy Twoja aplikacja Apple korzysta z pakietu SDK platformy Firebase dla platform Apple w wersji 6.24.0 lub nowszej, ponieważ funkcja CFBundleShortVersionString nie jest wysyłana we wcześniejszych wersjach (patrz informacje o wersji).

Android: użyj wartości versionName aplikacji.

W porównaniach ciągów znaków w tej regule wielkość liter ma znaczenie. Gdy używasz operatora ściśle pasuje do, zawiera, nie zawiera lub wyrażenia regularnego, możesz wybrać wiele wartości.

Korzystając z operatora wyrażenia regularnego, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może pasować do całego ciągu znaków wersji docelowej lub jego części. Możesz też użyć kotwic ^ i $, aby dopasować początek, koniec lub cały docelowy ciąg znaków.

Numer kompilacji W przypadku wartości ciągów:
dopasowanie ścisłe,
zawiera,
nie zawiera,
wyrażenie regularne

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

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

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

Ten operator jest dostępny tylko w przypadku aplikacji Apple i aplikacji na Androida. Odpowiada ona parametrom CFBundleVersion (w przypadku Apple) i versionCode w przypadku Androida. W porównaniach ciągów znaków w tej regule wielkość liter ma znaczenie.

Gdy używasz operatora ściśle pasuje do, zawiera, nie zawiera lub wyrażenia regularnego, możesz wybrać wiele wartości.

Korzystając z operatora wyrażenia regularnego, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może pasować do całego ciągu znaków wersji docelowej lub jego części. Możesz też użyć kotwic ^ i $, by dopasować początek, koniec lub całość docelowego ciągu znaków.

Platforma == iOS
Android
Internet
 
System operacyjny ==

Określ systemy operacyjne, na które chcesz kierować reklamy.

Zanim użyjesz tej reguły, musisz za pomocą reguły Identyfikator aplikacji wybrać aplikację internetową powiązaną z Twoim projektem Firebase.

Ta reguła ocenia dla danej instancji aplikacji internetowej wartość true, jeśli system operacyjny i jego wersja pasują do wartości docelowej na określonej liście.
Przeglądający ==

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

Zanim użyjesz tej reguły, musisz za pomocą reguły Identyfikator aplikacji wybrać aplikację internetową powiązaną z Twoim projektem Firebase.

Ta reguła ocenia dla danej instancji aplikacji internetowej wartość true, jeśli przeglądarka i jej wersja pasują do wartości docelowej na określonej liście.
Kategoria urządzenia jest, a nie komórka Ta reguła ocenia, czy urządzenie, które uzyskuje 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 zawiera się w Wybierz co najmniej 1 język. Ta reguła ocenia dla danej instancji aplikacji wartość true, jeśli jest ona zainstalowana na urządzeniu używającym jednego z wymienionych języków.
Kraj lub region zawiera się w Wybierz co najmniej 1 region lub kraj. Jeśli instancja znajduje się w dowolnym z wymienionych regionów lub krajów, ta reguła ocenia dla danej instancji aplikacji wartość true. 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 Zawiera przynajmniej jeden Wybierz co najmniej 1 listę odbiorców Google Analytics skonfigurowanych dla Twojego projektu.

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

Uwaga: wiele list odbiorców Analytics jest zdefiniowanych przez zdarzenia lub właściwości użytkownika, które mogą opierać się na działaniach użytkowników aplikacji, dlatego może minąć trochę czasu, zanim w przypadku danego wystąpienia aplikacji zastosowanie reguły Użytkownik na liście odbiorców.

Właściwość użytkownika W przypadku wartości ciągów:
zawiera,
nie zawiera,
dopasowuje ściśle,
wyrażenie regularne

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

Uwaga: klient może ustawiać tylko wartości ciągów dla właściwości użytkownika. W przypadku warunków, które używają operatorów liczbowych, Zdalna konfiguracja konwertuje wartość odpowiedniej właściwości użytkownika na liczbę całkowitą/zmiennoprzecinkową.
Wybierz właściwości użytkownika z listy dostępnych w Google Analytics. Aby dowiedzieć się, jak za pomocą właściwości użytkownika dostosowywać aplikację do określonych segmentów użytkowników, przeczytaj sekcję o właściwościach Zdalnej konfiguracji i użytkownikach.

Więcej informacji o właściwościach użytkownika znajdziesz w tych przewodnikach:

Gdy używasz operatora ściśle pasuje do, zawiera, nie zawiera lub wyrażenia regularnego, możesz wybrać wiele wartości.

Korzystając z operatora wyrażenia regularnego, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może pasować do całego ciągu znaków wersji docelowej lub jego części. Możesz też użyć kotwic ^ i $, by dopasować początek, koniec lub całość docelowego ciągu znaków.

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

Użyj tego pola, aby zastosować zmianę do losowej próbki instancji aplikacji (z przykładowymi rozmiarami wynoszącymi 0,0001%) i podzielić użytkowników (instancje aplikacji) na grupy za pomocą widżetu suwaka.

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

Reguła będzie korzystać z klucza domyślnego (wyświetlanego jako Edytuj wartość początkową w konsoli Firebase), chyba że zmienisz wartość początkową. Aby przywrócić w regule klucz domyślny, wyczyść pole Początek.

Aby konsekwentnie uwzględniać te same instancje aplikacji w poszczególnych zakresach procentowych, używaj tej samej wartości wyjściowej w różnych warunkach. Możesz też wybrać nową losowo przypisaną grupę instancji aplikacji dla danego zakresu procentowego, określając nowy punkt początkowy.

Aby np. utworzyć 2 powiązane warunki, które będą miały zastosowanie do 5% użytkowników aplikacji, które nie nakładają się na siebie, możesz skonfigurować jeden z warunków tak, aby odpowiadał wartości procentowej od 0% do 5%, a drugi – zakres od 5% do 10%. Aby umożliwić niektórym użytkownikom losowe pojawienie się w obu grupach, użyj różnych wartości wyjściowych w regułach w obrębie każdego z warunków.

Zaimportowany segment zawiera się w Wybierz co najmniej 1 zaimportowany segment. Ta reguła wymaga skonfigurowania zaimportowanych segmentów niestandardowych.
Data/godzina Przed, po Określona data i godzina w strefie czasowej urządzenia lub określonej strefie czasowej, np. „(GMT+11) czas Sydney”. Porównuje bieżący czas z czasem pobierania na urządzeniu.
Pierwsze uruchomienie Przed, po Określona data i godzina w określonej strefie czasowej.

Dopasowuje użytkowników, którzy po raz pierwszy uruchomili docelową aplikację w określonym przedziale czasu.

Wymaga tych pakietów SDK:

  • Pakiet SDK Firebase dla Google Analytics
  • Pakiet SDK platformy Apple w wersji 9.0.0 lub nowszej albo pakiet SDK na Androida w wersji 21.1.1 lub nowszej (Firebase BoM w wersji 30.3.0 lub nowszej)

Identyfikator instalacji zawiera się w Podaj co najmniej 1 identyfikator instalacji (maksymalnie 50), na który chcesz kierować reklamy. Ta reguła ocenia dla danej instalacji wartość true, jeśli identyfikator tej instalacji znajduje się na liście wartości rozdzielonych przecinkami.

Aby dowiedzieć się, jak uzyskać identyfikatory instalacji, przeczytaj artykuł Pobieranie identyfikatorów klientów.
Użytkownik istnieje (bez operatora) Kieruje 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, wartości i warunki 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ć do 256 znaków, muszą zaczynać się od podkreślenia lub litery alfabetu języka angielskiego (A–Z, a–z) i zawierać cyfry. Łączna długość ciągów wartości parametrów w projekcie nie może przekraczać 1 000 000 znaków.

Wyświetlanie zmian parametrów i warunków

Najnowsze zmiany w szablonach Zdalnej konfiguracji możesz wyświetlić w konsoli Firebase. W przypadku poszczególnych parametrów i warunków możesz:

  • Wyświetl nazwę użytkownika, który ostatnio zmodyfikował parametr lub warunek.

  • Jeśli zmiana nastąpiła w ciągu tego samego dnia, sprawdź 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 1 dzień wstecz, wyświetl datę opublikowania zmiany w aktywnym szablonie Zdalnej konfiguracji.

Aktualizacje parametrów

Kolumna Ostatnia publikacja na stronie Parametry Zdalnej konfiguracji zawiera nazwę ostatniego użytkownika, który zmodyfikował poszczególne parametry, oraz datę ostatniej publikacji zmiany.

  • Aby wyświetlić zmiany metadanych zgrupowanych parametrów, rozwiń grupę parametrów.

  • Aby posortować w kolejności rosnącej lub malejącej według daty publikacji, kliknij etykietę kolumny Ostatnia publikacja.

Aktualizacje warunków

Na stronie Warunki Zdalnej konfiguracji możesz sprawdzić, który użytkownik zmodyfikował jako ostatni, wraz z datą jego modyfikacji, obok pozycji Ostatnia modyfikacja pod każdym z warunków.

Dalsze kroki

Aby rozpocząć konfigurowanie projektu Firebase, przeczytaj artykuł Konfigurowanie projektu Zdalnej konfiguracji Firebase.