Referenz zu bedingten Remote Config-Ausdrücken

Auf dieser Seite finden Sie Referenzinformationen zum Erstellen bedingter Ausdrücke mit den Remote Config Back-End-APIs oder der Firebase Console. Weitere Informationen zum Einrichten und Verwenden der Back-End-APIs finden Sie unter Remote Config programmatisch ändern.

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 über die Firebase Console konfigurieren:

Element Beschreibung
&&

Wird verwendet, um eine logische „Und“-Verknüpfung von Elementen zu erstellen, wenn mehr als ein Element für eine Bedingung verwendet wird. Wenn ein Element in der REST-Syntax ohne das && verwendet wird, wird es als Bedingung behandelt.

Hinweis:Vor und nach den Kaufmännischen Und-Zeichen ist ein Leerzeichen erforderlich. Beispiel: element1 && element2.

app.build

Wird je nach Wert der Build-Nummer einer App zu 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 je nach Wert der Versionsnummer einer App zu 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 je nach Anwesenheit oder Abwesenheit des Nutzers in einer oder mehreren Google Analytics for Firebase-Zielgruppen zu TRUE oder FALSE ausgewertet wird.
app.firstOpenTimestamp Ein Element, das auf dem ersten Startzeitpunkt einer App durch den Nutzer basiert und aus dem Google Analytics first_open Ereignis abgerufen wird. Verwendet das ISO-Datumsformat mit der Option, eine feste Zeitzone anzugeben, z. B. app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles'). Wenn keine Zeitzone angegeben ist, wird GMT verwendet.
app.userProperty Ein Element, das je nach numerischem Wert oder Stringwert einer Google Analytics Nutzereigenschaft zu TRUE oder FALSE ausgewertet wird.
app.operatingSystemAndVersion

Ein Element, das auf dem Betriebssystem basiert, auf dem eine App ausgeführt wird. Wird zu 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 zu 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 zu TRUE ausgewertet, wenn die Installations ID mit einer der angegebenen Installations-IDs übereinstimmt.
app.customSignal Ein Element, das je nach numerischem Wert, semantischem Wert oder Stringwert der Bedingungen für benutzerdefinierte Signale zu TRUE oder FALSE ausgewertet wird.
device.country Ein Element, das auf der Region/dem Land basiert, in dem sich ein Gerät befindet. Dabei wird der ISO 3166-1 Alpha-2-Standard verwendet (z. B. „US“ oder „DE“). Wird zu TRUE ausgewertet, wenn ein Land mit einem erwarteten Ländercode übereinstimmt.
device.dateTime Ein Element, das auf der Zeit des letzten Abrufs basiert, den das Gerät ausführt. Verwendet das ISO-Datumsformat mit der Option, eine feste Zeitzone anzugeben, z. B. 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 zu TRUE ausgewertet, wenn eine Sprache mit einem erwarteten Sprachcode übereinstimmt.
device.os Ein Element, das auf dem auf einem Gerät verwendeten Betriebssystem basiert (Apple oder Android). Wird zu TRUE ausgewertet, wenn das Betriebssystem des Geräts dem erwarteten Typ entspricht.
percent Wird zu TRUE ausgewertet, wenn ein Nutzer in einem zufällig zugewiesenen Prozentsatz enthalten ist (mit Stichprobengrößen von nur 0,000001%).

Eine Bedingung mit einem Element enthält drei Felder:

  1. Ein beliebig definierter name (bis zu 100 Zeichen)
  2. Ein bedingter Ausdruck, der zu 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 "TEAL" sein kann. Bei der Farbe wird nicht zwischen Groß- und Kleinschreibung unterschieden und sie wirkt sich nur darauf aus, wie Bedingungen in der Firebase Console angezeigt werden.

Unterstützte Operatoren

Beispiel: app.build.notContains([123, 456]) gibt TRUE zurück, wenn der tatsächliche App-Build 123 oder 492 ist, aber FALSE zurück, wenn der tatsächliche App-Build 999 ist.

Beispiel: app.version.notContains([123, 456]) gibt TRUE zurück, wenn die tatsächliche App-Version 123 oder 492 ist, 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.
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 aller Zielgruppen 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 Ereignisses first_open mit der in der Bedingung angegebenen Zeit und gibt TRUE oder FALSE je nach Operator zurück.
Beispiel für die Verwendung:
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 Nutzereigenschaft 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 ein Teilstring der tatsächlichen Nutzereigenschaft ist.

app.userProperty .notContains([...])

Gibt TRUE zurück, wenn keiner der Zielwerte ein Teilstring der tatsächlichen Nutzereigenschaft ist.

app.userProperty .exactlyMatches([...])

Gibt TRUE zurück, wenn die tatsächliche Nutzereigenschaft genau (unter Berücksichtigung der Groß-/Kleinschreibung) einem der Zielwerte in der Liste übereinstimmt.

app.userProperty .matches([...])

Gibt TRUE zurück, wenn ein regulärer Zielausdruck in der Liste mit einem Teilstring des tatsächlichen Werts oder dem gesamten tatsächlichen Wert übereinstimmt. Wenn Sie erzwingen möchten, dass der gesamte String übereinstimmt, stellen Sie dem regulären Ausdruck ein „^“ voran und fügen Sie ein „$`“ an. 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 ein Teilstring des tatsächlichen App-Builds ist. Beispiel: „a“ und „bc“ sind Teilstrings von „abc“.

app.build .notContains([...])

Gibt TRUE zurück, wenn keiner der Zielwerte ein Teilstring 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 einem Teilstring des tatsächlichen Werts oder dem gesamten tatsächlichen Wert übereinstimmt. Wenn Sie erzwingen möchten, dass der gesamte String übereinstimmt, stellen Sie dem regulären Ausdruck ein „^“ voran und fügen Sie ein „$`“ 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 dem Operator entspricht.

app.version .contains([...])

Gibt TRUE zurück, wenn einer der Zielwerte ein Teilstring der tatsächlichen App-Version ist. Beispiel: „a“ und „bc“ sind Teilstrings von „abc“.

app.version .notContains([...])

Gibt TRUE zurück, wenn keiner der Zielwerte ein Teilstring 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 einem Teilstring des tatsächlichen Werts oder dem gesamten tatsächlichen Wert übereinstimmt. Wenn Sie erzwingen möchten, dass der gesamte String übereinstimmt, stellen Sie dem regulären Ausdruck ein „^“ voran und fügen Sie ein „$`“ 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.
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.
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 IDs übereinstimmt. Beispiel für die Verwendung: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']

app.customSignal <, <=, ==, !=, >=, >

Gibt TRUE zurück, wenn die Bedingung für das benutzerdefinierte Signal numerisch mit dem angegebenen Wert auf eine Weise verglichen wird, die dem Operator entspricht.

app.customSignal .contains([...])

Gibt TRUE zurück, wenn einer der Zielwerte ein Teilstring von der tatsächlichen Bedingung für das benutzerdefinierte Signal ist.

app.customSignal .notContains([...])

Gibt TRUE zurück, wenn einer der Zielwerte ein Teilstring der tatsächlichen Bedingung für das benutzerdefinierte Signal ist.

app.customSignal .exactlyMatches([...])

Gibt TRUE zurück, wenn die tatsächliche Bedingung für das benutzerdefinierte Signal genau mit einem der Zielwerte in der Liste übereinstimmt (unter Berücksichtigung der Groß-/Kleinschreibung).

app.customSignal .matches([...])

Gibt TRUE zurück, wenn ein regulärer Zielausdruck in der Liste mit einem Teilstring der tatsächlichen Bedingung für das benutzerdefinierte Signal oder der gesamten Bedingung übereinstimmt. Wenn Sie erzwingen möchten, dass der gesamte String übereinstimmt, stellen Sie dem regulären Ausdruck ein „^“ voran und fügen Sie ein „$`“ an. Verwendet RE2-Syntax.

version(app.customSignal) <, <=, ==, !=, >=, >

Gibt TRUE zurück, wenn die Bedingung für das benutzerdefinierte Signal semantisch mit dem angegebenen Wert auf eine Weise verglichen wird, die dem Operator entspricht.

device.country in [...]

Gibt TRUE zurück, wenn das Land des Geräts mit einem der in der Liste angegebenen Länder übereinstimmt. Beispiel für die Verwendung: 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 bestimmt (wenn Analytics-Daten für Firebase freigegeben sind).

device.dateTime <=, >

Vergleicht die aktuelle Zeit mit der Zielzeit der Bedingung und wird je nach Operator zu TRUE oder FALSE ausgewertet. Beispiel für die Verwendung: 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. Beispiel für die Verwendung: 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 dem Operator entspricht.
percent <=, >, between

Gibt TRUE zurück, wenn der Wert im Feld percent mit dem zufällig zugewiesenen Wert verglichen wird, der dem Operator entspricht.

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

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

percent('keyName') <= 10

Wenn Sie einen bestimmten Bereich konfigurieren möchten, können Sie den between Operator verwenden. So konfigurieren Sie einen Bereich von 20 bis 60 Nutzern mit dem Standards-Seed:

percent between 20 and 60

So konfigurieren Sie einen Bereich von 60 bis 80 Nutzern mit einem benutzerdefinierten Seed:

percent('seedName') between 60 and 80