利用Cloud Functions,開發人員可以訪問Firebase和Google Cloud事件,並具有可擴展的計算能力來運行代碼以響應這些事件。預計Firebase應用程序將以獨特的方式使用雲功能來滿足其獨特的需求,但典型的用例可能屬於以下領域:
查看您感興趣的每個類別的用例和示例,然後繼續執行我們的入門教程或身份驗證事件,分析事件等的特定操作指南。有關受支持事件類型的完整列表,請參見eventType
API參考。
發生有趣的事情時通知用戶
開發人員可以使用Cloud Functions保持用戶參與度,並及時了解有關應用程序的相關信息。例如,考慮一個允許用戶關注應用程序中彼此活動的應用程序。每次用戶將自己添加為另一個用戶的關注者時,都會在實時數據庫中進行寫操作。然後,此寫入事件可能會觸發創建Firebase Cloud Messaging(FCM)通知的功能,以使適當的用戶知道他們已經獲得了新的關注者。
- 該函數在寫入存儲跟隨者的實時數據庫路徑時觸發。
- 該功能編寫一條消息,以通過FCM發送。
- FCM將通知消息發送到用戶的設備。
要查看工作代碼,請參閱發送FCM通知。
其他有趣的通知用例
- 向確認/取消訂閱時事通訊的用戶發送確認電子郵件。
- 用戶完成註冊後發送歡迎電子郵件。
- 用戶創建新帳戶時發送短信確認。
執行數據庫清理和維護
借助Cloud Functions數據庫事件處理,您可以響應用戶行為來修改Realtime Database或Cloud Firestore,從而使系統保持最新和乾淨。例如,在聊天室應用程序中,您可以監視寫入事件,並從用戶的消息中清除不適當或褻瀆的文字。這是可能的工作方式:
- 該函數的數據庫事件處理程序偵聽特定路徑上的寫事件,並檢索包含任何聊天消息文本的事件數據。
- 該函數處理文本以檢測並擦洗任何不適當的語言。
- 該函數將更新後的文本寫回到數據庫中。
要查看工作代碼,請參閱文本審核示例。此示例清除了不適當的語言以及聊天消息中的大寫“大喊”。
其他數據庫清理和維護用例
- 從“實時數據庫”中清除已刪除用戶的內容。
- 限制Firebase數據庫中的子節點數。
- 跟踪“實時數據庫”列表中的元素數。
- 將數據從實時數據庫複製到Google Cloud BigQuery 。
- 將文本轉換為表情符號。
- 管理數據庫記錄的計算出的元數據。
在雲中而不是您的應用中執行密集的任務
開發人員可以利用Cloud Functions來分擔Google雲資源密集型工作(繁重的CPU或網絡),而這在用戶設備上運行是不現實的。例如,您可以編寫一個函數來偵聽將圖像上載到Storage,將圖像下載到運行該函數的實例,對其進行修改,然後將其上載回Storage。您所做的修改可能包括調整圖像大小,裁剪或轉換圖像。提供了ImageMagick命令行工具以與Cloud Functions一起使用,以簡化此工作。
- 當圖像文件上傳到存儲設備時觸發功能。
- 該功能下載圖像並為其創建縮略圖版本。
- 該函數將該縮略圖位置寫入數據庫,以便客戶端應用程序可以找到並使用它。
- 該功能將縮略圖上傳到新位置的存儲中。
- 該應用程序下載縮略圖鏈接。
Firebase雲中的批處理作業的其他示例
- 定期刪除未使用的Firebase帳戶。
- 自動審核上傳的圖片。
- 向用戶發送批量電子郵件。
- 定期匯總和匯總數據。
- 處理待處理的隊列。
與第三方服務和API集成
通過調用和公開Web API,Cloud Functions可以幫助您的應用更好地與其他服務一起使用。例如,用於開發協作的應用程序可以將GitHub提交發佈到工作組聊天室。
- 用戶將提交推送到GitHub存儲庫。
- HTTPS函數通過GitHub webhook API觸發。
- 該函數將提交的通知發送到團隊鬆弛通道。
與第三方服務和API集成的其他方式
- 使用Google Cloud Vision API分析和標記上傳的圖像。
- 使用Google翻譯翻譯郵件。
- 使用LinkedIn或Instagram等身份驗證提供程序登錄用戶。
- 發送有關實時數據庫寫入的Webhook請求。
- 對“實時數據庫”元素啟用全文搜索。
- 處理來自用戶的付款。
- 創建對電話和SMS消息的自動響應。
- 使用Google Assistant創建聊天機器人。