Odwołanie do wyrażenia warunkowego Zdalnej konfiguracji

Ta strona zawiera informacje referencyjne na temat tworzenia wyrażeń warunkowych za pomocą Remote Configinterfejsów backendowych lub konsoli Firebase. Więcej informacji o konfigurowaniu i używaniu interfejsów API backendu znajdziesz w artykule Modyfikowanie zdalnej konfiguracji za pomocą kodu.

Elementy używane do tworzenia warunków

Interfejs API REST Remote Config obsługuje te same elementy, których możesz używać do tworzenia warunków podczas konfigurowania Remote Config w konsoli Firebase:

Element Opis
&&

Służy do tworzenia logicznego „i” dla elementów, jeśli w warunku jest używanych więcej niż 1 element. Jeśli element jest używany w składni REST bez parametru && , jest on traktowany jako warunek.

Uwaga: przed i za symbolem „&” musi być spacja. Przykład: element1 && element2.

app.build

Wynik funkcji to TRUE lub FALSE w zależności od wartości numeru kompilacji aplikacji.

Uwaga: funkcja 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

Wynik funkcji to TRUE lub FALSE w zależności od wartości numeru wersji aplikacji.

Uwaga: w przypadku urządzeń z Androidem użyj wartości versionName, a w przypadku urządzeń Apple – wartości CFBundleShortVersionString.

app.id Element na podstawie identyfikatora aplikacji Firebase.
app.audiences Element, który przyjmuje wartość TRUE lub FALSE w zależności od tego, czy użytkownik znajduje się na co najmniej 1 liście odbiorców Analytics w Firebase.
app.firstOpenTimestamp Element określający, czy użytkownik uruchomił aplikację po raz pierwszy. Dane pochodzą 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 zostanie określona strefa czasowa, zostanie użyta strefa GMT.
app.userProperty Element, który zwraca wartość TRUE lub FALSE w zależności od wartości liczbowej lub ciągu znaków właściwości użytkownika w Analytics dla Firebase.
app.operatingSystemAndVersion

Element oparty na systemie operacyjnym, na którym działa aplikacja. Wynik TRUE, gdy system operacyjny i jego wersja są zgodne z określonym celem.

Uwaga: ta opcja jest dostępna tylko w przypadku aplikacji internetowych.

app.browserAndVersion

Element zależny od przeglądarki, w której działa aplikacja. Ocenia wartość TRUE, gdy przeglądarka i jej wersja są zgodne z określonym celem.

Uwaga: ta opcja jest dostępna tylko w przypadku aplikacji internetowych.

app.firebaseInstallationId Element oparty na identyfikatorach konkretnych instalacji na urządzeniu. Ta funkcja zwraca wartość TRUE, gdy identyfikator instalacji jest zgodny z jednym ze wskazanych identyfikatorów instalacji.
device.country Element określający region lub kraj, w którym znajduje się urządzenie, zgodnie ze standardem ISO 3166-1 alfa-2 (np. US lub UK). Wynik funkcji to TRUE, gdy kraj jest zgodny z oczekiwanym kodem kraju.
device.dateTime Element na podstawie czasu ostatniego pobierania przez urządzenie. Używa formatu daty ISO z opcją , aby określić stałą strefę czasową, na przykład 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. Ocenia element TRUE, gdy język jest zgodny z oczekiwanym kodem języka.
device.os Element oparty na systemie operacyjnym używanym na urządzeniu (Apple lub Android). przyjmuje wartość TRUE, gdy system operacyjny urządzenia jest zgodny z oczekiwaniami;
percent Funkcja TRUE jest oceniana na podstawie przypisania losowego ułamka procentowego (z wielkościami próby wynoszącymi nawet 0,000001%), w którym użytkownik jest uwzględniony.

Warunek jednoelementowy zawiera 3 pola:

  1. dowolnie zdefiniowany name (maksymalnie 100 znaków)
  2. wyrażenie warunkowe o wartości TRUE lub FALSE, złożone z elementów wymienionych powyżej;
  3. (Opcjonalnie) tagColor, który może mieć wartość „BLUE”, „BROWN”, „CYAN”, „DEEP_ORANGE”, „GREEN”, „INDIGO”, „LIME”, „ORANGE”, „PINK”, „PURPLE” lub „TEAL”. Kolor jest nieistotny 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 wersja aplikacji to 123 lub 492, ale zwraca FALSE, jeśli rzeczywista wersja 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 wartość TRUE, jeśli rzeczywista lista odbiorców zawiera 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 rzeczywisty odbiorca nie pasuje do co najmniej jednej nazwy odbiorcy na liście.
app.audiences .inAll([...]) Zwraca TRUE, jeśli rzeczywista lista odbiorców zawiera wszystkie nazwy list odbiorców na liście.
app.audiences .notInAll([...]) Zwraca wartość TRUE, jeśli bieżąca lista odbiorców nie zawiera żadnego odbiorcy z listy.
app.firstOpenTimestamp <=, > Porównuje czas zdarzenia first_open ze wskazanym czasem w warunku i zwraca wartość TRUE lub FALSE w zależności od operatora.
Przykład użycia:
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ślisz strefy czasowej, zostanie użyta strefa GMT.
app.userProperty <, <=, ==, !=, >=, > Zwraca wartość TRUE, jeśli rzeczywista właściwość użytkownika jest porównywana numerycznie do wartości określonej w sposób zgodny z operatorem.
app.userProperty .contains([...]) Zwraca TRUE, jeśli którakolwiek z wartości docelowych jest podciągiem właściwości użytkownika.
app.userProperty .notContains([...]) Zwraca TRUE, jeśli żadna z wartości docelowych nie jest podciągiem ciągu znaków w 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 znaków lub całej wartości. Aby wymusić dopasowanie całego ciągu znaków, poprzedz wyrażenie regularne znakiem „^”, a następnie zakończ je znakiem „$”. Użyj składni RE2.
app.id == Zwraca TRUE, jeśli określona wartość pasuje do identyfikatora aplikacji.
app.build <, <=, ==, !=, >=, > Zwraca wartość TRUE, jeśli numeryczna wersja kompilacji aplikacji jest porównywana do wartości określonej w sposób pasujący do operatora.
app.build .contains([...]) Zwraca TRUE, jeśli dowolna z wartości docelowych jest podciągiem ciągu znaków w rzeczywistym kompilacji aplikacji – np. „a” i „bc” są podciągiem ciągu znaków w „abc”.
app.build .notContains([...]) Zwraca TRUE, jeśli żadna z wartości docelowych nie jest podciągiem ciągu znaków rzeczywistej wersji aplikacji.
app.build .exactlyMatches([...]) Zwraca TRUE, jeśli rzeczywiste kompilacje aplikacji dokładnie pasują do dowolnej wartości docelowej na liście.
app.build .matches([...]) Zwraca TRUE, jeśli dowolne docelowe wyrażenie regularne na liście dopasowuje się do podciągu znaków lub całej wartości. Aby wymusić dopasowanie całego ciągu znaków, poprzedz wyrażenie regularne znakiem „^”, a następnie zakończ je znakiem „$”. Użyj składni RE2.
app.version <, <=, ==, !=, >=, > Zwraca TRUE, jeśli rzeczywista wersja aplikacji jest porównywana liczbowo do wartości określonej w sposób pasujący do operatora.
app.version .contains([...]) Zwraca TRUE, jeśli którakolwiek z wartości docelowych jest podciągiem znaków rzeczywistej wersji aplikacji. Na przykład „a” i „bc” są podciągiem znaków ciągu „abc”.
app.version .notContains([...]) Zwraca wartość TRUE, jeśli żadna z wartości docelowych nie jest podciągiem ciągu znaków rzeczywistej wersji aplikacji.
app.version .exactlyMatches([...]) Zwraca TRUE, jeśli rzeczywista wersja aplikacji dokładnie pasuje do dowolnej wartości docelowej na liście.
app.version .matches([...]) Zwraca TRUE, jeśli dowolne docelowe wyrażenie regularne na liście dopasowuje się do podciągu znaków lub całej wartości. Aby wymusić dopasowanie całego ciągu znaków, poprzedz wyrażenie regularne znakiem „^”, a następnie zakończ je znakiem „$”. Użyj składni RE2.
app.operatingSystemAndVersion .inOne([...]) Zwraca wartość TRUE, jeśli system operacyjny i jego 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 są zgodne z dowolną 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 jest zgodny z którymś z wymienionych na liście. Przykładowe użycie: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] Zwraca wartość TRUE, jeśli kraj urządzenia jest zgodny z dowolnym krajem na liście. Przykład 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 docelowym czasem warunku i zwraca wartość TRUE lub FALSE w zależności od operatora. Przykład użycia: 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ład użycia: device.language in ['en-UK', 'en-US'].
device.os ==, != Zwraca TRUE, jeśli system operacyjny urządzenia porównuje do wartości w tym polu, która pasuje do operatora.
percent <=, >, between Zwraca TRUE, jeśli wartość w polu percent jest porównywana z wartością przypisaną losowo, która pasuje do operatora.

Możesz podać wartość początkową, aby wybrać nową losowo przypisaną grupę instancji aplikacji dla danego zakresu procentowego, jak opisano w sekcji Typy reguł warunków.

Aby to zrobić, przed operatorem podaj nazwę nasienia, jak w tym przykładzie:

percent('keyName') <= 10

Aby skonfigurować określony zakres, możesz użyć operatora between. Aby skonfigurować zakres użytkowników od 20 do 60, używając wartości domyślnej:

percent between 20 and 60

Aby skonfigurować zakres użytkowników od 60 do 80 z użyciem niestandardowego ziarna:

percent('seedName') between 60 and 80