このページには、Remote Config バックエンド API または Firebase コンソールを使用して条件式を作成する際のリファレンス情報が記載されています。バックエンド API の設定と使用方法について詳しくは、プログラムで Remote Config を変更するをご覧ください。
条件を作成するために使用される要素
Remote Config REST API は、Firebase コンソールを使用して Remote Config を構成するときに条件の作成に使用できるものと同じ要素をサポートしています。
要素 | 説明 |
---|---|
&& |
条件に複数の要素を使用するときに、要素の論理「積」を示すために使用する要素。REST 構文内で 注: アンパサンドの前後にスペースが必要です。例: |
app.build |
アプリのビルド番号の値に基づいて、 注: Apple デバイスと Android デバイスでのみ使用できます。Apple の場合は CFBundleVersion の値を使用し、Android の場合は versionCode の値を使用します。 |
app.version |
アプリのバージョン番号の値に基づいて、 注: Android デバイスの場合は versionName の値を使用し、Apple デバイスの場合は CFBundleShortVersionString の値を使用します。 |
app.id |
アプリの Firebase アプリ ID に基づく要素。 |
app.audiences |
ユーザーが 1 つ以上の Firebase 向け Google アナリティクスのオーディエンスに含まれるかどうかに基づいて、TRUE または FALSE と評価される要素。 |
app.firstOpenTimestamp |
ユーザーが初めてアプリを起動した時刻に基づく要素。Google Analytics first_open イベントから取得されます。ISO 日付形式を使用して、固定のタイムゾーンを指定するオプションを設定します。例: app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') 。タイムゾーンが指定されていない場合、GMT が使用されます。 |
app.userProperty |
Firebase 向け Google アナリティクスのユーザー プロパティの数値または文字列値に基づいて、TRUE または FALSE と評価される要素。 |
app.operatingSystemAndVersion |
アプリが実行されているオペレーティング システムに基づく要素。OS と OS バージョンが指定したターゲットに一致する場合に 注: ウェブアプリでのみ使用できます。 |
app.browserAndVersion |
アプリが実行されているブラウザに基づく要素。ブラウザとブラウザのバージョンが指定したターゲットに一致する場合に 注: ウェブアプリでのみ使用できます。 |
app.firebaseInstallationId |
特定のデバイス インストールの ID に基づく要素。インストール ID が指定のインストール ID のいずれかと一致する場合に TRUE と評価されます。 |
device.country |
デバイスが存在する地域や国に基づく要素。ISO 3166-1 alpha-2 規格(US、UK など)を使用します。国が想定された国コードと一致する場合に 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 つのフィールドがあります。
- 任意に定義される
name
(最大 100 文字)。 - 上記の要素で構成される、
TRUE
またはFALSE
と評価される条件式。 - (省略可)
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.firstOpenTimestamp |
<=, > |
first_open イベントの時刻と条件で指定されている時刻を比較し、演算子に基づいて TRUE または FALSE を返します。使用例: app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') 。
範囲を指定する場合: app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00')
タイムゾーンが指定されていない場合、GMT が使用されます。 |
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 向け Google アナリティクスによって決定された国コード(アナリティクス データが 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 |
<= 、> 、between |
percent フィールドの値とランダムに割り当てられた値を比較した結果が演算子と一致する場合に、TRUE を返します。
条件ルールの種類で説明されているように、指定されたパーセンテージ範囲でランダムに割り当てられるアプリ インスタンスの新しいグループを選択するためのシードを指定できます。 それには、次の例のように、演算子の前にシードの名前を指定します。 percent('keyName') <= 10 特定の範囲を構成するには、 percent between 20 and 60 カスタムシードを使用してユーザーの範囲を 60~80 に構成するには: percent('seedName') between 60 and 80 |