Ta strona zawiera informacje referencyjne dotyczące tworzenia wyrażeń warunkowych za pomocą interfejsów API backendu Remote Config lub konsoli Firebase. Więcej informacji o konfigurowaniu i używaniu interfejsów API backendu znajdziesz w artykule Programowe modyfikowanie Zdalnej konfiguracji.
Elementy użyte do utworzenia warunków
Interfejs Remote Config REST API obsługuje te same elementy, których możesz używać do tworzenia warunków podczas konfigurowania Remote Config za pomocą konsoli Firebase:
Element | Opis |
---|---|
&& |
Używany do tworzenia logicznego „i” elementów, jeśli w warunku używasz więcej niż 1 elementu. Jeśli element jest używany w składni REST bez Uwaga: przed i po symbolu „&” musi być spacja. Na przykład: |
app.build |
Zwraca wartość Uwaga: ta funkcja jest dostępna tylko na urządzeniach Apple i Android. W przypadku Apple użyj wartości CFBundleVersion, a w przypadku Androida – wartości versionCode. |
app.version |
Zwraca wartość Uwaga: w przypadku urządzeń z Androidem użyj wartości versionName, a w przypadku urządzeń Apple – wartości CFBundleShortVersionString. |
app.id |
elementu opartego na identyfikatorze aplikacji Firebase |
app.audiences |
Element, który na podstawie obecności lub nieobecności użytkownika na co najmniej 1 liście odbiorców w Firebase Analytics przyjmuje wartość TRUE lub FALSE . |
app.firstOpenTimestamp |
Element oparty na pierwszym uruchomieniu aplikacji przez użytkownika, uzyskany ze zdarzenia Google Analytics first_open . Używa formatu daty ISO z opcją określenia stałej strefy czasowej, np. app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') .
Jeśli nie podasz strefy czasowej, zostanie użyty czas GMT.
|
app.userProperty |
Element, który na podstawie wartości liczbowej lub ciągu Google Analyticswłaściwości użytkownika przyjmuje wartość TRUE lub FALSE . |
app.operatingSystemAndVersion |
Element oparty na systemie operacyjnym, w którym działa aplikacja.
Przyjmuje wartość Uwaga: ta funkcja jest dostępna tylko w przypadku aplikacji internetowych. |
app.browserAndVersion |
Element oparty na przeglądarce, w której działa aplikacja.
Zwraca wartość Uwaga: ta funkcja jest dostępna tylko w przypadku aplikacji internetowych. |
app.firebaseInstallationId |
Element oparty na identyfikatorach konkretnych instalacji aplikacji na urządzeniach.
Przyjmuje wartość TRUE , gdy identyfikator instalacji jest zgodny z jednym z określonych identyfikatorów instalacji. |
app.customSignal |
Element, który na podstawie wartości liczbowej, semantycznej lub tekstowej warunków sygnału niestandardowego przyjmuje wartość TRUE lub FALSE . |
device.country |
Element oparty na regionie lub kraju, w którym znajduje się urządzenie, zgodny ze standardem ISO 3166-1 alfa-2 (np. US lub UK). Zwraca wartość TRUE , gdy kraj pasuje do oczekiwanego kodu kraju. |
device.dateTime |
Element oparty na czasie ostatniego pobrania danych przez urządzenie.
Używa formatu daty ISO z opcją określania stałej strefy czasowej, np. dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') . |
device.language |
Element na podstawie języka wybranego na urządzeniu. Język jest reprezentowany za pomocą tagu języka IETF, np. es-ES, pt-BR lub en-US.
Zwraca wartość TRUE , gdy język pasuje do oczekiwanego kodu języka. |
device.os |
Element zależny od systemu operacyjnego używanego na urządzeniu (Apple lub Android).
Przyjmuje wartość TRUE , gdy system operacyjny urządzenia jest oczekiwanego typu. |
percent |
Zwraca wartość TRUE na podstawie tego, czy użytkownik należy do losowo przypisanej grupy o ułamkowym procencie (przy wielkościach próby nawet 0,000001%). |
Warunek jednoelementowy zawiera 3 pola:
- Dowolnie zdefiniowany
name
(maksymalnie 100 znaków). - Wyrażenie warunkowe, które przyjmuje wartość
TRUE
lubFALSE
, składające się z elementów pokazanych powyżej. - (Opcjonalnie)
tagColor
, które może być „BLUE
”, „BROWN
”, „CYAN
”, „DEEP_ORANGE
”, „GREEN
”, „INDIGO
”, „LIME
”, „ORANGE
”, „PINK
”, „PURPLE
” lub „TEAL
”. Wielkość liter nie ma znaczenia, a kolor wpływa tylko na sposób wyświetlania warunków w konsoli Firebase.
Obsługiwane operatory
Na przykład funkcjaapp.build.notContains([123, 456])
zwraca wartość TRUE
, jeśli rzeczywista kompilacja aplikacji to 123 lub 492, ale zwraca wartość FALSE
, jeśli rzeczywista kompilacja aplikacji to 999.
Na przykład funkcja app.version.notContains([123, 456])
zwraca wartość TRUE
, jeśli rzeczywista wersja aplikacji to 123 lub 492, ale zwraca wartość FALSE
, jeśli rzeczywista wersja aplikacji to 999.
Element | Obsługiwane operatory | Opis |
---|---|---|
app.audiences |
.inAtLeastOne([...]) |
Zwraca wartość TRUE , jeśli rzeczywista lista odbiorców jest zgodna z co najmniej 1 nazwą listy odbiorców na liście.Na przykład: app.audiences.inAtLeastOne(['Audience 1', 'Audience 2']) |
app.audiences |
.notInAtLeastOne([...]) |
Zwraca wartość TRUE , jeśli rzeczywista lista odbiorców nie pasuje do co najmniej 1 nazwy listy odbiorców na liście. |
app.audiences |
.inAll([...]) |
Zwraca wartość TRUE , jeśli rzeczywista lista odbiorców jest elementem każdej nazwy listy odbiorców na liście. |
app.audiences |
.notInAll([...]) |
Zwraca wartość TRUE , jeśli rzeczywista grupa odbiorców nie należy do żadnej grupy odbiorców na liście. |
app.firstOpenTimestamp |
<=, > |
Porównuje czas zdarzenia first_open z określonym czasem 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 podasz strefy czasowej, zostanie użyta strefa GMT.
|
app.userProperty |
< , <= , == , != ,
>= , > |
Zwraca TRUE , jeśli rzeczywista właściwość użytkownika jest numerycznie porównywana z wartością określoną w sposób zgodny z operatorem. |
app.userProperty |
.contains([...]) |
Zwraca wartość TRUE , jeśli któraś z wartości docelowych jest podciągiem rzeczywistej właściwości użytkownika. |
app.userProperty |
.notContains([...]) |
Zwraca wartość TRUE , jeśli żadna z wartości docelowych nie jest podciągiem 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) do 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 podciągu lub całej wartości rzeczywistej. Aby wymusić dopasowanie całego ciągu znaków, przed wyrażeniem regularnym umieść znak „^”, a po nim znak „$”. Używana jest składnia RE2. |
app.id |
== |
Zwraca TRUE , jeśli podana wartość jest zgodna z identyfikatorem aplikacji. |
app.build |
< , <= , == , != ,
>= , > |
Zwraca TRUE , jeśli rzeczywista kompilacja aplikacji jest numerycznie porównywana z wartością określoną w sposób zgodny z operatorem. |
app.build |
.contains([...]) |
Zwraca wartość TRUE , jeśli któraś z wartości docelowych jest podłańcuchem rzeczywistej wersji aplikacji – np. „a” i „bc” są podłańcuchami „abc”. |
app.build |
.notContains([...]) |
Zwraca wartość TRUE , jeśli żadna z wartości docelowych nie jest podłańcuchem rzeczywistej wersji aplikacji. |
app.build |
.exactlyMatches([...]) |
Zwraca wartość TRUE , jeśli rzeczywista kompilacja aplikacji jest dokładnie zgodna z dowolną wartością docelową na liście. |
app.build |
.matches([...]) |
Zwraca wartość 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 znaków, przed wyrażeniem regularnym umieść znak „^”, a po nim znak „$”. Używana jest składnia
RE2. |
app.version |
< , <= , == , != ,
>= , > |
Zwraca wartość 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 wartość TRUE , jeśli któraś 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 jest dokładnie zgodna z dowolną 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 podciągu lub całej wartości rzeczywistej. Aby wymusić dopasowanie całego ciągu znaków, przed wyrażeniem regularnym umieść znak „^”, a po nim znak „$”. Używana jest składnia
RE2. |
app.operatingSystemAndVersion |
.inOne([...]) |
Zwraca wartość TRUE , jeśli system operacyjny i wersja są zgodne z dowolną z wartości docelowych 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 jej wersja pasują do dowolnej 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 identyfikatora z listy. Przykładowe użycie: app.firebaseInstallationId
in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7'] |
app.customSignal |
< , <= , == , != ,
>= , > |
Zwraca TRUE , jeśli warunek sygnału niestandardowego jest numerycznie
porównywany z wartością określoną w sposób zgodny z operatorem.
|
app.customSignal |
.contains([...]) |
Zwraca wartość TRUE , jeśli dowolna z wartości docelowych jest podciągiem rzeczywistego warunku sygnału niestandardowego.
|
app.customSignal |
.notContains([...]) |
Zwraca wartość TRUE , jeśli dowolna z wartości docelowych jest podciągiem rzeczywistego warunku sygnału niestandardowego.
|
app.customSignal |
.exactlyMatches([...]) |
Zwraca wartość TRUE , jeśli rzeczywisty warunek sygnału niestandardowego dokładnie pasuje (z uwzględnieniem wielkości liter) do dowolnej wartości docelowej na liście.
|
app.customSignal |
.matches([...]) |
Zwraca wartość TRUE , jeśli jakiekolwiek docelowe wyrażenie regularne na liście
pasuje do podciągu lub całego rzeczywistego warunku sygnału niestandardowego. Aby wymusić dopasowanie całego ciągu znaków, przed wyrażeniem regularnym umieść znak „^”, a po nim znak „$”. Używana jest składnia
RE2.
|
version(app.customSignal) |
< , <= , == , != ,
>= , > |
Zwraca TRUE , jeśli warunek sygnału niestandardowego semantycznie porównuje się z określoną wartością w sposób zgodny z operatorem.
|
device.country |
in [...] |
Zwraca wartość TRUE , jeśli kraj urządzenia
jest zgodny z dowolnym krajem na liście. Przykłady użycia: 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łady użycia: 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 pasującą do operatora. |
percent |
<= , > , between |
Zwraca TRUE , jeśli wartość w polu percent jest porównywana z losowo przypisaną wartością pasującą do operatora.
Możesz określić wartość początkową, aby wybrać nową, losowo przypisaną grupę instancji aplikacji dla danego zakresu procentowego, zgodnie z opisem w sekcji Typy reguł warunków. Aby to zrobić, podaj nazwę elementu początkowego przed operatorem, jak w tym przykładzie: percent('keyName') <= 10 Aby skonfigurować określony zakres, możesz użyć operatora percent between 20 and 60 Aby skonfigurować zakres użytkowników od 60 do 80 za pomocą niestandardowego ziarna: percent('seedName') between 60 and 80 |