Nhận thông báo trong các ứng dụng Unity

Chọn nền tảng: iOS+ Android Web Flutter Unity C++


Để nhận thông báo, ứng dụng của bạn phải chỉ định một lệnh gọi lại cho trình xử lý sự kiện Firebase.Messaging.FirebaseMessaging.MessageReceived.

Sự kiện MessageReceived

Bằng cách ghi đè việc chỉ định một lệnh gọi lại cho Firebase.Messaging.FirebaseMessaging.MessageReceived bạn có thể thực hiện các hành động dựa trên thông báo đã nhận và lấy dữ liệu thông báo:

public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) {
  UnityEngine.Debug.Log("From: " + e.Message.From);
  UnityEngine.Debug.Log("Message ID: " + e.Message.MessageId);
}

Thông báo có thể đại diện cho nhiều loại dữ liệu đến. Thông thường nhất, thông báo được gửi đến ứng dụng sau khi nhà phát triển khởi tạo. Thông báo cũng được gửi đến ứng dụng của bạn để đại diện cho các sự kiện thông báo đã gửi, sự kiện lỗi gửi thông báo và sự kiện thông báo đã xoá. Bạn có thể phân biệt các sự kiện đặc biệt này bằng cách kiểm tra trường Message::message_type.

Thông báo đã xoá

Được gửi đến ứng dụng của bạn khi máy chủ FCM xoá các thông báo đang chờ xử lý. Message::message_type sẽ là "deleted_messages". Thông báo có thể bị xoá do:

  1. Quá nhiều thông báo được lưu trữ trên máy chủ FCM.

    Điều này có thể xảy ra khi máy chủ của một ứng dụng gửi một loạt thông báo không thể thu gọn đến FCM máy chủ trong khi thiết bị đang ở trạng thái ngoại tuyến.

  2. Thiết bị đã không kết nối trong một thời gian dài và máy chủ ứng dụng gần đây (trong vòng 4 tuần qua) đã gửi một thông báo đến ứng dụng trên thiết bị đó.

    Bạn nên để ứng dụng đồng bộ hoá hoàn toàn với máy chủ ứng dụng sau khi nhận được lệnh gọi này.

Sự kiện gửi

Được gọi khi một thông báo ngược dòng đã được gửi thành công đến FCM. MessageType sẽ là "send_event".

Lỗi gửi

Được gọi khi xảy ra lỗi khi gửi một thông báo ngược dòng. MessageType sẽ là "send_error".