Nhắn tin theo chủ đề trên Flutter

Dựa trên mô hình xuất bản/đăng ký, tính năng nhắn tin theo chủ đề FCM cho phép bạn gửi tin nhắn trên nhiều thiết bị đã chọn tham gia vào một chủ đề cụ thể. Bạn soạn tin nhắn chủ đề dưới dạng và FCM xử lý việc định tuyến cũng như gửi thư một cách đáng tin cậy đến bên phải thiết bị.

Ví dụ: người dùng thủy triều cục bộ ứng dụng dự báo có thể chọn nhận "cảnh báo dòng thuỷ triều" chủ đề và nhận thông báo về điều kiện tối ưu cho hoạt động đánh bắt cá biển ở những khu vực cụ thể. Người dùng ứng dụng thể thao có thể đăng ký nhận thông tin cập nhật tự động trong phần tỷ số trực tiếp của trận đấu để xem nhóm.

Một số điều cần lưu ý về chủ đề:

  • Tính năng nhắn tin theo chủ đề phù hợp nhất với nội dung như thời tiết hoặc các nội dung công khai thông tin hiện có.

  • Thông báo theo chủ đề được tối ưu hoá cho thông lượng thay vì độ trễ. Để nhanh chóng, phân phối an toàn đến các thiết bị đơn lẻ hoặc một nhóm nhỏ các thiết bị, nhắm mục tiêu thông báo đến mã thông báo đăng ký, chứ không phải chủ đề.

  • Nếu bạn cần gửi thông báo đến nhiều thiết bị cho mỗi người dùng, hãy cân nhắc nhắn tin theo nhóm thiết bị cho các trường hợp sử dụng đó.

  • Tính năng nhắn tin theo chủ đề hỗ trợ số lượt đăng ký không giới hạn cho mỗi chủ đề. Tuy nhiên, FCM thực thi giới hạn trong những lĩnh vực sau:

    • Một phiên bản ứng dụng chỉ có thể đăng ký tối đa 2.000 chủ đề.
    • Nếu bạn đang sử dụng tính năng nhập hàng loạt đăng ký phiên bản ứng dụng, mỗi yêu cầu chỉ được có 1.000 phiên bản ứng dụng.
    • Tần suất đăng ký mới bị giới hạn tỷ lệ cho mỗi dự án. Nếu bạn gửi có quá nhiều yêu cầu đăng ký trong một khoảng thời gian ngắn, máy chủ FCM sẽ phản hồi bằng phản hồi 429 RESOURCE_EXHAUSTED ("vượt quá hạn mức"). Thử lại bằng thuật toán thời gian đợi luỹ thừa.

Đăng ký ứng dụng khách theo một chủ đề

Ứng dụng khách có thể đăng ký theo dõi bất kỳ chủ đề hiện có nào hoặc tạo một chủ đề mới chủ đề. Khi một ứng dụng khách đăng ký một tên chủ đề mới (tên này phù hợp với chưa tồn tại cho dự án Firebase của bạn), một chủ đề mới có tên đó là tạo trong FCM và mọi khách hàng sau đó đều có thể đăng ký tài khoản này.

Để đăng ký một chủ đề, hãy gọi subscribeToTopic() bằng tên chủ đề. Phương thức này sẽ trả về Future. Mã này sẽ phân giải khi gói thuê bao thành công:

await FirebaseMessaging.instance.subscribeToTopic("topic");

Để huỷ đăng ký, hãy gọi unsubscribeFromTopic() bằng tên chủ đề.

subscribeToTopic()unsubscribeFromTopic() không được hỗ trợ trên web khách hàng. Để tìm hiểu cách quản lý gói thuê bao cho người dùng web, hãy xem Gửi tin nhắn đến các chủ đề trên web/JavaScript.

Các bước tiếp theo