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

Flutter 上的主題消息傳遞

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

基於發布/訂閱模型,FCM 主題消息傳遞允許您將消息發送到已選擇加入特定主題的多個設備。您可以根據需要編寫主題消息,FCM 會處理路由並將消息可靠地傳遞到正確的設備。

例如,當地潮汐預報應用程序的用戶可以選擇加入“潮汐警報”主題並接收指定區域最佳鹹水捕魚條件的通知。體育應用程序的用戶可以訂閱他們最喜歡的球隊的實時比賽比分的自動更新。

關於主題需要記住的一些事項:

  • 主題消息最適合天氣等內容或其他公開可用的信息。

  • 主題消息針對吞吐量而不是延遲進行了優化。為了快速、安全地傳遞到單個設備或小組設備,請將消息定位到註冊令牌,而不是主題。

  • 如果您需要將消息發送到每個用戶的多個設備,請考慮針對這些用例進行設備群組消息傳遞

  • 主題消息支持每個主題的無限訂閱。但是,FCM 在以下領域實施限制:

    • 一個應用實例最多可以訂閱 2000 個主題。
    • 如果您使用批量導入訂閱應用實例,則每個請求限制為 1000 個應用實例。
    • 新訂閱的頻率受每個項目的速率限制。如果您在短時間內發送太多訂閱請求,FCM 服務器將響應429 RESOURCE_EXHAUSTED (“超出配額”)響應。使用指數退避重試。

為客戶端應用訂閱主題

客戶端應用程序可以訂閱任何現有主題,也可以創建新主題。當客戶端應用訂閱新主題名稱(您的 Firebase 項目尚不存在的主題名稱)時,會在 FCM 中創建該名稱的新主題,隨後任何客戶端都可以訂閱它。

要訂閱主題,請使用主題名稱調用subscribeToTopic() 。此方法返回一個Future ,它在訂閱成功時解析:

await FirebaseMessaging.instance.subscribeToTopic("topic");

要取消訂閱,請使用主題名稱調用unsubscribeFromTopic()

下一步