FCM Wiadomości tematyczne umożliwiają wysyłanie wiadomości na wiele urządzeń, które subskrybują dany temat. Wiadomości dotyczące tematu tworzysz w razie potrzeby, a FCM zajmuje się routingiem i niezawodnym dostarczaniem wiadomości na odpowiednie urządzenia.
Najważniejsze informacje o wiadomościach dotyczących tematu:
- Najlepiej nadaje się do publicznie dostępnych informacji, takich jak alerty pogodowe.
- Wiadomości dotyczące tematu są zoptymalizowane pod kątem przepustowości, a nie opóźnienia. Aby szybko i bezpiecznie dostarczać wiadomości do pojedynczych urządzeń lub małych grup, kieruj wiadomości na tokeny rejestracyjne zamiast na tematy.
Limity
Wysyłanie wiadomości do tematów obsługuje nieograniczoną liczbę subskrypcji każdego tematu. JednakFCM stosuje ograniczenia w tych obszarach:
- Jedna instancja aplikacji może subskrybować maksymalnie 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 i usuwania subskrypcji tematów jest ograniczona do 3000 zapytań na sekundę na projekt.
Częstotliwość nowych subskrypcji jest ograniczona w przypadku każdego projektu. Jeśli w krótkim czasie wyślesz zbyt wiele żądań subskrypcji, serwery FCM
odpowiedzą kodem 429 RESOURCE_EXHAUSTED („QUOTA_EXCEEDED”). Ponów próbę ze wzrastającym czasem do ponowienia.
Ograniczanie zwielokrotnienia wyjściowego
Rozsyłanie wiadomości to proces wysyłania wiadomości na wiele urządzeń, np. gdy kierujesz reklamy na tematy i grupy lub gdy używasz kompozytora powiadomień do kierowania reklam na grupy odbiorców lub segmenty użytkowników.
Rozsyłanie wiadomości nie jest natychmiastowe, więc czasami jednocześnie trwa kilka rozsyłań. Ograniczamy liczbę równoczesnych rozsyłań wiadomości w projekcie do 1000. Następnie 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 ma wpływ liczba projektów, które w tym samym czasie wysyłają żądania zwielokrotnienia. Szybkość zwielokrotnienia wynosząca 10 000 zapytań/s w przypadku pojedynczego projektu nie jest niczym niezwykłym, ale nie jest gwarantowana i zależy od całkowitego obciążenia systemu. Warto pamiętać, że dostępna pojemność rozgłaszania jest dzielona między projekty, a nie między żądania rozgłaszania. Jeśli w projekcie są 2 rozsyłania w toku, każde z nich będzie miało tylko połowę dostępnej szybkości rozsyłania. Aby zmaksymalizować szybkość zwielokrotnienia, zalecamy, aby w danym momencie trwał tylko jeden aktywny proces zwielokrotnienia.
Następne kroki
- Dowiedz się, jak zarządzać subskrypcjami tematów za pomocą pakietu Admin SDK lub aplikacji klienta.
- Dowiedz się, jak wysyłać wiadomości do tematów za pomocą pakietu Admin SDK lub interfejsu FCM v1 HTTP API.