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 Uwaga: spacja jest wymagana przed i po znaku ampersand. Na przykład: |
app.build | Ocenia 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 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ść Uwaga: dostępne tylko dla aplikacji internetowych. |
app.browserAndVersion | Element oparty na przeglądarce, w której działa aplikacja. Zwraca wartość 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:
- dowolnie zdefiniowana
name
(do 100 znaków) - Wyrażenie warunkowe, którego wynikiem jest
TRUE
lubFALSE
, składające się z elementów pokazanych powyżej. - (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
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. | Na przykład 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. | Na przykład
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. |