透過程式輔助方式修改遠端設定

Config templates using the Admin SDK, REST API, and Firebase CLI. page_type: guide

本文說明如何透過程式輔助方式,讀取及修改一組 JSON 格式的參數和條件,也就是 Remote Config 範本。這樣一來,您就能在後端變更範本,用戶端應用程式則可使用用戶端程式庫擷取範本。

您可以使用本指南所述的 Remote Config REST API、Admin SDK 或 Firebase CLI,略過在 Firebase 控制台中管理範本的步驟,直接將 Remote Config 變更整合至自己的程序。舉例來說,您可以使用 Remote Config 後端 API 執行下列操作:

  • 排定 Remote Config 更新。搭配使用 API 呼叫和 Cron 工作,即可定期變更 Remote Config 值。
  • 批次匯入設定值,有效率地從專屬系統轉換至 Firebase Remote Config。
  • 搭配使用 Remote Config 和 Cloud Functions for Firebase,根據伺服器端發生的事件變更應用程式中的值。舉例來說,您可以使用 Remote Config 宣傳應用程式中的新功能,然後在偵測到足夠的使用者與新功能互動後,自動關閉該宣傳活動。

圖表:遠端設定後端與自訂工具和伺服器互動

本指南的以下章節說明您可以使用 Remote Config 後端 API 執行的作業。

使用 Firebase Admin SDK 修改 Remote Config

Admin SDK是一組伺服器程式庫,可讓您從具特殊權限的環境與 Firebase 互動。除了更新 Remote Config 之外,Admin SDK 還能產生及驗證 Firebase 驗證權杖,以及讀取和寫入 Realtime Database。如要進一步瞭解 Admin SDK 必要條件和設定,請參閱「將 Firebase Admin SDK 新增至伺服器」。

如要查看使用 Admin SDK 執行這些工作的程式碼範例,請參閱下列其中一個快速入門導覽課程應用程式:

在一般的 Remote Config 流程中,您可能會取得目前的範本、修改部分參數或參數群組和條件、驗證範本,然後發布範本。發出這些 API 呼叫前,您必須先授權 SDK 的要求。

初始化 SDK 並授權 API 要求

在不使用任何參數的情況下初始化 Admin SDK 時,SDK 會使用 Google 應用程式預設憑證,並從 FIREBASE_CONFIG 環境變數讀取選項。如果 FIREBASE_CONFIG 變數的內容開頭為 {,系統會將其剖析為 JSON 物件。否則,SDK 會假設字串是包含選項的 JSON 檔案名稱。

例如:

Node.js

const admin = require('firebase-admin');
admin.initializeApp();

Java

FileInputStream serviceAccount = new FileInputStream("service-account.json");
FirebaseOptions options = FirebaseOptions.builder()
        .setCredentials(GoogleCredentials.fromStream(serviceAccount))
        .build();
FirebaseApp.initializeApp(options);

取得目前的 Remote Config 範本

使用 Remote Config 範本時,請注意範本有版本之分,且每個版本從建立到被更新版本取代的生命週期有限:90 天,儲存版本總數上限為 300 個。詳情請參閱「範本和版本管理」。

您可以使用後端 API,以 JSON 格式取得 Remote Config 範本目前有效的版本。

在A/B Testing實驗中,專門建立為變化版本的參數和參數值不會包含在匯出的範本中。

如要取得範本,請按照下列步驟操作:

Node.js

function getTemplate() {
  var config = admin.remoteConfig();
  config.getTemplate()
      .then(function (template) {
        console.log('ETag from server: ' + template.etag);
        var templateStr = JSON.stringify(template);
        fs.writeFileSync('config.json', templateStr);
      })
      .catch(function (err) {
        console.error('Unable to get template');
        console.error(err);
      });
}

Java

Template template = FirebaseRemoteConfig.getInstance().getTemplateAsync().get();
// See the ETag of the fetched template.
System.out.println("ETag from server: " + template.getETag());

修改 Remote Config 參數

您可以透過程式輔助方式修改及新增 Remote Config 參數和參數群組。舉例來說,您可以將參數新增至名為「new_menu」的現有參數群組,用來控制季節性資訊的顯示:

Node.js

function addParameterToGroup(template) {
  template.parameterGroups['new_menu'].parameters['spring_season'] = {
    defaultValue: {
      useInAppDefault: true
    },
    description: 'spring season menu visibility.',
  };
}

Java

template.getParameterGroups().get("new_menu").getParameters()
        .put("spring_season", new Parameter()
                .setDefaultValue(ParameterValue.inAppDefault())
                .setDescription("spring season menu visibility.")
        );

您可以使用 API 建立新的參數和參數群組,或修改預設值、條件值和說明。無論如何,修改範本後,都必須明確發布範本。

修改 Remote Config 條件

您可以透過程式輔助方式修改及新增 Remote Config 條件和條件值。舉例來說,如要新增條件:

Node.js

function addNewCondition(template) {
  template.conditions.push({
    name: 'android_en',
    expression: 'device.os == \'android\' && device.country in [\'us\', \'uk\']',
    tagColor: 'BLUE',
  });
}

Java

template.getConditions().add(new Condition("android_en",
        "device.os == 'android' && device.country in ['us', 'uk']", TagColor.BLUE));

無論如何,修改範本後,都必須明確發布範本。

Remote Config 後端 API 提供多種條件和比較運算子,可用於變更應用程式的行為和外觀。如要進一步瞭解條件和這些條件支援的運算子,請參閱條件運算式參考資料。

驗證 Remote Config 範本

您也可以在發布前驗證更新內容,如下所示:

Node.js

function validateTemplate(template) {
  admin.remoteConfig().validateTemplate(template)
      .then(function (validatedTemplate) {
        // The template is valid and safe to use.
        console.log('Template was valid and safe to use');
      })
      .catch(function (err) {
        console.error('Template is invalid and cannot be published');
        console.error(err);
      });
}

Java

try {
  Template validatedTemplate = FirebaseRemoteConfig.getInstance()
          .validateTemplateAsync(template).get();
  System.out.println("Template was valid and safe to use");
} catch (ExecutionException e) {
  if (e.getCause() instanceof FirebaseRemoteConfigException) {
    FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause();
    System.out.println("Template is invalid and cannot be published");
    System.out.println(rcError.getMessage());
  }
}

這項驗證程序會檢查錯誤,例如參數和條件的重複鍵、無效的條件名稱或不存在的條件,或格式錯誤的 etag。舉例來說,如果要求包含超過允許的鍵數量 (2000),就會傳回錯誤訊息 Param count too large。

發布 Remote Config 範本

擷取範本並完成更新後,即可發布。按照本節所述發布範本後,系統會以更新後的檔案取代整個現有設定範本,並為新的有效範本指派版本號碼,這個號碼會比遭取代的範本大一號。

如有需要,您可以使用 REST API 復原至先前的版本。為降低更新出錯的風險,您可以在發布前進行驗證。

下載的範本包含 Remote Config 個人化設定和條件,因此嘗試發布至其他專案時,請務必留意下列限制:

  • 無法將個人化設定從一個專案匯入另一個專案。

    舉例來說,如果您在專案中啟用個人化功能,並下載及編輯範本,則可以將範本發布到同一個專案,但除非您從範本中刪除個人化功能,否則無法將範本發布到其他專案。

  • 條件可以從一個專案匯入另一個專案,但請注意,任何特定條件值 (例如應用程式 ID 或目標對象) 都必須在發布前存在於目標專案中。

    舉例來說,如果 Remote Config 參數使用的條件指定 iOS 的平台值,範本就能發布至其他專案,因為任何專案的平台值都相同。不過,如果條件依附於目標專案中不存在的特定應用程式 ID 或使用者目標對象,驗證就會失敗。

  • 如果預計發布的範本包含依賴 Google Analytics 的條件,則必須在目標專案中啟用 Analytics。

Node.js

function publishTemplate() {
  var config = admin.remoteConfig();
  var template = config.createTemplateFromJSON(
      fs.readFileSync('config.json', 'UTF8'));
  config.publishTemplate(template)
      .then(function (updatedTemplate) {
        console.log('Template has been published');
        console.log('ETag from server: ' + updatedTemplate.etag);
      })
      .catch(function (err) {
        console.error('Unable to publish template.');
        console.error(err);
      });
}

Java

try {
  Template publishedTemplate = FirebaseRemoteConfig.getInstance()
          .publishTemplateAsync(template).get();
  System.out.println("Template has been published");
  // See the ETag of the published template.
  System.out.println("ETag from server: " + publishedTemplate.getETag());
} catch (ExecutionException e) {
  if (e.getCause() instanceof FirebaseRemoteConfigException) {
    FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause();
    System.out.println("Unable to publish template.");
    System.out.println(rcError.getMessage());
  }
}

使用 REST API 修改 Remote Config

本節說明 https://firebaseremoteconfig.googleapis.com 的 Remote Config REST API 主要功能。詳情請參閱 API 參考資料。

取得存取權杖,驗證及授權 API 要求

Firebase 專案支援 Google 服務帳戶,您可以使用這類帳戶,從應用程式伺服器或信任的環境呼叫 Firebase 伺服器 API。如果您在本機開發程式碼,或是在地端部署應用程式,可以使用透過這個服務帳戶取得的憑證,授權伺服器要求。

如要查看 Firebase 專案的所有服務帳戶,請依序前往「Settings」(設定) >「Service accounts」(服務帳戶) 分頁標籤。

如要驗證服務帳戶並授權其存取 Firebase 服務,您必須產生 JSON 格式的私密金鑰檔案。

如何為服務帳戶產生私密金鑰檔案:

  1. 在 Firebase 控制台中,依序前往「 Settings」(設定) > 「Service accounts」(服務帳戶) 分頁。

  2. 按一下「Generate New Private Key」(產生新的私密金鑰),然後按一下「Generate Key」(產生金鑰) 進行確認。

  3. 妥善保存含有金鑰的 JSON 檔案。

透過服務帳戶授權時,您可以選擇兩種方式,將憑證提供給應用程式。您可以設定 GOOGLE_APPLICATION_CREDENTIALS 環境變數,或在程式碼中明確傳遞服務帳戶金鑰的路徑。第一種做法較安全,我們強烈建議採用。

如何設定環境變數:

將環境變數 GOOGLE_APPLICATION_CREDENTIALS 設為包含服務帳戶金鑰的 JSON 檔案路徑。這個變數只會套用至當前的殼層工作階段,因此如果開啟新的工作階段,請再次設定變數。

Linux 或 macOS

export GOOGLE_APPLICATION_CREDENTIALS="KEY_FILE_PATH"

Windows

使用 PowerShell:

$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_FILE_PATH"

完成上述步驟後,應用程式預設憑證 (ADC) 就能隱含判斷您的憑證,讓您在非 Google 環境中測試或執行時,使用服務帳戶憑證。

使用 Firebase 憑證和偏好語言的 Google 驗證程式庫,擷取效期短暫的 OAuth 2.0 存取權杖:

node.js

 function getAccessToken() {
  return admin.credential.applicationDefault().getAccessToken()
      .then(accessToken => {
        return accessToken.access_token;
      })
      .catch(err => {
        console.error('Unable to get access token');
        console.error(err);
      });
}

在本範例中,Google API 用戶端程式庫會使用 JSON Web Token (JWT) 驗證要求。詳情請參閱「JSON Web Token」。

Python

def _get_access_token():
  """Retrieve a valid access token that can be used to authorize requests.

  :return: Access token.
  """
  credentials = ServiceAccountCredentials.from_json_keyfile_name(
      'service-account.json', SCOPES)
  access_token_info = credentials.get_access_token()
  return access_token_info.access_token

Java

public static String getAccessToken() throws IOException {
  GoogleCredentials googleCredentials = GoogleCredentials
          .fromStream(new FileInputStream("service-account.json"))
          .createScoped(Arrays.asList(SCOPES));
  googleCredentials.refreshAccessToken();
  return googleCredentials.getAccessToken().getTokenValue();
}

存取權杖到期後,系統會自動呼叫權杖更新方法,擷取更新後的存取權杖。

如要授權存取 Remote Config,請要求 https://www.googleapis.com/auth/firebase.remoteconfig 範圍。

修改 Remote Config 範本

使用 Remote Config 範本時,請注意範本有版本之分,且每個版本從建立到被更新版本取代的時間有限:90 天,儲存的版本總數上限為 300 個。詳情請參閱「範本和版本管理」。

取得目前的 Remote Config 範本

您可以使用後端 API,以 JSON 格式取得 Remote Config 範本目前有效的版本。

在A/B Testing實驗中,專門建立為變化版本的參數和參數值不會包含在匯出的範本中。

請使用下列指令:

cURL

curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -o filename

這個指令會將 JSON 酬載輸出至一個檔案,並將標頭 (包括 Etag) 輸出至另一個檔案。

原始 HTTP 要求

Host: firebaseremoteconfig.googleapis.com

GET /v1/projects/my-project-id/remoteConfig HTTP/1.1
Authorization: Bearer token
Accept-Encoding: gzip

這項 API 呼叫會傳回下列 JSON,以及包含 ETag 的獨立標頭,供您在後續要求中使用。

驗證 Remote Config 範本

您也可以選擇在發布前驗證更新內容。如要驗證範本更新,請在發布要求中附加網址參數 ?validate_only=true。在回應中,狀態碼 200 和後置字串為 -0 的更新 etag 表示更新已成功驗證。任何非 200 的回應都表示 JSON 資料含有錯誤,必須先修正才能發布。

更新 Remote Config 範本

擷取範本並使用更新內容修訂 JSON 內容後,即可發布。按照本節所述發布範本後,系統會以更新後的檔案取代整個現有設定範本,並為新的有效範本指派版本號碼,這個號碼會比遭取代的範本大一號。

如有需要,您可以使用 REST API 復原至先前的版本。為降低更新出錯的風險,您可以在發布前進行驗證。

下載的範本包含 Remote Config 個人化設定和條件,因此嘗試發布至其他專案時,請務必留意下列限制:

  • 無法將個人化設定從一個專案匯入另一個專案。

    舉例來說,如果您在專案中啟用個人化功能,並下載及編輯範本,則可以將範本發布到同一個專案,但除非您從範本中刪除個人化功能,否則無法將範本發布到其他專案。

  • 條件可以從一個專案匯入另一個專案,但請注意,任何特定條件值 (例如應用程式 ID 或目標對象) 都必須在發布前存在於目標專案中。

    舉例來說,如果 Remote Config 參數使用的條件指定 iOS 的平台值,範本就能發布至其他專案,因為任何專案的平台值都相同。不過,如果條件依附於目標專案中不存在的特定應用程式 ID 或使用者目標對象,驗證就會失敗。

  • 如果預計發布的範本包含依賴 Google Analytics 的條件,則必須在目標專案中啟用 Analytics。

cURL

curl --compressed -H "Content-Type: application/json; UTF8" -H "If-Match: last-returned-etag" -H "Authorization: Bearer token" -X PUT https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -d @filename

在這個 curl 指令中,您可以使用「@」字元指定內容,後接檔案名稱。

原始 HTTP 要求

Host: firebaseremoteconfig.googleapis.com
PUT /v1/projects/my-project-id/remoteConfig HTTP/1.1
Content-Length: size
Content-Type: application/json; UTF8
Authorization: Bearer token
If-Match: expected ETag
Accept-Encoding: gzip
JSON_HERE

由於這是寫入要求,因此這項指令會修改 ETag,並在下一個 PUT 指令的回應標頭中提供更新後的 ETag。

修改 Remote Config 條件

您可以透過程式輔助方式修改 Remote Config 條件和條件值。使用 REST API 時,您必須直接編輯範本,修改條件後再發布範本。

{
  "conditions": [{
    "name": "android_english",
    "expression": "device.os == 'android' && device.country in ['us', 'uk']",
    "tagColor": "BLUE"
  }, {
    "name": "tenPercent",
    "expression": "percent <= 10",
    "tagColor": "BROWN"
  }],
  "parameters": {
    "welcome_message": {
      "defaultValue": {
        "value": "Welcome to this sample app"
      },
      "conditionalValues": {
        "tenPercent": {
          "value": "Welcome to this new sample app"
        }
      },
      "description": "The sample app's welcome message"
    },
    "welcome_message_caps": {
      "defaultValue": {
        "value": "false"
      },
      "conditionalValues": {
        "android_english": {
          "value": "true"
        }
      },
      "description": "Whether the welcome message should be displayed in all
      capital letters."
    }
  }
}

上述程式碼片段中的修改內容會先定義一組條件,然後為每個參數定義預設值和條件式參數 (條件值) 值。他們也會為每個元素新增選用說明;就像程式碼註解一樣,這些說明僅供開發人員使用,不會顯示在應用程式中。此外,系統也會提供 ETag,用於版本管控。

Remote Config 後端 API 提供多種條件和比較運算子,可用於變更應用程式的行為和外觀。如要進一步瞭解條件和這些條件支援的運算子,請參閱條件運算式參考資料。

HTTP 錯誤代碼

狀態碼 意義
200 更新成功
400 發生驗證錯誤。舉例來說,如果要求包含超過允許數量的金鑰 (2000),就會傳回 400 (Bad Request) 和錯誤訊息 Param count too large。此外,這個 HTTPS 狀態碼也可能在以下兩種情況下出現:
  • 自您上次擷取 ETag 值後,值和條件組合已更新,因此發生版本不符錯誤。如要解決這個問題,請使用 GET 指令取得新的範本和 ETag 值,更新範本,然後使用該範本和新的 ETag 值提交。
  • 執行 PUT 指令 (更新 Remote Config 範本要求) 時,未指定 If-Match 標頭。
401 發生授權錯誤 (未提供存取權杖,或未在 Cloud Developer Console 中將 Firebase Remote Config REST API 新增至專案)
403 發生驗證錯誤 (提供的存取權杖有誤)
500 發生內部錯誤,如果發生這項錯誤,請提交 Firebase 支援單

狀態碼 200 表示 Remote Config 範本 (專案的參數、值和條件) 已更新,現在可供使用這項專案的應用程式使用。其他狀態碼表示先前存在的 Remote Config 範本仍有效。

提交範本更新後,請前往 Firebase 控制台,確認變更是否如預期顯示。這點非常重要,因為條件的順序會影響評估方式 (評估為 true 的第一個條件會生效)。

ETag 用途和強制更新

Remote Config REST API 會使用實體標記 (ETag),避免資源發生競爭狀況和重疊更新。如要進一步瞭解 ETag,請參閱「ETag - HTTP」。

如果是 REST API,Google 建議您快取最近一次 GET 指令提供的 ETag,並在發出 PUT 指令時,於 If-Match 要求標頭中使用該 ETag 值。如果 PUT 指令傳回 HTTPS 狀態碼 409,請發出新的 GET 指令,取得新的 ETag 和範本,以便與下一個 PUT 指令搭配使用。

您可以強制更新 Remote Config 範本,藉此規避 ETag 及其提供的保護措施,如下所示:If-Match: *。不過,我們不建議採用這種做法,因為如果有多個用戶端更新 Remote Config 範本,可能會導致 Remote Config 範本的更新遺失。如果有多個用戶端使用 API,或 API 用戶端和 Firebase 控制台使用者更新內容時發生衝突,就可能發生這類衝突。

如需管理 Remote Config 範本版本的指引,請參閱「Remote Config 範本和版本管理」。

使用 Firebase CLI 修改 Remote Config

Firebase CLI 可讓您直接透過指令列檢查、管理及復原 Remote Config 範本,以及列出、檢查和刪除 Remote Config 實驗和推出作業。

事前準備和設定

  1. 安裝 Firebase CLI 或更新至最新版本。

  2. 登入 Firebase:

    firebase login
  3. 設定有效專案,或在每個指令中指定 --project PROJECT_ID:

    firebase use PROJECT_ID

確認您的帳戶或服務帳戶具備必要的 IAM 權限:

CLI 指令摘要

指令 說明
firebase remoteconfig:versions:list 列出最近的 Remote Config 範本版本。
firebase remoteconfig:get 取得 Remote Config 範本 (可選擇寫入檔案)。
firebase remoteconfig:rollback 將 Remote Config 範本復原至先前的版本。
firebase remoteconfig:experiments:list 列出專案中的所有 Remote Config 實驗。
firebase remoteconfig:experiments:get 取得特定 Remote Config 實驗的詳細資料。
firebase remoteconfig:experiments:delete 刪除特定 Remote Config 實驗。
firebase remoteconfig:rollouts:list 列出專案中的所有 Remote Config 推出作業。
firebase remoteconfig:rollouts:get 取得特定 Remote Config 推出作業的詳細資料。
firebase remoteconfig:rollouts:delete 刪除特定 Remote Config 推出作業。

修改 Remote Config 範本和版本

使用下列指令,檢查、下載及復原 Remote Config 範本和版本記錄:

列出範本版本

根據預設,系統會列出 Remote Config 範本最近的 10 個版本,包括版本編號、更新時間、更新來源、更新類型和 updateUser。

firebase remoteconfig:versions:list [--limit NUMBER_OF_VERSIONS]
  • --limit NUMBER_OF_VERSIONS:要傳回的版本數量上限。指定 0 即可傳回所有現有版本 (最多 300 個儲存版本)。

範例:

  • 列出最近 10 個版本:

    firebase remoteconfig:versions:list
  • 列出所有可用版本:

    firebase remoteconfig:versions:list --limit 0
  • 列出 5 個最新版本:

    firebase remoteconfig:versions:list --limit 5

取得範本

取得 Remote Config 範本,並輸出參數群組、參數、條件名稱和版本。根據預設,系統會擷取最新的有效版本,並將格式化摘要輸出至終端機。

firebase remoteconfig:get [-v, --version_number VERSION_NUMBER] [-o, --output FILENAME]
  • -v, --version_number VERSION_NUMBER:要擷取的範本版本號碼。如未指定,則預設為最新版本。
  • -o, --output FILENAME:直接將範本 JSON 酬載寫入指定路徑,而非輸出至 stdout。

範例:

  • 在終端機中顯示目前有效的範本:

    firebase remoteconfig:get
  • 將目前有效的範本下載為 JSON 檔案:

    firebase remoteconfig:get -o remote_config_template.json
  • 將特定歷史記錄版本 (例如版本 12) 下載至檔案:

    firebase remoteconfig:get -v 12 -o remote_config_v12.json

復原範本

將使用中的 Remote Config 範本復原至先前的版本。這會建立新的有效版本,其內容與目標版本相同。

firebase remoteconfig:rollback [-v, --version_number VERSION_NUMBER] [--force]
  • -v, --version_number VERSION_NUMBER:要復原至的目標版本號碼。如省略,則預設為前一個版本 (目前版本減 1)。
  • --force:立即執行復原作業,不提示互動式確認 (Y/N)。適用於 CI/CD 管道和自動化指令碼。

範例:

  • 復原至前一個版本,並透過互動式確認:

    firebase remoteconfig:rollback
  • 復原至版本 8,不顯示提示:

    firebase remoteconfig:rollback -v 8 --force

修改 A/B Testing 項實驗

使用下列指令,直接透過 CLI 列出、檢查及刪除 Remote Config A/B Testing 實驗:

列出實驗

列出專案的所有 Remote Config 實驗,可選擇篩選及分頁。

firebase remoteconfig:experiments:list [--filter EXPRESSION] [--pageSize NUMBER] [--pageToken TOKEN]
  • --filter EXPRESSION:要套用至 實驗清單的篩選運算式。
  • --pageSize NUMBER:每頁傳回的實驗數量 (預設為 10)。
  • --pageToken TOKEN:擷取分頁結果時,用於頁面偏移的權杖。

範例:

firebase remoteconfig:experiments:list

取得實驗詳細資料

取得指定 Remote Config 實驗的完整詳細資料。

firebase remoteconfig:experiments:get EXPERIMENT_ID

範例:

firebase remoteconfig:experiments:get exp_promo_discount_2026

刪除實驗

刪除指定的 Remote Config 實驗。

firebase remoteconfig:experiments:delete EXPERIMENT_ID

範例:

firebase remoteconfig:experiments:delete exp_promo_discount_2026

修改 Remote Config 推出作業

使用下列指令,直接透過 CLI 列出、檢查及刪除 Remote Config 推出作業:

列出推出作業

列出專案的所有 Remote Config 推出作業,可選擇篩選及分頁。

firebase remoteconfig:rollouts:list [--filter EXPRESSION] [--pageSize NUMBER] [--pageToken TOKEN]
  • --filter EXPRESSION:要套用至 推出作業清單的篩選運算式。
  • --pageSize NUMBER:每頁傳回的推出作業數量 (預設為 10)。
  • --pageToken TOKEN:擷取分頁結果時,用於頁面偏移的權杖。

範例:

firebase remoteconfig:rollouts:list

取得推出作業詳細資料

取得指定 Remote Config 推出作業的完整詳細資料。

firebase remoteconfig:rollouts:get ROLLOUT_ID

範例:

firebase remoteconfig:rollouts:get rollout_new_checkout_flow

刪除推出作業

刪除指定的 Remote Config 推出作業。

firebase remoteconfig:rollouts:delete ROLLOUT_ID

範例:

firebase remoteconfig:rollouts:delete rollout_new_checkout_flow

如需 Firebase CLI 指令的一般資訊,請參閱 Firebase CLI 參考資料。