firebase-remote-config-basics

作者: firebase

Firebase Remote Config 的全面指南,涵蓋範本管理與 SDK 使用。當使用者需要協助設定 Remote Config、管理功能開關或動態更新應用程式行為時,請使用此技能。

npx skills add https://github.com/firebase/agent-skills --skill firebase-remote-config-basics

Remote Config

This skill provides a complete guide for getting started with Remote Config on Android or iOS. Remote Config allows you to change the behavior and appearance of your app without publishing an app update by maintaining a cloud-based configuration template.

Prerequisites

Provisioning Remote Config requires both a Firebase project and a Firebase app, either Android or iOS. To manage the Remote Config template and conditions via the command line, use the Firebase CLI. See the firebase-basics skill for references on project initialization.

Troubleshooting Execution

Handling npx 403 Forbidden Errors

If npx -y firebase-tools@latest fails due to registry permissions (403 error):

  1. Inform the user: "I am unable to fetch the latest Firebase tools via npx due to a registry error."
  2. Fallback: Attempt to use the local firebase command directly if the user confirms it is installed globally (npm install -g firebase-tools).

Handling Project Context Issues

If a command fails because "no active project is selected":

  1. Check login: Run npx -y firebase-tools@latest login:list.
  2. Prompt for ID: If logged in but no project is active, ask the user: "Please provide your Firebase Project ID to proceed."
  3. Use Flag: Append --project <PROJECT_ID> to every subsequent command.

SDK Setup

To learn how to set up Remote Config in your application code, choose your platform:

Best Practices and Template Management

Follow these guidelines and use the associated CLI tools to ensure efficient and safe use of Remote Config.

Fetching Strategies

To optimize app performance and user experience, follow these recommended patterns (see Loading Strategies):

  • Load new values for next startup: The most effective pattern is to activate previously fetched values immediately on startup and fetch new values in the background to be used next time. This minimizes user wait time.
  • Real-time Updates: Use the SDK's real-time listener to update the app instantly without a refresh when server-side configuration changes.

Template Management via CLI

Use the following commands to manage your Remote Config template and version history through the terminal:

  • Get current template: Save the remote template to a local JSON file for auditing or modification.

    npx -y firebase-tools@latest remoteconfig:get -o remote_config.json
    
  • Autonomous Editing & Discovery : Modify the local remote_config.json directly. Determine the correct signal (e.g., device.country or percent) and update the "conditions" array and "parameters" map accordingly.

  • MANDATORY: User Review and Verification : STOP and ask the user to verify your changes before proceeding to deployment.

    • Action: Inform the user: "I have prepared the changes in remote_config.json. Please review the file for accuracy. Once you are satisfied, tell me to 'deploy' to make the changes live."
  • Deployment Orchestration : To push changes, you must ensure the environment is configured for deployment.

    • Config Mapping: If a firebase.json file is missing, create one to map the local JSON to the Remote Config service:
      { "remoteconfig": { "template": "remote_config.json" } }
    
    • Deploy: Execute the partial deployment command

      npx -y firebase-tools@latest deploy --only remoteconfig
      
  • Verification: After deployment, verify the update by listing the version history.

    npx -y firebase-tools@latest remoteconfig:versions:list
    

The SDK provides a number of features to make your application dynamic and responsive to user segments.

  • Set In-App Defaults: Define baseline values to ensure the app functions offline or before the first fetch.
  • Fetch and Activate: Retrieve values from the Firebase backend and apply them to the local UI/Logic.
  • Template Management: Use the Firebase CLI to version-control, get, and deploy your config JSON files.

來自 firebase 的更多技能

developing-genkit-dart
firebase
統一AI SDK for Dart,支援程式碼生成、結構化輸出、工具、流程與代理。提供核心API用於生成、工具定義、流程編排、嵌入與串流,並具備單一介面。包含8個以上外掛程式,支援LLM提供者(Google Gemini、Anthropic Claude、OpenAI GPT)、Firebase AI、模型上下文協定、Chrome瀏覽器整合,以及透過Shelf進行HTTP伺服器託管。內建CLI與本地開發UI,用於流程執行、追蹤、模型實驗等。
developing-genkit-js
firebase
使用 Genkit 流程、工具及多模型支援,建構 AI 驅動的 Node.js/TypeScript 應用程式。Genkit 與供應商無關;透過外掛支援 Google AI、OpenAI、Anthropic、Ollama 及其他 LLM 供應商。使用 Zod 定義型別安全的結構化流程,執行生成請求,並在 TypeScript 中組合多步驟 AI 工作流程。需要 Genkit CLI v1.29.0 以上版本;近期重大 API 變更,請務必查閱 genkit 文件:read 與 common-errors.md 以取得當前模式,而非依賴先前知識...
extension-to-functions-codebase
firebase
將已安裝的 Firebase Extension(或擴充功能原始碼)轉換為獨立的 Cloud Functions for Firebase 程式碼庫或可發行的 npm 套件的技能,……
firebase-ai-logic
firebase
客戶端Gemini整合,適用於網頁應用程式,支援多模態推論、串流及裝置端混合執行。支援純文字與多模態輸入(圖片、音訊、影片、PDF);超過20 MB的檔案會透過Cloud Storage路由。包含自動記錄歷史的聊天會話、即時顯示的串流回應,以及強制結構化JSON輸出。透過Chrome中的Gemini Nano提供裝置端混合推論,並自動備援至雲端執行。正式環境需啟用App Check...
firebase-ai-logic-basics
firebase
用於將 Firebase AI Logic(Gemini API)整合至網頁應用程式的官方技能,涵蓋設定、多模態推論、結構化輸出及安全性。
firebase-app-hosting-basics
firebase
使用 Firebase App Hosting 搭配 Next.js、Angular 及其他支援的框架,部署與管理全端網頁應用程式。需使用 Blaze 計費方案的 Firebase 專案;支援伺服器端渲染(SSR)與增量靜態再生(ISR)工作流程。可透過 firebase.json 設定檔進行部署,並選擇性使用 apphosting.yaml 設定後端,或啟用 GitHub 整合的自動化「git push 部署」。包含透過 CLI 指令管理機密資訊,以安全存取敏感金鑰...
firebase-auth-basics
firebase
設定 Firebase Authentication,整合多種身分提供者與安全的資料存取規則。支援電子郵件/密碼、電話號碼、匿名、聯合提供者(Google、Facebook、Twitter、GitHub、Microsoft、Apple)以及自訂驗證整合。每位通過驗證的使用者會獲得一組唯一 ID 與基於 JWT 的令牌(短效 ID 令牌與長效更新令牌),用於存取 Firebase 服務。可透過 CLI 啟用 Google 登入、匿名及電子郵件/密碼等提供者;使用 Firebase Console...
firebase-basics
firebase
Firebase 專案設定與 CLI 工作流程,用於 AI 代理整合。需先完成 firebase-local-env-setup 技能及 Firebase CLI 安裝。核心工作流程涵蓋透過 firebase login 進行驗證、使用唯一 ID 建立專案,以及透過互動式 firebase init 指令初始化服務。支援在設定過程中選取功能,包括 Firestore、Functions 與 Hosting,並自動產生設定檔。具備自我說明功能的 CLI 可透過 --help 旗標...