本頁面提供參考資訊,說明如何使用 Remote Config 後端 API 或 Firebase 主控台建構條件式運算式。適用對象 如要進一步瞭解如何設定及使用後端 API,請參閱 透過程式修改遠端設定。
用來建立條件的元素
Remote Config REST API 支援可使用的元素 建立條件時Remote Config Firebase 控制台:
元素 | 說明 |
---|---|
&& |
如果為條件使用多個元素,則可用於建立元素的邏輯「and」。如果不使用
注意:連接號前後必須加上空格。例如:
|
app.build |
根據應用程式版本編號的值,評估為 注意:這項功能僅適用於 Apple 和 Android 裝置。如果是 Apple,請使用 CFBundleVersion 的值;如果是 Android,請使用 versionCode 的值。 |
app.version |
根據應用程式的版本號碼值評估 注意:如果是 Android 裝置,請使用 versionName 的值, 如果是 Apple 裝置,則使用 CFBundleShortVersionString 值。 |
app.id |
以應用程式的 Firebase 應用程式 ID 為準的元素 |
app.audiences |
評估為 TRUE 或 FALSE 的元素
使用者的所在地
Firebase Analytics 目標對象: |
app.firstOpenTimestamp |
根據使用者首次啟動應用程式而得出的元素,其來源為
Google Analytics first_open 事件。使用 ISO 日期
格式以及指定固定時區的選項;例如
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') 。
如果沒有指定時區,就會使用 GMT。
|
app.userProperty |
評估為 TRUE 或 FALSE 的元素
產生
Firebase Analytics 使用者屬性。 |
app.operatingSystemAndVersion |
根據應用程式執行的作業系統而定。OS 和 OS 版本與指定版本相符時,對 注意:僅適用於網頁應用程式。 |
app.browserAndVersion |
這個元素取決於執行應用程式的瀏覽器。
評估 注意:僅適用於網頁應用程式。 |
app.firebaseInstallationId |
以特定裝置安裝的 ID 為依據的元素。
當安裝 ID 與指定的安裝 ID 相符時,會評估為 TRUE 。 |
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%)。 |
單一元素條件包含三個欄位:
- 任意定義的
name
(最多 100 個半形字元) - 評估為
TRUE
或FALSE
的條件運算式。 由上方顯示的元素組成 - (選用)
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 事件與指定的時間
條件中時間,並傳回 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
list 會比對來自實際值的子字串或整個實際值。如要強制比對整個字串,請在規則運算式前面加上「^」,並在後面加上「$」。使用 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 (如果已與 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 如要設定特定範圍,可以使用 percent between 20 and 60 如要使用自訂種子設定介於 60 到 80 之間的使用者範圍,請按照下列步驟操作: percent('seedName') between 60 and 80 |