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 Uwaga: spacja jest wymagana przed i po ampersandach. Na przykład: |
app.build | Daje wartość 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ść 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ść 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 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 procentu (z próbkami 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
". Kolor nie uwzględnia wielkości 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 jest członkiem każdej nazwy grupy odbiorców na liście. |
app.audiences | .notInAll([...]) | Zwraca 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 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 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 TRUE , jeśli żadna z wartości docelowych nie jest podłańcuchem 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) dowolnej wartości docelowej na liście. |
app.userProperty | .matches([...]) | Zwraca 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 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ą 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. | Na przykład app.build | .exactlyMatches([...]) | Zwraca TRUE , jeśli rzeczywista kompilacja aplikacji dokładnie pasuje do którejkolwiek z wartości docelowych na liście. |
app.build | .matches([...]) | Zwraca 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 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 podłańcuchem rzeczywistej wersji aplikacji — na przykład „a” i „bc” są podłańcuchami „abc”. |
app.version | .notContains([...]) | Zwraca TRUE , jeśli żadna z wartości docelowych nie jest podłańcuchem rzeczywistej wersji aplikacji. | Na przykład
app.version | .exactlyMatches([...]) | Zwraca TRUE , jeśli rzeczywista wersja aplikacji dokładnie pasuje do którejkolwiek z wartości docelowych na liście. |
app.version | .matches([...]) | Zwraca 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 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 pasują do którejkolwiek z wartości docelowych 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 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 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 jest porównywany z wartością w tym polu odpowiadającą operatorowi. |
percent | <= , > , between | Zwraca TRUE , jeśli wartość w polu percent jest porównywalna z wartością, która została losowo przypisana zgodnie z operatorem.Możesz określić ziarno, aby wybrać nową, losowo przypisaną grupę instancji aplikacji dla danego zakresu procentowego, zgodnie z opisem w Typy reguł warunków . Aby to zrobić, podaj nazwę materiału siewnego przed operatorem, jak w poniższym przykładzie: percent('keyName') <= 10 Aby skonfigurować określony zakres, możesz użyć operatora percent between 20 and 60 Aby skonfigurować grupę użytkowników w wieku od 60 do 80 lat przy użyciu niestandardowego materiału siewnego: percent('seedName') between 60 and 80 |