Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
Firebase 雲端通訊疑難排解與常見問題
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
本頁面提供 Cloud Messaging 的疑難排解說明,並解答常見問題。
通知撰寫工具和 FCM 有何不同?
Firebase Cloud Messaging 透過用戶端 SDK 和 HTTP 伺服器通訊協定,提供完整的訊息功能。如果部署作業的訊息傳送需求較為複雜,建議使用 FCM。
通知撰寫工具是以 Firebase Cloud Messaging 為基礎建構的輕量型無伺服器訊息解決方案。通知撰寫器提供簡單易用的圖形介面,並減少編碼需求,讓使用者傳送訊息,重新吸引及留住使用者、促進應用程式成長,並支援行銷廣告活動。
| 功能 |
|
通知編輯器 |
Cloud Messaging |
| 目標 |
單一裝置 |
|
|
|
已訂閱主題的用戶端 (例如天氣) |
|
|
|
預先定義使用者區隔中的用戶端 (應用程式、版本、語言) |
|
|
|
指定分析目標對象中的用戶端 |
|
|
|
裝置群組中的用戶端 |
|
|
|
從用戶端到伺服器的上傳 |
|
|
| 訊息類型 |
通知最多 2KB |
|
|
|
最多 4 KB 的資料訊息 |
|
|
| 廣告放送 |
立即 |
|
|
|
未來用戶端裝置當地時間 |
|
|
| 數據分析 |
內建通知分析集合與漏斗分析 |
|
|
使用 FCM 時,是否需要使用其他 Firebase 服務?
您可以將 Firebase Cloud Messaging 做為獨立元件使用,不必搭配其他 Firebase 服務。
為什麼目標裝置似乎無法接收訊息?
如果裝置似乎未成功接收訊息,請先檢查以下兩個可能原因:
處理通知訊息的前景訊息。用戶端應用程式必須新增訊息處理邏輯,才能在應用程式位於裝置前景時處理通知訊息。請參閱 iOS 和 Android 的詳細說明。
網路防火牆限制。如果貴機構的防火牆會限制網際網路的流量,您必須設定防火牆,允許與 FCM 連線,Firebase Cloud Messaging 用戶端應用程式才能接收訊息。需要開啟的通訊埠如下:
FCM 通常使用 5228,但有時會使用 5229 和 5230。
FCM 不提供特定 IP,因此請允許防火牆接受對外連線至 Google ASN 15169 所列 IP 區塊中的所有 IP 位址。
為什麼 Android 應用程式中沒有呼叫 onMessageReceived?
應用程式在背景執行時,系統匣會顯示通知訊息,且不會呼叫 onMessageReceived。如果是含有資料酬載的通知訊息,系統匣會顯示通知訊息,使用者輕觸通知時啟動的 Intent 則會擷取通知訊息隨附的資料。
詳情請參閱「接收及處理訊息」。
為什麼我將訊息傳送至從備份還原的有效應用程式例項時,會收到 404 錯誤?
FID (Firebase 安裝 ID) 是應用程式執行個體的 ID。根據預設,系統會備份及還原 Firebase 安裝資料。因此在還原作業中,還原的應用程式例項和原始應用程式例項會共用相同的 FID。由於 FCM 只會為每個 FID 儲存一個權杖,因此如果原始應用程式執行個體和還原的應用程式執行個體都在使用中,當其中一個應用程式執行個體向 FCM 註冊時,另一個應用程式執行個體的權杖就會遭到移除,導致發生 404 錯誤。
建議開發人員在應用程式中採取下列做法:
- 排除備份中的 Firebase 安裝資料。Firebase 安裝資料會儲存在
PersistedInstallation....json 檔案中。檔案名稱是應用程式的常數,例如 <exclude domain="file" path="PersistedInstallation.W0R...GQ.json"
/>
Apple 宣布將淘汰 APNs 的舊版二進位通訊協定。我需要做些什麼嗎?
否。Firebase Cloud Messaging已於 2017 年改用以 HTTP/2 為基礎的 APNs 通訊協定。
如果您使用 FCM 將通知傳送至 iOS 裝置,則無須採取任何行動。
FCM 配額與限制
如何在 2 分鐘內通知大量顧客?
我們無法支援這個用途。你必須在 5 分鐘內分散流量。
我的應用程式會通知使用者事件,且這些訊息必須立即傳送,才能支援我的商業模式。可以取得更多配額嗎?
很抱歉,我們無法因此核准增加配額。您必須在 5 分鐘內分散流量,避免流量暴增。
我的訊息與預定活動有關。如何在一小時開始時傳送所有流量?
建議您在活動開始前至少 5 分鐘傳送通知。或者,您也可以傳送資料訊息,並實作平台類似 onMessageReceived 處理常式的項目,預先安排本機通知。
429 錯誤對我和我的商家來說很難處理。我可以申請豁免或取得更多配額,避免收到 429 錯誤嗎?
我們瞭解配額限制可能會造成不便,但配額對於維持服務穩定性至關重要,因此無法提供豁免。使用重試來正確處理 429 錯誤。
配額提高要求需要多久時間才能獲准?
配額增加要求取決於 FCM 的使用情形。無論如何,我們會在幾個工作天內回覆您。在某些情況下,我們可能會針對您使用 FCM 的方式和各種情況來回溝通,這可能會延長程序。如果符合所有規定,大多數要求會在 2 週內處理完畢。
我可以為臨時活動取得更多配額嗎?
您可以申請額外配額,支援最多 1 個月的活動。請至少提前 1 個月提出要求,並清楚說明活動開始和結束時間,FCM 會盡力滿足要求。如果獲得配額增量,系統會在活動結束日期後還原配額。
目前的配額是否會變更?
Google 不會輕易變更配額,但為了保護系統完整性,我們可能會視需要調整配額。Google 會盡可能提前通知您這類異動。請隨時更新雲端 MSA 聯絡人,確保能收到服務公告。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2026-05-09 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2026-05-09 (世界標準時間)。"],[],[]]