Ta strona zawiera informacje referencyjne dotyczące tworzenia wyrażeń warunkowych przy użyciu interfejsów API zaplecza usługi 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 funkcji Remote Config 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: przed i po znakach ampersand wymagana jest spacja. Na przykład: |
app.build | Ocenia wartość Uwaga: dostępna tylko na urządzeniach Apple i Android. W przypadku Apple użyj wartości CFBundleVersion , a w przypadku Androida użyj wartości VersionCode . |
app.version | Ocenia wartość Uwaga: w przypadku urządzeń z systemem Android użyj wartości wersjiName , 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. Wykorzystuje format 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 wartość ma wartość 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. Ocenia wartość Uwaga: dostępne tylko dla aplikacji internetowych. |
app.browserAndVersion | Element oparty na przeglądarce, w której działa aplikacja. Ocenia wartość Uwaga: dostępne tylko dla aplikacji internetowych. |
app.firebaseInstallationId | Element bazujący na identyfikatorach instalacji konkretnych urządzeń. Ocenia 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, zgodnie z normą ISO 3166-1 alfa-2 (na przykład USA lub Wielka Brytania). Ocenia wartość TRUE , gdy kraj odpowiada oczekiwanemu kodowi kraju. |
device.dateTime | Element oparty na czasie ostatniego pobrania wykonanego przez urządzenie. Wykorzystuje format 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. Ocenia 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). Ocenia wartość TRUE , gdy system operacyjny urządzenia jest oczekiwanym typem. |
percent | Ocenia na TRUE na podstawie włączenia użytkownika do losowo przypisanego ułamka procentowego (przy próbkach o wielkości 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
”, „CYAN
”, „DEEP_ORANGE
”, „GREEN
”, „INDIGO
”, „LIME
”, „ORANGE
”, „PINK
”, „PURPLE
” lub „TEAL
”. W kolorze nie jest rozróżniana wielkość liter 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 grupy 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 grupy odbiorców na liście. |
app.audiences | .inAll([...]) | Zwraca TRUE , jeśli rzeczywista grupa odbiorców należy do każdej nazwy grupy odbiorców na liście. |
app.audiences | .notInAll([...]) | Zwraca TRUE , jeśli rzeczywista grupa odbiorców 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 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 żadnej strefy czasowej, używany jest czas GMT. |
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 (uwzględniana jest wielkość liter) 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 wartości rzeczywistej. Aby wymusić dopasowanie całego ciągu, należy poprzedzić wyrażenie regularne znakiem „^” i dodać do niego przyrostek „$”. Używa składni RE2 . |
app.id | == | Zwraca TRUE , jeśli określona wartość jest zgodna z identyfikatorem 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 odpowiada dowolnej wartości docelowej 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 wartości rzeczywistej. Aby wymusić dopasowanie całego ciągu, należy poprzedzić wyrażenie regularne znakiem „^” i dodać do niego przyrostek „$”. Używa składni RE2 . |
app.version | < , <= , == , != , >= , > | Zwraca TRUE , jeśli rzeczywista wersja aplikacji jest numerycznie 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 odpowiada 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 lub całej wartości rzeczywistej. Aby wymusić dopasowanie całego ciągu, należy poprzedzić wyrażenie regularne znakiem „^” i dodać do niego przyrostek „$”. Używa składni RE2 . |
app.operatingSystemAndVersion | .inOne([...]) | Zwraca TRUE , jeśli system operacyjny i wersja odpowiadają dowolnej wartości docelowej 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 odpowiadają dowolnej wartości docelowej na liście.Na przykład: app.browserAndVersion.inOne([browserName('Chrome').anyVersion]) |
app.firebaseInstallationId | in [...] | Zwraca TRUE , jeśli identyfikator instalacji odpowiada identyfikatorowi określonemu na liście. Przykładowe użycie: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7'] |
device.country | in [...] | Zwraca TRUE , jeśli kraj urządzenia odpowiada krajowi określonemu na liście. Przykładowe użycie: device.country in ['gb', 'us'] . Kod kraju urządzenia jest ustalany 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 w zależności od operatora ocenia wartość TRUE lub FALSE . 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 odpowiada wartości w tym polu pasującej do operatora. |
percent | <= , > , between | Zwraca TRUE , jeśli wartość w polu percent jest porównywana z wartością, która została losowo przypisana zgodnie z operatorem.Możesz określić źródło, aby wybrać nową, losowo przypisaną grupę instancji aplikacji dla danego zakresu procentowego, zgodnie z opisem w sekcji Typy reguł warunków . W tym celu należy przed operatorem podać nazwę materiału siewnego, jak w poniższym przykładzie: percent('keyName') <= 10 Aby skonfigurować konkretny zakres, możesz użyć operatora percent between 20 and 60 Aby skonfigurować zakres użytkowników od 60 do 80 przy użyciu niestandardowego materiału początkowego: percent('seedName') between 60 and 80 |