Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

遠程配置條件表達式參考

該頁麵包含有關使用Remote Config後端API或Firebase控制台構建條件表達式的參考信息。有關設置和使用後端API的更多信息,請參見以編程方式修改Remote Config

用於創建條件的元素

遠程配置REST API支持與使用Firebase控制台配置遠程配置時可用於創建條件的元素相同的元素:

元件描述
&&

如果對一個條件使用多個元素,則用於創建元素的邏輯“和”。如果在REST語法中使用不帶&&元素,則將該元素視為條件。

注意: “&”號前後必須有一個空格。例如: element1 && element2

app.build

根據應用程序內部版本號的值評估為TRUEFALSE

注意:僅在iOS設備上可用。使用CFBundleVersion的值。

app.version

根據應用程序版本號的值評估為TRUEFALSE

注意:對於Android設備,請使用versionName的值,對於iOS設備,請使用CFBundleShortVersionString的值。

app.id基於應用的Firebase應用ID的元素
app.audiences根據用戶在一個或多個Firebase Analytics受眾群體中是否存在而評估為TRUEFALSE的元素。
app.predictionScores.id一個元素,用於評估給定Firebase Predictions ID的呼叫者的用戶百分位數概率。
app.userProperty根據Firebase Analytics用戶屬性的數字或字符串值求值為TRUEFALSE的元素
app.operatingSystemAndVersion

基於運行應用程序的操作系統的元素。當OS和OS版本與指定目標匹配時,評估為TRUE

注意:僅適用於Web應用程序。

app.browserAndVersion

基於運行應用程序的瀏覽器的元素。當瀏覽器和瀏覽器版本與指定目標匹配時,評估為TRUE

注意:僅適用於Web應用程序。

device.country使用ISO 3166-1 alpha-2標準(例如,美國或英國),基於設備所在的地區/國家/地區的元素。當國家/地區與預期的國家/地區代碼匹配時,評估為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基於設備(iOS或Android)上使用的操作系統的元素。當設備操作系統為預期類型時,評估為TRUE
percent根據用戶包含在隨機分配的分數百分位數(樣本大小小至0.000001%)中,評估為TRUE

單元素條件包含三個字段:

  1. 任意定義的name (最多100個字符)
  2. 由上面顯示的元素組成的條件表達式,其值為TRUEFALSE
  3. (可選) tagColor ,可以為“ BLUE ”,“ BROWN ”,“ CYAN ”,“ DEEP_ORANGE ”,“ GREEN ”,“ INDIGO ”,“ LIME ”,“ ORANGE ”,“ PINK ”,“ PURPLE ”或“ TEAL ”。顏色不區分大小寫,並且僅影響條件在Firebase控制台中的顯示方式。

支持的運營商

例如,如果實際應用程序構建為123或492,則app.build.notContains([123, 456])返回TRUE ,但如果實際應用程序構建為999,則返回FALSE 。例如,如果實際應用程序版本為123或492,則app.version.notContains([123, 456])返回TRUE ,但如果實際應用程序版本為999,則返回FALSE
元件支持的運營商描述
app.audiences .inAtLeastOne([...])如果實際受眾與列表中的至少一個受眾名稱匹配,則返回TRUE
例如:

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

app.audiences .notInAtLeastOne([...])如果實際受眾與列表中的至少一個受眾名稱不匹配,則返回TRUE
app.audiences .inAll([...])如果實際受眾是列表中每個受眾名稱的成員,則返回TRUE
app.audiences .notInAll([...])如果實際受眾不是列表中任何受眾的成員,則返回TRUE
app.predictionScores.id .between(..., ...)如果調用者的預測用戶百分位數概率在給定範圍內,則返回TRUE
例如:

app.predictionScores.id('churn').between(0.25, 1.00)

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([...])如果操作系統和版本與列表中的任何目標值匹配,則返回TRUE
例如:

    app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')])
    

app.browserAndVersion .inOne([...])如果瀏覽器和版本與列表中的任何目標值匹配,則返回TRUE
例如:

    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
    

device.country in [...]如果設備的國家/地區與列表中指定的國家/地區匹配,則返回TRUE 。用法示例: device.country in ['gb', 'us'] 。使用請求中的設備IP地址或Firebase Analytics確定的國家/地區代碼確定設備國家/地區代碼(如果Analytics(分析)數據與Firebase共享)。
device.dateTime <=>將當前時間與條件的目標時間進行比較,並根據運算符將其評估為TRUEFALSE 。用法示例: 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 Web控制台中創建或編輯參數值時,可以選擇將參數值設置為字符串值(空字符串)No值(這將導致使用應用程序內默認值代替)遠程配置模板中的值)。

當您使用Remote Config API以JSON格式獲取項目的Remote Config模板時,未顯示任何值,如下所示:

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

同樣, (空字符串)表示如下:

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