获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

Odwołanie do wyrażenia warunkowego Remote Config

Ta strona zawiera informacje referencyjne dotyczące tworzenia wyrażeń warunkowych przy użyciu interfejsów API zaplecza Remote Config lub konsoli Firebase. Aby uzyskać więcej informacji na temat konfigurowania i używania interfejsów API zaplecza, zobacz Programowe modyfikowanie zdalnej konfiguracji .

Elementy używane do tworzenia warunków

Interfejs API REST usługi Remote Config obsługuje te same elementy, których można użyć do tworzenia warunków podczas konfigurowania usługi Remote Config przy użyciu konsoli Firebase:

Element Opis
&&

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

Uwaga: spacja jest wymagana przed i po ampersandach. Na przykład: element1 && element2 .

app.build

Daje wartość TRUE lub FALSE na podstawie wartości numeru kompilacji aplikacji.

Uwaga: dostępne tylko na urządzeniach Apple i Android. W przypadku firmy Apple użyj wartości CFBundleVersion , a w przypadku systemu Android użyj wartości versionCode .

app.version

Daje wartość TRUE lub FALSE na podstawie wartości numeru wersji aplikacji.

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

app.id Element oparty na identyfikatorze aplikacji Firebase
app.audiences Element, który ma wartość TRUE lub FALSE na podstawie obecności lub nieobecności użytkownika w co najmniej jednej grupie odbiorców Firebase Analytics .
app.firstOpenTimestamp Element oparty na pierwszym uruchomieniu aplikacji przez użytkownika, uzyskany ze zdarzenia first_open Google Analytics. Używa formatu daty ISO z opcją określenia stałej strefy czasowej; na przykład app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') . Jeśli nie określono strefy czasowej, używany jest czas GMT.
app.userProperty Element, którego wynikiem jest TRUE lub FALSE na podstawie wartości liczbowej lub ciągu znaków właściwości użytkownika Firebase Analytics .
app.operatingSystemAndVersion

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

Uwaga: dostępne tylko dla aplikacji internetowych.

app.browserAndVersion

Element oparty na przeglądarce, w której działa aplikacja. Zwraca wartość TRUE , gdy przeglądarka i wersja przeglądarki pasują do określonego celu.

Uwaga: dostępne tylko dla aplikacji internetowych.

app.firebaseInstallationId Element oparty na identyfikatorach określonych instalacji urządzeń. Zwraca wartość TRUE , gdy identyfikator instalacji pasuje do jednego z określonych identyfikatorów instalacji.
device.country Element oparty na regionie/kraju, w którym znajduje się urządzenie, przy użyciu standardu ISO 3166-1 alfa-2 (na przykład USA lub Wielka Brytania). Zwraca wartość TRUE , gdy kraj pasuje do oczekiwanego kodu kraju.
device.dateTime Element oparty na czasie ostatniego pobrania wykonanego przez urządzenie. Używa formatu daty ISO z opcją określenia stałej strefy czasowej; na przykład dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') .
device.language Element oparty na języku wybranym na urządzeniu. Język jest reprezentowany za pomocą znacznika języka IETF, takiego jak es-ES, pt-BR lub en-US. Zwraca wartość TRUE , gdy język pasuje do oczekiwanego kodu języka.
device.os Element oparty na systemie operacyjnym używanym na urządzeniu (Apple lub Android). Zwraca wartość TRUE , gdy system operacyjny urządzenia jest oczekiwanego typu.
percent Ocenia jako TRUE na podstawie włączenia użytkownika do losowo przypisanego ułamkowego percentyla (z próbkami o wielkości zaledwie 0,000001%).

Warunek jednoelementowy zawiera trzy pola:

  1. Dowolnie zdefiniowana name (do 100 znaków)
  2. Wyrażenie warunkowe, którego wynikiem jest 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 nie uwzględnia wielkości liter 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ługiwani operatorzy Opis
app.audiences .inAtLeastOne([...]) Zwraca wartość TRUE , jeśli rzeczywista grupa odbiorców pasuje do co najmniej jednej nazwy grupy odbiorców na liście.
Na przykład:

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

app.audiences .notInAtLeastOne([...]) Zwraca wartość TRUE , jeśli rzeczywista grupa odbiorców nie pasuje do co najmniej jednej nazwy grupy odbiorców na liście.
app.audiences .inAll([...]) Zwraca wartość TRUE , jeśli rzeczywista grupa odbiorców jest członkiem każdej nazwy grupy odbiorców na liście.
app.audiences .notInAll([...]) Zwraca wartość TRUE , jeśli rzeczywista publiczność nie jest członkiem żadnej grupy odbiorców na liście.
app.firstOpenTimestamp <=, > Porównuje czas zdarzenia first_open z czasem określonym w warunku i zwraca wartość TRUE lub FALSE w zależności od operatora.
Przykładowe użycie:
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 określono strefy czasowej, używany jest czas GMT.
app.userProperty < , <= , == , != , >= , > Zwraca wartość TRUE , jeśli rzeczywista właściwość użytkownika jest liczbowo porównywana z wartością określoną w sposób zgodny z operatorem.
app.userProperty .contains([...]) Zwraca TRUE , jeśli którakolwiek z wartości docelowych jest podłańcuchem rzeczywistej właściwości użytkownika.
app.userProperty .notContains([...]) Zwraca wartość TRUE , jeśli żadna z wartości docelowych nie jest podłańcuchem rzeczywistej właściwości użytkownika.
app.userProperty .exactlyMatches([...]) Zwraca wartość TRUE , jeśli rzeczywista właściwość użytkownika dokładnie pasuje (z uwzględnieniem wielkości liter) dowolnej wartości docelowej na liście.
app.userProperty .matches([...]) Zwraca wartość TRUE , jeśli dowolne docelowe wyrażenie regularne na liście pasuje do części lub całej rzeczywistej wartości. Aby wymusić dopasowanie całego łańcucha, poprzedź wyrażenie regularne znakiem „^” i dodaj do niego sufiks „$”. Używa składni RE2 .
app.id == Zwraca wartość TRUE , jeśli określona wartość jest zgodna z identyfikatorem aplikacji aplikacji.
app.build < , <= , == , != , >= , > Zwraca wartość TRUE , jeśli rzeczywista kompilacja aplikacji jest liczbowo porównywana z wartością określoną w sposób zgodny z operatorem.
app.build .contains([...]) Zwraca wartość TRUE , jeśli którakolwiek z wartości docelowych jest podciągiem rzeczywistej kompilacji aplikacji — na przykład „a” i „bc” są podłańcuchami ciągu „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 wartość TRUE , jeśli rzeczywista kompilacja aplikacji dokładnie pasuje do którejkolwiek z wartości docelowych na liście.
app.build .matches([...]) Zwraca wartość TRUE , jeśli dowolne docelowe wyrażenie regularne na liście pasuje do części lub całej rzeczywistej wartości. Aby wymusić dopasowanie całego łańcucha, poprzedź wyrażenie regularne znakiem „^” i dodaj do niego sufiks „$”. Używa składni RE2 .
app.version < , <= , == , != , >= , > Zwraca wartość TRUE , jeśli rzeczywista wersja aplikacji jest liczbowo porównywana z wartością określoną w sposób zgodny z operatorem.
app.version .contains([...]) Zwraca wartość TRUE , jeśli którakolwiek z wartości docelowych jest podłańcuchem rzeczywistej wersji aplikacji — na przykład „a” i „bc” są podłańcuchami „abc”.
app.version .notContains([...]) Zwraca wartość TRUE , jeśli żadna z wartości docelowych nie jest podłańcuchem rzeczywistej wersji aplikacji.
app.version .exactlyMatches([...]) Zwraca wartość TRUE , jeśli rzeczywista wersja aplikacji dokładnie pasuje do którejkolwiek z wartości docelowych na liście.
app.version .matches([...]) Zwraca wartość TRUE , jeśli dowolne docelowe wyrażenie regularne na liście pasuje do części lub całej rzeczywistej wartości. Aby wymusić dopasowanie całego łańcucha, poprzedź wyrażenie regularne znakiem „^” i dodaj do niego sufiks „$”. Używa składni RE2 .
app.operatingSystemAndVersion .inOne([...]) Zwraca wartość TRUE , jeśli system operacyjny i wersja są zgodne z dowolną wartością docelową na liście.
Na przykład:

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

app.browserAndVersion .inOne([...]) Zwraca wartość TRUE , jeśli przeglądarka i wersja pasują do którejkolwiek z wartości docelowych na liście.
Na przykład:

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

app.firebaseInstallationId in [...] Zwraca wartość TRUE , jeśli identyfikator instalacji pasuje do dowolnego określonego na liście. Przykładowe użycie: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] Zwraca wartość TRUE , jeśli kraj urządzenia odpowiada dowolnemu określonemu na liście. Przykładowe użycie: device.country in ['gb', 'us'] . 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).
device.dateTime <= , > Porównuje bieżący czas z czasem docelowym warunku i zwraca wartość TRUE lub FALSE w zależności od operatora. Przykładowe użycie: 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ładowe użycie: device.language in ['en-UK', 'en-US'] .
device.os == , != Zwraca wartość TRUE , jeśli system operacyjny urządzenia jest porównywany z wartością w tym polu odpowiadającą operatorowi.
percent <= , > Zwraca wartość TRUE , jeśli wartość w polu percent jest porównywalna z wartością, która została losowo przypisana zgodnie z operatorem.