Referenz zu bedingten Remote Config-Ausdrücken

Auf dieser Seite finden Sie Referenzinformationen zum Erstellen von bedingten Ausdrücken mit Remote Config-Backend-APIs oder der Firebase-Konsole. Weitere Informationen zum Einrichten und Verwenden der Backend-APIs finden Sie unter Remote Config programmatisch ändern.

Zum Erstellen von Bedingungen verwendete Elemente

Die Remote Config REST API unterstützt dieselben Elemente, die Sie zum Erstellen von Bedingungen beim Konfigurieren von Remote Config über die Firebase Console verwenden können:

Element Beschreibung
&&

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

Hinweis:Vor und nach den Kauf- und Versandbedingungen ist ein Leerzeichen erforderlich. Beispiel: element1 && element2.

app.build

Wird basierend auf dem 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 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 darauf, ob der Nutzer in einer oder mehreren Analytics for Firebase-Zielgruppen vorhanden ist oder nicht, als TRUE oder FALSE ausgewertet wird.
app.firstOpenTimestamp Ein Element, das auf dem ersten Start einer App durch den Nutzer basiert und aus dem Ereignis Google Analytics first_open stammt. 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 basierend auf dem numerischen 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 mit TRUE ausgewertet, wenn das Betriebssystem und die Betriebssystemversion dem angegebenen Ziel entsprechen.

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

app.browserAndVersion

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

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 basierend auf dem numerischen, semantischen oder String-Wert der Bedingungen für benutzerdefinierte Signale zu TRUE oder FALSE ausgewertet wird.
device.country Ein Element, das auf der Region oder dem Land basiert, in dem sich ein Gerät befindet. Dazu wird der ISO 3166-1-Alpha-2-Standard verwendet (z. B. US oder DE). Wird mit TRUE ausgewertet, wenn ein Land mit einem erwarteten Ländercode übereinstimmt.
device.dateTime Ein Element, das auf dem Zeitpunkt des letzten Abrufs durch das Gerät basiert. 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 durch ein IETF-Sprach-Tag wie „es-ES“, „pt-BR“ oder „en-US“ dargestellt. Wird mit TRUE ausgewertet, wenn eine Sprache mit einem erwarteten Sprachcode übereinstimmt.
device.os Ein Element, das auf dem Betriebssystem eines Geräts (Apple oder Android) basiert. Wird mit TRUE ausgewertet, wenn das Betriebssystem des Geräts dem erwarteten Typ entspricht.
percent Wird basierend auf der Zugehörigkeit eines Nutzers zu einem zufällig zugewiesenen prozentualen Anteil (mit Stichprobengrößen von nur 0,000001%) als TRUE ausgewertet.

Eine Bedingung mit einem Element enthält drei Felder:

  1. Eine beliebig definierte 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 die Groß-/Kleinschreibung nicht berücksichtigt. Sie wirkt sich nur darauf aus, wie Bedingungen in der Firebase-Konsole 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, 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, 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 jeder Zielgruppe 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 je nach Operator TRUE oder FALSE 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 Nutzer-Property numerisch mit dem angegebenen Wert verglichen wird und das Ergebnis dem Operator entspricht.
app.userProperty .contains([...]) Gibt TRUE zurück, wenn einer der Zielwerte eine Teilzeichenfolge der tatsächlichen Nutzereigenschaft ist.
app.userProperty .notContains([...]) Gibt TRUE zurück, wenn keiner der Zielwerte eine Teilzeichenfolge der tatsächlichen Nutzer-Property ist.
app.userProperty .exactlyMatches([...]) Gibt TRUE zurück, wenn die tatsächliche Nutzer-Property genau (Groß-/Kleinschreibung wird berücksichtigt) mit einem der Zielwerte in der Liste übereinstimmt.
app.userProperty .matches([...]) Gibt TRUE zurück, wenn ein beliebiger regulärer Ausdruck in der Liste mit einem Teilstring oder dem gesamten tatsächlichen Wert übereinstimmt. Wenn Sie erzwingen möchten, dass der gesamte String übereinstimmt, stellen Sie dem regulären Ausdruck „^“ voran und hängen Sie „$“ an. Es wird die RE2-Syntax verwendet.
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 verglichen wird und das Ergebnis dem Operator entspricht.
app.build .contains([...]) Gibt TRUE zurück, wenn einer der Zielwerte ein Teilstring des tatsächlichen App-Builds ist. „a“ und „bc“ sind beispielsweise 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 beliebiger regulärer Ausdruck in der Liste mit einem Teilstring oder dem gesamten tatsächlichen Wert übereinstimmt. Wenn Sie erzwingen möchten, dass der gesamte String übereinstimmt, stellen Sie dem regulären Ausdruck „^“ voran und hängen Sie „$“ an. Es wird die RE2-Syntax verwendet.
app.version <, <=, ==, !=, >=, > Gibt TRUE zurück, wenn die tatsächliche App-Version numerisch mit dem angegebenen Wert verglichen wird und das Ergebnis dem Operator entspricht.
app.version .contains([...]) Gibt TRUE zurück, wenn einer der Zielwerte ein Teilstring der tatsächlichen App-Version ist. „a“ und „bc“ sind beispielsweise 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 beliebiger regulärer Ausdruck in der Liste mit einem Teilstring oder dem gesamten tatsächlichen Wert übereinstimmt. Wenn Sie erzwingen möchten, dass der gesamte String übereinstimmt, stellen Sie dem regulären Ausdruck „^“ voran und hängen Sie „$“ an. Es wird die RE2-Syntax verwendet.
app.operatingSystemAndVersion .inOne([...]) Gibt TRUE zurück, wenn das Betriebssystem und die Version einem der Zielwerte in der Liste entsprechen.
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 übereinstimmt. Verwendungsbeispiel: 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 übereinstimmt, sodass der Operator erfüllt wird.
app.customSignal .contains([...]) Gibt TRUE zurück, wenn einer der Zielwerte ein Teilstring der tatsächlichen benutzerdefinierten Signalbedingung ist.
app.customSignal .notContains([...]) Gibt TRUE zurück, wenn einer der Zielwerte ein Teilstring der tatsächlichen benutzerdefinierten Signalbedingung ist.
app.customSignal .exactlyMatches([...]) Gibt TRUE zurück, wenn die tatsächliche Bedingung für benutzerdefinierte Signale genau (Groß-/Kleinschreibung wird berücksichtigt) mit einem der Zielwerte in der Liste übereinstimmt.
app.customSignal .matches([...]) Gibt TRUE zurück, wenn ein regulärer Ausdruck in der Liste mit einem Teilstring oder dem gesamten tatsächlichen benutzerdefinierten Signal übereinstimmt. Wenn Sie erzwingen möchten, dass der gesamte String übereinstimmt, stellen Sie dem regulären Ausdruck „^“ voran und hängen Sie „$“ an. Verwendet die RE2-Syntax.
version(app.customSignal) <, <=, ==, !=, >=, > Gibt TRUE zurück, wenn die Bedingung für das benutzerdefinierte Signal semantisch mit dem angegebenen Wert verglichen wird und der Operator übereinstimmt.
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 anhand des von Firebase Analytics ermittelten Ländercodes bestimmt (wenn Analytics-Daten mit Firebase geteilt werden).
device.dateTime <=, > Vergleicht die aktuelle Zeit mit der Zielzeit der Bedingung und ergibt je nach Operator TRUE oder FALSE. 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 übereinstimmt, der dem Operator entspricht.
percent <=, >, between Gibt TRUE zurück, wenn der Wert im Feld percent mit dem zufällig zugewiesenen Wert übereinstimmt, der dem Operator entspricht.

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

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

percent('keyName') <= 10

Mit dem Operator between können Sie einen bestimmten Bereich konfigurieren. So konfigurieren Sie einen Bereich von 20 bis 60 Nutzern mit dem Standard-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