コンソールへ移動

Remote Config 条件式リファレンス

このページには、Remote Config REST API または Firebase コンソールを使用して条件式を作成するためのリファレンス情報が記載されています。REST API を設定して使用する方法の詳細については、Remote Config REST API を使用するをご覧ください。

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

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

要素 説明
&&

条件に複数の要素を使用するときに、要素の論理「積」を示すために使用する要素。REST 構文内で && なしで要素が使用されている場合、その要素は条件として扱われます。

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

app.version アプリのバージョン番号の値に基づいて、TRUE または FALSE と評価されます。
app.id アプリの Firebase アプリ ID に基づく要素。
app.audiences ユーザーが 1 つ以上の Firebase 向け Google アナリティクスのオーディエンスに含まれるかどうかに基づいて、TRUE または FALSE と評価される要素。
app.userProperty Firebase 向け Google アナリティクスのユーザー プロパティの数値または文字列値に基づいて、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 デバイスのオペレーティング システム(iOS または 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.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.version .contains([...]) いずれかのターゲット値が実際のアプリのバージョンの部分文字列である場合に、TRUE を返します(例: 「a」や「bc」は「abc」の部分文字列です)。
app.version .notContains([...]) いずれのターゲット値も実際のアプリのバージョンの部分文字列ではない場合に、TRUE を返します。
app.version .exactlyMatches([...]) 実際のアプリのバージョンがリスト内のいずれかのターゲット値と完全に一致する場合に TRUE を返します。
app.version .matches([...]) リスト内のいずれかのターゲット正規表現が、実際の値の部分または全体と一致する場合に TRUE を返します。文字列全体と照合するには、正規表現の前に「^」、末尾に「$」を付けます。RE2 構文を使用します。
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 <=> percent フィールドの値とランダムに割り当てられた値を比較した結果が演算子と一致する場合に、TRUE を返します。

空の文字列と値のないパラメータ

Remote Config ウェブ コンソールでパラメータ値を作成または編集する場合、パラメータ値を文字列値(空文字列)に設定するか、No value(Remote Config テンプレートの値の代わりにアプリ内デフォルト値が使用される)に設定するオプションがあります。

Remote Config API を使用してプロジェクトの Remote Config テンプレートを JSON 形式で取得する場合、No value は次のように表されます。

"myCondition" : {
  "useInAppDefault" : true
},

同様に、(空文字列)は次のように表されます。

"myCondition" : {
  "value" : ""
},