Catch up on highlights from Firebase at Google I/O 2023. Learn more

Bedingter Ausdrucksverweis für Remote Config

Diese Seite enthält Referenzinformationen zum Erstellen bedingter Ausdrücke mit Remote Config-Back-End-APIs oder der Firebase-Konsole. Weitere Informationen zum Einrichten und Verwenden der Back-End-APIs finden Sie unter Modify Remote Config programmatically .

Elemente zum Erstellen von Bedingungen

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-Konsole 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 ist ein Leerzeichen erforderlich. 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 von versionName und für Apple-Geräte den Wert von 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 bewertet wird.
app.firstOpenTimestamp Ein Element, das auf dem ersten Start einer App durch den Benutzer basiert und aus dem Google Analytics first_open -Ereignis stammt. Verwendet das ISO-Datumsformat mit der Option, eine feste Zeitzone anzugeben; 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 zu 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 mit 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 UK). 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; beispielsweise 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 mit einem 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 basierend auf dem auf einem Gerät verwendeten Betriebssystem (Apple oder Android). Wird als TRUE ausgewertet, wenn das Betriebssystem des Geräts dem erwarteten Typ entspricht.
percent Wird basierend auf der Einbeziehung eines Benutzers in einen zufällig zugewiesenen Bruchteilprozentsatz (mit Stichprobenumfängen 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 als TRUE oder FALSE ausgewertet wird 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 beachtet und wirkt sich nur darauf aus, wie Bedingungen in der Firebase-Konsole angezeigt werden.

Unterstützte Operatoren

Beispielsweise gibt app.build.notContains([123, 456])TRUE zurück, wenn der tatsächliche App-Build 123 oder 492 ist, gibt aber FALSE zurück, 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, gibt aber FALSE zurück, wenn die tatsächliche App-Version 999 ist.
Element Unterstützte Operatoren 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 die Zeit des first_open Ereignisses mit der angegebenen Zeit in der Bedingung und gibt basierend auf dem 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 dem Operator entspricht.
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 ein „^“ voran und ein „$“ als Suffix. Verwendet die 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 ein „^“ voran und ein „$“ als Suffix. Verwendet die 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 dem Operator entspricht.
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 ein „^“ voran und ein „$“ als Suffix. Verwendet die 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 der in der Liste angegebenen übereinstimmt. Beispielnutzung: 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. Beispielnutzung: device.country in ['gb', 'us'] . Der Ländercode des Geräts wird mithilfe 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 wird basierend auf dem Operator als TRUE oder FALSE ausgewertet. Verwendungsbeispiel: 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 verglichen wird, der mit dem Operator übereinstimmt.
percent <= , > , between Gibt TRUE zurück, wenn der Wert im percent mit dem zufällig zugewiesenen Wert verglichen wird, der dem Operator entspricht.

Sie können einen Ausgangswert angeben, um eine neue zufällig zugewiesene Gruppe von App-Instanzen für einen bestimmten Prozentbereich auszuwählen, wie in 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 between Operator verwenden. So konfigurieren Sie einen Benutzerbereich zwischen 20 und 60 mithilfe des Standard-Seeds :

percent between 20 and 60

So konfigurieren Sie einen Benutzerbereich zwischen 60 und 80 mit einem benutzerdefinierten Seed:

percent('seedName') between 60 and 80