Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

RemoteConfig条件式リファレンス

このページには、Remote Config バックエンド API または Firebase コンソールを使用して条件式を作成するためのリファレンス情報が含まれています。バックエンド API の設定と使用の詳細については、「 Remote Config をプログラムで変更する」を参照してください。

条件を作成するために使用される要素

Remote Config REST API は、Firebase コンソールを使用して Remote Config を構成するときに条件を作成するために使用できる要素と同じ要素をサポートしています。

エレメント説明
&&

条件に複数の要素を使用する場合、要素の論理「and」を作成するために使用されます。 &&を使用せずに要素を REST 構文で使用すると、その要素は条件として扱われます。

注:アンパサンドの前後にスペースが必要です。例: element1 && element2

app.build

アプリのビルド番号の値に基づいてTRUEまたはFALSEに評価されます。

注: Apple および Android デバイスでのみ使用できます。 Apple の場合はCFBundleVersionの値を使用し、Android の場合はversionCodeの値を使用します。

app.version

アプリのバージョン番号の値に基づいてTRUEまたはFALSEに評価されます。

注: Android デバイスの場合はversionNameの値を使用し、Apple デバイスの場合はCFBundleShortVersionStringの値を使用します。

app.idアプリの Firebase アプリ ID に基づく要素
app.audiences 1 つ以上のFirebase Analytics オーディエンスでのユーザーの有無に基づいて、 TRUEまたはFALSEと評価される要素。
app.userProperty Firebase Analytics ユーザー プロパティの数値または文字列値に基づいてTRUEまたはFALSEに評価される要素。
app.operatingSystemAndVersion

アプリが実行されているオペレーティング システムに基づく要素。 OS と OS のバージョンが指定されたターゲットと一致する場合、 TRUEと評価されます。

注: Web アプリでのみ使用できます。

app.browserAndVersion

アプリが実行されているブラウザーに基づく要素。ブラウザーとブラウザーのバージョンが指定されたターゲットと一致する場合、 TRUEと評価されます。

注: Web アプリでのみ使用できます。

app.firebaseInstallationId特定のデバイス インストールの ID に基づく要素。インストール ID が指定されたインストールIDのいずれかと一致する場合、 TRUEと評価されます。
device.country ISO 3166-1 alpha-2 標準 (たとえば、米国または英国) を使用して、デバイスが配置されている地域/国に基づく要素。国が予想される国コードと一致する場合、 TRUEと評価されます。
device.dateTimeデバイスが最後にフェッチした時刻に基づく要素。固定のタイム ゾーンを指定するオプションで ISO 日付形式を使用します。たとえば、 dateTime('2017-03-22T13:39:44', 'America/Los_Angeles')です。
device.languageデバイスで選択された言語に基づく要素。言語は、es-ES、pt-BR、または en-US などの IETF 言語タグを使用して表されます。言語が予想される言語コードと一致する場合、 TRUEと評価されます。
device.osデバイスで使用されているオペレーティング システム (Apple または Android) に基づく要素。デバイス OS が期待されるタイプである場合、 TRUEと評価されます。
percentランダムに割り当てられた分数パーセンタイル (サンプル サイズは 0.000001% 程度) にユーザーが含まれている場合、 TRUEと評価されます。

単一要素の条件には、次の 3 つのフィールドが含まれます。

  1. 任意のname (100文字まで)
  2. 上記の要素で構成されるTRUEまたはFALSEに評価される条件式。
  3. (オプション) tagColor 。「 BLUE 」、「 BROWN 」、「 CYAN 」、「 DEEP_ORANGE 」、「 GREEN 」、「 INDIGO 」、「 LIME 」、「 ORANGE 」、「 PINK 」、「 PURPLE 」、または「 TEAL 」。色は大文字と小文字を区別せず、Firebase コンソールでの条件の表示方法にのみ影響します。

サポートされている演算子

たとえば、 app.build.notContains([123, 456])は、実際のアプリ ビルドが 123 または 492 の場合はTRUEを返しますが、実際のアプリ ビルドが 999 の場合はFALSEを返します。たとえば、 app.version.notContains([123, 456])は、実際のアプリ バージョンが 123 または 492 の場合はTRUEを返しますが、実際のアプリ バージョンが 999 の場合はFALSEを返します。
エレメントサポートされている演算子説明
app.audiences .inAtLeastOne([...])実際のオーディエンスがリスト内の少なくとも 1 つのオーディエンス名と一致する場合、 TRUEを返します。
例えば:

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

app.audiences .notInAtLeastOne([...])実際のオーディエンスがリスト内の少なくとも 1 つのオーディエンス名と一致しない場合、 TRUEを返します。
app.audiences .inAll([...])実際のオーディエンスがリスト内のすべてのオーディエンス名のメンバーである場合、 TRUEを返します。
app.audiences .notInAll([...])実際のオーディエンスがリスト内のどのオーディエンスのメンバーでもない場合、 TRUEを返します。
app.userProperty < , <= , == , != , >= , >実際のユーザー プロパティが、演算子に一致する方法で指定された値と数値的に比較される場合、 TRUEを返します。
app.userProperty .contains([...])ターゲット値のいずれかが実際のユーザー プロパティの部分文字列である場合、 TRUEを返します。
app.userProperty .notContains([...])どのターゲット値も実際のユーザー プロパティの部分文字列でない場合はTRUEを返します。
app.userProperty .exactlyMatches([...])実際のユーザー プロパティがリスト内のいずれかのターゲット値と完全に一致する場合 (大文字と小文字を区別)、 TRUEを返します。
app.userProperty .matches([...])リスト内のターゲット正規表現のいずれかが、実際の値の部分文字列または全体と一致する場合にTRUEを返します。文字列全体を強制的に一致させるには、正規表現の先頭に「^」を付け、末尾に「$」を付けます。 RE2構文を使用します。
app.id ==指定された値がアプリのアプリ ID と一致する場合にTRUEを返します。
app.build < , <= , == , != , >= , >実際のアプリのビルドが、演算子に一致する方法で指定された値と数値的に比較される場合、 TRUEを返します。
app.build .contains([...])ターゲット値のいずれかが実際のアプリ ビルドの部分文字列である場合、 TRUEを返します。たとえば、「a」と「bc」は「abc」の部分文字列です。
app.build .notContains([...])どのターゲット値も実際のアプリ ビルドの部分文字列でない場合はTRUEを返します。
app.build .exactlyMatches([...])実際のアプリ ビルドがリスト内のいずれかのターゲット値と完全に一致する場合はTRUEを返します。
app.build .matches([...])リスト内のターゲット正規表現のいずれかが、実際の値の部分文字列または全体と一致する場合にTRUEを返します。文字列全体を強制的に一致させるには、正規表現の先頭に「^」を付け、末尾に「$」を付けます。 RE2構文を使用します。
app.version < , <= , == , != , >= , >実際のアプリ バージョンが、演算子に一致する方法で指定された値と数値的に比較される場合、 TRUEを返します。
app.version .contains([...])ターゲット値のいずれかが実際のアプリ バージョンの部分文字列である場合、 TRUEを返します。たとえば、「a」と「bc」は「abc」の部分文字列です。
app.version .notContains([...])どのターゲット値も実際のアプリ バージョンの部分文字列でない場合はTRUEを返します。
app.version .exactlyMatches([...])実際のアプリ バージョンがリスト内のいずれかのターゲット値と正確に一致する場合、 TRUEを返します。
app.version .matches([...])リスト内のターゲット正規表現のいずれかが、実際の値の部分文字列または全体と一致する場合にTRUEを返します。文字列全体を強制的に一致させるには、正規表現の先頭に「^」を付け、末尾に「$」を付けます。 RE2構文を使用します。
app.operatingSystemAndVersion .inOne([...]) OS とバージョンがリスト内のいずれかのターゲット値と一致する場合、 TRUEを返します。
例えば:

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

app.browserAndVersion .inOne([...])ブラウザとバージョンがリスト内のターゲット値のいずれかに一致する場合、 TRUEを返します。
例えば:

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

app.firebaseInstallationId in [...]インストール ID がリストで指定されたものと一致する場合、 TRUEを返します。使用例: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...]デバイスの国がリストで指定されたものと一致する場合、 TRUEを返します。使用例: device.country in ['gb', 'us'] .デバイスの国コードは、リクエスト内のデバイスの IP アドレス、または Firebase Analytics によって決定された国コードを使用して決定されます (Analytics データが Firebase と共有されている場合)。
device.dateTime <= , >現在の時間を条件のターゲット時間と比較し、演算子に基づいてTRUEまたはFALSEに評価します。使用例: dateTime < dateTime('2017-03-22T13:39:44')
device.language in [...]アプリの言語のいずれかがリスト内の言語と一致する場合、 TRUEを返します。使用例: device.language in ['en-UK', 'en-US']
device.os == , !=デバイスのオペレーティング システムが、演算子に一致するフィールドの値と比較される場合、 TRUEを返します。
percent <= , > percentフィールドの値が、演算子に一致するランダムに割り当てられた値と比較される場合、 TRUEを返します。