接收並處理訊息
若要接收訊息,您的應用程式必須將回呼指派給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"
。