Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Wiadomości tematyczne na Flutterze

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

W oparciu o model publikowania/subskrypcji komunikaty tematów FCM umożliwiają wysyłanie wiadomości do wielu urządzeń, które zdecydowały się na określony temat. W razie potrzeby komponujesz komunikaty tematyczne, a FCM niezawodnie obsługuje routing i dostarczanie komunikatów do odpowiednich urządzeń.

Na przykład użytkownicy lokalnej aplikacji do prognozowania pływów mogą wybrać temat „alarmów o prądach pływowych” i otrzymywać powiadomienia o optymalnych warunkach połowów w słonej wodzie w określonych obszarach. Użytkownicy aplikacji sportowych mogą subskrybować automatyczne aktualizacje wyników meczów na żywo swoich ulubionych drużyn.

Kilka rzeczy, o których należy pamiętać w przypadku tematów:

  • Wiadomości tematyczne najlepiej nadają się do treści, takich jak pogoda lub inne publicznie dostępne informacje.

  • Komunikaty tematów są optymalizowane pod kątem przepustowości, a nie opóźnień . Aby szybko i bezpiecznie dostarczać je 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 do wielu urządzeń na użytkownika , rozważ wysyłanie wiadomości do grupy urządzeń dla tych przypadków użycia.

  • Wiadomości tematyczne obsługują nieograniczoną subskrypcję dla każdego tematu. Jednak FCM wymusza ograniczenia w tych obszarach:

    • Jedno wystąpienie aplikacji może być subskrybowane do nie więcej niż 2000 tematów.
    • Jeśli używasz importu wsadowego do subskrybowania wystąpień aplikacji, każde żądanie jest ograniczone do 1000 wystąpień aplikacji.
    • Częstotliwość nowych subskrypcji jest ograniczona w zależności od projektu. Jeśli wyślesz zbyt wiele żądań subskrypcji w krótkim czasie, serwery FCM odpowiedzą 429 RESOURCE_EXHAUSTED („przekroczono limit”). Spróbuj ponownie z wykładniczym wycofywaniem.

Subskrybuj aplikację kliencką do tematu

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

Aby zasubskrybować temat, wywołaj subscribeToTopic() z nazwą tematu. Ta metoda zwraca Future , która zostanie rozwiązana, gdy subskrypcja się powiodła:

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

Aby anulować subskrypcję, wywołaj unsubscribeFromTopic() z nazwą tematu.

Następne kroki