Mục tiêu của chúng tôi là luôn phân phối mọi thông báo được gửi bằng FCM. Tuy nhiên, việc phân phối mọi thông báo đôi khi sẽ mang lại trải nghiệm tổng thể không tốt cho người dùng. Trong những trường hợp khác, chúng tôi cần đưa ra các giới hạn để đảm bảo rằng FCM cung cấp một dịch vụ có thể mở rộng cho tất cả người gửi. Các loại hạn mức và hạn ngạch được mô tả trong phần này giúp chúng tôi cân bằng những yếu tố quan trọng này.
Điều tiết thông báo xuôi dòng
API HTTP v1 đã giới thiệu hạn mức mỗi phút cho mỗi dự án đối với việc gửi thông báo xuôi dòng. Hạn mức mặc định là 600 nghìn thông báo mỗi phút bao gồm hơn 99% nhà phát triển FCM đồng thời bảo vệ sự ổn định của hệ thống và giảm thiểu tác động của các dự án có lưu lượng truy cập tăng đột biến.
Các mẫu lưu lượng truy cập tăng đột biến có thể
dẫn đến lỗi vượt quá hạn mức. Trong trường hợp vượt quá hạn mức, hệ thống sẽ phân phát mã trạng thái HTTP 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") cho đến khi hạn mức được nạp lại trong phút tiếp theo. Phản hồi 429 cũng có thể được trả về trong các tình huống quá tải
, vì vậy, bạn nên xử lý các phản hồi 429 theo
các đề xuất đã xuất bản.
Lưu ý:
- Hạn mức xuôi dòng đo lường thông báo chứ không phải yêu cầu.
- Lỗi máy khách (mã trạng thái HTTP 400-499) được tính (ngoại trừ 429).
- Hạn mức là mỗi phút, nhưng các phút này không được căn chỉnh theo đồng hồ.
Giám sát hạn mức
Bạn có thể xem hạn mức, mức sử dụng và lỗi trong bảng điều khiển Google Cloud:
Chuyển đến bảng điều khiển Google Cloud.
Chọn API và dịch vụ.
Trong danh sách bảng, hãy chọn API Giải pháp gửi thông báo qua đám mây của Firebase.
Chọn HẠN MỨC VÀ GIỚI HẠN HỆ THỐNG.
Yêu cầu tăng hạn mức
Trước khi yêu cầu tăng hạn mức, hãy đảm bảo rằng:
- Mức sử dụng của bạn thường xuyên ≥ 80% hạn mức trong ít nhất 5 phút liên tiếp mỗi ngày.
- Bạn có tỷ lệ lỗi máy khách < 5%, đặc biệt là trong thời gian lưu lượng truy cập cao điểm.
- Bạn tuân thủ các phương pháp hay nhất để gửi thông báo ở quy mô lớn.
Nếu đáp ứng các tiêu chí này, bạn có thể gửi yêu cầu tăng hạn mức tối đa +25% trên Google Cloud Console bằng cách sử dụng những nội dung sau:
- Chuyển đến HẠN MỨC VÀ GIỚI HẠN HỆ THỐNG.
- Trong bảng, hãy chọn hàng Gửi yêu cầu mỗi phút.
- Nhấp vào nút Chỉnh sửa.
- Làm theo hướng dẫn để đưa ra yêu cầu.
FCM sẽ nỗ lực hết mình để đáp ứng yêu cầu (không thể đảm bảo tăng hạn mức ).
Nếu cần tăng hạn mức gửi thông báo xuôi dòng do sắp ra mắt hoặc sự kiện tạm thời, bạn phải yêu cầu tăng hạn mức thông qua Nhóm hỗ trợ Firebase. Hãy yêu cầu hạn mức trước ít nhất 15 ngày để có đủ thời gian xử lý yêu cầu. Đối với các yêu cầu lớn (hơn 18 triệu thông báo mỗi phút), bạn phải thông báo trước ít nhất 30 ngày. Chúng tôi chỉ có thể phê duyệt 2 sự kiện hạn mức tạm thời mỗi năm. Tổng thời lượng hạn mức tạm thời trong cả năm không được vượt quá 30 ngày. Các yêu cầu về sự kiện ra mắt và sự kiện đặc biệt vẫn phải tuân theo tỷ lệ lỗi ứng dụng và các yêu cầu về phương pháp hay nhất.
Để tìm hiểu thêm, hãy xem FCM hạn mức.
Giới hạn thông báo theo chủ đề và điều tiết phân phối
Xem Hạn mức và giới hạn gửi thông báo theo chủ đề để biết thêm thông tin chi tiết.
Điều tiết thông báo có thể thu gọn
Như mô tả trong Thông báo có thể thu gọn, thông báo có thể thu gọn là thông báo không có nội dung được thiết kế để thu gọn chồng lên nhau. Trong trường hợp nhà phát triển lặp lại cùng một thông báo cho một ứng dụng quá thường xuyên, chúng tôi sẽ trì hoãn thông báo để giảm tác động đến pin của người dùng.
Ví dụ: nếu bạn gửi số lượng lớn yêu cầu đồng bộ hoá email mới đến một thiết bị, chúng tôi có thể trì hoãn yêu cầu đồng bộ hoá email tiếp theo vài phút để thiết bị có thể đồng bộ hoá ở mức trung bình thấp hơn. Việc điều tiết này được thực hiện nghiêm ngặt để giới hạn tác động đến pin mà người dùng gặp phải.
Nếu trường hợp sử dụng của bạn yêu cầu các mẫu gửi hàng loạt cao, thì thông báo không thể thu gọn có thể là lựa chọn phù hợp. Đối với những thông báo như vậy, hãy nhớ đưa nội dung vào những thông báo đó để giảm chi phí pin.
Chúng tôi giới hạn thông báo có thể thu gọn ở mức 20 thông báo hàng loạt cho mỗi ứng dụng trên mỗi thiết bị, với mức nạp lại là 1 thông báo sau mỗi 3 phút.
Tỷ lệ thông báo tối đa cho một thiết bị
Đối với Android, bạn có thể gửi tối đa 240 thông báo mỗi phút và 5.000 thông báo mỗi giờ đến một thiết bị. Ngưỡng cao này nhằm cho phép lưu lượng truy cập tăng đột biến trong thời gian ngắn, chẳng hạn như khi người dùng tương tác nhanh chóng qua cuộc trò chuyện. Giới hạn này ngăn lỗi trong logic gửi vô tình làm hao pin trên thiết bị.
Đối với iOS, chúng tôi sẽ trả về lỗi khi tỷ lệ vượt quá giới hạn APNs.