このページには、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 | Google Analytics のユーザー プロパティの数値または文字列値に基づいて、 TRUEまたはFALSEと評価される要素。 | 
| app.operatingSystemAndVersion | アプリが実行されているオペレーティング システムに基づく要素。OS と OS バージョンが指定したターゲットに一致する場合に  注: ウェブアプリでのみ使用できます。 | 
| app.browserAndVersion | アプリが実行されているブラウザに基づく要素。ブラウザとブラウザのバージョンが指定したターゲットに一致する場合に  注: ウェブアプリでのみ使用できます。 | 
| app.firebaseInstallationId | 特定のデバイス インストールの ID に基づく要素。インストール ID が指定のインストール ID のいずれかと一致する場合に TRUEと評価されます。 | 
| app.customSignal | カスタム シグナル条件の数値、意味論的値、または文字列値に基づいて、 TRUEまたはFALSEと評価される要素。 | 
| 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 つのオーディエンス名と一致する場合に、 app.audiences.inAtLeastOne(['Audience 1', 'Audience 2']) | 
| app.audiences | .notInAtLeastOne([...]) | 実際のユーザー層が、リスト内の少なくとも 1 つのユーザー層名と一致しない場合に、 | 
| app.audiences | .inAll([...]) | 実際のオーディエンスが、リスト内のすべてのオーディエンス名のメンバーである場合に、 | 
| app.audiences | .notInAll([...]) | 実際のユーザー層が、リスト内のユーザー層のメンバーでない場合に、 | 
| app.firstOpenTimestamp | <=, > | 
 | 
| app.userProperty | <、<=、==、!=、>=、> | 実際のユーザー プロパティと指定された値を数値的に比較した結果が演算子と一致する場合に、 | 
| app.userProperty | .contains([...]) | いずれかのターゲット値が実際のユーザー プロパティの部分文字列である場合に、 | 
| app.userProperty | .notContains([...]) | いずれのターゲット値も実際のユーザー プロパティの部分文字列ではない場合に、 | 
| app.userProperty | .exactlyMatches([...]) | 実際のユーザー プロパティが、リスト内のいずれかのターゲット値と正確に一致する(大文字と小文字を区別)場合に、 | 
| app.userProperty | .matches([...]) | リスト内のいずれかのターゲット正規表現が、実際の値の部分または全体と一致する場合に、 | 
| app.id | == | 指定された値がアプリ ID と一致する場合に  | 
| app.build | <、<=、==、!=、>=、> | 実際のアプリのビルドと、指定された値を数値的に比較した結果が演算子と一致する場合に、 | 
| app.build | .contains([...]) | いずれかのターゲット値が実際のアプリのビルドの部分文字列である場合に、 | 
| app.build | .notContains([...]) | いずれのターゲット値も実際のアプリのビルドの部分文字列ではない場合に、 | 
| app.build | .exactlyMatches([...]) | 実際のアプリのビルドがリスト内のいずれかのターゲット値と完全に一致する場合に  | 
| app.build | .matches([...]) | リスト内のいずれかのターゲット正規表現が、実際の値の部分または全体と一致する場合に  | 
| app.version | <、<=、==、!=、>=、> | 実際のアプリ バージョンと指定された値を数値的に比較した結果が演算子と一致する場合に、 | 
| app.version | .contains([...]) | いずれかのターゲット値が実際のアプリのバージョンの部分文字列である場合に、 | 
| app.version | .notContains([...]) | いずれのターゲット値も実際のアプリのバージョンの部分文字列ではない場合に、 | 
| app.version | .exactlyMatches([...]) | 実際のアプリのバージョンがリスト内のいずれかのターゲット値と完全に一致する場合に  | 
| app.version | .matches([...]) | リスト内のいずれかのターゲット正規表現が、実際の値の部分または全体と一致する場合に  | 
| app.operatingSystemAndVersion | .inOne([...]) | OS とバージョンがリスト内のいずれかのターゲット値と一致する場合に  
    app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh')
    .version.==('10.15')])
     | 
| app.browserAndVersion | .inOne([...]) | ブラウザとバージョンがリスト内のいずれかのターゲット値と一致する場合に  
    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
     | 
| app.firebaseInstallationId | in [...] | インストール ID がリストで指定されたいずれかの値と一致する場合に  | 
| app.customSignal | <、<=、==、!=、>=、> | カスタム シグナル条件と指定された値を数値的に比較した結果が演算子と一致する方法に、 | 
| app.customSignal | .contains([...]) | いずれかのターゲット値が実際のカスタム シグナル条件の部分文字列である場合に、 | 
| app.customSignal | .notContains([...]) | いずれかのターゲット値が実際のカスタム シグナル条件の部分文字列である場合に、 | 
| app.customSignal | .exactlyMatches([...]) | 実際のカスタム シグナル条件が、リスト内のいずれかのターゲット値と完全に一致する場合(大文字と小文字を区別)に、 | 
| app.customSignal | .matches([...]) | リスト内のいずれかのターゲット正規表現が、実際のカスタム シグナル条件の部分または全体と一致する場合に、 | 
| version(app.customSignal) | <、<=、==、!=、>=、> | カスタム シグナル条件と指定された値を意味的に比較した結果が演算子と一致する方法に、 | 
| device.country | in [...] | デバイスの国がリストで指定されたいずれかと一致する場合に  | 
| device.dateTime | <=、> | 現在時刻を条件のターゲット時刻と比較し、演算子に基づいて  | 
| device.language | in [...] | アプリの言語がリスト内の言語と一致する場合に、 | 
| device.os | ==、!= | デバイスのオペレーティング システムと該当のフィールドの値を比較した結果が演算子と一致する場合に、 TRUEを返します。 | 
| percent | <=、>、between | 
 条件ルールの種類で説明されているように、指定されたパーセンテージ範囲でランダムに割り当てられるアプリ インスタンスの新しいグループを選択するためのシードを指定できます。 それには、次の例のように、演算子の前にシードの名前を指定します。 percent('keyName') <= 10特定の範囲を構成するには、 percent between 20 and 60 カスタムシードを使用してユーザーの範囲を 60~80 に構成するには: percent('seedName') between 60 and 80 |