Thông báo không thu gọn có nghĩa là từng thông báo riêng lẻ sẽ được gửi đến thiết bị. Một thông báo không thu gọn sẽ cung cấp một số nội dung hữu ích. Trong khi đó, một thông báo có thể thu gọn như một "ping" không có nội dung đến một ứng dụng di động để liên hệ với máy chủ nhằm tìm nạp dữ liệu.
Một số trường hợp sử dụng thường gặp của thông báo không thu gọn là thông báo trò chuyện hoặc thông báo quan trọng. Đối với Android, có giới hạn 100 tin nhắn có thể được lưu trữ mà không bị thu gọn. Nếu đạt đến giới hạn, tất cả các thông báo đã lưu trữ sẽ bị loại bỏ. Khi thiết bị kết nối lại với Internet, thiết bị sẽ nhận được một thông báo đặc biệt cho biết đã đạt đến giới hạn. Sau đó, ứng dụng có thể xử lý tình huống này bằng cách thường yêu cầu đồng bộ hoá toàn bộ từ máy chủ ứng dụng.
Thông báo có thể thu gọn là thông báo có thể được thay thế bằng một thông báo mới nếu thông báo đó chưa được gửi đến thiết bị.
Một trường hợp sử dụng phổ biến của thông báo có thể thu gọn là thông báo dùng để yêu cầu ứng dụng di động đồng bộ hoá dữ liệu từ máy chủ. Ví dụ: một ứng dụng thể thao cập nhật cho người dùng điểm số mới nhất. Chỉ có thông báo gần đây nhất là phù hợp.
Để đánh dấu một thông báo là có thể thu gọn trên Android, hãy thêm tham số collapse_key
vào tải trọng thông báo. Theo mặc định, khoá thu gọn là tên gói ứng dụng được đăng ký trong bảng điều khiển Firebase. Máy chủ FCM có thể đồng thời lưu trữ 4 thông báo có thể thu gọn khác nhau cho mỗi thiết bị, mỗi thông báo có một khoá thu gọn riêng. Nếu bạn vượt quá số này, FCM chỉ giữ lại 4 khoá thu gọn mà không có yếu tố quyết định nào về việc giữ lại khoá nào.
Theo mặc định, các thông báo theo chủ đề không có tải trọng sẽ có thể thu gọn. Thông báo luôn có thể thu gọn và sẽ bỏ qua tham số collapse_key
.
Tôi nên dùng loại nào?
Thông báo có thể thu gọn là lựa chọn ưu tiên về hiệu suất, miễn là ứng dụng của bạn không cần sử dụng thông báo không thể thu gọn. Tuy nhiên, nếu bạn sử dụng thông báo có thể thu gọn, hãy nhớ rằng FCM chỉ cho phép FCM sử dụng tối đa 4 khoá thu gọn khác nhau cho mỗi mã thông báo đăng ký tại một thời điểm bất kỳ.
Trường hợp sử dụng | Cách gửi | |
---|---|---|
Không thể thu gọn | Mọi thông báo đều quan trọng đối với ứng dụng khách và cần được gửi. | Ngoại trừ thông báo, theo mặc định, tất cả các thông báo đều không thể thu gọn. |
Có thể thu gọn | Khi có một thông báo mới hơn khiến một thông báo cũ hơn, có liên quan trở nên không liên quan đến ứng dụng khách, FCM sẽ thay thế thông báo cũ hơn. Ví dụ: thông báo lỗi thời. | Đặt tham số thích hợp trong yêu cầu thông báo:
|