Firebase 클라우드 메시징을 사용하여 메시지 수신

이 가이드에서는 메시지를 안정적으로 수신할 수 있도록 모바일 및 웹 클라이언트 앱에서 Firebase Cloud Messaging을 설정하는 방법을 설명합니다.

메시지를 수신하려면 앱에서 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);
}

메시지는 여러 종류의 수신 데이터를 나타낼 수 있습니다. 가장 일반적인 경우는 개발자가 생성한 메시지를 앱에 보내는 경우입니다. 또한 메시지 전송 이벤트, 메시지 전송 오류 이벤트, 메시지 삭제 이벤트를 나타내기 위해 앱에 메시지를 보내기도 합니다. Message::message_type 필드를 확인하여 이러한 특수 이벤트를 구분할 수 있습니다.

메시지 삭제

FCM 서버가 대기중인 메시지를 삭제할 때 앱에 전송됩니다. Message::message_type"deleted_messages"입니다. 다음과 같은 이유로 메시지가 삭제될 수 있습니다.

  1. FCM 서버에 저장된 메시지가 너무 많습니다.

    기기가 오프라인 상태일 때 앱 서버에서 FCM 서버에 비축소형 메시지를 많이 보내면 이러한 상황이 발생할 수 있습니다.

  2. 최근 4주 이내에 앱 서버에서 오랫동안 연결되지 않은 기기의 앱에 메시지를 보냈습니다.

    이 호출이 수신되면 앱에서 앱 서버와 전체 동기화를 수행하는 것이 좋습니다.

전송 이벤트

업스트림 메시지가 FCM에 성공적으로 전송되었을 때 호출됩니다. MessageType"send_event"입니다.

전송 오류

업스트림 메시지를 보내는 중에 오류가 발생했을 때 호출됩니다. MessageType"send_error"입니다.