本指南說明如何在行動和網頁用戶端應用程式中設定 Firebase Cloud Messaging,以便穩定接收訊息。
如要接收訊息,應用程式必須將回呼指派給 Firebase.Messaging.FirebaseMessaging.MessageReceived
事件處理常式。
MessageReceived
個事件
覆寫將回呼指派給 Firebase.Messaging.FirebaseMessaging.MessageReceived
,即可根據收到的訊息執行動作並取得訊息資料:
public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) {
UnityEngine.Debug.Log("From: " + e.Message.From);
UnityEngine.Debug.Log("Message ID: " + e.Message.MessageId);
}
訊息可以代表不同類型的傳入資料。最常見的情況是,開發人員啟動訊息傳送後,訊息就會傳送至應用程式。系統也會將訊息傳送至應用程式,代表訊息傳送事件、訊息傳送錯誤事件和訊息刪除事件。您可以檢查 Message::message_type
欄位,區分這些特殊事件。
已刪除訊息
FCM 伺服器刪除待處理訊息時,會傳送至您的應用程式。
Message::message_type
將為 "deleted_messages"
。訊息可能因下列原因而遭刪除:
FCM 伺服器上儲存的郵件過多。
如果應用程式的伺服器在裝置離線時,將大量無法摺疊的訊息傳送至 FCM 伺服器,就可能發生這種情況。
裝置已許久未連線,且應用程式伺服器最近 (過去 4 週內) 曾傳送訊息給該裝置上的應用程式。
建議應用程式在收到這項呼叫後,與應用程式伺服器進行完整同步。
傳送事件
成功將上游訊息傳送至 FCM 時,系統會呼叫此方法。MessageType
將為 "send_event"
。
傳送時發生錯誤
在傳送上游訊息時發生錯誤的情況下呼叫。
MessageType
將為 "send_error"
。