Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

雲函數可以做什麼?

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

Cloud Functions 使開發人員能夠訪問 Firebase 和 Google Cloud 事件,以及可擴展的計算能力來運行代碼以響應這些事件。雖然預計 Firebase 應用會以獨特的方式使用 Cloud Functions 來滿足其獨特的需求,但典型的用例可能屬於以下領域:

查看您感興趣的每個類別的用例和示例,然後繼續我們的入門教程或身份驗證事件分析事件等的具體操作指南。

當有趣的事情發生時通知用戶

開發人員可以使用 Cloud Functions 來保持用戶的參與度並及時了解有關應用程序的相關信息。例如,考慮一個允許用戶在應用程序中關注彼此活動的應用程序。每次用戶將自己添加為另一個用戶的關注者時,實時數據庫中都會發生一次寫入。然後這個寫入事件可以觸發一個函數來創建 Firebase Cloud Messaging (FCM) 通知,讓相應的用戶知道他們已經獲得了新的關注者。

顯示下面描述的應用程序流程的圖表

  1. 該函數在寫入存儲關注者的實時數據庫路徑時觸發。
  2. 該函數編寫要通過FCM發送的消息。
  3. FCM將通知消息發送到用戶的設備。

要查看工作代碼,請參閱發送 FCM 通知

其他有趣的通知用例

執行數據庫清理和維護

借助 Cloud Functions 數據庫事件處理,您可以修改實時數據庫或 Cloud Firestore 以響應用戶行為,從而使系統保持最新和乾淨。例如,在聊天室應用程序中,您可以監控寫入事件並從用戶消息中清除不適當或褻瀆的文本。這是如何工作的:

顯示下面描述的應用程序流程的圖表

  1. 該函數的數據庫事件處理程序偵聽特定路徑上的寫入事件,並檢索包含任何聊天消息文本的事件數據。
  2. 該函數處理文本以檢測和清除任何不適當的語言。
  3. 該函數將更新後的文本寫回數據庫。

要查看工作代碼,請參閱文本審核示例。此示例清除聊天消息中的不當語言和大寫“喊叫”。

其他數據庫清理和維護用例

在雲中而不是在您的應用程序中執行密集型任務

開發人員可以利用 Cloud Functions 將資源密集型工作(繁重的 CPU 或網絡)卸載到 Google 雲上,這些工作在用戶設備上運行並不實用。例如,您可以編寫一個函數來偵聽上傳到 Cloud Storage 的圖像,將圖像下載到運行該函數的實例,對其進行修改,然後將其上傳回 Cloud Storage。您的修改可能包括調整大小、裁剪或轉換圖像。提供了ImageMagick命令行工具以與 Cloud Functions 一起使用,以簡化這項工作。

顯示下面描述的應用程序流程的圖表

  1. 將圖片文件上傳到 Cloud Storage 時觸發的函數。
  2. 該函數下載圖像並創建它的縮略圖版本。
  3. 該函數將該縮略圖位置寫入數據庫,以便客戶端應用程序可以找到並使用它。
  4. 該函數將縮略圖上傳回新位置的 Cloud Storage。
  5. 該應用程序下載縮略圖鏈接。

有關圖像處理示例的演練,請參閱處理存儲事件

Firebase 雲中批處理作業的其他示例

與第三方服務和 API 集成

Cloud Functions 可以通過調用和公開 Web API 來幫助您的應用更好地與其他服務協同工作。例如,用於開發協作的應用程序可以將 GitHub 提交發佈到工作組聊天室。

顯示下面描述的應用程序流程的圖表

  1. 用戶將提交推送到 GitHub 存儲庫。
  2. HTTPS 函數通過GitHub webhook API觸發。
  3. 該函數將提交通知發送到團隊 Slack 通道。

與第三方服務和 API 集成的其他方式