遠端設定條件運算式參考資料

本頁提供建立條件式建構的參考資訊 運算式。適用對象 如要進一步瞭解如何設定及使用後端 API,請參閱 透過程式修改遠端設定

用來建立條件的元素

Remote Config REST API 支援您可以使用的元素 建立條件時,請使用 Firebase 控制台:

元素 說明
&&

用於建立邏輯「and」使用多個元素時可歸納出的元素 條件式模型如果不使用 && ,該元素會視為條件。

注意:連接號前後必須加上空格。例如: element1 && element2

app.build

根據應用程式版本號碼的值,評估為 TRUEFALSE

注意:這項功能僅適用於 Apple 和 Android 裝置。如果是 Apple,請使用 CFBundleVersion 的值;如果是 Android,請使用 versionCode 的值。

app.version

根據應用程式的版本號碼值評估 TRUEFALSE

注意:如果是 Android 裝置,請使用 versionName 的值, 如果是 Apple 裝置,則使用 CFBundleShortVersionString 值。

app.id 以應用程式 Firebase 應用程式 ID 為基礎的元素
app.audiences 評估為 TRUEFALSE 的元素 使用者的所在地 Firebase Analytics 目標對象
app.firstOpenTimestamp 根據使用者首次啟動應用程式而得出的元素,其來源為 Google Analytics first_open 事件。使用 ISO 日期 格式以及指定固定時區的選項;例如 app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles')。 如果沒有指定時區,就會使用 GMT。
app.userProperty 評估為 TRUEFALSE 的元素 產生 Firebase Analytics 使用者屬性
app.operatingSystemAndVersion

以執行應用程式所在作業系統為基礎的元素。 OS 和 OS 版本與指定版本相符時,評估 TRUE 目標。

注意:僅適用於網頁應用程式。

app.browserAndVersion

這個元素取決於執行應用程式的瀏覽器。 評估瀏覽器和瀏覽器版本與TRUE 指定目標。

注意:僅適用於網頁應用程式。

app.firebaseInstallationId 以特定裝置安裝的 ID 為依據的元素。 在安裝 ID 時評估 TRUE 符合其中一個指定的安裝 ID。
device.country 以裝置所在地/國家/地區為基準的元素, 符合 ISO 3166-1 alpha-2 標準 (例如 US 或英國)。評估依據 如果國家/地區與應有的國家/地區代碼相符,則傳回 TRUE
device.dateTime 根據裝置上次擷取作業執行時間的元素。 使用 ISO 日期格式和 指定固定時區的選項;例如 dateTime('2017-03-22T13:39:44', 'America/Los_Angeles')
device.language 依據裝置上所選語言的元素。語言是 以 IETF 語言標記表示,例如 es-ES、pt-BR 或 en-US 在語言與預期語言相符時,評估 TRUE 再也不是件繁重乏味的工作
device.os 依據裝置作業系統 (Apple 或 Android) 設計的元素。 評估在裝置 OS 是預期類型時,評估 TRUE
percent 根據使用者的隨機納入內容,評估為 TRUE 分配的分數百分比 (樣本大小小於 0.000001%)。

單一元素條件包含三個欄位:

  1. 任意定義的 name (最多 100 個半形字元)
  2. 評估為 TRUEFALSE 的條件運算式。 由上方顯示的元素組成
  3. (選用) tagColor,您可以 為「BLUE」、「BROWN」、「CYAN」、「DEEP_ORANGE」、「GREEN」、「INDIGO」, 「LIME」、「ORANGE」、「PINK」、「PURPLE」或「TEAL」。顏色是 不區分大小寫,而且只會影響條件的 Firebase 控制台。

支援的運算子

例如: 如果發生以下情況,app.build.notContains([123, 456]) 會傳回 TRUE 實際的應用程式版本為 123 或 492,但如果FALSE 實際的應用程式版本是 999 例如: 如果發生以下情況,app.version.notContains([123, 456]) 會傳回 TRUE 實際應用程式版本是 123 或 492,但如果FALSE 實際的應用程式版本為 999
元素 支援的運算子 說明
app.audiences .inAtLeastOne([...]) 如果實際目標對象至少與一個目標對象相符,就會傳回 TRUE 名單中的目標對象名稱
例如:

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

app.audiences .notInAtLeastOne([...]) 如果實際目標對像不符合至少TRUE 名單中的一個目標對象名稱
app.audiences .inAll([...]) 如果實際目標對象包含下列所有目標對象,則傳回 TRUE 名單中的目標對象名稱
app.audiences .notInAll([...]) 如果實際目標對像不屬於任一目標對象,則傳回 TRUE 名單中的目標對象
app.firstOpenTimestamp <=, > 比較 first_open 事件與指定的時間 條件中時間,並傳回 TRUEFALSE 根據運算子
使用範例:
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 list 會比對來自實際值的子字串或整個實際值。強制比對 整個字串,並在規則運算式前面加上「^」並為它加上後置字串 「$」。使用 RE2 語法。
app.version <<===!=>=> 如果實際應用程式版本會以數值比較,則傳回 TRUE 依照運算子符合指定值。
app.version .contains([...]) 如果任何目標值是TRUE 實際應用程式版本,例如「a」和「bc」是 「abc」。
app.version .notContains([...]) 如果目標值沒有任何是以下值的子字串,則傳回 TRUE 提供實際的應用程式版本
app.version .exactlyMatches([...]) 如果實際應用程式版本完全相符,則傳回 TRUE 清單中的「任何」目標值。
app.version .matches([...]) 如果TRUE list 會比對來自實際值的子字串或整個實際值。強制比對 整個字串,並在規則運算式前面加上「^」並為它加上後置字串 「$」。使用 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 (如果已與 Firebase 共用 Analytics 資料)。
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

如要設定特定範圍,可以使用 between 運算子。如要使用 default 種子

percent between 20 and 60

如要使用自訂種子設定介於 60 到 80 之間的使用者範圍,請按照下列步驟操作:

percent('seedName') between 60 and 80