擴充功能發布商總覽

Firebase 擴充功能會執行特定工作或一組工作來回應 HTTP 要求或觸發其他 Firebase 和 Google 產品的事件,例如 Firebase 雲端通訊、Cloud Firestore 或 Pub/Sub。

您可以為個人用途建立專屬的擴充功能,也可以和全世界的使用者分享 Firebase Extensions Hub舉例來說,您的擴充功能可以執行特定的 讓您更容易存取應用程式的 即可。擴充功能建立完成後, 和其他。這些使用者可以自行安裝及設定擴充功能, Firebase 專案。

擴充功能的結構

擴充功能可視為含有三個主要元件:

  • Cloud Functions 程式碼 (以 JavaScript 或 TypeScript 撰寫)
  • 說明擴充功能的中繼資料
  • 協助使用者設定及使用擴充功能的說明文件

如要開發擴充功能,請將這些元件組合成下列元件: 結構:

example-extension
├── functions
│   ├── integration-tests
│   │   ├── extensions
│   │   │   └── example-extension.env
│   │   ├── firebase.json
│   │   └── integration-test.spec.js
│   ├── index.js
│   └── package.json
├── README.md
├── PREINSTALL.md
├── POSTINSTALL.md
├── CHANGELOG.md
├── icon.png
└── extension.yaml
  • functions 目錄包含以 JavaScript 編寫的 Cloud Functions 程式碼 或 TypeScript這是會在 回應 Firebase 和 Google 服務觸發的事件。
  • extension.yaml 檔案包含擴充功能的中繼資料,例如 觸發條件和 IAM 存取角色,以及您希望 使用者設定
  • 最低數量為 PREINSTALLPOSTINSTALLCHANGELOG 檔案 說明文件。這些檔案有助於使用者 擴充功能的用途、使用方式,以及您更新的內容個人中心 同時提供圖示,協助使用者認出您的擴充功能。 Firebase 控制台、Firebase CLI 和 Extensions Hub 會顯示 這些檔案會在使用者探索、安裝及管理擴充功能時執行。

建立擴充功能後,即可使用 Firebase CLI 安裝 或發布到擴充功能中心,供任何人瀏覽 並安裝到專案中

擴充功能可與哪些產品互動?

由於 Firebase 擴充功能是透過 Cloud Functions 運作,因此你可以思考 可能以多種方式協助您進行整合:哪些產品可以觸發 擴充功能的函式?觸發後,擴充功能可以顯示哪些產品? 可能互動的情況?

支援的函式觸發條件

手動觸發條件

首先,您可以手動觸發函式,Firebase Extensions 和 Cloud 函式支援兩種手動觸發函式的方式:

  • HTTP 觸發條件:將函式部署至 HTTP 端點
  • 可呼叫的函式:直接從 iOS 呼叫 Cloud Functions。 Android 或網路用戶端程式碼 (使用 Firebase 用戶端 SDK)。

從擴充功能公開 HTTP 端點,你的擴充功能可能會 可與任何支援 Webhook 的網路服務整合。透過可呼叫的函式 安裝擴充功能的使用者可將 Firebase SDK 做為用戶端程式庫使用 來存取擴充功能所實作的 API。

Firebase 服務觸發條件

大多數 Firebase 產品都會發出事件,觸發擴充功能的雲端作業 和 Cloud Functions

  • 數據分析:在 Analytics 記錄事件時觸發函式
  • 應用程式發布:在應用程式發布觸發 快訊
  • 驗證:當使用者建立及刪除帳戶時觸發函式
  • Cloud Firestore:在建立、更新或建立網頁時觸發函式 遭到刪除
  • Cloud Storage:在上傳、封存或封存物件時觸發函式 已從值區中刪除
  • Crashlytics:在 Crashlytics 觸發快訊時觸發函式
  • Performance Monitoring:在 Performance Monitoring 時觸發函式 觸發快訊時
  • 即時資料庫:在建立、更新或轉換資料時觸發函式 遭到刪除
  • 遠端設定:更新參數時觸發函式
  • Test Lab:於 Test Lab 觸發快訊時觸發函式

Google Cloud 服務觸發條件

擴充功能也可以包含觸發多個非 Firebase 的函式 Google Cloud 服務:

  • Cloud Pub/Sub:擴充功能可包含會在下列情況中觸發的函式: 事件會發布至可設定的 Pub/Sub 主題。
  • Cloud Scheduler:擴充功能可包含在資源集上執行的函式 排程
  • Cloud Tasks:擴充功能可包含可使用佇列的函式 Cloud Tasks。Firebase Extensions 的功能,是 擴充功能作者,編寫回應擴充功能「生命週期」的函式 事件:首次安裝於專案中,並升級至 並重新設定
  • Eventarc:擴充功能可包含事件時觸發的函式 發布至可設定的 Eventarc 管道相反地 也可以將自身的事件發布至 Eventarc 管道,讓使用者 定義自己的函式,從擴充功能的事件觸發。

從函式支援

觸發擴充功能的 Cloud 函式後, 整合功能通常已經結束以下列出你可以運用的功能 透過 Cloud 函式執行:

  • 讀取、寫入,以及與任何 FirebaseGoogle Cloud 互動 這項服務採用 支援的 IAM 角色
  • 與任何提供網路 API 的第三方服務搭配使用。
  • 如果您提供了網路 API,請使用自訂服務
  • 執行大部分的 JavaScript 程式庫,包括 TensorFlow.jsExpress.js。 依此類推

如何建立擴充功能

入門」教學課程會逐步引導您 建構、測試及發布完整擴充功能的程序 。

開始使用

閱讀入門指南後,您可以參考 個別主題指南,旨在說明建構過程中的各項工作 您自己的擴充功能: