Referenz zum bedingten Ausdruck der Remote-Konfiguration

Diese Seite enthält Referenzinformationen zum Erstellen bedingter Ausdrücke mithilfe von Remote Config-Backend-APIs oder der Firebase-Konsole. Weitere Informationen zum Einrichten und Verwenden der Backend-APIs finden Sie unter Programmgesteuertes Ändern der Remote-Konfiguration .

Elemente, die zum Erstellen von Bedingungen verwendet werden

Die Remote Config REST API unterstützt dieselben Elemente, die Sie zum Erstellen von Bedingungen verwenden können, wenn Sie Remote Config mit der Firebase Console konfigurieren:

Element Beschreibung
&&

Wird verwendet, um ein logisches „und“ von Elementen zu erstellen, wenn mehr als ein Element für eine Bedingung verwendet wird. Wenn ein Element in der REST-Syntax ohne && verwendet wird, wird dieses Element als Bedingung behandelt.

Hinweis: Vor und nach dem kaufmännischen Und-Zeichen ist ein Leerzeichen erforderlich. Zum Beispiel: element1 && element2 .

app.build

Wird basierend auf dem Wert der Build-Nummer einer App als TRUE oder FALSE ausgewertet.

Hinweis: Nur auf Apple- und Android-Geräten verfügbar. Verwenden Sie für Apple den Wert von CFBundleVersion und für Android den Wert von versionCode .

app.version

Wird basierend auf dem Wert der Versionsnummer einer App als TRUE oder FALSE ausgewertet.

Hinweis: Verwenden Sie für Android-Geräte den Wert versionName und für Apple-Geräte den Wert CFBundleShortVersionString .

app.id Ein Element, das auf der Firebase-App-ID der App basiert
app.audiences Ein Element, das basierend auf der Anwesenheit oder Abwesenheit des Benutzers in einer oder mehreren Firebase Analytics-Zielgruppen als TRUE oder FALSE ausgewertet wird.
app.firstOpenTimestamp Ein Element, das auf dem ersten Start einer App durch den Benutzer basiert und aus dem Google Analytics-Ereignis first_open abgerufen wird. Verwendet das ISO-Datumsformat mit der Option, eine feste Zeitzone anzugeben; zum Beispiel app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') . Wenn keine Zeitzone angegeben ist, wird GMT verwendet.
app.userProperty Ein Element, das basierend auf dem numerischen oder Zeichenfolgenwert einer Firebase Analytics-Benutzereigenschaft als TRUE oder FALSE ausgewertet wird.
app.operatingSystemAndVersion

Ein Element, das auf dem Betriebssystem basiert, auf dem eine App ausgeführt wird. Wird als TRUE ausgewertet, wenn das Betriebssystem und die Betriebssystemversion mit dem angegebenen Ziel übereinstimmen.

Hinweis: Nur für Web-Apps verfügbar.

app.browserAndVersion

Ein Element, das auf dem Browser basiert, auf dem eine App ausgeführt wird. Wird als TRUE ausgewertet, wenn der Browser und die Browserversion mit dem angegebenen Ziel übereinstimmen.

Hinweis: Nur für Web-Apps verfügbar.

app.firebaseInstallationId Ein Element, das auf den IDs bestimmter Geräteinstallationen basiert. Wird als TRUE ausgewertet, wenn die Installations-ID mit einer der angegebenen Installations-IDs übereinstimmt.
device.country Ein Element basierend auf der Region/dem Land, in dem sich ein Gerät befindet, unter Verwendung des ISO 3166-1 Alpha-2-Standards (z. B. USA oder Großbritannien). Wird als TRUE ausgewertet, wenn ein Land mit einem erwarteten Ländercode übereinstimmt.
device.dateTime Ein Element, das auf dem Zeitpunkt des letzten Abrufs basiert, den das Gerät durchführt. Verwendet das ISO-Datumsformat mit der Option, eine feste Zeitzone anzugeben; zum Beispiel dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') .
device.language Ein Element, das auf der auf einem Gerät ausgewählten Sprache basiert. Die Sprache wird durch ein IETF-Sprachtag wie es-ES, pt-BR oder en-US dargestellt. Wird als TRUE ausgewertet, wenn eine Sprache mit einem erwarteten Sprachcode übereinstimmt.
device.os Ein Element, das auf dem auf einem Gerät verwendeten Betriebssystem (Apple oder Android) basiert. Wird als TRUE ausgewertet, wenn das Gerätebetriebssystem dem erwarteten Typ entspricht.
percent Wird basierend auf der Einbeziehung eines Benutzers in einen zufällig zugewiesenen Bruchprozentsatz (mit Stichprobengrößen von nur 0,000001 %) als TRUE ausgewertet.

Eine Einzelelementbedingung enthält drei Felder:

  1. Ein beliebig definierter name (bis zu 100 Zeichen)
  2. Ein bedingter Ausdruck, der TRUE oder FALSE ergibt und aus den oben gezeigten Elementen besteht.
  3. (Optional) Die tagColor , die „ BLUE “, „ BROWN “, „ CYAN “, „ DEEP_ORANGE “, „ GREEN “, „ INDIGO “, „ LIME “, „ ORANGE “, „ PINK “, „ PURPLE “ oder sein kann „ TEAL “. Bei der Farbe wird die Groß-/Kleinschreibung nicht berücksichtigt und sie wirkt sich nur darauf aus, wie Bedingungen in der Firebase-Konsole angezeigt werden.

Unterstützte Betreiber

Beispielsweise gibt app.build.notContains([123, 456])TRUE zurück, wenn der tatsächliche App-Build 123 oder 492 ist, aber FALSE wenn der tatsächliche App-Build 999 ist. Beispielsweise gibt app.version.notContains([123, 456])TRUE zurück, wenn die tatsächliche App-Version 123 oder 492 ist, aber FALSE wenn die tatsächliche App-Version 999 ist.
Element Unterstützte Betreiber Beschreibung
app.audiences .inAtLeastOne([...]) Gibt TRUE zurück, wenn die tatsächliche Zielgruppe mit mindestens einem Zielgruppennamen in der Liste übereinstimmt.
Zum Beispiel:

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

app.audiences .notInAtLeastOne([...]) Gibt TRUE zurück, wenn die tatsächliche Zielgruppe nicht mit mindestens einem Zielgruppennamen in der Liste übereinstimmt.
app.audiences .inAll([...]) Gibt TRUE zurück, wenn die tatsächliche Zielgruppe Mitglied jedes Zielgruppennamens in der Liste ist.
app.audiences .notInAll([...]) Gibt TRUE zurück, wenn die tatsächliche Zielgruppe kein Mitglied einer Zielgruppe in der Liste ist.
app.firstOpenTimestamp <=, > Vergleicht den Zeitpunkt des Ereignisses first_open mit dem in der Bedingung angegebenen Zeitpunkt und gibt je nach Operator TRUE oder FALSE zurück.
Beispielverwendung:
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') .
So geben Sie einen Bereich an:
app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00') Wenn keine Zeitzone angegeben ist, wird GMT verwendet.
app.userProperty < , <= , == , != , >= , > Gibt TRUE zurück, wenn die tatsächliche Benutzereigenschaft numerisch mit dem angegebenen Wert auf eine Weise verglichen wird, die mit dem Operator übereinstimmt.
app.userProperty .contains([...]) Gibt TRUE zurück, wenn einer der Zielwerte eine Teilzeichenfolge der tatsächlichen Benutzereigenschaft ist.
app.userProperty .notContains([...]) Gibt TRUE zurück, wenn keiner der Zielwerte eine Teilzeichenfolge der tatsächlichen Benutzereigenschaft ist.
app.userProperty .exactlyMatches([...]) Gibt TRUE zurück, wenn die tatsächliche Benutzereigenschaft genau mit einem der Zielwerte in der Liste übereinstimmt (Groß-/Kleinschreibung beachten).
app.userProperty .matches([...]) Gibt TRUE zurück, wenn ein regulärer Zielausdruck in der Liste mit einer Teilzeichenfolge oder dem gesamten tatsächlichen Wert übereinstimmt. Um den Abgleich der gesamten Zeichenfolge zu erzwingen, stellen Sie dem regulären Ausdruck „^“ voran und fügen Sie ihm „$“ an. Verwendet RE2- Syntax.
app.id == Gibt TRUE zurück, wenn der angegebene Wert mit der App-ID der App übereinstimmt.
app.build < , <= , == , != , >= , > Gibt TRUE zurück, wenn der tatsächliche App-Build numerisch mit dem angegebenen Wert auf eine Weise verglichen wird, die dem Operator entspricht.
app.build .contains([...]) Gibt TRUE zurück, wenn einer der Zielwerte eine Teilzeichenfolge des tatsächlichen App-Builds ist – beispielsweise sind „a“ und „bc“ Teilzeichenfolgen von „abc“.
app.build .notContains([...]) Gibt TRUE zurück, wenn keiner der Zielwerte eine Teilzeichenfolge des tatsächlichen App-Builds ist.
app.build .exactlyMatches([...]) Gibt TRUE zurück, wenn der tatsächliche App-Build genau mit einem der Zielwerte in der Liste übereinstimmt.
app.build .matches([...]) Gibt TRUE zurück, wenn ein regulärer Zielausdruck in der Liste mit einer Teilzeichenfolge oder dem gesamten tatsächlichen Wert übereinstimmt. Um den Abgleich der gesamten Zeichenfolge zu erzwingen, stellen Sie dem regulären Ausdruck „^“ voran und fügen Sie ihm „$“ an. Verwendet RE2- Syntax.
app.version < , <= , == , != , >= , > Gibt TRUE zurück, wenn die tatsächliche App-Version numerisch mit dem angegebenen Wert auf eine Weise verglichen wird, die mit dem Operator übereinstimmt.
app.version .contains([...]) Gibt TRUE zurück, wenn einer der Zielwerte eine Teilzeichenfolge der tatsächlichen App-Version ist – beispielsweise sind „a“ und „bc“ Teilzeichenfolgen von „abc“.
app.version .notContains([...]) Gibt TRUE zurück, wenn keiner der Zielwerte eine Teilzeichenfolge der tatsächlichen App-Version ist.
app.version .exactlyMatches([...]) Gibt TRUE zurück, wenn die tatsächliche App-Version genau mit einem der Zielwerte in der Liste übereinstimmt.
app.version .matches([...]) Gibt TRUE zurück, wenn ein regulärer Zielausdruck in der Liste mit einer Teilzeichenfolge oder dem gesamten tatsächlichen Wert übereinstimmt. Um den Abgleich der gesamten Zeichenfolge zu erzwingen, stellen Sie dem regulären Ausdruck „^“ voran und fügen Sie ihm „$“ an. Verwendet RE2- Syntax.
app.operatingSystemAndVersion .inOne([...]) Gibt TRUE zurück, wenn das Betriebssystem und die Version mit einem der Zielwerte in der Liste übereinstimmen.
Zum Beispiel:

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

app.browserAndVersion .inOne([...]) Gibt TRUE zurück, wenn der Browser und die Version mit einem der Zielwerte in der Liste übereinstimmen.
Zum Beispiel:

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

app.firebaseInstallationId in [...] Gibt TRUE zurück, wenn die Installations-ID mit einer in der Liste angegebenen übereinstimmt. Beispielverwendung: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] Gibt TRUE zurück, wenn das Land des Geräts mit einem der in der Liste angegebenen Länder übereinstimmt. Beispielverwendung: device.country in ['gb', 'us'] . Der Ländercode des Geräts wird anhand der IP-Adresse des Geräts in der Anfrage oder des von Firebase Analytics ermittelten Ländercodes ermittelt (wenn Analytics-Daten mit Firebase geteilt werden).
device.dateTime <= , > Vergleicht die aktuelle Zeit mit der Zielzeit der Bedingung und wertet je nach Operator TRUE oder FALSE aus. Beispielverwendung: dateTime < dateTime('2017-03-22T13:39:44') .
device.language in [...] Gibt TRUE zurück, wenn eine der Sprachen der App mit einer Sprache in der Liste übereinstimmt. Beispielverwendung: device.language in ['en-UK', 'en-US'] .
device.os == , != Gibt TRUE zurück, wenn das Betriebssystem des Geräts mit dem Wert in diesem Feld vergleicht, der mit dem Operator übereinstimmt.
percent <= , > , between Gibt TRUE zurück, wenn der Wert im percent mit dem Wert verglichen wird, der zufällig zugewiesen wurde und dem Operator entspricht.

Sie können einen Startwert angeben, um eine neue, zufällig zugewiesene Gruppe von App-Instanzen für einen bestimmten Prozentbereich auszuwählen, wie unter Bedingungsregeltypen beschrieben.

Geben Sie dazu den Namen des Seeds vor dem Operator an, wie im folgenden Beispiel:

percent('keyName') <= 10

Um einen bestimmten Bereich zu konfigurieren, können Sie den Operator between verwenden. So konfigurieren Sie einen Benutzerbereich zwischen 20 und 60 mit dem Standard-Seed :

percent between 20 and 60

So konfigurieren Sie einen Benutzerbereich zwischen 60 und 80 mithilfe eines benutzerdefinierten Startwerts:

percent('seedName') between 60 and 80