Tính năng nhắn tin theo chủ đề FCM cho phép bạn gửi một thông báo đến nhiều thiết bị đã chọn nhận một chủ đề cụ thể. Bạn soạn tin nhắn theo chủ đề khi cần và FCM sẽ xử lý việc định tuyến và gửi tin nhắn một cách đáng tin cậy đến đúng thiết bị.
Các điểm chính về tính năng nhắn tin theo chủ đề:
- Phù hợp nhất với thông tin công khai, chẳng hạn như cảnh báo thời tiết.
- Thông điệp theo chủ đề được tối ưu hoá cho thông lượng thay vì độ trễ. Để gửi nhanh và an toàn đến các thiết bị riêng lẻ hoặc nhóm nhỏ, hãy nhắm đến các thông báo đến mã thông báo đăng ký thay vì chủ đề.
Hạn mức và giới hạn
Tính năng nhắn tin theo chủ đề hỗ trợ số lượng đăng ký không giới hạn cho mỗi chủ đề. Tuy nhiên, FCM áp dụng các giới hạn ở những khu vực sau:
- Một phiên bản ứng dụng có thể đăng ký tối đa 2.000 chủ đề.
- Nếu bạn đang sử dụng gói thuê bao theo lô để đăng ký các phiên bản ứng dụng, thì mỗi yêu cầu sẽ bị giới hạn ở 1.000 phiên bản ứng dụng.
Điều tiết gói thuê bao
Tốc độ thêm hoặc xoá lượt đăng ký chủ đề bị giới hạn ở mức 3.000 QPS cho mỗi dự án.
Tần suất đăng ký mới bị giới hạn theo tốc độ cho mỗi dự án. Nếu bạn gửi quá nhiều yêu cầu đăng ký trong một khoảng thời gian ngắn, các máy chủ FCM sẽ phản hồi bằng một phản hồi 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED"). Thử lại với thời gian đợi luỹ thừa.
Điều tiết fanout
Phân phối tin nhắn là quá trình gửi một tin nhắn đến nhiều thiết bị, chẳng hạn như khi bạn nhắm đến các chủ đề và nhóm hoặc khi bạn sử dụng Trình soạn thảo thông báo để nhắm đến đối tượng hoặc phân khúc người dùng.
Quá trình truyền tin nhắn không diễn ra ngay lập tức, vì vậy, đôi khi bạn có nhiều quá trình truyền tin nhắn đang diễn ra đồng thời. Chúng tôi giới hạn số lượng fanout tin nhắn đồng thời cho mỗi dự án là 1.000. Sau đó, chúng tôi có thể từ chối các yêu cầu truyền tin bổ sung hoặc hoãn truyền tin các yêu cầu cho đến khi một số yêu cầu truyền tin đang diễn ra hoàn tất.
Tốc độ phân phối thực tế có thể đạt được chịu ảnh hưởng của số lượng dự án yêu cầu phân phối cùng một lúc. Tốc độ phân phối 10.000 QPS cho một dự án riêng lẻ không phải là hiếm, nhưng con số đó không được đảm bảo và là kết quả của tổng tải trên hệ thống. Điều quan trọng cần lưu ý là dung lượng truyền tin có sẵn được chia cho các dự án chứ không phải cho các yêu cầu truyền tin. Vì vậy, nếu dự án của bạn có 2 hoạt động truyền tin đang diễn ra, thì mỗi hoạt động truyền tin sẽ chỉ thấy một nửa tốc độ truyền tin có sẵn. Cách được đề xuất để tối đa hoá tốc độ phân phối là chỉ có một hoạt động phân phối đang diễn ra tại một thời điểm.
Các bước tiếp theo
- Tìm hiểu cách Quản lý việc đăng ký theo chủ đề bằng Admin SDK hoặc từ ứng dụng khách của bạn.
- Tìm hiểu cách Gửi thông báo đến các chủ đề bằng Admin SDK hoặc FCM v1 HTTP API.