在 Unity 用戶端應用程式上接收訊息

接收並處理訊息

若要接收訊息,您的應用程式必須將回呼指派給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" 。如果出現以下情況,訊息可能會被刪除:

  1. FCM 伺服器上儲存了太多訊息。

    當應用程式的伺服器在裝置離線時向 FCM 伺服器發送一堆不可折疊的訊息時,可能會發生這種情況。

  2. 該設備已經很長時間沒有連接,並且應用程式伺服器最近(在過去 4 週內)向該設備上的應用程式發送了一條訊息。

    建議應用程式在收到此呼叫後與應用程式伺服器進行完全同步。

發送事件

當上游訊息已成功傳送到 FCM 時呼叫。 MessageType將為"send_event"

傳送錯誤

當發送上游訊息出錯時調用。 MessageType將為"send_error"