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" になります。