Hạn mức và điều tiết FCM

Mục tiêu của chúng tôi là luôn gửi được mọi thông báo được gửi bằng FCM. Tuy nhiên, việc gửi mọi thông báo đôi khi sẽ dẫn đến trải nghiệm tổng thể kém cho người dùng. Trong một số 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ó khả năng 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 phiên bản 1 đã giới thiệu hạn mức mỗi phút cho mỗi dự án đối với tính năng nhắn tin xuôi dòng. Hạn mức mặc định là 600.000 thông báo mỗi phút bao gồm hơn 99% FCM nhà phát triển, đồng thời bảo vệ tính ổ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. Hệ thống cũng có thể trả về phản hồi 429 trong trường hợp quá tải. Vì vậy, bạn nên xử lý phản hồi 429 theo các đề xuất đã công bố.

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ồ.

Theo dõi hạn mức

Bạn có thể xem hạn mức, mức sử dụng và lỗi trên Google Cloud Console bằng cách sử dụng:

  1. Chuyển đến Google Cloud console.
  2. Chọn API và dịch vụ.
  3. 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.
  4. 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:

  1. Chuyển đến HẠN MỨC VÀ GIỚI HẠN HỆ THỐNG.
  2. Trong bảng, hãy chọn hàng Gửi yêu cầu mỗi phút.
  3. Nhấp vào nút Chỉnh sửa.
  4. Làm theo hướng dẫn để đưa ra yêu cầu.

FCM sẽ nỗ lực hết mình để thực hiện 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 nhắn tin xuôi dòng do sắp phát hành hoặc sự kiện tạm thời, bạn phải đưa ra yêu cầu tăng hạn mức thông qua Bộ phận hỗ trợ Firebase. 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 của hạn mức tạm thời trong năm không được vượt quá 30 ngày. Các yêu cầu về sự kiện đặc biệt và sự kiện ra mắ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 nhắn tin 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 trong 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 để hạn chế 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 có lưu lượng truy cập tăng đột biến 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 mức tiêu hao 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 tăng đột biến 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ốc độ 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ốc độ vượt quá giới hạn APNs.