Odwołanie do wyrażenia warunkowego Zdalnej konfiguracji

Ta strona zawiera informacje referencyjne na temat tworzenia korzystające z interfejsów API backendu Zdalnej konfiguracji lub konsoli Firebase. Dla: więcej informacji o konfigurowaniu i używaniu backendowych interfejsów API znajdziesz w artykule Zdalna konfiguracja modyfikuje się automatycznie.

Elementy używane do tworzenia warunków

Interfejs API typu REST Zdalnej konfiguracji obsługuje te same elementy, których możesz używać do: podczas konfigurowania Zdalnej konfiguracji za pomocą Konsola Firebase:

Element Opis
&&

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

Uwaga: przed znakiem „&” i po nim musi znajdować się spacja. Na przykład: element1 && element2

app.build

Zwraca wartość TRUE lub FALSE na podstawie wartości numeru kompilacji aplikacji.

Uwaga: ta funkcja jest dostępna tylko na urządzeniach Apple i z Androidem. W przypadku Apple użyj wartości CFBundleVersion, a w przypadku Androida – wartości versionCode.

app.version

Zwraca wartość TRUE lub FALSE na podstawie wartości numeru wersji aplikacji.

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

app.id Element utworzony na podstawie identyfikatora aplikacji w Firebase
app.audiences Element, który przyjmuje wartość TRUE lub FALSE na podstawie na obecność lub nieobecność użytkownika w co najmniej jednym Listy odbiorców Firebase Analytics.
app.firstOpenTimestamp Element odnoszący się do pierwszego uruchomienia aplikacji przez użytkownika, uzyskany z zdarzenie first_open Google Analytics. Używa 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 zastosowany czas GMT.
app.userProperty Element, który przyjmuje wartość TRUE lub FALSE na podstawie na wartości liczbowej lub ciągu znaków Usługa użytkownika Firebase Analytics.
app.operatingSystemAndVersion

Element oparty na systemie operacyjnym, w którym działa aplikacja. Zwraca wartość TRUE, gdy wersja systemu operacyjnego i systemu operacyjnego jest zgodna z określonym cel.

Uwaga: dostępny tylko w przypadku aplikacji internetowych.

app.browserAndVersion

Element związany z przeglądarką, w której działa aplikacja. Zwraca wartość TRUE, gdy przeglądarka i jej wersja są zgodne z w określonym miejscu docelowym.

Uwaga: dostępny tylko w przypadku aplikacji internetowych.

app.firebaseInstallationId Element oparty na identyfikatorach konkretnych instalacji na urządzeniach. 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, wykorzystujący standardu ISO 3166-1 alfa-2 (np. Stany Zjednoczone lub Wielka Brytania). Zwraca wartość TRUE, gdy kraj jest zgodny z oczekiwanym kodem kraju.
device.dateTime Element określany na podstawie czasu ostatniego pobrania wykonywanego przez urządzenie. Używa formatu daty ISO z opcję określenia stałej strefy czasowej; np. dateTime('2017-03-22T13:39:44', 'America/Los_Angeles')
device.language Element uzależniony od języka wybranego na urządzeniu. Język to reprezentowane za pomocą tagu języka IETF, takiego jak es-ES, pt-BR lub en-US. Zwraca wartość TRUE, gdy język jest zgodny z oczekiwanym językiem w kodzie.
device.os Element związany z systemem operacyjnym używanym na urządzeniu (Apple lub Android). Zwraca wartość TRUE, gdy system operacyjny urządzenia jest oczekiwanym typem.
percent Zwraca wartość TRUE na podstawie uwzględnienia użytkownika w losowo wybranym miejscu ułamkowa wartość procentowa (z próbką o rozmiarze małym, czyli 0,000001%).

Warunek jednoelementowy zawiera trzy pola:

  1. arbitralnie zdefiniowany nagłówek name (maksymalnie 100 znaków);
  2. Wyrażenie warunkowe zwracające wartość TRUE lub FALSE, złożone z elementów przedstawionych powyżej.
  3. (Opcjonalnie) Pole tagColor, które może „BLUE”, „BROWN”, „CYAN”, „DEEP_ORANGE”, „GREEN”, „INDIGO”, „LIME”, „ORANGE”, „PINK”, „PURPLE” lub „TEAL”. Kolor to bez rozróżniania wielkości liter i wpływa tylko na sposób wyświetlania warunków w polach konsoli Firebase.

Obsługiwane operatory

Przykład: app.build.notContains([123, 456]) zwraca wartość TRUE, jeśli rzeczywista kompilacja aplikacji to 123 lub 492, ale zwraca FALSE, jeśli rzeczywista kompilacja aplikacji to 999. Przykład: app.version.notContains([123, 456]) zwraca wartość TRUE, jeśli rzeczywista wersja aplikacji to 123 lub 492, ale zwraca FALSE, jeśli rzeczywista wersja aplikacji to 999.
Element Obsługiwane operatory Opis
app.audiences .inAtLeastOne([...]) Zwraca wartość TRUE, jeśli rzeczywista grupa odbiorców pasuje do co najmniej jednej nazwę listy odbiorców.
Przykład:

app.audiences.inAtLeastOne(['Audience 1', 'Audience 2'])

app.audiences .notInAtLeastOne([...]) Zwraca wartość TRUE, jeśli rzeczywista grupa odbiorców nie pasuje do co najmniej jedną nazwę grupy odbiorców na liście.
app.audiences .inAll([...]) Zwraca wartość TRUE, jeśli rzeczywista lista odbiorców należy do każdego z tych elementów nazwę listy odbiorców.
app.audiences .notInAll([...]) Zwraca wartość TRUE, jeśli rzeczywista lista odbiorców nie należy do żadnej z nich odbiorców z listy.
app.firstOpenTimestamp <=, > Porównuje czas zdarzenia first_open z określonym czas w warunku i zwraca TRUE lub FALSE w zależności od operatora.
Przykładowe zastosowanie:
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 zastosowany czas 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 pasujący do operatora.
app.userProperty .contains([...]) Zwraca TRUE, jeśli dowolna z wartości docelowych jest podłańcuchem do rzeczywistej właściwości użytkownika.
app.userProperty .notContains([...]) Zwraca TRUE, jeśli żadna z wartości docelowych nie jest podłańcuchem do rzeczywistej właściwości użytkownika.
app.userProperty .exactlyMatches([...]) Zwraca wartość TRUE, jeśli rzeczywista właściwość użytkownika dokładnie odpowiada (z uwzględnieniem wielkości liter) dowolnej wartości docelowej z listy.
app.userProperty .matches([...]) Zwraca TRUE, jeśli dowolne docelowe wyrażenie regularne w funkcji lista pasuje do podłańcucha lub całą, rzeczywistą wartość. Aby wymusić dopasowanie całego ciągu, na początku wyrażenia regularnego wpisz „^” i dodaj do niego „$”. Zastosowania RE2.
app.id == Zwraca TRUE, jeśli podana wartość pasuje do identyfikatora aplikacji.
app.build <, <=, ==, !=, >=, > Zwraca wartość TRUE, jeśli rzeczywista kompilacja aplikacji jest porównywana liczbowo 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 podłańcuchem faktyczna wersja aplikacji – np. „a” i „bc” są podłańcuchami „abc”.
app.build .notContains([...]) Zwraca TRUE, jeśli żadna z wartości docelowych nie jest podłańcuchem aplikacji.
app.build .exactlyMatches([...]) Zwraca wartość TRUE, jeśli rzeczywista kompilacja aplikacji dokładnie pasuje dowolną wartość docelową z listy.
app.build .matches([...]) Zwraca TRUE, jeśli dowolne docelowe wyrażenie regularne w funkcji lista pasuje do podłańcucha lub całej, rzeczywistej wartości. Aby wymusić dopasowanie całego ciągu, poprzedź wyrażenie regularne znakiem „^” i przypisać go do jego przyrostka znakiem „$”. Wykorzystuje Składnia RE2.
app.version <, <=, ==, !=, >=, > Zwraca wartość TRUE, jeśli rzeczywista wersja aplikacji jest porównywana numerycznie do wartości określonej w sposób pasujący do operatora.
app.version .contains([...]) Zwraca TRUE, jeśli dowolna z wartości docelowych jest podłańcuchem rzeczywista wersja aplikacji – np. „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 rzeczywistą wersję aplikacji.
app.version .exactlyMatches([...]) Zwraca wartość TRUE, jeśli rzeczywista wersja aplikacji jest dokładnie taka sama dowolną wartość docelową z listy.
app.version .matches([...]) Zwraca TRUE, jeśli dowolne docelowe wyrażenie regularne w funkcji lista pasuje do podłańcucha lub całej, rzeczywistej wartości. Aby wymusić dopasowanie całego ciągu, poprzedź wyrażenie regularne znakiem „^” i przypisać go do jego przyrostka znakiem „$”. Wykorzystuje Składnia RE2.
app.operatingSystemAndVersion .inOne([...]) Zwraca wartość TRUE, jeśli system operacyjny i wersja są zgodne dowolne z wartości docelowe z listy.
Przykład:

    app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')])
    

app.browserAndVersion .inOne([...]) Zwraca wartość TRUE, jeśli przeglądarka i wersja pasują do którejkolwiek z wartości docelowe z listy.
Przykład:

    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
    

app.firebaseInstallationId in [...] Zwraca wartość TRUE, jeśli identyfikator instalacji pasuje do dowolnych na liście. Przykładowe zastosowanie: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] Zwraca wartość TRUE, jeśli kraj urządzenia pasuje do dowolnych na liście. Przykładowe zastosowanie: device.country in ['gb', 'us']. Kod kraju urządzenia jest określany na podstawie adresu IP urządzenia wskazanego w żądaniu lub kodu kraju określonego przez Firebase. Analytics (jeśli dane Analytics są udostępniane Firebase).
device.dateTime <=, > Porównuje bieżącą godzinę do czasu docelowego warunku i przyjmuje wartość TRUE lub FALSE (operator). Przykładowe zastosowanie: dateTime < dateTime('2017-03-22T13:39:44')
device.language in [...] Zwraca wartość TRUE, jeśli dowolny język aplikacji jest zgodny z językiem z listy. Przykładowe zastosowanie: device.language in ['en-UK', 'en-US'].
device.os ==, != Zwraca wartość TRUE, jeśli system operacyjny urządzenia porównuje wyniki do wartości w tym polu zgodnej z operatorem.
percent <=, >, between Zwraca TRUE, jeśli wartość w polu percent porównuje wartość, która została losowo przypisana do operatora.

Możesz określić wartość ziarna, aby wybrać nowe losowo przypisane instancji aplikacji w danym zakresie procentowym, jak opisano w Reguła warunku .

W tym celu podaj nazwa nasiona przed operatorem, jak w tym przykładzie:

percent('keyName') <= 10

Aby skonfigurować konkretny zakres, możesz użyć funkcji between . Aby skonfigurować zakres od 20 do 60 użytkowników za pomocą wartość domyślna:

percent between 20 and 60

Aby skonfigurować zakres użytkowników od 60 do 80 za pomocą niestandardowego obiektu wyjściowego:

percent('seedName') between 60 and 80