Nhận và xử lý thông báo
Để 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
.
MessageReceived
sự kiện
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 thao tác 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ể biểu thị nhiều loại dữ liệu đến. Thông thường, các thông báo được gửi đến ứng dụng sau khi nhà phát triển bắt đầu. Các thông báo cũng được gửi đến ứng dụng của bạn để biểu thị các sự kiện đã gửi thông báo, sự kiện lỗi gửi thông báo và sự kiện đã xoá thông báo. 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 MessageType
.
Đã xoá tin nhắn
Được gửi đến ứng dụng của bạn khi máy chủ FCM xoá các tin nhắn đang chờ xử lý.
MessageType
sẽ là "deleted_messages"
. Tin nhắn có thể bị xoá nếu:
Có quá nhiều thư đượ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 hàng loạt thông báo không thu gọn đến các máy chủ FCM trong khi thiết bị đang ở chế độ ngoại tuyến.
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.
Gửi sự kiện
Được gọi khi một thông báo truyền lên đã được gửi thành công đến FCM.
MessageType
sẽ là "send_event"
.
Lỗi khi gửi
Được gọi khi xảy ra lỗi khi gửi thông báo nguồn.
MessageType
sẽ là "send_error"
.