メッセージを受信して処理する
メッセージを受信するには、アプリで 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"
になります。