在 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"