Wiadomości tematyczne w ramach technologii Flutter

Wysyłanie wiadomości do tematów w FCM oparte na modelu publikowania i subskrypcji umożliwia wysyłanie wiadomości na wiele urządzeń, które subskrybują dany temat. Wiadomości tematyczne tworzysz w razie potrzeby, a FCM zajmuje się ich kierowaniem i niezawodnym dostarczaniem na odpowiednie urządzenia.

Na przykład użytkownicy lokalnej aplikacji do prognozowania pływów mogą włączyć temat „Alerty o prądach pływowych” i otrzymywać powiadomienia o optymalnych warunkach do połowu ryb morskich na określonych obszarach. Użytkownicy aplikacji sportowej mogą subskrybować automatyczne aktualizacje wyników meczów na żywo ulubionych drużyn.

O tematach warto pamiętać o tych kwestiach:

  • Wiadomości dotyczące tematu najlepiej sprawdzają się w przypadku treści takich jak prognoza pogody lub inne informacje dostępne publicznie.

  • Wiadomości w tematach są optymalizowane pod kątem przepustowości, a nie opóźnienia. Aby szybko i bezpiecznie dostarczać wiadomości do pojedynczych urządzeń lub małych grup urządzeń, kieruj wiadomości na tokeny rejestracji, a nie na tematy.

  • Jeśli chcesz wysyłać wiadomości na wiele urządzeń każdego użytkownika, w takich przypadkach rozważ użycie wiadomości do grupy urządzeń.

  • Wiadomości tematyczne obsługują nieograniczoną liczbę subskrypcji każdego tematu. Usługa FCM ma jednak ograniczenia w tych obszarach:

    • Jedna instancja aplikacji może subskrybować maksymalnie 2000 tematów.
    • Jeśli do subskrybowania instancji aplikacji używasz importu zbiorczego, każde żądanie jest ograniczone do 1000 instancji aplikacji.
    • 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ą komunikatem 429 RESOURCE_EXHAUSTED („przekroczono limit”). Ponów próbę ze wzrastającym czasem do ponowienia.

Subskrybowanie tematu przez aplikację kliencką

Aplikacje klienckie mogą subskrybować dowolny istniejący temat lub tworzyć nowy. Gdy aplikacja kliencka subskrybuje nową nazwę tematu (która nie istnieje jeszcze w Twoim projekcie Firebase), w FCM tworzony jest nowy temat o tej nazwie i każdy klient może go później subskrybować.

Aby zasubskrybować temat, wywołaj funkcję subscribeToTopic() z nazwą tematu. Ta metoda zwraca obiekt Future, który jest rozwiązywany, gdy subskrypcja zostanie utworzona:

await FirebaseMessaging.instance.subscribeToTopic("topic");

Aby anulować subskrypcję, zadzwoń pod numer unsubscribeFromTopic() i podaj nazwę tematu.

subscribeToTopic()unsubscribeFromTopic() nie są obsługiwane w przypadku klientów internetowych. Aby dowiedzieć się, jak zarządzać subskrypcjami użytkowników internetu, przeczytaj artykuł Wysyłanie wiadomości do tematów w internecie lub JavaScript.

Dalsze kroki