Odwołanie do wyrażenia warunkowego Remote Config

Ta strona zawiera informacje referencyjne dotyczące tworzenia wyrażeń warunkowych za pomocą interfejsów API zaplecza Zdalnej konfiguracji lub konsoli Firebase. Aby uzyskać więcej informacji o konfigurowaniu i korzystaniu z interfejsów API zaplecza, zobacz programowe modyfikowanie zdalnej konfiguracji .

Elementy używane do tworzenia warunków

Interfejs API REST Remote Config obsługuje te same elementy, których można użyć do tworzenia warunków podczas konfigurowania zdalnej konfiguracji za pomocą 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 && , ten element jest traktowany jako warunek.

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

app.build

Ocenia 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 — wartości versionCode .

app.version

Ocenia 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 Firebase App ID aplikacji
app.audiences Element o wartości TRUE lub FALSE na podstawie obecności lub nieobecności użytkownika w co najmniej jednej grupie odbiorców Firebase Analytics .
app.userProperty Element o wartości 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, na którym działa aplikacja. Zwraca wartość TRUE , gdy wersja systemu operacyjnego i systemu operacyjnego pasuje do określonego celu.

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 są zgodne z określonym celem.

Uwaga: dostępne tylko dla aplikacji internetowych.

app.firebaseInstallationId Element oparty na identyfikatorach konkretnych 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 alpha-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 oczekiwanym typem.
percent Ocenia TRUE na podstawie udziału użytkownika w losowo przydzielonym ułamkowym percentylu (przy wielkości próbki wynoszącej 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 ”, „ DEEP_ORANGE CYAN , „ GREEN ”, „ INDIGO ”, „ LIME ”, „ ORANGE ”, „ PINK ”, „ PURPLE ” lub „ TEAL ”. Wielkość liter nie jest rozróżniana 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 TRUE , jeśli rzeczywista grupa odbiorców pasuje do co najmniej jednej nazwy odbiorców na liście.
Na przykład:

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

app.audiences .notInAtLeastOne([...]) Zwraca TRUE , jeśli rzeczywista grupa odbiorców nie pasuje do co najmniej jednej nazwy odbiorców na liście.
app.audiences .inAll([...]) Zwraca TRUE , jeśli rzeczywista publiczność jest członkiem każdej nazwy odbiorców na liście.
app.audiences .notInAll([...]) Zwraca TRUE , jeśli rzeczywista publiczność nie należy do żadnej grupy odbiorców na liście.
app.userProperty < , <= , == , != , >= , > Zwraca 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 podciągiem rzeczywistej właściwości użytkownika.
app.userProperty .notContains([...]) Zwraca TRUE , jeśli żadna z wartości docelowych nie jest podciągiem rzeczywistej właściwości użytkownika.
app.userProperty .exactlyMatches([...]) Zwraca TRUE , jeśli rzeczywista właściwość użytkownika dokładnie pasuje (z uwzględnieniem wielkości liter) do dowolnej wartości docelowej na liście.
app.userProperty .matches([...]) Zwraca TRUE , jeśli dowolne docelowe wyrażenie regularne na liście pasuje do podciągu lub całej rzeczywistej wartości. Aby wymusić dopasowanie całego ciągu, poprzedź wyrażenie regularne "^" i dodaj do niego "$". Używa składni RE2 .
app.id == Zwraca TRUE , jeśli określona wartość jest zgodna z identyfikatorem aplikacji aplikacji.
app.build < , <= , == , != , >= , > Zwraca 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 TRUE , jeśli którakolwiek z wartości docelowych jest podciągiem rzeczywistej kompilacji aplikacji — na przykład „a” i „bc” są podciągami „abc”.
app.build .notContains([...]) Zwraca TRUE , jeśli żadna z wartości docelowych nie jest podciągiem rzeczywistej kompilacji aplikacji.
app.build .exactlyMatches([...]) Zwraca TRUE , jeśli rzeczywista kompilacja aplikacji dokładnie pasuje do dowolnej z wartości docelowych na liście.
app.build .matches([...]) Zwraca TRUE , jeśli dowolne docelowe wyrażenie regularne na liście pasuje do podciągu lub całej rzeczywistej wartości. Aby wymusić dopasowanie całego ciągu, poprzedź wyrażenie regularne "^" i dodaj do niego "$". Używa składni RE2 .
app.version < , <= , == , != , >= , > Zwraca 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 TRUE , jeśli którakolwiek z wartości docelowych jest podciągiem rzeczywistej wersji aplikacji — na przykład „a” i „bc” są podciągami „abc”.
app.version .notContains([...]) Zwraca TRUE , jeśli żadna z wartości docelowych nie jest podciągiem rzeczywistej wersji aplikacji.
app.version .exactlyMatches([...]) Zwraca TRUE , jeśli rzeczywista wersja aplikacji dokładnie pasuje do dowolnej z wartości docelowych na liście.
app.version .matches([...]) Zwraca TRUE , jeśli dowolne docelowe wyrażenie regularne na liście pasuje do podciągu lub całej rzeczywistej wartości. Aby wymusić dopasowanie całego ciągu, poprzedź wyrażenie regularne "^" i dodaj do niego "$". Używa składni RE2 .
app.operatingSystemAndVersion .inOne([...]) Zwraca 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 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 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 TRUE , jeśli kraj urządzenia pasuje do dowolnego określonego 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 ocenia jako TRUE lub FALSE na podstawie operatora. Przykładowe użycie: dateTime < dateTime('2017-03-22T13:39:44') .
device.language in [...] Zwraca 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 TRUE , jeśli system operacyjny urządzenia porównuje wartość w tym polu pasującą do operatora.
percent <= , > Zwraca TRUE , jeśli wartość w polu percent jest porównywana z wartością, która została losowo przypisana zgodnie z operatorem.