FCM Wysyłanie wiadomości na temat umożliwia 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, a nie na tematy.
Limity
Wiadomości tematyczne obsługują nieograniczoną liczbę subskrypcji każdego tematu. FCM egzekwuje jednak limity 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 może się zdarzyć, że kilka rozsyłań będzie przebiegać jednocześnie. Ograniczamy liczbę równoczesnych rozsyłań wiadomości na projekt 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ść rozsyłania wpływa liczba projektów, które w tym samym czasie wysyłają żądania rozsyłania. Szybkość rozsyłania wynosząca 10 000 zapytań na sekundę w przypadku pojedynczego projektu nie jest niczym niezwykłym, ale nie jest to gwarantowana wartość i zależy od całkowitego obciążenia systemu. Warto pamiętać, że dostępna przepustowość 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.