Ograniczanie i limity FCM

Naszym celem jest zawsze dostarczanie wszystkich wiadomości wysyłanych za pomocą FCM. Jednak dostarczanie każdej wiadomości czasami pogarsza ogólne wrażenia użytkowników. W innych przypadkach musimy określić limity, aby zapewnić wszystkim nadawcom skalowalną usługę FCM. Rodzaje limitów i kwot opisane w tej sekcji pomagają nam zachować równowagę między tymi ważnymi czynnikami.

Ograniczanie liczby wiadomości wysyłanych do urządzenia

Interfejs HTTP v1 API wprowadził limity minutowe dla poszczególnych projektów w przypadku przesyłania wiadomości do urządzeń. Domyślny limit 600 tys. wiadomości na minutę obejmuje ponad 99% FCM deweloperów, a jednocześnie chroni stabilność systemu i minimalizuje wpływ projektów o dużym wzroście aktywności.

Nagłe skoki ruchu mogą powodować błędy związane z przekroczeniem limitu. W przypadku przekroczenia limitu system zwraca kod stanu HTTP 429 RESOURCE_EXHAUSTED („QUOTA_EXCEEDED”), dopóki limit nie zostanie uzupełniony w następnej minucie. Odpowiedzi 429 mogą być też zwracane w sytuacjach przeciążenia, dlatego zdecydowanie zalecamy obsługę odpowiedzi 429 zgodnie z opublikowanymi zaleceniami.

Keep in mind:

  • Limit dotyczący wysyłania danych do usług Google mierzy wiadomości, a nie żądania.
  • Błędy klienta (kody stanu HTTP 400–499) są zliczane (z wyjątkiem kodów 429).
  • Limity są naliczane co minutę, ale nie są zsynchronizowane z zegarem.

Limit monitorowania

Limity, wykorzystanie i błędy możesz sprawdzić w konsoli Google Cloud:

  1. Otwórz Google Cloudkonsolę.

  2. Kliknij Interfejsy API i usługi.

  3. Na liście tabel wybierz Firebase Cloud Messaging API.

  4. Kliknij LIMITY PRZYDZIAŁU I LIMITY SYSTEMU.

Poproś o zwiększenie limitu

Zanim poprosisz o zwiększenie limitu, upewnij się, że:

  • Wykorzystanie limitu wynosi regularnie ≥ 80% przez co najmniej 5 minut z rzędu dziennie.
  • Masz odsetek błędów klienta poniżej 5%, zwłaszcza w okresach największego natężenia ruchu.
  • Stosujesz sprawdzone metody wysyłania wiadomości na dużą skalę.

Jeśli spełniasz te kryteria, możesz przesłać w konsoli Google Cloud prośbę o zwiększenie limitu o maksymalnie 25%, wykonując te czynności:

  1. Otwórz LIMITY PRZYDZIAŁU I LIMITY SYSTEMU.
  2. W tabeli wybierz wiersz Wysyłanie próśb na minutę.
  3. Kliknij przycisk Edytuj.
  4. Postępuj zgodnie z instrukcjami, aby przesłać prośbę.

FCM dołoży wszelkich starań, aby spełnić prośbę (nie można zagwarantować zwiększenia limitu).

Jeśli potrzebujesz większego limitu wiadomości wysyłanych do klientów z powodu zbliżającego się wprowadzenia produktu na rynek lub tymczasowego wydarzenia, musisz przesłać prośbę o zwiększenie limitu za pomocą zespołu pomocy Firebase. Poproś o limit co najmniej 15 dni wcześniej, abyśmy mieli wystarczająco dużo czasu na rozpatrzenie Twojej prośby. W przypadku dużych żądań (ponad 18 mln wiadomości na minutę) wymagane jest powiadomienie z co najmniej 30-dniowym wyprzedzeniem. Możemy zatwierdzić tylko 2 zdarzenia związane z tymczasowym limitem rocznie. Łączny czas trwania tymczasowego limitu w ciągu roku nie może przekraczać 30 dni. Żądania dotyczące premier i wydarzeń specjalnych nadal podlegają wymaganiom dotyczącym współczynnika błędów klienta i sprawdzonych metod.

Więcej informacji znajdziesz w sekcji FCM limity.

Limity wiadomości związanych z tematem i ograniczanie rozsyłania

Więcej informacji znajdziesz w sekcji Limity i limity przydziału dotyczące przesyłania wiadomości do tematów.

Ograniczanie liczby zwijanych wiadomości

Zgodnie z opisem w sekcji Zwijane wiadomości zwijane wiadomości to powiadomienia bez treści, które są zaprojektowane tak, aby zwijać się jedne na drugich. Jeśli deweloper zbyt często wysyła tę samą wiadomość do aplikacji, opóźniamy wiadomości, aby zmniejszyć wpływ na baterię użytkownika.

Jeśli na przykład wyślesz dużą liczbę nowych żądań synchronizacji e-maili na jedno urządzenie, możemy opóźnić kolejne żądanie synchronizacji o kilka minut, aby urządzenie mogło synchronizować dane ze średnią niższą częstotliwością. Ograniczenie to ma na celu wyłącznie zmniejszenie wpływu na baterię, jaki odczuwa użytkownik.

Jeśli Twój przypadek użycia wymaga wzorców wysyłania o dużej intensywności, odpowiednim wyborem mogą być wiadomości niezwijalne. W przypadku takich wiadomości pamiętaj, aby uwzględnić w nich treść, aby zmniejszyć zużycie baterii.

Ograniczamy zwijane wiadomości do 20 wiadomości na aplikację na urządzenie, a co 3 minuty dodajemy 1 wiadomość.

Maksymalna liczba wiadomości wysyłanych na jedno urządzenie

Na Androidzie możesz wysłać do 240 wiadomości na minutę i 5000 wiadomości na godzinę na jedno urządzenie. Ten wysoki próg ma na celu umożliwienie krótkotrwałych skoków ruchu, np. gdy użytkownicy szybko wchodzą w interakcje na czacie. Ten limit zapobiega przypadkowemu wyczerpaniu baterii urządzenia przez błędy w logice wysyłania.

W przypadku iOS zwracamy błąd, gdy szybkość przekracza limity APNs.