接收及處理訊息
如要接收訊息,應用程式必須將回呼指派給 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); }
訊息可代表不同類型的傳入資料。最常見的情況下,訊息會在開發人員啟動後傳送至應用程式。訊息也會傳送至您的應用程式,用於代表訊息傳送事件、訊息傳送錯誤事件和訊息刪除事件。您可以檢查 MessageType
欄位,區分這些特殊事件。
已刪除的訊息
當 FCM 伺服器刪除待處理的訊息時,會傳送至您的應用程式。MessageType
將會是 "deleted_messages"
。在下列情況下,系統可能會刪除訊息:
FCM 伺服器上儲存的郵件數量過多。
當應用程式的伺服器在裝置離線時,將一連串無法折疊的訊息傳送至 FCM 伺服器,就可能發生這種情況。
裝置很長久未連線,且應用程式伺服器最近 (過去 4 週內) 曾在該裝置上向應用程式傳送訊息。
建議在收到此呼叫後,讓應用程式與應用程式伺服器進行完整同步。
傳送事件
成功將上游訊息傳送至 FCM 時呼叫。MessageType
會是 "send_event"
。
傳送錯誤
在傳送上游訊息時發生錯誤時呼叫。MessageType
會變成 "send_error"
。