Wysyłanie wiadomości do tematów FCM umożliwia wysyłanie wiadomości do wielu urządzeń które subskrybują określony temat. Wiadomości do tematów tworzysz w razie potrzeby, a FCM zajmuje się ich kierowaniem i niezawodnym dostarczaniem do odpowiednich urządzeń.
Najważniejsze informacje o wysyłaniu wiadomości do tematów:
- Najlepiej sprawdza się w przypadku informacji publicznych, takich jak alerty pogodowe.
- Wiadomości do tematów są zoptymalizowane pod kątem przepustowości, a nie opóźnienia. Aby zapewnić szybkie, bezpieczne dostarczanie wiadomości do pojedynczych urządzeń lub małych grup, kieruj wiadomości na tokeny rejestracji zamiast na tematy.
Limity
Wysyłanie wiadomości do tematów obsługuje nieograniczoną liczbę subskrypcji każdego tematu. Jednakże, FCM nakłada limity w tych obszarach:
- Jedna instancja aplikacji może być subskrybowana maksymalnie w 2000 tematów.
- Jeśli do subskrybowania instancji aplikacji używasz subskrypcji zbiorczej, każde żądanie jest ograniczone do 1000 instancji aplikacji.
Ograniczanie subskrypcji
Szybkość dodawania lub usuwania subskrypcji tematów jest ograniczona do 3000 żądań na sekundę na projekt.
Częstotliwość nowych subskrypcji jest ograniczana na projekt. Jeśli w krótkim czasie wyślesz zbyt
wiele żądań subskrypcji, FCM
serwery odpowiedzą kodem 429 RESOURCE_EXHAUSTED („QUOTA_EXCEEDED”)
odpowiedzią. Podejmij ponowne próby ze wzrastającym czasem do ponowienia.
Ograniczanie rozsyłania
Rozsyłanie wiadomości nie jest natychmiastowe, dlatego czasami jednocześnie trwa kilka rozsyłań. Ograniczamy liczbę równoczesnych rozsyłań wiadomości na projekt do 1000. Po przekroczeniu tego limitu możemy odrzucić dodatkowe żądania rozsyłania lub odłożyć rozsyłanie żądań do czasu zakończenia niektórych z już trwających rozsyłań.
Na rzeczywistą osiągalną szybkość zwielokrotnienia wpływa liczba projektów, które jednocześnie żądają zwielokrotnienia. Szybkość zwielokrotnienia wynosząca 10 000 zapytań/s w przypadku pojedynczego projektu nie jest rzadkością, ale nie jest to gwarancja i zależy od całkowitego obciążenia systemu. Należy pamiętać, że dostępna przepustowość rozsyłania jest dzielona między projekty, a nie między żądania rozsyłania. Jeśli więc w Twoim projekcie trwają 2 rozsyłania, każde z nich będzie miało do dyspozycji tylko połowę dostępnej szybkości rozsyłania. Aby zmaksymalizować szybkość rozsyłania, zalecamy, aby w danym momencie trwało tylko 1 aktywne rozsyłanie.
Następne kroki
- Dowiedz się, jak zarządzać subskrypcjami tematów za pomocą pakietu Admin SDK lub aplikacji klienckiej.
- Dowiedz się, jak wysyłać wiadomości do tematów za pomocą pakietu Admin SDK lub interfejsu FCM v1 HTTP API.