Odwołanie do wyrażenia warunkowego Zdalnej konfiguracji

Ta strona zawiera informacje referencyjne na temat tworzenia wyrażeń warunkowych za pomocą Remote Config interfejsów backendowych lub konsoli Firebase. Więcej informacji o konfigurowaniu i używaniu interfejsów API backendu znajdziesz w artykule Modyfikowanie zdalnej konfiguracji za pomocą kodu.

Elementy używane do tworzenia warunków

Interfejs API REST Remote Config obsługuje te same elementy, których możesz użyć do tworzenia warunków podczas konfigurowania Remote Config za pomocą konsoli Firebase:

Element Opis
&&

Służy do tworzenia logicznego „i” dla elementów, jeśli w warunku występuje więcej niż 1 element. Jeśli element jest używany w składni REST bez parametru && , jest on traktowany jako warunek.

Uwaga: przed i za symbolem „&” musi być spacja. Przykład:element1 && element2.

app.build

Wynik jest TRUE lub FALSE w zależności od wartości numeru kompilacji aplikacji.

Uwaga: funkcja dostępna tylko na urządzeniach Apple i Android. W przypadku Apple użyj wartości CFBundleVersion, a w przypadku Androida – wartości versionCode.

app.version

Wynik funkcji to TRUE lub FALSE w zależności od wartości numeru wersji aplikacji.

Uwaga: w przypadku urządzeń z Androidem użyj wartości versionName, a w przypadku urządzeń Apple – wartości CFBundleShortVersionString.

app.id Element utworzony na podstawie identyfikatora aplikacji w Firebase
app.audiences Element, który zwraca wartość TRUE lub FALSE na podstawie obecności lub nieobecności użytkownika w co najmniej 1 liście odbiorców Firebase Analytics.
app.firstOpenTimestamp Element określający, czy użytkownik uruchomił aplikację po raz pierwszy. Dane pochodzą ze zdarzenia Google Analytics first_open. Używa formatu daty ISO z opcją określenia stałej strefy czasowej, np. app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles'). Jeśli nie zostanie określona strefa czasowa, zostanie użyta strefa GMT.
app.userProperty Element, który zwraca wartość TRUE lub FALSE w zależności od wartości liczbowej lub ciągu znaków właściwości użytkownika w Analytics dla Firebase.
app.operatingSystemAndVersion

Element oparty na systemie operacyjnym, w którym działa aplikacja. Zwraca wartość TRUE, gdy wersja systemu operacyjnego i systemu operacyjnego jest zgodna z określonym celem.

Uwaga: ta opcja jest dostępna tylko w przypadku aplikacji internetowych.

app.browserAndVersion

Element zależny od przeglądarki, w której działa aplikacja. Ocenia wartość TRUE, gdy przeglądarka i jej wersja są zgodne z określonym celem.

Uwaga: ta opcja jest dostępna tylko w przypadku aplikacji internetowych.

app.firebaseInstallationId Element oparty na identyfikatorach konkretnych instalacji na urządzeniu. Zwraca wartość TRUE, gdy identyfikator instalacji jest zgodny z jednym z określonych identyfikatorów instalacji.
device.country Element powiązany z regionem lub krajem, w którym znajduje się urządzenie, zgodny ze standardem ISO 3166-1 alfa-2 (np. USA lub Wielka Brytania). Zwraca wartość TRUE, gdy kraj jest zgodny z oczekiwanym kodem kraju.
device.dateTime Element na podstawie czasu ostatniego pobierania przez urządzenie. Używa formatu daty ISO z opcją , aby określić stałą strefę czasową, na przykład dateTime('2017-03-22T13:39:44', 'America/Los_Angeles').
device.language Element na podstawie języka wybranego na urządzeniu. Język jest reprezentowany za pomocą tagu języka IETF, np. es-ES, pt-BR lub en-US. Zwraca wartość TRUE, gdy język jest zgodny z oczekiwanym kodem języka.
device.os Element oparty na systemie operacyjnym używanym na urządzeniu (Apple lub Android). przyjmuje wartość TRUE, gdy system operacyjny urządzenia jest zgodny z oczekiwaniami;
percent Zwraca wartość TRUE na podstawie uwzględnienia użytkownika w losowo przypisanej części ułamkowej (rozmiar próbek wynosi zaledwie 0,000001%).

Warunek jednoelementowy zawiera 3 pola:

  1. dowolnie zdefiniowany name (maksymalnie 100 znaków)
  2. Wyrażenie warunkowe zwracające wartość TRUE lub FALSE, składające się z elementów pokazanych powyżej.
  3. (Opcjonalnie) tagColor, który może mieć wartość „BLUE”, „BROWN”, „CYAN”, „DEEP_ORANGE”, „GREEN”, „INDIGO”, „LIME”, „ORANGE”, „PINK”, „PURPLE” lub „TEAL”. Kolor jest nieistotny i wpływa tylko na sposób wyświetlania warunków w konsoli Firebase.

Obsługiwani operatorzy

Na przykład app.build.notContains([123, 456]) zwraca TRUE, jeśli rzeczywista kompilacja aplikacji to 123 lub 492, ale zwraca FALSE, jeśli rzeczywista kompilacja aplikacji to 999. Na przykład app.version.notContains([123, 456]) zwraca TRUE, jeśli rzeczywista wersja aplikacji to 123 lub 492, ale zwraca FALSE, jeśli rzeczywista wersja aplikacji to 999.
Element Obsługiwane operatory Opis
app.audiences .inAtLeastOne([...]) Zwraca wartość TRUE, jeśli rzeczywista lista odbiorców zawiera co najmniej 1 nazwę listy odbiorców na liście.
Na przykład:

app.audiences.inAtLeastOne(['Audience 1', 'Audience 2'])

app.audiences .notInAtLeastOne([...]) Zwraca TRUE, jeśli rzeczywista lista odbiorców nie pasuje do co najmniej 1 nazwy odbiorców na liście.
app.audiences .inAll([...]) Zwraca TRUE, jeśli rzeczywista lista odbiorców zawiera wszystkie nazwy list odbiorców na liście.
app.audiences .notInAll([...]) Zwraca wartość TRUE, jeśli bieżąca lista odbiorców nie zawiera żadnego odbiorcy z listy.
app.firstOpenTimestamp <=, > Porównuje czas zdarzenia first_open ze wskazanym czasem w warunku i zwraca wartość TRUE lub FALSE w zależności od operatora.
Przykładowe zastosowanie:
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles').
Aby określić zakres:
app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00')Jeśli nie podasz żadnej strefy czasowej, zostanie użyty czas GMT.
app.userProperty <, <=, ==, !=, >=, > Zwraca wartość TRUE, jeśli rzeczywista właściwość użytkownika jest porównywana numerycznie do wartości określonej w sposób zgodny z operatorem.
app.userProperty .contains([...]) Zwraca TRUE, jeśli dowolna z wartości docelowych jest podłańcuchem rzeczywistej właściwości użytkownika.
app.userProperty .notContains([...]) Zwraca TRUE, jeśli żadna z wartości docelowych nie jest podciągiem ciągu znaków w rzeczywistej właściwości użytkownika.
app.userProperty .exactlyMatches([...]) Zwraca TRUE, jeśli rzeczywista właściwość użytkownika dokładnie odpowiada którejkolwiek wartości docelowej na liście (z uwzględnieniem wielkości liter).
app.userProperty .matches([...]) Zwraca TRUE, jeśli dowolne docelowe wyrażenie regularne na liście dopasowuje się do podciągu znaków lub całej wartości. Aby wymusić dopasowanie całego ciągu znaków, poprzedzaj wyrażenie regularne znakiem „^”, a na końcu umieść znak „$”. Użyj składni RE2.
app.id == Zwraca TRUE, jeśli podana wartość pasuje do identyfikatora aplikacji.
app.build <, <=, ==, !=, >=, > Zwraca TRUE, jeśli numeryczna kompilacja aplikacji jest porównywana z wartością określoną w sposób zgodny z operatorem.
app.build .contains([...]) Zwraca TRUE, jeśli dowolna z wartości docelowych jest podłańcuchem rzeczywistej kompilacji aplikacji – na przykład „a” i „bc” są podłańcuchami „abc”.
app.build .notContains([...]) Zwraca TRUE, jeśli żadna z wartości docelowych nie jest podłańcuchem rzeczywistej kompilacji aplikacji.
app.build .exactlyMatches([...]) Zwraca TRUE, jeśli rzeczywiste kompilacje aplikacji dokładnie pasują do dowolnej wartości docelowej na liście.
app.build .matches([...]) Zwraca TRUE, jeśli dowolne docelowe wyrażenie regularne na liście jest zgodne z podłańcuchem lub całą rzeczywistą wartością. Aby wymusić dopasowanie całego ciągu znaków, poprzedz wyrażenie regularne znakiem „^”, a następnie zakończ je znakiem „$”. Użyj składni RE2.
app.version <, <=, ==, !=, >=, > Zwraca TRUE, jeśli rzeczywista wersja aplikacji jest porównywana liczbowo do wartości określonej w sposób pasujący do operatora.
app.version .contains([...]) Zwraca TRUE, jeśli którakolwiek z wartości docelowych jest podciągiem znaków rzeczywistej wersji aplikacji. Na przykład „a” i „bc” są podciągiem znaków ciągu „abc”.
app.version .notContains([...]) Zwraca wartość TRUE, jeśli żadna z wartości docelowych nie jest podciągiem ciągu znaków rzeczywistej wersji aplikacji.
app.version .exactlyMatches([...]) Zwraca TRUE, jeśli rzeczywista wersja aplikacji dokładnie pasuje do dowolnej wartości docelowej na liście.
app.version .matches([...]) Zwraca TRUE, jeśli dowolne docelowe wyrażenie regularne na liście pasuje do podciągu znaków lub całej wartości. Aby wymusić dopasowanie całego ciągu znaków, poprzedz wyrażenie regularne znakiem „^”, a następnie zakończ je znakiem „$”. Użyj składni RE2.
app.operatingSystemAndVersion .inOne([...]) Zwraca wartość TRUE, jeśli system operacyjny i jego wersja są zgodne z dowolną z wartości docelowych na liście.
Na przykład:

    app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')])
    

app.browserAndVersion .inOne([...]) Zwraca TRUE, jeśli przeglądarka i wersja są zgodne z dowolną wartością docelową na liście.
Na przykład:

    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
    

app.firebaseInstallationId in [...] Zwraca wartość TRUE, jeśli identyfikator instalacji jest zgodny z którymś z identyfikatorów na liście. Przykładowe zastosowanie: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] Zwraca wartość TRUE, jeśli kraj urządzenia jest zgodny z dowolnym krajem na liście. Przykładowe zastosowanie: device.country in ['gb', 'us']. Kod kraju urządzenia jest określany na podstawie adresu IP urządzenia wskazanego w żądaniu lub kodu kraju określonego przez Firebase Analytics (jeśli dane Analytics są udostępniane Firebase).
device.dateTime <=, > Porównuje bieżący czas z docelowym czasem warunku i zwraca wartość TRUE lub FALSE w zależności od operatora. Przykład użycia: dateTime < dateTime('2017-03-22T13:39:44').
device.language in [...] Zwraca wartość TRUE, jeśli którykolwiek z języków aplikacji pasuje do języka na liście. Przykład użycia: device.language in ['en-UK', 'en-US'].
device.os ==, != Zwraca TRUE, jeśli system operacyjny urządzenia jest porównywany z wartością w tym polu pasującą do operatora.
percent <=, >, between Zwraca TRUE, jeśli wartość w polu percent jest porównywana z wartością przypisaną losowo, która pasuje do operatora.

Możesz podać wartość początkową, aby wybrać nową losowo przypisaną grupę instancji aplikacji dla danego zakresu procentowego, jak opisano w sekcji Typy reguł warunków.

Aby to zrobić, przed operatorem podaj nazwę nasienia, jak w tym przykładzie:

percent('keyName') <= 10

Aby skonfigurować określony zakres, możesz użyć operatora between. Aby skonfigurować zakres użytkowników od 20 do 60 z wykorzystaniem wartości domyślnej:

percent between 20 and 60

Aby skonfigurować zakres użytkowników od 60 do 80 za pomocą niestandardowego obiektu wyjściowego:

percent('seedName') between 60 and 80